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
BodgeMaster
4cb1206839
lib/file: Fix isOpen not being set properly when closing and reopening; add destructor
2022-10-05 05:02:58 +02:00
BodgeMaster
39c5940200
lib/file: Fix a potential memory leak created by yours truly
2022-10-05 04:50:41 +02:00
BodgeMaster
f3e03710f6
lib/file: Ensure a file is actually open before attempting to read
2022-10-05 04:07:46 +02:00
BodgeMaster
72fc923839
lib/nbt: remove now useless comment
2022-10-05 04:02:32 +02:00
BodgeMaster
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
BodgeMaster
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
BodgeMaster
ec44ac9531
lib/file: Check if there are enough bytes left to read
2022-10-05 03:46:42 +02:00
BodgeMaster
341b4c187e
lib/file: Fix (potential) memory leaks
2022-10-05 03:30:01 +02:00
BodgeMaster
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
BodgeMaster
2d2b67373c
lib/nbt: Yesterday’s progress of implementing more of the functions in the header
2022-10-04 02:39:58 +02:00
BodgeMaster
4c4366f7e6
lib/nbt: Partially update documentation to current terminology.
...
Would probably be better if it were moved to doc/ and completely rewritten.
2022-10-02 07:48:03 +02:00
BodgeMaster
4ef1d2c44f
lib/nbt: Split serializer into two components
...
One for serializing full tags and one for serializing tags without
their header.
The former is what used to be `toRawData` - though a bunch of
duplicated code has been removed by just moving it to the Generic
type class instead of having an implementation on the sub-classes.
The latter is useful for serializing lists.
The previous warning that all of this is untested still applies.
2022-10-02 07:47:12 +02:00
Shwoomple
5920d1d004
commit merge
2022-10-02 08:42:33 +05:30
Shwoomple
056c1e6b11
lib/file.cpp: fix read fubctions.
2022-10-02 08:38:39 +05:30
BodgeMaster
8b1491c311
lib/nbt: Add missing class prefix to function names
2022-10-01 04:57:45 +02:00
BodgeMaster
fc2caf3bc0
lib/nbt: Implement more member functions for tag types
2022-10-01 04:51:53 +02:00
BodgeMaster
89baeebc65
lib/file: Switch to using pointers for passing File objects around
2022-09-30 20:10:28 +02:00
Shwoomple
c204aa7d76
lib/file.cpp:Fix exception warnings
2022-09-30 22:41:55 +05:30
BodgeMaster
09503d3dc7
lib/file: Remove accidentally included C header
2022-09-30 18:31:49 +02:00
BodgeMaster
9fb06c998e
scripts/build: Temporarily comment out hexnet
2022-09-30 18:31:20 +02:00
BodgeMaster
aa97154474
lib/error: Remove misplaced code fragment
...
brea
2022-09-30 18:09:23 +02:00
BodgeMaster
9abfd9e5a9
setupenv: Move sourcing the local environment before FOSS-VG environment adjustments
2022-09-30 17:55:17 +02:00
Shwoomple
150ce826ba
complete merge
2022-09-30 11:03:05 +05:30
Shwoomple
3449e3b9c4
lib/file: Implement broken file functions
2022-09-30 11:02:46 +05:30
Charlie Root
213d28a9b8
setupenv: Fix syntax errors
2022-09-30 06:13:38 +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
434c976cc5
lib/nbt: Continue implementing in-memory NBT tag data types
...
This is still 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 will just not work and I will realize that sleepy
past me was a fucking idiot (as always).
2022-09-28 03:43:54 +02:00
BodgeMaster
47fd1f8970
test/nbt_read_write_helpers: Change unnecessarily long string to be just one above the allowed size
2022-09-26 23:53:53 +02:00
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
Shwoomple
e8d41efeef
lib/error.hpp: fix merge conflicts
2022-09-19 16:21:25 +05:30
Shwoomple
508b5e67e7
lib/error.hpp: add file errors
2022-09-19 16:19:52 +05:30
BodgeMaster
398321e415
test/nbt*: Replace NBT::helper with NBT::Helper
...
Yes, I forgot to run the test suite before committing.
This is why we need CI.
2022-09-19 11:47:29 +02:00
BodgeMaster
53878c3e2b
lib/nbt: Start implementing the in-memory data structure for NBT
2022-09-15 06:06:47 +02:00
BodgeMaster
ad291ee77d
lib/nbt: Capitalize NBT::Helper because I feel like it
2022-09-15 02:00:07 +02:00
BodgeMaster
6149418f52
Add a level.dat to test the NBT parser on.
2022-09-15 01:51:51 +02:00
BodgeMaster
ac12bcf865
Makefile: Finally get rid of this as we don't need it.
...
A makefile may be added back when we are preparing distribution but
it’s a long road until then.
2022-09-15 01:06:59 +02:00
BodgeMaster
8b92d24ab9
setupenv: Add dependency check
2022-09-11 10:11:17 +02:00
BodgeMaster
aab91a2523
lib/nbt: Fix NBT::validateRawNBTData() and NBT::validateRawListContents closing #52 and #53
2022-09-11 09:14:32 +02:00
BodgeMaster
58b1199e38
lib/javacompat: Fixed JavaCompat::importJavaString() hanging when trying to import long strings
...
This was caused by an integer overflow due to using a too small data type in a counter variable.
2022-09-11 09:08:08 +02:00
Shwoomple
48f8a7dcf2
tools/hexnet: start implementing console input
2022-08-30 00:52:06 +05:30
BodgeMaster
209d0828b4
tools/hexnet: un-comment problematic sections
2022-08-29 21:06:54 +02:00
BodgeMaster
b4d4ce77b2
tools/dumpnbt: better variable name and exit when data is invalid
2022-08-29 21:02:36 +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
629c999336
lib/nbt: Return correct error code from read functions ( fixes #17 )
2022-08-27 22:35:10 +02:00
BodgeMaster
cdd17045d1
test/nbt_read_write_helpers: add more tests according to issue #43
2022-08-27 20:10:29 +02:00
BodgeMaster
bb40f6553e
tools/hexnet: comment sections out temporarily to get rid of compile errors
...
Doesn’t compile on Void x86_32 glibc. This will need to be investigated.
I just wanted to get rid of the errors while working on other issues.
Compile command:
ccache g++ -std=c++20 -Wall -Wextra src/tools/hexnet.cpp -I./include -Lbin/lib -l:cli.so -l:libsockpp.so -o bin/tools/hexnet
2022-08-27 11:50:36 +02:00