diff options
Diffstat (limited to 'scripts/route22.asm')
-rwxr-xr-x | scripts/route22.asm | 346 |
1 files changed, 180 insertions, 166 deletions
diff --git a/scripts/route22.asm b/scripts/route22.asm index 9181380a..86c3768b 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -1,10 +1,10 @@ -Route22Script: ; 50eb2 (14:4eb2) +Route22Script: call EnableAutoTextBoxDrawing ld hl, Route22ScriptPointers - ld a, [W_ROUTE22CURSCRIPT] + ld a, [wRoute22CurScript] jp CallFunctionInTable -Route22ScriptPointers: ; 50ebe (14:4ebe) +Route22ScriptPointers: dw Route22Script0 dw Route22Script1 dw Route22Script2 @@ -14,15 +14,15 @@ Route22ScriptPointers: ; 50ebe (14:4ebe) dw Route22Script6 dw Route22Script7 -Route22Script_50ece: ; 50ece (14:4ece) +Route22Script_50ece: xor a ld [wJoyIgnore], a - ld [W_ROUTE22CURSCRIPT], a -Route22Script7: ; 50ed5 (14:4ed5) + ld [wRoute22CurScript], a +Route22Script7: ret -Route22Script_50ed6: ; 50ed6 (14:4ed6) - ld a, [W_RIVALSTARTER] ; wd715 +Route22Script_50ed6: + ld a, [wRivalStarter] ld b, a .asm_50eda ld a, [hli] @@ -32,43 +32,45 @@ Route22Script_50ed6: ; 50ed6 (14:4ed6) jr .asm_50eda .asm_50ee1 ld a, [hl] - ld [W_TRAINERNO], a ; wd05d + ld [wTrainerNo], a ret -Route22MoveRivalSprite: ; 50ee6 (14:4ee6) - ld de, Route22RivalMovementData ; $4efb +Route22MoveRivalSprite: + ld de, Route22RivalMovementData ld a, [wcf0d] cp $1 jr z, .asm_50ef1 inc de .asm_50ef1 call MoveSprite - ld a, $c - ld [$ff8d], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay -Route22RivalMovementData: ; 50efb (14:4efb) - db $C0,$C0,$C0,$C0,$FF ; move right 4 times +Route22RivalMovementData: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF -Route22Script0: ; 50f00 (14:4f00) - ld a, [wd7eb] - bit 7, a +Route22Script0: + CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE ret z - ld hl, .Route22RivalBattleCoords ; $4f2d + ld hl, .Route22RivalBattleCoords call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [wcf0d], a xor a ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, $2 - ld [wd528], a - ld a, [wd7eb] - bit 0, a ; is this the rival battle at the beginning of the game? - jr nz, .firstRivalBattle ; 0x50f25 $b - bit 1, a ; is this the rival at the end of the game? + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE + jr nz, .firstRivalBattle + CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE ; is this the rival at the end of the game? jp nz, Route22Script_5104e ret @@ -79,49 +81,49 @@ Route22Script0: ; 50f00 (14:4f00) .firstRivalBattle ld a, $1 - ld [wcd4f], a - xor a - ld [wcd50], a + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a predef EmotionBubble ld a, [wWalkBikeSurfState] and a - jr z, .asm_50f4e ; 0x50f44 $8 + jr z, .asm_50f4e ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .asm_50f4e ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call Route22MoveRivalSprite ld a, $1 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script1: ; 50f62 (14:4f62) +Route22Script1: ld a, [wd730] bit 0, a ret nz ld a, [wcf0d] cp $1 - jr nz, .asm_50f78 ; 0x50f6d $9 - ld a, $4 - ld [wd528], a - ld a, $4 - jr .asm_50f7a ; 0x50f76 $2 + jr nz, .asm_50f78 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP + jr .asm_50f7a .asm_50f78 - ld a, $c + ld a, SPRITE_FACING_RIGHT .asm_50f7a - ld [$ff8d], a + ld [hSpriteFacingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -129,190 +131,203 @@ Route22Script1: ; 50f62 (14:4f62) ld hl, Route22RivalDefeatedText1 ld de, Route22Text_511bc call SaveEndBattleTextPointers - ld a, SONY1 + $c8 - ld [W_CUROPPONENT], a - ld hl, StarterMons_50faf ; $4faf + ld a, OPP_SONY1 + ld [wCurOpponent], a + ld hl, StarterMons_50faf call Route22Script_50ed6 ld a, $2 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -StarterMons_50faf: ; 50faf (14:4faf) +StarterMons_50faf: ; starter the rival picked, rival trainer number db STARTER2,$04 db STARTER3,$05 db STARTER1,$06 -Route22Script2: ; 50fb5 (14:4fb5) - ld a, [W_ISINBATTLE] +Route22Script2: + ld a, [wIsInBattle] cp $ff jp z, Route22Script_50ece ld a, [wSpriteStateData1 + 9] - and a - jr nz, .asm_50fc7 ; 0x50fc1 $4 - ld a, $4 - jr .asm_50fc9 ; 0x50fc5 $2 -.asm_50fc7 - ld a, $c -.asm_50fc9 - ld [$ff8d], a + and a ; cp SPRITE_FACING_DOWN + jr nz, .notDown + ld a, SPRITE_FACING_UP + jr .done +.notDown + ld a, SPRITE_FACING_RIGHT +.done + ld [hSpriteFacingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7eb - set 5, [hl] + SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, [wcf0d] cp $1 - jr nz, .asm_50fff ; 0x50ff8 $5 + jr nz, .asm_50fff call Route22Script_51008 - jr .asm_51002 ; 0x50ffd $3 + jr .asm_51002 .asm_50fff call Route22Script_5100d .asm_51002 ld a, $3 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script_51008: ; 51008 (14:5008) - ld de, Route22RivalExitMovementData1 ; $5017 - jr asm_51010 +Route22Script_51008: + ld de, Route22RivalExitMovementData1 + jr Route22MoveRival1 -Route22Script_5100d: ; 5100d (14:500d) - ld de, Route22RivalExitMovementData2 ; $501f -asm_51010 +Route22Script_5100d: + ld de, Route22RivalExitMovementData2 +Route22MoveRival1: ld a, $1 - ld [H_SPRITEHEIGHT], a + ld [H_SPRITEINDEX], a jp MoveSprite -Route22RivalExitMovementData1: ; 51017 (14:5017) - db $C0,$C0,$00,$00,$00,$00,$00,$FF +Route22RivalExitMovementData1: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -Route22RivalExitMovementData2: ; 5101f (14:501f) - db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF +Route22RivalExitMovementData2: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -Route22Script3: ; 5102a (14:502a) +Route22Script3: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, HS_ROUTE_22_RIVAL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic - ld hl, wd7eb - res 0, [hl] - res 7, [hl] + ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE ld a, $0 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script_5104e: ; 5104e (14:504e) +Route22Script_5104e: ld a, $2 - ld [wcd4f], a - xor a - ld [wcd50], a + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a predef EmotionBubble ld a, [wWalkBikeSurfState] and a jr z, .skipYVisibilityTesta ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .skipYVisibilityTesta ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateTempo ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call Route22MoveRivalSprite ld a, $4 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script4: ; 51087 (14:5087) +Route22Script4: ld a, [wd730] bit 0, a ret nz ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a ld a, [wcf0d] cp $1 jr nz, .asm_510a1 - ld a, $4 - ld [wd528], a - ld a, $4 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP jr .asm_510a8 .asm_510a1 - ld a, $2 - ld [wd528], a - ld a, $c + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT .asm_510a8 - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, Route22RivalDefeatedText2 ; $51cb - ld de, Route22Text_511d0 ; $51d0 + ld hl, Route22RivalDefeatedText2 + ld de, Route22Text_511d0 call SaveEndBattleTextPointers - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a ; wd059 - ld hl, StarterMons_510d9 ; $50d9 + ld a, OPP_SONY2 + ld [wCurOpponent], a + ld hl, StarterMons_510d9 call Route22Script_50ed6 ld a, $5 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -StarterMons_510d9: ; 510d9 (14:50d9) +StarterMons_510d9: db STARTER2,$0a db STARTER3,$0b db STARTER1,$0c -Route22Script5: ; 510df (14:50df) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +Route22Script5: + ld a, [wIsInBattle] cp $ff jp z, Route22Script_50ece ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a ld a, [wcf0d] cp $1 jr nz, .asm_510fb - ld a, $4 - ld [wd528], a - ld a, $4 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP jr .asm_51102 .asm_510fb - ld a, $2 - ld [wd528], a - ld a, $c + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT .asm_51102 - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7eb - set 6, [hl] + SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStartAndTempo ld a, [wcf0d] @@ -324,108 +339,107 @@ Route22Script5: ; 510df (14:50df) call Route22Script_51142 .asm_51137 ld a, $6 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script_5113d: ; 5113d (14:513d) - ld de, MovementData_5114c ; $514c - jr asm_51145 +Route22Script_5113d: + ld de, MovementData_5114c + jr Route22MoveRival2 -Route22Script_51142: ; 51142 (14:5142) - ld de, MovementData_5114d ; $514d -asm_51145: ; 51145 (14:5145) +Route22Script_51142: + ld de, MovementData_5114d +Route22MoveRival2: ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a jp MoveSprite -MovementData_5114c: ; 5114c (14:514c) - db $80 ; left +MovementData_5114c: + db NPC_MOVEMENT_LEFT -MovementData_5114d: ; 5114d (14:514d) - db $80,$80,$80,$FF ; left x3 +MovementData_5114d: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_LEFT + db $FF -Route22Script6: ; 51151 (14:5151) +Route22Script6: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, HS_ROUTE_22_RIVAL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic - ld hl, wd7eb - res 1, [hl] - res 7, [hl] + ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE ld a, $7 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22TextPointers: ; 51175 (14:5175) +Route22TextPointers: dw Route22Text1 dw Route22Text2 dw Route22FrontGateText -Route22Text1: ; 5117b (14:517b) - db $08 ; asm - ld a, [wd7eb] - bit 5, a - jr z, .asm_a88cf ; 0x51181 +Route22Text1: + TX_ASM + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + jr z, .asm_5118b ld hl, Route22RivalAfterBattleText1 call PrintText - jr .asm_48088 ; 0x51189 -.asm_a88cf ; 0x5118b + jr .asm_51191 +.asm_5118b ld hl, Route22RivalBeforeBattleText1 call PrintText -.asm_48088 ; 0x51191 +.asm_51191 jp TextScriptEnd -Route22Text2: ; 51194 (14:5194) - db $08 ; asm - ld a, [wd7eb] - bit 6, a - jr z, .asm_58c0a ; 0x5119a +Route22Text2: + TX_ASM + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE + jr z, .asm_511a4 ld hl, Route22RivalAfterBattleText2 call PrintText - jr .asm_673ee ; 0x511a2 -.asm_58c0a ; 0x511a4 + jr .asm_511aa +.asm_511a4 ld hl, Route22RivalBeforeBattleText2 call PrintText -.asm_673ee ; 0x511aa +.asm_511aa jp TextScriptEnd -Route22RivalBeforeBattleText1: ; 511ad (14:51ad) +Route22RivalBeforeBattleText1: TX_FAR _Route22RivalBeforeBattleText1 db "@" -Route22RivalAfterBattleText1: ; 511b2 (14:51b2) +Route22RivalAfterBattleText1: TX_FAR _Route22RivalAfterBattleText1 db "@" -Route22RivalDefeatedText1: ; 511b7 (14:51b7) +Route22RivalDefeatedText1: TX_FAR _Route22RivalDefeatedText1 db "@" -Route22Text_511bc: ; 511bc (14:51bc) +Route22Text_511bc: TX_FAR _Route22Text_511bc db "@" -Route22RivalBeforeBattleText2: ; 511c1 (14:51c1) +Route22RivalBeforeBattleText2: TX_FAR _Route22RivalBeforeBattleText2 db "@" -Route22RivalAfterBattleText2: ; 511c6 (14:51c6) +Route22RivalAfterBattleText2: TX_FAR _Route22RivalAfterBattleText2 db "@" -Route22RivalDefeatedText2: ; 511cb (14:51cb) +Route22RivalDefeatedText2: TX_FAR _Route22RivalDefeatedText2 db "@" -Route22Text_511d0: ; 511d0 (14:51d0) +Route22Text_511d0: TX_FAR _Route22Text_511d0 db "@" -Route22FrontGateText: ; 511d5 (14:51d5) +Route22FrontGateText: TX_FAR _Route22FrontGateText db "@" |