638b081cb7
version: dtmt v0.3.0, dtmm v0.1.0
2023-03-01 22:29:27 +01:00
3ed47e236b
Merge pull request 'Darktide Mod Manager' ( #39 ) from feat/dtmm into master
...
Reviewed-on: #39
2023-03-01 22:27:40 +01:00
7988c1f3cb
Merge branch 'master' into feat/dtmm
...
* master:
fix(sdk): Fix resolving package wildcards
chore: Update serde_sjson
2023-03-01 22:26:50 +01:00
d08321a645
feat(sdk): Switch to statically linked Oodle
...
This removes another runtime dependency.
2023-03-01 22:14:31 +01:00
45da42908b
docs: Add split READMEs
...
Closes #17 .
2023-03-01 22:14:31 +01:00
1b5a9b8159
chore: Remove dead code
2023-03-01 20:14:40 +01:00
fa8764984f
feat(dtmm): Rework log levels and filters
...
Keep the flexibility for dev, but in prod drop stdout and restrict the
log view to stuff useful to the user.
2023-03-01 20:12:18 +01:00
de072fd0c4
feat(dtmm): Save the mod list
...
Closes #9 .
2023-03-01 19:51:28 +01:00
baf4bed3bd
chore: Update serde_sjson
2023-03-01 19:49:05 +01:00
16a785dc5b
feat(dtmm): Avoid allocations in settings
2023-03-01 14:38:04 +01:00
14385d56e1
refactor(dtmm): Reorder imports
2023-03-01 14:19:53 +01:00
4d632d9119
feat(dtmm): Rename reset button
2023-03-01 14:16:36 +01:00
e6c9fe834c
feat(dtmm): Save settings to config file
...
Closes #18 .
2023-03-01 14:13:11 +01:00
55335c0fdc
refactor(dtmm): Split controller files
2023-03-01 10:40:34 +01:00
be1cff9f3c
feat(dtmm): Move class and require hooks into early loading
...
These need to be executed as early as possible if they're supposed to
capture all of their respective calls.
2023-03-01 00:20:45 +01:00
f0450285ad
fix(dtmm): Fix deleting mods preventing deployment
2023-02-28 23:31:00 +01:00
e2043aa502
fix(dtmm): Fix incorrect DMF resource names
2023-02-28 23:30:27 +01:00
464face3a8
fix(dtmm): Reset settings file
2023-02-28 21:28:14 +01:00
7c7b9b5890
fix(dtmm): Fix resetting mods
2023-02-28 21:18:32 +01:00
d5687ccae4
feat(dtmm): Add padding to log view
2023-02-28 19:41:38 +01:00
02fd400912
feat(dtmm): Increase textbox size in settings view
...
Ref: #16 .
2023-02-28 19:24:19 +01:00
783e0b8de1
feat(dtmm): Remove about tab
...
There's not much info to show here, really.
Ref: #16 .
2023-02-28 18:29:13 +01:00
a1a7e9a26e
fix(dtmm): Fix disabled state of deployment buttons
2023-02-28 16:09:47 +01:00
91020c02e1
feat(dtmm): Improve mod details pane UI
...
Closes : #14 .
2023-02-28 15:55:46 +01:00
e88bc7fb9b
feat(dtmm): Improve mod list visuals
...
- add checkbox for enable/disable
- highlight the selected mod
- adding visual spacing
- add alternating row background color
Ref: #15 .
2023-02-28 14:24:33 +01:00
d208c51cb4
feat(dtmm): Automatically scroll log view
2023-02-28 11:28:53 +01:00
f7627c091b
fix(dtmm): Fix scrolling log view
2023-02-28 11:05:15 +01:00
e5a72731dd
refactor(dtmm): Split files into smaller modules
2023-02-28 10:03:56 +01:00
7a063d070d
chore: Update crates
2023-02-28 09:07:08 +01:00
3895ab12d6
feat(dtmm): Implement log view
...
Ref: #7 .
2023-02-27 16:32:29 +01:00
bb671c5fd2
feat: Add button to reset mod deployment
...
For now this merely recovers backed-up game files and leaves mod bundles
in-tact. The game doesn't care about those anyways.
Closes #8 .
2023-02-27 11:15:51 +01:00
c5b2e136fa
feat(dtmm): Improve mod main logging
2023-02-25 19:33:38 +01:00
c9cfb7d415
fix(dtmm): Fix mod loader GUI
...
The final puzzle piece for mod loading, at least on DTMM's side.
Closes #28 .
2023-02-25 19:33:31 +01:00
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
7c36299477
fix(sdk): Fix bundle names in archive file index
2023-02-25 16:41:42 +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
1d26a5c113
fix(sdk): Fix generating Lua file names during compilation
2023-02-25 16:28:21 +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
0b17e8edf5
fix(sdk): Fix generating bundle name from file path
2023-02-25 16:07:16 +01:00
93c8f4fe9c
fix(sdk): Add missing value in Package binary format
...
After digging through the VT2 SDK `.exe`, I found that `.package` files
(`stingray::ResourcePackageResource`) actually have more data than I
originally knew about. Most notably, there is a 1 byte `flags` value
that is written at the end of every package file.
Depending on what value those flags have, more data could come after it,
but in most cases, it's just that one byte, which I must have missed in
the binary.
Ref: #28 .
Ref: #36 .
2023-02-25 13:57:37 +01:00
b9cd9ed5de
chore(sdk): Add debugging for unknown value in bundle database
...
Ref #28 .
2023-02-25 12:58:21 +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
733ade3887
fix(sdk): Fix resolving package wildcards
...
Directories were ignored as invalid extension type. Now they are
recursed into.
2023-02-24 14:59:28 +01:00
79729cad02
chore: Update serde_sjson
2023-02-24 11:52:47 +01:00