summaryrefslogtreecommitdiff
path: root/src/engine/bank3.asm
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2018-04-10 16:25:35 +0200
committerxCrystal <rgr.crystal@gmail.com>2018-04-10 16:25:35 +0200
commit2bbc1a63239201be8f1a7b360e81d19192093a8f (patch)
tree3970359d9ac5db26b39229911d975fff0825f772 /src/engine/bank3.asm
parent6895547b0d2c86d769b29dc8eb5f5021723fc763 (diff)
Add leading zero to temporary bankX.asm filenames so they show up in order
Diffstat (limited to 'src/engine/bank3.asm')
-rw-r--r--src/engine/bank3.asm3225
1 files changed, 0 insertions, 3225 deletions
diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm
deleted file mode 100644
index e53fc38..0000000
--- a/src/engine/bank3.asm
+++ /dev/null
@@ -1,3225 +0,0 @@
-LoadMap: ; c000 (3:4000)
- call DisableLCD
- call EnableSRAM
- bank1call Func_6785
- call DisableSRAM
- ld a, GAME_EVENT_OVERWORLD
- ld [wGameEvent], a
- xor a
- ld [wd10f], a
- ld [wd110], a
- ld [wMatchStartTheme], a
- farcall Func_10a9b
- call Func_c1a4
- call ZeroObjectPositions
- xor a
- ld [wTileMapFill], a
- call LoadDuelHUDTiles
- call Set_OBJ_8x8
- xor a
- ld [wcd08], a
- xor a
- ld [wd291], a
-.asm_c037
- farcall Func_10ab4
- call Func_c1a4
- call Func_c241
- call EmptyScreen
- call Func_3ca0
- ld a, PLAYER_TURN
- ldh [hWhoseTurn], a
- farcall Func_1c440
- ld a, [wd0bb]
- ld [wCurMap], a
- ld a, [wd0bc]
- ld [wPlayerXCoord], a
- ld a, [wd0bd]
- ld [wPlayerYCoord], a
- call Func_c36a
- call Func_c184
- call Func_c49c
- farcall Func_80000
- call Func_c4b9
- call Func_c943
- call Func_c158
- farcall Func_80480
- call Func_c199
- xor a
- ld [wd0b4], a
- ld [wd0c1], a
- call Func_39fc
- farcall Func_10af9
- call Func_c141
- call Func_c17a
-.asm_c092
- call DoFrameIfLCDEnabled
- call SetScreenScroll
- call Func_c0ce
- ld hl, wd0b4
- ld a, [hl]
- and $d0
- jr z, .asm_c092
- call DoFrameIfLCDEnabled
- ld hl, wd0b4
- ld a, [hl]
- bit 4, [hl]
- jr z, .asm_c0b6
- ld a, $c
- call PlaySFX
- jp .asm_c037
-.asm_c0b6
- farcall Func_10ab4
- call Func_c1a0
- ld a, [wMatchStartTheme]
- or a
- jr z, .asm_c0ca
- call Func_c280
- farcall Duel_Init
-.asm_c0ca
- call Func_c280
- ret
-
-Func_c0ce: ; c0ce (3:40ce)
- ld a, [wd0bf]
- res 7, a
- rlca
- add LOW(PointerTable_c0e0)
- ld l, a
- ld a, HIGH(PointerTable_c0e0)
- adc $0
- ld h, a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-
-PointerTable_c0e0: ; c0e0 (3:40e0)
- dw Func_c0e8
- dw Func_c0ed
- dw Func_c0f1
- dw Func_c10a
-
-Func_c0e8: ; c0e8 (3:40e8)
- farcall Func_10e55
- ret
-
-Func_c0ed: ; c0ed (3:40ed)
- call Func_c510
- ret
-
-Func_c0f1: ; c0f1 (3:40f1)
- ld a, [wd3b6]
- ld [wd3aa], a
- farcall Func_1c768
- ld a, c
- ld [wd0c6], a
- ld a, b
- ld [wd0c7], a
- ld a, $3
- ld [wd0bf], a
- jr Func_c10a
-
-Func_c10a: ; c10a (3:410a)
- ld hl, wd0c6
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-
-; closes dialogue window. seems to be for other things as well.
-CloseDialogueBox: ; c111 (3:4111)
- ld a, [wd0c1]
- bit 0, a
- call nz, Func_c135
- ld a, [wd0c1]
- bit 1, a
- jr z, .asm_c12a
- ld a, [wd3b6]
- ld [wd3aa], a
- farcall Func_1c5e9
-.asm_c12a
- xor a
- ld [wd0c1], a
- ld a, [wd0c0]
- ld [wd0bf], a
- ret
-
-Func_c135: ; c135 (3:4135)
- push hl
- farcall Func_80028
- ld hl, wd0c1
- res 0, [hl]
- pop hl
- ret
-
-Func_c141: ; c141 (3:4141)
- ld hl, wd0c2
- ld a, [hl]
- or a
- ret z
- push af
- xor a
- ld [hl], a
- pop af
- dec a
- ld hl, PointerTable_c152
- jp JumpToFunctionInTable
-
-PointerTable_c152: ; c152 (3:4152)
- dw Func_c9bc
- dw Func_fc2b
- dw Func_fcad
-
-Func_c158: ; c158 (3:4158)
- ld a, [wd0c2]
- cp $1
- ret nz
- ld a, [wd0c4]
- ld [wd3ab], a
- call Func_39c3
- jr c, .asm_c179
- ld a, [wd3aa]
- ld l, $4
- call Func_39ad
- ld a, [wd0c5]
- ld [hl], a
- farcall Func_1c58e
-.asm_c179
- ret
-
-Func_c17a: ; c17a (3:417a)
- ld a, [wd0bf]
- cp $3
- ret z
- call Func_c9b8
- ret
-
-Func_c184: ; c184 (3:4184)
- push bc
- ld c, $1
- ld a, [wCurMap]
- cp OVERWORLD_MAP
- jr nz, .asm_c190
- ld c, $0
-.asm_c190
- ld a, c
- ld [wd0bf], a
- ld [wd0c0], a
- pop bc
- ret
-
-Func_c199: ; c199 (3:4199)
- ld hl, Func_380e
- call SetDoFrameFunction
- ret
-
-Func_c1a0: ; c1a0 (3:41a0)
- call ResetDoFrameFunction
- ret
-
-Func_c1a4: ; c1a4 (3:41a4)
- xor a
- call SetBGP
- xor a
- call SetOBP0
- xor a
- call SetOBP1
- ret
-
-Func_c1b1: ; c1b1 (3:41b1)
- ld a, $c
- ld [wd32e], a
- ld a, $0
- ld [wd0bb], a
- ld a, $c
- ld [wd0bc], a
- ld a, $c
- ld [wd0bd], a
- ld a, $2
- ld [wd0be], a
- call Func_c9cb
- call Func_c9dd
- farcall Func_80b7a
- farcall Func_1c82e
- farcall Func_131b3
- xor a
- ld [wPlayTimeCounter + 0], a
- ld [wPlayTimeCounter + 1], a
- ld [wPlayTimeCounter + 2], a
- ld [wPlayTimeCounter + 3], a
- ld [wPlayTimeCounter + 4], a
- ret
-
-Func_c1ed: ; c1ed (3:41ed)
- call Func_c9cb
- farcall Func_11416
- call Func_c9dd
- ret
-
-Func_c1f8: ; c1f8 (3:41f8)
- xor a
- ld [wd0b8], a
- ld [wd0b9], a
- ld [wd0ba], a
- ld [wd11b], a
- ld [wd0c2], a
- ld [wd111], a
- ld [wd112], a
- ld [wd3b8], a
- call EnableSRAM
- ld a, [sa007]
- ld [wd421], a
- ld a, [sa006]
- ld [wTextSpeed], a
- call DisableSRAM
- farcall Func_10756
- ret
-
-Func_c228: ; c228 (3:4228)
- ld a, [wCurMap]
- ld [wd0bb], a
- ld a, [wPlayerXCoord]
- ld [wd0bc], a
- ld a, [wPlayerYCoord]
- ld [wd0bd], a
- ld a, [wd334]
- ld [wd0be], a
- ret
-
-Func_c241: ; c241 (3:4241)
- push hl
- push bc
- push de
- ld de, $307f
- call Func_2275
- call Func_c258
- pop de
- pop bc
- pop hl
- ret
-
-Func_c251: ; c251 (3:4251)
- ldh a, [hffb0]
- push af
- ld a, $1
- jr asm_c25d
-
-Func_c258: ; c258 (3:4258)
- ldh a, [hffb0]
- push af
- ld a, $2
-asm_c25d
- ldh [hffb0], a
- push hl
- call Func_c268
- pop hl
- pop af
- ldh [hffb0], a
- ret
-
-Func_c268: ; c268 (3:4268)
- ld hl, Unknown_c27c
-.asm_c26b
- push hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- or h
- jr z, .asm_c27a
- call Func_2c29
- pop hl
- inc hl
- inc hl
- jr .asm_c26b
-.asm_c27a
- pop hl
- ret
-
-Unknown_c27c: ; c27c (3:427c)
- INCROM $c27c, $c280
-
-Func_c280: ; c280 (3:4280)
- call Func_c228
- call Func_3ca0
- call ZeroObjectPositions
- ld hl, wVBlankOAMCopyToggle
- inc [hl]
- call EnableLCD
- call DoFrameIfLCDEnabled
- call DisableLCD
- farcall Func_12871
- ret
-
-Func_c29b: ; c29b (3:429b)
- push hl
- ld hl, wd0c1
- or [hl]
- ld [hl], a
- pop hl
- ret
-
-Func_c2a3: ; c2a3 (3:42a3)
- push hl
- push bc
- push de
- call Func_c335
- farcall Func_10ab4
- ld a, $80
- call Func_c29b
- ld de, $307f
- call Func_2275
- farcall Func_12ba7
- call Func_3ca0
- call ZeroObjectPositions
- ld a, $1
- ld [wVBlankOAMCopyToggle], a
- call EnableLCD
- call DoFrameIfLCDEnabled
- call DisableLCD
- pop de
- pop bc
- pop hl
- ret
-
-Func_c2d4: ; c2d4 (3:42d4)
- xor a
- ld [wd10f], a
- ld [wd110], a
-
-Func_c2db: ; c2db (3:42db)
- push hl
- push bc
- push de
- call DisableLCD
- call Set_OBJ_8x8
- call Func_3ca0
- farcall Func_12bcd
- ld a, PLAYER_TURN
- ldh [hWhoseTurn], a
- call Func_c241
- call EmptyScreen
- ld a, [wd111]
- push af
- farcall Func_80000
- pop af
- ld [wd111], a
- ld hl, wd0c1
- res 0, [hl]
- call Func_c34e
- farcall Func_12c5e
- farcall Func_1c6f8
- ld hl, wd0c1
- res 7, [hl]
- ld hl, wd10f
- ld a, [hli]
- or [hl]
- jr z, .asm_c323
- ld a, [hld]
- ld l, [hl]
- ld h, a
- call Func_3c45
-.asm_c323
- farcall Func_10af9
- pop de
- pop bc
- pop hl
- ret
-
-Func_c32b: ; c32b (3:432b)
- ld a, l
- ld [wd10f], a
- ld a, h
- ld [wd110], a
- jr Func_c2db
-
-Func_c335: ; c335 (3:4335)
- ld a, [wOBP0]
- ld [wd10c], a
- ld a, [wOBP1]
- ld [wd10d], a
- ld hl, wObjectPalettesCGB
- ld de, wd0cc
- ld bc, 8 palettes
- call CopyDataHLtoDE_SaveRegisters
- ret
-
-Func_c34e: ; c34e (3:434e)
- ld a, [wd10c]
- ld [wOBP0], a
- ld a, [wd10d]
- ld [wOBP1], a
- ld hl, wd0cc
- ld de, wObjectPalettesCGB
- ld bc, 8 palettes
- call CopyDataHLtoDE_SaveRegisters
- call SetFlushAllPalettes
- ret
-
-Func_c36a: ; c36a (3:436a)
- xor a
- ld [wd323], a
- ld a, [wCurMap]
- cp POKEMON_DOME_ENTRANCE
- jr nz, .asm_c379
- xor a
- ld [wd324], a
-.asm_c379
- ret
-; 0xc37a
-
- INCROM $c37a, $c41c
-
-Func_c41c: ; c41c (3:441c)
- ld a, [wd332]
- sub $40
- ld [wSCXBuffer], a
- ld a, [wd333]
- sub $40
- ld [wSCYBuffer], a
- call Func_c430
- ret
-
-Func_c430: ; c430 (3:4430)
- push bc
- ld a, [wd237]
- sla a
- sla a
- sla a
- ld b, a
- ld a, [wSCXBuffer]
- cp $b1
- jr c, .asm_c445
- xor a
- jr .asm_c449
-.asm_c445
- cp b
- jr c, .asm_c449
- ld a, b
-.asm_c449
- ld [wSCXBuffer], a
- ld a, [wd238]
- sla a
- sla a
- sla a
- ld b, a
- ld a, [wSCYBuffer]
- cp $b9
- jr c, .asm_c460
- xor a
- jr .asm_c464
-.asm_c460
- cp b
- jr c, .asm_c464
- ld a, b
-.asm_c464
- ld [wSCYBuffer], a
- pop bc
- ret
-
-Func_c469: ; c469 (3:4469)
- ld a, [wSCXBuffer]
- add $4
- and $f8
- rrca
- rrca
- rrca
- ld [wd233], a
- ld a, [wSCYBuffer]
- add $4
- and $f8
- rrca
- rrca
- rrca
- ld [wd234], a
- ret
-
-SetScreenScrollWram: ; c484 (3:4484)
- ld a, [wSCXBuffer]
- ld [wSCX], a
- ld a, [wSCYBuffer]
- ld [wSCY], a
- ret
-
-SetScreenScroll: ; c491 (3:4491)
- ld a, [wSCX]
- ldh [hSCX], a
- ld a, [wSCY]
- ldh [hSCY], a
- ret
-
-Func_c49c: ; c49c (3:449c)
- ld a, [wPlayerXCoord]
- and $1f
- ld [wPlayerXCoord], a
- rlca
- rlca
- rlca
- ld [wd332], a
- ld a, [wPlayerYCoord]
- and $1f
- ld [wPlayerYCoord], a
- rlca
- rlca
- rlca
- ld [wd333], a
- ret
-
-Func_c4b9: ; c4b9 (3:44b9)
- xor a
- ld [wd4ca], a
- ld [wd4cb], a
- ld a, $1d
- farcall Func_80418
- ld b, $0
- ld a, [wConsole]
- cp $2
- jr nz, .asm_c4d1
- ld b, $1e
-.asm_c4d1
- ld a, b
- ld [wd337], a
- ld a, $0
- farcall Func_1299f
- ld a, [wWhichSprite]
- ld [wd336], a
- ld b, $2
- ld a, [wCurMap]
- cp OVERWORLD_MAP
- jr z, .asm_c4ee
- ld a, [wd0be]
- ld b, a
-.asm_c4ee
- ld a, b
- ld [wd334], a
- call Func_c5e9
- ld a, [wCurMap]
- cp OVERWORLD_MAP
- call nz, Func_c6f7
- xor a
- ld [wd335], a
- ld [wd338], a
- ld a, [wCurMap]
- cp OVERWORLD_MAP
- jr nz, .asm_c50f
- farcall Func_10fde
-.asm_c50f
- ret
-
-Func_c510: ; c510 (3:4510)
- ld a, [wd336]
- ld [wWhichSprite], a
- ld a, [wd335]
- bit 4, a
- ret nz
- bit 0, a
- call z, Func_c5ac
- ld a, [wd335]
- or a
- jr z, .asm_c535
- bit 0, a
- call nz, Func_c66c
- ld a, [wd335]
- bit 1, a
- call nz, Func_c6dc
- ret
-.asm_c535
- ldh a, [hButtonsPressed]
- and START
- call nz, Func_c74d
- ret
-
-Func_c53d: ; c53d (3:453d)
- ld a, [wd336]
- ld [wWhichSprite], a
- ld a, [wd335]
- bit 0, a
- call nz, Func_c687
- ld a, [wd335]
- bit 1, a
- call nz, Func_c6dc
- ret
-
-Func_c554: ; c554 (3:4554)
- ld a, [wd336]
- ld [wWhichSprite], a
- ld a, [wCurMap]
- cp OVERWORLD_MAP
- jr nz, .asm_c566
- farcall Func_10e28
- ret
-.asm_c566
- push hl
- push bc
- push de
- call Func_c58b
- ld a, [wSCXBuffer]
- ld d, a
- ld a, [wSCYBuffer]
- ld e, a
- ld c, SPRITE_ANIM_COORD_X
- call GetSpriteAnimBufferProperty
- ld a, [wd332]
- sub d
- add $8
- ld [hli], a
- ld a, [wd333]
- sub e
- add $10
- ld [hli], a
- pop de
- pop bc
- pop hl
- ret
-
-Func_c58b: ; c58b (3:458b)
- push hl
- ld a, [wPlayerXCoord]
- ld b, a
- ld a, [wPlayerYCoord]
- ld c, a
- call GetFloorObjectFromPos
- and $10
- push af
- ld c, SPRITE_ANIM_FIELD_0F
- call GetSpriteAnimBufferProperty
- pop af
- ld a, [hl]
- jr z, .asm_c5a7
- or $80
- jr .asm_c5a9
-.asm_c5a7
- and $7f
-.asm_c5a9
- ld [hl], a
- pop hl
- ret
-
-Func_c5ac: ; c5ac (3:45ac)
- ldh a, [hButtonsHeld]
- and D_PAD
- jr z, .asm_c5bf
- call Func_c5cb
- call Func_c5fe
- ld a, [wd335]
- and $1
- jr nz, .asm_c5ca
-.asm_c5bf
- ldh a, [hButtonsPressed]
- and A_BUTTON
- jr z, .asm_c5ca
- call Func_c71e
- jr .asm_c5ca
-.asm_c5ca
- ret
-
-Func_c5cb: ; c5cb (3:45cb)
- call Func_c5d5
-Func_c5ce: ; c5ce (3:45ce)
- ld [wd334], a
- call Func_c5e9
- ret
-
-Func_c5d5: ; c5d5 (3:45d5)
- push hl
- ld hl, Unknown_c5e5
- or a
- jr z, .asm_c5e2
-.asm_c5dc
- rlca
- jr c, .asm_c5e2
- inc hl
- jr .asm_c5dc
-.asm_c5e2
- ld a, [hl]
- pop hl
- ret
-
-Unknown_c5e5: ; c5e5 (3:45e5)
- db $02,$00,$03,$01
-
-Func_c5e9: ; c5e9 (3:45e9)
- push bc
- ld a, [wd336]
- ld [wWhichSprite], a
- ld a, [wd337]
- ld b, a
- ld a, [wd334]
- add b
- farcall Func_12ab5
- pop bc
- ret
-
-Func_c5fe: ; c5fe (3:45fe)
- push bc
- call Func_c653
- call AttemptScriptedMovement
- pop bc
- ret
-
-StartScriptedMovement: ; c607 (3:4607)
- push bc
- ld a, [wd336]
- ld [wWhichSprite], a
- ld a, [wd339]
- call FindScriptedMovementWithOffset
- call AttemptScriptedMovement
- pop bc
- ret
-
-; bc is the location the player is being scripted to move towards.
-AttemptScriptedMovement: ; c619 (3:4619)
- push hl
- push bc
- ld a, b
- cp $1f
- jr nc, .quit_movement
- ld a, c
- cp $1f
- jr nc, .quit_movement
- call GetFloorObjectFromPos
- and $40 | $80 ; the two impassable objects found in the floor map
- jr nz, .quit_movement
- ld a, b
- ld [wPlayerXCoord], a
- ld a, c
- ld [wPlayerYCoord], a
- ld a, [wd335] ; I believe everything starting here is animation related.
- or $1
- ld [wd335], a
- ld a, $10
- ld [wd338], a
- ld c, SPRITE_ANIM_FIELD_0F
- call GetSpriteAnimBufferProperty
- set 2, [hl]
- ld c, SPRITE_ANIM_MOVEMENT_COUNTER
- call GetSpriteAnimBufferProperty
- ld a, $4
- ld [hl], a
-.quit_movement
- pop bc
- pop hl
- ret
-
-Func_c653: ; c653 (3:4653)
- ld a, [wd334]
-
-FindScriptedMovementWithOffset: ; c656 (3:4656)
- rlca
- ld c, a
- ld b, $0
- push hl
- ld hl, ScriptedMovementOffsetTable
- add hl, bc
- ld a, [wPlayerXCoord]
- add [hl]
- ld b, a
- inc hl
- ld a, [wPlayerYCoord]
- add [hl]
- ld c, a
- pop hl
- ret
-
-Func_c66c: ; c66c (3:466c)
- push hl
- push bc
- ld c, $1
- ldh a, [hButtonsHeld]
- bit B_BUTTON_F, a
- jr z, .asm_c67e
- ld a, [wd338]
- cp $2
- jr c, .asm_c67e
- inc c
-.asm_c67e
- ld a, [wd334]
- call Func_c694
- pop bc
- pop hl
- ret
-
-Func_c687: ; c687 (3:4687)
- push bc
- ld a, [wd33a]
- ld c, a
- ld a, [wd339]
- call Func_c694
- pop bc
- ret
-
-Func_c694: ; c694 (3:4694)
- push hl
- push bc
- push bc
- rlca
- ld c, a
- ld b, $0
- ld hl, Unknown_396b
- add hl, bc
- pop bc
-.asm_c6a0
- push hl
- ld a, [hli]
- or a
- call nz, Func_c6cc
- ld a, [hli]
- or a
- call nz, Func_c6d4
- pop hl
- ld a, [wd338]
- dec a
- ld [wd338], a
- jr z, .asm_c6b8
- dec c
- jr nz, .asm_c6a0
-.asm_c6b8
- ld a, [wd338]
- or a
- jr nz, .asm_c6c3
- ld hl, wd335
- set 1, [hl]
-.asm_c6c3
- call Func_c41c
- call Func_c469
- pop bc
- pop hl
- ret
-
-Func_c6cc: ; c6cc (3:46cc)
- push hl
- ld hl, wd332
- add [hl]
- ld [hl], a
- pop hl
- ret
-
-Func_c6d4: ; c6d4 (3:46d4)
- push hl
- ld hl, wd333
- add [hl]
- ld [hl], a
- pop hl
- ret
-
-Func_c6dc: ; c6dc (3:46dc)
- push hl
- ld hl, wd335
- res 0, [hl]
- res 1, [hl]
- call Func_c6f7
- call Func_3997
- call Func_c70d
- ld a, [wd0bf]
- cp $1
- call z, Func_c9c0
- pop hl
- ret
-
-Func_c6f7: ; c6f7 (3:46f7)
- ld a, [wd336]
- ld [wWhichSprite], a
- ld c, SPRITE_ANIM_FIELD_0F
- call GetSpriteAnimBufferProperty
- res 2, [hl]
- ld c, SPRITE_ANIM_MOVEMENT_COUNTER
- call GetSpriteAnimBufferProperty
- ld a, $ff
- ld [hl], a
- ret
-
-Func_c70d: ; c70d (3:470d)
- push hl
- ld hl, wd0bb
- ld a, [wCurMap]
- cp [hl]
- jr z, .asm_c71c
- ld hl, wd0b4
- set 4, [hl]
-.asm_c71c
- pop hl
- ret
-
-Func_c71e: ; c71e (3:471e)
- ld a, $ff
- ld [wd3b6], a
- call Func_c653
- call GetFloorObjectFromPos
- and $40
- jr z, .asm_c73d
- farcall Func_1c72e
- jr c, .asm_c73d
- ld a, [wd3aa]
- ld [wd3b6], a
- ld a, $2
- jr .asm_c748
-.asm_c73d
- call Func_3a5e
- jr nc, .asm_c746
- ld a, $3
- jr .asm_c748
-.asm_c746
- or a
- ret
-.asm_c748
- ld [wd0bf], a
- scf
- ret
-
-Func_c74d: ; c74d (3:474d)
- push hl
- push bc
- push de
- call MainMenu_c75a
- call CloseDialogueBox
- pop de
- pop bc
- pop hl
- ret
-
-MainMenu_c75a: ; c75a (3:475a)
- call PauseSong
- ld a, MUSIC_PAUSE_MENU
- call PlaySong
- call Func_c797
-.asm_c765
- ld a, $1
- call Func_c29b
-.asm_c76a
- call DoFrameIfLCDEnabled
- call HandleMenuInput
- jr nc, .asm_c76a
- ld a, e
- ld [wd0b8], a
- ldh a, [hCurrentMenuItem]
- cp e
- jr nz, .asm_c793
- cp $5
- jr z, .asm_c793
- call Func_c2a3
- ld a, [wd0b8]
- ld hl, PointerTable_c7a2
- call JumpToFunctionInTable
- ld hl, Func_c797
- call Func_c32b
- jr .asm_c765
-.asm_c793
- call ResumeSong
- ret
-
-Func_c797: ; c797 (3:4797)
- ld a, [wd0b8]
- ld hl, Unknown_cd98
- farcall Func_111e9
- ret
-
-PointerTable_c7a2: ; c7a2 (3:47a2)
- dw Func_c7ae
- dw Func_c7b3
- dw Func_c7b8
- dw Func_c7cc
- dw Func_c7e0
- dw Func_c7e5
-
-Func_c7ae: ; c7ae (3:47ae)
- farcall Func_10059
- ret
-
-Func_c7b3: ; c7b3 (3:47b3)
- farcall Func_100a2
- ret
-
-Func_c7b8: ; c7b8 (3:47b8)
- xor a
- ldh [hSCX], a
- ldh [hSCY], a
- call Set_OBJ_8x16
- farcall Func_1288c
- farcall Func_8db0
- call Set_OBJ_8x8
- ret
-
-Func_c7cc: ; c7cc (3:47cc)
- xor a
- ldh [hSCX], a
- ldh [hSCY], a
- call Set_OBJ_8x16
- farcall Func_1288c
- farcall Func_a288
- call Set_OBJ_8x8
- ret
-
-Func_c7e0: ; c7e0 (3:47e0)
- farcall Func_10548
- ret
-
-Func_c7e5: ; c7e5 (3:47e5)
- farcall Func_103d2
- ret
-
-PC_c7ea: ; c7ea (3:47ea)
- ld a, MUSIC_PC_MAIN_MENU
- call PlaySong
- call Func_c241
- call $4915
- call DoFrameIfLCDEnabled
- ldtx hl, TurnedPCOnText
- call Func_2c73
- call $484e
-.asm_c801
- ld a, $1
- call Func_c29b
-.asm_c806
- call DoFrameIfLCDEnabled
- call HandleMenuInput
- jr nc, .asm_c806
- ld a, e
- ld [wd0b9], a
- ldh a, [hCurrentMenuItem]
- cp e
- jr nz, .asm_c82f
- cp $4
- jr z, .asm_c82f
- call Func_c2a3
- ld a, [wd0b9]
- ld hl, $4846
- call JumpToFunctionInTable
- ld hl, $484e
- call Func_c32b
- jr .asm_c801
-.asm_c82f
- call Func_c135
- call DoFrameIfLCDEnabled
- ldtx hl, TurnedPCOffText
- call Func_c891
- call CloseDialogueBox
- xor a
- ld [wd112], a
- call Func_39fc
- ret
-; 0xc846
-
- INCROM $c846, $c891
-
-Func_c891: ; c891 (3:4891)
- push hl
- ld a, [wd0c1]
- bit 0, a
- jr z, .asm_c8a1
- ld hl, wd3b9
- ld a, [hli]
- or [hl]
- call nz, Func_c135
-
-.asm_c8a1
- xor a
- ld hl, wd3b9
- ld [hli], a
- ld [hl], a
- pop hl
- ld a, $1
- call Func_c29b
- call Func_c241
- call $4915
- call DoFrameIfLCDEnabled
- call Func_2c73
- ret
-
-Func_c8ba: ; c8ba (3:48ba)
- ld a, e
- or d
- jr z, Func_c891
- push hl
- ld a, [wd0c1]
- bit 0, a
- jr z, .asm_c8d4
- ld hl, wd3b9
- ld a, [hli]
- cp e
- jr nz, .asm_c8d1
- ld a, [hl]
- cp d
- jr z, .asm_c8d4
-
-.asm_c8d1
- call Func_c135
-
-.asm_c8d4
- ld hl, wd3b9
- ld [hl], e
- inc hl
- ld [hl], d
- pop hl
- ld a, $1
- call Func_c29b
- call Func_c241
- call $4915
- call DoFrameIfLCDEnabled
- call $2c62
- ret
-; 0xc8ed
-
-Func_c8ed: ; c8ed (3:c8ed)
- push hl
- push bc
- push de
- push hl
- ld a, $1
- call Func_c29b
- call $4915
- call DoFrameIfLCDEnabled
- pop hl
- ld a, l
- or h
- jr z, .asm_c90e
- push hl
- xor a
- ld hl, wd3b9
- ld [hli], a
- ld [hl], a
- pop hl
- call YesOrNoMenuWithText
- jr .asm_c911
-
-.asm_c90e
- call YesOrNoMenu
-
-.asm_c911
- pop de
- pop bc
- pop hl
- ret
-
-Func_c915: ; c915 (3:4915)
- push bc
- push de
- ld de, $000c
- ld bc, $1406
- call AdjustCoordinatesForWindow
- call $43ca
- pop de
- pop bc
- ret
-
-Func_c926: ; c926 (3:4926)
- push bc
- call Func_39c3
- ld a, [wd3aa]
- ld [wd3b6], a
- farcall Func_1c768
- pop bc
-
-Func_c935: ; c935 (3:4935)
- push hl
- ld hl, wd0c6
- ld [hl], c
- inc hl
- ld [hl], b
- ld a, $3
- ld [wd0bf], a
- pop hl
- ret
-
-Func_c943: ; c943 (3:4943)
- push hl
- push bc
- push de
- ld l, $0
- call Func_3abd
- jr nc, .asm_c98f
-.asm_c94d
- ld a, l
- ld [wd4c4], a
- ld a, h
- ld [wd4c5], a
- ld a, $4
- ld [wd4c6], a
- ld de, wd3ab
- ld bc, $0006
- call Func_3bf5
- ld a, [wd3ab]
- or a
- jr z, .asm_c98f
- push hl
- ld a, [wd3af]
- ld l, a
- ld a, [wd3b0]
- ld h, a
- or l
- jr z, .asm_c97a
- call Func_3c45
- jr nc, .asm_c988
-.asm_c97a
- ld a, [wd3ab]
- farcall Func_11857
- call Func_c998
- farcall Func_1c485
-.asm_c988
- pop hl
- ld bc, $0006
- add hl, bc
- jr .asm_c94d
-.asm_c98f
- ld l, $2
- call Func_c9c2
- pop de
- pop bc
- pop hl
- ret
-
-Func_c998: ; c998 (3:4998)
- ld a, [wd3ab]
- cp $22
- ret nz
- ld a, [wd3d0]
- or a
- ret z
- ld b, $4
- ld a, [wConsole]
- cp $2
- jr nz, .asm_c9ae
- ld b, $e
-.asm_c9ae
- ld a, b
- ld [wd3b1], a
- ld a, $0
- ld [wd3b2], a
- ret
-
-Func_c9b8: ; c9b8 (3:49b8)
- ld l, $8
- jr Func_c9c2
-
-Func_c9bc: ; c9bc (3:49bc)
- ld l, $a
- jr Func_c9c2
-
-Func_c9c0: ; c9c0 (3:49c0)
- ld l, $c
-
-Func_c9c2: ; c9c2 (3:49c2)
- call Func_3abd
- ret nc
- jp hl
-
-Func_c9c7: ; c9c7 (3:49c7)
- ld l, $e
- jr Func_c9c2
-
-Func_c9cb: ; c9cb (3:49cb)
- push hl
- push bc
- ld hl, wEventFlags
- ld bc, $0040
-.asm_c9d3
- xor a
- ld [hli], a
- dec bc
- ld a, b
- or c
- jr nz, .asm_c9d3
- pop bc
- pop hl
- ret
-
-Func_c9dd: ; c9dd (3:49dd)
- xor a
- ld [wd411], a
- call Func_c9e8
- call Func_ca0e
- ret
-
-Func_c9e8: ; c9e8 (3:49e8)
- ld c, $0
- call Func_ca69
- db $13
- cp $2
- jr c, .asm_ca04
-.asm_c9f2
- call UpdateRNGSources
- and $3
- ld c, a
- ld b, $0
- ld hl, Unknown_ca0a
- add hl, bc
- ld a, [wd0bb]
- cp [hl]
- jr z, .asm_c9f2
-.asm_ca04
- ld a, c
- call Func_ca8f
- db $34
- ret
-
-Unknown_ca0a: ; ca0a (3:4a04)
- INCROM $ca0a, $ca0e
-
-Func_ca0e: ; ca0e (3:4a0e)
- ld a, [wd32e]
- cp $b
- jr z, .asm_ca68
- call Func_ca69
- db $22
- or a
- jr nz, .asm_ca4a
- call Func_ca69
- db $40
- cp $7
- jr z, .asm_ca68
- or a
- jr z, .asm_ca33
- cp $2
- jr z, .asm_ca62
- ld c, $1
- call Func_ca8f
- db $40
- jr .asm_ca62
-.asm_ca33
- call Func_ca69
- db $3f
- cp $7
- jr z, .asm_ca68
- or a
- jr z, .asm_ca68
- cp $2
- jr z, .asm_ca68
- ld c, $1
- call Func_ca8f
- db $3f
- jr .asm_ca68
-.asm_ca4a
- call UpdateRNGSources
- ld c, $1
- and $3
- or a
- jr z, .asm_ca56
- ld c, $0
-.asm_ca56
- call Func_ca8f
- db $41
- jr .asm_ca5c
-.asm_ca5c
- ld c, $7
- call Func_ca8f
- db $40
-.asm_ca62
- ld c, $7
- call Func_ca8f
- db $3f
-.asm_ca68
- ret
-
-Func_ca69: ; ca69 (3:4a69)
- call Func_cab3
-CheckIfEventFlagSet: ; ca6c (3:4a6c)
- push hl
- push bc
- call GetEventFlagMod
- ld c, [hl]
- ld a, [wd3d1]
-.asm_ca75
- bit 0, a
- jr nz, .asm_ca7f
- srl a
- srl c
- jr .asm_ca75
-.asm_ca7f
- and c
- pop bc
- pop hl
- or a
- ret
-; 0xca84
-
- INCROM $ca84, $ca8f
-
-Func_ca8f: ; ca8f (3:4a8f)
- call Func_cab3
-
-; a - pointer on table for cb1d, c - set or reset control bit
-ModifyEventFlags: ; ca92 (3:4a92)
- push hl
- push bc
- call GetEventFlagMod
- ld a, [wd3d1]
-.asm_ca9a
- bit 0, a
- jr nz, .asm_caa4
- srl a
- sla c
- jr .asm_ca9a
-.asm_caa4
- ld a, [wd3d1]
- and c
- ld c, a
- ld a, [wd3d1]
- cpl
- and [hl]
- or c
- ld [hl], a
- pop bc
- pop hl
- ret
-
-Func_cab3: ; cab3 (3:4ab3)
- push hl
- ld hl, sp+$4
- push bc
- ld c, [hl]
- inc hl
- ld b, [hl]
- ld a, [bc]
- inc bc
- ld [hl], b
- dec hl
- ld [hl], c
- pop bc
- pop hl
- ret
-; 0xcac2
-
- INCROM $cac2, $cac5
-
-SetEventFlags: ; cac5 (3:4ac5)
- push bc
- ld c, $ff
- call ModifyEventFlags
- pop bc
- ret
-; 0xcacd
-
- INCROM $cacd, $cad0
-
-Func_cad0: ; cad0 (3:4ad0)
- push bc
- ld c, $0
- call ModifyEventFlags
- pop bc
- ret
-
-Func_cad8: ; cad8 (3:4ad8)
- push hl
- push bc
- ld hl, $4b15
- ld bc, $0008
-.asm_cae0
- ld a, [hli]
- call CheckIfEventFlagSet
- jr z, .asm_cae7
- inc b
-
-.asm_cae7
- dec c
- jr nz, .asm_cae0
- ld c, b
- call Func_ca8f
- ld l, $79
- push af
- cp $8
- jr nc, .asm_caff
- cp $7
- jr nc, .asm_cb05
- cp $3
- jr nc, .asm_cb0b
- jr .asm_cb11
-
-.asm_caff
- ld a, $c
- farcall $4, $4a70
-
-.asm_cb05
- ld a, $b
- farcall $4, $4a70
-
-.asm_cb0b
- ld a, $a
- farcall $4, $4a70
-
-.asm_cb11
- pop af
- pop bc
- pop hl
- ret
-; 0xcb15
-
- INCROM $cb15, $cb1d
-
-GetEventFlagMod: ; cb1d (3:4b1d)
- push bc
- ld c, a
- ld b, $0
- sla c
- rl b
- ld hl, EventFlagMods
- add hl, bc
- ld a, [hli]
- ld c, a
- ld a, [hl]
- ld [wd3d1], a
- ld b, $0
- ld hl, wEventFlags
- add hl, bc
- pop bc
- ret
-
-; offset - bytes to set or reset
-EventFlagMods: ; cb37 (3:4b37)
- INCROM $cb37, $cc32
-
-Func_cc32: ; cc32 (3:4c32)
- push hl
- ld hl, wd0c8
- ld e, [hl]
- inc hl
- ld d, [hl]
- pop hl
- call Func_c8ba
- ret
-; 0xcc3e
-
- INCROM $cc3e, $cc42
-
-; called when pressing a in front of an object. creates a pointer to the data right after an RST20
-; was called, then runs RunOverworldScript to handle that data
-RST20: ; cc42 (3:4c42)
- pop hl
- ld a, l
- ld [wOWScriptPointer], a
- ld a, h
- ld [wOWScriptPointer+1], a
- xor a
- ld [wBreakOWScriptLoop], a
-.asm_cc4f
- call RunOverworldScript
- ld a, [wBreakOWScriptLoop] ; if you break out, it jumps
- or a
- jr z, .asm_cc4f
- ld hl, wOWScriptPointer
- ld a, [hli]
- ld c, a
- ld b, [hl]
- push bc
- ret
-
-IncreaseOWScriptPointerBy1: ; cc60 (3:4c60)
- ld a, 1
- jr IncreaseOWScriptPointer
-IncreaseOWScriptPointerBy2: ; cc64 (3:4c64)
- ld a, 2
- jr IncreaseOWScriptPointer
-IncreaseOWScriptPointerBy4: ; cc68 (3:4c68)
- ld a, 4
- jr IncreaseOWScriptPointer
-IncreaseOWScriptPointerBy5: ; cc6c (3:4c6c)
- ld a, 5
- jr IncreaseOWScriptPointer
-IncreaseOWScriptPointerBy6: ; cc70 (3:4c70)
- ld a, 6
- jr IncreaseOWScriptPointer
-IncreaseOWScriptPointerBy7: ; cc74 (3:4c74)
- ld a, 7
- jr IncreaseOWScriptPointer
-IncreaseOWScriptPointerBy3: ; cc78 (3:4c78)
- ld a, 3
-
-IncreaseOWScriptPointer: ; cc7a (3:4c7a)
- ld c, a
- ld a, [wOWScriptPointer]
- add c
- ld [wOWScriptPointer], a
- ld a, [wOWScriptPointer+1]
- adc 0
- ld [wOWScriptPointer+1], a
- ret
-
-SetOWScriptPointer: ; cc8b (3:4c8b)
- ld hl, wOWScriptPointer
- ld [hl], c
- inc hl
- ld [hl], b
- ret
-; 0xcc92
-
- INCROM $cc92, $cc96
-
-GetOWSArgs1AfterPointer: ; cc96 (3:4c96)
- ld a, $1
- jr GetOWSArgsAfterPointer
-
-GetOWSArgs2AfterPointer: ; cc9a (3:4c9a)
- ld a, $2
- jr GetOWSArgsAfterPointer
-GetOWSArgs3AfterPointer: ; cc9e (3:4c9e)
- ld a, $3
-
-GetOWSArgsAfterPointer: ; cca0 (3:4ca0)
- push hl
- ld l, a
- ld a, [wOWScriptPointer]
- add l
- ld l, a
- ld a, [wOWScriptPointer+1]
- adc $0
- ld h, a
- ld a, [hli]
- ld c, a
- ld b, [hl]
- pop hl
- or b
- ret
-
-Func_ccb3: ; ccb3 (3:4cb3)
- ld a, $ff
- ld [wd415], a
- ret
-
-Func_ccb9: ; ccb9 (3:4cb9)
- xor a
- ld [wd415], a
- ret
-
-OWScript_EndScriptLoop1: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop2: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop3: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop4: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop5: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop6: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop7: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop8: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop9: ; ccbe (3:4cbe)
-OWScript_EndScriptLoop10: ; ccbe (3:4cbe)
- ld a, $01
- ld [wBreakOWScriptLoop], a
- jp IncreaseOWScriptPointerBy1
-
-OWScript_CloseTextBox: ; ccc6 (3:4cc6)
- call CloseDialogueBox
- jp IncreaseOWScriptPointerBy1
-
-OWScript_EndScriptCloseText: ; cccc (3:4ccc)
- call OWScript_CloseTextBox
- call OWScript_EndScriptLoop1
- pop hl
- ret
-
-; args: 2-Text String Index
-OWScript_PrintTextString: ; ccd4 (3:4cd4)
- ld l, c
- ld h, b
- call Func_cc32
- jp IncreaseOWScriptPointerBy3
-
-Func_ccdc: ; ccdc (3:4cdc)
- ld l, c
- ld h, b
- call Func_c891
- jp IncreaseOWScriptPointerBy3
-
-Func_cce4: ; cce4 (3:4ce4)
- ld a, $1
- ld [wcd9a], a
-
-; Asks the player a question then jumps if they answer yes
-OWScript_AskQuestionJump: ; cce9 (3:4ce9)
- ld l, c
- ld h, b
- call Func_c8ed
- ld a, [hCurrentMenuItem]
- ld [wd415], a
- jr c, .asm_ccfe
- call GetOWSArgs3AfterPointer
- jr z, .asm_ccfe
- jp SetOWScriptPointer
-
-.asm_ccfe
- jp IncreaseOWScriptPointerBy5
-
-; args - prize cards, deck id, duel theme index
-; sets a battle up, doesn't start until we break out of the script system.
-OWScript_StartBattle: ; cd01 (3:4d01)
- call Func_cd66
- ld a, [wd3b6]
- ld l, $0
- call Func_39ad
- ld a, [hl]
- farcall Func_118d3
- ld a, [wcc19]
- cp $ff
- jr nz, .asm_cd26
- ld a, [wd695]
- ld c, a
- ld b, $0
- ld hl, $4d63
- add hl, bc
- ld a, [hl]
- ld [wcc19], a
-.asm_cd26
- ld a, [wd3b6]
- ld l, $0
- call Func_39ad
- ld a, [hl]
-asm_cd2f
- ld [wd0c4], a
- ld [wcc14], a
- push af
- farcall Func_1c557
- ld [wd0c5], a
- pop af
- farcall Func_118a7
- ld a, GAME_EVENT_DUEL
- ld [wGameEvent], a
- ld hl, wd0b4
- set 6, [hl]
- jp IncreaseOWScriptPointerBy4
-
-Func_cd4f: ; cd4f (3:4d4f)
- call Func_cd66
- ld a, [wd696]
- farcall Func_118bf
- ld a, $16
- ld [wMatchStartTheme], a
- ld a, [wd696]
- jr asm_cd2f
-
-Unknown_dd63: ; cd4f (3:4d4f)
- INCROM $cd63, $cd66
-
-Func_cd66: ; cd66 (3:4d66)
- ld a, c
- ld [wcc18], a
- ld a, b
- ld [wcc19], a
- call GetOWSArgs3AfterPointer
- ld a, c
- ld [wDuelTheme], a
- ret
-
-Func_cd76: ; cd76 (3:4d76)
- ld a, GAME_EVENT_BATTLE_CENTER
- ld [wGameEvent], a
- ld hl, wd0b4
- set 6, [hl]
- jp IncreaseOWScriptPointerBy1
-
-Func_cd83: ; cd83 (3:4d83)
- ld a, [wd415]
- or a
- jr nz, .asm_cd8c
- call GetOWSArgs3AfterPointer
-.asm_cd8c
- ld l, c
- ld h, b
- call Func_cc32
- jp IncreaseOWScriptPointerBy5
-
-Func_cd94: ; cd94 (3:4d94)
- call Func_ca69
- ld b, h
-Unknown_cd98:
- dec a
- and $3
- add a
- inc a
- call GetOWSArgsAfterPointer
- ld l, c
- ld h, b
- call Func_cc32
- jp IncreaseOWScriptPointerBy7
-
-Func_cda8: ; cda8 (3:4da8)
- ld a, [wd415]
- or a
- jr nz, .asm_cdb1
- call GetOWSArgs3AfterPointer
-.asm_cdb1
- ld l, c
- ld h, b
- call Func_c891
- jp IncreaseOWScriptPointerBy5
-
-OWScript_PrintTextCloseBox: ; cdb9 (3:4db9)
- ld l, c
- ld h, b
- call Func_cc32
- call CloseDialogueBox
- ld a, $1
- ld [wBreakOWScriptLoop], a
- call IncreaseOWScriptPointerBy3
- pop hl
- ret
-
-Func_cdcb: ; cdcb (3:4dcb)
- ld a, [wd3b6]
- ld [wd3aa], a
-Func_4dd1: ; cdd1 (3:4dd1)
- farcall Func_1c50a
- jp IncreaseOWScriptPointerBy1
-
-Func_cdd8: ; cdd8 (3:4dd8)
- ld a, [wd3aa]
- push af
- ld a, [wd3ab]
- push af
- ld a, [wd696]
- ld [wd3ab], a
- call Func_39c3
- call Func_4dd1
- pop af
- ld [wd3ab], a
- pop af
- ld [wd3aa], a
- ret
-
-Func_cdf5: ; cdf5 (3:4df5)
- ld a, [wd3aa]
- push af
- ld a, [wd3ab]
- push af
- ld a, [wd696]
- ld [wd3ab], a
- ld a, c
- ld [wd3ac], a
- ld a, b
- ld [wd3ad], a
- ld a, $2
- ld [wd3ae], a
- ld a, [wd3ab]
- farcall Func_11857
- farcall Func_1c485
- pop af
- ld [wd3ab], a
- pop af
- ld [wd3aa], a
- jp IncreaseOWScriptPointerBy3
-
-Func_ce26: ; ce26 (3:4e26)
- ld a, [wd3b6]
- ld [wd3aa], a
- farcall Func_1c455
- rlca
- add c
- ld l, a
- ld a, b
- adc $0
- ld h, a
- ld c, [hl]
- inc hl
- ld b, [hl]
-
-Func_ce3a: ; ce3a (3:4e3a)
- farcall Func_1c78d
-.asm_ce3e
- call DoFrameIfLCDEnabled
- farcall Func_1c7de
- jr nz, .asm_ce3e
- jp IncreaseOWScriptPointerBy3
-
-Func_ce4a: ; ce4a (3:4e4a)
- ld a, [wd3b6]
- ld [wd3aa], a
- jr Func_ce3a
-
-Func_ce52: ; ce52 (3:4e52)
- ld a, [wd3aa]
- push af
- ld a, [wd3ab]
- push af
- ld a, [wd696]
-asm_ce5d
- ld [wd3ab], a
- call Func_39c3
- call Func_ce3a
- pop af
- ld [wd3ab], a
- pop af
- ld [wd3aa], a
- ret
-
-Func_ce6f: ; ce6f (3:4e6f)
- ld a, [wd3aa]
- push af
- ld a, [wd3ab]
- push af
- ld a, c
- push af
- call GetOWSArgs2AfterPointer
- push bc
- call IncreaseOWScriptPointerBy1
- pop bc
- pop af
- jr asm_ce5d
-
-Func_ce84: ; ce84 (3:4e84)
- call Func_c135
- jp IncreaseOWScriptPointerBy1
-
-; args: booster pack index, booster pack index, booster pack index
-OWScript_GiveBoosterPacks: ; ce8a (3:4e8a)
- xor a
- ld [wd117], a
- push bc
- call Func_c2a3
- pop bc
- push bc
- ld a, c
- farcall BoosterPack_1031b
- ld a, 1
- ld [wd117], a
- pop bc
- ld a, b
- cp $ff
- jr z, .asm_ceb4
- farcall BoosterPack_1031b
- call GetOWSArgs3AfterPointer
- ld a, c
- cp $ff
- jr z, .asm_ceb4
- farcall BoosterPack_1031b
-.asm_ceb4
- call Func_c2d4
- jp IncreaseOWScriptPointerBy4
-
-Func_ceba: ; ceba (3:4eba)
- xor a
- ld [wd117], a
- call Func_c2a3
- ld hl, $4edd
-.asm_cec4
- ld a, [hl]
- cp $ff
- jr z, .asm_ced7
- push hl
- farcall BoosterPack_1031b
- ld a, $1
- ld [wd117], a
- pop hl
- inc hl
- jr .asm_cec4
-.asm_ced7
- call Func_c2d4
- jp IncreaseOWScriptPointerBy1
-; 0xcedd
-
- INCROM $cedd, $cee2
-
-Func_cee2: ; cee2 (3:4ee2)
- call Func_c2a3
- ld a, c
- cp $ff
- jr z, .asm_cf09
- or a
- jr nz, .asm_cef0
- ld a, [wd697]
-
-.asm_cef0
- push af
- farcall Func_10000
- farcall Func_10031
- pop af
- bank1call Func_7594
- call Func_c1a4
- call DoFrameIfLCDEnabled
- call Func_c2d4
- jp IncreaseOWScriptPointerBy2
-
-.asm_cf09
- xor a
- jr .asm_cef0
-
-Func_cf0c: ; cf0c (3:4f0c)
- ld a, c
- call GetCardCountInCollectionAndDecks
- jr asm_cf16
-
-Func_cf12: ; cf12 (3:4f12)
- ld a, c
- call GetCardCountInCollection
-
-asm_cf16
- or a
- jr nz, asm_cf1f
-
-asm_cf19
- call Func_ccb9
- jp IncreaseOWScriptPointerBy4
-
-asm_cf1f
- call Func_ccb3
- call GetOWSArgs2AfterPointer
- jr z, asm_cf2a
- jp SetOWScriptPointer
-
-asm_cf2a
- jp IncreaseOWScriptPointerBy4
-
-Func_cf2d: ; cf2d (3:4f2d)
- push bc
- call IncreaseOWScriptPointerBy1
- pop bc
- call GetRawAmountOfCardsOwned
- ld a, h
- cp b
- jr nz, .asm_cf3b
- ld a, l
- cp c
-
-.asm_cf3b
- jr nc, asm_cf1f
- jr asm_cf19
-
-Func_cf3f: ; cf3f (3:4f3f)
- ld a, c
- or a
- jr nz, .asm_cf46
- ld a, [wd697]
-
-.asm_cf46
- call AddCardToCollection
- jp IncreaseOWScriptPointerBy2
-
-Func_cf4c: ; cf4c (3:4f4c)
- ld a, c
- call RemoveCardFromCollection
- jp IncreaseOWScriptPointerBy2
-
-Func_cf53: ; cf53 (3:4f53)
- ld c, $1
- ld b, $0
-.asm_cf57
- ld a, c
- call GetCardCountInCollection
- add b
- ld b, a
- inc c
- ld a, c
- cp $8
- jr c, .asm_cf57
- ld a, b
- or a
- jr nz, Func_cf6d
-Func_cf67: ; cf67 (3:4f67)
- call Func_ccb9
- jp IncreaseOWScriptPointerBy3
-
-Func_cf6d: ; cf6d (3:4f6d)
- call Func_ccb3
- call GetOWSArgs1AfterPointer
- jr z, .asm_cf78
- jp SetOWScriptPointer
-
-.asm_cf78
- jp IncreaseOWScriptPointerBy3
-
-Func_cf7b: ; cf7b (3:4f7b)
- ld c, $1
-.asm_cf7d
- push bc
- ld a, c
- call GetCardCountInCollection
- jr c, .asm_cf8c
- ld b, a
-.asm_cf85
- ld a, c
- call RemoveCardFromCollection
- dec b
- jr nz, .asm_cf85
-
-.asm_cf8c
- pop bc
- inc c
- ld a, c
- cp $8
- jr c, .asm_cf7d
- jp IncreaseOWScriptPointerBy1
-
-; This function doesn't look like a valid function, but it's pointed to in the table.
-Func_cf96: ; cf96 (3:4f96)
- ld c, $0
- call Func_ca69
- ld de, $28b7
- ld hl, $08fe
- jr c, .asm_cfa4
- inc c
-
-.asm_cfa4
- call Func_ca69
- rla
- cp $8
- jr c, .asm_cfad
- inc c
-
-.asm_cfad
- call Func_ca69
-.asm_cfb0
- jr nz, .asm_cfb0
- ld [$0138], sp
- inc c
- ld a, c
- rlca
- add $3
- call GetOWSArgsAfterPointer
- jp SetOWScriptPointer
-
-Func_cfc0: ; cfc0 (3:4fc0)
- call GetOWSArgs1AfterPointer
- jp SetOWScriptPointer
-
-Func_cfc6: ; cfc6 (3:4fc6)
- ld a, [wd3b6]
- ld [wd3aa], a
- ld a, c
- farcall Func_1c52e
- jp IncreaseOWScriptPointerBy2
-
-Func_cfd4: ; cfd4 (3:4fd4)
- call Func_ca69
- dec l
- ld b, a
-.asm_cfd9
- ld a, $5
- call Random
- ld e, $1
- ld c, a
- push bc
- or a
- jr z, .asm_cfea
-.asm_cfe5
- sla e
- dec c
- jr nz, .asm_cfe5
-
-.asm_cfea
- ld a, e
- and b
- pop bc
- jr nz, .asm_cfd9
- ld a, e
- or b
- push bc
- ld c, a
- call Func_ca8f
- dec l
- pop bc
- ld b, $0
- ld hl, $5006
- add hl, bc
- ld c, [hl]
- call Func_ca8f
- dec hl
- jp IncreaseOWScriptPointerBy1
-
- INCROM $d006, $d00b
-
-Func_d00b: ; d00b (3:500b)
- sla c
- ld b, $0
- ld hl, wTxRam2
- add hl, bc
- push hl
- call Func_ca69
- dec hl
- ld e, a
- ld d, $0
- call GetCardName
- pop hl
- ld [hl], e
- inc hl
- ld [hl], d
- jp IncreaseOWScriptPointerBy2
-
-Func_d025: ; d025 (3:5025)
- call Func_ca69
- dec hl
- call GetCardCountInCollectionAndDecks
- jp c, Func_cf67
- jp Func_cf6d
-
-Func_d032: ; d032 (3:5032)
- call Func_ca69
- dec hl
- call GetCardCountInCollection
- jp c, Func_cf67
- jp Func_cf6d
-
-Func_d03f: ; d03f (3:503f)
- call Func_ca69
- dec hl
- call RemoveCardFromCollection
- jp IncreaseOWScriptPointerBy1
-
-OWScript_ScriptJump: ; d049 (3:5049)
- call GetOWSArgs1AfterPointer
- jp SetOWScriptPointer
-
-Func_d04f: ; d04f (3:504f)
- call Func_cad8
- jp IncreaseOWScriptPointerBy1
-
-Func_d055: ; d055 (3:5055)
- ld a, c
- call Func_c5ce
- jp IncreaseOWScriptPointerBy2
-
-
-OWScript_MovePlayer: ; 505c (3:505c)
- ld a, c
- ld [wd339], a
- ld a, b
- ld [wd33a], a
- call StartScriptedMovement
-.asm_d067
- call DoFrameIfLCDEnabled
- call SetScreenScroll
- call Func_c53d
- ld a, [wd335]
- and $03
- jr nz, .asm_d067
- call DoFrameIfLCDEnabled
- call SetScreenScroll
- jp IncreaseOWScriptPointerBy3
-
-Func_d080: ; d080 (3:5080)
- ld a, c
- farcall Func_11893
- jp IncreaseOWScriptPointerBy2
-
-Func_d088: ; d088 (3:5088)
- ld a, c
- ld [wd3ab], a
- call GetOWSArgs2AfterPointer
- call Func_c926
- jp IncreaseOWScriptPointerBy4
-
-Func_d095: ; d095 (3:5095)
- ld a, [wd3b6]
- ld [wd3aa], a
- push bc
- call GetOWSArgs3AfterPointer
- ld a, [wd3b6]
- ld l, $5
- call Func_39ad
- res 4, [hl]
- ld a, [hl]
- or c
- ld [hl], a
- pop bc
- ld e, c
- ld a, [wConsole]
- cp $2
- jr nz, .asm_d0b6
- ld e, b
-
-.asm_d0b6
- ld a, e
- farcall Func_1c57b
- jp IncreaseOWScriptPointerBy4
-
-Func_d0be: ; d0be (3:50be)
- ld a, [wd3b6]
- ld [wd3aa], a
- ld a, c
- ld c, b
- ld b, a
- farcall Func_1c461
- jp IncreaseOWScriptPointerBy3
-
-Func_d0ce: ; d0ce (3:50ce)
- push bc
- call DoFrameIfLCDEnabled
- pop bc
- dec c
- jr nz, Func_d0ce
- jp IncreaseOWScriptPointerBy2
-
-Func_d0d9: ; d0d9 (3:50d9)
- ld a, [wd3b6]
- ld [wd3aa], a
- ld d, c
- ld e, b
- farcall Func_1c477
- ld a, e
- cp c
- jp nz, Func_d48a
- ld a, d
- cp b
- jp nz, Func_d48a
- jp Func_d490
-
-Func_d0f2: ; d0f2 (3:50f2)
- ld a, [wPlayerXCoord]
- cp c
- jp nz, Func_d48a
- ld a, [wPlayerYCoord]
- cp b
- jp nz, Func_d48a
- jp Func_d490
-
-Func_d103: ; d103 (3:5103)
- ld a, [wd3aa]
- push af
- ld a, [wd3ab]
- push af
- ld a, c
- ld [wd3ab], a
- call Func_39c3
- jr c, .asm_d119
- call $54d1
- jr .asm_d11c
-
-.asm_d119
- call $54e6
-
-.asm_d11c
- pop af
- ld [wd3ab], a
- pop af
- ld [wd3aa], a
- ret
-
-Func_d125: ; d125 (3:5125)
- ld a, c
- push af
- call Func_c2a3
- pop af
- farcall Medal_1029e
- call Func_c2d4
- jp IncreaseOWScriptPointerBy2
-
-Func_d135: ; d135 (3:5135)
- sla c
- ld b, $0
- ld hl, wTxRam2
- add hl, bc
- push hl
- ld a, [wd32e]
- rlca
- ld c, a
- ld b, $0
- ld hl, $5151
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- pop hl
- ld [hl], e
- inc hl
- ld [hl], d
- jp IncreaseOWScriptPointerBy2
-
- INCROM $d153, $d16b
-
-Func_d16b: ; d16b (3:516b)
- ld hl, wd0c8
- ld e, [hl]
- inc hl
- ld d, [hl]
- push de
- sla c
- ld b, $0
- ld hl, wTxRam2
- add hl, bc
- push hl
- ld a, [wd696]
- farcall Func_11893
- pop hl
- ld a, [wd0c8]
- ld [hli], a
- ld a, [wd0c9]
- ld [hl], a
- pop de
- ld hl, wd0c8
- ld [hl], e
- inc hl
- ld [hl], d
- jp IncreaseOWScriptPointerBy2
-
-Func_d195: ; d195 (3:5195)
- ld a, [wd3ab]
- push af
- call Func_ca69
- ld b, l
- inc a
- ld c, a
- call Func_ca8f
- ld b, l
- call Func_f580
- pop af
- ld [wd3ab], a
- jp IncreaseOWScriptPointerBy1
-
-Func_d1ad: ; d1ad (3:51ad)
- call MainMenu_c75a
- jp IncreaseOWScriptPointerBy1
-
-Func_d1b3: ; d1b3 (3:51b3)
- call Func_ca69
- ld b, h
- dec a
- cp $2
- jr c, .asm_d1c3
- ld a, $d
- call Random
- add $2
-
-.asm_d1c3
- ld hl, $51dc
-asm_d1c6
- ld e, a
- add a
- add e
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hli]
- ld [wd697], a
- ld a, [hli]
- ld [wTxRam2], a
- ld a, [hl]
- ld [wTxRam2 + 1], a
- jp IncreaseOWScriptPointerBy1
-
- INCROM $d1dc, $d209
-
-Func_d209: ; d209 (3:5209)
- call Func_ca69
- ld [hl], c
- ld e, a
-.asm_d20e
- call UpdateRNGSources
- ld d, $8
- and $3
- ld c, a
- ld b, a
-.asm_d217
- jr z, .asm_d21e
- srl d
- dec b
- jr .asm_d217
-
-.asm_d21e
- ld a, d
- and e
- jr nz, .asm_d20e
- push bc
- ld b, $0
- ld hl, $5240
- add hl, bc
- ld a, [hl]
- call SetEventFlags
- pop bc
- ld hl, $5234
- ld a, c
- jr asm_d1c6
-
- INCROM $d234, $d244
-
-Func_d244: ; d244 (3:5244)
- ld a, c
- farcall Func_80ba4
- jp IncreaseOWScriptPointerBy2
-
-Func_d24c: ; d24c (3:524c)
- ld hl, $525e
- xor a
- call Func_d28c
- ld a, [wd695]
- ld c, a
- call Func_ca8f
- halt
- jp IncreaseOWScriptPointerBy1
-
- INCROM $d25e, $d271
-
-Func_d271: ; d271 (3:5271)
- ld hl, $527b
- xor a
- call Func_d28c
- jp IncreaseOWScriptPointerBy1
-; 0xd27b
-
- INCROM $d27b, $d28c
-
-Func_d28c: ; d28c (3:528c)
- ld [wd416], a
- push hl
- call Func_c241
- call Func_c915
- call DoFrameIfLCDEnabled
- pop hl
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, [hli]
- push hl
- ld h, [hl]
- ld l, a
- or h
- jr z, .asm_d2a8
- call Func_c8ba
-
-.asm_d2a8
- ld a, $1
- call Func_c29b
- pop hl
- inc hl
- ld a, [hli]
- push hl
- ld h, [hl]
- ld l, a
- ld a, [wd416]
- farcall Func_111e9
- pop hl
- inc hl
- ld a, [hli]
- ld [wd417], a
- push hl
-
-.asm_d2c1
- call DoFrameIfLCDEnabled
- call HandleMenuInput
- jr nc, .asm_d2c1
- ld a, [hCurrentMenuItem]
- cp e
- jr z, .asm_d2d9
- ld a, [wd417]
- or a
- jr z, .asm_d2c1
- ld e, a
- ld [hCurrentMenuItem], a
-
-.asm_d2d9
- pop hl
- ld a, [hli]
- push hl
- ld h, [hl]
- ld l, a
- ld a, e
- ld [hl], a
- add a
- ld c, a
- ld b, $0
- pop hl
- inc hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- or h
- jr z, .asm_d2f5
- add hl, bc
- ld a, [hli]
- ld [wTxRam2], a
- ld a, [hl]
- ld [wTxRam2 + 1], a
-
-.asm_d2f5
- ret
-
-Func_d2f6: ; d2f6 (3:52f6)
- ld hl, $530c
- xor a
- call Func_d28c
- ld a, [wd694]
- ld c, a
- call Func_ca8f
- ld [hl], l
- xor a
- ld [wd694], a
- jp IncreaseOWScriptPointerBy1
-; 0xd30c
-
- INCROM $d30c, $d317
-
-Func_d317: ; d317 (3:5317)
- ld hl, $532b
- ld a, [wd694]
- call Func_d28c
- ld a, [wd694]
- ld c, a
- call Func_ca8f
- ld [hl], l
- jp IncreaseOWScriptPointerBy1
-
-
- INCROM $d32b, $d336
-
-DeckMachine_d336: ; d336 (3:5336)
- push bc
- call Func_c2a3
- call PauseSong
- ld a, MUSIC_DECK_MACHINE
- call PlaySong
- call EmptyScreen
- xor a
- ldh [hSCX], a
- ldh [hSCY], a
- farcall Func_1288c
- call EnableLCD
- pop bc
- ld a, c
- or a
- jr z, .asm_d360
- dec a
- ld [wd0a9], a
- farcall Func_ba04
- jr .asm_d364
-.asm_d360
- farcall Func_b19d
-.asm_d364
- call ResumeSong
- call Func_c2d4
- jp IncreaseOWScriptPointerBy2
-
-Func_d36d: ; d36d (3:536d)
- ld a, [wOWScriptPointer]
- ld l, a
- ld a, [wOWScriptPointer+1]
- ld h, a
- inc hl
- ld a, [hli]
- ld a, [hli]
- ld [wd0bb], a
- ld a, [hli]
- ld [wd0bc], a
- ld a, [hli]
- ld [wd0bd], a
- ld a, [hli]
- ld [wd0be], a
- ld hl, wd0b4
- set 4, [hl]
- jp IncreaseOWScriptPointerBy6
-
-Func_d38f: ; d38f (3:538f)
- farcall Func_10c96
- jp IncreaseOWScriptPointerBy2
-
-Func_d396: ; d396 (3:5396)
- farcall Func_1157c
- jp IncreaseOWScriptPointerBy2
-
-Func_d39d: ; d39d (3:539d)
- ld a, c
- or a
- jr nz, .asm_d3ac
- farcall Func_10dba
- ld c, a
- call Func_ca8f
- ld [hl], d
- jr .asm_d3b6
-
-.asm_d3ac
- ld a, GAME_EVENT_GIFT_CENTER
- ld [wGameEvent], a
- ld hl, wd0b4
- set 6, [hl]
-
-.asm_d3b6
- jp IncreaseOWScriptPointerBy2
-
-Func_d3b9: ; d3b9 (3:53b9)
- call Func_3917
- ld a, GAME_EVENT_CREDITS
- ld [wGameEvent], a
- ld hl, wd0b4
- set 6, [hl]
- jp IncreaseOWScriptPointerBy1
-
-Func_d3c9: ; d3c9 (3:53c9)
- ld a, c
- farcall Func_10a70
- jp IncreaseOWScriptPointerBy2
-
-Func_d3d1: ; d3d1 (3:53d1)
- jp IncreaseOWScriptPointerBy1
-
-Func_d3d4: ; d3d4 (3:53d4)
- ld a, [wd693]
- bank1call Func_7576
- jp IncreaseOWScriptPointerBy1
-
- INCROM $d3dd, $d3e0
-
-Func_d3e0: ; d3e0 (3:53e0)
- ld a, $1
- ld [wd32e], a
- farcall Func_11024
-.asm_d3e9
- call DoFrameIfLCDEnabled
- farcall Func_11060
- ld a, [wd33e]
- cp $2
- jr nz, .asm_d3e9
- farcall Func_10f2e
- jp IncreaseOWScriptPointerBy1
-
-Func_d3fe: ; d3fe (3:53fe)
- ld a, c
- ld [wd112], a
- call PlaySong
- jp IncreaseOWScriptPointerBy2
-
-Func_d408: ; d408 (3:5408)
- ld a, c
- ld [wd111], a
- jp IncreaseOWScriptPointerBy2
-
-Func_d40f: ; d40f (3:540f)
- ld a, c
- call Func_3c83
- jp IncreaseOWScriptPointerBy2
-
-Func_d416: ; d416 (3:5416)
- ld a, c
- call PlaySFX
- jp IncreaseOWScriptPointerBy2
-
-Func_d41d: ; d41d (3:541d)
- call Func_39fc
- jp IncreaseOWScriptPointerBy1
-
-Func_d423: ; d423 (3:5423)
- call PauseSong
- jp IncreaseOWScriptPointerBy1
-
-Func_d429: ; d429 (3:5429)
- call ResumeSong
- jp IncreaseOWScriptPointerBy1
-
-Func_d42f: ; d42f (3:542f)
- call Func_3c96
- jp IncreaseOWScriptPointerBy1
-
-Func_d435: ; d435 (3:5435)
- ld a, c
- farcall Func_1c83d
- jp IncreaseOWScriptPointerBy2
-
-Func_d43d: ; d43d (3:543d)
- ld a, GAME_EVENT_CHALLENGE_MACHINE
- ld [wGameEvent], a
- ld hl, wd0b4
- set 6, [hl]
- jp IncreaseOWScriptPointerBy1
-
-OWScript_CustomModifyEventFlags: ; d44a (3:544a)
- ld a, c
- ld c, b
- call ModifyEventFlags
- jp IncreaseOWScriptPointerBy3
-
-Func_d452: ; d452 (3:5452)
- ld a, c
- push af
- call CheckIfEventFlagSet
- inc a
- ld c, a
- pop af
- call ModifyEventFlags
- jp IncreaseOWScriptPointerBy2
-
-Func_d460: ; d460 (3:5460)
- ld a, c
- call CheckIfEventFlagSet
- or a
- jr z, asm_d46d
-asm_d467
- call Func_ccb9
- jp IncreaseOWScriptPointerBy4
-
-asm_d46d
- call Func_ccb3
- call GetOWSArgs2AfterPointer
- jr z, .asm_d478
- jp SetOWScriptPointer
-
-.asm_d478
- jp IncreaseOWScriptPointerBy4
-
-OWScript_JumpIfFlagSet: ; d47b (3:547b)
- ld a, c
- call CheckIfEventFlagSet
- or a
- jr nz, asm_d46d
- jr asm_d467
-
-Func_d484: ; d484 (3:5484)
- call Func_d4b6
- cp c
- jr z, Func_d490
-
-Func_d48a: ; d48a (3:548a)
- call Func_ccb9
- jp IncreaseOWScriptPointerBy5
-
-Func_d490: ; d490 (3:5490)
- call Func_ccb3
- call GetOWSArgs3AfterPointer
- jr z, .asm_d49b
- jp SetOWScriptPointer
-
-.asm_d49b
- jp IncreaseOWScriptPointerBy5
-
-Func_d49e: ; d49e (3:549e)
- call Func_d4b6
- cp c
- jr nz, Func_d490
- jr Func_d48a
-
-Func_d4a6: ; d4a6 (3:54a6)
- call Func_d4b6
- cp c
- jr nc, Func_d490
- jr Func_d48a
-
-Func_d4ae: ; d4ae (3:54ae)
- call Func_d4b6
- cp c
- jr c, Func_d490 ; 0xd4b2 $dc
- jr Func_d48a ; 0xd4b4 $d4
-
-Func_d4b6: ; d4b6 (3:54b6)
- ld a, c
- ld c, b
- call CheckIfEventFlagSet
- ret
-
-OWScript_SetEventFlags: ; d4bc (3:54bc)
- ld a, c
- call SetEventFlags
- jp IncreaseOWScriptPointerBy2
-
-Func_d4c3: ; d4c3 (3:54c3)
- ld a, c
- call Func_cad0
- jp IncreaseOWScriptPointerBy2
-
-Func_d4ca: ; d4ca (3:54ca)
- ld a, c
- call CheckIfEventFlagSet
- or a
- jr z, asm_d4e6
-Func_d4d1:
- call Func_ccb3
- call GetOWSArgs2AfterPointer
- jr z, .asm_d4dc
- jp SetOWScriptPointer
-.asm_d4dc
- jp IncreaseOWScriptPointerBy4
-
-OWScript_JumpIfFlagNotSet:
- ld a, c
- call CheckIfEventFlagSet
- or a
- jr z, Func_d4d1
-asm_d4e6
- call Func_ccb9
- jp IncreaseOWScriptPointerBy4
-; 0xd4ec
-
- INCROM $d4ec, $d753
-
-OWSequence_d753: ; d753 (3:5753)
- start_script
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_MovePlayer
- db $00
- db $02
- run_script OWScript_PrintTextString
- tx Text05e3
- run_script OWScript_CloseTextBox
- run_script Func_d088
- db $07
- db $79
- db $57
- run_script OWScript_EndScriptLoop1
- ret
-
- start_script
- run_script Func_ce4a
- db $80
- db $58
- db $02
-
- ; there's more to this script but it hasn't been disassembled yet
-
- INCROM $d77e, $e13f
-
-WaterClubMovePlayer: ; e13f (3:613f)
- ld a, [wPlayerYCoord]
- cp $8
- ret nz
- call Func_ca69
- inc sp
- cp $2
- ret nc
- ld a, $21
- ld [wd3ab], a
- ld bc, OWSequence_NotReadyToSeeAmy
- jp Func_c926
-
-WaterClubAfterDuel: ;e157 (3:6157)
- ld hl, .after_duel_table
- call FindEndOfBattleScript
- ret
-
-.after_duel_table
- dw $1f1f
- dw OWSequence_BeatSara
- dw OWSequence_LostToSara
-
- dw $2020
- dw OWSequence_BeatAmanda
- dw OWSequence_LostToAmanda
-
- dw $2121
- dw $626c
- dw $6260
-
- dw $2222
- dw $6322
- dw $6344
- db $00
-
-OWSequence_Sara: ; e177 (3:6177)
- start_script
- run_script OWScript_PrintTextString
- tx Text042c
- run_script OWScript_AskQuestionJump
- tx Text042d
- dw .yes_duel
- run_script OWScript_PrintTextString
- tx Text042e
- run_script OWScript_EndScriptCloseText
-.yes_duel
- run_script OWScript_PrintTextString
- tx Text042f
- run_script OWScript_StartBattle
- db 2
- db WATERFRONT_POKEMON_DECK_ID ; 6189
- db MUSIC_DUEL_THEME_1
- run_script OWScript_EndScriptCloseText
-
-OWSequence_BeatSara: ; e18c (3:618c)
- start_script
- run_script OWScript_SetEventFlags
- db FLAG_BEAT_SARA
- run_script OWScript_PrintTextString
- tx Text0430
- run_script OWScript_GiveBoosterPacks
- db BOOSTER_COLOSSEUM_WATER
- db BOOSTER_COLOSSEUM_WATER
- db NO_BOOSTER
- run_script OWScript_PrintTextString
- tx Text0431
- run_script OWScript_EndScriptCloseText
-
-OWSequence_LostToSara: ; e19a (03:619a)
- start_script
- run_script OWScript_PrintTextCloseBox
- tx Text0432
-
-OWSequence_Amanda: ; e19e (03:619e)
- start_script
- run_script OWScript_PrintTextString
- tx Text0433
- run_script OWScript_AskQuestionJump
- tx Text0434
- dw .yes_duel
- run_script OWScript_PrintTextString
- tx Text0435
- run_script OWScript_EndScriptCloseText
-.yes_duel
- run_script OWScript_PrintTextString
- tx Text0436
- run_script OWScript_StartBattle
- db 03
- db LONELY_FRIENDS_DECK_ID
- db MUSIC_DUEL_THEME_1
- run_script OWScript_EndScriptCloseText
-
-OWSequence_BeatAmanda: ; e1b3 (03:61b3)
- start_script
- run_script OWScript_SetEventFlags
- db FLAG_BEAT_AMANDA
- run_script OWScript_PrintTextString
- tx Text0437
- run_script OWScript_GiveBoosterPacks
- db BOOSTER_MYSTERY_LIGHTNING_COLORLESS
- db BOOSTER_MYSTERY_LIGHTNING_COLORLESS
- db NO_BOOSTER
- run_script OWScript_PrintTextString
- tx Text0438
- run_script OWScript_EndScriptCloseText
-
-OWSequence_LostToAmanda: ; e1c1 (03:61c1)
- start_script
- run_script OWScript_PrintTextCloseBox
- tx Text0439
-
-OWSequence_NotReadyToSeeAmy:
- INCROM $e1c5, $e21c
-
-OWSequence_Joshua:
- start_script
- run_script OWScript_JumpIfFlagNotSet
- db FLAG_BEAT_AMANDA
- dw .sara_and_amanda_not_beaten
- run_script OWScript_JumpIfFlagNotSet
- db FLAG_BEAT_SARA
- dw .sara_and_amanda_not_beaten
- run_script OWScript_ScriptJump
- dw .beat_sara_and_amanda
-.sara_and_amanda_not_beaten
- run_script OWScript_CustomModifyEventFlags
- db $33 ; offset on flagmod table
- db $01 ; the control bit
- run_script OWScript_PrintTextString
- tx Text043b
- run_script OWScript_EndScriptCloseText
-.beat_sara_and_amanda
- run_script OWScript_JumpIfFlagSet
- db $33
- dw $623c
- run_script OWScript_CustomModifyEventFlags
- db $33
- db $01
- run_script OWScript_PrintTextString
- tx Text043b
- run_script OWScript_PrintTextString
- tx Text043c
- run_script Func_d484
- db $33
- db $01
-
- INCROM $e23f, $e52c
-
-FindEndOfBattleScript: ; e52c (3:652c)
- ld c, $0
- ld a, [wDuelResult]
- or a ; cp DUEL_WIN
- jr z, .player_won
- ld c, $2
-
-.player_won
- ld a, [wd0c4]
- ld b, a
- ld de, $0005
-.check_enemy_byte_loop
- ld a, [hli]
- or a
- ret z
- cp b
- jr z, .found_enemy
- add hl, de
- jr .check_enemy_byte_loop
-
-.found_enemy
- ld a, [hli]
- ld [wd3ab], a
- ld b, $0
- add hl, bc
- ld c, [hl]
- inc hl
- ld b, [hl]
- jp Func_c926
-; 0xe553
-
- INCROM $e553, $f580
-
-Func_f580: ; f580 (3:7580)
- call Func_ca69
- ld b, h
- cp $3
- jr z, .asm_f596
- call Func_ca69
- ld b, l
- cp $3
- ld d, $18
- jr nz, .asm_f598
- ld a, $2
- jr .asm_f5ac
-
-.asm_f596
- ld d, $19
-
-.asm_f598
- ld a, d
- call Random
- ld c, a
- call $75cc
- jr c, .asm_f598
- call $75d4
- ld b, $0
- ld hl, $75b3
- add hl, bc
- ld a, [hl]
-
-.asm_f5ac
- ld [wd3ab], a
- ld [wd696], a
- ret
-; 0xf5b3
-
- INCROM $f5b3, $fc2b
-
-Func_fc2b: ; fc2b (3:7c2b)
- ld a, [wDuelResult]
- cp 2
- jr c, .asm_fc34
- ld a, $2
-.asm_fc34
- rlca
- ld c, a
- ld b, $0
- ld hl, PointerTable_fc4c
- add hl, bc
- ld c, [hl]
- inc hl
- ld b, [hl]
- ld a, $b0
- ld [wd0c8], a
- ld a, $3
- ld [wd0c9], a
- jp Func_c935
-
-PointerTable_fc4c: ; fc4c (3:7c4c)
- dw Unknown_fc64
- dw Unknown_fc68
- dw Unknown_fc60
-
- INCROM $fc52, $fc60
-
-Unknown_fc60: ; fc60 (3:7c60)
- INCROM $fc60, $fc64
-
-Unknown_fc64: ; fc64 (3:7c64)
- INCROM $fc64, $fc68
-
-Unknown_fc68: ; fc68 (3:7c68)
- INCROM $fc68, $fcad
-
-Func_fcad: ; fcad (3:7cad)
- INCROM $fcad, $10000