feat(saves): add player profiles and progress previews #55
No reviewers
Labels
No labels
area/build
area/install
area/saves
area/ui
area/updates
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
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/LongshotLauncher!55
Loading…
Reference in a new issue
No description provided.
Delete branch "Anarkkie/LongshotLauncher:feat/player-save-previews"
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?
Players sharing a PC need separate named playthroughs and a way to recognize their progress before starting a version. This adds remembered player selection and read-only save previews to Home and Saves, following the launcher's existing theme and save-transfer flow.
What changed
scripts/extract_save_icons.py. The branch ships no game artwork or metadata. Missing, corrupt, linked or unsupported assets fall back without losing the rest of the preview. The authored item catalog retains its MIT notice.Alignment with accepted upstream
Includes accepted main
9b3d202, including the translation system, first-import destination work, NX2navi import, Hookshot settings import and current crash-log discovery. This replaces the earlier proposal's temporary first-save prerequisite and outstanding integration notes for #47 and #52, which have now merged.Saves.ImportTarget; previews use the same game account and ignore stray account folders. Import/export confirmations revalidate the selected player and destination.Trand refresh when the language changes without losing player/slot selection. 59 new strings use the accepted English fallback pending translation.This remains a framework contribution for maintainers to adapt as the launcher grows. Automatic icon extraction during installation and the long-term profile-storage policy remain maintainer decisions. Open #54, #57, #58 and #61 were inspected but are not included; some touch shared launcher/build files and may need merge-order coordination.
Validation
Feature code:
5bca18c; latest accepted main:9b3d202. The accompanying documentation records source revisions and measured configurations indocs/tested-configurations.md.e4893d5, Linux / .NET 10.0.404ae3c27e, after accepted #60The final private integration also includes the Windows filesystem fixes in #64 and source-built game-layout fix in #63. Its full Windows-suite result is not a standalone pass for this profile branch. The standalone branch retains the upstream Windows core-runner failures addressed by those fixes. Windows successful-symlink fixtures explicitly report unavailable privilege; their complete Linux coverage passes. Linux release tests emit existing Python socket ResourceWarnings.
Native acceptance used nightly-80-7315957c (source
cdf3d9d8), Kokiri Forest, Windows 11 Pro 10.0.26300, RTX 3080 Ti / NVIDIA 610.88, Ryzen 7 5800X3D and 32 GB RAM. Early QA -> Upgraded QA -> Early QA, reopening the launcher service for each run, loaded the correct selected save every time: three hearts -> twenty hearts with magic/upgraded ammunition -> three hearts. All three runs rendered the settled scene, accepted movement and exited 0. All 70 pre-existing and 28 copied test-save files retained their hashes. These runs used combinede262bd6; launch/routing/preview source is unchanged by the final crash-log-only merge toae3c27e.Native checks were offscreen through the game's control bridge with
HOS_HEADLESS=1,HOS_AUDIO=0,RX_VK_LOAD=createandRX_VK_PRECOMPILEunset. The advanced fixture was edited in an isolated copy, not obtained through a completed playthrough. Earlier game-write/readback checks retained all 85 supported displayed records. Not every natural unlock event, native Linux/Steam Deck window, physical controller, stable game build or newly packaged single-file release has been exercised. No performance improvement is claimed.Screenshots
Current Home and Saves at 960 x 600, showing the upgraded test copy. Update and both screenshots.
The earlier early-progress and fallback screenshots remain available.
Risk and rollback
The main risks are player-directory routing, import destinations and future save-schema changes. Routing fails closed for missing/corrupt profiles; parsing is bounded and read-only. Unknown fields remain unavailable. Selecting Default restores the original save environment. Reverting the feature leaves named-player folders intact; preserve/export them rather than deleting them.
Only source, authored fixtures, documentation and permitted launcher screenshots are shared. Game files, saves, extracted textures and generated game metadata remain local.
AI-assisted implementation and independent source review with OpenAI Codex; all validation above ran locally.
Compiled launcher views for this PR at 960 x 600. Local artwork is optional; these are permitted launcher screenshots, not extracted asset attachments.
Early progress after the game writes its save. Magic is hidden until unlocked; rupees sit above the heart row.
Advanced test copy after a game save: 85 displayed progress records, grouped inventory, two rows of ten hearts and the native magic gauge below them. This is an isolated unlock/transition fixture, not a completed playthrough.
The same shared detail card on Saves, with its selected slot.
Optional-art fallback, using authored data only. Values and accessible item names remain available when local textures are absent.
Updated to the accepted launcher main at
9b3d202. Empty-player imports now use the accepted account destination; translation switching, NX2navi imports and build-scoped Hookshot settings are integrated. The refreshed description records standalone and combined validation separately. The independent layout and Windows corrections are #63 and #64.Current Home and Saves at 960 x 600 use an isolated upgraded test copy with 85 supported displayed records. These are launcher screenshots; saves, extracted art and generated metadata remain local.
Hey! Thanks for the heads-up about !57. I checked the overlap between our PRs: the only files we both touch are the 12 Core/Lang catalogs and README.md. None of the code overlap, mine just touch the build folder logic in BuildRegistry / LauncherSettings and the wizard. So whichever lands second, just needs a small rebase on the catalogs. Happy to rebase mine if yours goes first!
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.