Commit graph

430 commits

Author SHA1 Message Date
e42ab9c1ff Merge pull request 'feat(dtmm): Guard certain Lua libraries behind a setting' (#114) from feat/unsafe-lualibs into master
Reviewed-on: #114
2023-04-25 16:52:29 +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
af6c2e9f82 Merge pull request 'Fix compiling Lua on Windows' (#111) from issue/110 into master
Reviewed-on: #111
2023-04-09 14:43:17 +02:00
93388a6299
fix(sdk): Fix compiling Lua on Windows
The previous fix when the compiled bytecode wasn't accepted by the game
did work fine for Linux. But apparently on Windows, it procudes a stack
overflow when attempting to open a Lua state.

This reverts LuaJIT to a commit from 2019, which is quite old, but does
work. Further investigation is needed to determine if or how never
versions of LuaJIT could be used.

Fixes #110.
2023-04-09 14:37:07 +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
15c61fa67f
feat: Run build commands as user
This stops docker from creating build files as root, which in turn
require root permissions to clean.
2023-04-09 14:32:21 +02:00
4406a68d8a Merge pull request 'Skip mods folder in dtkit reset' (#108) from issue/107 into master
Reviewed-on: #108
2023-04-09 09:59:57 +02:00
7f5da1e09c
fix(dtmm): Skip mods folder in dtkit reset
Fixes #107.
2023-04-09 09:59:06 +02:00
a1edef3b6f Merge pull request 'Improve logging' (#106) from feat/log-file into master
Reviewed-on: #106
2023-04-06 14:56:07 +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
9ab92499a8 Merge pull request 'Fix ANSI color parsing' (#105) from feat/color-log into master
Reviewed-on: #105
2023-04-06 13:04:14 +02:00
7567c41143
fix(dtmm): Fix ANSI color parsing 2023-04-06 13:00:30 +02:00
f1d6912a90 Merge pull request 'Fix creating invalid bytecode' (#104) from issue/99 into master
Reviewed-on: #104
2023-04-06 12:23:55 +02:00
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
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
93e521f03a Merge pull request 'feat(ci): Add Dockerfiles to build locally' (#103) from feat/ci into master
Reviewed-on: #103
2023-04-05 20:33:10 +02:00
64c35a62a9
feat(ci): Add Dockerfiles to build locally 2023-04-05 20:22:29 +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
e0f4384424 Merge pull request 'Improve and extend CI pipelines' (#96) from feat/ci into master
Reviewed-on: #96
2023-04-05 16:27:51 +02:00
c1f4cd67ec Merge pull request 'Colorize log output' (#97) from feat/color-log into master
Reviewed-on: #97
2023-04-05 16:27:25 +02:00
c63aee4aef
feat(ci): Parameterize build task output
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
Potentially useful when using the task for release artifact building
later.
2023-04-05 15:46:29 +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
e4dae5bf30
fix(ci): Remove debug value
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
2023-03-30 11:22:07 +02:00
feff4b83be
feat(ci): Implement pipeline for PRs
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
This includes using Gitea's Commit Status API to add checks to the PR
UI.
2023-03-30 10:42:00 +02:00
5302eb6200 Merge pull request 'Deployment improvements' (#93) from feat/deployment-improvements into master
Reviewed-on: #93
2023-03-28 21:38:43 +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
cac35c476c Merge pull request 'Migration tools' (#89) from feat/mod-migration into master
Reviewed-on: #89
2023-03-28 21:13:52 +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
852030674c Merge pull request 'Improve error dialog visuals' (#91) from feat/error-dialogs into master
Reviewed-on: #91
2023-03-28 20:50:14 +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
a2814bfd20 Merge pull request 'feat(ci): Add base pipeline' (#85) from feat/cross-compile into master
Reviewed-on: #85
2023-03-23 19:34:45 +01:00
5f9ec0f0b2 Merge pull request 'Implement CI' (#83) from feat/cross-compile into master
Reviewed-on: #83
2023-03-23 19:30:13 +01:00
46faebe79a
feat(ci): Add base pipeline
This is the pipeline that monitors for branches and starts the actual
pipeline(s) for each of them.
2023-03-23 19:25:20 +01:00
4929b3f201
feat(ci): Add basic pipeline 2023-03-23 19:17:07 +01:00
8b70eba79e
feat(ci): Add tasks to build in CI 2023-03-23 18:01:31 +01:00
25a11bb79e
feat(ci): Use HTTPS URLs for submodules
This saves setting up SSH access for the CI pipeline.
2023-03-23 16:49:56 +01:00