Commit graph

178 commits

Author SHA1 Message Date
7080dcb8de
sdk: Use common ljd flags
Some checks failed
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
70e22e1dfb
Assign mod loader as global manager 2023-08-30 01:36:46 +02:00
6ef4c2e094
refactor: Format Lua code 2023-07-22 14:39:51 +02:00
9b8f07d125
fix: Fix FFI import 2023-07-22 14:39:35 +02:00
707a3ead8b
feat(dtmm): Guard certain Lua libraries behind a setting
All checks were successful
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
Libraries like `io`, `os` and `ffi` allow practically unrestricted
access to the system's files and running arbitrary operations.
The base game removes them for this reason, and while we don't want to
disable them permanently, very few mods should ever have a need for
them.

So we hide them behind a setting, worded so that people only enable it
when absolutely needed.

Closes #112.
2023-04-24 16:45:49 +02:00
690098d7c7
feat(dtmm): Improve debug logging
This re-enables stdout/stderr logging for release binaries for DTMM.
As a GUI application, it usually won't be started from a CLI, and there
should be no negative impact from that.
But since stdout logging is synchronous and much faster than the async
action that writes to the log file, it might get to log more when the
application panics.
2023-04-09 14:33:55 +02:00
7f5da1e09c
fix(dtmm): Skip mods folder in dtkit reset
Fixes #107.
2023-04-09 09:59:06 +02:00
ebe8966c26
feat(dtmm): Add log level option
Closes #12.
2023-04-06 14:54:46 +02:00
a246e5acb6
feat(dtmm): Log to file 2023-04-06 14:49:43 +02:00
7567c41143
fix(dtmm): Fix ANSI color parsing 2023-04-06 13:00:30 +02:00
f337053314 Merge pull request 'Fix creating default config' (#100) from issue/98 into master
Reviewed-on: #100
2023-04-05 21:26:02 +02:00
c08b3e4903 Merge pull request 'Fix deployment deleting too many bundles' (#102) from issue/101 into master
Reviewed-on: #102
2023-04-05 16:28:15 +02:00
c25ea89055
fix(dtmm): Fix deployment deleting too many bundles
Fixes #101.
2023-04-05 15:36:47 +02:00
01b1428b38
fix(dtmm): Fix updating log view 2023-04-05 14:48:38 +02:00
f30608e6f1
feat(dtmm): Enable colors for regular log lines 2023-04-05 14:48:23 +02:00
c4425f5b6b
fix(dtmm): Trim whitespace in log lines 2023-04-05 13:44:30 +02:00
c7ec318e83
chore(dtmm): Remove debug logs 2023-04-05 13:42:16 +02:00
82e9361e1a
fix(dtmm): Fix creating default config
Fixes #98.
2023-04-05 11:13:41 +02:00
50a6a1c927
feat(dtmm): Colorize log output
Parses ANSI codes generated by tracing/color-eyre into druid's RichText
attributes.
2023-04-05 09:38:32 +02:00
e460de043a
chore(dtmm): Vendor icons
Closes #86.
2023-03-28 21:34:16 +02:00
dbbfa6c9ae
fix(dtmm): Fix re-creating boot bundle backup 2023-03-28 21:18:24 +02:00
2014c3b187
feat(dtmt): Fail early in mod migration 2023-03-28 20:54:23 +02:00
21d95e492c
feat(dtmm): Improve reset logging 2023-03-28 20:54:22 +02:00
288adf356b
feat(dtmm): Implement resetting dtkit-patch installations
Closes #88.
2023-03-28 20:54:20 +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
f50a97ff16
feat(dtmm): Improve deployment after game update
Usually the backup created by the first deployment is used for a clean
file to make further deployments from, but when the game is updated,
that is reversed, as now the original file is newer than the backup.

In such a case, we first copy the new file to our backup before
continuing with the deployment.

The current implementation is not fool-proof (e.g. it'll do weird stuff
if users mess with the files manually) and doesn't cover everything. But
it should be enough for the regular use case.

Closes #90.
2023-03-28 15:26:15 +02:00
4f99fdb5b0
feat(dtmm): Improve error dialog visuals
Closes #62.
2023-03-28 14:45:21 +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
9428b076f0
feat(dtmm): Delay initial load
Delays the loading of the configuration file and mod data, so that
any error can be shown in the UI.

Closes #72.
2023-03-16 14:31:53 +01:00
281678ae7b Merge pull request 'Disable update check button when there is no API key' (#74) from issue/71 into master
Reviewed-on: #74
2023-03-16 14:28:58 +01:00
b23dd91e17 Merge pull request 'Improve error dialog window' (#75) from issue/70 into master
Reviewed-on: #75
2023-03-16 14:28:35 +01:00
04f76e38e0
feat(dtmm): Improve error dialog window
Druid doesn't yet implement options necessary to create a "standard"
message dialog. So for now, we'll have to approximate that with what
we've got.

Fixes #70.
2023-03-16 11:41:51 +01:00
272f4ef016
fix(dtmm): Prevent logging from causing state changes
The log view itself still works correctly, as it is lensed onto the
field. But ignoring log from general Data comparisons prevents it
generating state changes.

This also removes the log for unknown commands. In practice, missing to
implement a command hasn't been an issue.
2023-03-16 10:00:09 +01:00
705ecd8b59
feat(dtmm): Add tooltip to update button
Fixes #71.
2023-03-16 09:56:27 +01:00
60780656cf
fix(dtmm): Disable update check when there is no API key
Ref: #71.
2023-03-16 09:19:40 +01:00
81a9e068a6
feat(dtmm): Select accent color
As voted, though with rather poor participation.
2023-03-15 21:42:42 +01:00
146714d882
feat(dtmm): Use Nexus mod details when available 2023-03-15 19:46:53 +01:00
6a52f3efc2
feat(dtmm): Improve update icon 2023-03-15 19:37:47 +01:00
e434535d96
WIP more nexus mod details 2023-03-15 17:53:04 +01:00
ac44883199
refactor(dtmm): Remove unused field 2023-03-15 17:53:00 +01:00
8edb8b357e
feat(dtmm): Implement rudimentary update check
The UI for it is rather ugly, still, but it works.
2023-03-15 17:52:55 +01:00
c7203127bb
feat(dtmm): Implement importing Nexus downloads
For now, this merely parses and retains the API information encoded in
the archive's file name.
2023-03-15 17:07:01 +01:00
13d36c4947
feat(dtmm): Add Nexus API key setting 2023-03-15 17:01:26 +01:00
01f1e1724a
feat(dtmm): Adjust icon spacing 2023-03-15 16:45:13 +01:00
c38909db22
feat(dtmm): Add section borders
This implements a new container widget that allows separate widths and
colors for each border side.
2023-03-15 16:24:08 +01:00
4c33741b03
feat(dtmm): Implement gruvbox dark theme 2023-03-15 10:31:21 +01:00