feat(launcher): find, browse and drop .nx archives beside .nup files #77
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
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!77
Loading…
Reference in a new issue
No description provided.
Delete branch "nussico/LongshotLauncher:feat/nx-format"
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 who keep their game as a
.nxarchive (NXFormat, made withnxconvert pack-nup; MagicBeanDev/Longshot#411) can't pick it in the launcher: it only finds, browses and accepts.nupfiles. With this PR the launcher treats a.nxlike a.nupand hands it tomake_game.py --nup, which reads both once the Longshot PR adding the reader is in (MagicBeanDev/Longshot#685).Merge order: after a Longshot release with that PR. With older tools, a
.nxis refused by the check with nup.py's message ("not a .nup"), not a crash.What changed
Core/GameFiles.cs:IsGameFile()(a.nupor.nxby name) used byFind(Downloads, Desktop, ...) andFromPath(Browse, a drop).*.nxalone also matches.nxson Windows (8.3 names), hence the name check.App/MainWindow.axaml.cs,App/ViewModels/ViewModelBase.cs:PickFileAsynctakes a list of patterns;WizardViewModelasks for*.nupand*.nx..nup/.nxwhere they had.nup.tests/launcher_core/ScreenChecks.cs: a.nxis found, dropped and built from like a.nup; a.nxsis not.scripts/release.py:nxadded toNOT_A_RELEASE_FILE, as in the Longshot PR (a.nxis a whole dump).Tested (Windows 11 build 26300, .NET 8)
python -I tests/test_launcher_core.py --strict --longshot <Longshot checkout>: 1019 checks passed; the new check failed before the change (oot.nxnot found).dotnet build App -c Release: 0 warnings, 0 errors.python -I tests/test_release.py: 1 failure and 5 errors, the same onmain@8acdd00on this PC (git-cliff and the release lookups).core.autocrlf=true,tests/fixtures/release/*are checked out with CRLF andtest_launcher_core.pystops at "SHA256SUMS is not signed by a key this launcher trusts"; a.gitattributeswithtests/fixtures/** -textwould fix it (not in this PR).Not tested: the launcher window by hand (Browse and drop with a
.nx), and Linux. A build from a.nxwith the Longshot change was run in Hookshot's tree (same code): the game builds and plays.