summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/constants/card_data_constants.asm3
-rwxr-xr-xsrc/engine/bank3.asm14
-rwxr-xr-xsrc/engine/bank7.asm4
-rwxr-xr-xsrc/engine/home.asm18
-rwxr-xr-xsrc/wram.asm33
5 files changed, 48 insertions, 24 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm
index 0b85773..8228d2f 100644
--- a/src/constants/card_data_constants.asm
+++ b/src/constants/card_data_constants.asm
@@ -1,5 +1,6 @@
CARD_DATA_LENGTH EQU $41
-DECK_SIZE EQU 60
+DECK_SIZE EQU 60
+BENCH_SIZE EQU 5
;;; card types (byte 1 of every card data)
FIRE EQU $0
diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm
index cee8c72..bf726a6 100755
--- a/src/engine/bank3.asm
+++ b/src/engine/bank3.asm
@@ -242,11 +242,11 @@ Func_c1b1: ; c1b1 (3:41b1)
farcall Func_1c82e
farcall Func_131b3
xor a
- ld [wCounter + 0], a
- ld [wCounter + 1], a
- ld [wCounter + 2], a
- ld [wCounter + 3], a
- ld [wCounter + 4], 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)
@@ -1199,7 +1199,7 @@ Func_c9e8: ; c9e8 (3:49e8)
cp $2
jr c, .asm_ca04
.asm_c9f2
- call Func_089b
+ call UpdateRNGSources
and $3
ld c, a
ld b, $0
@@ -1251,7 +1251,7 @@ Func_ca0e: ; ca0e (3:4a0e)
db $3f
jr .asm_ca68
.asm_ca4a
- call Func_089b
+ call UpdateRNGSources
ld c, $1
and $3
or a
diff --git a/src/engine/bank7.asm b/src/engine/bank7.asm
index 51e03d7..b0512ec 100755
--- a/src/engine/bank7.asm
+++ b/src/engine/bank7.asm
@@ -133,7 +133,7 @@ Func_1d078: ; 1d078 (7:5078)
ld [$d626], a
.asm_1d095
call Func_3c48
- call Func_089b
+ call UpdateRNGSources
call $5614
ld hl, $d635
inc [hl]
@@ -213,7 +213,7 @@ Func_1d11c: ; 1d11c (7:511c)
farcallx $4, $4031
.asm_1d15a
call Func_3c48
- call Func_089b
+ call UpdateRNGSources
call Func_264b
push af
call $51e9
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 8d64870..ae34ded 100755
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -129,7 +129,7 @@ TimerHandler: ; 01e6 (0:01e6)
and $3
jr nz, .done
; increment the 60-60-60-255-255 counter
- call IncrementCounter
+ call IncrementPlayTimeCounter
; check in-timer flag
ld hl, wReentrancyFlag
bit 1, [hl]
@@ -153,11 +153,11 @@ TimerHandler: ; 01e6 (0:01e6)
reti
; increment timer counter by a tick
-IncrementCounter: ; 021c (0:021c)
- ld a, [wCounterEnable]
+IncrementPlayTimeCounter: ; 021c (0:021c)
+ ld a, [wPlayTimeCounterEnable]
or a
ret z
- ld hl, wCounter
+ ld hl, wPlayTimeCounter
inc [hl]
ld a, [hl]
cp 60
@@ -1221,10 +1221,10 @@ HtimesL: ; 0879 (0:0879)
INCBIN "baserom.gbc",$088f,$089b - $088f
-Func_089b: ; 089b (0:089b)
+UpdateRNGSources: ; 089b (0:089b)
push hl
push de
- ld hl, $caca
+ ld hl, wRNG1
ld a, [hli]
ld d, [hl]
inc hl
@@ -3557,7 +3557,7 @@ Duel_LoadDecks: ; 2b78 (0:2b78)
ld a, PRACTICE_PLAYER_DECK
call LoadDeck
call GetOpposingTurnDuelistVariable_SwapTurn
- ld hl, $caca
+ ld hl, wRNG1
ld a, $57
ld [hli], a
ld [hli], a
@@ -4517,14 +4517,14 @@ Func_380e: ; 380e (0:380e)
ld a, BANK(Func_804d8)
call BankswitchHome
call Func_804d8
- call Func_089b
+ call UpdateRNGSources
pop af
call BankswitchHome
ret
Func_383d: ; 383d (0:383d)
ld a, $1
- ld [wCounterEnable], a
+ ld [wPlayTimeCounterEnable], a
ld a, [hBankROM]
push af
.asm_3845
diff --git a/src/wram.asm b/src/wram.asm
index 9bb77e3..7fd0798 100755
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -36,7 +36,15 @@ wPlayerDeckCards:: ; c27e
; the first x cards in the wPlayerDeckCards array are ignored (e.g. when drawing a card)
wPlayerNumberOfCardsNotInDeck:: ; c2ba
ds $1
- ds $d
+
+; Which card is in player's side of the field, as number 0 to 59
+wPlayerArenaCard:: ; c2bb
+ ds $1
+
+; Which cards are in player's bench, as numbers 0 to 59
+wPlayerBench:: ; c2bc
+ ds BENCH_SIZE
+ ds $7
wPlayerArenaCardHP:: ; c2c8
ds $1
@@ -77,7 +85,13 @@ wOpponentDeckCards:: ; c37e
wOpponentNumberOfCardsNotInDeck:: ; c3ba
ds $1
- ds $d
+
+wOpponentArenaCard:: ; c3bb
+ ds $1
+
+wOpponentBench:: ; c3bc
+ ds BENCH_SIZE
+ ds $7
wOpponentArenaCardHP:: ; c3c8
ds $1
@@ -163,7 +177,7 @@ wVBlankOAMCopyToggle:: ; cac0
wCounterCtr:: ; cac3
ds $1
-wCounterEnable:: ; cac4
+wPlayTimeCounterEnable:: ; cac4
ds $1
; byte0: 1/60ths of a second
@@ -171,9 +185,18 @@ wCounterEnable:: ; cac4
; byte2: minutes
; byte3: hours (lower byte)
; byte4: hours (upper byte)
-wCounter:: ; cac5
+wPlayTimeCounter:: ; cac5
ds $5
- ds $6
+
+wRNG1:: ; caca
+ ds $1
+
+wRNG2:: ; cacb
+ ds $1
+
+wCounter:: ; cacc
+ ds $1
+ ds $3
wVBlankFunctionTrampoline:: ; cad0
ds $20 ; unknown length