25d7806f6d 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Fix memory leak in case of parsing error  
							
							
							
						 
						
							2022-10-19 15:26:38 +02:00  
				
					
						
							
							
								 
						
							
							
								6e57a86338 
								
							
								 
							
						 
						
							
							
								
								lib/file: Implement write functions  
							
							
							
						 
						
							2022-10-19 10:43:23 +05:30  
				
					
						
							
							
								 
						
							
							
								c54eb48887 
								
							
								 
							
						 
						
							
							
								
								lib/file: Implement writeByte function  
							
							
							
						 
						
							2022-10-18 20:57:02 +05:30  
				
					
						
							
							
								 
						
							
							
								c14504ce0b 
								
							
								 
							
						 
						
							
							
								
								tools/dumpnbt: Display empty lists correctly  
							
							
							
						 
						
							2022-10-17 07:02:36 +02:00  
				
					
						
							
							
								 
						
							
							
								92cf81c1b4 
								
							
								 
							
						 
						
							
							
								
								tools/dumpnbt: Implement basic functionality.  
							
							... 
							
							
							
							FINALLY!!! :^) 
							
						 
						
							2022-10-17 06:40:56 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								36dcf0a0f5 
								
							
								 
							
						 
						
							
							
								
								resources/dumpnbt_output_format: Give end tags header and payload information  
							
							
							
						 
						
							2022-10-17 06:37:16 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								8d2f3f2fa5 
								
							
								 
							
						 
						
							
							
								
								tools/dumpnbt: Switch from using the validator to using the parser, update some strings  
							
							
							
						 
						
							2022-10-16 07:40:00 +02:00  
				
					
						
							
							
								 
						
							
							
								cdc23e7468 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Implement parser  
							
							
							
						 
						
							2022-10-15 23:05:26 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								9b21dfaee5 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Implement Int32Array test  
							
							
							
						 
						
							2022-10-14 22:33:57 +02:00  
				
					
						
							
							
								 
						
							
							
								996154fbbc 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Return the correct error code from soem functions for i32 arrays.  
							
							
							
						 
						
							2022-10-14 22:33:32 +02:00  
				
					
						
							
							
								 
						
							
							
								77dd79398f 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Test compound serialization  
							
							
							
						 
						
							2022-10-14 21:46:55 +02:00  
				
					
						
							
							
								 
						
							
							
								fd5fe3967f 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Partially implement compound test  
							
							
							
						 
						
							2022-10-14 20:33:43 +02:00  
				
					
						
							
							
								 
						
							
							
								374466f26c 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Fix not actually returning from Compound::setElementPointerAt in the do nothing case  
							
							
							
						 
						
							2022-10-14 20:01:47 +02:00  
				
					
						
							
							
								 
						
							
							
								3b56a52085 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Fix a memory leak  
							
							
							
						 
						
							2022-10-14 19:22:05 +02:00  
				
					
						
							
							
								 
						
							
							
								7be73f86d4 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Prevent addition of additional end tags to compounds  
							
							
							
						 
						
							2022-10-14 18:33:05 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								ccce564219 
								
							
								 
							
						 
						
							
							
								
								lib/error: Add NOT_ALLOWED  
							
							
							
						 
						
							2022-10-14 17:39:00 +02:00  
				
					
						
							
							
								 
						
							
							
								53279c6905 
								
							
								 
							
						 
						
							
							
								
								lib/error: Clean up comments  
							
							
							
						 
						
							2022-10-14 17:30:35 +02:00  
				
					
						
							
							
								 
						
							
							
								f8dd10d301 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Finish test implementation for NBT::Tag::List  
							
							
							
						 
						
							2022-10-13 11:34:57 +02:00  
				
					
						
							
							
								 
						
							
							
								6672a4f149 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Implement string test and partial list test  
							
							
							
						 
						
							2022-10-09 10:29:28 +02:00  
				
					
						
							
							
								 
						
							
							
								d5ce50a4a9 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Fix a potential memory leak  
							
							
							
						 
						
							2022-10-09 10:18:20 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								b1ba33b39f 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Implement unit tests for Float, Double, and Int8Array  
							
							
							
						 
						
							2022-10-08 12:56:13 +02:00  
				
					
						
							
							
								 
						
							
							
								833c09e2da 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Fix a bug caused by having two return statements swapped  
							
							
							
						 
						
							2022-10-08 12:54:05 +02:00  
				
					
						
							
							
								 
						
							
							
								b53999a548 
								
							
								 
							
						 
						
							
							
								
								tools/arraydump: Remove a debugging message that I accidentally left in  
							
							
							
						 
						
							2022-10-08 08:32:02 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								17792ec5bf 
								
							
								 
							
						 
						
							
							
								
								lib/cli: Implement the "Additional Info" feature  
							
							
							
						 
						
							2022-10-08 08:27:48 +02:00  
				
					
						
							
							
								 
						
							
							
								9ce35b5c6b 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Implement more tests  
							
							
							
						 
						
							2022-10-08 08:25:57 +02:00  
				
					
						
							
							
								 
						
							
							
								be08a97275 
								
							
								 
							
						 
						
							
							
								
								tesst/nbt_tags: Choose a more sensible value for int8_0  
							
							
							
						 
						
							2022-10-06 20:46:50 +02:00  
				
					
						
							
							
								 
						
							
							
								6bdf99c897 
								
							
								 
							
						 
						
							
							
								
								test/nbt_tags: Implement tests for the first three tag types  
							
							
							
						 
						
							2022-10-06 11:10:51 +02:00  
				
					
						
							
							
								 
						
							
							
								936def1a65 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: move a comment (yes, very important commit)  
							
							
							
						 
						
							2022-10-06 11:09:58 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								8da758becd 
								
							
								 
							
						 
						
							
							
								
								scripts/test/arraydump: Add test  
							
							
							
						 
						
							2022-10-05 06:26:41 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								3b4c125ca2 
								
							
								 
							
						 
						
							
							
								
								tools/arraydump: Reimplement in C++  
							
							
							
						 
						
							2022-10-05 05:26:04 +02:00  
				
					
						
							
							
								 
						
							
							
								4cb1206839 
								
							
								 
							
						 
						
							
							
								
								lib/file: Fix isOpen not being set properly when closing and reopening; add destructor  
							
							
							
						 
						
							2022-10-05 05:02:58 +02:00  
				
					
						
							
							
								 
						
							
							
								39c5940200 
								
							
								 
							
						 
						
							
							
								
								lib/file: Fix a potential memory leak created by yours truly  
							
							
							
						 
						
							2022-10-05 04:50:41 +02:00  
				
					
						
							
							
								 
						
							
							
								f3e03710f6 
								
							
								 
							
						 
						
							
							
								
								lib/file: Ensure a file is actually open before attempting to read  
							
							
							
						 
						
							2022-10-05 04:07:46 +02:00  
				
					
						
							
							
								 
						
							
							
								72fc923839 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: remove now useless comment  
							
							
							
						 
						
							2022-10-05 04:02:32 +02:00  
				
					
						
							
							
								 
						
							
							
								5059bd0193 
								
							
								 
							
						 
						
							
							
								
								lib/file: change File::eof to a function  
							
							... 
							
							
							
							This is just way easier to implement and less messy. 
							
						 
						
							2022-10-05 04:01:18 +02:00  
				
					
						
							
							
								 
						
							
							
								8bb633f118 
								
							
								 
							
						 
						
							
							
								
								lib/error and lib/file: reassign code 9 to FILE_NOT_OPEN  
							
							... 
							
							
							
							These are not exceptions so we don’t need multiple variants of
generic error in case someone wants to catch it somewhere
up the call stack.
It’s okay to use UNKNOWN for generic errors where we don’t know
exactly what happened. 
							
						 
						
							2022-10-05 03:48:05 +02:00  
				
					
						
							
							
								 
						
							
							
								ec44ac9531 
								
							
								 
							
						 
						
							
							
								
								lib/file: Check if there are enough bytes left to read  
							
							
							
						 
						
							2022-10-05 03:46:42 +02:00  
				
					
						
							
							
								 
						
							
							
								341b4c187e 
								
							
								 
							
						 
						
							
							
								
								lib/file: Fix (potential) memory leaks  
							
							
							
						 
						
							2022-10-05 03:30:01 +02:00  
				
					
						
							
							
								 
						
							
							
								79650e390e 
								
							
								 
							
						 
						
							
							
								
								lib/nbt: Implement the rest of the functions outline in the header  
							
							... 
							
							
							
							This concludes the implementation of the in-memory NBT representation.
This is still all untested code so it might just blow up in your face.
The next step will be writing tests (and probably a lot of cursing and
debugging)... 
							
						 
						
							2022-10-05 01:12:38 +02:00