44a0b9a651
feat: Reduce clutter in release mode logging
...
Ref #7 .
2023-02-23 21:38:56 +01:00
45e0d79fa7
refactor: Add crate for shared functionality
...
Adds an additional crate for shared functionality between dtmt and dtmm
that doesn't fit in the sdk.
2023-02-23 21:38:35 +01:00
41344f022d
feat(dtmm): Delete mod files
...
Only files in `data_dir` will be deleted, deployed bundles will stay
for now. See #29 for the rational.
Closes #24 .
2023-02-23 21:38:27 +01:00
0c071b5b0a
fix(dtmm): Copy mod bundle
...
Hard linking doesn't work across devices/mount points, and I'm not keen
on reworking the data directory to be placed accordingly, right now.
2023-02-22 19:04:07 +01:00
f1375ae88d
fix(dtmm): Fix re-deploying the same mod
2023-02-22 18:51:58 +01:00
2a49b4a5b9
fix(dtmm): Fix deploying mod bundles
2023-02-22 18:41:15 +01:00
09c0ca777d
fix(dtmm): Fix generated mod data Lua code
2023-02-22 18:38:53 +01:00
d9e6cc05a0
fix(dtmm): Add additional Lua globals to backup
2023-02-22 16:40:05 +01:00
0705430b95
refactor: Move mod loading to separate base mod
2023-02-22 16:40:04 +01:00
701516aa7c
feat: Make mod resource scripts optional
...
With splitting DMF and DML, there is now more than one case where this
is needed, so it may well be made proper now.
The template still defines them, and, as with VT2 most creators will
probably stick with it, but they do have the option to make a non-DMF
mod now.
2023-02-22 16:40:02 +01:00
58a3df2d40
fix(dtmt): Fix incorrect field in config template
2023-02-22 16:40:01 +01:00
1decd1ce3a
fix(dtmt): Fix duplicate prompts
2023-02-22 16:40:00 +01:00
c73b8d2cc9
refactor: Only show unknown commands in debug
...
There are a bunch of optional commands provided by druid that trigger
this, but we only really need it to check for custom ones that weren't
implemented, yet.
2023-02-22 16:39:59 +01:00
6c9d5dabd4
fix(dtmm): Fix creating default config file
...
Create parent directories if necessary.
2023-02-22 16:39:58 +01:00
659ef1ce71
feat: Handle DMF specially for mod loading
...
DMF is part of the mod loading process and can therefore not be treated
like a regular mod.
2023-02-22 16:39:57 +01:00
571ae9605a
wip: Add preliminary mod loading injection
2023-02-22 16:39:30 +01:00
bc4d2fcd8a
feat(dtmt): Add unique mod ID
2023-02-22 16:08:32 +01:00
31d45a1cb4
fix(dtmm): Only deploy mods that are enabled
2023-02-22 16:01:15 +01:00
ebcbdaeec0
feat(dtmm): Rework mod template
...
Ditch the `.mod` file and move its data into the config file.
The `run` function was the only thing that could have been dynamic, but
the vast majority of mods in VT2 never made use of that. Infact, VMF was
probably the only mod that had a different content for that.
2023-02-22 16:01:13 +01:00
aa05c5bd4a
chore: Improve debug logs
2023-02-22 16:01:12 +01:00
f90247710e
fix(dtmm): Use correct directory to extract to
2023-02-22 16:01:11 +01:00
09a6a969a6
feat(dtmm): Add config file
2023-02-22 16:01:09 +01:00
0ac3f84dba
fix(dtmm): Fix deploy button staying disabled
2023-02-20 16:39:20 +01:00
560e5496bc
feat(dtmm): Implement importing mod archives
2023-02-20 16:39:13 +01:00
4b7f12e487
refactor(dtmm): Use commands instead of notifications
2023-02-18 10:59:21 +01:00
b8804409a3
chore: Update crates
2023-02-18 10:46:05 +01:00
e65579d8aa
feat(dtmm): Implement rudimentary mod deployment
2023-02-18 10:20:10 +01:00
2cda35032c
feat(dtmm): Implement rudimentary mod managing UI
2023-02-17 23:06:10 +01:00
8b2ca0e45a
feat(dtmm): Improve logging output format
2023-02-17 23:00:18 +01:00
110108004d
fix(dtmt): Fix dictionary lookup for all groups
...
Rather than checking all groups, when no cli flag was given, no groups
were checked.
2023-02-17 22:51:47 +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
1d08498131
feat(dtmt): Add command to print the dictionary
...
This is mostly helpful to check/debug whether the internal dictionary
actually contains the expected data. For manually looking through the
entire dictionary, opening the CSV file is still more convenient.
2023-02-17 22:51:46 +01:00
6b01511d22
refactor(main_window): Combine window size into one variable
2023-02-08 14:40:55 +01:00
204ce1e163
feat(dtmm): Create initial mod manager window
2023-02-08 14:40:49 +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
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
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
2c34d98193
feat: Show status when adding dictionary entries
2023-01-01 18:54:09 +01:00
95aa145569
version: v0.2.0
2022-12-28 19:59:10 +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
97b824176f
refactor: Add a few spans for error reporting
2022-12-28 13:14:21 +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