22d8ab05ab
feat(dtmm): Provide dt for loading state
...
Apparently Fatshark does not proxy `dt` in their boot loading sub
states. But we do need that for the mod manager.
2023-02-25 18:27:32 +01:00
1d12099448
feat(dtmm): Replace existing mods on import
...
Closes #19 .
2023-02-25 17:33:46 +01:00
86c4c200ff
fix(dtmm): Fix deleting mods
2023-02-25 17:29:25 +01:00
8e9f26ed0c
feat(dtmm): Overwrite Crashify property
...
As requested by Fatshark.
2023-02-25 17:27:06 +01:00
d6ee6e9a10
fix(dtmm): Fix patching GameStateMachine
...
The monkey-pacthed function was still called multiple times.
2023-02-25 17:26:24 +01:00
974641b2ea
fix(dtmm): Fix infinite loop on game load
2023-02-25 17:25:55 +01:00
5a3c19fb3e
fix(dtmm): Fix generating mod data
...
It would generate a syntax error when there was more than one entry in
the table.
2023-02-25 16:36:59 +01:00
cd9554fbe3
fix(dtmm): Fix deploying mod bundles
...
Two different functions were each reading the bundle database
from the backup, so their changes would overwrite each other.
Additionally, mod bundles were missing from the database.
Ref: #28 .
2023-02-25 16:09:09 +01:00
09f357d72d
fix(sdk): Prevent duplicates in bundle database bundles
...
Ref #28 .
2023-02-25 11:42:16 +01:00
55a1fc9723
feat(dtmt): Validate path values in dtmt.cfg
...
Closes #34 .
2023-02-25 10:12:23 +01:00
b20b3c4e66
WIP: mod_main logging and more DML specialication
...
DML's package needs to be added to the boot bundle as well. Current
issue: Adding any package file to the bundle breaks the game's loading.
But I don't know where this messes things up.
2023-02-23 21:38:57 +01:00
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
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
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