Commit graph

49 commits

Author SHA1 Message Date
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
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
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
a4c6ba731a
feat: Add config file 2022-12-10 17:12:23 +01:00
87bfcf68cb
chore: Disable unimplemented commands 2022-12-10 12:43:06 +01:00
a76ea165ac
fix: Fix running out of file handles
Fixes #1.
2022-12-10 12:37:35 +01:00
78eb25368c
refactor: Apply clippy suggestions 2022-12-06 21:53:52 +01:00
905734019e
feat: Implement decompilation for package files 2022-11-25 16:17:35 +01:00
987a6ade9b
chore: Turn project structure into workspace 2022-11-18 10:44:01 +01:00