a2bbab1398
Update dependencies
lint/clippy Checking for common mistakes and opportunities for code improvement
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
2024-08-21 14:33:39 +02:00
df2992a476
Improve mod template comments
lint/clippy Checking for common mistakes and opportunities for code improvement
build/linux Build for the target platform: linux
build/msvc Build for the target platform: msvc
2024-08-20 16:28:56 +02:00
e336240094
Consilidate template libraries
...
Remove last uses of `string_template` in favor of `minijinja`.
Closes #124 .
2024-08-20 16:28:08 +02:00
d931e6b9ca
dtmt: Add command to search for files
...
lint/clippy Checking for common mistakes and opportunities for code improvement
build/linux Build for the target platform: linux
build/msvc Build for the target platform: msvc
Not really of much use at the moment, but inspired by the HD2 community.
2024-07-28 22:04:14 +02:00
7fa08c2efd
dtmt: Implement listing bundle database contents
2024-07-28 22:03:43 +02:00
c997489e18
Add some doc comments
2024-07-19 09:48:23 +02:00
edad0d4493
Improve file listing output
...
Adds pretty printing for file size and always shows the bundle hash name
2024-07-19 09:48:20 +02:00
95fc6c160b
dtmt: Implement name overrides
...
lint/clippy Checking for common mistakes and opportunities for code improvement
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
For most of the game files, we don't know the actual name, only the hash
of that name. To still allow building bundles that contain files with
that name (e.g. to override a game file with a custom one), there needs
to be a way to tell DTMT to name a file such that its hash is the same
as the one in the game.
The initial idea was to just expect the file name on disk to be the
hash, but that wouldn't allow for arbitrary folder structures anymore.
So instead, there is now a new, optional setting in `dtmt.cfg`, where
the modder can map a file path to an override name.
2024-07-18 09:50:48 +02:00
b8ac80562a
Update zip
2024-07-09 16:16:37 +02:00
4bc5777a4b
Update notify
2024-05-15 20:04:47 +02:00
ae30499a49
Remove unused dependency
2024-05-15 19:19:54 +02:00
bac75e1c9a
Update confy
2024-05-15 18:58:08 +02:00
535a30a7ca
Add simpler shell parser
...
This obsoletes `shlex`. The quoting turned out unnecessary, and the
splitting supported a lot more than we need. It also forced
unncessary allocations: The splitting doesn't add any characters and
keeps UTF-8 intact, so returning slices from the input is perfectly
possible.
Though this particular implementation will only come to use in the
future, as `CmdLine` still requires that the slices are cloned.
Still, the custom implementation performs about 3x faster.
2024-05-15 16:32:44 +02:00
bd6c236655
Implement deploying non-bundled mods
...
Closes #113 .
2023-11-24 11:52:47 +01:00
871a54020e
Apply formatting
2023-11-24 11:52:47 +01:00
1eae146721
Add mod config option for loose files
...
Just the field in the config file, for now.
2023-11-24 11:52:47 +01:00
7080dcb8de
sdk: Use common ljd flags
lint/clippy Checking for common mistakes and opportunities for code improvement
build/linux Build for the target platform: linux
build/msvc Build for the target platform: msvc
2023-10-30 14:07:00 +01:00
93db78d58f
sdk: Implement decompiling Lua
...
Closes #48 .
2023-10-30 09:28:07 +01:00
2014c3b187
feat(dtmt): Fail early in mod migration
2023-03-28 20:54:23 +02:00
e48ef539b1
feat(dtmt): Implement mod migration utility
...
Closes #87 .
2023-03-28 20:52:11 +02:00
597bc77464
chore: Fix clippy warnings
2023-03-28 20:49:31 +02: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
6513ee5976
fix(dtmt): Fix parameter being positional
...
Fixes #77 .
2023-03-16 17:53:57 +01:00
8cf08e0738
feat(dtmt): Implement watch command
...
Closes #61 .
2023-03-09 21:29:18 +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
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
fb88388acf
fix(dtmt): Fix extracting files with non-flattened file names
...
Fixes #51 .
2023-03-06 09:26:24 +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
6cf4bb42c6
fix(dtmm): Prevent opening an empty console host
...
Fixes #44 .
2023-03-02 22:16:54 +01:00
905bbf0018
Revert "fix: Remove obsolete CLI parameter"
...
This reverts commit 22ea4d75a1
.
2023-03-02 16:17:40 +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
865dcae439
feat(dtmt): Add parameter to deploy built bundles
...
Ref: #40 .
2023-03-02 11:38:08 +01:00
5df3aa1cb7
feat(dtmt): Split build command
...
Closes #40 .
2023-03-02 10:55:23 +01:00
22ea4d75a1
fix: Remove obsolete CLI parameter
...
With Oodle being linked statically, there is no need for a parameter to
speficy the library location.
2023-03-02 08:52:49 +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
45da42908b
docs: Add split READMEs
...
Closes #17 .
2023-03-01 22:14:31 +01:00
7c36299477
fix(sdk): Fix bundle names in archive file index
2023-02-25 16:41:42 +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
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
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
bc4d2fcd8a
feat(dtmt): Add unique mod ID
2023-02-22 16:08:32 +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
560e5496bc
feat(dtmm): Implement importing mod archives
2023-02-20 16:39:13 +01:00