Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
cab60e0
Prepare UI animation optimizations
astrovm Jul 24, 2026
e9f5366
Optimize UI animations
github-actions[bot] Jul 24, 2026
93921e3
Polish UI animation optimizations
astrovm Jul 24, 2026
e784041
Polish UI animation optimizations
github-actions[bot] Jul 24, 2026
6a293c3
Capture clippy diagnostic
astrovm Jul 24, 2026
eb409f5
Capture clippy diagnostic
github-actions[bot] Jul 24, 2026
e95723e
Fix UI animation compilation
astrovm Jul 24, 2026
ba2acff
Fix UI animation compilation
github-actions[bot] Jul 24, 2026
bb1c50c
Use responsive card easing
astrovm Jul 24, 2026
9f5a608
Capture current clippy diagnostic
astrovm Jul 24, 2026
e5f79ec
Capture current clippy diagnostic
github-actions[bot] Jul 24, 2026
12e1f13
Refactor cached mod previews
astrovm Jul 24, 2026
694f2dd
Run mod preview refactor
astrovm Jul 24, 2026
1349b5c
Apply mod preview refactor
astrovm Jul 24, 2026
020b68d
Capture refactor diagnostic
astrovm Jul 24, 2026
32c8a6b
Capture mod preview refactor result
github-actions[bot] Jul 24, 2026
15d66a6
Remove refactor diagnostic
astrovm Jul 24, 2026
a6fb139
Capture final clippy diagnostic
astrovm Jul 24, 2026
eff580e
Capture final clippy diagnostic
github-actions[bot] Jul 24, 2026
e78b142
Fix mod preview clippy lints
astrovm Jul 24, 2026
f0e8eff
Apply precise mod preview cleanup
astrovm Jul 24, 2026
cabde81
Correct mod preview cleanup
astrovm Jul 24, 2026
ae85a7c
Capture preview cleanup trace
astrovm Jul 24, 2026
9fe22e5
Capture preview cleanup trace
github-actions[bot] Jul 24, 2026
151338d
Apply exact mod preview cleanup
astrovm Jul 24, 2026
99b9acb
Fix mod preview clippy lints
github-actions[bot] Jul 24, 2026
7424811
Clarify UI responsiveness release notes
astrovm Jul 24, 2026
ea96daf
Fix UI optimization review issues
astrovm Jul 24, 2026
81cef2e
Initialize setup content hidden
astrovm Jul 24, 2026
16bc8b6
Clarify setup transition release note
astrovm Jul 24, 2026
5f8e731
Format UI review fixes
astrovm Jul 24, 2026
46fafca
Format UI review fixes
github-actions[bot] Jul 24, 2026
e958b41
Clarify setup fade release note
astrovm Jul 24, 2026
33c412b
Fix setup fade races and coalesce download progress
astrovm Jul 24, 2026
bd6d4f9
Add make flatpak for local Devel installs
astrovm Jul 24, 2026
b901b0a
Prefer CLI wording in the README
astrovm Jul 24, 2026
c869122
Speed up setup step transitions with fade-in only
astrovm Jul 24, 2026
ebb40a4
Center README CLI docs on interactive setup
astrovm Jul 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "adventure-mods"
version = "0.3.11"
version = "0.3.12"
edition = "2024"
license = "MIT"

Expand Down
11 changes: 10 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
.PHONY: appimage
.PHONY: appimage flatpak

# Local Flatpak install (Devel by default). Override for a production build:
# make flatpak FLATPAK_MANIFEST=build-aux/io.github.astrovm.AdventureMods.json
FLATPAK_BUILD_DIR ?= build
FLATPAK_MANIFEST ?= build-aux/io.github.astrovm.AdventureMods.Devel.json

appimage:
./build-aux/appimage/build-container.sh

flatpak:
flatpak-builder --force-clean --user --install-deps-from=flathub --install \
$(FLATPAK_BUILD_DIR) $(FLATPAK_MANIFEST)
44 changes: 19 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,56 +66,46 @@ Running without a subcommand launches the GUI. Pass a subcommand for CLI mode.

</details>

## Command line (optional)
## CLI (optional)

<p align="center">
<img src="data/screenshots/cli.png" alt="CLI" width="600">
</p>

The graphical app is recommended for most users. Use the command line for automation or non-interactive setup.

Run a command through the installed Flatpak:
The graphical app is recommended for most users. From a terminal, the usual entry point is the interactive setup wizard:

```sh
flatpak run io.github.astrovm.AdventureMods [command] [options]
flatpak run io.github.astrovm.AdventureMods setup
```

