fix(launcher): play a game in the game folder itself, beside its renderer, not only in bin/ #70
No reviewers
Labels
No labels
area/build
area/install
area/saves
area/tooling
area/ui
area/updates
ci: approved
good first issue
gpu/amd
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
platform/linux
platform/steam-deck
platform/windows
priority
critical
priority
high
priority
low
risk
high
risk
low
risk
medium
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/LongshotLauncher!70
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/LongshotLauncher:fix/game-folder-root"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A version whose game sits in the game folder itself, not in
bin/, shows as not built and can't be played (#53). This takes over Anarkkie's #63, with one fix on top. Anarkkie's branch doesn't allow maintainer edits, so I couldn't push the fix there.Fixes #53.
What changed
Core/GameFolder.cs(Anarkkie, #63):ExePathalso recognizeslongshot[.exe]in the folder itself, but only when its renderer (longshot_vk.dll/longshot_vk.so) is beside it. That matchesnx2/make_game.py:longshot[.exe], puts the game inbin/and removes the renderer from the folder.bin/. But a build without the setup into a folder that was packaged before leaves the older game inbin/, because make_game doesn't touchbin/then. The launcher would have quietly started that old version. A packaged build takes the renderer out of the folder, so a renderer in the folder means the last build put the game there.tests/launcher_core/Program.cs:GameFolderCheckswalks one folder through each layout on both systems:bin/at all;docs/tested-configurations.md. It's a record of one test run and belongs in the PR, which has it.Open question
The reporter of #53 built with the launcher on v3.0.0-rc.3, so make_game found no
LongshotBuilder-Setup.exebeside its tools. Something may have removed it, possibly an antivirus. This PR makes such folders playable. Whether make_game should say the setup is missing is a Longshot question, not handled here.Testing
python -I tests/test_launcher_core.py --strict --longshot <Longshot main>: 989 checks passed (Linux, .NET 10.0.404).python -I tests/test_release.py: 28 OK.dotnet build LongshotLauncher.slnx -c Release -p:RestoreLockedMode=true: 0 warnings, 0 errors.Co-authored with Anarkkie (#63).
Anarkkie referenced this pull request2026-11-14 21:14:22 +00:00