Commit Graph

51 Commits (5d80ca801e03f5e687e522748cf7d8edae95b766)

Author SHA1 Message Date
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 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
BodgeMaster e608d82444 Dependencies: add sockpp 2022-07-12 01:51:23 +02:00
BodgeMaster a1b200b694 Build system: verify downloaded files 2022-07-06 14:15:40 +02:00
BodgeMaster 3f6e74ed4e Build system: add single threaded mode 2022-07-06 10:50:55 +02:00
BodgeMaster f18874019b fix copyright notice 2022-07-02 01:04:32 +02:00
BodgeMaster 1dcf37c0fc add our own endianness check because there is apparently no proper way to check for that at compile time 2022-07-01 13:57:20 +02:00
BodgeMaster 9b0d54165d test.sh: add copyright notice (and fix a linking issue caused by argument order -_-) 2022-06-28 19:53:38 +02:00
BodgeMaster 63b25ed749 fixed test script 2022-06-28 18:55:35 +02:00
BodgeMaster ebfa4738b6 formatting 2022-06-28 18:54:50 +02:00
BodgeMaster e09fb6a61f add test infrastructure, closing #11 2022-06-28 18:28:44 +02:00
BodgeMaster 0a63b86474 minor rewording of an error message 2022-06-27 13:06:09 +02:00
BodgeMaster 9ed38acfd1 remove useless comment 2022-06-27 11:47:20 +02:00
BodgeMaster b0bd027898 Add license and copyright notices 2022-06-27 11:46:13 +02:00
BodgeMaster 23a928bd06 add a project setup script so we can better deal with dependencies, also add the first dependency to the project 2022-06-27 09:10:51 +02:00
BodgeMaster 3483b4182e make a copy of clean for the dependencies directory 2022-06-27 09:03:10 +02:00