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
BodgeMaster
a9759e3bc2
lib/file: Clarify what the functions do, take cursor position into account for cut functions and add missing cut function
2022-08-24 01:38:44 +02:00
BodgeMaster
ab1164557d
lib/file: Write header
...
I hope I didn’t forget anything. Not exactly capable of thinking rn.
2022-08-24 01:27:34 +02:00
BodgeMaster
1b8819ffe5
lib/error: Add ErrorOrVoid
...
This allows for error propagation on functions that would otherwise
not return anything.
2022-08-24 01:21:38 +02:00
BodgeMaster
4934a78aaa
lib/error: Move definitions of constructors of ErrorOr<> inside class definition.
2022-08-24 01:19:59 +02:00
BodgeMaster
327ad9a9b5
Copyright Notice: Add authors section
2022-08-23 23:24:29 +02:00
BodgeMaster
bddab2e9f8
setupenv: Add tool directories to PATH, be more verbose
...
No more `bin/tools/hexnet -4t 9000`. Just `hexnet -4t 9000` now.
2022-08-16 13:55:42 +02:00
BodgeMaster
017c8a61f8
scripts/tools/arraydump: New tool added
...
Never again will you need to manually convert binary data into an array!
This tool does it for you! Get it now for only $99! Limited availability!
To process data from stdin / a pipe, just pass `-` as the file name.
2022-08-16 13:40:50 +02:00
BodgeMaster
5272636cb8
test/nbt_read_write_helpers: fix unit tests for readString()
2022-08-15 13:30:53 +02:00
BodgeMaster
91d16ea451
test/javacompat: add test for mismatched size
2022-08-15 12:24:03 +02:00
BodgeMaster
a1fc0ce4b4
lib/nbt: Fix a possible buffer overflow in readString()
2022-08-15 12:02:58 +02:00