Settle a Generation 1 script branch on a byte with a closed set - #600
Merged
Conversation
`wSpritePlayerStateData1FacingDirection` holds one of four values and `wRivalStarter` and `wPlayerStarter` one of three, so a `cp` against a value the walk has already excluded cannot match and one the set has nothing else left beside always does. That closes both unknown arms of the `text_asm` corpus on Red and Blue. `GateUpstairsScript_PrintIfFacingUp` re-tests a facing its caller's `jp nz` has already refused, and `Route22GetRivalTrainerNoByStarterScript` walks a three-row table with no terminator, which used to unroll into the code behind it: 12 starter nodes and 8 trainer battles of the map state census were bytes rather than rows. `Gen1WorldImporter.decode_script`'s `refused` parameter had no caller; its list and the six sites that appended to it are gone. The hidden event census doc in `tools/checks/gen1_maps.gd` sat above `_elevators`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
wSpritePlayerStateData1FacingDirectionholds one of four values andwRivalStarterandwPlayerStarterone of three. Acpagainst a value the walk has already excluded cannot match, and one the set has nothing else left beside always does, so both unknown arms of thetext_asmcorpus on Red and Blue are gone.Fixed
GateUpstairsScript_PrintIfFacingUpre-tests a facing its caller'sjp nzhas already refused, so Route 11 Gate 2F's left binoculars row no longer carries an unreachable arm.Route22GetRivalTrainerNoByStarterScript'scp bloop walks a three-row table with no terminator and unrolled into the code behind it. 12starternodes and 8trainer_battlerows of the map state census were bytes rather than table rows.tools/checks/gen1_maps.gdsat above_elevators.Removed
Gen1WorldImporter.decode_script'srefusedparameter, which no caller passed, and the six sites that appended to its list.tools/validate.gd -- allpasses 94 topics on all six cartridges; the unit tier's 1293 gen1 and world tests pass and two new cases intests/unit/test_gen1_script.gdcover both settled shapes.