diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/constants/card_data_constants.asm | 3 | ||||
-rwxr-xr-x | src/engine/bank3.asm | 14 | ||||
-rwxr-xr-x | src/engine/bank7.asm | 4 | ||||
-rwxr-xr-x | src/engine/home.asm | 18 | ||||
-rwxr-xr-x | src/wram.asm | 33 |
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 |