Commit Graph

377 Commits (eb8db3561568a5527522c2e564e7c34eadb6ecd3)

Author SHA1 Message Date
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
BodgeMaster 4abb1f223c lib/nbt: Lists can no longer be constructed from invalid sets of data
The constructor `NBT::Tag::List::List(tiny_utf8::string, std::vector<NBT::Tag::Generic*>)`
is now private and has a wrapper function `NBT::Tag::List::constructWithData(tiny_utf8::string, std::vector<NBT::Tag::Generic*>)`
that performs a sanity check on the data it is given.
2022-10-28 04:08:06 +02:00
BodgeMaster 4da50d3c6b test/dumpnbt: Add unit test (fixing #63) 2022-10-28 02:45:52 +02:00
BodgeMaster c9b56d4d7f tools/dumpnbt: Remove unused CLI flag 2022-10-28 02:45:25 +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 b5c18cd0de tools/hexnet: Implement bi-directional communication 2022-10-23 01:48:47 +02:00
BodgeMaster a1ba08b7db tools/hexnet: Shut down connections when gracefully handling signals 2022-10-23 01:47:44 +02:00
BodgeMaster 1d7e98d0b3 tools/hexnet: Implement function for reading bytes from stdin 2022-10-23 01:45:59 +02:00
BodgeMaster a7e07d2c3c tools/hexnet: Implement UDP support (and minor refactoring) 2022-10-22 18:51:29 +02:00
BodgeMaster 7ae843039c tools/hexnet: Implement TCP v6 handler, rename readFromTCPSocket to readFromTCP 2022-10-22 01:18:44 +02:00
BodgeMaster 5574cdb4bf tools/hexnet: Don’t confuse users 2022-10-22 01:02:00 +02:00
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