summaryrefslogtreecommitdiff
path: root/scripts/gary.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gary.asm')
-rwxr-xr-xscripts/gary.asm231
1 files changed, 118 insertions, 113 deletions
diff --git a/scripts/gary.asm b/scripts/gary.asm
index c0785cab..1fe65fb0 100755
--- a/scripts/gary.asm
+++ b/scripts/gary.asm
@@ -1,16 +1,16 @@
-GaryScript: ; 75f1d (1d:5f1d)
+GaryScript:
call EnableAutoTextBoxDrawing
ld hl, GaryScriptPointers
- ld a, [W_GARYCURSCRIPT]
+ ld a, [wGaryCurScript]
jp CallFunctionInTable
-GaryScript_75f29: ; 75f29 (1d:5f29)
+ResetGaryScript:
xor a
ld [wJoyIgnore], a
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-GaryScriptPointers: ; 75f31 (1d:5f31)
+GaryScriptPointers:
dw GaryScript0
dw GaryScript1
dw GaryScript2
@@ -23,209 +23,215 @@ GaryScriptPointers: ; 75f31 (1d:5f31)
dw GaryScript9
dw GaryScript10
-GaryScript0: ; 75f47 (1d:5f47)
+GaryScript0:
ret
-GaryScript1: ; 75f48 (1d:5f48)
+GaryScript1:
ld a, $ff
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
- ld de, RLEMovement75f63
+ ld de, GaryEntrance_RLEMovement
call DecodeRLEList
dec a
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld a, $2
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-RLEMovement75f63: ; 75f63 (1d:5f63)
- db $40,1
- db $10,1
- db $40,3
+GaryEntrance_RLEMovement:
+ db D_UP,1
+ db D_RIGHT,1
+ db D_UP,3
db $ff
-GaryScript2: ; 75f6a (1d:5f6a)
+GaryScript2:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
call Delay3
xor a
ld [wJoyIgnore], a
- ld hl, W_OPTIONS
- res 7, [hl]
+ ld hl, wOptions
+ res 7, [hl] ; Turn on battle animations to make the battle feel more epic.
ld a, $1
- ld [$ff8c], a
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
call Delay3
ld hl, wd72d
set 6, [hl]
set 7, [hl]
- ld hl, GaryText_760f9
- ld de, GaryText_760fe
+ ld hl, GaryDefeatedText
+ ld de, GaryVictoryText
call SaveEndBattleTextPointers
- ld a, SONY3 + $c8
- ld [W_CUROPPONENT], a
+ ld a, OPP_SONY3
+ ld [wCurOpponent], a
; select which team to use during the encounter
- ld a, [W_RIVALSTARTER]
+ ld a, [wRivalStarter]
cp STARTER2
- jr nz, .NotSquirtle ; 0x75f9f $4
+ jr nz, .NotStarter2
ld a, $1
- jr .done
-.NotSquirtle
+ jr .saveTrainerId
+.NotStarter2
cp STARTER3
- jr nz, .Charmander ; 0x75fa7 $4
+ jr nz, .NotStarter3
ld a, $2
- jr .done
-.Charmander
+ jr .saveTrainerId
+.NotStarter3
ld a, $3
-.done
- ld [W_TRAINERNO], a
+.saveTrainerId
+ ld [wTrainerNo], a
xor a
ld [hJoyHeld], a
ld a, $3
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-GaryScript3: ; 75fbb (1d:5fbb)
- ld a, [W_ISINBATTLE]
+GaryScript3:
+ ld a, [wIsInBattle]
cp $ff
- jp z, GaryScript_75f29
- call UpdateSprites ; move sprites
- ld hl, wd867
- set 1, [hl]
+ jp z, ResetGaryScript
+ call UpdateSprites
+ SetEvent EVENT_BEAT_CHAMPION_RIVAL
ld a, $f0
ld [wJoyIgnore], a
ld a, $1
- ld [$ff8c], a
+ ld [hSpriteIndexOrTextID], a
call GaryScript_760c8
ld a, $1
- ld [$ff8c], a
+ ld [H_SPRITEINDEX], a
call SetSpriteMovementBytesToFF
ld a, $4
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-GaryScript4: ; 75fe4 (1d:5fe4)
+GaryScript4:
callba Music_Cities1AlternateTempo
ld a, $2
- ld [$ff8c], a
+ ld [hSpriteIndexOrTextID], a
call GaryScript_760c8
ld a, $2
- ld [$ff8c], a
+ ld [H_SPRITEINDEX], a
call SetSpriteMovementBytesToFF
- ld de, MovementData_76014
+ ld de, OakEntranceAfterVictoryMovement
ld a, $2
- ld [$ff8c], a
+ ld [H_SPRITEINDEX], a
call MoveSprite
ld a, HS_CHAMPIONS_ROOM_OAK
- ld [wcc4d], a
+ ld [wMissableObjectIndex], a
predef ShowObject
ld a, $5
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-MovementData_76014: ; 76014 (1d:6014)
- db $40,$40,$40,$40,$40,$FF
+OakEntranceAfterVictoryMovement:
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db $FF
-GaryScript5: ; 7601a (1d:601a)
+GaryScript5:
ld a, [wd730]
bit 0, a
ret nz
- ld a, $2
- ld [wd528], a
+ ld a, PLAYER_DIR_LEFT
+ ld [wPlayerMovingDirection], a
ld a, $1
- ld [$ff8c], a
- ld a, $8
- ld [$ff8d], a
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_LEFT
+ ld [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
ld a, $2
- ld [$ff8c], a
- xor a
- ld [$ff8d], a
- call SetSpriteFacingDirectionAndDelay ; face object
+ ld [H_SPRITEINDEX], a
+ xor a ; SPRITE_FACING_DOWN
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
ld a, $3
- ld [$ff8c], a
+ ld [hSpriteIndexOrTextID], a
call GaryScript_760c8
ld a, $6
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-GaryScript6: ; 76047 (1d:6047)
+GaryScript6:
ld a, $2
- ld [$ff8c], a
- ld a, $c
- ld [$ff8d], a
- call SetSpriteFacingDirectionAndDelay ; face object
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_RIGHT
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
ld a, $4
- ld [$ff8c], a
+ ld [hSpriteIndexOrTextID], a
call GaryScript_760c8
ld a, $7
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-GaryScript7: ; 7605f (1d:605f)
+GaryScript7:
ld a, $2
- ld [$ff8c], a
- xor a
- ld [$ff8d], a
- call SetSpriteFacingDirectionAndDelay ; face object
+ ld [H_SPRITEINDEX], a
+ xor a ; SPRITE_FACING_DOWN
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
ld a, $5
- ld [$ff8c], a
+ ld [hSpriteIndexOrTextID], a
call GaryScript_760c8
- ld de, MovementData_76080
+ ld de, OakExitGaryRoomMovement
ld a, $2
- ld [$ff8c], a
+ ld [H_SPRITEINDEX], a
call MoveSprite
ld a, $8
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-MovementData_76080: ; 76080 (1d:6080)
- db $40,$40,$FF
+OakExitGaryRoomMovement:
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db $FF
-GaryScript8: ; 76083 (1d:6083)
+GaryScript8:
ld a, [wd730]
bit 0, a
ret nz
ld a, HS_CHAMPIONS_ROOM_OAK
- ld [wcc4d], a
+ ld [wMissableObjectIndex], a
predef HideObject
ld a, $9
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-GaryScript9: ; 76099 (1d:6099)
+GaryScript9:
ld a, $ff
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
- ld de, RLEMovement760b4
+ ld de, WalkToHallOfFame_RLEMovment
call DecodeRLEList
dec a
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld a, $a
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-RLEMovement760b4 ; 760b4 (1d:60b4)
- db $40,4
- db $20,1
+WalkToHallOfFame_RLEMovment:
+ db D_UP,4
+ db D_LEFT,1
db $ff
-GaryScript10: ; 760b9 (1d:60b9)
+GaryScript10:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
xor a
ld [wJoyIgnore], a
ld a, $0
- ld [W_GARYCURSCRIPT], a
+ ld [wGaryCurScript], a
ret
-GaryScript_760c8 ; 760c8 (1d:60c8)
+GaryScript_760c8:
ld a, $f0
ld [wJoyIgnore], a
call DisplayTextID
@@ -233,61 +239,60 @@ GaryScript_760c8 ; 760c8 (1d:60c8)
ld [wJoyIgnore], a
ret
-GaryTextPointers: ; 760d6 (1d:60d6)
+GaryTextPointers:
dw GaryText1
dw GaryText2
dw GaryText3
dw GaryText4
dw GaryText5
-GaryText1: ; 760e0 (1d:60e0)
- db $08 ; asm
- ld a, [wd867]
- bit 1, a
- ld hl, GaryText_760f4
- jr z, .asm_17e9f ; 0x760e9
+GaryText1:
+ TX_ASM
+ CheckEvent EVENT_BEAT_CHAMPION_RIVAL
+ ld hl, GaryChampionIntroText
+ jr z, .printText
ld hl, GaryText_76103
-.asm_17e9f ; 0x760ee
+.printText
call PrintText
jp TextScriptEnd
-GaryText_760f4: ; 760f4 (1d:60f4)
- TX_FAR _GaryText_760f4
+GaryChampionIntroText:
+ TX_FAR _GaryChampionIntroText
db "@"
-GaryText_760f9: ; 760f9 (1d:60f9)
- TX_FAR _GaryText_760f9
+GaryDefeatedText:
+ TX_FAR _GaryDefeatedText
db "@"
-GaryText_760fe: ; 760fe (1d:60fe)
- TX_FAR _GaryText_760fe
+GaryVictoryText:
+ TX_FAR _GaryVictoryText
db "@"
-GaryText_76103: ; 76103 (1d:6103)
+GaryText_76103:
TX_FAR _GaryText_76103
db "@"
-GaryText2: ; 76108 (1d:6108)
+GaryText2:
TX_FAR _GaryText2
db "@"
-GaryText3: ; 7610d (1d:610d)
- db $8
- ld a, [W_PLAYERSTARTER]
+GaryText3:
+ TX_ASM
+ ld a, [wPlayerStarter]
ld [wd11e], a
call GetMonName
ld hl, GaryText_76120
call PrintText
jp TextScriptEnd
-GaryText_76120: ; 76120 (1d:6120)
+GaryText_76120:
TX_FAR _GaryText_76120
db "@"
-GaryText4: ; 76125 (1d:6125)
+GaryText4:
TX_FAR _GaryText_76125
db "@"
-GaryText5: ; 7612a (1d:612a)
+GaryText5:
TX_FAR _GaryText_7612a
db "@"