summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElectroDeoxys <ElectroDeoxys@gmail.com>2019-07-10 22:48:53 +0100
committerElectroDeoxys <ElectroDeoxys@gmail.com>2019-07-10 22:48:53 +0100
commitfdbe48673e9df2068c70453debca1234e48c82c5 (patch)
tree4902956f891c2722893b6b74fb03f7287cb7f306
parenteaa72e0cfb141eac96969cb361fa84dfc8907b05 (diff)
Disassemble Func_89ae
-rw-r--r--src/engine/bank02.asm150
1 files changed, 148 insertions, 2 deletions
diff --git a/src/engine/bank02.asm b/src/engine/bank02.asm
index 0f78d45..66f6f77 100644
--- a/src/engine/bank02.asm
+++ b/src/engine/bank02.asm
@@ -1526,10 +1526,156 @@ LoadCursorTile: ; 8992 (2:4992)
db $86, $8f, $9d, $be, $f4, $f8, $50, $60
Func_89ae: ; 89ae (2:49ae)
- INCROM $89ae, $8aa1
+ xor a
+ ld [wcfe3], a
+ ld hl, wce53
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld a, [$ce52]
+ ld [wce61], a
+ ld l, a
+ ld h, $07
+ call HtimesL
+ add hl, de
+ ldh a, [hDPadHeld]
+ or a
+ jp z, .asm_8a4f
+ inc hl
+ inc hl
+ inc hl
+ bit 6, a
+ jr z, .asm_89d5
+ ld a, [hl]
+ jr .asm_89eb
+.asm_89d5
+ inc hl
+ bit 7, a
+ jr z, .asm_89dd
+ ld a, [hl]
+ jr .asm_89eb
+.asm_89dd
+ inc hl
+ bit 4, a
+ jr z, .asm_89e5
+ ld a, [hl]
+ jr .asm_89eb
+.asm_89e5
+ inc hl
+ bit 5, a
+ jr z, .asm_8a4f
+ ld a, [hl]
+.asm_89eb
+ ld [$ce52], a
+ cp $08
+ jr nc, .asm_8a46
+ ld b, $01
+.asm_89f4
+ or a
+ jr z, .asm_89fc
+ sla b
+ dec a
+ jr .asm_89f4
+.asm_89fc
+ ld a, [wDuelInitialPrizesUpperBitsSet]
+ and b
+ jr nz, .asm_8a46
+ ld a, [wce61]
+ cp $06
+ jr nz, Func_89ae
+ ldh a, [hDPadHeld]
+ bit 4, a
+ jr nz, .asm_8a13
+ bit 5, a
+ jr z, Func_89ae
+.asm_8a13
+ ld a, [wDuelInitialPrizes]
+ cp $05
+ jr nc, .asm_8a46
+ ld a, [$ce52]
+ cp $05
+ jr nz, .asm_8a28
+ ld a, $03
+ ld [$ce52], a
+ jr .asm_8a2d
+.asm_8a28
+ ld a, $02
+ ld [$ce52], a
+.asm_8a2d
+ ld a, [wDuelInitialPrizes]
+ cp $03
+ jr nc, .asm_8a3c
+ ld a, [$ce52]
+ sub $02
+ ld [$ce52], a
+.asm_8a3c
+ ld a, [$ce52]
+ ld [wce61], a
+ ld b, $01
+ jr .asm_89f4
+.asm_8a46
+ ld a, $01
+ ld [wcfe3], a
+ xor a
+ ld [wDuelCursorBlinkCounter], a
+.asm_8a4f
+ ldh a, [hKeysPressed]
+ and $03
+ jr z, .asm_8a6d
+ and $01
+ jr nz, .asm_8a60
+ ld a, $ff
+ call PlaySFXConfirmOrCancel
+ scf
+ ret
+.asm_8a60
+ call Func_8a82
+ ld a, $01
+ call PlaySFXConfirmOrCancel
+ ld a, [$ce52]
+ scf
+ ret
+.asm_8a6d
+ ld a, [wcfe3]
+ or a
+ jr z, .asm_8a76
+ call PlaySFX
+.asm_8a76
+ ld hl, wDuelCursorBlinkCounter
+ ld a, [hl]
+ inc [hl]
+ and $0f
+ ret nz
+ bit 4, [hl]
+ jr nz, Func_8aa1
+
+Func_8a82 ; 8a82 (2:4a82)
+ call ZeroObjectPositions
+ ld hl, wce53
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld a, [$ce52]
+ ld l, a
+ ld h, $07
+ call HtimesL
+ add hl, de
+ ld d, [hl]
+ inc hl
+ ld e, [hl]
+ inc hl
+ ld b, [hl]
+ ld c, $00
+ call SetOneObjectAttributes
+ or a
+ ret
Func_8aa1: ; 8aa1 (2:4aa1)
- INCROM $8aa1, $8aaa
+ call ZeroObjectPositions
+ ld a, $01
+ ld [wVBlankOAMCopyToggle], a
+ ret
+; 0x8aaa
Func_8aaa: ; 8aaa (2:4aaa)
INCROM $8aaa, $8b85