summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/bank01.asm32
-rw-r--r--src/engine/bank02.asm241
-rw-r--r--[-rwxr-xr-x]src/engine/bank03.asm1224
-rw-r--r--src/engine/bank04.asm153
-rw-r--r--src/engine/bank06.asm94
-rw-r--r--src/engine/bank07.asm124
-rw-r--r--src/engine/bank20.asm36
-rw-r--r--src/engine/effect_functions.asm12
-rw-r--r--src/engine/home.asm32
9 files changed, 1424 insertions, 524 deletions
diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm
index 081ae3a..9cdb098 100644
--- a/src/engine/bank01.asm
+++ b/src/engine/bank01.asm
@@ -510,7 +510,7 @@ OpenActivePokemonScreen: ; 4376 (1:4376)
; triggered by selecting the "Pkmn Power" item in the duel menu
DuelMenu_PkmnPower: ; 438e (1:438e)
- call $6431
+ call Func_6431
jp c, DuelMainInterface
call UseAttackOrPokemonPower
jp DuelMainInterface
@@ -1027,7 +1027,7 @@ EnergyDiscardCardListParameters: ; 46f3 (1:46f3)
db 4 ; number of items selectable without scrolling
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; triggered by selecting the "Attack" item in the duel menu
DuelMenu_Attack: ; 46fc (1:46fc)
@@ -1168,28 +1168,28 @@ AttackMenuParameters: ; 47e4 (1:47e4)
db 2 ; number of items
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; display the card page with id at wMovePageNumber of wLoadedCard1
-DisplayMovePage: ; $47ec (1:47ec)
+DisplayMovePage: ; 47ec (1:47ec)
ld a, [wMovePageNumber]
ld hl, MovePageDisplayPointerTable
jp JumpToFunctionInTable
-MovePageDisplayPointerTable: ; $47f5 (1:47f5)
+MovePageDisplayPointerTable: ; 47f5 (1:47f5)
dw DisplayMovePage_Move1Page1 ; MOVEPAGE_MOVE1_1
dw DisplayMovePage_Move1Page2 ; MOVEPAGE_MOVE1_2
dw DisplayMovePage_Move2Page1 ; MOVEPAGE_MOVE2_1
dw DisplayMovePage_Move2Page2 ; MOVEPAGE_MOVE2_2
; display MOVEPAGE_MOVE1_1
-DisplayMovePage_Move1Page1: ; $47fd (1:47fd)
+DisplayMovePage_Move1Page1: ; 47fd (1:47fd)
call DisplayCardPage_PokemonMove1Page1
jr SwitchMovePage
; display MOVEPAGE_MOVE1_2 if it exists. otherwise return in order
; to switch back to MOVEPAGE_MOVE1_1 and display it instead.
-DisplayMovePage_Move1Page2: ; $4802 (1:4802)
+DisplayMovePage_Move1Page2: ; 4802 (1:4802)
ld hl, wLoadedCard1Move1Description + 2
ld a, [hli]
or [hl]
@@ -1198,13 +1198,13 @@ DisplayMovePage_Move1Page2: ; $4802 (1:4802)
jr SwitchMovePage
; display MOVEPAGE_MOVE2_1
-DisplayMovePage_Move2Page1: ; $480d (1:480d)
+DisplayMovePage_Move2Page1: ; 480d (1:480d)
call DisplayCardPage_PokemonMove2Page1
jr SwitchMovePage
; display MOVEPAGE_MOVE2_2 if it exists. otherwise return in order
; to switch back to MOVEPAGE_MOVE2_1 and display it instead.
-DisplayMovePage_Move2Page2: ; $4812 (1:4812)
+DisplayMovePage_Move2Page2: ; 4812 (1:4812)
ld hl, wLoadedCard1Move2Description + 2
ld a, [hli]
or [hl]
@@ -1214,7 +1214,7 @@ DisplayMovePage_Move2Page2: ; $4812 (1:4812)
; switch to MOVEPAGE_MOVE*_2 if in MOVEPAGE_MOVE*_1 and vice versa.
; sets the next move page to switch to if Right or Left are pressed.
-SwitchMovePage: ; $481b (1:481b)
+SwitchMovePage: ; 481b (1:481b)
ld hl, wMovePageNumber
ld a, $01
xor [hl]
@@ -2152,7 +2152,7 @@ NoBasicPokemonCardListParameters: ; 4e37 (1:4e37)
db 7 ; number of items selectable without scrolling
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; used only during the practice duel with Sam.
; displays the list with the player's cards in hand, and the player's name above the list.
@@ -2664,7 +2664,7 @@ DoPracticeDuelAction: ; 51e7 (1:51e7)
jp JumpToFunctionInTable
PracticeDuelActionTable: ; 51f8 (1:51f8)
- dw $0000
+ dw NULL
dw PracticeDuel_DrawSevenCards
dw PracticeDuel_PlayGoldeen
dw PracticeDuel_PutStaryuInBench
@@ -3484,7 +3484,7 @@ ItemSelectionMenuParameters: ; 5708 (1:5708)
db 2 ; number of items
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
CardListParameters: ; 5710 (1:5710)
db 1, 3 ; cursor x, cursor y
@@ -5709,7 +5709,7 @@ Func_6423: ; 6423 (1:6423)
Func_6431: ; 6431 (1:6431)
xor a
ld [wSelectedDuelSubMenuItem], a
-
+
Func_6435:
call Func_64b0
ld hl, PlayAreaScreenMenuParameters_ActivePokemonIncluded
@@ -8262,7 +8262,7 @@ Func_73d8: ; 73d8 (1:73d8)
ld [hli], a
ld [hl], a
.asm_73ec
- ld hl, $7408
+ ld hl, Data_7408
call PlaceTextItems
call DrawDuelistPortraitsAndNames
ld a, [wOpponentDeckID]
@@ -8272,8 +8272,8 @@ Func_73d8: ; 73d8 (1:73d8)
lb bc, 15, 10
call WriteTwoByteNumberInTxSymbolFormat
ret
-; 0x7408
+Data_7408: ; 7408 (1:7408)
INCROM $7408, $7415
Func_7415: ; 7415 (1:7415)
diff --git a/src/engine/bank02.asm b/src/engine/bank02.asm
index 1e6179b..c72af73 100644
--- a/src/engine/bank02.asm
+++ b/src/engine/bank02.asm
@@ -1379,8 +1379,8 @@ Func_8764: ; 8764 (2:4764)
call LoadCursorTile
; reset ce5c and ce56
xor a
- ld [$ce5c], a
- ld [$ce56], a
+ ld [wce5c], a
+ ld [wce56], a
; draw play area screen for the turn player
ldh a, [hWhoseTurn]
@@ -1389,13 +1389,13 @@ Func_8764: ; 8764 (2:4764)
call DrawYourOrOppPlayAreaScreen
.swap
- ld a, [$ce56]
+ ld a, [wce56]
or a
jr z, .draw_menu
; if ce56 != 0, swap turn
call SwapTurn
xor a
- ld [$ce56], a
+ ld [wce56], a
.draw_menu
xor a
@@ -1430,7 +1430,7 @@ Func_8764: ; 8764 (2:4764)
ld l, a
call DrawYourOrOppPlayAreaScreen
xor a
- ld [$ce56], a
+ ld [wce56], a
.text
call DrawWideTextBox
@@ -1482,7 +1482,7 @@ PlayAreaMenuParameters: ; 8811 (2:4811)
db 2 ; number of items
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
Func_8819: ; 8819 (2:4819)
ld a, [wPrizeCardCursorPosition]
@@ -1506,7 +1506,7 @@ Func_8819: ; 8819 (2:4819)
ld a, c
add $40
- ld [$ce5c], a
+ ld [wce5c], a
ld a, c
add DUELVARS_PRIZE_CARDS
call GetTurnDuelistVariable
@@ -1524,7 +1524,7 @@ Func_8849: ; 8849 (2:4849)
call CreateDeckCardList
ret c
ld a, %01111111
- ld [$ce5c], a
+ ld [wce5c], a
ld a, [wDuelTempList]
; fallthrough
@@ -1535,11 +1535,11 @@ Func_8849: ; 8849 (2:4849)
; with upper bit set if turn was swapped
Func_8855: ; 8855 (2:4855)
ld b, a
- ld a, [$ce5c]
+ ld a, [wce5c]
or a
jr nz, .display
ld a, b
- ld [$ce5c], a
+ ld [wce5c], a
.display
ld a, b
call LoadCardDataToBuffer1_FromDeckIndex
@@ -1550,15 +1550,15 @@ Func_8855: ; 8855 (2:4855)
pop af
; if ce56 != 0, swap turn
- ld a, [$ce56]
+ ld a, [wce56]
or a
jr z, .dont_swap
call SwapTurn
- ld a, [$ce5c]
+ ld a, [wce5c]
or %10000000
ret
.dont_swap
- ld a, [$ce5c]
+ ld a, [wce5c]
ret
Func_8883: ; 8883 (2:4883)
@@ -1597,7 +1597,7 @@ Func_8883: ; 8883 (2:4883)
call SwapTurn
ld a, $01
- ld [$ce56], a
+ ld [wce56], a
jp Func_8764.loop_2
Func_8764_TransitionTable: ; 88c2 (2:48c2)
@@ -1866,13 +1866,13 @@ Func_8cd4: ; 8cd4 (2:4cd4)
Func_8cf9: ; 8cf9 (2:4cf9)
call EnableSRAM
xor a
- ld hl, $b703
+ ld hl, sb703
ld [hli], a
inc a
ld [hli], a
ld [hli], a
ld [hl], a
- ld [$b701], a
+ ld [sb701], a
call DisableSRAM
Func_8d0b: ; 8d0b (2:4d0b)
ld hl, Unknown_8d15
@@ -2106,7 +2106,7 @@ Func_8f05: ; 8f05 (2:4f05)
ret
Func_8f38: ; 8f38 (2:4f38)
- ld hl, $b701
+ ld hl, sb701
call EnableSRAM
ld a, [hli]
ld h, [hl]
@@ -2127,7 +2127,7 @@ Func_8f38: ; 8f38 (2:4f38)
inc hl
ld [hl], $20
inc hl
- ld de, $c592
+ ld de, wc592
ld a, [de]
inc de
ld [hli], a
@@ -2138,7 +2138,7 @@ Func_8f38: ; 8f38 (2:4f38)
ld [hli], a
xor a
ld [hl], a
- ld hl, $b701
+ ld hl, sb701
call EnableSRAM
ld e, [hl]
inc hl
@@ -2447,17 +2447,17 @@ Func_9152: ; 9152 (2:5152)
Func_9168: ; 9168 (2:5168)
ld [hffb5], a
call Func_8d56
- ld de, $0000
- ld bc, $1404
+ lb de, 0, 0
+ lb bc, 20, 4
call DrawRegularTextBox
- ld de, $0003
- ld bc, $1404
+ lb de, 0, 3
+ lb bc, 20, 4
call DrawRegularTextBox
- ld de, $0006
- ld bc, $1404
+ lb de, 0, 6
+ lb bc, 20, 4
call DrawRegularTextBox
- ld de, $0009
- ld bc, $1404
+ lb de, 0, 9
+ lb bc, 20, 4
call DrawRegularTextBox
ld hl, Unknown_9242
call PlaceTextItems
@@ -2709,13 +2709,19 @@ CalculateOnesAndTensDigits: ; 98a6 (2:58a6)
pop af
ret
- INCROM $98c7, $9e41
+ INCROM $98c7, $9a6d
+
+Func_9a6d: ; 9a6d (2:5a6d)
+ INCROM $9a6d, $9e41
Func_9e41: ; 9e41 (2:5e41)
INCROM $9e41, $a288
Func_a288: ; a288 (2:6288)
- INCROM $a288, $b177
+ INCROM $a288, $adfe
+
+Func_adfe: ; adfe (2:6dfe)
+ INCROM $adfe, $b177
Func_b177: ; b177 (2:7177)
INCROM $b177, $b19d
@@ -2728,20 +2734,20 @@ Func_b19d: ; b19d (2:719d)
ld [hl], e
inc hl
ld [hl], d
- call $7379
+ call Func_b379
ld a, $3c
ld [wd0a5], a
xor a
.asm_b1b3
- ld hl, $76fb
- call $5a6d
- call $7704
- call $7545
+ ld hl, Unknown_b6fb
+ call Func_9a6d
+ call Func_b704
+ call Func_b545
ldtx hl, PleaseSelectDeckText
call DrawWideTextBox_PrintText
ld de, $0224 ; PleaseSelectDeckText?
- call $7285
- call $729f
+ call Func_b285
+ call Func_b29f
jr c, .asm_b1b3
cp $ff
ret z
@@ -2751,15 +2757,16 @@ Func_b19d: ; b19d (2:719d)
ld [wd088], a
call ResetCheckMenuCursorPositionAndBlink
call DrawWideTextBox
- ld hl, $7274
+ ld hl, Unknown_b274
call PlaceTextItems
+.asm_b1e7
call DoFrame
call HandleCheckMenuInput
- jp nc, $71e7
+ jp nc, .asm_b1e7
cp $ff
jr nz, .asm_b1fa
ld a, [wd086]
- jp $71b3
+ jp .asm_b1b3
.asm_b1fa
ld a, [wCheckMenuCursorYPosition]
@@ -2768,66 +2775,108 @@ Func_b19d: ; b19d (2:719d)
add [hl]
or a
jr nz, .asm_b22c
- call $735b
+ call Func_b35b
jr nc, .asm_b216
- call $7592
+ call Func_b592
ld a, [wd086]
- jp c, $71b3
+ jp c, .asm_b1b3
jr .asm_b25e
.asm_b216
- ld hl, $0272
+ ldtx hl, OKIfFileDeletedText
call YesOrNoMenuWithText
ld a, [wd086]
jr c, .asm_b1b3
- call $7592
+ call Func_b592
ld a, [wd086]
- jp c, $71b3
+ jp c, .asm_b1b3
jr .asm_b25e
.asm_b22c
cp $1
jr nz, .asm_b24c
- call $735b
+ call Func_b35b
jr c, .asm_b240
- call $76ca
+ call Func_b6ca
ld a, [wd086]
- jp c, $71b3
+ jp c, .asm_b1b3
jr .asm_b25e
.asm_b240
ld hl, WaitForVBlank
call DrawWideTextBox_WaitForInput
ld a, [wd086]
- jp $71b3
+ jp .asm_b1b3
.asm_b24c
cp $2
jr nz, .asm_b273
- call $735b
+ call Func_b35b
jr c, .asm_b240
- call $77c6
+ call Func_b7c6
ld a, [wd086]
- jp nc, $71b3
+ jp nc, .asm_b1b3
.asm_b25e
ld a, [wd087]
ld [wcea1], a
- call $7379
- call $7704
- call $7545
+ call Func_b379
+ call Func_b704
+ call Func_b545
ld a, [wd086]
- jp $71b3
+ jp .asm_b1b3
.asm_b273
ret
-; 0xb274
- INCROM $b274, $ba04
+Unknown_b274: ; b274 (2:7274)
+ INCROM $b274, $b285
+
+Func_b285: ; b285 (2:7285)
+ INCROM $b285, $b29f
+
+Func_b29f: ; b29f (2:729f)
+ INCROM $b29f, $b35b
+
+Func_b35b: ; b35b (2:735b)
+ INCROM $b35b, $b379
+
+Func_b379: ; b379 (2:7379)
+ INCROM $b379, $b3fe
+
+Unknown_b3fe: ; b3fe (2:73fe)
+ INCROM $b3fe, $b545
+
+Func_b545: ; b545 (2:7545)
+ INCROM $b545, $b592
+
+Func_b592: ; b592 (2:7592)
+ INCROM $b592, $b625
+
+Func_b625: ; b625 (2:7625)
+ INCROM $b625, $b644
+
+Func_b644: ; b644 (2:7644)
+ INCROM $b644, $b653
+
+Func_b653: ; b653 (2:7653)
+ INCROM $b653, $b6ca
+
+Func_b6ca: ; b6ca (2:76ca)
+ INCROM $b6ca, $b6fb
+
+Unknown_b6fb: ; b6fb (2:76fb)
+ INCROM $b6fb, $b704
+
+Func_b704: ; b704 (2:7704)
+ INCROM $b704, $b7c6
+
+Func_b7c6: ; b7c6 (2:77c6)
+ INCROM $b7c6, $ba04
Func_ba04: ; ba04 (2:7a04)
ld a, [wd0a9]
- ld hl, $7b83
+ ld hl, Data_bb83
sla a
ld c, a
ld b, $0
@@ -2840,17 +2889,20 @@ Func_ba04: ; ba04 (2:7a04)
ld [de], a
xor a
ld [wcea1], a
- call $7b97
+ call Func_bb97
ld a, $5
ld [wd0a5], a
xor a
- ld hl, $7b6e
+ ; fallthrough
+
+Func_ba25: ; ba25 (2:7a25)
+ ld hl, Func_bb6e
call InitializeMenuParameters
ldtx hl, PleaseSelectDeckText
call DrawWideTextBox_PrintText
ld a, $5
ld [wNamingScreenKeyboardHeight], a
- ld hl, $73fe
+ ld hl, Unknown_b3fe
ld d, h
ld a, l
ld hl, wcece
@@ -2882,7 +2934,7 @@ Func_ba04: ; ba04 (2:7a04)
ld b, $0
ld hl, wd00d
add hl, bc
- call $7653
+ call Func_b653
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2893,19 +2945,19 @@ Func_ba04: ; ba04 (2:7a04)
ld e, l
ld a, [hl]
pop hl
- call $7644
+ call Func_b644
or a
jr z, .asm_ba40
ld a, $1
call PlaySFXConfirmOrCancel
- call $7653
+ call Func_b653
call Func_8e1f
- call $7644
+ call Func_b644
ld a, [wd087]
ld [wcea1], a
- call $7b97
+ call Func_bb97
ld a, [wd086]
- jp $7a25
+ jp Func_ba25
.asm_baa3
call DrawCursor2
@@ -2915,21 +2967,22 @@ Func_ba04: ; ba04 (2:7a04)
ld [wd086], a
ldh a, [hCurMenuItem]
cp $ff
- jp z, $7b0d
+ jp z, .asm_bb0d
ld [wd088], a
call ResetCheckMenuCursorPositionAndBlink
xor a
ld [wce5e], a
call DrawWideTextBox
- ld hl, $7b76
+ ld hl, Data_bb76
call PlaceTextItems
+.asm_bacc
call DoFrame
- call $46ac
- jp nc, $7acc
+ call HandleCheckMenuInput_YourOrOppPlayArea
+ jp nc, .asm_bacc
cp $ff
jr nz, .asm_badf
ld a, [wd086]
- jp $7a25
+ jp Func_ba25
.asm_badf
ld a, [wCheckMenuCursorYPosition]
@@ -2938,20 +2991,21 @@ Func_ba04: ; ba04 (2:7a04)
add [hl]
or a
jr nz, .asm_bb09
- call $7653
- call $77c6
- call $7644
+ call Func_b653
+ call Func_b7c6
+ call Func_b644
ld a, [wd086]
- jp nc, $7a25
+ jp nc, Func_ba25
ld a, [wd087]
ld [wcea1], a
- call $7b97
+ call Func_bb97
ld a, [wd086]
- jp $7a25
+ jp Func_ba25
.asm_bb09
cp $1
jr nz, .asm_bb12
+.asm_bb0d
xor a
ld [wd0a4], a
ret
@@ -2979,7 +3033,7 @@ Func_ba04: ; ba04 (2:7a04)
ld a, [hl]
ld [bc], a
pop hl
- call $7653
+ call Func_b653
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2990,20 +3044,29 @@ Func_ba04: ; ba04 (2:7a04)
ld e, l
ld a, [hl]
pop hl
- call $7644
+ call Func_b644
or a
- jp z, $7a40
+ jp z, .asm_ba40
ld a, $1
call PlaySFXConfirmOrCancel
- call $7653
+ call Func_b653
xor a
- call $6dfe
- call $7644
+ call Func_adfe
+ call Func_b644
ld a, [wd087]
ld [wcea1], a
- call $7b97
+ call Func_bb97
ld a, [wd086]
- jp $7a25
-; 0xbb6e
+ jp Func_ba25
+
+Func_bb6e: ; bb6e (2:7b6e)
+ INCROM $bb6e, $bb76
+
+Data_bb76: ; bb76 (2:7b76)
+ INCROM $bb76, $bb83
+
+Data_bb83: ; bb83 (2:7b83)
+ INCROM $bb83, $bb97
- INCROM $bb6e, $c000
+Func_bb97: ; bb97 (2:7b97)
+ INCROM $bb97, $c000
diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm
index 2e3f0d9..3608d97 100755..100644
--- a/src/engine/bank03.asm
+++ b/src/engine/bank03.asm
@@ -468,7 +468,16 @@ Func_c36a: ; c36a (3:436a)
ret
; 0xc37a
- INCROM $c37a, $c41c
+ INCROM $c37a, $c38f
+
+Func_c38f: ; c38f (3:438f)
+ INCROM $c38f, $c3ca
+
+Func_c3ca: ; c3ca (3:43ca)
+ INCROM $c3ca, $c3ee
+
+Func_c3ee: ; c3ee (3:43ee)
+ INCROM $c3ee, $c41c
Func_c41c: ; c41c (3:441c)
ld a, [wd332]
@@ -1071,7 +1080,7 @@ PC_c7ea: ; c7ea (3:47ea)
call DoFrameIfLCDEnabled
ldtx hl, TurnedPCOnText
call PrintScrollableText_NoTextBoxLabel
- call $484e
+ call Func_c84e
.asm_c801
ld a, $1
call Func_c29b
@@ -1088,9 +1097,9 @@ PC_c7ea: ; c7ea (3:47ea)
jr z, .asm_c82f
call Func_c2a3
ld a, [wd0b9]
- ld hl, $4846
+ ld hl, PointerTable_c846
call JumpToFunctionInTable
- ld hl, $484e
+ ld hl, Func_c84e
call Func_c32b
jr .asm_c801
.asm_c82f
@@ -1103,9 +1112,27 @@ PC_c7ea: ; c7ea (3:47ea)
ld [wd112], a
call Func_39fc
ret
-; 0xc846
- INCROM $c846, $c891
+PointerTable_c846: ; c846 (3:4846)
+ dw Func_c859
+ dw Func_c86d
+ dw Func_c872
+ dw Func_c877
+
+Func_c84e: ; c84e (3:484e)
+ INCROM $c84e, $c859
+
+Func_c859: ; c859 (3:4859)
+ INCROM $c859, $c86d
+
+Func_c86d: ; c86d (3:486d)
+ INCROM $c86d, $c872
+
+Func_c872: ; c872 (3:4872)
+ INCROM $c872, $c877
+
+Func_c877: ; c877 (3:4877)
+ INCROM $c877, $c891
Func_c891: ; c891 (3:4891)
push hl
@@ -1161,7 +1188,7 @@ Func_c8ba: ; c8ba (3:48ba)
call Func_c241
call Func_c915
call DoFrameIfLCDEnabled
- call $2c62
+ call PrintScrollableText_WithTextBoxLabel
ret
Func_c8ed: ; c8ed (3:48ed)
@@ -1201,7 +1228,7 @@ Func_c915: ; c915 (3:4915)
ld de, $000c
ld bc, $1406
call AdjustCoordinatesForBGScroll
- call $43ca
+ call Func_c3ca
pop de
pop bc
ret
@@ -1804,9 +1831,10 @@ SetScriptPointer: ; cc8b (3:4c8b)
inc hl
ld [hl], b
ret
-; 0xcc92
- INCROM $cc92, $cc96
+GetScriptArgs5AfterPointer: ; cc92 (3:4c92)
+ ld a, $5
+ jr GetScriptArgsAfterPointer
GetScriptArgs1AfterPointer: ; cc96 (3:4c96)
ld a, $1
@@ -2397,7 +2425,11 @@ Func_cfd4: ; cfd4 (3:4fd4)
jp IncreaseScriptPointerBy1
Data_d006: ; d006 (3:5006)
- INCROM $d006, $d00b
+ db GRAVELER
+ db OMASTAR
+ db PARASECT
+ db RAPIDASH
+ db WEEZING
Func_d00b: ; d00b (3:500b)
sla c
@@ -2549,11 +2581,11 @@ Func_d103: ; d103 (3:5103)
ld [wTempNPC], a
call FindLoadedNPC
jr c, .asm_d119
- call $54d1
+ call ScriptCommand_JumpIfFlagNonzero2.passTryJump
jr .asm_d11c
.asm_d119
- call $54e6
+ call ScriptCommand_JumpIfFlagZero2.fail
.asm_d11c
pop af
@@ -2581,7 +2613,7 @@ Func_d135: ; d135 (3:5135)
rlca
ld c, a
ld b, $0
- ld hl, $5151
+ ld hl, MapNames - 2
add hl, bc
ld e, [hl]
inc hl
@@ -2592,7 +2624,19 @@ Func_d135: ; d135 (3:5135)
ld [hl], d
jp IncreaseScriptPointerBy2
- INCROM $d153, $d16b
+MapNames: ; d153 (3:5153)
+ tx MasonLaboratoryMapNameText
+ tx MrIshiharasHouseMapNameText
+ tx FightingClubMapNameText
+ tx RockClubMapNameText
+ tx WaterClubMapNameText
+ tx LightningClubMapNameText
+ tx GrassClubMapNameText
+ tx PsychicClubMapNameText
+ tx ScienceClubMapNameText
+ tx FireClubMapNameText
+ tx ChallengeHallMapNameText
+ tx PokemonDomeMapNameText
Func_d16b: ; d16b (3:516b)
ld hl, wCurrentNPCNameTx
@@ -2646,7 +2690,7 @@ Func_d1b3: ; d1b3 (3:51b3)
; fallthrough
.asm_d1c3
- ld hl, $51dc
+ ld hl, TradeCardNames
asm_d1c6:
ld e, a
add a
@@ -2662,7 +2706,51 @@ asm_d1c6:
ld [wTxRam2 + 1], a
jp IncreaseScriptPointerBy1
- INCROM $d1dc, $d209
+TradeCardNames: ; d1dc (3:51dc)
+ db MEWTWO2
+ tx MewtwoTradeCardName
+
+ db MEW1
+ tx MewTradeCardName
+
+ db ARCANINE1
+ tx ArcanineTradeCardName
+
+ db PIKACHU3
+ tx PikachuTradeCardName
+
+ db PIKACHU4
+ tx PikachuTradeCardName
+
+ db SURFING_PIKACHU1
+ tx SurfingPikachuTradeCardName
+
+ db SURFING_PIKACHU2
+ tx SurfingPikachuTradeCardName
+
+ db ELECTABUZZ1
+ tx ElectabuzzTradeCardName
+
+ db SLOWPOKE1
+ tx SlowpokeTradeCardName
+
+ db MEWTWO3
+ tx MewtwoTradeCardName
+
+ db MEWTWO2
+ tx MewtwoTradeCardName
+
+ db MEW1
+ tx MewTradeCardName
+
+ db JIGGLYPUFF1
+ tx JigglypuffTradeCardName
+
+ db SUPER_ENERGY_RETRIEVAL
+ tx SuperEnergyRetrievalTradeCardName
+
+ db FLYING_PIKACHU
+ tx FlyingPikachuTradeCardName
Func_d209: ; d209 (3:5209)
get_flag_value EVENT_FLAG_71
@@ -2696,13 +2784,16 @@ Func_d209: ; d209 (3:5209)
LegendaryCards: ; d234 (3:5234)
db ZAPDOS3
- tx Text03f0
+ tx ZapdosLegendaryCardName
+
db MOLTRES2
- tx Text03f1
+ tx MoltresLegendaryCardName
+
db ARTICUNO2
- tx Text03f2
+ tx ArticunoLegendaryCardName
+
db DRAGONITE1
- tx Text03f3
+ tx DragoniteLegendaryCardName
Flags_d240: ; d240 (3:5240)
db EVENT_FLAG_6D
@@ -2726,39 +2817,37 @@ ScriptCommand_ChooseDeckToDuelAgainstMultichoice: ; d24c (3:524c)
.multichoice_menu_args ; d25e
dw NULL ; NPC title for textbox under menu
- tx Text03f9 ; text for textbox under menu
+ tx SelectDeckToDuelText ; text for textbox under menu
dw MultichoiceTextbox_ConfigTable_ChooseDeckToDuelAgainst ; location of table configuration in bank 4
db $03 ; the value to return when b is pressed
dw wMultichoiceTextboxResult_ChooseDeckToDuelAgainst ; ram location to return result into
dw .text_entries ; location of table containing text entries
.text_entries ; d269
- tx Text03f6
- tx Text03f7
- tx Text03f8
+ tx LightningAndFireDeckChoiceText
+ tx WaterAndFightingDeckChoiceText
+ tx GrassAndPsychicDeckChoiceText
- INCROM $d26f, $d271
+ dw NULL
ScriptCommand_ChooseStarterDeckMultichoice: ; d271 (3:5271)
ld hl, .multichoice_menu_args
xor a
call ShowMultichoiceTextbox
jp IncreaseScriptPointerBy1
-; 0xd27b
.multichoice_menu_args ; d27b
dw NULL ; NPC title for textbox under menu
- tx Text03fd ; text for textbox under menu
+ tx SelectDeckToTakeText ; text for textbox under menu
dw MultichoiceTextbox_ConfigTable_ChooseDeckStarterDeck ; location of table configuration in bank 4
db $00 ; the value to return when b is pressed
- dw $d693 ; ram location to return result into
+ dw wd693 ; ram location to return result into
dw .text_entries ; location of table containing text entries
.text_entries
- tx Text03fa
- tx Text03fb
- tx Text03fc
-
+ tx CharmanderAndFriendsDeckChoiceText
+ tx SquirtleAndFriendsDeckChoiceText
+ tx BulbasaurAndFriendsDeckChoiceText
; displays a textbox with multiple choices and a cursor.
; takes as an argument in h1 a pointer to a table
@@ -2855,11 +2944,10 @@ ScriptCommand_ShowSamNormalMultichoice: ; d2f6 (3:52f6)
xor a
ld [wMultichoiceTextboxResult_Sam], a
jp IncreaseScriptPointerBy1
-; 0xd30c
.multichoice_menu_args ; d30c
tx SamNPCName ; NPC title for textbox under menu
- tx Text03fe ; text for textbox under menu
+ tx HowCanIHelpText ; text for textbox under menu
dw SamNormalMultichoice_ConfigurationTable ; location of table configuration in bank 4
db $03 ; the value to return when b is pressed
dw wMultichoiceTextboxResult_Sam ; ram location to return result into
@@ -3002,9 +3090,9 @@ Func_d408: ; d408 (3:5408)
ld [wd111], a
jp IncreaseScriptPointerBy2
-Func_d40f: ; d40f (3:540f)
+ScriptCommand_PlaySong: ; d40f (3:540f)
ld a, c
- call CallPlaySong
+ call ScriptPlaySong
jp IncreaseScriptPointerBy2
ScriptCommand_PlaySFX: ; d416 (3:5416)
@@ -3061,7 +3149,7 @@ ScriptCommand_JumpIfFlagZero1: ; d460 (3:5460)
ld a, c
call GetEventFlagValue
or a
- jr z, ScriptCommand_JumpIfFlagZero1.passTryJump
+ jr z, .passTryJump
.fail
call SetScriptControlByteFail
@@ -3144,7 +3232,7 @@ ScriptCommand_JumpIfFlagNonzero2: ; d4ca (3:54ca)
or a
jr z, ScriptCommand_JumpIfFlagZero2.fail
-.passTryJump:
+.passTryJump
call SetScriptControlBytePass
call GetScriptArgs2AfterPointer
jr z, .noJumpArgs
@@ -3210,8 +3298,8 @@ MasonLaboratoryAfterDuel: ; d53b (3:553b)
.after_duel_table
db NPC_SAM
db NPC_SAM
- dw $568a
- dw $569f
+ dw Script_BeatSam
+ dw Script_LostToSam
db $00
MasonLabLoadMap: ; d549 (3:5549)
@@ -3248,27 +3336,222 @@ ChallengeMachineObjectTable: ; d572 (3:5572)
Script_ChallengeMachine: ; d57d (3:557d)
start_script
run_command Func_ccdc
- tx Text05bd
+ tx ItsTheChallengeMachineText
run_command Func_d43d
quit_script_fully
Script_Tech1: ; d583 (3:5583)
- INCROM $d583, $d5ca
+ lb bc, 0, EnergyCardListEnd - EnergyCardList
+ ld hl, EnergyCardList
+.count_loop
+ ld a, [hli]
+ call GetCardCountInCollection
+ add b
+ ld b, a
+ dec c
+ jr nz, .count_loop
+ ld a, b
+ cp 10
+ jr c, .low_on_energies
+
+ start_script
+ jump_if_flag_zero_2 EVENT_RECEIVED_LEGENDARY_CARD, NULL
+ print_variable_text Tech1MasterMedalExplanationText, Tech1AutoDeckMachineExplanationText
+ quit_script_fully
+
+.low_on_energies
+ ld c, EnergyCardListEnd - EnergyCardList
+ ld hl, EnergyCardList
+.next_energy_card
+ ld b, 10
+ ld a, [hli]
+.add_loop
+ push af
+ call AddCardToCollection
+ pop af
+ dec b
+ jr nz, .add_loop
+ dec c
+ jr nz, .next_energy_card
+
+ start_script
+ print_text_string Tech1FewEnergyCardsText
+ pause_song
+ play_song MUSIC_BOOSTER_PACK
+ print_text_string Tech1ReceivedEnergyCardsText
+ wait_for_song_to_finish
+ resume_song
+ print_text_quit_fully Tech1GoodbyeText
+
+EnergyCardList: ; d5c4 (3:55c4)
+ db GRASS_ENERGY
+ db FIRE_ENERGY
+ db WATER_ENERGY
+ db LIGHTNING_ENERGY
+ db FIGHTING_ENERGY
+ db PSYCHIC_ENERGY
+EnergyCardListEnd:
Script_Tech2: ; d5ca (3:55ca)
- INCROM $d5ca, $d5d5
+ start_script
+ jump_if_flag_zero_2 EVENT_RECEIVED_LEGENDARY_CARD, NULL
+ print_variable_text Tech2LegendaryCardsExplanationText, Tech2LegendaryCardsCongratsText
+ quit_script_fully
Script_Tech3: ; d5d5 (3:55d5)
- INCROM $d5d5, $d5e0
+ start_script
+ jump_if_flag_zero_2 EVENT_RECEIVED_LEGENDARY_CARD, NULL
+ print_variable_text Tech3BoosterPackExplanationText, Tech3LegendaryCardsCongratsText
+ quit_script_fully
Script_Tech4: ; d5e0 (3:55e0)
- INCROM $d5e0, $d5f9
+ start_script
+ jump_if_flag_zero_2 EVENT_RECEIVED_LEGENDARY_CARD, NULL
+ print_variable_text Tech4ClubsExplanationText, Tech4DefeatedTheGrandMastersText
+ quit_script_fully
+
+Preload_Tech5: ; d5eb (3:55eb)
+ get_flag_value EVENT_RECEIVED_LEGENDARY_CARD
+ or a
+ jr z, .skip
+ ld hl, wLoadNPCXPos
+ inc [hl]
+ inc [hl]
+.skip
+ scf
+ ret
Script_Tech5: ; d5f9 (3:55f9)
- INCROM $d5f9, $d61d
+ start_script
+ jump_if_flag_zero_2 EVENT_RECEIVED_LEGENDARY_CARD, NULL
+ print_variable_text Tech5DiaryAndEmailExplanationText, Tech5ChallengeMachineExplanationText
+ quit_script_fully
+
+Preload_Sam: ; d604 (3:5604)
+ get_flag_value EVENT_FLAG_3E
+ cp $01
+ jr nc, .skip
+ ld a, $0a
+ ld [wLoadNPCXPos], a
+ ld a, $08
+ ld [wLoadNPCYPos], a
+ ld a, SOUTH
+ ld [wLoadNPCDirection], a
+.skip
+ scf
+ ret
Script_Sam: ; d61d (3:561d)
- INCROM $d61d, $d727
+ start_script
+ show_sam_normal_multichoice
+ close_text_box
+ jump_if_flag_equal EVENT_FLAG_75, $00, .ows_d63b
+ jump_if_flag_equal EVENT_FLAG_75, $02, Script_d6b0
+ jump_if_flag_equal EVENT_FLAG_75, $03, .ows_d637
+ print_text_string Text05cb
+ ask_question_jump Text05cc, .ows_d647
+.ows_d637
+ print_text_string Text05cd
+ quit_script_fully
+
+.ows_d63b
+ print_text_string Text05ce
+ ask_question_jump Text05cf, .ows_d647
+ print_text_string Text05d0
+ quit_script_fully
+
+.ows_d647
+ close_text_box
+ jump_if_player_coords_match 4, 12, .ows_above_sam
+ jump_if_player_coords_match 2, 14, .ows_left_of_sam
+; ows_below_sam
+ set_player_direction WEST
+ move_player WEST, 1
+ set_player_direction NORTH
+ move_player NORTH, 1
+.ows_left_of_sam
+ set_player_direction NORTH
+ move_player NORTH, 1
+ set_player_direction EAST
+ move_player EAST, 1
+.ows_above_sam
+ set_player_direction EAST
+ move_player EAST, 1
+ move_player EAST, 1
+ move_player EAST, 1
+ set_player_direction SOUTH
+ move_player SOUTH, 1
+ set_player_direction WEST
+ move_active_npc NPCMovement_d889
+ jump_if_flag_equal EVENT_FLAG_75, $00, .ows_d685
+ start_battle PRIZES_2, SAMS_PRACTICE_DECK_ID, MUSIC_DUEL_THEME_1
+ quit_script_fully
+
+.ows_d685
+ start_battle PRIZES_2, SAMS_NORMAL_DECK_ID, MUSIC_DUEL_THEME_1
+ quit_script_fully
+
+Script_BeatSam: ; d68a (3:568a)
+ start_script
+ jump_if_flag_equal EVENT_FLAG_3E, $01, Script_d82d
+ jump_if_flag_equal EVENT_FLAG_75, $01, Script_d6ad
+ print_text_string Text05d1
+ give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
+ print_text_quit_fully Text05d2
+
+Script_LostToSam: ; d69f (3:569f)
+ start_script
+ jump_if_flag_equal EVENT_FLAG_3E, $01, Script_d82d
+ jump_if_flag_equal EVENT_FLAG_75, $01, Script_d6ad
+ print_text_quit_fully Text05d3
+
+Script_d6ad:
+ print_text_quit_fully Text05d4
+
+Script_d6b0:
+ print_text_string Text05d5
+.ows_d6b3
+ close_text_box
+ show_sam_tutorial_multichoice
+ close_text_box
+ jump_if_flag_equal EVENT_FLAG_75, $07, Script_Sam.ows_d637
+ jump_if_flag_equal EVENT_FLAG_75, $01, .ows_d6df
+ jump_if_flag_equal EVENT_FLAG_75, $02, .ows_d6e5
+ jump_if_flag_equal EVENT_FLAG_75, $03, .ows_d6eb
+ jump_if_flag_equal EVENT_FLAG_75, $04, .ows_d6f1
+ jump_if_flag_equal EVENT_FLAG_75, $05, .ows_d6f7
+ jump_if_flag_equal EVENT_FLAG_75, $06, .ows_d6fd
+ print_text_string Text05d6
+ script_jump .ows_d6b3
+.ows_d6df
+ print_text_string Text05d7
+ script_jump .ows_d6b3
+.ows_d6e5
+ print_text_string Text05d8
+ script_jump .ows_d6b3
+.ows_d6eb
+ print_text_string Text05d9
+ script_jump .ows_d6b3
+.ows_d6f1
+ print_text_string Text05da
+ script_jump .ows_d6b3
+.ows_d6f7
+ print_text_string Text05db
+ script_jump .ows_d6b3
+.ows_d6fd
+ print_text_string Text05dc
+ script_jump .ows_d6b3
+
+Func_d703: ; d703 (3:5703)
+ get_flag_value EVENT_RECEIVED_LEGENDARY_CARD
+ or a
+ ret z
+ ld a, $0a
+ farcall Func_80ba4
+ ret
+
+Preload_DrMason: ; d710 (3:5710)
+ INCROM $d710, $d727
Script_DrMason: ; d727 (3:5727)
INCROM $d727, $d753
@@ -3381,9 +3664,12 @@ Script_d827: ; d827 (3:5827)
start_script
start_battle PRIZES_2, SAMS_PRACTICE_DECK_ID, MUSIC_DUEL_THEME_1
quit_script_fully
-; 0xd82d
- INCROM $d82d, $d834
+Script_d82d:
+ close_advanced_text_box
+ set_next_npc_and_script $01, AfterTutorialBattleScript
+ end_script_loop
+ ret
AfterTutorialBattleScript: ; d834 (3:5834)
start_script
@@ -3414,8 +3700,7 @@ AfterTutorialBattleScript: ; d834 (3:5834)
print_text_string Text05f4
close_text_box
pause_song
- run_command Func_d40f
- try_give_medal_pc_packs
+ play_song MUSIC_BOOSTER_PACK
run_command Func_ccdc
tx Text05f5
wait_for_song_to_finish
@@ -3440,6 +3725,7 @@ NPCMovement_d882: ; d882 (3:5882)
db WEST
db WEST
db SOUTH
+NPCMovement_d889: ; d889 (3:5889)
db EAST | NO_MOVE
db $ff
@@ -3468,9 +3754,21 @@ NPCMovement_d896: ; d896 (3:5896)
db EAST
db SOUTH | NO_MOVE
db $ff
-; 0xd89f
- INCROM $d89f, $d8bb
+DeckMachineRoomAfterDuel: ; d89f (3:589f)
+ ld hl, .after_duel_table
+ call FindEndOfBattleScript
+ ret
+
+.after_duel_table
+ db NPC_AARON
+ db NPC_AARON
+ dw Script_BeatAaron
+ dw Script_LostToAaron
+ db $00
+
+DeckMachineRoomCloseTextBox: ; d8ad (3:58ad)
+ INCROM $d8ad, $d8bb
Script_Tech6: ; d8bb (3:58bb)
INCROM $d8bb, $d8c6
@@ -3482,7 +3780,13 @@ Script_Tech8: ; d8d1 (3:58d1)
INCROM $d8d1, $d8dd
Script_Aaron: ; d8dd (3:58dd)
- INCROM $d8dd, $d932
+ INCROM $d8dd, $d903
+
+Script_BeatAaron: ; d903 (3:5903)
+ INCROM $d903, $d92e
+
+Script_LostToAaron: ; d92e (3:592e)
+ INCROM $d92e, $d932
Script_d932: ; d932 (3:5932)
start_script
@@ -3494,9 +3798,33 @@ Script_d932: ; d932 (3:5932)
.ows_d93c
open_deck_machine $09
quit_script_fully
-; 0xd93f
- INCROM $d93f, $dadd
+Script_d93f: ; d93f (3:593f)
+ INCROM $d93f, $d995
+
+Script_d995: ; d995 (3:5995)
+ INCROM $d995, $d9c2
+
+Script_d9c2: ; d9c2 (3:59c2)
+ INCROM $d9c2, $d9ef
+
+Script_d9ef: ; d9ef (3:59ef)
+ INCROM $d9ef, $da1c
+
+Script_da1c: ; da1c (3:5a1c)
+ INCROM $da1c, $da49
+
+Script_da49: ; da49 (3:5a49)
+ INCROM $da49, $da76
+
+Script_da76: ; da76 (3:5a76)
+ INCROM $da76, $daa3
+
+Script_daa3: ; daa3 (3:5aa3)
+ INCROM $daa3, $dad0
+
+Script_dad0: ; dad0 (3:5ad0)
+ INCROM $dad0, $dadd
Preload_NikkiInIshiharasHouse: ; dadd (3:5add)
get_flag_value EVENT_FLAG_35
@@ -3672,7 +4000,10 @@ FightingClubLobbyAfterDuel: ; dc68 (3:5c68)
db $00
Script_Man1: ; dc76 (3:5c76)
- INCROM $dc76, $dd0d
+ INCROM $dc76, $dceb
+
+Preload_ImakuniInFightingClubLobby: ; dceb (3:5ceb)
+ INCROM $dceb, $dd0d
Script_Imakuni: ; dd0d (3:5d0d)
start_script
@@ -3692,7 +4023,7 @@ Script_Imakuni: ; dd0d (3:5d0d)
Script_BeatImakuni: ; dd2d (3:5d2d)
start_script
jump_if_flag_equal EVENT_IMAKUNI_WIN_COUNT, $07, .giveBoosters
- script_increment_flag_value EVENT_IMAKUNI_WIN_COUNT
+ increment_flag_value EVENT_IMAKUNI_WIN_COUNT
jump_if_flag_equal EVENT_IMAKUNI_WIN_COUNT, $03, .threeWins
jump_if_flag_equal EVENT_IMAKUNI_WIN_COUNT, $06, .sixWins
.giveBoosters
@@ -3752,41 +4083,40 @@ Script_Specs1: ; dd82 (3:5d82)
INCROM $dd82, $dd8d
Script_Butch: ; dd8d (3:5d8d)
- INCROM $dd8d, $dd9f
+ INCROM $dd8d, $dd98
+
+Preload_Granny1: ; dd98 (3:5d98)
+ INCROM $dd98, $dd9f
Script_Granny1: ; dd9f (3:5d9f)
INCROM $dd9f, $dda3
-
FightingClubAfterDuel: ; dda3 (3:5da3)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-; 0xddaa
.after_duel_table
db NPC_CHRIS
db NPC_CHRIS
- dw $5e69
- dw $5e75
+ dw Script_BeatChrisInFightingClub
+ dw Script_LostToChrisInFightingClub
db NPC_MICHAEL
db NPC_MICHAEL
- dw $5e95
- dw $5ea1
+ dw Script_BeatMichaelInFightingClub
+ dw Script_LostToMichaelInFightingClub
db NPC_JESSICA
db NPC_JESSICA
- dw $5ec1
- dw $5ecd
+ dw Script_BeatJessicaInFightingClub
+ dw Script_LostToJessicaInFightingClub
db NPC_MITCH
db NPC_MITCH
dw Script_BeatMitch
- dw Script_LoseToMitch
-
+ dw Script_LostToMitch
db $00
-; ddc3
Script_Mitch: ; ddc3 (3:5dc3)
start_script
@@ -3800,27 +4130,21 @@ Script_Mitch: ; ddc3 (3:5dc3)
script_set_flag_value EVENT_FLAG_17, $01
script_set_flag_value EVENT_FLAG_20, $01
quit_script_fully
-; 0xdde2
.three_pupils_remaining
print_text_quit_fully Text0478
-; 0xdde5
.two_pupils_remaining
print_text_quit_fully Text0479
-; 0xdde8
.one_pupil_remaining
print_text_quit_fully Text047a
-; 0xddeb
.all_pupils_defeated
print_text_string Text047b
ask_question_jump Text047c, .do_battle
print_text_string Text047d
quit_script_fully
-; 0xddf7
.do_battle
print_text_string Text047e
start_battle PRIZES_6, FIRST_STRIKE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
-; 0xddff
Script_BeatMitch: ; ddff (3:5dff)
start_script
@@ -3836,38 +4160,57 @@ Script_BeatMitch: ; ddff (3:5dff)
give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER
print_text_string Text0481
quit_script_fully
-; 0xde19
-Script_LoseToMitch: ; de19 (3:5e19)
+Script_LostToMitch: ; de19 (3:5e19)
start_script
jump_if_flag_nonzero_2 EVENT_FLAG_0F, Script_Mitch_PrintTrainHarderText
print_text_quit_fully Text0482
-; 0xde21
-Script_Mitch_AlreadyHaveMedal: ; 0xde21
+Script_Mitch_AlreadyHaveMedal: ; de21 (3:5e21)
print_text_string Text0483
ask_question_jump Text047c, .do_battle
print_text_string Text0484
quit_script_fully
-; 0xde2d
.do_battle
print_text_string Text0485
start_battle PRIZES_6, FIRST_STRIKE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
-; 0xde35
Script_Mitch_GiveBoosters:
print_text_string Text0486
give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER
print_text_string Text0487
quit_script_fully
-; 0xde40
Script_Mitch_PrintTrainHarderText:
print_text_quit_fully Text0488
-; 0xde43
- INCROM $de43, $ded1
+Preload_ChrisInFightingClub: ; de43 (3:5e43)
+ INCROM $de43, $de69
+
+Script_BeatChrisInFightingClub: ; de69 (3:5e69)
+ INCROM $de69, $de75
+
+Script_LostToChrisInFightingClub: ; de75 (3:5e75)
+ INCROM $de75, $de79
+
+Preload_MichaelInFightingClub: ; de79 (3:5e79)
+ INCROM $de79, $de95
+
+Script_BeatMichaelInFightingClub: ; de95 (3:5e95)
+ INCROM $de95, $dea1
+
+Script_LostToMichaelInFightingClub: ; dea1 (3:5ea1)
+ INCROM $dea1, $dea5
+
+Preload_JessicaInFightingClub: ; dea5 (3:5ea5)
+ INCROM $dea5, $dec1
+
+Script_BeatJessicaInFightingClub: ; dec1 (3:5ec1)
+ INCROM $dec1, $decd
+
+Script_LostToJessicaInFightingClub: ; decd (3:5ecd)
+ INCROM $decd, $ded1
Script_Clerk2: ; ded1 (3:5ed1)
INCROM $ded1, $ded5
@@ -3876,56 +4219,108 @@ RockClubLobbyAfterDuel: ; ded5 (3:5ed5)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-; 0xdedc
.after_duel_table
db NPC_CHRIS
db NPC_CHRIS
- dw $5f0c
- dw $5f20
+ dw Script_BeatChrisInRockClubLobby
+ dw Script_LostToChrisInRockClubLobby
db NPC_MATTHEW
db NPC_MATTHEW
- dw $5f63
- dw $5f78
+ dw Script_BeatMatthew
+ dw Script_LostToMatthew
db $00
-; 0xdee9
+Preload_ChrisInRockClubLobby: ; dee9 (3:5ee9)
INCROM $dee9, $def2
Script_Chris: ; def2 (3:5ef2)
- INCROM $def2, $df39
+ INCROM $def2, $df0c
+
+Script_BeatChrisInRockClubLobby: ; df0c (3:5f0c)
+ INCROM $df0c, $df20
+
+Script_LostToChrisInRockClubLobby: ; df20 (3:5f20)
+ INCROM $df20, $df39
Script_Matthew: ; df39 (3:5f39)
- INCROM $df39, $df83
+ INCROM $df39, $df63
+
+Script_BeatMatthew: ; df63 (3:5f63)
+ INCROM $df63, $df78
+
+Script_LostToMatthew: ; df78 (3:5f78)
+ INCROM $df78, $df83
Script_Woman1: ; df83 (3:5f83)
INCROM $df83, $dfc0
Script_Chap1: ; dfc0 (3:5fc0)
- INCROM $dfc0, $dfd2
+ INCROM $dfc0, $dfcb
+
+Preload_Lass3: ; dfcb (3:5fcb)
+ INCROM $dfcb, $dfd2
Script_Lass3: ; dfd2 (3:5fd2)
- INCROM $dfd2, $dff0
+ INCROM $dfd2, $dfd6
+
+RockClubAfterDuel: ; dfd6 (3:5fd6)
+ ld hl, .after_duel_table
+ call FindEndOfBattleScript
+ ret
+
+.after_duel_table
+ db NPC_RYAN
+ db NPC_RYAN
+ dw Script_BeatRyan
+ dw Script_LostToRyan
+
+ db NPC_ANDREW
+ db NPC_ANDREW
+ dw Script_BeatAndrew
+ dw Script_LostToAndrew
+
+ db NPC_GENE
+ db NPC_GENE
+ dw Script_BeatGene
+ dw Script_LostToGene
+ db $00
Script_Ryan: ; dff0 (3:5ff0)
- INCROM $dff0, $e017
+ INCROM $dff0, $e007
+
+Script_BeatRyan: ; e007 (3:6007)
+ INCROM $e007, $e013
+
+Script_LostToRyan: ; e013 (3:6013)
+ INCROM $e013, $e017
Script_Andrew: ; e017 (3:6017)
- INCROM $e017, $e03e
+ INCROM $e017, $e02e
+
+Script_BeatAndrew: ; e02e (3:602e)
+ INCROM $e02e, $e03a
+
+Script_LostToAndrew: ; e03a (3:603a)
+ INCROM $e03a, $e03e
Script_Gene: ; e03e (3:603e)
- INCROM $e03e, $e09e
+ INCROM $e03e, $e059
+
+Script_BeatGene: ; e059 (3:6059)
+ INCROM $e059, $e073
+
+Script_LostToGene: ; e073 (3:6073)
+ INCROM $e073, $e09e
Script_Clerk3: ; e09e (3:609e)
INCROM $e09e, $e0a2
-
WaterClubLobbyAfterDuel: ; e0a2 (3:60a2)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-; 0xe0a9
.after_duel_table
db NPC_IMAKUNI
@@ -3933,7 +4328,6 @@ WaterClubLobbyAfterDuel: ; e0a2 (3:60a2)
dw Script_BeatImakuni
dw Script_LostToImakuni
db $00
-; 0xe0b0
Preload_ImakuniInWaterClubLobby: ; e0b0 (3:60b0)
get_flag_value EVENT_IMAKUNI_STATE
@@ -3957,35 +4351,35 @@ Script_Gal1: ; e0cf (3:60cf)
start_script
jump_if_flag_equal EVENT_FLAG_12, $02, .ows_e10e
jump_if_flag_equal EVENT_FLAG_12, $00, NULL
- print_variable_text Text041d, Text041e
+ print_variable_text Gal1WantToTrade1Text, Gal1WantToTrade2Text
script_set_flag_value EVENT_FLAG_12, $01
- ask_question_jump Text041f, .ows_e0eb
- print_text_string Text0420
+ ask_question_jump Gal1WouldYouLikeToTradeText, .ows_e0eb
+ print_text_string Gal1DeclinedTradeText
quit_script_fully
.ows_e0eb
jump_if_card_owned LAPRAS, .ows_e0f3
- print_text_string Text0421
+ print_text_string Gal1DontOwnCardText
quit_script_fully
.ows_e0f3
jump_if_card_in_collection LAPRAS, .ows_e0fb
- print_text_string Text0422
+ print_text_string Gal1CardInDeckText
quit_script_fully
.ows_e0fb
script_set_flag_value EVENT_FLAG_12, $02
- print_text_string Text0423
+ print_text_string Gal1LetsTradeText
run_command Func_ccdc
- tx Text0424
+ tx Gal1TradeCompleteText
take_card LAPRAS
give_card ARCANINE1
show_card_received_screen ARCANINE1
- print_text_string Text0425
+ print_text_string Gal1ThanksText
quit_script_fully
.ows_e10e
- print_text_quit_fully Text0426
+ print_text_quit_fully Gal1AfterTradeText
Script_Lass1: ; e111 (3:6111)
start_script
@@ -4003,7 +4397,7 @@ Script_Lass1: ; e111 (3:6111)
.ows_e12d
print_text_quit_fully Text0429
-Preload_Man2InWaterClubLobby: ; e130 (3:6130)
+Preload_Man2: ; e130 (3:6130)
get_flag_value EVENT_JOSHUA_STATE
cp JOSHUA_BEATEN
ret
@@ -4028,7 +4422,7 @@ WaterClubMovePlayer: ; e13f (3:613f)
ld bc, Script_NotReadyToSeeAmy
jp SetNextNPCAndScript
-WaterClubAfterDuel: ;e157 (3:6157)
+WaterClubAfterDuel: ; e157 (3:6157)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
@@ -4192,7 +4586,7 @@ Script_Joshua: ; e21c (3:621c)
print_variable_text Text0440, Text0441
quit_script_fully
-.startDuel:
+.startDuel
print_text_string Text0442
try_give_pc_pack $04
start_battle PRIZES_4, SOUND_OF_THE_WAVES_DECK_ID, MUSIC_DUEL_THEME_1
@@ -4214,7 +4608,7 @@ Script_BeatJoshua: ; e26c (3:626c)
jump_if_flag_not_equal EVENT_JOSHUA_STATE, JOSHUA_BEATEN, .firstJoshuaWin
quit_script_fully
-.firstJoshuaWin:
+.firstJoshuaWin
script_set_flag_value EVENT_JOSHUA_STATE, JOSHUA_BEATEN
print_text_string Text0449
close_text_box
@@ -4359,7 +4753,6 @@ ScriptJump_TalkToAmyAgain: ; e356 (3:6356)
print_text_string Text0459
start_battle PRIZES_6, GO_GO_RAIN_DANCE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
-; 0xe369
Script_Clerk4: ; e369 (3:6369)
INCROM $e369, $e36d
@@ -4368,7 +4761,6 @@ LightningClubLobbyAfterDuel: ; e36d (3:636d)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-; 0xe374
.after_duel_table
db NPC_IMAKUNI
@@ -4376,9 +4768,9 @@ LightningClubLobbyAfterDuel: ; e36d (3:636d)
dw Script_BeatImakuni
dw Script_LostToImakuni
db $00
-; 0xe37B
- INCROM $e37B, $e39a
+Preload_ImakuniInLightningClubLobby: ; e37b (3:637b)
+ INCROM $e37b, $e39a
Script_Chap2: ; e39a (3:639a)
INCROM $e39a, $e3d9
@@ -4387,19 +4779,73 @@ Script_Lass4: ; e3d9 (3:63d9)
INCROM $e3d9, $e3dd
Script_Hood1: ; e3dd (3:63dd)
- INCROM $e3dd, $e408
+ INCROM $e3dd, $e3e8
+
+LightningClubAfterDuel: ; e3e8 (3:63e8)
+ ld hl, .after_duel_table
+ call FindEndOfBattleScript
+ ret
+
+.after_duel_table
+ db NPC_JENNIFER
+ db NPC_JENNIFER
+ dw Script_BeatJennifer
+ dw Script_LostToJennifer
+
+ db NPC_NICHOLAS
+ db NPC_NICHOLAS
+ dw Script_BeatNicholas
+ dw Script_LostToNicholas
+
+ db NPC_BRANDON
+ db NPC_BRANDON
+ dw Script_BeatBrandon
+ dw Script_LostToBrandon
+
+ db NPC_ISAAC
+ db NPC_ISAAC
+ dw Script_BeatIsaac
+ dw Script_LostToIsaac
+ db $00
Script_Jennifer: ; e408 (3:6408)
- INCROM $e408, $e42f
+ INCROM $e408, $e41d
+
+Script_BeatJennifer: ; e41d (3:641d)
+ INCROM $e41d, $e42b
+
+Script_LostToJennifer: ; e42b (3:642b)
+ INCROM $e42b, $e42f
Script_Nicholas: ; e42f (3:642f)
- INCROM $e42f, $e456
+ INCROM $e42f, $e444
+
+Script_BeatNicholas: ; e444 (3:6444)
+ INCROM $e444, $e452
+
+Script_LostToNicholas: ; e452 (3:6452)
+ INCROM $e452, $e456
Script_Brandon: ; e456 (3:6456)
- INCROM $e456, $e4ad
+ INCROM $e456, $e480
+
+Script_BeatBrandon: ; e480 (3:6480)
+ INCROM $e480, $e490
+
+Script_LostToBrandon: ; e490 (3:6490)
+ INCROM $e490, $e494
+
+Preload_Isaac: ; e494 (3:6494)
+ INCROM $e494, $e4ad
Script_Isaac: ; e4ad (3:64ad)
- INCROM $e4ad, $e525
+ INCROM $e4ad, $e4e1
+
+Script_BeatIsaac: ; e4e1 (3:64e1)
+ INCROM $e4e1, $e4fb
+
+Script_LostToIsaac: ; e4fb (3:64fb)
+ INCROM $e4fb, $e525
GrassClubEntranceAfterDuel: ; e525 (3:6525)
ld hl, GrassClubEntranceAfterDuelTable
@@ -4439,8 +4885,8 @@ FindEndOfBattleScript: ; e52c (3:652c)
GrassClubEntranceAfterDuelTable: ; e553 (3:6553)
db NPC_MICHAEL
db NPC_MICHAEL
- dw $6597
- dw $65ab
+ dw Script_BeatMichaelInGrassClubEntrance
+ dw Script_LostToMichaelInGrassClubEntrance
db NPC_RONALD2
db NPC_RONALD2
@@ -4454,10 +4900,19 @@ GrassClubEntranceAfterDuelTable: ; e553 (3:6553)
db $00
Script_Clerk5: ; e566 (3:6566)
- INCROM $e566, $e573
+ INCROM $e566, $e56a
+
+Preload_MichaelInGrassClubEntrance: ; e56a (3:656a)
+ INCROM $e56a, $e573
Script_Michael: ; e573 (3:6573)
- INCROM $e573, $e5c4
+ INCROM $e573, $e597
+
+Script_BeatMichaelInGrassClubEntrance: ; e597 (3:6597)
+ INCROM $e597, $e5ab
+
+Script_LostToMichaelInGrassClubEntrance: ; e5ab (3:65ab)
+ INCROM $e5ab, $e5c4
GrassClubLobbyAfterDuel: ; e5c4 (3:65c4)
ld hl, .after_duel_table
@@ -4589,22 +5044,67 @@ Script_Lass2: ; e61f (3:661f)
give_card BLASTOISE
show_card_received_screen BLASTOISE
print_text_quit_fully Text06f3
-; 0xe6d8
Script_Granny2: ; e6d8 (3:66d8)
- INCROM $e6d8, $e6e3
+ INCROM $e6d8, $e6dc
+
+Preload_Gal2: ; e6dc (3:66dc)
+ INCROM $e6dc, $e6e3
Script_Gal2: ; e6e3 (3:66e3)
- INCROM $e6e3, $e701
+ INCROM $e6e3, $e6e7
+
+GrassClubAfterDuel: ; e6e7 (3:66e7)
+ ld hl, .after_duel_table
+ call FindEndOfBattleScript
+ ret
+
+.after_duel_table
+ db NPC_KRISTIN
+ db NPC_KRISTIN
+ dw Script_BeatKristin
+ dw Script_LostToKristin
+
+ db NPC_HEATHER
+ db NPC_HEATHER
+ dw Script_BeatHeather
+ dw Script_LostToHeather
+
+ db NPC_NIKKI
+ db NPC_NIKKI
+ dw Script_BeatNikki
+ dw Script_LostToNikki
+ db $00
Script_Kristin: ; e701 (3:6701)
- INCROM $e701, $e745
+ INCROM $e701, $e71c
+
+Script_BeatKristin: ; e71c (3:671c)
+ INCROM $e71c, $e741
+
+Script_LostToKristin: ; e741 (3:6741)
+ INCROM $e741, $e745
Script_Heather: ; e745 (3:6745)
- INCROM $e745, $e79e
+ INCROM $e745, $e760
+
+Script_BeatHeather: ; e760 (3:6760)
+ INCROM $e760, $e78a
+
+Script_LostToHeather: ; e78a (3:678a)
+ INCROM $e78a, $e796
+
+Preload_NikkiInGrassClub: ; e796 (3:6796)
+ INCROM $e796, $e79e
Script_Nikki: ; e79e (3:679e)
- INCROM $e79e, $e7f6
+ INCROM $e79e, $e7d3
+
+Script_BeatNikki: ; e7d3 (3:67d3)
+ INCROM $e7d3, $e7f2
+
+Script_LostToNikki: ; e7f2 (3:67f2)
+ INCROM $e7f2, $e7f6
ClubEntranceAfterDuel: ; e7f6 (3:67f6)
ld hl, .after_duel_table
@@ -4640,7 +5140,7 @@ TryFirstRonaldEncounter: ; e813 (3:6813)
TryFirstRonaldFight: ; e822 (3:6822)
ld a, NPC_RONALD2
- ld [$d3ab], a
+ ld [wTempNPC], a
call FindLoadedNPC
ret c
get_flag_value EVENT_FLAG_4C
@@ -4651,7 +5151,7 @@ TryFirstRonaldFight: ; e822 (3:6822)
TrySecondRonaldFight: ; e837 (3:6837)
ld a, NPC_RONALD3
- ld [$d3ab], a
+ ld [wTempNPC], a
call FindLoadedNPC
ret c
get_flag_value EVENT_FLAG_4D
@@ -4659,13 +5159,15 @@ TrySecondRonaldFight: ; e837 (3:6837)
ret nz
ld bc, ScriptSecondRonaldFight
jp SetNextNPCAndScript
-; 0xe84c
Script_Clerk6: ; e84c (3:684c)
INCROM $e84c, $e850
Script_Lad3: ; e850 (3:6850)
- INCROM $e850, $e862
+ INCROM $e850, $e85b
+
+Preload_Ronald1InClubEntrance: ; e85b (3:685b)
+ INCROM $e85b, $e862
Script_FirstRonaldEncounter: ; e862 (3:6862)
start_script
@@ -4701,8 +5203,8 @@ NPCMovement_e894: ; e894 (3:6894)
db SOUTH
db SOUTH
db $ff
-; e89a
+Preload_Ronald2InClubEntrance: ; e89a (3:689a)
INCROM $e89a, $e8c0
Script_FirstRonaldFight: ; e8c0 (3:68c0)
@@ -4711,9 +5213,10 @@ Script_FirstRonaldFight: ; e8c0 (3:68c0)
do_frames $3c
move_active_npc NPCMovement_e90d
print_text_string Text064a
- jump_if_player_coords_match $08, $02, $68d6
+ jump_if_player_coords_match $08, $02, .ows_e8d6
set_player_direction WEST
move_player WEST, 1
+.ows_e8d6
set_player_direction SOUTH
move_player SOUTH, 1
move_player SOUTH, 1
@@ -4763,8 +5266,8 @@ NPCMovement_e90f: ; e90f (3:690f)
db SOUTH
db SOUTH
db $ff
-; e915
+Preload_Ronald3InClubEntrance: ; e915 (3:6915)
INCROM $e915, $e91e
ScriptSecondRonaldFight: ; e91e (3:691e)
@@ -4804,58 +5307,105 @@ ScriptJump_FinishedSecondRonaldFight: ; e959 (3:6959)
run_command Func_cdcb
run_command Func_d41d
quit_script_fully
-; 0xe963
-
PsychicClubLobbyAfterDuel: ; e963 (3:6963)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-; 0xe96a
.after_duel_table
-
db NPC_ROBERT
db NPC_ROBERT
- dw $6995
- dw $69a1
+ dw Script_BeatRobert
+ dw Script_LostToRobert
db $00
+PsychicClubLobbyLoadMap: ; e971 (3:6971)
INCROM $e971, $e980
Script_Robert: ; e980 (3:6980)
- INCROM $e980, $e9a5
+ INCROM $e980, $e995
+
+Script_BeatRobert: ; e995 (3:6995)
+ INCROM $e995, $e9a1
+
+Script_LostToRobert: ; e9a1 (3:69a1)
+ INCROM $e9a1, $e9a5
Script_Pappy1: ; e9a5 (3:69a5)
- INCROM $e9a5, $ea30
+ INCROM $e9a5, $e9f7
+
+Preload_Ronald1InPsychicClubLobby: ; e9f7 (3:69f7)
+ INCROM $e9f7, $ea30
Script_Gal3: ; ea30 (3:6a30)
INCROM $ea30, $ea3b
Script_Chap4: ; ea3b (3:6a3b)
- INCROM $ea3b, $ea60
+ INCROM $ea3b, $ea46
+
+PsychicClubAfterDuel: ; ea46 (3:6a46)
+ ld hl, .after_duel_table
+ call FindEndOfBattleScript
+ ret
+
+.after_duel_table
+ db NPC_DANIEL
+ db NPC_DANIEL
+ dw Script_BeatDaniel
+ dw Script_LostToDaniel
+
+ db NPC_STEPHANIE
+ db NPC_STEPHANIE
+ dw Script_BeatStephanie
+ dw Script_LostToStephanie
+
+ db NPC_MURRAY1
+ db NPC_MURRAY1
+ dw Script_BeatMurray
+ dw Script_LostToMurray
+ db $00
Script_Daniel: ; ea60 (3:6a60)
- INCROM $ea60, $eaa2
+ INCROM $ea60, $ea92
+
+Script_BeatDaniel: ; ea92 (3:6a92)
+ INCROM $ea92, $ea9e
+
+Script_LostToDaniel: ; ea9e (3:6a9e)
+ INCROM $ea9e, $eaa2
Script_Stephanie: ; eaa2 (3:6aa2)
- INCROM $eaa2, $eadf
+ INCROM $eaa2, $eac0
+
+Script_BeatStephanie: ; eac0 (3:6ac0)
+ INCROM $eac0, $eacc
+
+Script_LostToStephanie: ; eacc (3:6acc)
+ INCROM $eacc, $ead0
+
+Preload_Murray2: ; ead0 (3:6ad0)
+ INCROM $ead0, $eada
-Script_Murray2: ; eadf (3:6adf)
- INCROM $eadf, $eadf
+Preload_Murray1: ; eada (3:6ada)
+ INCROM $eada, $eadf
-Script_Murray1: ; eadf (3:6adf)
- INCROM $eadf, $eb53
+Script_Murray: ; eadf (3:6adf)
+ INCROM $eadf, $eb0f
+
+Script_BeatMurray: ; eb0f (3:6b0f)
+ INCROM $eb0f, $eb29
+
+Script_LostToMurray: ; eb29 (3:6b29)
+ INCROM $eb29, $eb53
Script_Clerk7: ; eb53 (3:6b53)
INCROM $eb53, $eb57
-
ScienceClubLobbyAfterDuel:; eb57 (3:6b57)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-; 0xeb5e
.after_duel_table
db NPC_IMAKUNI
@@ -4863,8 +5413,8 @@ ScienceClubLobbyAfterDuel:; eb57 (3:6b57)
dw Script_BeatImakuni
dw Script_LostToImakuni
db $00
-; 0xeb65
+Preload_ImakuniInScienceClubLobby: ; eb65 (3:6b65)
INCROM $eb65, $eb84
Script_Lad1: ; eb84 (3:6b84)
@@ -4877,19 +5427,73 @@ Script_Specs2: ; ebc5 (3:6bc5)
INCROM $ebc5, $ebed
Script_Specs3: ; ebed (3:6bed)
- INCROM $ebed, $ec11
+ INCROM $ebed, $ebf1
+
+ScienceClubAfterDuel: ; ebf1 (3:6bf1)
+ ld hl, .after_duel_table
+ call FindEndOfBattleScript
+ ret
+
+.after_duel_table
+ db NPC_JOSEPH
+ db NPC_JOSEPH
+ dw Script_BeatJoseph
+ dw Script_LostToJoseph
+
+ db NPC_DAVID
+ db NPC_DAVID
+ dw Script_BeatDavid
+ dw Script_LostToDavid
+
+ db NPC_ERIK
+ db NPC_ERIK
+ dw Script_BeatErik
+ dw Script_LostToErik
+
+ db NPC_RICK
+ db NPC_RICK
+ dw Script_BeatRick
+ dw Script_LostToRick
+ db $00
Script_David: ; ec11 (3:6c11)
- INCROM $ec11, $ec42
+ INCROM $ec11, $ec2f
+
+Script_BeatDavid: ; ec2f (3:6c2f)
+ INCROM $ec2f, $ec3e
+
+Script_LostToDavid: ; ec3e (3:6c3e)
+ INCROM $ec3e, $ec42
Script_Erik: ; ec42 (3:6c42)
- INCROM $ec42, $ec67
+ INCROM $ec42, $ec57
+
+Script_BeatErik: ; ec57 (3:6c57)
+ INCROM $ec57, $ec63
+
+Script_LostToErik: ; ec63 (3:6c63)
+ INCROM $ec63, $ec67
Script_Rick: ; ec67 (3:6c67)
- INCROM $ec67, $ecdb
+ INCROM $ec67, $ec80
+
+Script_BeatRick: ; ec80 (3:6c80)
+ INCROM $ec80, $ec9a
+
+Script_LostToRick: ; ec9a (3:6c9a)
+ INCROM $ec9a, $ecc4
+
+Preload_Joseph: ; ecc4 (3:6cc4)
+ INCROM $ecc4, $ecdb
Script_Joseph: ; ecdb (3:6cdb)
- INCROM $ecdb, $ed45
+ INCROM $ecdb, $ecf6
+
+Script_BeatJoseph: ; ecf6 (3:6cf6)
+ INCROM $ecf6, $ed1c
+
+Script_LostToJoseph: ; ed1c (3:6d1c)
+ INCROM $ed1c, $ed45
Script_Clerk8: ; ed45 (3:6d45)
INCROM $ed45, $ed49
@@ -4898,17 +5502,14 @@ FireClubLobbyAfterDuel: ; ed49 (3:6d49)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
-; 0xed50
.after_duel_table
db NPC_JESSICA
db NPC_JESSICA
- dw $6dba
- dw $6dce
+ dw Script_BeatJessicaInFireClubLobby
+ dw Script_LostToJessicaInFireClubLobby
db $00
-; 0xed57
-
FireClubPressedA: ; ed57 (3:6d57)
ld hl, SlowpokePaintingObjectTable
call FindExtraInteractableObjects
@@ -4953,15 +5554,24 @@ FindExtraInteractableObjects: ; ed64 (3:6d64)
call SetNextScript
scf
ret
-; 0xed8d
+Preload_JessicaInFireClubLobby: ; ed8d (3:6d8d)
INCROM $ed8d, $ed96
Script_Jessica: ; ed96 (3:6d96)
- INCROM $ed96, $ede8
+ INCROM $ed96, $edba
+
+Script_BeatJessicaInFireClubLobby: ; edba (3:6dba)
+ INCROM $edba, $edce
+
+Script_LostToJessicaInFireClubLobby: ; edce (3:6dce)
+ INCROM $edce, $ede8
Script_Chap3: ; ede8 (3:6de8)
- INCROM $ede8, $ee2c
+ INCROM $ede8, $ee25
+
+Preload_Lad2: ; ee25 (3:6e25)
+ INCROM $ee25, $ee2c
Script_Lad2: ; ee2c (3:6e2c)
INCROM $ee2c, $ee76
@@ -4974,17 +5584,15 @@ Script_ee76: ; ee76 (3:6e76)
.ows_ee7d
script_set_flag_value EVENT_FLAG_21, $02
run_command Func_ccdc
- tx Text06a2
+ tx FoundLv9SlowpokeText
give_card SLOWPOKE1
show_card_received_screen SLOWPOKE1
quit_script_fully
-; 0xee88
Script_Mania: ; ee88 (3:6e88)
INCROM $ee88, $ee93
-
-FireClubAfterDuel: ;ee93 (3:6e93)
+FireClubAfterDuel: ; ee93 (3:6e93)
ld hl, .after_duel_table
call FindEndOfBattleScript
ret
@@ -4992,35 +5600,51 @@ FireClubAfterDuel: ;ee93 (3:6e93)
.after_duel_table
db NPC_JOHN
db NPC_JOHN
- dw $6ec8
- dw $6ed4
+ dw Script_BeatJohn
+ dw Script_LostToJohn
db NPC_ADAM
db NPC_ADAM
- dw $6eed
- dw $6ef9
+ dw Script_BeatAdam
+ dw Script_LostToAdam
db NPC_JONATHAN
db NPC_JONATHAN
- dw $6f12
- dw $6f1e
+ dw Script_BeatJonathan
+ dw Script_LostToJonathan
db NPC_KEN
db NPC_KEN
dw Script_BeatKen
- dw Script_LoseToKen
-
+ dw Script_LostToKen
db $00
-; 0xeeb3
Script_John: ; eeb3 (3:6eb3)
- INCROM $eeb3, $eed8
+ INCROM $eeb3, $eec8
+
+Script_BeatJohn: ; eec8 (3:6ec8)
+ INCROM $eec8, $eed4
+
+Script_LostToJohn: ; eed4 (3:6ed4)
+ INCROM $eed4, $eed8
Script_Adam: ; eed8 (3:6ed8)
- INCROM $eed8, $eefd
+ INCROM $eed8, $eeed
+
+Script_BeatAdam: ; eeed (3:6eed)
+ INCROM $eeed, $eef9
+
+Script_LostToAdam: ; eef9 (3:6ef9)
+ INCROM $eef9, $eefd
Script_Jonathan: ; eefd (3:6efd)
- INCROM $eefd, $ef22
+ INCROM $eefd, $ef12
+
+Script_BeatJonathan: ; ef12 (3:6f12)
+ INCROM $ef12, $ef1e
+
+Script_LostToJonathan: ; ef1e (3:6f1e)
+ INCROM $ef1e, $ef22
Script_Ken: ; ef22 (3:6f22)
start_script
@@ -5044,7 +5668,6 @@ Script_Ken: ; ef22 (3:6f22)
print_text_string Text06c0
start_battle PRIZES_6, FIRE_CHARGE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
-; 0xef5e
Script_BeatKen: ; ef5e (3:6f5e)
start_script
@@ -5061,16 +5684,12 @@ Script_BeatKen: ; ef5e (3:6f5e)
give_booster_packs BOOSTER_MYSTERY_NEUTRAL, BOOSTER_MYSTERY_NEUTRAL, NO_BOOSTER
print_text_string Text06c3
quit_script_fully
-; 0xef78
-
-
-Script_LoseToKen: ; ef78 (3:6f78)
+Script_LostToKen: ; ef78 (3:6f78)
start_script
jump_if_flag_zero_2 EVENT_FLAG_0A, NULL
print_variable_text Text06c4, Text06c5
quit_script_fully
-; 0xef83
Script_KenBattle_AlreadyHaveMedal: ; ef83 (3:6f83)
print_text_string Text06c6
@@ -5080,7 +5699,6 @@ Script_KenBattle_AlreadyHaveMedal: ; ef83 (3:6f83)
print_text_string Text06c7
start_battle PRIZES_6, FIRE_CHARGE_DECK_ID, MUSIC_DUEL_THEME_2
quit_script_fully
-; 0xef96
Preload_Clerk9: ; ef96 (3:6f96)
call TryGiveMedalPCPacks
@@ -5211,7 +5829,7 @@ ChallengeHallLobbyLoadMap: ; f088 (3:7088)
ld a, $02
ld [wTempNPC], a
call FindLoadedNPC
- ld bc, $7166
+ ld bc, Script_f166
jp SetNextNPCAndScript
Script_Pappy3: ; f09c (3:709c)
@@ -5316,10 +5934,19 @@ Func_f121: ; f121 (3:7121)
ret
Unknown_f146: ; f146 (3:7146)
- INCROM $f146, $f156
+ db $01, $00, EVENT_FLAG_50, $01
+ db $03, $03, EVENT_FLAG_51, $02
+ db $07, $03, EVENT_FLAG_52, $03
+ db $07, $00, EVENT_FLAG_53, $04
Unknown_f156: ; f156 (3:7156)
- INCROM $f156, $f239
+ db $01, $00, EVENT_FLAG_54, $05
+ db $03, $03, EVENT_FLAG_55, $06
+ db $07, $03, EVENT_FLAG_56, $07
+ db $07, $00, EVENT_FLAG_57, $08
+
+Script_f166: ; f166 (3:7166)
+ INCROM $f166, $f239
ChallengeHallAfterDuel: ; f239 (3:7239)
ld c, $00
@@ -5460,7 +6087,6 @@ Script_Clerk12: ; f295 (3:7295)
set_next_npc_and_script $4a, Script_f353
end_script_loop
ret
-; f349
NPCMovement_f349: ; f349 (3:7349)
db NORTH
@@ -5770,7 +6396,6 @@ ScriptJump_f4db: ; f4db (3:74db)
set_next_npc_and_script NPC_CLERK12, Script_f3e9
end_script_loop
ret
-; f559
; Loads the NPC to fight at the challenge hall
Preload_ChallengeHallOpponent: ; f559 (3:7559)
@@ -5796,50 +6421,87 @@ Preload_ChallengeHallOpponent: ; f559 (3:7559)
Func_f580: ; f580 (3:7580)
get_flag_value EVENT_FLAG_44
cp $3
- jr z, .asm_f596
+ jr z, .pick_challenger_include_ronald
get_flag_value EVENT_FLAG_45
cp $3
- ld d, $18
- jr nz, .asm_f598
- ld a, $2
- jr .asm_f5ac
+ ld d, ChallengeHallNPCsEnd - ChallengeHallNPCs - 1 ; discount Ronald
+ jr nz, .pick_challenger
+ ld a, NPC_RONALD1
+ jr .force_ronald
-.asm_f596
- ld d, $19
+.pick_challenger_include_ronald
+ ld d, ChallengeHallNPCsEnd - ChallengeHallNPCs
-.asm_f598
+.pick_challenger
ld a, d
call Random
ld c, a
- call $75cc
- jr c, .asm_f598
- call $75d4
+ call Func_f5cc
+ jr c, .pick_challenger
+ call Func_f5d4
ld b, $0
- ld hl, $75b3
+ ld hl, ChallengeHallNPCs
add hl, bc
ld a, [hl]
-.asm_f5ac
+.force_ronald
ld [wTempNPC], a
ld [wd696], a
ret
-; 0xf5b3
- INCROM $f5b3, $f5db
+ChallengeHallNPCs: ; f5b3 (3:75b3)
+ db NPC_CHRIS
+ db NPC_MICHAEL
+ db NPC_JESSICA
+ db NPC_MATTHEW
+ db NPC_RYAN
+ db NPC_ANDREW
+ db NPC_SARA
+ db NPC_AMANDA
+ db NPC_JOSHUA
+ db NPC_JENNIFER
+ db NPC_NICHOLAS
+ db NPC_BRANDON
+ db NPC_BRITTANY
+ db NPC_KRISTIN
+ db NPC_HEATHER
+ db NPC_ROBERT
+ db NPC_DANIEL
+ db NPC_STEPHANIE
+ db NPC_JOSEPH
+ db NPC_DAVID
+ db NPC_ERIK
+ db NPC_JOHN
+ db NPC_ADAM
+ db NPC_JONATHAN
+ db NPC_RONALD1
+ChallengeHallNPCsEnd:
+
+Func_f5cc: ; f5cc (3:75cc)
+ INCROM $f5cc, $f5d4
+
+Func_f5d4: ; f5d4 (3:75d4)
+ INCROM $f5d4, $f5db
Func_f5db: ; f5db (3:75db)
xor a
- ld [$d698], a
- ld [$d699], a
- ld [$d69a], a
- ld [$d69b], a
+ ld [wd698], a
+ ld [wd699], a
+ ld [wd69a], a
+ ld [wd69b], a
ret
; 0xf5e9
INCROM $f5e9, $f602
Func_f602: ; f602 (3:7602)
- INCROM $f602, $f631
+ INCROM $f602, $f607
+
+PokemonDomeEntranceLoadMap: ; f607 (3:7607)
+ INCROM $f607, $f62a
+
+PokemonDomeEntranceCloseTextBox: ; f62a (3:762a)
+ INCROM $f62a, $f631
Script_f631: ; f631 (3:7631)
start_script
@@ -5851,7 +6513,51 @@ Script_f631: ; f631 (3:7631)
ret
.ows_f63c
- INCROM $f63c, $f71f
+ INCROM $f63c, $f6af
+
+Script_f6af: ; f6af (3:76af)
+ INCROM $f6af, $f6c6
+
+PokemonDomeMovePlayer: ; f6c6 (3:76c6)
+ INCROM $f6c6, $f6e0
+
+PokemonDomeAfterDuel: ; f6e0 (3:76e0)
+ ld hl, .after_duel_table
+ call FindEndOfBattleScript
+ ret
+
+.after_duel_table
+ db NPC_COURTNEY
+ db NPC_COURTNEY
+ dw Script_BeatCourtney
+ dw Script_LostToCourtney
+
+ db NPC_STEVE
+ db NPC_STEVE
+ dw Script_BeatSteve
+ dw Script_LostToSteve
+
+ db NPC_JACK
+ db NPC_JACK
+ dw Script_BeatJack
+ dw Script_LostToJack
+
+ db NPC_ROD
+ db NPC_ROD
+ dw Script_BeatRod
+ dw Script_LostToRod
+
+ db NPC_RONALD1
+ db NPC_RONALD1
+ dw Script_BeatRonald1InPokemonDome
+ dw Script_LostToRonald1InPokemonDome
+ db $00
+
+PokemonDomeLoadMap: ; f706 (3:7706)
+ INCROM $f706, $f718
+
+PokemonDomeCloseTextBox: ; f718 (3:7718)
+ INCROM $f718, $f71f
Script_Courtney: ; f71f (3:771f)
INCROM $f71f, $f72a
@@ -5863,14 +6569,59 @@ Script_Jack: ; f735 (3:7735)
INCROM $f735, $f740
Script_Rod: ; f740 (3:7740)
- INCROM $f740, $fbdb
+ INCROM $f740, $f74b
+
+Preload_Courtney: ; f74b (3:774b)
+ INCROM $f74b, $f78c
+
+Preload_Steve: ; f78c (3:778c)
+ INCROM $f78c, $f7a3
+
+Preload_Jack: ; f7a3 (3:77a3)
+ INCROM $f7a3, $f7ba
+
+Preload_Rod: ; f7ba (3:77ba)
+ INCROM $f7ba, $f7d6
+
+Preload_Ronald1InPokemonDome: ; f7d6 (3:77d6)
+ INCROM $f7d6, $f93f
+
+Script_LostToCourtney: ; f93f (3:793f)
+ INCROM $f93f, $f95a
+
+Script_BeatCourtney: ; f95a (3:795a)
+ INCROM $f95a, $f9b7
+
+Script_LostToSteve: ; f9b7 (3:79b7)
+ INCROM $f9b7, $f9c8
+
+Script_BeatSteve: ; f9c8 (3:79c8)
+ INCROM $f9c8, $fa23
+
+Script_LostToJack: ; fa23 (3:7a23)
+ INCROM $fa23, $fa34
+
+Script_BeatJack: ; fa34 (3:7a34)
+ INCROM $fa34, $fa98
+
+Script_LostToRod: ; fa98 (3:7a98)
+ INCROM $fa98, $faae
+
+Script_BeatRod: ; faae (3:7aae)
+ INCROM $faae, $fb48
+
+Script_LostToRonald1InPokemonDome: ; fb48 (3:7b48)
+ INCROM $fb48, $fb53
+
+Script_BeatRonald1InPokemonDome: ; fb53 (3:7b53)
+ INCROM $fb53, $fbdb
HallOfHonorLoadMap: ; fbdb (3:7bdb)
ld a, SFX_10
call PlaySFX
ret
-; 0xfbe1
+Script_fbe1: ; fbe1 (3:7be1)
INCROM $fbe1, $fbf1
Script_fbf1: ; fbf1 (3:7bf1)
@@ -5929,16 +6680,16 @@ Func_fc2b: ; fc2b (3:7c2b)
ld c, [hl]
inc hl
ld b, [hl]
- ld a, $b0
+ ld a, LOW(ClerkNPCName_)
ld [wCurrentNPCNameTx], a
- ld a, $3
+ ld a, HIGH(ClerkNPCName_)
ld [wCurrentNPCNameTx+1], a
jp SetNextScript
PointerTable_fc4c: ; fc4c (3:7c4c)
- dw Unknown_fc64
- dw Unknown_fc68
- dw Unknown_fc60
+ dw Script_fc64
+ dw Script_fc68
+ dw Script_fc60
Script_fc52: ; fc52 (3:7c52)
start_script
@@ -5950,14 +6701,17 @@ Script_fc52: ; fc52 (3:7c52)
run_command Func_cd76
quit_script_fully
-Unknown_fc60: ; fc60 (3:7c60)
- INCROM $fc60, $fc64
+Script_fc60: ; fc60 (3:7c60)
+ start_script
+ print_text_quit_fully Text06ca
-Unknown_fc64: ; fc64 (3:7c64)
- INCROM $fc64, $fc68
+Script_fc64: ; fc64 (3:7c64)
+ start_script
+ print_text_quit_fully Text06cb
-Unknown_fc68: ; fc68 (3:7c68)
- INCROM $fc68, $fc6c
+Script_fc68: ; fc68 (3:7c68)
+ start_script
+ print_text_quit_fully Text06cc
; Clerk looks away from you if you can't use infrared
; This is one of the preloads that does not change whether or not they appear
@@ -6036,7 +6790,7 @@ NPCMovement_fce1: ; fce1 (3:7ce1)
NPCMovement_fce3: ; fce3 (3:7ce3)
db NORTH | NO_MOVE
db $ff
-; fce5
+; 0xfce5
rept $31b
db $ff
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index e4db318..db3ae26 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -28,13 +28,13 @@ Func_10031: ; 10031 (4:4031)
push af
ld a, $1
call BankswitchSRAM
- call $4cbb
+ call Func_10cbb
call DisableSRAM
- call $4b28
+ call Func_10b28
call FlushAllPalettes
call EnableLCD
call DoFrameIfLCDEnabled
- call $4cea
+ call Func_10cea
call FlushAllPalettes
pop af
call BankswitchSRAM
@@ -45,7 +45,13 @@ Func_10059: ; 10059 (4:4059)
INCROM $10059, $100a2
Func_100a2: ; 100a2 (4:40a2)
- INCROM $100a2, $1029e
+ INCROM $100a2, $1010c
+
+Func_1010c: ; 1010c (4:410c)
+ INCROM $1010c, $10197
+
+Func_10197: ; 10197 (4:4197)
+ INCROM $10197, $1029e
Medal_1029e: ; 1029e (4:429e)
sub $8
@@ -59,22 +65,22 @@ Medal_1029e: ; 1029e (4:429e)
call PlaySong
farcall Func_70000
call DisableLCD
- call $4000
+ call Func_10000
ld a, $fa
ld [wd114], a
- call $410c
+ call Func_1010c
pop bc
ld a, c
add a
ld c, a
ld b, $0
- ld hl, Unknown_1030b
+ ld hl, MasterMedalNames
add hl, bc
ld a, [hli]
ld [wTxRam2], a
ld a, [hl]
ld [wTxRam2 + 1], a
- call $4031
+ call Func_10031
ld a, MUSIC_MEDAL
call PlaySong
ld a, $ff
@@ -86,7 +92,7 @@ Medal_1029e: ; 1029e (4:429e)
ld [wd116], a
and $f
jr nz, .asm_102e2
- call $4197
+ call Func_10197
ld a, [wd116]
cp $e0
jr nz, .asm_102e2
@@ -98,8 +104,15 @@ Medal_1029e: ; 1029e (4:429e)
ld [wd291], a
ret
-Unknown_1030b: ; 1030b (4:430b)
- INCROM $1030b, $1031b
+MasterMedalNames: ; 1030b (4:430b)
+ tx GrassClubMapNameText
+ tx ScienceClubMapNameText
+ tx FireClubMapNameText
+ tx WaterClubMapNameText
+ tx LightningClubMapNameText
+ tx PsychicClubMapNameText
+ tx RockClubMapNameText
+ tx FightingClubMapNameText
BoosterPack_1031b: ; 1031b (4:431b)
ld c, a
@@ -107,25 +120,25 @@ BoosterPack_1031b: ; 1031b (4:431b)
push af
push bc
call DisableLCD
- call $4000
+ call Func_10000
xor a
ld [wTextBoxFrameType], a
pop bc
push bc
ld b, $0
- ld hl, $43a5
+ ld hl, Unknown_103a5
add hl, bc
ld a, [hl]
ld c, a
add a
add a
ld c, a
- ld hl, $43c2
+ ld hl, Unknown_103c2
add hl, bc
ld a, [hli]
push hl
ld bc, $0600
- call $70ca
+ call Func_130ca
pop hl
ld a, [hli]
ld [wTxRam3], a
@@ -135,7 +148,7 @@ BoosterPack_1031b: ; 1031b (4:431b)
ld [wTxRam2], a
ld a, [hl]
ld [wTxRam2 + 1], a
- call $4031
+ call Func_10031
call PauseSong
ld a, MUSIC_BOOSTER_PACK
call PlaySong
@@ -166,9 +179,12 @@ BoosterPack_1031b: ; 1031b (4:431b)
pop af
ld [wd291], a
ret
-; 0x103a5
- INCROM $103a5, $103d2
+Unknown_103a5: ; 103a5 (4:43a5)
+ INCROM $103a5, $103c2
+
+Unknown_103c2: ; 103c2 (4:43c2)
+ INCROM $103c2, $103d2
Func_103d2: ; 103d2 (4:43d2)
INCROM $103d2, $103d3
@@ -177,7 +193,7 @@ Duel_Init: ; 103d3 (4:43d3)
ld a, [wd291]
push af
call DisableLCD
- call $4000
+ call Func_10000
ld a, $4
ld [wTextBoxFrameType], a
lb de, 0, 12
@@ -188,7 +204,7 @@ Duel_Init: ; 103d3 (4:43d3)
add a
ld c, a
ld b, $0
- ld hl, $445b
+ ld hl, Unknown_1045b
add hl, bc
ld a, [hli]
ld [wTxRam2], a
@@ -199,8 +215,8 @@ Duel_Init: ; 103d3 (4:43d3)
ld [wTxRam2_b], a
ld a, [wOpponentName + 1]
ld [wTxRam2_b + 1], a
- ld hl, $4451
- call $51b3 ; LoadDuelistName
+ ld hl, Unknown_10451
+ call Func_111b3 ; LoadDuelistName
pop hl
ld a, [hli]
ld [wTxRam2], a
@@ -209,8 +225,8 @@ Duel_Init: ; 103d3 (4:43d3)
ld [wTxRam2 + 1], a
or c
jr z, .asm_10425
- ld hl, $4456
- call $51b3 ; LoadDeckName
+ ld hl, Unknown_10456
+ call Func_111b3 ; LoadDeckName
.asm_10425
ld bc, $0703
@@ -218,7 +234,7 @@ Duel_Init: ; 103d3 (4:43d3)
call Func_3e2a ; LoadDuelistPortrait
ld a, [wMatchStartTheme]
call PlaySong
- call $4031
+ call Func_10031
call DoFrameIfLCDEnabled
lb bc, $2f, $1d ; cursor tile, tile behind cursor
lb de, 18, 17 ; x, y
@@ -229,9 +245,15 @@ Duel_Init: ; 103d3 (4:43d3)
pop af
ld [wd291], a
ret
-; 0x10451
- INCROM $10451, $10548
+Unknown_10451: ; 10451 (4:4451)
+ INCROM $10451, $10456
+
+Unknown_10456: ; 10456 (4:4456)
+ INCROM $10456, $1045b
+
+Unknown_1045b: ; 1045b (4:445b)
+ INCROM $1045b, $10548
Func_10548: ; 10548 (4:4548)
INCROM $10548, $10756
@@ -284,7 +306,10 @@ Func_10ab4: ; 10ab4 (4:4ab4)
INCROM $10ab4, $10af9
Func_10af9: ; 10af9 (4:4af9)
- INCROM $10af9, $10c96
+ INCROM $10af9, $10b28
+
+Func_10b28: ; 10b28 (4:4b28)
+ INCROM $10b28, $10c96
Func_10c96: ; 10c96 (4:4c96)
ldh a, [hBankSRAM]
@@ -292,13 +317,13 @@ Func_10c96: ; 10c96 (4:4c96)
push bc
ld a, $1
call BankswitchSRAM
- call $4cbb
+ call Func_10cbb
call Func_10ab4
pop bc
ld a, c
or a
jr nz, .asm_10cb0
- call $4cea
+ call Func_10cea
call Func_10af9
.asm_10cb0
@@ -307,15 +332,18 @@ Func_10c96: ; 10c96 (4:4c96)
call BankswitchSRAM
call DisableSRAM
ret
-; 0x10cbb
- INCROM $10cbb, $10dba
+Func_10cbb: ; 10cbb (4:4cbb)
+ INCROM $10cbb, $10cea
+
+Func_10cea: ; 10cea (4:4cea)
+ INCROM $10cea, $10dba
Func_10dba: ; 10dba (4:4dba)
ld a, $1
farcall Func_c29b
ld a, [wd0ba]
- ld hl, $4e17
+ ld hl, Unknown_10e17
farcall Func_111e9
.asm_10dca
call DoFrameIfLCDEnabled
@@ -331,15 +359,18 @@ Func_10dba: ; 10dba (4:4dba)
.asm_10ddd
ld [wd10e], a
push af
- ld hl, $4df0
+ ld hl, Unknown_10df0
call JumpToFunctionInTable
farcall CloseTextBox
call DoFrameIfLCDEnabled
pop af
ret
-; 0x10df0
- INCROM $10df0, $10e28
+Unknown_10df0: ; 10df0 (4:4df0)
+ INCROM $10df0, $10e17
+
+Unknown_10e17: ; 10e17 (4:4e17)
+ INCROM $10e17, $10e28
Func_10e28: ; 10e28 (4:4e28)
INCROM $10e28, $10e55
@@ -788,12 +819,15 @@ Func_11184: ; 11184 (4:5184)
ld hl, wd341
dec [hl]
ret
-; 0x111b3
+Func_111b3: ; 111b3 (4:51b3)
INCROM $111b3, $111e9
Func_111e9: ; 111e9 (4:51e9)
- INCROM $111e9, $1124d
+ INCROM $111e9, $11238
+
+Func_11238: ; 11238 (4:5238)
+ INCROM $11238, $1124d
Func_1124d: ; 1124d (4:524d)
INCROM $1124d, $11320
@@ -830,7 +864,7 @@ Func_1157c: ; 1157c (4:557c)
ld [wd32e], a
.asm_1159f
- call $5238
+ call Func_11238
ret
Func_115a3: ; 115a3 (4:55a3)
@@ -1040,7 +1074,7 @@ OverworldScriptTable: ; 1217b (4:617b)
dw Func_d3e0
dw Func_d3fe
dw Func_d408
- dw Func_d40f
+ dw ScriptCommand_PlaySong
dw ScriptCommand_PlaySFX
dw ScriptCommand_PauseSong
dw ScriptCommand_ResumeSong
@@ -1078,11 +1112,11 @@ MultichoiceTextbox_ConfigTable_ChooseDeckToDuelAgainst: ;1224b
db $04, $00 ; x, y to start drawing box
db $10, $08 ; width, height of box
db $06, $02 ; x, y coordinate to start printing next text
- tx Text03f6 ; text id to print next
+ tx LightningAndFireDeckChoiceText ; text id to print next
db $06, $04 ; x, y coordinate to start printing next text
- tx Text03f7 ; text id to print next
+ tx WaterAndFightingDeckChoiceText ; text id to print next
db $06, $06 ; x, y coordinate to start printing next text
- tx Text03f8 ; text id to print next
+ tx GrassAndPsychicDeckChoiceText ; text id to print next
db $ff ; marker byte -- end text entries
db $05, $02 ; cursor starting x, y
db $02 ; number of tiles the cursor moves per toggle
@@ -1095,11 +1129,11 @@ MultichoiceTextbox_ConfigTable_ChooseDeckStarterDeck: ;12264
db $04, $00 ; x, y to start drawing box
db $10, $08 ; width, height of box
db $06, $02 ; x, y coordinate to start printing next text
- tx Text03fa ; text id to print next
+ tx CharmanderAndFriendsDeckChoiceText ; text id to print next
db $06, $04 ; x, y coordinate to start printing next text
- tx Text03fb ; text id to print next
+ tx SquirtleAndFriendsDeckChoiceText ; text id to print next
db $06, $06 ; x, y coordinate to start printing next text
- tx Text03fc ; text id to print next
+ tx BulbasaurAndFriendsDeckChoiceText ; text id to print next
db $ff ; marker byte -- end text entries
db $05, $02 ; cursor starting x, y
db $02 ; number of tiles the cursor moves per toggle
@@ -1115,7 +1149,7 @@ SamNormalMultichoice_ConfigurationTable: ;1227d
tx Text03ff ; text id to print next
db $ff ; marker byte -- end text entries
db $0b, $02 ; cursor starting x, y
- db $02 ; number of tiles the cursor moves per toggle
+ db $02 ; number of tiles the cursor moves per toggle
db $04 ; cursor max index
db $0f ; cursor image
@@ -1202,7 +1236,7 @@ MainMenu_ContinueFromDiary: ; 12741 (4:6741)
farcall Func_70000
call EnableSRAM
xor a
- ld [$ba44], a
+ ld [sba44], a
call DisableSRAM
ld a, GAME_EVENT_OVERWORLD
ld [wGameEvent], a
@@ -1234,7 +1268,10 @@ MainMenu_ContinueDuel: ; 1277e (4:677e)
ret
; 0x1279a
- INCROM $1279a, $12871
+ INCROM $1279a, $12863
+
+Func_12863: ; 12863 (4:6863)
+ INCROM $12863, $12871
Func_12871: ; 12871 (4:6871)
INCROM $12871, $1288c
@@ -1393,10 +1430,12 @@ FillNewSpriteAnimBufferEntry: ; 129d9 (4:69d9)
pop bc
pop hl
ret
-; 0x129fa
Func_129fa: ; 129fa (4:69fa)
ld a, [wWhichSprite]
+ ; fallthrough
+
+Func_129fd: ; 129fd (4:69fd)
push af
ld a, [wd5d7]
or a
@@ -1836,7 +1875,13 @@ Func_12c5e: ; 12c5e (4:6c5e)
INCROM $12c5e, $12c7f
Func_12c7f: ; 12c7f (4:6c7f)
- INCROM $12c7f, $131b3
+ INCROM $12c7f, $12fc6
+
+Func_12fc6: ; 12fc6 (4:6fc6)
+ INCROM $12fc6, $130ca
+
+Func_130ca: ; 130ca (4:70ca)
+ INCROM $130ca, $131b3
Func_131b3: ; 131b3 (4:71b3)
INCROM $131b3, $131d3
@@ -1859,12 +1904,12 @@ Func_1344d: ; 1344d (4:744d)
Func_13485: ; 13485 (4:7485)
call EnableSRAM
- ld a, [$ba68]
+ ld a, [sba68]
or a
ret z
- ld a, [$ba56]
+ ld a, [sba56]
ld [wTxRam3], a
- ld a, [$ba57]
+ ld a, [sba57]
ld [wTxRam3 + 1], a
call DisableSRAM
call PauseSong
diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm
index 8eb6e9a..f314b48 100644
--- a/src/engine/bank06.asm
+++ b/src/engine/bank06.asm
@@ -923,26 +923,26 @@ glossary_entry: MACRO
ENDM
GlossaryData1:
- glossary_entry 7, Text02fa, Text030c
- glossary_entry 5, Text02fb, Text030d
- glossary_entry 7, Text02fc, Text030e
- glossary_entry 6, Text02fd, Text030f
- glossary_entry 6, Text02fe, Text0310
- glossary_entry 4, Text02ff, Text0311
- glossary_entry 5, Text0300, Text0312
- glossary_entry 7, Text0301, Text0313
- glossary_entry 5, Text0302, Text0314
+ glossary_entry 7, AboutTheDeckText, DeckDescriptionText
+ glossary_entry 5, AboutTheDiscardPileText, DiscardPileDescriptionText
+ glossary_entry 7, AboutTheHandText, HandDescriptionText
+ glossary_entry 6, AboutTheArenaText, ArenaDescriptionText
+ glossary_entry 6, AboutTheBenchText, BenchDescriptionText
+ glossary_entry 4, AboutTheActivePokemonText, ActivePokemonDescriptionText
+ glossary_entry 5, AboutBenchPokemonText, BenchPokemonDescriptionText
+ glossary_entry 7, AboutPrizesText, PrizesDescriptionText
+ glossary_entry 5, AboutDamageCountersText, DamageCountersDescriptionText
GlossaryData2:
- glossary_entry 5, Text0303, Text0315
- glossary_entry 5, Text0304, Text0316
- glossary_entry 5, Text0305, Text0317
- glossary_entry 5, Text0306, Text0318
- glossary_entry 6, Text0307, Text0319
- glossary_entry 5, Text0308, Text031a
- glossary_entry 6, Text0309, Text031b
- glossary_entry 6, Text030a, Text031c
- glossary_entry 6, Text030b, Text031d
+ glossary_entry 5, AboutEnergyCardsText, EnergyCardsDescriptionText
+ glossary_entry 5, AboutTrainerCardsText, TrainerCardsDescriptionText
+ glossary_entry 5, AboutBasicPokemonText, BasicPokemonDescriptionText
+ glossary_entry 5, AboutEvolutionCardsText, EvolutionCardsDescriptionText
+ glossary_entry 6, AboutAttackingText, AttackingDescriptionText
+ glossary_entry 5, AboutPokemonPowerText, PokemonPowerDescriptionText
+ glossary_entry 6, AboutWeaknessText, WeaknessDescriptionText
+ glossary_entry 6, AboutResistanceText, ResistanceDescriptionText
+ glossary_entry 6, AboutRetreatingText, RetreatingDescriptionText
Func_18661: ; 18661 (6:4661)
xor a
@@ -1077,7 +1077,7 @@ Func_18f9c: ; 18f9c (6:4f9c)
ld a, DUEL_ANIM_SCREEN_MAIN_SCENE
ld [wDuelAnimationScreen], a
ld a, $01
- ld [$d4b3], a
+ ld [wd4b3], a
xor a
ld [wd4b0], a
ld a, [de]
@@ -1147,10 +1147,10 @@ Func_19014: ; 19014 (6:5014)
ld a, $97
call Func_3b6a
ld a, [wce81]
- ld [$d4b3], a
+ ld [wd4b3], a
push de
ld hl, wce7f
- ld de, $d4b1
+ ld de, wd4b1
ld a, [hli]
ld [de], a
inc de
@@ -1192,7 +1192,7 @@ Func_19014: ; 19014 (6:5014)
Func_19079: ; 19079 (6:5079)
ld a, [de]
inc de
- ld [$d4b3], a
+ ld [wd4b3], a
ld a, [wce82]
ld [wd4b0], a
call Func_1909d
@@ -1210,7 +1210,7 @@ PointerTable_006_508f: ; 1908f (6:508f)
dw Func_19013
Func_1909d: ; 1909d (6:509d)
- ld a, [$d4b3]
+ ld a, [wd4b3]
cp $04
jr z, .asm_50ad
cp $01
@@ -1265,7 +1265,7 @@ Func_1909d: ; 1909d (6:509d)
; this part is not perfectly analyzed.
; needs some fix.
- ld a, [$d4b3]
+ ld a, [wd4b3]
cp $04
jr z, Func_190fb.asm_510f
Func_190fb: ; 190fb (6:50fb)
@@ -1341,25 +1341,25 @@ Func_19168: ; 19168 (6:5168)
jr z, .asm_5188
call LoadTxRam3
ld a, [wce81]
- ld hl, $003a
+ ldtx hl, AttackDamageText
and $06
ret z
- ld hl, $0038
+ ldtx hl, WeaknessMoreDamage2Text
cp $06
ret z
and $02
- ld hl, $0037
+ ldtx hl, WeaknessMoreDamageText
ret nz
- ld hl, $0036
+ ldtx hl, ResistanceLessDamageText
ret
.asm_5188
call CheckNoDamageOrEffect
ret c
- ld hl, $003b
+ ldtx hl, NoDamageText
ld a, [wce81]
and $04
ret z
- ld hl, $0039
+ ldtx hl, ResistanceNoDamageText
ret
; needs analyze.
@@ -1624,7 +1624,7 @@ Func_1a68d: ; 1a68d (6:668d)
call SetupText
bank1call InitAndDrawCardListScreenLayout
ldtx hl, ChooseTheCardYouWishToExamineText
- ldtx de, Text0196
+ ldtx de, BoosterPackText
bank1call SetCardListHeaderText
ld a, A_BUTTON | START
ld [wNoItemSelectionMenuKeys], a
@@ -1684,12 +1684,12 @@ Func_1a6cd: ; 1a6cd (6:66cd)
ld hl, $00a3
bank1call DrawWholeScreenTextBox
ld a, $0a
- ld [$0000], a
+ ld [MBC3SRamEnable], a
xor a
ldh [hBankSRAM], a
- ld [$4000], a
- ld [$a000], a
- ld [$0000], a
+ ld [MBC3SRamBank], a
+ ld [MBC3RTC], a
+ ld [MBC3SRamEnable], a
jp Reset
ret
@@ -1712,7 +1712,7 @@ Func_1a73a: ; 1a73a (6:673a)
or b
jr nz, .asm_6749
ld a, $0a
- ld [$0000], a
+ ld [MBC3SRamEnable], a
ld a, e
ld [s0a00b], a
pop bc
@@ -1728,20 +1728,20 @@ WhatIsYourNameData: ; 1a75e (6:675e)
; without any bank description.
; That is, the developers hard-coded it. -_-;;
Deck1Data: ; 1a763 (6:6763)
- textitem 2, 1, Text022b
- textitem 14, 1, Text0219
+ textitem 2, 1, Deck1Text
+ textitem 14, 1, DeckText
db $ff
Deck2Data: ; 1a76c (6:676c)
- textitem 2, 1, Text022c
- textitem 14, 1, Text0219
+ textitem 2, 1, Deck2Text
+ textitem 14, 1, DeckText
db $ff
Deck3Data: ; 1a775 (6:6775)
- textitem 2, 1, Text022d
- textitem 14, 1, Text0219
+ textitem 2, 1, Deck3Text
+ textitem 14, 1, DeckText
db $ff
Deck4Data: ; 1a77e (6:677e)
- textitem 2, 1, Text022e
- textitem 14, 1, Text0219
+ textitem 2, 1, Deck4Text
+ textitem 14, 1, DeckText
db $ff
; set each byte zero from hl for b bytes.
@@ -1938,7 +1938,7 @@ DrawNamingScreenBG: ; 1a892 (6:6892)
; print "End".
ld hl, .data
call PlaceTextItems
- ldtx hl, Text0221
+ ldtx hl, PlayerNameKeyboardText
lb de, 2, 4
call InitTextPrinting
call ProcessTextFromID
@@ -2815,7 +2815,7 @@ Func_1ae99: ; 1ae99 (6:6e99)
ld hl, DrawNamingScreenBG.data
call PlaceTextItems
; print the keyboard characters.
- ldtx hl, NamingScreenKeyboardText ; "A B C D..."
+ ldtx hl, DeckNameKeyboardText ; "A B C D..."
lb de, 2, 4
call InitTextPrinting
call ProcessTextFromID
@@ -3297,7 +3297,7 @@ Func_1bae4: ; 1bae4 (6:7ae4)
push af
ld hl, wd088
ld b, [hl]
- farcall $2, $7625
+ farcall Func_b625
jr c, .asm_7af5
pop af
ld [wd0a6], a
diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm
index 614cb61..81356d3 100644
--- a/src/engine/bank07.asm
+++ b/src/engine/bank07.asm
@@ -112,7 +112,7 @@ Func_1c461: ; 1c461 (7:4461)
ld a, b
ld [hli], a
ld [hl], c
- call $46e3
+ call Func_1c6e3
pop bc
pop hl
ret
@@ -214,7 +214,7 @@ Func_1c50a: ; 1c50a (7:450a)
ld a, [hl]
or a
jr z, .asm_1c52c
- call $44fa
+ call Func_1c4fa
jr nc, .asm_1c521
xor a
ld [wd3b8], a
@@ -223,7 +223,7 @@ Func_1c50a: ; 1c50a (7:450a)
xor a
ld [hli], a
ld a, [hl]
- farcall $4, $69fd
+ farcall Func_129fd
ld hl, wd349
dec [hl]
@@ -337,7 +337,7 @@ Func_1c5e9: ; 1c5e9 (7:45e9)
ld l, LOADED_NPC_FIELD_07
call GetItemInLoadedNPCIndex
ld a, [hl]
- ld bc, $fffd
+ ld bc, -3
add hl, bc
ld [hl], a
call Func_1c58e
@@ -346,6 +346,7 @@ Func_1c5e9: ; 1c5e9 (7:45e9)
ret
; 0x1c5ff
+Func_1c5ff: ; 1c5ff (7:45ff)
INCROM $1c5ff, $1c610
Func_1c610: ; 1c610 (7:4610)
@@ -382,7 +383,7 @@ Func_1c719: ; 1c719 (7:4719)
ld b, a
ld c, [hl]
ld a, $40
- call $3937
+ call UpdatePermissionOfMapPosition
pop bc
pop hl
ret
@@ -473,12 +474,12 @@ Func_1c78d: ; 1c78d (7:478d)
inc hl
ld [hl], b
dec hl
- call $39ea
+ call Func_39ea
cp $f0
jr nc, .asm_1c7bb
push af
and $7f
- call $45ff
+ call Func_1c5ff
pop af
bit 7, a
jr z, .asm_1c7dc
@@ -489,7 +490,7 @@ Func_1c78d: ; 1c78d (7:478d)
cp $ff
jr z, .asm_1c7d2
inc bc
- call $39ea
+ call Func_39ea
push hl
ld l, a
ld h, $0
@@ -551,8 +552,8 @@ Func_1c83d: ; 1c83d (7:483d)
pop bc
pop hl
ret
-; 0x1c858
+Func_1c858: ; 1c858 (7:4858)
INCROM $1c858, $1c8bc
Func_1c8bc: ; 1c8bc (7:48bc)
@@ -841,7 +842,7 @@ Func_1ca31: ; 1ca31 (7:4a31)
add %00001000
and %01111111
cp b
- jp z, .asm_007_4a6b
+ jp z, .asm_1ca6b
ld [hl], a
ld b, $00
@@ -864,7 +865,7 @@ Func_1ca31: ; 1ca31 (7:4a31)
ld a, [wd4be]
ld [hl], a
-.asm_007_4a6b
+.asm_1ca6b
pop bc
pop hl
ret
@@ -998,7 +999,7 @@ Func_1cb18: ; 1cb18 (7:4b18)
ld [wd4c0], a
ld a, [wd42a]
cp $ff
- call nz, $4cd4
+ call nz, Func_1ccd4
ld hl, wAnimationQueue
ld c, $07
.asm_1cb3b
@@ -1007,7 +1008,7 @@ Func_1cb18: ; 1cb18 (7:4b18)
cp $ff
jr z, .asm_1cb4b
ld [wWhichSprite], a
- farcall $4, $69fa
+ farcall Func_129fa
ld a, $ff
ld [hl], a
.asm_1cb4b
@@ -1159,7 +1160,7 @@ Func_1cc03: ; 1cc03 (7:4c03)
ret
; 0x1cc2f
-.Func_1cc2f
+.Func_1cc2f
ld a, $4e
.loop
inc a
@@ -1274,6 +1275,7 @@ Func_1ccbc: ; 1ccbc (7:4cbc)
ret
; 0x1ccd4
+Func_1ccd4: ; 1ccd4 (7:4cd4)
INCROM $1ccd4, $1cce4
Func_1cce4: ; 1cce4 (7:4ce4)
@@ -2240,8 +2242,8 @@ Func_1d078: ; 1d078 (7:5078)
ld a, MUSIC_STOP
call PlaySong
call Func_3ca0
- call $5335
- call $53ce
+ call Func_1d335
+ call Func_1d3ce
xor a
ld [wd635], a
ld a, $3c
@@ -2249,7 +2251,7 @@ Func_1d078: ; 1d078 (7:5078)
.asm_1d095
call DoFrameIfLCDEnabled
call UpdateRNGSources
- call $5614
+ call Func_1d614
ld hl, wd635
inc [hl]
call AssertSongFinished
@@ -2273,46 +2275,46 @@ Func_1d078: ; 1d078 (7:5078)
farcall Func_10ab4
.asm_1d0c7
- call $50fa
- call $511c
+ call Func_1d0fa
+ call Func_1d11c
ld a, [wd628]
cp $2
jr nz, .asm_1d0db
- call $5289
+ call Func_1d289
jr c, Func_1d078
jr .asm_1d0e7
.asm_1d0db
ld a, [wd628]
cp $1
jr nz, .asm_1d0e7
- call $52b8
+ call Func_1d2b8
jr c, Func_1d078
.asm_1d0e7
ld a, [wd628]
cp $0
jr nz, .asm_1d0f3
- call $52dd
+ call Func_1d2dd
jr c, Func_1d078
.asm_1d0f3
call ResetDoFrameFunction
call Func_3ca0
ret
-; 0x1d0fa
+Func_1d0fa: ; 1d0fa (7:50fa)
INCROM $1d0fa, $1d11c
Func_1d11c: ; 1d11c (7:511c)
ld a, MUSIC_PC_MAIN_MENU
call PlaySong
call DisableLCD
- farcall $4, $4000
+ farcall Func_10000
lb de, $30, $8f
call SetupText
call Func_3ca0
xor a
ld [wLineSeparation], a
- call $51e1
- call $517f
+ call Func_1d1e1
+ call Func_1d17f
ld a, $ff
ld [wd626], a
ld a, [wd627]
@@ -2325,13 +2327,13 @@ Func_1d11c: ; 1d11c (7:511c)
.asm_1d14f
ld hl, wd636
farcall Func_111e9
- farcall $4, $4031
+ farcall Func_10031
.asm_1d15a
call DoFrameIfLCDEnabled
call UpdateRNGSources
call HandleMenuInput
push af
- call $51e9
+ call Func_1d1e9
pop af
jr nc, .asm_1d15a
ldh a, [hCurMenuItem]
@@ -2347,12 +2349,30 @@ Func_1d11c: ; 1d11c (7:511c)
ld a, e
ld [wd628], a
ret
-; 0x1d17f
- INCROM $1d17f, $1d306
+Func_1d17f: ; 1d17f (7:517f)
+ INCROM $1d17f, $1d1e1
+
+Func_1d1e1: ; 1d1e1 (7:51e1)
+ INCROM $1d1e1, $1d1e9
+
+Func_1d1e9: ; 1d1e9 (7:51e9)
+ INCROM $1d1e9, $1d289
+
+Func_1d289: ; 1d289 (7:5289)
+ INCROM $1d289, $1d2b8
+
+Func_1d2b8: ; 1d2b8 (7:52b8)
+ INCROM $1d2b8, $1d2dd
+
+Func_1d2dd: ; 1d2dd (7:52dd)
+ INCROM $1d2dd, $1d306
Func_1d306: ; 1d306 (7:5306)
- INCROM $1d306, $1d386
+ INCROM $1d306, $1d335
+
+Func_1d335: ; 1d335 (7:5335)
+ INCROM $1d335, $1d386
Titlescreen_1d386: ; 1d386 (7:5386)
call AssertSongFinished
@@ -2372,7 +2392,10 @@ Titlescreen_1d386: ; 1d386 (7:5386)
ret
Func_1d3a9: ; 1d3a9 (7:53a9)
- INCROM $1d3a9, $1d42e
+ INCROM $1d3a9, $1d3ce
+
+Func_1d3ce: ; 1d3ce (7:53ce)
+ INCROM $1d3ce, $1d42e
Func_1d42e: ; 1d42e (7:542e)
INCROM $1d42e, $1d519
@@ -2388,35 +2411,38 @@ Titlescreen_1d519: ; 1d519 (7:5519)
INCROM $1d523, $1d59c
Func_1d59c: ; 1d59c (7:559c)
- INCROM $1d59c, $1d6ad
+ INCROM $1d59c, $1d614
+
+Func_1d614: ; 1d614 (7:5614)
+ INCROM $1d614, $1d6ad
Credits_1d6ad: ; 1d6ad (7:56ad)
ld a, MUSIC_STOP
call PlaySong
- call $5705
- call $4858
+ call Func_1d705
+ call Func_1c858
xor a
ld [wd324], a
ld a, MUSIC_CREDITS
call PlaySong
- farcall $4, $4031
- call $57fc
+ farcall Func_10031
+ call Func_1d7fc
.asm_1d6c8
call DoFrameIfLCDEnabled
- call $5765
- call $580b
+ call Func_1d765
+ call Func_1d80b
ld a, [wd633]
cp $ff
jr nz, .asm_1d6c8
call WaitForSongToFinish
ld a, $8
- farcall $4, $6863
+ farcall Func_12863
ld a, MUSIC_STOP
call PlaySong
farcall Func_10ab4
call Func_3ca4
call Set_WD_off
- call $5758
+ call Func_1d758
call EnableLCD
call DoFrameIfLCDEnabled
call DisableLCD
@@ -2424,6 +2450,18 @@ Credits_1d6ad: ; 1d6ad (7:56ad)
set 1, [hl]
call ResetDoFrameFunction
ret
-; 0x1d705
- INCROM $1d705, $1e1c4
+Func_1d705: ; 1d705 (7:5705)
+ INCROM $1d705, $1d758
+
+Func_1d758: ; 1d758 (7:5758)
+ INCROM $1d758, $1d765
+
+Func_1d765: ; 1d765 (7:5765)
+ INCROM $1d765, $1d7fc
+
+Func_1d7fc: ; 1d7fc (7:57fc)
+ INCROM $1d7fc, $1d80b
+
+Func_1d80b: ; 1d80b (7:580b)
+ INCROM $1d80b, $1e1c4
diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm
index c2a8cdf..31e6d91 100644
--- a/src/engine/bank20.asm
+++ b/src/engine/bank20.asm
@@ -5,9 +5,9 @@ Func_80028: ; 80028 (20:4028)
call Func_801f1
ld bc, $0000
call Func_80077
- farcall $3, $49c7
- call $41a1
- farcall $3, $43ee
+ farcall Func_c9c7
+ call Func_801a1
+ farcall Func_c3ee
ret
; 0x8003d
@@ -16,12 +16,12 @@ Func_80028: ; 80028 (20:4028)
Func_80077: ; 80077 (20:4077)
ld a, $1
ld [wd292], a
- jr .asm_80082
+ jr Func_80082
xor a
ld [wd292], a
-.asm_80082
+Func_80082: ; 80082 (20:4082)
push hl
push bc
push de
@@ -78,7 +78,7 @@ Func_800bd: ; 800bd (20:40bd)
Func_800e0: ; 800e0 (20:40e0)
push hl
- ld hl, $d28e
+ ld hl, wd28e
ld a, [wd12f]
ld [hl], a
ld a, [wd23c]
@@ -99,7 +99,7 @@ Func_800e0: ; 800e0 (20:40e0)
push bc
push de
ld b, $00
- ld a, [$d28e]
+ ld a, [wd28e]
ld c, a
ld de, wd23e
call Func_3be4
@@ -138,17 +138,17 @@ Func_800e0: ; 800e0 (20:40e0)
ret
Func_80148: ; 80148 (20:4148)
- ld a, [$d291]
+ ld a, [wd291]
or a
ret z
- ld a, [$d23c]
+ ld a, [wd23c]
or a
jr z, .asm_80162
push hl
push bc
.asm_80155
push bc
- ld a, [$d291]
+ ld a, [wd291]
add [hl]
ld [hli], a
pop bc
@@ -160,7 +160,7 @@ Func_80148: ; 80148 (20:4148)
.asm_80162
push hl
push bc
- ld a, [$d291]
+ ld a, [wd291]
.asm_80167
ld [hli], a
dec b
@@ -411,7 +411,7 @@ Func_803b9: ; 803b9 (20:43b9)
call GetMapDataPointer
call LoadGraphicsPointerFromHL
ld a, [hl]
- ld [$d239], a
+ ld [wd239], a
ret
; 0x803c9
@@ -570,9 +570,9 @@ Func_80b89: ; 80b89 (20:4b89)
push af
ld c, a
ld a, $01
- ld [$d292], a
+ ld [wd292], a
ld b, $00
- ld hl, $d323
+ ld hl, wd323
add hl, bc
ld a, [hl]
or a
@@ -618,7 +618,7 @@ Func_80baa: ; 80baa (20:4baa)
add a
ld c, a
ld b, $0
- ld hl, $4c21
+ ld hl, Unknown_80c21
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -636,7 +636,7 @@ Func_80baa: ; 80baa (20:4baa)
ld a, [hl]
ld [wd131], a
push bc
- farcall $20, $4082
+ farcall Func_80082
pop bc
srl b
ld a, c
@@ -648,7 +648,7 @@ Func_80baa: ; 80baa (20:4baa)
ld b, $0
ld hl, wBoosterViableCardList
add hl, bc
- farcall $3, $438f
+ farcall Func_c38f
pop af
ld [wd23b], a
pop af
@@ -665,8 +665,8 @@ Func_80baa: ; 80baa (20:4baa)
pop bc
pop hl
ret
-; 0x80c21
+Unknown_80c21: ; 80c21 (20:4c21)
INCROM $80c21, $80e5a
SpriteNullAnimationPointer: ; 80e5a (20:4e5a)
diff --git a/src/engine/effect_functions.asm b/src/engine/effect_functions.asm
index 63a3642..45e71a2 100644
--- a/src/engine/effect_functions.asm
+++ b/src/engine/effect_functions.asm
@@ -495,7 +495,7 @@ ApplyAndAnimateHPRecovery: ; 2c221 (b:4221)
ld e, a
ld a, 0
adc d
- ld d, a
+ ld d, a
; de = damage dealt + current HP
; bc = max HP of card
call CompareDEtoBC
@@ -877,7 +877,7 @@ HandleDefendingPokemonAttackSelection: ; 2c391 (b:4391)
db 2 ; number of items
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; 0x2c3fc
; loads in hl the pointer to attack's name.
@@ -1244,7 +1244,7 @@ HandleColorChangeScreen: ; 2c588 (b:4588)
db MAX_PLAY_AREA_POKEMON ; number of items
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; 0x2c5be
.DrawScreen: ; 2c5be (b:45be)
@@ -1444,7 +1444,7 @@ PlayAreaSelectionMenuParameters: ; 2c6e0 (b:46e0)
db MAX_PLAY_AREA_POKEMON ; number of items
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; 0x2c6e8
BenchSelectionMenuParameters: ; 2c6e8 (b:46e8)
@@ -1453,7 +1453,7 @@ BenchSelectionMenuParameters: ; 2c6e8 (b:46e8)
db MAX_PLAY_AREA_POKEMON ; number of items
db SYM_CURSOR_R ; cursor tile number
db SYM_SPACE ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; 0x2c6f0
SpitPoison_AIEffect: ; 2c6f0 (b:46f0)
@@ -9097,7 +9097,7 @@ MorphEffect: ; 2eff6 (b:6ff6)
.successful
ld a, DUELVARS_ARENA_CARD_STAGE
call GetTurnDuelistVariable
- or a
+ or a
jr z, .skip_discard_stage_below
; if this is a stage 1 Pokemon (in case it's used
diff --git a/src/engine/home.asm b/src/engine/home.asm
index c860dd3..8e5233b 100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -7983,7 +7983,7 @@ NarrowTextBoxMenuParameters: ; 2a96 (0:2a96)
db 1 ; number of items
db SYM_CURSOR_D ; cursor tile number
db SYM_BOX_BOTTOM ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; draw a 20x6 text box aligned to the bottom of the screen
DrawWideTextBox: ; 2a9e (0:2a9e)
@@ -8020,7 +8020,7 @@ WideTextBoxMenuParameters: ; 2ac8 (0:2ac8)
db 1 ; number of items
db SYM_CURSOR_D ; cursor tile number
db SYM_BOX_BOTTOM ; tile behind cursor
- dw $0000 ; function pointer if non-0
+ dw NULL ; function pointer if non-0
; display a two-item horizontal menu with custom text provided in hl and handle input
TwoItemHorizontalMenu: ; 2ad0 (0:2ad0)
@@ -8793,7 +8793,7 @@ LoadTxRam3: ; 2ec4 (0:2ec4)
; load data of card with text id of name at de to wLoadedCard1
LoadCardDataToBuffer1_FromName: ; 2ecd (0:2ecd)
- ld hl, CardPointers + 2 ; skip first $0000 pointer
+ ld hl, CardPointers + 2 ; skip first NULL pointer
ld a, BANK(CardPointers)
call BankpushROM2
.find_card_loop
@@ -9051,7 +9051,7 @@ CheckMatchingCommand: ; 2ffe (0:2ffe)
ld a, l
or h
jr nz, .not_null_pointer
- ; return carry if pointer is $0000
+ ; return carry if pointer is NULL
scf
ret
@@ -10639,7 +10639,7 @@ GameEvent_Duel: ; 38c0 (0:38c0)
ld [wd112], a
call EnableSRAM
xor a
- ld [$ba44], a
+ ld [sba44], a
call DisableSRAM
call Func_3a3b
bank1call StartDuel
@@ -10652,7 +10652,7 @@ GameEvent_ChallengeMachine: ; 38db (0:38db)
call Func_39fc
call EnableSRAM
xor a
- ld [$ba44], a
+ ld [sba44], a
call DisableSRAM
.asm_38ed
farcall Func_131d3
@@ -10667,7 +10667,7 @@ GameEvent_ContinueDuel: ; 38fb (0:38fb)
ld [wd112], a
bank1call TryContinueDuel
call EnableSRAM
- ld a, [$ba44]
+ ld a, [sba44]
call DisableSRAM
cp $ff
jr z, GameEvent_ChallengeMachine.asm_38ed
@@ -11060,9 +11060,9 @@ RunOverworldScript: ; 3aed (0:3aed)
Func_3b11: ; 3b11 (0:3b11)
ldh a, [hBankROM]
push af
- ld a, $04
+ ld a, BANK(_GameLoop)
call BankswitchROM
- call $66d1
+ call _GameLoop
pop af
call BankswitchROM
ret
@@ -11126,7 +11126,7 @@ Func_3b6a: ; 3b6a (0:3b6a)
push hl
push bc
push de
- ld a, BANK(Func_1ca31)
+ ld a, BANK(Func_1ca31) ; BANK(Func_1c8ef)
call BankswitchROM
ld a, [wTempAnimation]
cp $61
@@ -11191,7 +11191,7 @@ SetDoFrameFunction: ; 3bd2 (0:3bd2)
ResetDoFrameFunction: ; 3bdb (0:3bdb)
push hl
- ld hl, $0000
+ ld hl, NULL
call SetDoFrameFunction
pop hl
ret
@@ -11331,7 +11331,7 @@ DivideBCbyDE: ; 3c5a (0:3c5a)
jr nz, .asm_3c63
ret
-CallPlaySong: ; 3c83 (0:3c83)
+ScriptPlaySong: ; 3c83 (0:3c83)
call PlaySong
ret
@@ -11629,9 +11629,9 @@ Func_3e17: ; 3e17 (0:3e17)
ld [wd131], a
ldh a, [hBankROM]
push af
- ld a, $4
+ ld a, BANK(Func_12fc6)
call BankswitchROM
- call $6fc6
+ call Func_12fc6
pop af
call BankswitchROM
ret
@@ -11646,9 +11646,9 @@ Func_3e31: ; 3e31 (0:3e31)
ldh a, [hBankROM]
push af
call Func_3cb4
- ld a, $20
+ ld a, BANK(Func_804d8)
call BankswitchROM
- call $44d8
+ call Func_804d8
pop af
call BankswitchROM
ret