diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-28 17:11:12 -0500 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-28 17:11:12 -0500 |
commit | 6adbaefde14f5e9039aa42a6c96ce476a4107925 (patch) | |
tree | 321a370bf474d666d3e5368a964b0511f26fd6c1 | |
parent | 47cd734276eade428671f720e8d01a45c4fd2bc2 (diff) |
Keep wGrassMons and wWaterMons together with a UNION
-rw-r--r-- | engine/battle/core.asm | 17 | ||||
-rw-r--r-- | wram.asm | 30 |
2 files changed, 25 insertions, 22 deletions
diff --git a/engine/battle/core.asm b/engine/battle/core.asm index d944424e..5ea60cb4 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -2013,18 +2013,19 @@ DisplayBattleMenu:: .menuselected ld [wTextBoxID], a call DisplayTextBoxID + ; handle menu input if it's not the old man tutorial ld a, [wBattleType] dec a - jp nz, .handleBattleMenuInput ; handle menu input if it's not the old man tutorial + jp nz, .handleBattleMenuInput ; the following happens for the old man tutorial - ; Temporarily save the player name in wGrassRate, - ; which is supposed to get overwritten when entering a - ; map with wild Pokémon. - ; Due to an oversight, the data may not get - ; overwritten (on Cinnabar and Route 21) and the infamous - ; Missingno. glitch can show up. + ; Temporarily save the player name in wLinkEnemyTrainerName. + ; Since wLinkEnemyTrainerName == wGrassRate, this affects wild encounters. + ; The wGrassRate byte and following wGrassMons buffer are supposed + ; to get overwritten when entering a map with wild Pokémon, + ; but an oversight prevents this in Cinnabar and Route 21, + ; so the infamous MissingNo. glitch can show up. ld hl, wPlayerName - ld de, wGrassRate + ld de, wLinkEnemyTrainerName ld bc, NAME_LENGTH call CopyData ld hl, .oldManName @@ -3035,31 +3035,33 @@ wSecondLockTrashCanIndex:: wEventFlags:: flag_array NUM_EVENTS + +UNION +wGrassRate:: db +wGrassMons:: + ds 10 * 2 + + ds 8 + +wWaterRate:: db +wWaterMons:: + ds 10 * 2 + +NEXTU wLinkEnemyTrainerName:: ; linked game's trainer name + ds NAME_LENGTH -wGrassRate:: ds 1 -wGrassMons:: -; ds 20 - - ds 11 -; Overload wGrassMons wSerialEnemyDataBlock:: +; ds $1a8 + ds 9 wEnemyPartyCount:: ds 1 wEnemyPartyMons:: ds PARTY_LENGTH + 1 -; Overload enemy party data -UNION - -wWaterRate:: db -wWaterMons:: db - -NEXTU - wEnemyMons:: wEnemyMon1:: party_struct wEnemyMon1 wEnemyMon2:: party_struct wEnemyMon2 |