summaryrefslogtreecommitdiff
path: root/scripts/route22.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/route22.asm')
-rwxr-xr-xscripts/route22.asm346
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 "@"