Commit Graph

65 Commits (master)

Author SHA1 Message Date
BodgeMaster b5bb2f45c1 Build system: start moving the download handler to its own file 2024-03-24 18:11:28 +01:00
BodgeMaster f35211689e scripts/lib: Fix a bug in the `remove` function 2024-03-24 14:53:57 +01:00
BodgeMaster 248175e0e1 test/hexnet: remove useless (unimplemented) test 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 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 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 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 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
BodgeMaster 18a9517370 Build system: Start working on Cygwin support 2022-10-30 19:39:46 +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 4da50d3c6b test/dumpnbt: Add unit test (fixing #63) 2022-10-28 02:45:52 +02:00
BodgeMaster 7bccaca7b9 fossvg and fossvgd: Add stub programs for client and server 2022-10-28 01:53:20 +02:00
BodgeMaster f6b965040d tools/hexnet: Compile with POSIX threads
Because apparently that’s not the default on NetBSD for some reason.
2022-10-23 03:06:48 +02:00
BodgeMaster ee9b5d4f67 tools/hexnet: Add command line parser back
Reimplementation has started.
2022-10-19 15:26:38 +02:00
BodgeMaster 379903d751 tools/baseconvert: New tool
This tool allows for easy conversion between relevant bases
for unsigned numbers.

You may be able to coerce it into converting signed numbers into
unsigned numbers if you know how, though that is not an officially
supported use case (aka that’s using UB in the STL).
2022-10-08 08:29:01 +02:00
BodgeMaster 8da758becd scripts/test/arraydump: Add test 2022-10-05 06:26:41 +02:00
BodgeMaster 3b4c125ca2 tools/arraydump: Reimplement in C++ 2022-10-05 05:26:04 +02:00
BodgeMaster 9fb06c998e scripts/build: Temporarily comment out hexnet 2022-09-30 18:31:20 +02:00
Shwoomple c1d7801436 complete merge 2022-09-28 08:22:09 +05:30
Shwoomple 9610f4a4a2 lib/file: implement open function 2022-09-28 08:21:39 +05:30
BodgeMaster 10b1d9fa0c lib/nbt: Start implementing NBT data types, make NBT::Helper::writeString() return an error instead of aborting the program
The former is finally some progress on getting NBT going,
though at this point it is all unvalidated work.
For all I know it might cause your computer to burst into flames,
grow an arm and a leg and an eye, and attack you with a sword.
But probably, it won’t do that and instead start working after I
have debugged it so much that I wish I could attack my PC with a sword.

The latter is the implementation of a change I prepared in a previous commit
when i added ErrorOrVoid.
2022-09-26 03:11:44 +02:00
BodgeMaster ee5048331c tools/dumpnbt: start implementing a preliminary version
for use until the full NBT library is in place...
2022-08-28 13:59:31 +02:00
BodgeMaster 017c8a61f8 scripts/tools/arraydump: New tool added
Never again will you need to manually convert binary data into an array!
This tool does it for you! Get it now for only $99! Limited availability!

To process data from stdin / a pipe, just pass `-` as the file name.
2022-08-16 13:40:50 +02:00
BodgeMaster 0c92bdf8fd test/nbt_size_helpers: begin adding unit tests for lib/nbt's new nextTag size helpers 2022-08-13 17:32:47 +02:00
BodgeMaster 7a2c1d7d57 scripts/test: Clean old unit tests before building new ones to avoid confusion
if a unit test fails to build and old unit tests remain in place, this can
lead to confusion when the old test is run anyway.

"Why are some test cases missing?"
"Huh, it failed to build but passed?"
2022-08-13 17:32:47 +02:00
BodgeMaster 6fecb2cdb7 scripts/test/hexnet: Add license information
Yeah, I forgot it again -_-
2022-08-13 17:32:47 +02:00
BodgeMaster e882a09099 Build system: Improve output readability and prepare for script based unit tests 2022-08-13 17:32:47 +02:00
BodgeMaster 748c91c375 scripts/test: change unit test file names 2022-08-13 17:32:47 +02:00
BodgeMaster 4582c3e595 test/nbt_helpers: move the test that aborts to its own program 2022-08-02 00:41:11 +02:00
BodgeMaster 800fd66044 Build system: fix typo 2022-07-30 21:14:23 +02:00
BodgeMaster d90e7f16bd Build system: better cross-platform compatibility
I hope we don't run into more versions of sha256(sum)...
2022-07-30 21:10:07 +02:00
BodgeMaster d97e1a8336 Build system: Use -Wextra 2022-07-23 10:54:05 +02:00
BodgeMaster 8bb0732cc6 Build system: add single-threaded compile mode to test script 2022-07-20 19:20:27 +02:00
BodgeMaster 44a20c875a Build system: cache downloaded files 2022-07-20 15:52:04 +02:00
BodgeMaster 1804433a9f Build system: add a central directory to collect all the include files 2022-07-20 12:15:31 +02:00
Milan Suman b5312aeb58 lib/nbt: implement readString NBT helper function 2022-07-20 12:08:04 +05:30
Milan Suman 0462756451 lib: rename java_string to javacompat 2022-07-20 08:44:56 +05:30
Milan Suman 42336c560a Birthed an abomination, what the fuck 2022-07-18 12:13:10 +05:30
BodgeMaster a3a9078965 build system: include tinyutf8 in include path 2022-07-17 13:03:19 +02:00
BodgeMaster 362ec5f4f9 Build system: symlink dependency libs to bin/lib 2022-07-15 13:43:58 +02:00
BodgeMaster 9ce979aa7c lib/cli: first unit test implemented 2022-07-15 11:33:02 +02:00
BodgeMaster a1223ea4b9 Minor improvements and fixes.
test/nbt_helpers: add a headline to output
Build system: remove comma from array that I added bc I thought it was correct sytax, it wasn't
lib/cli: change argument order of PositionalArgument constructor to fit in with Flag and UnpositionalArgument
lib/cli: properly define what is private and what is public in the ArgumentsParser class
2022-07-15 08:54:09 +02:00
BodgeMaster b3cd8709fb Tools: Add WIP hexnet tool. This will be similar to hexdump and netcat in one.
Yes, I am using this as an exercise for myself to figure out networking.
2022-07-12 05:13:01 +02:00