Warn users about damaged-dump texture stand-ins where they will see it (Builder UI, game folder note) #2237
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot#2237
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
The idea
When a dump has damaged texture files, the builder replaces them with stand-ins and prints a console message (
Your game dump is incomplete: ...). That message is easy to miss: Builder window users see progress bars, and the game then builds and plays with wrong textures. The result is real bug reports that cost triage time — #1700 (fairy fountain grotto with no floor) turned out to be exactly this case, fixed by rebuilding from a correct-size dump.What would help, in increasing order of cost:
stand_in_damaged_files()innx2/make_game.pyknows every replaced file.hookshot_version.txt), so the launcher, future log readers, and issue triage can point at it. Asking a reporter "does your game folder contain a damaged-files note" is cheaper than a full re-dump cycle.make_game.py --checkonly validates exefs, not romfs. A--check okgives false confidence about texture damage; the romfs damage scan only happens during a full read. Either say so in--checkoutput/docs, or add an opt-in romfs check..nupbasename and byte size match a previous unpack (unpacked by this builder: <name> <size>). A replacement file with the same name and same byte size but different content would silently reuse the stale extraction. Including mtime (or a content hash) in the stamp would close that.Related work already in flight (not duplicating): #2005 covers stand-in donor integrity and the unresolved-resource build gate.
Anything else
Evidence from two separate downloads of the same
.nuptorrent — identical damage in identical files both times, so this was a bad source, not transfer noise. Damaged files and their stand-ins:Tex/CmnTex_Map_Soil_FairyFountain_Floor_D_Nrm.bntx.zs→ replaced withCmnTex_Map_Sand_FairyFountain_Sand_A_Nrm.bntx.zsTex/RBake_Scene_GanonStage_G_2_1_d0_t0.bntx.zs→ replaced withRBake_Scene_GanonStage_G_2_2_d0_t0.bntx.zsTex/Rock_WaterTemple_Gate_M_01_Nrm.bntx.zs→ replaced withRock_WaterTemple_Gate_P_01_Nrm.bntx.zsRelated: #1700 (resolved by correct dump), #2005 (claimed stand-in integrity + build gate), tracking #1002. No game data involved — file names and builder output lines only.
Thanks for the report. Reports of the same problem are now collected in #2505, which lists this one with your details and links back here, so one fix closes them together and the open list stays readable. Follow #2505 for the fix, and add new details there (or here). If this turns out to be a separate problem it will be reopened.
github-sync referenced this issue2026-11-12 06:22:54 +00:00