Commit Graph

364 Commits (ca150d0f054b68deaafc67d537b5414209fc8958)

Author SHA1 Message Date
BodgeMaster 89cfb9d850 tools/hexnet: Reduce redundant code 2022-10-21 23:01:03 +02:00
BodgeMaster f681c54c82 tools/hexnet: Reimplement TCP server, implement TCP client
Both can only receive at the moment as we still don’t handle input.
2022-10-21 23:01:03 +02:00
BodgeMaster ee0ebb273c tools/hexnet: Add instructions for setting up TTY 2022-10-21 23:01:03 +02:00
Shwoomple 8dea1f2d31 lib/file: Implement modify functions 2022-10-20 15:12:15 +05:30
Shwoomple c825c73afd lib/file: Implement insertByte function 2022-10-20 13:02:15 +05:30
Shwoomple e7711a3d59 commit merge 2022-10-20 10:27:48 +05:30
Shwoomple e7ce6f5cd4 lib/file: Fix write function bugs 2022-10-20 10:27:00 +05:30
BodgeMaster ee9b5d4f67 tools/hexnet: Add command line parser back
Reimplementation has started.
2022-10-19 15:26:38 +02:00
BodgeMaster b84130344d tools/hexnet: Starting over 2022-10-19 15:26:38 +02:00
BodgeMaster 25d7806f6d lib/nbt: Fix memory leak in case of parsing error 2022-10-19 15:26:38 +02:00
Shwoomple 6e57a86338 lib/file: Implement write functions 2022-10-19 10:43:23 +05:30
Shwoomple c54eb48887 lib/file: Implement writeByte function 2022-10-18 20:57:02 +05:30
BodgeMaster c14504ce0b tools/dumpnbt: Display empty lists correctly 2022-10-17 07:02:36 +02:00
BodgeMaster 92cf81c1b4 tools/dumpnbt: Implement basic functionality.
FINALLY!!! :^)
2022-10-17 06:40:56 +02:00
BodgeMaster df35243ee9 lib/nbt: Add NBT::Tag::List::getContainedType()
Supid oversight, easily work-aroundable,
but it doesn’t hurt and was easy to implement
2022-10-17 06:39:42 +02:00
BodgeMaster 36dcf0a0f5 resources/dumpnbt_output_format: Give end tags header and payload information 2022-10-17 06:37:16 +02:00
BodgeMaster 93fdcb7b65 resources: Add a file with examples for possible dumpnbt output
This may be useful for future unit tests.
I did this because I had no fucking idea how to implement drawing
the tree. I still have no fucking idea.

I hope there are no errors in there. If there are any, we’ll
find out when writing the relevant unit tests.
2022-10-16 07:40:55 +02:00
BodgeMaster 8d2f3f2fa5 tools/dumpnbt: Switch from using the validator to using the parser, update some strings 2022-10-16 07:40:00 +02:00
BodgeMaster cdc23e7468 lib/nbt: Implement parser 2022-10-15 23:05:26 +02:00
BodgeMaster e9bfb6eeee resources/NBT_data: Add two files that are valid NBT by our extended spec
Since we allow loose tags to be valid NBT data, this is valid NBT by our spec.
This isn’t valid by Mojang’s spec.
2022-10-15 21:41:32 +02:00
BodgeMaster 8b62ec9c88 lib/nbt: Get rid of that ugly #define return hack
Instead of doing #define return, the boolean returnValue is set and
a goto statement is used to get to the code that does what the macro
used to do.
2022-10-15 18:55:58 +02:00
BodgeMaster ca0af3306f test/nbt_tags: Implement Int64Array test
My arm hurts.
My back huts.
Man, that was exhausting.
Finally done.
2022-10-14 22:58:59 +02:00
BodgeMaster 9b21dfaee5 test/nbt_tags: Implement Int32Array test 2022-10-14 22:33:57 +02:00
BodgeMaster 996154fbbc lib/nbt: Return the correct error code from soem functions for i32 arrays. 2022-10-14 22:33:32 +02:00
BodgeMaster 77dd79398f test/nbt_tags: Test compound serialization 2022-10-14 21:46:55 +02:00
BodgeMaster fd5fe3967f test/nbt_tags: Partially implement compound test 2022-10-14 20:33:43 +02:00
BodgeMaster 374466f26c lib/nbt: Fix not actually returning from Compound::setElementPointerAt in the do nothing case 2022-10-14 20:01:47 +02:00
BodgeMaster 3b56a52085 lib/nbt: Fix a memory leak 2022-10-14 19:22:05 +02:00
BodgeMaster 7be73f86d4 lib/nbt: Prevent addition of additional end tags to compounds 2022-10-14 18:33:05 +02:00
BodgeMaster 71834e1018 lib/nbt: Build an end tag object into compound tag objects to prevent creation of endless compounds 2022-10-14 18:08:49 +02:00
BodgeMaster ccce564219 lib/error: Add NOT_ALLOWED 2022-10-14 17:39:00 +02:00
BodgeMaster 53279c6905 lib/error: Clean up comments 2022-10-14 17:30:35 +02:00
BodgeMaster f8dd10d301 test/nbt_tags: Finish test implementation for NBT::Tag::List 2022-10-13 11:34:57 +02:00
BodgeMaster 6672a4f149 test/nbt_tags: Implement string test and partial list test 2022-10-09 10:29:28 +02:00
BodgeMaster d5ce50a4a9 lib/nbt: Fix a potential memory leak 2022-10-09 10:18:20 +02:00
BodgeMaster f0092b78d3 lib/nbt: Make list serielizer return an error when serializing a list with no contained type set 2022-10-08 23:35:21 +02:00
BodgeMaster b1ba33b39f test/nbt_tags: Implement unit tests for Float, Double, and Int8Array 2022-10-08 12:56:13 +02:00
BodgeMaster 833c09e2da lib/nbt: Fix a bug caused by having two return statements swapped 2022-10-08 12:54:05 +02:00
BodgeMaster b53999a548 tools/arraydump: Remove a debugging message that I accidentally left in 2022-10-08 08:32:02 +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 17792ec5bf lib/cli: Implement the "Additional Info" feature 2022-10-08 08:27:48 +02:00
BodgeMaster 9ce35b5c6b test/nbt_tags: Implement more tests 2022-10-08 08:25:57 +02:00
BodgeMaster be08a97275 tesst/nbt_tags: Choose a more sensible value for int8_0 2022-10-06 20:46:50 +02:00
BodgeMaster 6bdf99c897 test/nbt_tags: Implement tests for the first three tag types 2022-10-06 11:10:51 +02:00
BodgeMaster 936def1a65 lib/nbt: move a comment (yes, very important commit) 2022-10-06 11:09:58 +02:00
BodgeMaster 3cc1222de9 lib/nbt: Fix a bug in NBT::Helper::writeString()
Writing a string to a byte vector would result in it being replaced
with one holding only the string.
2022-10-06 10:21:59 +02:00
BodgeMaster ecf3b14b5a test/nbt_tags: I have no clue what’s going on here.
Committing so I can debug at my PC.
2022-10-06 09:59:48 +02:00
BodgeMaster 8da758becd scripts/test/arraydump: Add test 2022-10-05 06:26:41 +02:00
BodgeMaster 1e5051b503 setupenv: Remove check for xxd
`xxd` is no longer needed as arraydump has been rewritten in C++
2022-10-05 05:31:37 +02:00
BodgeMaster 3b4c125ca2 tools/arraydump: Reimplement in C++ 2022-10-05 05:26:04 +02:00