Commit Graph

375 Commits (248175e0e108f6d96001633ea6c67116c188031c)

Author SHA1 Message Date
BodgeMaster 248175e0e1 test/hexnet: remove useless (unimplemented) test 2024-03-24 13:27:56 +01:00
BodgeMaster f563f96e87 Code style guidelines and resources/README: Minor documentation changes 2024-03-24 13:27:56 +01:00
BodgeMaster f20ed8b123 lib/net/*: Move stuff around
I did this months ago with the intention to finally start implementing networking....
Yeah, that definitely panned out.

Also, Git is drunk with how it says files have been renamed, they’re just empty apart from the license notice.
2024-03-24 13:27:56 +01:00
BodgeMaster 487d8f1636 tools: Add zlibutil
Splitting one of Joca’s commits by topic - Bodge

Add zlibutil.cpp and zlib to the project's dependencies. - Joca
2024-03-24 13:27:16 +01:00
BodgeMaster 34e19486d6 gitignore: Ignore Sublime Text’s files
Splitting Joca’s commit by topic
2024-03-24 12:05:20 +01:00
BodgeMaster 97b844c6d1 build system: add support for building shaders to SPIRV binaries
This adds the following to the project:
- glslc from Google’s shaderc
- src/shaders directory
- shaders are now built as part of the `build` command
- forcefully remove some files during the setup process and when cleaning
2024-01-07 20:07:33 +01:00
BodgeMaster 20857cb8c5 build system (setup_project): Comment out seemingly useless workarounds 2023-06-18 07:53:35 +02:00
BodgeMaster abc5491192 Update sockpp to version 0.8.1
This supposedly fixes a bunch of things, we’ll see...
2023-06-18 07:01:10 +02:00
BodgeMaster ad54f0a012 test/dumpnbt: Move expected output out of the script, also add another test
What was I thinking!?
2023-06-18 03:37:19 +02:00
BodgeMaster ae71322ba1 lib/nbt: Fix #80 2023-06-18 03:17:20 +02:00
BodgeMaster 01e5f5eaac lib/region: Start working on region file parser
Something is fishy with dumpnbt or lib/nbt.
Attempting to dump the extracted chunk fails, but external tools
do manage to parse it.
2023-05-29 14:47:19 +02:00
BodgeMaster 6112da2e6f lib/game: Start working on game internals
Btw: I lost the game.
2023-01-27 03:32:43 +01:00
BodgeMaster b07d6e2ff6 fossvg (client): Clean up GLFW-related code
- add some Vulkan-specific things to deal with GLFW
- get rid of useless warnings
- allow to set window size from the command line

The Window size is fixed for now because that will hopefully make
things easier in the strt. I intend to have a resizable window
in the future but getting things going is more important.
2023-01-27 01:20:29 +01:00
BodgeMaster 4247bd295a fossvg (client): Commit to using Vulkan
I have decided that we are going to use Vulkan for this. Hopefully, it works out.
This commit removes some OpenGL-specific things and adds Vulkan to the build command line.
2023-01-27 01:20:29 +01:00
BodgeMaster 4c651d1b6f Merge branch 'master' into cygwin 2023-01-09 21:54:23 +01:00
BodgeMaster e152c72a04 fossvg (client): Create window 2023-01-09 20:43:49 +01:00
BodgeMaster 5d80ca801e scripts/clean: Recreate lib/net 2023-01-09 20:38:13 +01:00
BodgeMaster c245e8a5ca lib/{file,javacompat,net/conversion/position,net/conversion/varint,net/packet}: pragma once 2022-12-30 15:38:33 +01:00
BodgeMaster 10d8cdae22 lib/net/{client,server,packet}: Prepare for networking 2022-12-29 03:31:56 +01:00
BodgeMaster b08a86f0b8 resources: Add network capture of a server list ping 2022-12-29 03:28:18 +01:00
BodgeMaster c6ec0f6850 lib/net/conversion/position: Remove misattributed author
Yeah, I just copied the header from somewhere else...
2022-12-27 17:34:16 +01:00
BodgeMaster 85fc73e015 lib/net/conversion/position.hpp: Add library
Unit tests tbd
2022-12-27 17:28:11 +01:00
BodgeMaster d2861b79ac lib/net/conversion/varint: move lib/varint here 2022-12-27 16:24:59 +01:00
BodgeMaster 9403da4ca0 lib/varint: Fix error handling for out of bounds access 2022-12-27 15:44:05 +01:00
BodgeMaster ad5bf1c41a lib/cli: Remove completely useless TODO 2022-12-20 17:06:22 +01:00
BodgeMaster 7108e71b96 lib/varint: Add toVarN() functions 2022-12-20 04:41:09 +01:00
Shwoomple 26df433dc5 lib/file: Implement cutString function 2022-12-04 09:59:28 +05:30
BodgeMaster 44716a55bb lib/varint: Fix fromVar64 function
The problem was that I let the compiler assume data type widths.
`1 << 63` is a 32 bit integer on x86_64-pc-linux-gnu.
2022-11-26 14:50:02 +01:00
BodgeMaster fe7c763d06 lib/varint: Add VarInt library
Minecraft uses 32-bit and 64-bit VarInt types to cut down on network usage.
This library currently contains read functions for conversion to normal integers.

Something seems to be wrong with the converter for 64-bit varints,
can’t figure out what rn.
2022-11-25 22:19:49 +01:00
BodgeMaster d392e080ca test/nbt_tags: Add tests for constructing invalid lists/compounds 2022-11-25 17:07:35 +01:00
BodgeMaster 60a8ac9788 lib/nbt: Make constructor NBT::Tag::Compound::Compound(name, data) private
The constructor has been made private and replaced with a static wrapper
function to make constructing from invalid data impossible.

If there is more than one end tag or an end tag isn’t at the end,
an error will be returned.
2022-11-25 15:52:24 +01:00
Shwoomple bc2255de6b lib/file: Fix issue #71 - Electric Boogaloo (Out of bounds access)
Add size constraint to make sure string terminates at the correct
length. Cygwin appears to not put null bytes to terminate string when
reading from a file stream.
2022-11-12 11:51:43 +05:30
Shwoomple e627714b44 lib/file: Implement cut function. 2022-11-12 06:36:04 +01:00
Shwoomple 42b7e40f9d lib/file:Fix issue #71 (Out of Bounds access) 2022-11-12 06:36:04 +01:00
Shwoomple 9bda607649 lib/file: Implement cut function. 2022-11-12 10:59:08 +05:30
Shwoomple 76dd30c45a lib/file:Fix issue #71 (Out of Bounds access) 2022-11-12 10:58:27 +05:30
BodgeMaster 78880e1c20 setupenv: Fix spelling
Yeah, really important commit, I know.
2022-10-31 17:56:11 +01:00
BodgeMaster 1d899db889 scripts/clean: Add a link with the original file name of cygsockpp-0.dll
Otherwise, the dynamic linker complains that it can’t find the file.
2022-10-31 17:56:11 +01:00
BodgeMaster 3cc91ae33d Build system: Get sockpp to build on Cygwin
This is probably not the last time this issue needs attention
as it *builds* on Cygwin with these workarounds, but it doesn’t *work*
on Cygwin...
2022-10-31 17:56:11 +01:00
Shwoomple 63e1749ad1 lib/file: fix cutByte filesize bug 2022-10-31 17:23:02 +01:00
Shwoomple ea8e806366 lib/file.cpp: Implement cutByte function 2022-10-31 17:23:02 +01:00
BodgeMaster 18a9517370 Build system: Start working on Cygwin support 2022-10-30 19:39:46 +01:00
BodgeMaster cd93f4c4c6 gitignore: Ignore endianness check on Cygwin 2022-10-30 17:19:55 +01:00
Shwoomple f784948c3e lib/file: fix cutByte filesize bug 2022-10-30 16:10:33 +00:00
Shwoomple d794bce288 lib/file.cpp: Implement cutByte function 2022-10-30 16:10:33 +00:00
BodgeMaster 99c8f562d6 setupenv: Fix wrong path 2022-10-30 06:10:04 +01:00
BodgeMaster 57a86cba47 setupenv: Add workaround for LD_LIBRARY_PATH on Cygwin 2022-10-30 05:56:34 +01:00
BodgeMaster 5ff8a871ad lib/javacompat: Make this a header library
Cygwin build issues were caused by lib/nbt impleicitly linking against this
2022-10-30 04:55:58 +01:00
BodgeMaster e0994e5db8 resources/java/netty-tests: Add maven project
This is going to be used for figuring out how Netty operates
and whether we should just make our own version or port the
existing Netty to C++ and use it as a dependency or whether
we even need it at all.
2022-10-30 03:17:25 +01:00
BodgeMaster 80c8a46ab2 Documentation and resources: Updates and minor clean-up 2022-10-30 02:53:56 +02:00