summaryrefslogtreecommitdiff
path: root/scripts/viridiangym.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/viridiangym.asm')
-rwxr-xr-xscripts/viridiangym.asm221
1 files changed, 102 insertions, 119 deletions
diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm
index 6ced7d82..6cded55d 100755
--- a/scripts/viridiangym.asm
+++ b/scripts/viridiangym.asm
@@ -30,9 +30,9 @@ ViridianGymScriptPointers: ; 748e1 (1d:48e1)
dw ViridianGymScript4
ViridianGymScript0: ; 748eb (1d:48eb)
- ld a, [W_YCOORD] ; wd361
+ ld a, [W_YCOORD]
ld b, a
- ld a, [W_XCOORD] ; wd362
+ ld a, [W_XCOORD]
ld c, a
ld hl, ViridianGymArrowTilePlayerMovement
call DecodeArrowMovementRLE
@@ -41,7 +41,7 @@ ViridianGymScript0: ; 748eb (1d:48eb)
call StartSimulatingJoypadStates
ld hl, wd736
set 7, [hl]
- ld a, (SFX_02_52 - SFX_Headers_02) / 3
+ ld a, SFX_ARROW_TILES
call PlaySound
ld a, $ff
ld [wJoyIgnore], a
@@ -80,45 +80,41 @@ ViridianGymArrowTilePlayerMovement: ; 74916 (1d:4916)
db $FF
;format: direction, count
-;right: $10
-;left: $20
-;up: $40
-;down: $80
ViridianGymArrowMovement1: ; 74947 (1d:4947)
- db $40,$09,$FF
+ db D_UP,$09,$FF
ViridianGymArrowMovement2: ; 7494a (1d:494a)
- db $20,$08,$FF
+ db D_LEFT,$08,$FF
ViridianGymArrowMovement3: ; 7494d (1d:494d)
- db $80,$09,$FF
+ db D_DOWN,$09,$FF
ViridianGymArrowMovement4: ; 74950 (1d:4950)
- db $10,$06,$FF
+ db D_RIGHT,$06,$FF
ViridianGymArrowMovement5: ; 74953 (1d:4953)
- db $80,$02,$FF
+ db D_DOWN,$02,$FF
ViridianGymArrowMovement6: ; 74956 (1d:4956)
- db $80,$07,$FF
+ db D_DOWN,$07,$FF
ViridianGymArrowMovement7: ; 74959 (1d:4959)
- db $10,$08,$FF
+ db D_RIGHT,$08,$FF
ViridianGymArrowMovement8: ; 7495c (1d:495c)
- db $10,$09,$FF
+ db D_RIGHT,$09,$FF
ViridianGymArrowMovement9: ; 7495f (1d:495f)
- db $40,$08,$FF
+ db D_UP,$08,$FF
ViridianGymArrowMovement10: ; 74962 (1d:4962)
- db $40,$06,$FF
+ db D_UP,$06,$FF
ViridianGymArrowMovement11: ; 74965 (1d:4965)
- db $20,$06,$FF
+ db D_LEFT,$06,$FF
ViridianGymArrowMovement12: ; 74968 (1d:4968)
- db $20,$0C,$FF
+ db D_LEFT,$0C,$FF
ViridianGymScript4: ; 7496b (1d:496b)
ld a, [wSimulatedJoypadStatesIndex]
@@ -132,55 +128,44 @@ ViridianGymScript4: ; 7496b (1d:496b)
ld [W_CURMAPSCRIPT], a
ret
.asm_74980
- ld b, BANK(LoadSpinnerArrowTiles)
- ld hl, LoadSpinnerArrowTiles
- jp Bankswitch
+ jpba LoadSpinnerArrowTiles
ViridianGymScript3: ; 74988 (1d:4988)
- ld a, [W_ISINBATTLE] ; W_ISINBATTLE
+ ld a, [W_ISINBATTLE]
cp $ff
jp z, ViridianGymScript_748d6
ld a, $f0
ld [wJoyIgnore], a
ViridianGymScript3_74995: ; 74995 (1d:4995)
ld a, $c
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld hl, wd751
- set 1, [hl]
- ld bc, (TM_27 << 8) | 1
+ SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
+ lb bc, TM_27, 1
call GiveItem
jr nc, .BagFull
ld a, $d
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld hl, wd751
- set 0, [hl]
+ SetEvent EVENT_GOT_TM27
jr .asm_749be
.BagFull
ld a, $e
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
.asm_749be
ld hl, W_OBTAINEDBADGES
set 7, [hl]
- ld hl, wd72a
+ ld hl, wBeatGymFlags
set 7, [hl]
; deactivate gym trainers
- ld a, [wd751]
- or %11111100
- ld [wd751], a
- ld a, [wd752]
- or %00000011
- ld [wd752], a
+ SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7
ld a, HS_ROUTE_22_RIVAL_2
- ld [wcc4d], a
+ ld [wMissableObjectIndex], a
predef ShowObject
- ld hl, wd7eb
- set 1, [hl]
- set 7, [hl]
+ SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
jp ViridianGymScript_748d6
ViridianGymTextPointers: ; 749ec (1d:49ec)
@@ -194,110 +179,109 @@ ViridianGymTextPointers: ; 749ec (1d:49ec)
dw ViridianGymText8
dw ViridianGymText9
dw ViridianGymText10
- dw Predef5CText
+ dw PickUpItemText
dw ViridianGymText12
dw ViridianGymText13
dw ViridianGymText14
ViridianGymTrainerHeaders: ; 74a08 (1d:4a08)
ViridianGymTrainerHeader0: ; 74a08 (1d:4a08)
- db $2 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0
db ($4 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText1 ; 0x4afd TextBeforeBattle
- dw ViridianGymAfterBattleText1 ; 0x4b07 TextAfterBattle
- dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle
- dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0
+ dw ViridianGymBattleText1 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText1 ; TextAfterBattle
+ dw ViridianGymEndBattleText1 ; TextEndBattle
+ dw ViridianGymEndBattleText1 ; TextEndBattle
ViridianGymTrainerHeader1: ; 74a14 (1d:4a14)
- db $3 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1
db ($4 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText2 ; 0x4b16 TextBeforeBattle
- dw ViridianGymAfterBattleText2 ; 0x4b20 TextAfterBattle
- dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle
- dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1
+ dw ViridianGymBattleText2 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText2 ; TextAfterBattle
+ dw ViridianGymEndBattleText2 ; TextEndBattle
+ dw ViridianGymEndBattleText2 ; TextEndBattle
ViridianGymTrainerHeader2: ; 74a20 (1d:4a20)
- db $4 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2
db ($4 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText3 ; 0x4b2f TextBeforeBattle
- dw ViridianGymAfterBattleText3 ; 0x4b39 TextAfterBattle
- dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle
- dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2
+ dw ViridianGymBattleText3 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText3 ; TextAfterBattle
+ dw ViridianGymEndBattleText3 ; TextEndBattle
+ dw ViridianGymEndBattleText3 ; TextEndBattle
ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c)
- db $5 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3
db ($2 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText4 ; 0x4b48 TextBeforeBattle
- dw ViridianGymAfterBattleText4 ; 0x4b52 TextAfterBattle
- dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle
- dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3
+ dw ViridianGymBattleText4 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText4 ; TextAfterBattle
+ dw ViridianGymEndBattleText4 ; TextEndBattle
+ dw ViridianGymEndBattleText4 ; TextEndBattle
ViridianGymTrainerHeader4: ; 74a38 (1d:4a38)
- db $6 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4
db ($3 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText5 ; 0x4b61 TextBeforeBattle
- dw ViridianGymAfterBattleText5 ; 0x4b6b TextAfterBattle
- dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle
- dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4
+ dw ViridianGymBattleText5 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText5 ; TextAfterBattle
+ dw ViridianGymEndBattleText5 ; TextEndBattle
+ dw ViridianGymEndBattleText5 ; TextEndBattle
ViridianGymTrainerHeader5: ; 74a44 (1d:4a44)
- db $7 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5
db ($4 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText6 ; 0x4b7a TextBeforeBattle
- dw ViridianGymAfterBattleText6 ; 0x4b84 TextAfterBattle
- dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle
- dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5
+ dw ViridianGymBattleText6 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText6 ; TextAfterBattle
+ dw ViridianGymEndBattleText6 ; TextEndBattle
+ dw ViridianGymEndBattleText6 ; TextEndBattle
ViridianGymTrainerHeader6: ; 74a50 (1d:4a50)
- db $8 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1
db ($3 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText7 ; 0x4b93 TextBeforeBattle
- dw ViridianGymAfterBattleText7 ; 0x4b9d TextAfterBattle
- dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle
- dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1
+ dw ViridianGymBattleText7 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText7 ; TextAfterBattle
+ dw ViridianGymEndBattleText7 ; TextEndBattle
+ dw ViridianGymEndBattleText7 ; TextEndBattle
ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c)
- db $9 ; flag's bit
+ dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1
db ($4 << 4) ; trainer's view range
- dw wd751 ; flag's byte
- dw ViridianGymBattleText8 ; 0x4bac TextBeforeBattle
- dw ViridianGymAfterBattleText8 ; 0x4bb6 TextAfterBattle
- dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle
- dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1
+ dw ViridianGymBattleText8 ; TextBeforeBattle
+ dw ViridianGymAfterBattleText8 ; TextAfterBattle
+ dw ViridianGymEndBattleText8 ; TextEndBattle
+ dw ViridianGymEndBattleText8 ; TextEndBattle
db $ff
ViridianGymText1: ; 74a69 (1d:4a69)
- db $08 ; asm
- ld a, [wd751]
- bit 1, a
- jr z, .asm_6de66 ; 0x74a6f
- bit 0, a
- jr nz, .asm_9fc95 ; 0x74a73
+ TX_ASM
+ CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
+ jr z, .asm_6de66
+ CheckEventReuseA EVENT_GOT_TM27
+ jr nz, .asm_9fc95
call z, ViridianGymScript3_74995
call DisableWaitingAfterTextDisplay
- jr .asm_6dff7 ; 0x74a7b
-.asm_9fc95 ; 0x74a7d
+ jr .asm_6dff7
+.asm_9fc95
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
ld hl, ViridianGymText_74ad9
call PrintText
call GBFadeOutToBlack
ld a, HS_VIRIDIAN_GYM_GIOVANNI
- ld [wcc4d], a
+ ld [wMissableObjectIndex], a
predef HideObject
call UpdateSprites
call Delay3
call GBFadeInFromBlack
- jr .asm_6dff7 ; 0x74a9e
-.asm_6de66 ; 0x74aa0
+ jr .asm_6dff7
+.asm_6de66
ld hl, ViridianGymText_74ace
call PrintText
ld hl, wd72d
@@ -306,7 +290,7 @@ ViridianGymText1: ; 74a69 (1d:4a69)
ld hl, ViridianGymText_74ad3
ld de, ViridianGymText_74ad3
call SaveEndBattleTextPointers
- ldh a, [$8c]
+ ld a, [H_SPRITEINDEX]
ld [wSpriteIndex], a
call EngageMapTrainer
call InitBattleEnemyParameters
@@ -314,7 +298,7 @@ ViridianGymText1: ; 74a69 (1d:4a69)
ld [W_GYMLEADERNO], a
ld a, $3
ld [W_VIRIDIANGYMCURSCRIPT], a
-.asm_6dff7 ; 0x74acb
+.asm_6dff7
jp TextScriptEnd
ViridianGymText_74ace: ; 74ace (1d:4ace)
@@ -346,7 +330,7 @@ ViridianGymText14: ; 74aee (1d:4aee)
db "@"
ViridianGymText2: ; 74af3 (1d:4af3)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
@@ -364,7 +348,7 @@ ViridianGymAfterBattleText1: ; 74b07 (1d:4b07)
db "@"
ViridianGymText3: ; 74b0c (1d:4b0c)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader1
call TalkToTrainer
jp TextScriptEnd
@@ -382,7 +366,7 @@ ViridianGymAfterBattleText2: ; 74b20 (1d:4b20)
db "@"
ViridianGymText4: ; 74b25 (1d:4b25)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
@@ -400,7 +384,7 @@ ViridianGymAfterBattleText3: ; 74b39 (1d:4b39)
db "@"
ViridianGymText5: ; 74b3e (1d:4b3e)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader3
call TalkToTrainer
jp TextScriptEnd
@@ -418,7 +402,7 @@ ViridianGymAfterBattleText4: ; 74b52 (1d:4b52)
db "@"
ViridianGymText6: ; 74b57 (1d:4b57)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader4
call TalkToTrainer
jp TextScriptEnd
@@ -436,7 +420,7 @@ ViridianGymAfterBattleText5: ; 74b6b (1d:4b6b)
db "@"
ViridianGymText7: ; 74b70 (1d:4b70)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader5
call TalkToTrainer
jp TextScriptEnd
@@ -454,7 +438,7 @@ ViridianGymAfterBattleText6: ; 74b84 (1d:4b84)
db "@"
ViridianGymText8: ; 74b89 (1d:4b89)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader6
call TalkToTrainer
jp TextScriptEnd
@@ -472,7 +456,7 @@ ViridianGymAfterBattleText7: ; 74b9d (1d:4b9d)
db "@"
ViridianGymText9: ; 74ba2 (1d:4ba2)
- db $08 ; asm
+ TX_ASM
ld hl, ViridianGymTrainerHeader7
call TalkToTrainer
jp TextScriptEnd
@@ -490,17 +474,16 @@ ViridianGymAfterBattleText8: ; 74bb6 (1d:4bb6)
db "@"
ViridianGymText10: ; 74bbb (1d:4bbb)
- db $08 ; asm
- ld a, [wd751]
- bit 1, a
- jr nz, .asm_1abd1 ; 0x74bc1
+ TX_ASM
+ CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
+ jr nz, .asm_1abd1
ld hl, ViridianGymText_74bd4
call PrintText
- jr .asm_6064d ; 0x74bc9
-.asm_1abd1 ; 0x74bcb
+ jr .asm_6064d
+.asm_1abd1
ld hl, ViridianGymText_74bd9
call PrintText
-.asm_6064d ; 0x74bd1
+.asm_6064d
jp TextScriptEnd
ViridianGymText_74bd4: ; 74bd4 (1d:4bd4)