Commit graph

17 commits

Author SHA1 Message Date
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
a246e5acb6
feat(dtmm): Log to file 2023-04-06 14:49:43 +02:00
c4425f5b6b
fix(dtmm): Trim whitespace in log lines 2023-04-05 13:44:30 +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
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
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
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
13d36c4947
feat(dtmm): Add Nexus API key setting 2023-03-15 17:01:26 +01:00
978701bed8
feat(dtmm): Implement mod logo
Closes #15.
2023-03-09 20:07:22 +01:00
658d996315
feat(dtmm): Implement error dialog
Closes #37.
2023-03-08 20:40:25 +01:00
ba9c190a96
fix(dtmm): Fix change detection for mod info 2023-03-06 16:02:39 +01:00
3252e66a3f
feat(dtmm): Add indicator when a deployment is necessary
Closes #32.
2023-03-03 14:35:35 +01:00
de072fd0c4
feat(dtmm): Save the mod list
Closes #9.
2023-03-01 19:51:28 +01:00
e6c9fe834c
feat(dtmm): Save settings to config file
Closes #18.
2023-03-01 14:13:11 +01:00
f0450285ad
fix(dtmm): Fix deleting mods preventing deployment 2023-02-28 23:31:00 +01:00
e5a72731dd
refactor(dtmm): Split files into smaller modules 2023-02-28 10:03:56 +01:00