Commit graph

371 commits

Author SHA1 Message Date
ec578f4953
Update CI image
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
Updates for
- Rust
- LLVM
- Xwin
2024-05-15 15:30:54 +02:00
86ed5c327f
Update crates
All checks were successful
build/msvc Build for the target platform: msvc
lint/clippy Checking for common mistakes and opportunities for code improvement
build/linux Build for the target platform: linux
`steamlocate` changed its API again.
`shlex` deprecated `quote`, but that will be addressed later.
2024-05-15 13:41:44 +02:00
cfee6d9121
Fix clippy lints 2024-05-15 13:41:42 +02:00
4ad30a8a12
Update color-eyre
We no longer need to patch `ansi-parser`.
2024-05-13 16:31:58 +02:00
6edd8e92c9 Merge pull request 'dtmm: Replace icon for mod update notification' (#165) from feat/upload-icon into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #165
2023-12-05 14:39:37 +01:00
103775e032
dtmm: Replace icon for mod update notification
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
Closes #158.
2023-12-05 14:28:12 +01:00
1bc0fe28fb Merge pull request 'dtmm: Extend NexusInfo' (#163) from feat/nexus-info into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #163
2023-12-05 13:15:33 +01:00
169f4deea9 Merge pull request 'dtmm: Enforce skipping packages for non-bundled mods' (#162) from issue/non-bundled-packages into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #162
2023-12-05 10:45:17 +01:00
a0791cba41
dtmm: Extend NexusInfo
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 provides forward compatibility, in case I ever want to use those
fields. If I only added them at the time when they are needed, I would
need to come up with a process to load the `nexus.sjson` with missing
fields.

Closes #130.
2023-12-05 10:40:29 +01:00
5f5d46ffa7 Merge pull request 'Add link to open mod on Nexus' (#160) from feat/nexus-link into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #160
2023-12-05 10:13:06 +01:00
52a19e771c Merge pull request 'Use Nexus mod name when available' (#159) from issue/mod-title-details-pane into master
Reviewed-on: #159
2023-12-05 10:12:56 +01:00
0fb10d9d69
dtmm: Enforce skipping packages for non-bundled mods
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
Fixes #161.
2023-12-05 10:11:51 +01:00
57771617ff
dtmm: Add link to open mod on Nexus
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
Closes #157.
2023-12-04 16:48:18 +01:00
5278041ddb
Use Nexus mod name when available
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
Fixes #154.
2023-12-04 13:40:00 +01:00
52959a3d5d Merge pull request 'Handle NXM URIs' (#150) from feat/nexus-uri-handler into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #150
2023-12-01 09:22:08 +01:00
4c6ad1aaed
Reduce debug verbosity
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
Prevent binary buffers inflating the log output.
2023-11-30 18:11:53 +01:00
031c03480d
dtmm: Add .desktop file
A basic Desktop Entry file for the Linux, which includes the
configuration for the `nxm://` scheme handling.
2023-11-30 17:50:48 +01:00
6f848bb837
dtmm: Implement NXM URI handler
Closes #31.
2023-11-30 17:50:07 +01:00
6c511a30f4 Merge pull request 'Fetch file version from Nexus' (#147) from feat/nexus-file-version into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #147
2023-11-29 18:53:13 +01:00
5bcc4b8c70
Merge branch 'master' into feat/nexus-file-version
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
* master:
  dtmm: Fix writing Nexus image to disk
  dtmm: Fix importing from `.mod` file
  ci: Combine Dockerfiles into multi-stage build
  ci: Rework MSVC image building
  ci: Fix base pipeline
  ci: Improve caching setup for image building
  ci: Create build artifacts for commits on master
  ci: Fix undefined variable
  Add changelog entry
  dtmm: Fetch mod image from Nexus
2023-11-29 15:42:00 +01:00
dce9f493a2 Merge pull request 'Fetch mod image from Nexus' (#146) from feat/nexus-cover-image into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #146
2023-11-29 15:39:11 +01:00
a0fe5d3f81
nexusmods: Fix File type
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-11-29 15:37:37 +01:00
2ad3fd0fc1
dtmm: Fix importing from .mod file 2023-11-29 15:31:05 +01:00
61e78e9718
dtmm: Fix writing Nexus image to disk
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-11-29 15:21:34 +01:00
b3305e87b8
dtmm: Fix importing from .mod file 2023-11-29 15:21:07 +01:00
335a0a472b Merge pull request 'Improve CI' (#153) from feat/ci into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #153
2023-11-28 23:44:42 +01:00
4be37f6e5e
ci: Combine Dockerfiles into multi-stage build
All checks were successful
build/msvc Build for the target platform: msvc
lint/clippy Checking for common mistakes and opportunities for code improvement
build/linux Build for the target platform: linux
Closes #134.
2023-11-28 23:23:09 +01:00
3555fc83d2
ci: Rework MSVC image building
This moves process of downloading and setting up the Windows libraries
to a separate build step, freeing up the layers of the final image.
2023-11-28 21:53:33 +01:00
227dff03ef
ci: Fix base pipeline
Concourse doesn't allow variables to be undefined.
2023-11-28 21:52:55 +01:00
d95f5dfe1f
ci: Improve caching setup for image building
The `RUN --mount` flag is much easier to maintain than having to set up
all the crates.
2023-11-28 21:51:29 +01:00
129e6dcf96 Merge pull request 'Build artifacts for master' (#151) from feat/ci into master
All checks were successful
build/msvc Build for the target platform: msvc
build/linux Build for the target platform: linux
Reviewed-on: #151
2023-11-28 11:54:20 +01:00
b64ff9043c
ci: Create build artifacts for commits on master
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-11-27 16:12:41 +01:00
316a5aaa33
ci: Fix undefined variable 2023-11-27 16:12:11 +01:00
edd363c3a6
Add changelog entry
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-11-27 15:40:03 +01:00
440d0f505b
Add changelog entry
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-11-27 15:38:40 +01:00
246564d00f
Fetch file version from Nexus
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
When importing an archive file downloaded from Nexus, the file name does
include a version field. But, presumably for compatibility reasons,
Nexus replaces special characters with `-`, so that this field doesn't
match common schemes like `1.0.0`.
So instead we use the also included update timestamp to find the
corresponding file info from Nexus and use the version data from that.

Closes #131.
2023-11-24 13:54:19 +01:00
0b3c92d19e
dtmm: Fetch mod image from Nexus
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
Closes #129.
2023-11-24 13:06:55 +01:00
12e01075d9 Merge pull request 'Implement non-bundled mods' (#125) from feat/loose-files into master
Some checks are pending
build/linux Build for the target platform: linux
build/msvc Build for the target platform: msvc
Reviewed-on: #125
2023-11-24 11:52:47 +01:00
8ecca087de dtmm: Use dtmt.cfg for non-bundled mods
Closes #144.
2023-11-24 11:52:47 +01:00
845b0114bb Delay mod loading
The initial implementation of DML ended up loading mods quite late,
which did give it the benefit of all `Manager`s being available.
This change therefore moves mod loading until after those are
initialized.

But contrary to old DML, we still create a separate game state to make
sure the game doesn't advance until mods are loaded. This avoids race
conditions like the one where LogMeIn needs to come early in the load
order.
2023-11-24 11:52:47 +01:00
7a9b3aa561 Prevent excessive debug logs 2023-11-24 11:52:47 +01:00
3cbf383b18 Use version number from Nexus import
Non-bundled mods come without a `dtmt.cfg`, and therefore without a
version number. But we need a version number at import to compare to
for the Nexus update check.
2023-11-24 11:52:47 +01:00
a228ea4652 Use mod name from Nexus if necessary
Non-bundled mods come without `dtmt.cfg` and therefore no way to
provide a user friendly name. Similar to the other fields, use the one
from Nexus in that case.
2023-11-24 11:52:47 +01:00
6c94723995 Fix Nexusmods API key not being loaded from config 2023-11-24 11:52:47 +01:00
3af631348d Fix missing Mods.original_require 2023-11-24 11:52:47 +01:00
13e77a2097 Use template engine to build mod_data.lua
The string-building version became too complex to maintain properly.
2023-11-24 11:52:47 +01:00
15498cc2e0 Move deployment directory for legacy mods
This moves it back to its original place at `$game_dir/mods`.
2023-11-24 11:52:47 +01:00
bd6c236655 Implement deploying non-bundled mods
Closes #113.
2023-11-24 11:52:47 +01:00
e633a571b5 Apply clippy lints 2023-11-24 11:52:47 +01:00
871a54020e Apply formatting 2023-11-24 11:52:47 +01:00