Commit graph

88 commits

Author SHA1 Message Date
1887cdf2ef
fix(sdk): Fix creating invalid bytecode
An update to LuaJIT made an option enabled by default that changed the
bytecode output.

Fixes #99.
2023-04-06 12:17:16 +02:00
f30608e6f1
feat(dtmm): Enable colors for regular log lines 2023-04-05 14:48:23 +02:00
e48ef539b1
feat(dtmt): Implement mod migration utility
Closes #87.
2023-03-28 20:52:11 +02:00
0e9903bd6b Merge pull request 'Improve deployment after game update' (#92) from feat/deployment-improvements into master
Reviewed-on: #92
2023-03-28 20:50:27 +02:00
597bc77464
chore: Fix clippy warnings 2023-03-28 20:49:31 +02:00
4f99fdb5b0
feat(dtmm): Improve error dialog visuals
Closes #62.
2023-03-28 14:45:21 +02:00
a0166f07ff
fix(ci): Fix linking on Linux 2023-03-23 15:32:33 +01:00
e2a285a739
feat: Add Docker images for CI compilation 2023-03-23 13:42:03 +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
b64aea684c
chore: Update serde_sjson 2023-03-15 21:31:38 +01:00
1c470b51f8
fix(dtmm): Fix fetching endorsed mods 2023-03-15 17:53:03 +01:00
2fb0d8fb72
feat(nexusmods): Implement NXM URI parsing 2023-03-15 17:06:58 +01:00
d4d1d52f45
feat(nexusmods): Implement parsing download file names
When downloading manually from Nexus, the file name encodes information
needed to map the file to the mod object.
2023-03-15 17:06:27 +01:00
2452f9b4ab
feat(nexusmods): Implement additional endpoints 2023-03-15 17:05:58 +01:00
5ca1ca3506
feat(nexusmods): Start API implementation 2023-03-15 17:04:59 +01:00
888c3e900a
chore: Update crates 2023-03-10 11:36:45 +01:00
978701bed8
feat(dtmm): Implement mod logo
Closes #15.
2023-03-09 20:07:22 +01:00
65c0974de2
feat(dtmm): Add additional details fields
Ref: #15.
2023-03-09 14:52:40 +01:00
4995190199
feat(dtmm): Check mod order
Closes #13.
2023-03-09 11:57:08 +01:00
6b168bad6b
fix(dtmm): Fix game directory check when there is no Steam
Fixes #60.
2023-03-09 11:54:31 +01:00
308613d5fc
feat(dtmt): Improve error messages when compiling Lua
Fixes #58.
2023-03-08 21:27:29 +01:00
a8db19cf9f
refactor: Capitalize error messages 2023-03-08 20:40:30 +01:00
2d48b96dc1
feat(dtmm): Check Steam update before deployment
Closes #35.
2023-03-06 16:07:43 +01:00
3a85fdeb16
feat(dtmm): Locate Steam installation 2023-03-06 16:07:15 +01:00
14406ecae9
fix(dtmm): Use a well-known format to serialize timestamps 2023-03-06 16:07:14 +01:00
4a1e88987c
fix: Force unix path separators for engine values
The engine, and therefore the SDK, too, use unix path separators.
However, on Windows, `PathBuf` automatically produces backslashes.

Fix #46.
2023-03-03 17:36:53 +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
638b081cb7
version: dtmt v0.3.0, dtmm v0.1.0 2023-03-01 22:29:27 +01:00
d08321a645
feat(sdk): Switch to statically linked Oodle
This removes another runtime dependency.
2023-03-01 22:14:31 +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
baf4bed3bd
chore: Update serde_sjson 2023-03-01 19:49:05 +01:00
3895ab12d6
feat(dtmm): Implement log view
Ref: #7.
2023-02-27 16:32:29 +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
79729cad02
chore: Update serde_sjson 2023-02-24 11:52:47 +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
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
0cf2908904
fix(sdk): Fix resolving package wildcards
Directories were ignored as invalid extension type. Now they are
recursed into.
2023-02-22 16:37:07 +01:00
bc4d2fcd8a
feat(dtmt): Add unique mod ID 2023-02-22 16:08:32 +01:00
8ebc948252
refactor: Make function parameters more generic 2023-02-22 16:01:14 +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
a81fb7c021
chore: Update lib/serde_sjson 2023-02-20 16:39:10 +01:00
e65579d8aa
feat(dtmm): Implement rudimentary mod deployment 2023-02-18 10:20:10 +01:00