Commit graph

27 commits

Author SHA1 Message Date
266d63c20d
Apply clippy lints 2023-11-23 20:28:22 +01:00
ba753cf6bb
feat: Implement static linking, second attempt
This is mostly just the code from the previous attempt. All that was
missing were the `.lib` files to link to on Windows.
2023-03-16 18:09:40 +01:00
a8db19cf9f
refactor: Capitalize error messages 2023-03-08 20:40:30 +01:00
ed4a22c97a
Revert "feat(sdk): Switch to statically linked Oodle"
This reverts commit d08321a645.

Closes #42.
2023-03-02 13:51:44 +01:00
d08321a645
feat(sdk): Switch to statically linked Oodle
This removes another runtime dependency.
2023-03-01 22:14:31 +01:00
0b17e8edf5
fix(sdk): Fix generating bundle name from file path 2023-02-25 16:07:16 +01:00
09f357d72d
fix(sdk): Prevent duplicates in bundle database bundles
Ref #28.
2023-02-25 11:42:16 +01:00
aa05c5bd4a
chore: Improve debug logs 2023-02-22 16:01:12 +01:00
e65579d8aa
feat(dtmm): Implement rudimentary mod deployment 2023-02-18 10:20:10 +01:00
df06182ca0
fix(sdk): Fix file header binary format
The file header format is a bit more complex than I first realized,
especially around when a path to `data/` is included, and which size
field determines its file name length.
2023-02-17 22:51:48 +01:00
036c20bd8c
feat(lib): Implement IdString type
This type is similar to an `Either` between a `Murmur64` hash and a
`String`. This is necessary to be able to retain hash information where
the hash is not in the dictionary, but at the same time allow string
names where they are available.

Up until now, when reading a bundle, all hashes would be converted to
strings, which made sense for displaying those names. But when writing
the same bundle back, those strings ended up being re-hashed, resulting
in incorrect hashes.
2023-02-17 22:51:46 +01:00
9077d791b2
feat(sdk): Implement file properties 2023-02-17 22:51:45 +01:00
61b3a07666
feat(sdk): Implement bundle database handling 2023-02-08 14:40:51 +01:00
9f84340b73
refactor: Extract Oodle into separate library
The library utilizes an internal global singleton to allow
using the functions without having to lug around an instance of
`libloading::Library`.
2023-02-08 14:33:47 +01:00
5eebced362
bug: Fix building 2023-01-17 11:09:02 +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
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
1c27224221
feat: Implement new bundle format 2022-12-28 13:10:54 +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
Renamed from src/bundle/mod.rs (Browse further)