Files
poketcg/src/engine/bank4.asm
T
2018-02-25 19:32:52 +01:00

1539 lines
21 KiB
NASM

Func_10000: ; 10000 (4:4000)
ld a, $0
ld [wTileMapFill], a
call EmptyScreen
call Func_2119
ld de, $307f
call Func_2275
call Set_OBJ_8x8
xor a
ldh [hSCX], a
ldh [hSCY], a
ld a, [wLCDC]
bit 7, a
jr nz, .asm_10025
xor a
ld [rSCX], a
ld [rSCY], a
.asm_10025
call Func_1288c
call InitSpritePositions
ld a, $1
ld [wVBlankOAMCopyToggle], a
ret
Func_10031: ; 10031 (4:4031)
ldh a, [hBankSRAM]
push af
ld a, $1
call BankswitchSRAM
call $4cbb
call DisableSRAM
call $4b28
call SetFlushAllPalettes
call EnableLCD
call DoFrameIfLCDEnabled
call $4cea
call SetFlushAllPalettes
pop af
call BankswitchSRAM
call DisableSRAM
ret
Func_10059: ; 10059 (4:4059)
INCROM $10059, $100a2
Func_100a2: ; 100a2 (4:40a2)
INCROM $100a2, $1029e
Medal_1029e: ; 1029e (4:429e)
sub $8
ld c, a
ld [wd115], a
ld a, [wd291]
push af
push bc
call PauseSong
ld a, MUSIC_STOP
call PlaySong
farcall Func_70000
call DisableLCD
call $4000
ld a, $fa
ld [wd114], a
call $410c
pop bc
ld a, c
add a
ld c, a
ld b, $0
ld hl, Unknown_1030b
add hl, bc
ld a, [hli]
ld [wTxRam2], a
ld a, [hl]
ld [wTxRam2 + 1], a
call $4031
ld a, MUSIC_MEDAL
call PlaySong
ld a, $ff
ld [wd116], a
.asm_102e2
call DoFrameIfLCDEnabled
ld a, [wd116]
inc a
ld [wd116], a
and $f
jr nz, .asm_102e2
call $4197
ld a, [wd116]
cp $e0
jr nz, .asm_102e2
ldtx hl, WonTheMedalText
call Func_2c73
call Func_3c96
call ResumeSong
pop af
ld [wd291], a
ret
Unknown_1030b: ; 1030b (4:430b)
INCROM $1030b, $1031b
BoosterPack_1031b: ; 1031b (4:431b)
ld c, a
ld a, [wd291]
push af
push bc
call DisableLCD
call $4000
xor a
ld [wTextBoxFrameType], a
pop bc
push bc
ld b, $0
ld hl, $43a5
add hl, bc
ld a, [hl]
ld c, a
add a
add a
ld c, a
ld hl, $43c2
add hl, bc
ld a, [hli]
push hl
ld bc, $0600
call $70ca
pop hl
ld a, [hli]
ld [wTxRam3], a
xor a
ld [wTxRam3 + 1], a
ld a, [hli]
ld [wTxRam2], a
ld a, [hl]
ld [wTxRam2 + 1], a
call $4031
call PauseSong
ld a, MUSIC_BOOSTER_PACK
call PlaySong
pop bc
ld a, c
farcall GenerateBoosterPack
ldtx hl, ReceivedBoosterPackText
ld a, [wd117]
cp $1
jr nz, .asm_10373
ldtx hl, AndAnotherBoosterPackText
.asm_10373
call Func_2c73
call Func_3c96
call ResumeSong
ldtx hl, CheckedCardsInBoosterPackText
call Func_2c73
call DisableLCD
call Func_1288c
call InitSpritePositions
ld a, $1
ld [wVBlankOAMCopyToggle], a
ld a, $4
ld [wTextBoxFrameType], a
farcall $1, $7599
farcall Func_c1a4
call DoFrameIfLCDEnabled
pop af
ld [wd291], a
ret
; 0x103a5
INCROM $103a5, $103d2
Func_103d2: ; 103d2 (4:43d2)
INCROM $103d2, $103d3
Duel_Init: ; 103d3 (4:43d3)
ld a, [wd291]
push af
call DisableLCD
call $4000
ld a, $4
ld [wTextBoxFrameType], a
lb de, 0, 12
lb bc, 20, 6
call DrawRegularTextBox
ld a, [wcc19]
add a
add a
ld c, a
ld b, $0
ld hl, $445b
add hl, bc
ld a, [hli]
ld [wTxRam2], a
ld a, [hli]
ld [wTxRam2 + 1], a
push hl
ld a, [wOpponentName]
ld [wTxRam2_b], a
ld a, [wOpponentName + 1]
ld [wTxRam2_b + 1], a
ld hl, $4451
call $51b3 ; LoadDuelistName
pop hl
ld a, [hli]
ld [wTxRam2], a
ld c, a
ld a, [hli]
ld [wTxRam2 + 1], a
or c
jr z, .asm_10425
ld hl, $4456
call $51b3 ; LoadDeckName
.asm_10425
ld bc, $0703
ld a, [wOpponentPortrait]
call Func_3e2a ; LoadDuelistPortrait
ld a, [wMatchStartTheme]
call PlaySong
call $4031
call DoFrameIfLCDEnabled
lb bc, $2f, $1d ; cursor tile, tile behind cursor
lb de, 18, 17 ; x, y
call SetCursorParametersForTextBox
call WaitForButtonAorB ; wait for the user to press a or b
call Func_3c96
call Func_10ab4 ; fade out
pop af
ld [wd291], a
ret
; 0x10451
INCROM $10451, $10548
Func_10548: ; 10548 (4:4548)
INCROM $10548, $10756
Func_10756: ; 10756 (4:4756)
INCROM $10756, $10a70
Func_10a70: ; 10a70 (4:4a70)
push hl
push bc
push de
ld b, a
ld c, $f
ld hl, wPCPacks
.asm_10a79
ld a, [hli]
and $7f
cp b
jr z, .asm_10a97
dec c
jr nz, .asm_10a79
ld c, $f
ld hl, wPCPacks
.asm_10a87
ld a, [hl]
and $7f
jr z, .asm_10a93
inc hl
dec c
jr nz, .asm_10a87
debug_ret
jr .asm_10a97
.asm_10a93
ld a, b
or $80
ld [hl], a
.asm_10a97
pop de
pop bc
pop hl
ret
Func_10a9b: ; 10a9b (4:4a9b)
INCROM $10a9b, $10ab4
Func_10ab4: ; 10ab4 (4:4ab4)
INCROM $10ab4, $10af9
Func_10af9: ; 10af9 (4:4af9)
INCROM $10af9, $10c96
Func_10c96: ; 10c96 (4:4c96)
ldh a, [hBankSRAM]
push af
push bc
ld a, $1
call BankswitchSRAM
call $4cbb
call Func_10ab4
pop bc
ld a, c
or a
jr nz, .asm_10cb0
call $4cea
call Func_10af9
.asm_10cb0
call EnableLCD
pop af
call BankswitchSRAM
call DisableSRAM
ret
; 0x10cbb
INCROM $10cbb, $10dba
Func_10dba: ; 10dba (4:4dba)
ld a, $1
farcall Func_c29b
ld a, [wd0ba]
ld hl, $4e17
farcall Func_111e9
.asm_10dca
call DoFrameIfLCDEnabled
call HandleMenuInput
jr nc, .asm_10dca
ld a, e
ld [wd0ba], a
ldh a, [hCurrentMenuItem]
cp e
jr z, .asm_10ddd
ld a, $4
.asm_10ddd
ld [wd10e], a
push af
ld hl, $4df0
call JumpToFunctionInTable
farcall Func_c135
call DoFrameIfLCDEnabled
pop af
ret
; 0x10df0
INCROM $10df0, $10e28
Func_10e28: ; 10e28 (4:4e28)
INCROM $10e28, $10e55
Func_10e55: ; 10e55 (4:4e55)
ld a, [wd336]
ld [wWhichSprite], a
ld a, [wd33e]
or a
jr nz, .asm_10e65
call Func_10e71
ret
.asm_10e65
cp $2
jr z, .asm_10e6d
call Func_11060
ret
.asm_10e6d
call LoadOverworldMapSelection
ret
Func_10e71: ; 10e71 (4:4e71)
ldh a, [hButtonsPressed]
and D_PAD
jr z, .asm_10e83
farcall Func_c5d5
ld [wd334], a
call Func_10e97
jr .asm_10e96
.asm_10e83
ldh a, [hButtonsPressed]
and A_BUTTON
jr z, .asm_10e96
ld a, $2
call PlaySFX
call Func_11016
call Func_11024
jr .asm_10e96
.asm_10e96
ret
Func_10e97: ; 10e97 (4:4e97)
push hl
pop hl
ld a, [wd32e]
rlca
rlca
ld c, a
ld a, [wd334]
add c
ld c, a
ld b, $0
ld hl, Unknown_10ebc
add hl, bc
ld a, [hl]
or a
jr z, .asm_10eb9
ld [wd32e], a
call Func_10f2e
ld a, $1
call PlaySFX
.asm_10eb9
pop bc
pop hl
ret
Unknown_10ebc: ; 10ebc (4:4ebc)
INCROM $10ebc, $10efd
Func_10efd: ; 10efd (4:4efd)
push hl
push de
rlca
ld e, a
ld d, $0
ld hl, Unknown_10f14
add hl, de
pop de
ld a, [hli]
add $8
add d
ld d, a
ld a, [hl]
add $10
add e
ld e, a
pop hl
ret
Unknown_10f14: ; 10f14 (4:4f14)
INCROM $10f14, $10f2e
Func_10f2e: ; 10f2e (4:4f2e)
push hl
push de
ld de, $0101
call Func_22ae
call Func_10f4a
rlca
ld e, a
ld d, $0
ld hl, Unknown_397b
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
call Func_2c29
pop de
pop hl
ret
Func_10f4a: ; 10f4a (4:4f4a)
push bc
ld a, [wd32e]
cp $2
jr nz, .asm_10f5f
ld c, a
ld a, $1e
farcall CheckIfEventFlagSet
or a
ld a, c
jr nz, .asm_10f5f
ld a, $d
.asm_10f5f
pop bc
ret
LoadOverworldMapSelection: ; 10f61 (4:4f61)
push hl
push bc
ld a, [wd32e]
rlca
rlca
ld c, a
ld b, $0
ld hl, OverworldMapIndexes
add hl, bc
ld a, [hli]
ld [wd0bb], a
ld a, [hli]
ld [wd0bc], a
ld a, [hli]
ld [wd0bd], a
ld a, $0
ld [wd0be], a
ld hl, wd0b4
set 4, [hl]
pop bc
pop hl
ret
INCLUDE "data/overworld_indexes.asm"
Func_10fbc: ; 10fbc (4:4fbc)
ld a, $25
farcall Func_1299f
ld c, SPRITE_ANIM_COORD_X
call GetSpriteAnimBufferProperty
ld a, $80
ld [hli], a
ld a, $10
ld [hl], a
ld b, $34
ld a, [wConsole]
cp CONSOLE_CGB
jr nz, .asm_10fd8
ld b, $37
.asm_10fd8
ld a, b
farcall Func_12ab5
ret
Func_10fde: ; 10fde (4:4fde)
ld a, [wd32e]
ld [wd33d], a
xor a
ld [wd33e], a
ld a, $25
call Func_1299f
ld a, [wWhichSprite]
ld [wd33b], a
ld b, $35
ld a, [wConsole]
cp $2
jr nz, .asm_10ffe
ld b, $38
.asm_10ffe
ld a, b
ld [wd33c], a
call Func_12ab5
ld a, $3e
farcall CheckIfEventFlagSet
or a
jr nz, .asm_11015
ld c, SPRITE_ANIM_FIELD_0F
call GetSpriteAnimBufferProperty
set 7, [hl]
.asm_11015
ret
Func_11016: ; 11016 (4:5016)
ld a, [wd33b]
ld [wWhichSprite], a
ld a, [wd33c]
inc a
call Func_12ab5
ret
Func_11024: ; 11024 (4:5024)
ld a, $57
call PlaySFX
ld a, [wd336]
ld [wWhichSprite], a
ld c, SPRITE_ANIM_FIELD_0F
call GetSpriteAnimBufferProperty
set 2, [hl]
ld hl, Unknown_1229f
ld a, [wd33d]
dec a
add a
ld c, a
ld b, $0
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [wd32e]
dec a
add a
ld c, a
ld b, $0
add hl, bc
ld a, [hli]
ld [wd33f], a
ld a, [hl]
ld [wd340], a
ld a, $1
ld [wd33e], a
xor a
ld [wd341], a
ret
Func_11060: ; 11060 (4:5060)
ld a, [wd336]
ld [wWhichSprite], a
ld a, [wd341]
or a
jp nz, Func_11184
ld a, [wd33f]
ld l, a
ld a, [wd340]
ld h, a
ld a, [hli]
ld b, a
ld a, [hli]
ld c, a
and b
cp $ff
jr z, .asm_110a0
ld a, c
or b
jr nz, .asm_11094
ld a, [wd33d]
ld e, a
ld a, [wd32e]
cp e
jr z, .asm_110a0
ld de, $0000
call Func_10efd
ld b, d
ld c, e
.asm_11094
ld a, l
ld [wd33f], a
ld a, h
ld [wd340], a
call Func_110a6
ret
.asm_110a0
ld a, $2
ld [wd33e], a
ret
Func_110a6: ; 110a6 (4:50a6)
push hl
push bc
ld c, SPRITE_ANIM_COORD_X
call GetSpriteAnimBufferProperty
pop bc
ld a, b
sub [hl]
ld [wd343], a
ld a, $0
sbc $0
ld [wd344], a
inc hl
ld a, c
sub [hl]
ld [wd345], a
ld a, $0
sbc $0
ld [wd346], a
ld a, [wd343]
ld b, a
ld a, [wd344]
bit 7, a
jr z, .asm_110d8
ld a, [wd343]
cpl
inc a
ld b, a
.asm_110d8
ld a, [wd345]
ld c, a
ld a, [wd346]
bit 7, a
jr z, .asm_110e9
ld a, [wd345]
cpl
inc a
ld c, a
.asm_110e9
ld a, b
cp c
jr c, .asm_110f2
call Func_11102
jr .asm_110f5
.asm_110f2
call Func_1113e
.asm_110f5
xor a
ld [wd347], a
ld [wd348], a
farcall Func_c5e9
pop hl
ret
Func_11102: ; 11102 (4:5102)
ld a, b
ld [wd341], a
ld e, a
ld d, $0
ld hl, wd343
xor a
ld [hli], a
bit 7, [hl]
jr z, .asm_11115
dec a
jr .asm_11116
.asm_11115
inc a
.asm_11116
ld [hl], a
ld b, c
ld c, $0
call DivideBCbyDE
ld a, [wd346]
bit 7, a
jr z, .asm_11127
call Func_11179
.asm_11127
ld a, c
ld [wd345], a
ld a, b
ld [wd346], a
ld hl, wd344
ld a, $1
bit 7, [hl]
jr z, .asm_1113a
ld a, $3
.asm_1113a
ld [wd334], a
ret
Func_1113e: ; 1113e (4:513e)
ld a, c
ld [wd341], a
ld e, a
ld d, $0
ld hl, wd345
xor a
ld [hli], a
bit 7, [hl]
jr z, .asm_11151
dec a
jr .asm_11152
.asm_11151
inc a
.asm_11152
ld [hl], a
ld c, $0
call DivideBCbyDE
ld a, [wd344]
bit 7, a
jr z, .asm_11162
call Func_11179
.asm_11162
ld a, c
ld [wd343], a
ld a, b
ld [wd344], a
ld hl, wd346
ld a, $2
bit 7, [hl]
jr z, .asm_11175
ld a, $0
.asm_11175
ld [wd334], a
ret
Func_11179: ; 11179 (4:5179)
ld a, c
cpl
add $1
ld c, a
ld a, b
cpl
adc $0
ld b, a
ret
Func_11184: ; 11184 (4:5184)
ld a, [wd347]
ld d, a
ld a, [wd348]
ld e, a
ld c, SPRITE_ANIM_COORD_X
call GetSpriteAnimBufferProperty
ld a, [wd343]
add d
ld d, a
ld a, [wd344]
adc [hl]
ld [hl], a
inc hl
ld a, [wd345]
add e
ld e, a
ld a, [wd346]
adc [hl]
ld [hl], a
ld a, d
ld [wd347], a
ld a, e
ld [wd348], a
ld hl, wd341
dec [hl]
ret
; 0x111b3
INCROM $111b3, $111e9
Func_111e9: ; 111e9 (4:51e9)
INCROM $111e9, $1124d
Func_1124d: ; 1124d (4:524d)
INCROM $1124d, $11320
Func_11320: ; 11320 (4:5320)
INCROM $11320, $11343
Func_11343: ; 11343 (4:5343)
INCROM $11343, $11416
Func_11416: ; 11416 (4:5416)
INCROM $11416, $11430
Func_11430: ; 11430 (4:5430)
INCROM $11430, $1157c
Func_1157c: ; 1157c (4:557c)
ld a, c
or a
jr nz, .asm_11586
farcall Func_c228
jr .asm_1159f
.asm_11586
ld a, $2
ld [wd0bc], a
ld a, $4
ld [wd0bd], a
ld a, $2
ld [wd0be], a
ld a, $1
ld [wd0bb], a
ld a, $1
ld [wd32e], a
.asm_1159f
call $5238
ret
; 0x115a3
Func_115a3: ; 115a3 (4:55a3)
INCROM $115a3, $1162a
INCLUDE "data/map_scripts.asm"
; loads a pointer into hl found on PointerTable_118f5
Func_1184a: ; 1184a (4:584a)
; this may have been a macro
rlca
add LOW(PointerTable_118f5)
ld l, a
ld a, HIGH(PointerTable_118f5)
adc $00
ld h, a
ld a, [hli]
ld h, [hl]
ld l, a
ret
Func_11857: ; 11857 (4:5857)
push hl
push bc
call Func_1184a
ld a, [hli]
ld [wd3ab], a
ld a, [hli]
ld [wd3b3], a
ld a, [hli]
ld [wd3b1], a
ld a, [hli]
push af
ld a, [hli]
ld [wd3b2], a
pop bc
ld a, [wConsole]
cp $2
jr nz, .asm_1187a
ld a, b
ld [wd3b1], a
.asm_1187a
pop bc
pop hl
ret
; this appears to find data about the NPC we're talking to
Func_1187d: ; 1187d (4:587d)
push hl
call Func_1184a
ld bc, $5
add hl, bc
ld c, [hl]
inc hl
ld b, [hl]
inc hl
ld a, [hli]
ld [wd0c8], a
ld a, [hli]
ld [wd0c9], a
pop hl
ret
Func_11893: ; 11893 (4:5893)
push hl
push bc
call Func_1184a
ld bc, $0007
add hl, bc
ld a, [hli]
ld [wd0c8], a
ld a, [hli]
ld [wd0c9], a
pop bc
pop hl
ret
Func_118a7: ; 118a7 (4:58a7)
push hl
push bc
call Func_1184a
ld bc, $0007
add hl, bc
ld a, [hli]
ld [wOpponentName], a
ld a, [hli]
ld [wOpponentName + 1], a
ld a, [hli]
ld [wOpponentPortrait], a
pop bc
pop hl
ret
Func_118bf: ; 118bf (4:58bf)
push hl
push bc
call Func_1184a
ld bc, $000a
add hl, bc
ld a, [hli]
ld [wcc19], a
ld a, [hli]
ld [wDuelTheme], a
pop bc
pop hl
ret
Func_118d3: ; 118d3 (4:58d3)
push hl
push bc
push af
call Func_1184a
ld bc, $000c
add hl, bc
ld a, [hli]
ld [wMatchStartTheme], a
pop af
cp $2
jr nz, .asm_118f2
ld a, [wCurMap]
cp $20
jr nz, .asm_118f2
ld a, $17
ld [wMatchStartTheme], a
.asm_118f2
pop bc
pop hl
ret
INCLUDE "data/npcs.asm"
Func_11f4e: ; 11f4e (4:5f4e)
INCROM $11f4e, $1217b
OverworldScriptTable: ; 1217b (4:617b)
dw OWScript_EndScriptLoop1
dw OWScript_CloseTextBox
dw OWScript_PrintTextString
dw Func_ccdc
dw OWScript_AskQuestionJump
dw OWScript_StartBattle
dw Func_cd83
dw Func_cda8
dw OWScript_PrintTextCloseBox
dw Func_cdcb
dw Func_ce26
dw Func_ce84
dw OWScript_GiveBoosterPacks
dw Func_cf0c
dw Func_cf12
dw Func_cf3f
dw Func_cf4c
dw Func_cf53
dw Func_cf7b
dw Func_cf2d
dw Func_cf96
dw Func_cfc6
dw Func_cfd4
dw Func_d00b
dw Func_d025
dw Func_d032
dw Func_d03f
dw OWScript_ScriptJump
dw Func_d04f
dw Func_d055
dw OWScript_MovePlayer
dw Func_cee2
dw Func_d080
dw Func_d088
dw Func_d095
dw Func_d0be
dw Func_d0ce
dw Func_d0d9
dw Func_d0f2
dw Func_ce4a
dw Func_ceba
dw Func_d103
dw Func_d125
dw Func_d135
dw Func_d16b
dw Func_cd4f
dw Func_cd94
dw Func_ce52
dw Func_cdd8
dw Func_cdf5
dw Func_d195
dw Func_d1ad
dw Func_d1b3
dw OWScript_EndScriptCloseText
dw Func_d244
dw Func_d24c
dw DeckMachine_d336
dw Func_d271
dw Func_d36d
dw Func_ce6f
dw Func_d209
dw Func_d38f
dw Func_d396
dw Func_cd76
dw Func_d39d
dw Func_d3b9
dw Func_d3c9
dw Func_d3d1
dw Func_d3d4
dw Func_d3e0
dw Func_d3fe
dw Func_d408
dw Func_d40f
dw Func_d416
dw Func_d423
dw Func_d429
dw Func_d41d
dw Func_d42f
dw Func_d435
dw Func_cce4
dw Func_d2f6
dw Func_d317
dw Func_d43d
dw OWScript_EndScriptLoop2
dw OWScript_EndScriptLoop3
dw OWScript_EndScriptLoop4
dw OWScript_EndScriptLoop5
dw OWScript_EndScriptLoop6
dw OWScript_CustomModifyEventFlags
dw Func_d460
dw OWScript_JumpIfFlagSet
dw Func_d484
dw Func_d49e
dw Func_d4a6
dw Func_d4ae
dw OWScript_SetEventFlags
dw Func_d4c3
dw Func_d4ca
dw OWScript_JumpIfFlagNotSet
dw Func_d452
dw OWScript_EndScriptLoop7
dw OWScript_EndScriptLoop8
dw OWScript_EndScriptLoop9
dw OWScript_EndScriptLoop10
INCROM $1224b, $1229f
Unknown_1229f: ; 1229f (4:629f)
INCROM $1229f, $126d1
Func_126d1: ; 126d1 (4:66d1)
call InitSpritePositions
ld hl, wVBlankOAMCopyToggle
inc [hl]
farcall Func_70018
ld a, $ff
ld [wd627], a
.asm_126e1
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
farcall Func_c1f8
farcall Func_1d078
ld a, [wd628]
ld hl, PointerTable_126fc
call JumpToFunctionInTable
jr c, .asm_126e1
jr Func_126d1
scf
ret
PointerTable_126fc:
dw CardPop_12768
dw Func_12741
dw Func_12704
dw Func_1277e
Func_12704: ; 12704 (4:6704)
farcall Func_c1b1
call Func_128a9
farcall Func_1996e
call EnableSRAM
ld a, [sa007]
ld [wd421], a
ld a, [sa006]
ld [wTextSpeed], a
call DisableSRAM
ld a, MUSIC_STOP
call PlaySong
farcall Func_70000
ld a, $9
ld [wd111], a
call Func_39fc
farcall Func_1d306
ld a, $0
ld [wd0b5], a
farcall $03, Func_383d
or a
ret
Func_12741: ; 12741 (4:6741)
ld a, MUSIC_STOP
call PlaySong
call Func_11320
jr nc, Func_12704
farcall Func_c1ed
farcall Func_70000
call EnableSRAM
xor a
ld [$ba44], a
call DisableSRAM
ld a, $0
ld [wd0b5], a
farcall $03, Func_383d
or a
ret
CardPop_12768: ; 12768 (4:6768)
ld a, MUSIC_CARD_POP
call PlaySong
bank1call Func_7571
farcall Func_c1a4
call DoFrameIfLCDEnabled
ld a, MUSIC_STOP
call PlaySong
scf
ret
Func_1277e: ; 1277e (4:677e)
ld a, MUSIC_STOP
call PlaySong
farcall Func_c9cb
farcall $04, Func_3a40
farcall Func_70000
ld a, $5
ld [wd0b5], a
farcall $03, Func_383d
or a
ret
; 0x1279a
INCROM $1279a, $12871
Func_12871: ; 12871 (4:6871)
INCROM $12871, $1288c
Func_1288c: ; 1288c (4:688c)
INCROM $1288c, $128a9
Func_128a9: ; 128a9 (4:68a9)
INCROM $128a9, $1296e
Func_1296e: ; 1296e (4:696e)
INCROM $1296e, $1299f
Func_1299f: ; 1299f (4:699f)
push af
ld a, [wd5d7]
or a
jr z, .asm_129a8
pop af
ret
.asm_129a8
pop af
push bc
push hl
call Func_12c05
ld [wd5d3], a
xor a
ld [wWhichSprite], a
call Func_3db7
ld bc, $0010
.asm_129bb
ld a, [hl]
or a
jr z, .asm_129cf
add hl, bc
ld a, [wWhichSprite]
inc a
ld [wWhichSprite], a
cp $10
jr nz, .asm_129bb
debug_ret
scf
jr .asm_129d6
.asm_129cf
ld a, $1
ld [hl], a
call Func_129d9
or a
.asm_129d6
pop hl
pop bc
ret
Func_129d9: ; 129d9 (4:69d9)
push hl
push bc
push hl
inc hl
ld c, $f
xor a
.asm_129e0
ld [hli], a
dec c
jr nz, .asm_129e0
pop hl
ld bc, $0004
add hl, bc
ld a, [wd5d3]
ld [hli], a
ld a, $ff
ld [hl], a
ld bc, $0009
add hl, bc
ld a, $ff
ld [hl], a
pop bc
pop hl
ret
; 0x129fa
INCROM $129fa, $12a21
Func_12a21: ; 12a21 (4:6a21)
INCROM $12a21, $12ab5
Func_12ab5: ; 12ab5 (4:6ab5)
push hl
push af
ld c, SPRITE_ANIM_FIELD_05
call GetSpriteAnimBufferProperty
pop af
cp [hl]
pop hl
ret z
push hl
call Func_12ae2
call Func_12b13
pop hl
ret
; 0x12ac9
INCROM $12ac9, $12ae2
Func_12ae2: ; 12ae2 (4:6ae2)
push bc
push af
call Func_3db7
pop af
push hl
ld bc, $0005
add hl, bc
ld [hli], a
push hl
ld l, $6
farcall Func_8020f
farcall Func_80229
pop hl
ld a, [wd4c6]
ld [hli], a
ld a, [wd4c4]
ld [hli], a
ld c, a
ld a, [wd4c5]
ld [hli], a
ld b, a
ld a, $3
add c
ld [hli], a
ld a, $0
adc b
ld [hli], a
pop hl
pop bc
ret
Func_12b13: ; 12b13 (4:6b13)
push bc
push de
push hl
.asm_12b16
push hl
ld bc, $0006
add hl, bc
ld a, [hli]
ld [wd4c6], a
inc hl
inc hl
ld a, [hl]
ld [wd4c4], a
add $4
ld [hli], a
ld a, [hl]
ld [wd4c5], a
adc $0
ld [hl], a
ld de, wd23e
ld bc, $0004
call Func_3bf5
pop hl
ld de, wd23e
ld a, [de]
call Func_12b6a
inc de
ld a, [de]
call Func_12b89
jr c, .asm_12b16
inc de
ld bc, $0002
add hl, bc
push hl
ld bc, $000d
add hl, bc
ld b, [hl]
pop hl
ld a, [de]
bit 0, b
jr z, .asm_12b5a
cpl
inc a
.asm_12b5a
add [hl]
ld [hli], a
inc de
ld a, [de]
bit 1, b
jr z, .asm_12b64
cpl
inc a
.asm_12b64
add [hl]
ld [hl], a
pop hl
pop de
pop bc
ret
Func_12b6a: ; 12b6a (4:6b6a)
ld [wd4ca], a
push hl
push bc
push de
push hl
ld bc, $0006
add hl, bc
ld a, [hli]
ld [wd4c6], a
ld a, [hli]
ld [wd4c4], a
ld a, [hli]
ld [wd4c5], a
pop hl
call Func_3d72
pop de
pop bc
pop hl
ret
Func_12b89: ; 12b89 (4:6b89)
push hl
push bc
ld bc, $000e
add hl, bc
ld [hl], a
or a
jr nz, .asm_12ba4
ld bc, $fff9
add hl, bc
ld a, [hli]
add $3
ld c, a
ld a, [hli]
adc $0
ld b, a
ld a, c
ld [hli], a
ld a, b
ld [hl], a
scf
.asm_12ba4
pop bc
pop hl
ret
Func_12ba7: ; 12ba7 (4:6ba7)
INCROM $12ba7, $12bcd
Func_12bcd: ; 12bcd (4:6bcd)
INCROM $12bcd, $12c05
Func_12c05: ; 12c05 (4:6c05)
push hl
push bc
push de
ld b, a
ld d, $0
ld a, [wd618]
ld c, a
ld hl, wd5d8
or a
jr z, .asm_12c22
.asm_12c15
inc hl
ld a, [hl]
cp b
jr z, .asm_12c3a
inc hl
ld a, [hli]
add [hl]
ld d, a
inc hl
dec c
jr nz, .asm_12c15
.asm_12c22
ld a, [wd618]
cp $10
jr nc, .asm_12c48
inc a
ld [wd618], a
inc hl
push hl
ld a, b
ld [hli], a
call Func_12c4f
push af
ld a, d
ld [hli], a
pop af
ld [hl], a
pop hl
.asm_12c3a
dec hl
inc [hl]
inc hl
inc hl
ld a, [hli]
add [hl]
cp $81
jr nc, .asm_12c48
ld a, d
or a
jr .asm_12c4b
.asm_12c48
debug_ret
xor a
scf
.asm_12c4b
pop de
pop bc
pop hl
ret
Func_12c4f: ; 12c4f (4:6c4f)
push af
xor a
ld [wd4cb], a
ld a, d
ld [wd4ca], a
pop af
farcall Func_8025b
ret
Func_12c5e: ; 12c5e (4:6c5e)
INCROM $12c5e, $12c7f
Func_12c7f: ; 12c7f (4:6c7f)
INCROM $12c7f, $131b3
Func_131b3: ; 131b3 (4:71b3)
INCROM $131b3, $131d3
Func_131d3: ; 131d3 (4:71d3)
INCROM $131d3, $1344d
Func_1344d: ; 1344d (4:744d)
call PauseSong
ld a, MUSIC_MEDAL
call PlaySong
ldtx hl, DefeatedFiveOpponentsText
call Func_2c73
call Func_3c96
call ResumeSong
ret
; 0x13462
INCROM $13462, $13485
Func_13485: ; 13485 (4:7485)
call EnableSRAM
ld a, [$ba68]
or a
ret z
ld a, [$ba56]
ld [wTxRam3], a
ld a, [$ba57]
ld [wTxRam3 + 1], a
call DisableSRAM
call PauseSong
ld a, MUSIC_MEDAL
call PlaySong
ldtx hl, ConsecutiveWinRecordIncreasedText
call Func_2c73
call Func_3c96
call ResumeSong
ret
; 0x134b1
INCROM $134b1, $14000