Commit graph

450 commits

Author SHA1 Message Date
96c9da16de
bug: Fix package test 2023-01-08 15:33:53 +01:00
3b7abe02bf
feat: Implement command to create mod project from template 2023-01-07 21:53:56 +01:00
f61fab4257
feat: Implement building mod bundles 2023-01-07 21:27:26 +01:00
56bcbd8648
feat: Implement initial bundle building
For now, only empty bundles can be created, though.
2023-01-07 16:20:26 +01:00
0811f47ae2
bug: Fix reading bundle properties
Clippy's suggestion failed me, as `slice::take` only yields _at most_
the given number of elements, but `Vec::with_capacity` doesn't resize
in a way that it would yield `capacity` elements.
2023-01-07 16:19:01 +01:00
db7790ec5b
refactor: Properly handle unknown field 2023-01-06 18:55:55 +01:00
0441a0d932
feat: Recognize bundle properties
Ref: #3.
2023-01-06 18:54:33 +01:00
385e1f98e2
bug: Fix tracing spans not being entered 2023-01-06 13:32:58 +01:00
20c0382c22
refactor: Make operations on binary data sync
There is no benefit from making all operations on binary data read
in small, async steps directly from the file.
Since we know file sizes beforehand, it's less complex to read
the entire data blob into memory once, then operate on that
synchronously.
2023-01-06 13:30:18 +01:00
fddf8fcbbd
refactor: Remove synchronization for context parameter
The context is only written to during initial setup. After that
it is only ever read, so no synchronization is necessary.
2023-01-04 10:40:25 +01:00
96b29a3d2b
doc: Improve README wording 2023-01-01 23:47:53 +01:00
2c34d98193
feat: Show status when adding dictionary entries 2023-01-01 18:54:09 +01:00
61a80f71a7
docs: Add quick start information to README 2023-01-01 11:38:29 +01:00
95aa145569
version: v0.2.0 2022-12-28 19:59:10 +01:00
9806013d68
fix: Fix decompiling strings files with Unicode 2022-12-28 19:50:22 +01:00
3913684898
refactor: Apply clippy suggestion 2022-12-28 19:44:27 +01:00
c2ed9275b0
fix: Decompression doesn't work for some bundles
It seems that with the new bundle format, chunks are stored uncompressed
when their compressed size equals the chunk size.
2022-12-28 19:44:23 +01:00
2219f4fab3
feat: Implement decompilation for strings file type 2022-12-28 18:30:11 +01:00
5cc97959a5
feat: Improve error output during extraction 2022-12-28 18:29:26 +01:00
b8b4802cd9
version: dtmt v0.1.2 2022-12-28 18:29:09 +01:00
cfb73fbb00
version: sdk v0.1.2 2022-12-28 13:15:03 +01:00
97b824176f
refactor: Add a few spans for error reporting 2022-12-28 13:14:21 +01:00
1c27224221
feat: Implement new bundle format 2022-12-28 13:10:54 +01:00
aa9277c394
version: v0.1.1 2022-12-11 12:11:59 +01:00
be1ce0dcf0
refactor: Apply clippy suggestions 2022-12-11 12:10:02 +01:00
f94a8c8731
feat: Handle file variants 2022-12-11 12:09:31 +01:00
764d9c00f2
feat: Implement murmur hash command 2022-12-10 19:28:49 +01:00
a4c6ba731a
feat: Add config file 2022-12-10 17:12:23 +01:00
28aacf9d58
refactor: Apply clippy suggestions 2022-12-10 12:43:36 +01:00
87bfcf68cb
chore: Disable unimplemented commands 2022-12-10 12:43:06 +01:00
4a834b1687
Merge branch 'issue/1'
* issue/1:
  fix: Fix running out of file handles
2022-12-10 12:38:56 +01:00
a76ea165ac
fix: Fix running out of file handles
Fixes #1.
2022-12-10 12:37:35 +01:00
4ac9c88dfc
bug: Fix synchronous binary operations 2022-12-09 23:33:44 +01:00
d1ff738098
feat: Add synchronous binary reading utilities 2022-12-09 10:14:31 +01:00
78eb25368c
refactor: Apply clippy suggestions 2022-12-06 21:53:52 +01:00
905734019e
feat: Implement decompilation for package files 2022-11-25 16:17:35 +01:00
987a6ade9b
chore: Turn project structure into workspace 2022-11-18 10:44:01 +01:00
d500b01709
feat: Implement bundle writing and file injecting 2022-11-16 09:36:46 +01:00
6bb5aef407
fix: Fix handling multiple input bundles 2022-11-15 15:11:27 +01:00
c514f36bcb
fix: Fix parsing CSV dictionary
`csv_async`'s deserializer seems to only emit a few specific types
to the supplied visitor. Namely strings and 64 bit numbers. I was
not able to figure out why some numbers where considered floats.

So each visitor for the hash types needs to implement all of those
data types and convert them, if necessary.
2022-11-15 15:10:59 +01:00
18af90ec1f
feat: Implement directly loading Oodle library
Since I now found a way to obtain a version of the Oodle library
compiled for Linux, I don't need to bother with Wine anymore, and
can instead load the library directly.
This removes the need for the extra utility completely.

I still have to load the library at runtime, though, as Rust only
supports static linking, and I probably don't have a lincense to do
that with Oodle.
2022-11-13 23:23:00 +01:00
82e4bcb9ed
fix: Fix decompiling small bundles writing 0 bytes 2022-11-13 22:23:22 +01:00
54ca36c457
fix: Fix specifying single output file 2022-11-13 22:18:12 +01:00
4b830d613b
feat: Implement raw file extraction 2022-11-05 10:31:59 +01:00
1f44e0bdfc
feat: Implement pretty printing for logging 2022-11-05 01:14:19 +01:00
109eb8ffa2
feat: Implement bundle content listing 2022-11-03 20:26:19 +01:00
da188155e3
build: Improve binary size 2022-11-03 20:24:37 +01:00
75c459672c
feat: Implement hash dictionary 2022-11-03 20:24:14 +01:00
cf2503214b
feat: Implement bundle decompression
It does share a large portion of logic with the actual opening of
bundles. But trying to combine everything would only make things more
complex.
2022-11-01 17:35:47 +01:00
95414f1f11
chore: Initialize project 2022-11-01 12:10:05 +01:00