summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank02.asm60
-rw-r--r--src/engine/bank06.asm52
-rw-r--r--src/wram.asm5
3 files changed, 66 insertions, 51 deletions
diff --git a/src/engine/bank02.asm b/src/engine/bank02.asm
index 66f6f77..5d3814c 100644
--- a/src/engine/bank02.asm
+++ b/src/engine/bank02.asm
@@ -1295,7 +1295,7 @@ HandleDuelMenuInput_PlayArea: ; 86ac (2:46ac)
jr nz, .a_pressed
; B pressed
- ld a, $ff
+ ld a, $ff ; cancel
call PlaySFXConfirmOrCancel
scf
ret
@@ -1429,7 +1429,7 @@ Func_8764: ; 8764 (2:4764)
call ProcessTextFromID
xor a
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
lb de, $48, $c2
ld hl, wce53
ld [hl], e
@@ -1497,7 +1497,7 @@ Func_8883: ; 8883 (2:4883)
call ProcessTextFromID
xor a
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
ld de, $48fa
ld hl, wce53
ld [hl], e
@@ -1528,45 +1528,51 @@ LoadCursorTile: ; 8992 (2:4992)
Func_89ae: ; 89ae (2:49ae)
xor a
ld [wcfe3], a
+
ld hl, wce53
ld e, [hl]
inc hl
ld d, [hl]
- ld a, [$ce52]
+
+ ld a, [wPrizeCardCursorPosition]
ld [wce61], a
ld l, a
- ld h, $07
+ ld h, 7
call HtimesL
add hl, de
+; hl = [wce53] + 7 * wce52
+
ldh a, [hDPadHeld]
or a
jp z, .asm_8a4f
+
inc hl
inc hl
inc hl
- bit 6, a
+ bit D_UP_F, a
jr z, .asm_89d5
ld a, [hl]
jr .asm_89eb
+
.asm_89d5
inc hl
- bit 7, a
+ bit D_DOWN_F, a
jr z, .asm_89dd
ld a, [hl]
jr .asm_89eb
.asm_89dd
inc hl
- bit 4, a
+ bit D_RIGHT_F, a
jr z, .asm_89e5
ld a, [hl]
jr .asm_89eb
.asm_89e5
inc hl
- bit 5, a
+ bit D_LEFT_F, a
jr z, .asm_8a4f
ld a, [hl]
.asm_89eb
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
cp $08
jr nc, .asm_8a46
ld b, $01
@@ -1592,47 +1598,51 @@ Func_89ae: ; 89ae (2:49ae)
ld a, [wDuelInitialPrizes]
cp $05
jr nc, .asm_8a46
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
cp $05
jr nz, .asm_8a28
ld a, $03
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jr .asm_8a2d
.asm_8a28
ld a, $02
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
.asm_8a2d
ld a, [wDuelInitialPrizes]
cp $03
jr nc, .asm_8a3c
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
sub $02
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
.asm_8a3c
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
ld [wce61], a
ld b, $01
jr .asm_89f4
.asm_8a46
ld a, $01
ld [wcfe3], a
+
+; reset cursor blink
xor a
ld [wDuelCursorBlinkCounter], a
+
.asm_8a4f
ldh a, [hKeysPressed]
- and $03
+ and A_BUTTON | B_BUTTON
jr z, .asm_8a6d
- and $01
+ and A_BUTTON
jr nz, .asm_8a60
- ld a, $ff
+ ld a, $ff ; cancel
call PlaySFXConfirmOrCancel
scf
ret
+
.asm_8a60
call Func_8a82
ld a, $01
call PlaySFXConfirmOrCancel
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
scf
ret
.asm_8a6d
@@ -1655,11 +1665,13 @@ Func_8a82 ; 8a82 (2:4a82)
ld e, [hl]
inc hl
ld d, [hl]
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
ld l, a
- ld h, $07
+ ld h, 7
call HtimesL
add hl, de
+; hl = [wce53] + 7 * wce52
+
ld d, [hl]
inc hl
ld e, [hl]
@@ -1790,7 +1802,7 @@ Func_8dea: ; 8dea (2:4dea)
ld [wceb1], a
call Func_8ff2
jp nc, Func_8e05
- ld a, $ff
+ ld a, $ff ; cancel
call PlaySFXConfirmOrCancel
call Func_8fe8
scf
@@ -2162,7 +2174,7 @@ HandleDuelMenuInput_YourPlayArea: ; 9065 (2:5065)
jr z, .no_input
and A_BUTTON
jr nz, .a_press
- ld a, $ff
+ ld a, $ff ; cancel
call PlaySFXConfirmOrCancel
scf
ret
diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm
index 26c1057..2aa63af 100644
--- a/src/engine/bank06.asm
+++ b/src/engine/bank06.asm
@@ -149,7 +149,7 @@ Func_18086: ; 18086 (6:4086)
Func_180d5: ; 180d5 (6:40d5)
ld a, $05
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
.asm_006_40da
xor a
ld [wDuelCursorBlinkCounter], a
@@ -166,7 +166,7 @@ Func_180d5: ; 180d5 (6:40d5)
ld [hl], e
inc hl
ld [hl], d
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
call .asm_006_4171
.asm_006_40fe
ld a, $01
@@ -182,11 +182,11 @@ Func_180d5: ; 180d5 (6:40d5)
and $04
jr nz, .asm_006_4148
.asm_006_4118
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
ld [$ce58], a
call Func_006_43bb
jr c, .asm_006_4139
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
cp $10
jp z, .asm_006_41f8
cp $11
@@ -213,12 +213,12 @@ Func_180d5: ; 180d5 (6:40d5)
call Func_006_44bf
lb de, $38, $9f
call SetupText
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
ld [$ce57], a
ld hl, .jump_table
call JumpToFunctionInTable
ld a, [$ce57]
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jp .asm_006_40da
.asm_006_4171 ; 18171 (6:4171)
push af
@@ -249,7 +249,7 @@ Func_180d5: ; 180d5 (6:40d5)
ld a, l
cp $06
jr nc, .asm_006_41e3
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
cp $06
jr nc, .asm_006_41c2
ld a, l
@@ -277,7 +277,7 @@ Func_180d5: ; 180d5 (6:40d5)
call ProcessText
ret
.asm_006_41e3
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
cp $08
jr nc, .asm_006_41ee
call PrintTextNoDelay
@@ -296,7 +296,7 @@ Func_180d5: ; 180d5 (6:40d5)
pop af
ldh [hWhoseTurn], a
ld a, [$ce57]
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jp .asm_006_40da
.asm_006_4210
lb de, $38, $9f
@@ -307,7 +307,7 @@ Func_180d5: ; 180d5 (6:40d5)
pop af
ldh [hWhoseTurn], a
ld a, [$ce57]
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jp .asm_006_40da
.jump_table ; (6:4228)
dw Func_006_4248
@@ -328,7 +328,7 @@ Func_180d5: ; 180d5 (6:40d5)
dw Func_006_426a
Func_006_4248:
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
inc a
cp PLAY_AREA_BENCH_5 + $01
jr nz, .asm_006_4251
@@ -347,7 +347,7 @@ Func_006_4248:
ret
Func_006_426a:
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
sub $08
or a
jr z, .asm_006_4274
@@ -410,7 +410,7 @@ Func_006_43bb: ; 183bb (6:43bb)
ld e, [hl]
inc hl
ld d, [hl]
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
ld l, a
.asm_006_43c9
ld h, $07
@@ -446,10 +446,10 @@ Func_006_43bb: ; 183bb (6:43bb)
ld a, [hl]
.asm_006_43f5
push af
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
ld [$ce57], a
pop af
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
cp $05
jr c, .asm_006_440e
cp $0b
@@ -463,23 +463,23 @@ Func_006_43bb: ; 183bb (6:43bb)
dec a
jr nz, .asm_006_441d
ld a, $10
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jr .asm_006_4462
.asm_006_441d
ld b, a
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
cp b
jr c, .asm_006_4462
ldh a, [hDPadHeld]
bit D_RIGHT_F, a
jr z, .asm_006_4430
xor a
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jr .asm_006_4462
.asm_006_4430:
ld a, b
dec a
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jr .asm_006_4462
.asm_006_4437:
ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA
@@ -487,11 +487,11 @@ Func_006_43bb: ; 183bb (6:43bb)
dec a
jr nz, .asm_006_4446
ld a, $11
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jr .asm_006_4462
.asm_006_4446
ld b, a
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
sub $0b
cp b
jr c, .asm_006_4462
@@ -499,12 +499,12 @@ Func_006_43bb: ; 183bb (6:43bb)
bit D_LEFT_F, a
jr z, .asm_006_445c
ld a, $0b
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
jr .asm_006_4462
.asm_006_445c
ld a, b
add $0a
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
.asm_006_4462
ld a, $01
ld [wcfe3], a
@@ -524,7 +524,7 @@ Func_006_43bb: ; 183bb (6:43bb)
call Func_006_44a0
ld a, $01
farcall PlaySFXConfirmOrCancel
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
scf
ret
.asm_006_448b
@@ -547,7 +547,7 @@ Func_006_44a0: ; 184a0 (6:44a0)
ld e, [hl]
inc hl
ld d, [hl]
- ld a, [$ce52]
+ ld a, [wPrizeCardCursorPosition]
ld l, a
ld h, $07
call HtimesL
@@ -573,7 +573,7 @@ Func_006_44c8: ; 184c8 (6:44c8)
ld [wGlossaryPageNo], a
call Func_006_452b
xor a
- ld [$ce52], a
+ ld [wPrizeCardCursorPosition], a
ld de, $4c8e
ld hl, $ce53
ld [hl], e
diff --git a/src/wram.asm b/src/wram.asm
index 505587f..8708005 100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -1291,9 +1291,12 @@ wTurnHolder1:: ; ce50
wTurnHolder2:: ; ce51
ds $1
+; holds the position of the cursor
+; when selecting a prize card
+wPrizeCardCursorPosition::
ds $1
-wce53:: ; ce51
+wce53:: ; ce53
ds $2
; same as wDuelInitialPrizes but