fix(files): say under a game file why it can't be used, and what to do #105
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!105
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/LongshotLauncher:fix/game-file-why"
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 player's game file showed only a red Can't be read chip ("Illisible") on step 1, with no reason and nothing to do next. The reason was in a tooltip, in English, and when the check failed because of the PC (its compiler, Windows SDK or Linux programs), the file still got the blame.
What changed
The reason is under the file, in the player's language, with what to do:
make_game.py's own words stay in the tooltip and the bug report.
A check that couldn't run is no longer said to be the file's. make_game.py's check tests the compiler first, so a missing Windows SDK or Linux program came out as "Can't be read" on every file.
GameChecknow tells the file's failures (nup.py, the game modules, the drive) from the rest: a newCheckFailedstatus, shown as Not checked. When it's this PC's tools, the row says so; when the builder stopped on an error it didn't expect, the row says only that the check stopped.Check again under the file runs its check again, after copying the file again or fixing the PC.
Copy for a bug report (from #93) on a file that can't be read or checked: make_game.py's message, the file's name and size, the check's status and the tools' version. Each check's answer is also in the launcher log now.
The 8 new texts are in all 12 full catalogs;
scripts/translations.pyis back to main's 5 missing.tools/screenshots: new scenesfiles-not-usableandfiles-not-checked.The reason now sits under the row, not inside it, because a file that can't be picked is a disabled radio button, and its buttons would be disabled with it.
Testing
python -I tests/test_launcher_core.py: 1193 checks passed. The new checks cover each make_game.py failure and whether it is the file's or not, the player's sentence for each, the unexpected and unsaid failures not blamed on the file, tools that don't start counted as this PC's, and another version's text.python -I tests/test_release.py: OK.dotnet build App -c Release -warnaserror: no warnings.Not tested: a real damaged or incomplete .nup through the launcher, or a Windows PC. The rows were checked in the screenshots, which are in the first comment.
🤖 Generated with Claude Code
A player's .nup showed only "Can't be read" ("Illisible") on step 1: the reason was in the chip's tooltip, in English, and the check's own failures (this PC's compiler, Windows SDK or Linux programs) were said as the file's. GameCheck tells the file's failures (nup.py, the game modules, the drive) from a check that could not run (CheckFailed, "Not checked"), and says each in the player's words under the file, with Check again and Copy for a bug report. A file of another version says the version Longshot needs, as the build's stop does. Co-Authored-By: Claude Opus 5.5 <[email protected]>Screenshots, drawn with
tools/screenshots(each scene's name in brackets). Linux paths, since the screenshots are drawn on Linux and a Windows path doesn't split there into its folder and name.A file that can't be read, and one of another version (
files-not-usable)attach:files-not-usable.png
A check that couldn't run because of this PC: "Not checked", not "Can't be read" (
files-not-checked)attach:files-not-checked.png