Start the interactive setup from a terminal:
It walks through game selection, mods, and install steps. Omit game or mod flags to stay interactive; pass them only when you want a fully non-interactive run.

```sh
flatpak run io.github.astrovm.AdventureMods setup
```
<details>
<summary>Other commands</summary>

| Command | Description |
| ---------------------------- | ------------------------------------------------------------ |
| `detect` | Show detected game installs and inaccessible Steam libraries |
| `list-mods --game sadx\|sa2` | List available presets and mods for a game |
| `setup` | Install runtimes, mod manager, mods, and config files |

Examples:

```sh
flatpak run io.github.astrovm.AdventureMods detect
flatpak run io.github.astrovm.AdventureMods list-mods --game sadx
flatpak run io.github.astrovm.AdventureMods setup --game sadx --preset "DX Enhanced"
flatpak run io.github.astrovm.AdventureMods setup --game sa2 --all-mods
```

Use `--help` to see every command and option:

```sh
flatpak run io.github.astrovm.AdventureMods --help
flatpak run io.github.astrovm.AdventureMods setup --help
```

</details>

<details>
<summary>Non-interactive setup options</summary>

Use these with `setup` for scripting. When game, path, or mod selection is omitted, `setup` stays interactive.

| Flag | Description |
| ---------------------------- | -------------------------------------------- |
| `--game sadx\|sa2` | Select the game |
| `--game-path /path` | Override Steam detection |
| `--preset "Name"` | Named preset (SADX only) |
| `--preset "Name"` | Named preset (SADX only) |
| `--all-mods` | Install all recommended mods |
| `--mods slug1,slug2` | Install specific mods by slug |
| `--subtitle-language` | Select subtitles |
Expand All @@ -129,19 +119,23 @@ Subtitle languages:
- SADX: `japanese`, `english`, `french`, `spanish`, `german`
- SA2: `english`, `german`, `spanish`, `french`, `italian`, `japanese`

When game, path, or mod selection is omitted, `setup` opens the interactive wizard.
```sh
flatpak run io.github.astrovm.AdventureMods setup --game sadx --preset "DX Enhanced"
flatpak run io.github.astrovm.AdventureMods setup --help
```

</details>

## Development

**Flatpak**
**Flatpak** (Devel manifest, installs for the current user)

```sh
flatpak-builder --force-clean --user --install-deps-from=flathub --install \
build build-aux/io.github.astrovm.AdventureMods.Devel.json
make flatpak
```

Production manifest: `make flatpak FLATPAK_MANIFEST=build-aux/io.github.astrovm.AdventureMods.json`

**AppImage** (Podman + `debian:13`)

```sh
Expand Down
10 changes: 10 additions & 0 deletions data/io.github.astrovm.AdventureMods.metainfo.xml.in
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,16 @@
<color type="primary" scheme_preference="dark">#1a5fb4</color>
</branding>
<releases>
<release version="0.3.12" date="2026-07-24">
<description>
<p>Improved animation smoothness and interface responsiveness.</p>
<ul>
<li>Coalesced progress display updates to keep animations responsive</li>
<li>Cached and reused mod preview images while avoiding redundant refreshes</li>
<li>Added quick fade-in step transitions with reduced-motion support</li>
</ul>
</description>
</release>
<release version="0.3.11" date="2026-07-23">
<description>
<p>Updated runtime requirements for the latest SA Mod Manager.</p>
Expand Down
8 changes: 7 additions & 1 deletion data/resources/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,19 @@
}

.game-card-clickable {
transition: box-shadow 160ms ease, transform 160ms ease;
transition: box-shadow 160ms ease-out;
}

.game-card-clickable:hover {
box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}

@media (prefers-reduced-motion: reduce) {
.game-card-clickable {
transition: none;
}
}

.game-card-title {
font-weight: bold;
font-size: 0.95em;
Expand Down
19 changes: 14 additions & 5 deletions data/resources/ui/setup_page.ui
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,22 @@
</object>
</child>
<child>
<object class="GtkBox" id="content_box">
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<property name="halign">fill</property>
<object class="GtkRevealer" id="content_revealer">
<property name="reveal-child">false</property>
<property name="transition-type">crossfade</property>
<property name="transition-duration">100</property>
<property name="hexpand">true</property>
<property name="valign">fill</property>
<property name="vexpand">true</property>
<property name="child">
<object class="GtkBox" id="content_box">
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<property name="halign">fill</property>
<property name="hexpand">true</property>
<property name="valign">fill</property>
<property name="vexpand">true</property>
</object>
</property>
</object>
</child>
</object>
Expand Down
Loading