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
BodgeMaster
833c09e2da
lib/nbt: Fix a bug caused by having two return statements swapped
2022-10-08 12:54:05 +02:00