summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2018-02-25 18:25:57 +0100
committerxCrystal <rgr.crystal@gmail.com>2018-02-25 18:25:57 +0100
commit51b46f5e4ebbfb2d99cca76ff610b3824e98da13 (patch)
treeb29b64f68e91fede93c0a3226c7f444436edcb48 /src
parentf3b132b877428d08cea1a16dfc97bed7f169f58a (diff)
Give generic labels to all used wram addresses and use correct space allocation (default to ds when size of address unknown)
Diffstat (limited to 'src')
-rw-r--r--src/audio/music1.asm2
-rw-r--r--src/audio/music2.asm2
-rw-r--r--src/engine/bank1.asm24
-rw-r--r--src/engine/bank2.asm134
-rw-r--r--src/engine/bank20.asm44
-rw-r--r--src/engine/bank3.asm122
-rw-r--r--src/engine/bank4.asm26
-rw-r--r--src/engine/bank5.asm34
-rw-r--r--src/engine/bank6.asm2
-rw-r--r--src/engine/bank7.asm12
-rw-r--r--src/engine/bank8.asm40
-rw-r--r--src/engine/home.asm378
-rw-r--r--src/wram.asm534
13 files changed, 981 insertions, 373 deletions
diff --git a/src/audio/music1.asm b/src/audio/music1.asm
index 9db9632..86d76f4 100644
--- a/src/audio/music1.asm
+++ b/src/audio/music1.asm
@@ -690,7 +690,7 @@ Music1_note: ; f448c (3d:448c)
add e
jr .asm_f44c1
.asm_f44c7
- ld hl, $ddbb
+ ld hl, wddbb
add hl, bc
ld [hl], a
pop de
diff --git a/src/audio/music2.asm b/src/audio/music2.asm
index d329326..41d58f8 100644
--- a/src/audio/music2.asm
+++ b/src/audio/music2.asm
@@ -690,7 +690,7 @@ Music2_note: ; f448c (3d:448c)
add e
jr .asm_f84c1
.asm_f84c7
- ld hl, $ddbb
+ ld hl, wddbb
add hl, bc
ld [hl], a
pop de
diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm
index 597cf69..a07ed92 100644
--- a/src/engine/bank1.asm
+++ b/src/engine/bank1.asm
@@ -67,7 +67,7 @@ Func_407a: ; 407a (1:407a)
ld a, l
ld [wcbe5], a
ld a, h
- ld [wcbe6], a
+ ld [wcbe5 + 1], a
call ClearJoypad
ld a, [wDuelTheme]
call PlaySong
@@ -112,7 +112,7 @@ StartDuel: ; 409f (1:409f)
ld a, l
ld [wcbe5], a
ld a, h
- ld [wcbe6], a
+ ld [wcbe5 + 1], a
xor a
ld [wCurrentDuelMenuItem], a
call Func_420b
@@ -453,7 +453,7 @@ Func_434e: ; 434e (1:434e)
jr c, .no_cards_in_hand
call $559a
ld a, $09
- ld [$cbd6], a
+ ld [wcbd6], a
jp $55f0
.no_cards_in_hand
ldtx hl, NoCardsInHandText
@@ -734,7 +734,7 @@ Func_478b: ; 478b (1:478b)
add a
ld e, a
ld d, $00
- ld hl, $c511
+ ld hl, wDuelTempList + 1
add hl, de
ld a, [hl]
or a
@@ -1308,7 +1308,7 @@ LoadPlayerDeck: ; 6793 (1:6793)
; called multiple times during one ai turn
AIMakeDecision: ; 67be (1:67be)
ldh [hAIActionTableIndex], a
- ld hl, $cbf9
+ ld hl, wcbf9
ld a, [hl]
ld [hl], $0
or a
@@ -1321,12 +1321,12 @@ AIMakeDecision: ; 67be (1:67be)
.skip_delay
ldh a, [hAIActionTableIndex]
- ld hl, $cbe1
+ ld hl, wcbe1
ld [hl], $0
ld hl, AIActionTable
call JumpToFunctionInTable
ld a, [wDuelFinished]
- ld hl, $cbe1
+ ld hl, wcbe1
or [hl]
jr nz, .turn_ended
ld a, [wcbf9]
@@ -1603,7 +1603,7 @@ _TossCoin: ; 71ad (1:71ad)
jr z, .asm_727c
ld b, $5b
ld c, $30
- ld hl, $cd9d
+ ld hl, wcd9d
inc [hl]
.asm_727c
@@ -1650,18 +1650,18 @@ _TossCoin: ; 71ad (1:71ad)
call FillRectangle
.asm_72b9
- ld hl, $cd9f
+ ld hl, wcd9f
inc [hl]
ld a, [wcd9e]
or a
jr z, .asm_72dc
ld a, [hl]
- ld hl, $cd9c
+ ld hl, wcd9c
cp [hl]
call z, WaitForWideTextBoxInput
call $7324
ld a, [wcd9c]
- ld hl, $cd9d
+ ld hl, wcd9d
or [hl]
jr nz, .asm_72e2
call z, WaitForWideTextBoxInput
@@ -1674,7 +1674,7 @@ _TossCoin: ; 71ad (1:71ad)
.asm_72e2
call Func_3b31
ld a, [wcd9f]
- ld hl, $cd9c
+ ld hl, wcd9c
cp [hl]
jp c, .asm_7204
call Func_0f58
diff --git a/src/engine/bank2.asm b/src/engine/bank2.asm
index 9bac4c3..8159f40 100644
--- a/src/engine/bank2.asm
+++ b/src/engine/bank2.asm
@@ -58,7 +58,7 @@ Func_8d56: ; 8d56 (2:4d56)
INCROM $8d78, $8d9d
Func_8d9d: ; 8d9d (2:4d9d)
- ld de, $cfd1
+ ld de, wcfd1
ld b, $7
.asm_8da2
ld a, [hli]
@@ -129,17 +129,17 @@ Func_8e05: ; 8e05 (2:4e05)
Func_8e1f: ; 8e1f (2:4e1f)
push de
- ld de, $cfb9
+ ld de, wcfb9
call Func_92b4
pop de
- ld hl, $cf17
+ ld hl, wcf17
call Func_8cd4
ld a, $9
- ld hl, $cebb
+ ld hl, wcebb
call Func_9843
ld a, $3c
ld [wcecc], a
- ld hl, $cebb
+ ld hl, wcebb
ld [hl], a
call Func_9e41
ret
@@ -168,24 +168,24 @@ Func_8e42: ; 8e42 (2:4e42)
call GetPointerToDeckCards
ld e, l
ld d, h
- ld hl, $cf17
+ ld hl, wcf17
call Func_8cd4
ld a, $14
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_9843
- ld de, $cfb9
+ ld de, wcfb9
call GetPointerToDeckName
call Func_92b4
call Func_9345
jr nc, .asm_8ec4
call EnableSRAM
- ld hl, $cf17
+ ld hl, wcf17
call Func_910a
call GetPointerToDeckCards
call Func_9152
ld e, l
ld d, h
- ld hl, $cf17
+ ld hl, wcf17
ld b, $3c
.asm_8ea9
ld a, [hli]
@@ -196,7 +196,7 @@ Func_8e42: ; 8e42 (2:4e42)
call GetPointerToDeckName
ld d, h
ld e, l
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_92ad
call GetPointerToDeckName
ld a, [hl]
@@ -215,16 +215,16 @@ Func_8e42: ; 8e42 (2:4e42)
jp Func_8dbc
.asm_8edb
ld a, $14
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_9843
- ld de, $cfb9
+ ld de, wcfb9
call GetPointerToDeckName
call Func_92b4
call Func_8f05
call GetPointerToDeckName
ld d, h
ld e, l
- ld hl, $cfb9
+ ld hl, wcfb9
call Func_92b4
ld a, $ff
call Func_9168
@@ -252,7 +252,7 @@ Func_8f05: ; 8f05 (2:4f05)
.asm_8f23
ld a, $14
ld bc, $0401
- ld de, $cfb9
+ ld de, wcfb9
farcall Func_1ad89
ld a, [wcfb9]
or a
@@ -269,7 +269,7 @@ Func_8f38: ; 8f38 (2:4f38)
ld l, a
ld de, wDefaultText
call Func_0663
- ld hl, $cfb9
+ ld hl, wcfb9
ld [hl], $6
inc hl
ld [hl], $44
@@ -361,7 +361,7 @@ Func_8fe8: ; 8fe8 (2:4fe8)
Func_8ff2: ; 8ff2 (2:4ff2)
ld a, [wceb1]
- ld hl, $ceb2
+ ld hl, wceb2
ld b, $0
ld c, a
add hl, bc
@@ -475,7 +475,7 @@ Func_9065: ; 9065 (2:5065)
jr z, .asm_90ca
call PlaySFX
.asm_90ca
- ld hl, $cea3
+ ld hl, wcea3
ld a, [hl]
inc [hl]
and $f
@@ -582,7 +582,7 @@ Func_9168: ; 9168 (2:5168)
ld hl, Unknown_9242
call Func_2c08
ld a, $4
- ld hl, $ceb2
+ ld hl, wceb2
call Func_9843
ld a, [hffb5]
bit 0, a
@@ -642,7 +642,7 @@ Func_9168: ; 9168 (2:5168)
ld b, $0
ld d, $2
.asm_921f
- ld hl, $ceb2
+ ld hl, wceb2
add hl, bc
ld a, [hl]
or a
@@ -789,15 +789,15 @@ Func_b177: ; b177 (2:7177)
Func_b19d: ; b19d (2:719d)
xor a
- ld [$cea1], a
+ ld [wcea1], a
ld de, CheckForCGB
- ld hl, $d0a2
+ ld hl, wd0a2
ld [hl], e
inc hl
ld [hl], d
call $7379
ld a, $3c
- ld [$d0a5], a
+ ld [wd0a5], a
xor a
.asm_b1b3
ld hl, $76fb
@@ -813,9 +813,9 @@ Func_b19d: ; b19d (2:719d)
cp $ff
ret z
ld b, a
- ld a, [$cea1]
+ ld a, [wcea1]
add b
- ld [$d088], a
+ ld [wd088], a
call Func_905a
call DrawWideTextBox
ld hl, $7274
@@ -825,7 +825,7 @@ Func_b19d: ; b19d (2:719d)
jp nc, $71e7
cp $ff
jr nz, .asm_b1fa
- ld a, [$d086]
+ ld a, [wd086]
jp $71b3
.asm_b1fa
@@ -838,17 +838,17 @@ Func_b19d: ; b19d (2:719d)
call $735b
jr nc, .asm_b216
call $7592
- ld a, [$d086]
+ ld a, [wd086]
jp c, $71b3
jr .asm_b25e
.asm_b216
ld hl, $0272
call YesOrNoMenuWithText
- ld a, [$d086]
+ ld a, [wd086]
jr c, .asm_b1b3
call $7592
- ld a, [$d086]
+ ld a, [wd086]
jp c, $71b3
jr .asm_b25e
@@ -858,14 +858,14 @@ Func_b19d: ; b19d (2:719d)
call $735b
jr c, .asm_b240
call $76ca
- ld a, [$d086]
+ ld a, [wd086]
jp c, $71b3
jr .asm_b25e
.asm_b240
ld hl, WaitForVBlank
call DrawWideTextBox_WaitForInput
- ld a, [$d086]
+ ld a, [wd086]
jp $71b3
.asm_b24c
@@ -874,16 +874,16 @@ Func_b19d: ; b19d (2:719d)
call $735b
jr c, .asm_b240
call $77c6
- ld a, [$d086]
+ ld a, [wd086]
jp nc, $71b3
.asm_b25e
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7379
call $7704
call $7545
- ld a, [$d086]
+ ld a, [wd086]
jp $71b3
.asm_b273
@@ -899,28 +899,28 @@ Func_ba04: ; ba04 (2:7a04)
ld c, a
ld b, $0
add hl, bc
- ld de, $d0a2
+ ld de, wd0a2
ld a, [hli]
ld [de], a
inc de
ld a, [hl]
ld [de], a
xor a
- ld [$cea1], a
+ ld [wcea1], a
call $7b97
ld a, $5
- ld [$d0a5], a
+ ld [wd0a5], a
xor a
ld hl, $7b6e
call InitializeCursorParameters
ldtx hl, PleaseSelectDeckText
call DrawWideTextBox_PrintText
ld a, $5
- ld [$cea9], a
+ ld [wcea9], a
ld hl, $73fe
ld d, h
ld a, l
- ld hl, $cece
+ ld hl, wcece
ld [hli], a
ld [hl], d
.asm_ba40
@@ -935,11 +935,11 @@ Func_ba04: ; ba04 (2:7a04)
ldh a, [hButtonsPressed2]
and START
jr z, .asm_ba40
- ld a, [$cea1]
- ld [$d087], a
+ ld a, [wcea1]
+ ld [wd087], a
ld b, a
ld a, [wCurMenuItem]
- ld [$d086], a
+ ld [wd086], a
add b
ld c, a
inc a
@@ -947,7 +947,7 @@ Func_ba04: ; ba04 (2:7a04)
ld [wceb1], a
sla c
ld b, $0
- ld hl, $d00d
+ ld hl, wd00d
add hl, bc
call $7653
ld a, [hli]
@@ -968,25 +968,25 @@ Func_ba04: ; ba04 (2:7a04)
call $7653
call Func_8e1f
call $7644
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7b97
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
.asm_baa3
call DrawCursor2
- ld a, [$cea1]
- ld [$d087], a
+ ld a, [wcea1]
+ ld [wd087], a
ld a, [wCurMenuItem]
- ld [$d086], a
+ ld [wd086], a
ldh a, [hCurrentMenuItem]
cp $ff
jp z, $7b0d
- ld [$d088], a
+ ld [wd088], a
call Func_905a
xor a
- ld [$ce5e], a
+ ld [wce5e], a
call DrawWideTextBox
ld hl, $7b76
call Func_2c08
@@ -995,7 +995,7 @@ Func_ba04: ; ba04 (2:7a04)
jp nc, $7acc
cp $ff
jr nz, .asm_badf
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
.asm_badf
@@ -1008,38 +1008,38 @@ Func_ba04: ; ba04 (2:7a04)
call $7653
call $77c6
call $7644
- ld a, [$d086]
+ ld a, [wd086]
jp nc, $7a25
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7b97
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
.asm_bb09
cp $1
jr nz, .asm_bb12
xor a
- ld [$d0a4], a
+ ld [wd0a4], a
ret
.asm_bb12
- ld a, [$cea1]
- ld [$d087], a
+ ld a, [wcea1]
+ ld [wd087], a
ld b, a
ld a, [wCurMenuItem]
- ld [$d086], a
+ ld [wd086], a
add b
ld c, a
ld [wceb1], a
sla c
ld b, $0
- ld hl, $d00d
+ ld hl, wd00d
add hl, bc
push hl
- ld hl, $d0aa
+ ld hl, wd0aa
add hl, bc
- ld bc, $cfda
+ ld bc, wcfda
ld a, [hli]
ld [bc], a
inc bc
@@ -1066,10 +1066,10 @@ Func_ba04: ; ba04 (2:7a04)
xor a
call $6dfe
call $7644
- ld a, [$d087]
- ld [$cea1], a
+ ld a, [wd087]
+ ld [wcea1], a
call $7b97
- ld a, [$d086]
+ ld a, [wd086]
jp $7a25
; 0xbb6e
diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm
index c21deca..5a0367c 100644
--- a/src/engine/bank20.asm
+++ b/src/engine/bank20.asm
@@ -15,11 +15,11 @@ Func_80028: ; 80028 (20:4028)
Func_80077: ; 80077 (20:4077)
ld a, $1
- ld [$d292], a
+ ld [wd292], a
jr .asm_80082
xor a
- ld [$d292], a
+ ld [wd292], a
.asm_80082
push hl
@@ -32,22 +32,22 @@ Func_80077: ; 80077 (20:4077)
ld [hl], d
call $43b9
ld a, [wd4c6]
- ld [$d23d], a
- ld de, $d23e
+ ld [wd23d], a
+ ld de, wd23e
ld bc, $0006
call Func_3bf5
ld l, e
ld h, d
ld a, [hli]
- ld [$d12f], a
+ ld [wd12f], a
ld a, [hli]
- ld [$d130], a
+ ld [wd130], a
ld a, [hli]
- ld [$d23a], a
+ ld [wd23a], a
ld a, [hli]
- ld [$d23b], a
+ ld [wd23b], a
ld a, [hli]
- ld [$d23c], a
+ ld [wd23c], a
call $40bd
pop de
pop bc
@@ -188,11 +188,11 @@ asm_8027c
ld b, a
ld a, [wd4c7]
ld c, a
- ld hl, $d4c2
+ ld hl, wd4c2
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, $d4c4
+ ld hl, wd4c4
ld a, [hli]
ld h, [hl]
ld l, a
@@ -251,7 +251,7 @@ Func_80b7a: ; 80b7a (20:4b7a)
Func_80ba4: ; 80ba4 (20:4ba4)
push af
xor a
- ld [$d292], a
+ ld [wd292], a
pop af
push hl
push bc
@@ -259,15 +259,15 @@ Func_80ba4: ; 80ba4 (20:4ba4)
ld c, a
ld a, [wd131]
push af
- ld a, [$d23d]
+ ld a, [wd23d]
push af
- ld a, [$d12f]
+ ld a, [wd12f]
push af
- ld a, [$d130]
+ ld a, [wd130]
push af
- ld a, [$d23a]
+ ld a, [wd23a]
push af
- ld a, [$d23b]
+ ld a, [wd23b]
push af
ld b, $0
ld hl, wd323
@@ -310,15 +310,15 @@ Func_80ba4: ; 80ba4 (20:4ba4)
add hl, bc
farcall $3, $438f
pop af
- ld [$d23b], a
+ ld [wd23b], a
pop af
- ld [$d23a], a
+ ld [wd23a], a
pop af
- ld [$d130], a
+ ld [wd130], a
pop af
- ld [$d12f], a
+ ld [wd12f], a
pop af
- ld [$d23d], a
+ ld [wd23d], a
pop af
ld [wd131], a
pop de
diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm
index b3a055d..6577a69 100644
--- a/src/engine/bank3.asm
+++ b/src/engine/bank3.asm
@@ -55,12 +55,12 @@ LoadMap: ; c000 (3:4000)
call DoFrameIfLCDEnabled
call SetScreenScroll
call Func_c0ce
- ld hl, $d0b4
+ ld hl, wd0b4
ld a, [hl]
and $d0
jr z, .asm_c092
call DoFrameIfLCDEnabled
- ld hl, $d0b4
+ ld hl, wd0b4
ld a, [hl]
bit 4, [hl]
jr z, .asm_c0b6
@@ -120,7 +120,7 @@ Func_c0f1: ; c0f1 (3:40f1)
jr Func_c10a
Func_c10a: ; c10a (3:410a)
- ld hl, $d0c6
+ ld hl, wd0c6
ld a, [hli]
ld h, [hl]
ld l, a
@@ -147,13 +147,13 @@ CloseDialogueBox: ; c111 (3:4111)
Func_c135: ; c135 (3:4135)
push hl
farcall Func_80028
- ld hl, $d0c1
+ ld hl, wd0c1
res 0, [hl]
pop hl
ret
Func_c141: ; c141 (3:4141)
- ld hl, $d0c2
+ ld hl, wd0c2
ld a, [hl]
or a
ret z
@@ -352,7 +352,7 @@ Func_c280: ; c280 (3:4280)
Func_c29b: ; c29b (3:429b)
push hl
- ld hl, $d0c1
+ ld hl, wd0c1
or [hl]
ld [hl], a
pop hl
@@ -403,14 +403,14 @@ Func_c2db: ; c2db (3:42db)
farcall Func_80000
pop af
ld [wd111], a
- ld hl, $d0c1
+ ld hl, wd0c1
res 0, [hl]
call Func_c34e
farcall Func_12c5e
farcall Func_1c6f8
- ld hl, $d0c1
+ ld hl, wd0c1
res 7, [hl]
- ld hl, $d10f
+ ld hl, wd10f
ld a, [hli]
or [hl]
jr z, .asm_c323
@@ -437,9 +437,9 @@ Func_c335: ; c335 (3:4335)
ld [wd10c], a
ld a, [wOBP1]
ld [wd10d], a
- ld hl, $cb30
- ld de, $d0cc
- ld bc, $0040
+ ld hl, wObjectPalettesCGB
+ ld de, wd0cc
+ ld bc, 8 * CGB_PAL_SIZE
call CopyDataHLtoDE_SaveRegisters
ret
@@ -448,9 +448,9 @@ Func_c34e: ; c34e (3:434e)
ld [wOBP0], a
ld a, [wd10d]
ld [wOBP1], a
- ld hl, $d0cc
- ld de, $cb30
- ld bc, $0040
+ ld hl, wd0cc
+ ld de, wObjectPalettesCGB
+ ld bc, 8 * CGB_PAL_SIZE
call CopyDataHLtoDE_SaveRegisters
call SetFlushAllPalettes
ret
@@ -760,7 +760,7 @@ StartScriptedMovement: ; c607 (3:4607)
push bc
ld a, [wd336]
ld [wWhichSprite], a
- ld a, [$d339]
+ ld a, [wd339]
call FindScriptedMovementWithOffset
call AttemptScriptedMovement
pop bc
@@ -840,9 +840,9 @@ Func_c66c: ; c66c (3:466c)
Func_c687: ; c687 (3:4687)
push bc
- ld a, [$d33a]
+ ld a, [wd33a]
ld c, a
- ld a, [$d339]
+ ld a, [wd339]
call Func_c694
pop bc
ret
@@ -887,7 +887,7 @@ Func_c694: ; c694 (3:4694)
Func_c6cc: ; c6cc (3:46cc)
push hl
- ld hl, $d332
+ ld hl, wd332
add [hl]
ld [hl], a
pop hl
@@ -895,7 +895,7 @@ Func_c6cc: ; c6cc (3:46cc)
Func_c6d4: ; c6d4 (3:46d4)
push hl
- ld hl, $d333
+ ld hl, wd333
add [hl]
ld [hl], a
pop hl
@@ -929,11 +929,11 @@ Func_c6f7: ; c6f7 (3:46f7)
Func_c70d: ; c70d (3:470d)
push hl
- ld hl, $d0bb
+ ld hl, wd0bb
ld a, [wCurMap]
cp [hl]
jr z, .asm_c71c
- ld hl, $d0b4
+ ld hl, wd0b4
set 4, [hl]
.asm_c71c
pop hl
@@ -1105,14 +1105,14 @@ Func_c891: ; c891 (3:4891)
ld a, [wd0c1]
bit 0, a
jr z, .asm_c8a1
- ld hl, $d3b9
+ ld hl, wd3b9
ld a, [hli]
or [hl]
call nz, Func_c135
.asm_c8a1
xor a
- ld hl, $d3b9
+ ld hl, wd3b9
ld [hli], a
ld [hl], a
pop hl
@@ -1132,7 +1132,7 @@ Func_c8ba: ; c8ba (3:48ba)
ld a, [wd0c1]
bit 0, a
jr z, .asm_c8d4
- ld hl, $d3b9
+ ld hl, wd3b9
ld a, [hli]
cp e
jr nz, .asm_c8d1
@@ -1144,7 +1144,7 @@ Func_c8ba: ; c8ba (3:48ba)
call Func_c135
.asm_c8d4
- ld hl, $d3b9
+ ld hl, wd3b9
ld [hl], e
inc hl
ld [hl], d
@@ -1173,7 +1173,7 @@ Func_c8ed: ; c8ed (3:c8ed)
jr z, .asm_c90e
push hl
xor a
- ld hl, $d3b9
+ ld hl, wd3b9
ld [hli], a
ld [hl], a
pop hl
@@ -1210,7 +1210,7 @@ Func_c926: ; c926 (3:4926)
Func_c935: ; c935 (3:4935)
push hl
- ld hl, $d0c6
+ ld hl, wd0c6
ld [hl], c
inc hl
ld [hl], b
@@ -1233,7 +1233,7 @@ Func_c943: ; c943 (3:4943)
ld [wd4c5], a
ld a, $4
ld [wd4c6], a
- ld de, $d3ab
+ ld de, wd3ab
ld bc, $0006
call Func_3bf5
ld a, [wd3ab]
@@ -1669,12 +1669,12 @@ GetOWSArgsAfterPointer: ; cca0 (3:4ca0)
Func_ccb3: ; ccb3 (3:4cb3)
ld a, $ff
- ld [$d415], a
+ ld [wd415], a
ret
Func_ccb9: ; ccb9 (3:4cb9)
xor a
- ld [$d415], a
+ ld [wd415], a
ret
OWScript_EndScriptLoop1: ; ccbe (3:4cbe)
@@ -1724,7 +1724,7 @@ OWScript_AskQuestionJump: ; cce9 (3:4ce9)
ld h, b
call Func_c8ed
ld a, [hCurrentMenuItem]
- ld [$d415], a
+ ld [wd415], a
jr c, .asm_ccfe
call GetOWSArgs3AfterPointer
jr z, .asm_ccfe
@@ -1745,7 +1745,7 @@ OWScript_StartBattle: ; cd01 (3:4d01)
ld a, [wcc19]
cp $ff
jr nz, .asm_cd26
- ld a, [$d695]
+ ld a, [wd695]
ld c, a
ld b, $0
ld hl, $4d63
@@ -1759,7 +1759,7 @@ OWScript_StartBattle: ; cd01 (3:4d01)
ld a, [hl]
asm_cd2f
ld [wd0c4], a
- ld [$cc14], a
+ ld [wcc14], a
push af
farcall Func_1c557
ld [wd0c5], a
@@ -1773,11 +1773,11 @@ asm_cd2f
Func_cd4f: ; cd4f (3:4d4f)
call Func_cd66
- ld a, [$d696]
+ ld a, [wd696]
farcall Func_118bf
ld a, $16
ld [wMatchStartTheme], a
- ld a, [$d696]
+ ld a, [wd696]
jr asm_cd2f
Unknown_dd63: ; cd4f (3:4d4f)
@@ -1801,7 +1801,7 @@ Func_cd76: ; cd76 (3:4d76)
jp IncreaseOWScriptPointerBy1
Func_cd83: ; cd83 (3:4d83)
- ld a, [$d415]
+ ld a, [wd415]
or a
jr nz, .asm_cd8c
call GetOWSArgs3AfterPointer
@@ -1826,7 +1826,7 @@ Unknown_cd98:
jp IncreaseOWScriptPointerBy7
Func_cda8: ; cda8 (3:4da8)
- ld a, [$d415]
+ ld a, [wd415]
or a
jr nz, .asm_cdb1
call GetOWSArgs3AfterPointer
@@ -1859,7 +1859,7 @@ Func_cdd8: ; cdd8 (3:4dd8)
push af
ld a, [wd3ab]
push af
- ld a, [$d696]
+ ld a, [wd696]
ld [wd3ab], a
call Func_39c3
call Func_4dd1
@@ -1874,14 +1874,14 @@ Func_cdf5: ; cdf5 (3:4df5)
push af
ld a, [wd3ab]
push af
- ld a, [$d696]
+ ld a, [wd696]
ld [wd3ab], a
ld a, c
- ld [$d3ac], a
+ ld [wd3ac], a
ld a, b
- ld [$d3ad], a
+ ld [wd3ad], a
ld a, $2
- ld [$d3ae], a
+ ld [wd3ae], a
ld a, [wd3ab]
farcall Func_11857
farcall Func_1c485
@@ -1923,7 +1923,7 @@ Func_ce52: ; ce52 (3:4e52)
push af
ld a, [wd3ab]
push af
- ld a, [$d696]
+ ld a, [wd696]
asm_ce5d
ld [wd3ab], a
call Func_39c3
@@ -2008,7 +2008,7 @@ Func_cee2: ; cee2 (3:4ee2)
jr z, .asm_cf09
or a
jr nz, .asm_cef0
- ld a, [$d697]
+ ld a, [wd697]
.asm_cef0
push af
@@ -2070,7 +2070,7 @@ Func_cf3f: ; cf3f (3:4f3f)
ld a, c
or a
jr nz, .asm_cf46
- ld a, [$d697]
+ ld a, [wd697]
.asm_cf46
call AddCardToCollection
@@ -2262,9 +2262,9 @@ Func_d055: ; d055 (3:5055)
OWScript_MovePlayer: ; 505c (3:505c)
ld a, c
- ld [$d339], a
+ ld [wd339], a
ld a, b
- ld [$d33a], a
+ ld [wd33a], a
call StartScriptedMovement
.asm_d067
call DoFrameIfLCDEnabled
@@ -2418,7 +2418,7 @@ Func_d16b: ; d16b (3:516b)
ld hl, wTxRam2
add hl, bc
push hl
- ld a, [$d696]
+ ld a, [wd696]
farcall Func_11893
pop hl
ld a, [wd0c8]
@@ -2470,7 +2470,7 @@ asm_d1c6
ld d, $0
add hl, de
ld a, [hli]
- ld [$d697], a
+ ld [wd697], a
ld a, [hli]
ld [wTxRam2], a
ld a, [hl]
@@ -2521,7 +2521,7 @@ Func_d24c: ; d24c (3:524c)
ld hl, $525e
xor a
call Func_d28c
- ld a, [$d695]
+ ld a, [wd695]
ld c, a
call Func_ca8f
halt
@@ -2539,7 +2539,7 @@ Func_d271: ; d271 (3:5271)
INCROM $d27b, $d28c
Func_d28c: ; d28c (3:528c)
- ld [$d416], a
+ ld [wd416], a
push hl
call Func_c241
call Func_c915
@@ -2566,12 +2566,12 @@ Func_d28c: ; d28c (3:528c)
push hl
ld h, [hl]
ld l, a
- ld a, [$d416]
+ ld a, [wd416]
farcall Func_111e9
pop hl
inc hl
ld a, [hli]
- ld [$d417], a
+ ld [wd417], a
push hl
.asm_d2c1
@@ -2581,7 +2581,7 @@ Func_d28c: ; d28c (3:528c)
ld a, [hCurrentMenuItem]
cp e
jr z, .asm_d2d9
- ld a, [$d417]
+ ld a, [wd417]
or a
jr z, .asm_d2c1
ld e, a
@@ -2618,12 +2618,12 @@ Func_d2f6: ; d2f6 (3:52f6)
ld hl, $530c
xor a
call Func_d28c
- ld a, [$d694]
+ ld a, [wd694]
ld c, a
call Func_ca8f
ld [hl], l
xor a
- ld [$d694], a
+ ld [wd694], a
jp IncreaseOWScriptPointerBy1
; 0xd30c
@@ -2631,9 +2631,9 @@ Func_d2f6: ; d2f6 (3:52f6)
Func_d317: ; d317 (3:5317)
ld hl, $532b
- ld a, [$d694]
+ ld a, [wd694]
call Func_d28c
- ld a, [$d694]
+ ld a, [wd694]
ld c, a
call Func_ca8f
ld [hl], l
@@ -2732,7 +2732,7 @@ Func_d3d1: ; d3d1 (3:53d1)
jp IncreaseOWScriptPointerBy1
Func_d3d4: ; d3d4 (3:53d4)
- ld a, [$d693]
+ ld a, [wd693]
bank1call Func_7576
jp IncreaseOWScriptPointerBy1
@@ -3179,7 +3179,7 @@ Func_f580: ; f580 (3:7580)
.asm_f5ac
ld [wd3ab], a
- ld [$d696], a
+ ld [wd696], a
ret
; 0xf5b3
diff --git a/src/engine/bank4.asm b/src/engine/bank4.asm
index f6452c5..19d5396 100644
--- a/src/engine/bank4.asm
+++ b/src/engine/bank4.asm
@@ -109,7 +109,7 @@ BoosterPack_1031b: ; 1031b (4:431b)
call DisableLCD
call $4000
xor a
- ld [wFrameType], a
+ ld [wTextBoxFrameType], a
pop bc
push bc
ld b, $0
@@ -159,7 +159,7 @@ BoosterPack_1031b: ; 1031b (4:431b)
ld a, $1
ld [wVBlankOAMCopyToggle], a
ld a, $4
- ld [wFrameType], a
+ ld [wTextBoxFrameType], a
farcall $1, $7599
farcall Func_c1a4
call DoFrameIfLCDEnabled
@@ -179,7 +179,7 @@ Duel_Init: ; 103d3 (4:43d3)
call DisableLCD
call $4000
ld a, $4
- ld [wFrameType], a
+ ld [wTextBoxFrameType], a
lb de, 0, 12
lb bc, 20, 6
call DrawRegularTextBox
@@ -484,7 +484,7 @@ LoadOverworldMapSelection: ; 10f61 (4:4f61)
ld [wd0bd], a
ld a, $0
ld [wd0be], a
- ld hl, $d0b4
+ ld hl, wd0b4
set 4, [hl]
pop bc
pop hl
@@ -681,7 +681,7 @@ Func_11102: ; 11102 (4:5102)
ld [wd341], a
ld e, a
ld d, $0
- ld hl, $d343
+ ld hl, wd343
xor a
ld [hli], a
bit 7, [hl]
@@ -704,7 +704,7 @@ Func_11102: ; 11102 (4:5102)
ld [wd345], a
ld a, b
ld [wd346], a
- ld hl, $d344
+ ld hl, wd344
ld a, $1
bit 7, [hl]
jr z, .asm_1113a
@@ -718,7 +718,7 @@ Func_1113e: ; 1113e (4:513e)
ld [wd341], a
ld e, a
ld d, $0
- ld hl, $d345
+ ld hl, wd345
xor a
ld [hli], a
bit 7, [hl]
@@ -740,7 +740,7 @@ Func_1113e: ; 1113e (4:513e)
ld [wd343], a
ld a, b
ld [wd344], a
- ld hl, $d346
+ ld hl, wd346
ld a, $2
bit 7, [hl]
jr z, .asm_11175
@@ -784,7 +784,7 @@ Func_11184: ; 11184 (4:5184)
ld [wd347], a
ld a, e
ld [wd348], a
- ld hl, $d341
+ ld hl, wd341
dec [hl]
ret
; 0x111b3
@@ -859,7 +859,7 @@ Func_11857: ; 11857 (4:5857)
ld a, [hli]
ld [wd3ab], a
ld a, [hli]
- ld [$d3b3], a
+ ld [wd3b3], a
ld a, [hli]
ld [wd3b1], a
ld a, [hli]
@@ -1324,11 +1324,11 @@ Func_12b13: ; 12b13 (4:6b13)
ld [wd4c5], a
adc $0
ld [hl], a
- ld de, $d23e
+ ld de, wd23e
ld bc, $0004
call Func_3bf5
pop hl
- ld de, $d23e
+ ld de, wd23e
ld a, [de]
call Func_12b6a
inc de
@@ -1426,7 +1426,7 @@ Func_12c05: ; 12c05 (4:6c05)
ld d, $0
ld a, [wd618]
ld c, a
- ld hl, $d5d8
+ ld hl, wd5d8
or a
jr z, .asm_12c22
.asm_12c15
diff --git a/src/engine/bank5.asm b/src/engine/bank5.asm
index 840307f..5820a24 100644
--- a/src/engine/bank5.asm
+++ b/src/engine/bank5.asm
@@ -168,7 +168,7 @@ Func_1468b: ; 1468b (5:468b)
call Func_14663
ld a, $f
call Func_14663
- ld a, [$ce20]
+ ld a, [wce20]
and $4
jr z, .asm_14776
ld a, $1
@@ -226,23 +226,23 @@ Func_1468b: ; 1468b (5:468b)
INCROM $14786, $15636
Func_15636: ; 15636 (5:5636)
ld a, $10
- ld hl, $cda5
+ ld hl, wcda5
call ZeroData
ld a, $5
- ld [$cda6], a
+ ld [wcda6], a
ld a, $ff
- ld [$cda5], a
+ ld [wcda5], a
ret
Func_15649: ; 15649 (5:5649)
- ld a, [$cda6]
+ ld a, [wcda6]
inc a
- ld [$cda6], a
+ ld [wcda6], a
xor a
- ld [$ce20], a
- ld [$cddb], a
- ld [$cddc], a
- ld [$ce03], a
+ ld [wce20], a
+ ld [wcddb], a
+ ld [wcddc], a
+ ld [wce03], a
ld a, [wcc10]
cp $ff
jr z, .asm_156b1
@@ -257,11 +257,11 @@ Func_15649: ; 15649 (5:5649)
ld a, e
cp MEWTWO1 ; I believe this is a check for Mewtwo1's Barrier move
jr nz, .asm_156b1
- ld a, [$cda7]
+ ld a, [wcda7]
bit 7, a
jr nz, .asm_156aa
inc a
- ld [$cda7], a
+ ld [wcda7], a
cp $3
jr c, .asm_156c2
ld a, DUELVARS_ARENA_CARD
@@ -277,25 +277,25 @@ Func_15649: ; 15649 (5:5649)
.asm_156a4
xor a
- ld [$cda7], a
+ ld [wcda7], a
jr .asm_156c2
.asm_156aa
ld a, $80
- ld [$cda7], a
+ ld [wcda7], a
jr .asm_156c2
.asm_156b1
- ld a, [$cda7]
+ ld a, [wcda7]
bit 7, a
jr z, .asm_156be
inc a
- ld [$cda7], a
+ ld [wcda7], a
jr .asm_156c2
.asm_156be
xor a
- ld [$cda7], a
+ ld [wcda7], a
.asm_156c2
ret
diff --git a/src/engine/bank6.asm b/src/engine/bank6.asm
index 9174b84..8f58133 100644
--- a/src/engine/bank6.asm
+++ b/src/engine/bank6.asm
@@ -99,7 +99,7 @@ Func_199e0: ; 199e0 (6:59e0)
ret
Func_19a12: ; 19a12 (6:5a12)
- ld hl, $cce9
+ ld hl, wcce9
ld a, [hli]
ld h, [hl]
ld l, a
diff --git a/src/engine/bank7.asm b/src/engine/bank7.asm
index 3ca0d2d..156d421 100644
--- a/src/engine/bank7.asm
+++ b/src/engine/bank7.asm
@@ -149,7 +149,7 @@ Func_1c50a: ; 1c50a (7:450a)
ld [hli], a
ld a, [hl]
farcall $4, $69fd
- ld hl, $d349
+ ld hl, wd349
dec [hl]
.asm_1c52c
@@ -329,7 +329,7 @@ Func_1c78d: ; 1c78d (7:478d)
ret
Func_1c7de: ; 1c7de (7:47de)
- ld a, [$d3b7]
+ ld a, [wc3b7]
and $20
ret
; 0x1c7e4
@@ -344,7 +344,7 @@ Func_1c83d: ; 1c83d (7:483d)
push bc
ld b, a
ld c, $a
- ld hl, $d3bb
+ ld hl, wd3bb
.asm_1c845
ld a, [hl]
or a
@@ -387,7 +387,7 @@ Func_1d078: ; 1d078 (7:5078)
call DoFrameIfLCDEnabled
call UpdateRNGSources
call $5614
- ld hl, $d635
+ ld hl, wd635
inc [hl]
call Func_378a
or a
@@ -395,7 +395,7 @@ Func_1d078: ; 1d078 (7:5078)
farcall Func_10ab4
jr .asm_1d07e
.asm_1d0ae
- ld hl, $d626
+ ld hl, wd626
ld a, [hl]
or a
jr z, .asm_1d0b8
@@ -460,7 +460,7 @@ Func_1d11c: ; 1d11c (7:511c)
jr z, .asm_1d14f
ld a, $1
.asm_1d14f
- ld hl, $d636
+ ld hl, wd636
farcall Func_111e9
farcall $4, $4031
.asm_1d15a
diff --git a/src/engine/bank8.asm b/src/engine/bank8.asm
index a30e33c..ca52ca5 100644
--- a/src/engine/bank8.asm
+++ b/src/engine/bank8.asm
@@ -3,48 +3,48 @@
; 0 - e4 is a big set of data, seems to be one entry for each card
Func_200e5: ; 200e5 (8:40e5)
- ld [$ce18], a
+ ld [wce18], a
call CreateHandCardList
ld hl, wDuelTempList
- ld de, wHandCardBuffer
+ ld de, wTempHandCardList
call CopyBuffer
- ld hl, wHandCardBuffer
+ ld hl, wTempHandCardList
ld a, [hli]
- ld [$ce16], a
+ ld [wce16], a
cp $ff
ret z
push hl
- ld a, [$ce18]
+ ld a, [wce18]
ld d, a
ld hl, $4000
.asm_4106
xor a
- ld [$ce21], a
+ ld [wce21], a
ld a, [hli]
cp $ff
jp z, $41b1
cp d
jp nz, .incHL5
ld a, [hli]
- ld [$ce17], a
- ld a, [$ce16]
+ ld [wce17], a
+ ld a, [wce16]
call LoadCardDataToBuffer1_FromDeckIndex
cp $d2
jr nz, .asm_2012b
ld b, a
- ld a, [$ce20]
+ ld a, [wce20]
and $2
jr nz, .incHL4
ld a, b
.asm_2012b
ld b, a
- ld a, [$ce17]
+ ld a, [wce17]
cp b
jr nz, .incHL4
push hl
push de
- ld a, [$ce16]
+ ld a, [wce16]
ldh [hTempCardIndex_ff9f], a
bank1call CheckCantUseTrainerDueToHeadache
jp c, $41a8
@@ -62,10 +62,10 @@ Func_200e5: ; 200e5 (8:40e5)
jr nc, .incHL4
inc hl
inc hl
- ld [$ce19], a
+ ld [wce19], a
push de
push hl
- ld a, [$ce16]
+ ld a, [wce16]
ldh [hTempCardIndex_ff9f], a
ld a, $6
bank1call $67be
@@ -77,22 +77,22 @@ Func_200e5: ; 200e5 (8:40e5)
pop hl
inc hl
inc hl
- ld a, [$ce20]
+ ld a, [wce20]
ld b, a
- ld a, [$ce21]
+ ld a, [wce21]
or b
- ld [$ce20], a
+ ld [wce20], a
pop hl
and $8
jp z, $40f7
call CreateHandCardList
ld hl, wDuelTempList
- ld de, $cf68
+ ld de, wTempHandCardList
call $697b
- ld hl, $cf68
- ld a, [$ce20]
+ ld hl, wTempHandCardList
+ ld a, [wce20]
and $f7
- ld [$ce20], a
+ ld [wce20], a
jp $40f7
.incHL5
diff --git a/src/engine/home.asm b/src/engine/home.asm
index d502bac..6d596f9 100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -1442,11 +1442,11 @@ UpdateRNGSources: ; 089b (0:089b)
ret
Func_08bf: ; 08bf (0:08bf)
- ld hl, $cad6
+ ld hl, wcad6
ld [hl], e
inc hl
ld [hl], d
- ld hl, $cad8
+ ld hl, wcad8
ld [hl], $1
inc hl
xor a
@@ -1485,7 +1485,7 @@ Func_08de: ; 08de (0:08de)
ret
Func_08ef: ; 08ef (0:08ef)
- ld hl, $cadc
+ ld hl, wcadc
ld a, [hl]
or a
jr z, .asm_902
@@ -1503,7 +1503,7 @@ Func_08ef: ; 08ef (0:08ef)
ld [bc], a
ret
.asm_902
- ld hl, $cad6
+ ld hl, wcad6
ld c, [hl]
inc hl
ld b, [hl]
@@ -1522,11 +1522,11 @@ Func_08ef: ; 08ef (0:08ef)
ld a, [bc]
inc bc
jr nc, .asm_92a
- ld hl, $cad6
+ ld hl, wcad6
ld [hl], c
inc hl
ld [hl], b
- ld hl, $cadd
+ ld hl, wcadd
ld b, [hl]
inc hl
inc hl
@@ -1536,7 +1536,7 @@ Func_08ef: ; 08ef (0:08ef)
ret
.asm_92a
ld [wcade], a
- ld hl, $cada
+ ld hl, wcada
bit 0, [hl]
jr nz, .asm_94a
set 0, [hl]
@@ -1550,7 +1550,7 @@ Func_08ef: ; 08ef (0:08ef)
inc a
ld [hli], a
push hl
- ld hl, $cad6
+ ld hl, wcad6
ld [hl], c
inc hl
ld [hl], b
@@ -1568,7 +1568,7 @@ Func_08ef: ; 08ef (0:08ef)
Func_099c: ; 099c (0:099c)
xor a
ld [wcab5], a
- ld hl, $ca00
+ ld hl, wBufOAM
ld c, $28
xor a
.asm_9a6
@@ -2461,7 +2461,7 @@ DuelTransmissionError: ; 0f35 (0:0f35)
call DrawWideTextBox_WaitForInput
ld a, $ff
ld [wd0c3], a
- ld hl, $cbe5
+ ld hl, wcbe5
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2481,12 +2481,12 @@ Func_0f58: ; 0f58 (0:0f58)
call GetTurnDuelistVariable
or a ; cp DUELIST_TYPE_PLAYER
jr z, .asm_f70
- ld hl, $cbe2
+ ld hl, wcbe2
ld de, wRNG1
jr .asm_f76
.asm_f70
ld hl, wRNG1
- ld de, $cbe2
+ ld de, wcbe2
.asm_f76
ld c, $3
call Func_0e63
@@ -2688,7 +2688,7 @@ CopyDeckData: ; 1072 (0:1072)
jr nz, .card_quantity_loop
jr .next_card
.done
- ld hl, $cce9
+ ld hl, wcce9
ld a, [de]
inc de
ld [hli], a
@@ -3436,7 +3436,131 @@ LoadCardDataToBuffer2_FromDeckIndex: ; 138c (0:138c)
ret
; 0x13a2
- INCROM $13a2, $1461
+Func_13a2: ; 13a2 (0:13a2)
+ ldh a, [hTempCardIndex_ff98]
+ ld d, a
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ ld e, a
+ call Func_13f7
+ ret c
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ ld e, a
+ add DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ ld [wccee], a
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ldh a, [hTempCardIndex_ff98]
+ ld [hl], a
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ldh a, [hTempCardIndex_ff98]
+ call PutHandCardInPlayArea
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ ld a, e
+ add DUELVARS_ARENA_CARD_HP
+ call GetTurnDuelistVariable
+ ld a, [wLoadedCard2HP]
+ ld c, a
+ ld a, [wLoadedCard1HP]
+ sub c
+ add [hl]
+ ld [hl], a
+ ld a, e
+ add $c2
+ ld l, a
+ ld [hl], $00
+ ld a, e
+ add DUELVARS_ARENA_CARD_CHANGED_TYPE
+ ld l, a
+ ld [hl], $00
+ ld a, e
+ or a
+ call z, ResetStatusConditions
+ ldh a, [hTempPlayAreaLocationOffset_ff9d]
+ add DUELVARS_ARENA_CARD_STAGE
+ call GetTurnDuelistVariable
+ ld a, [wLoadedCard1Stage]
+ ld [hl], a
+ or a
+ ret ; !
+ scf
+ ret
+; 0x13f7
+
+Func_13f7: ; 13f7 (0:13f7)
+ push de
+ ld a, e
+ add DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ld a, d
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ld hl, wLoadedCard2Name
+ ld de, wLoadedCard1NonPokemonDescription
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_1427
+ inc de
+ inc hl
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_1427
+ pop de
+ ld a, e
+ add $c2
+ call GetTurnDuelistVariable
+ and $80
+ jr nz, .asm_1425
+ ld a, $01
+ or a
+ scf
+ ret
+.asm_1425
+ or a
+ ret
+.asm_1427
+ pop de
+ xor a
+ scf
+ ret
+; 0x142b
+
+Func_142b: ; 142b (0:142b)
+ ld a, e
+ add $c2
+ call GetTurnDuelistVariable
+ and $80
+ jr nz, .asm_1437
+ jr .asm_145e
+.asm_1437
+ ld a, e
+ add DUELVARS_ARENA_CARD
+ ld l, a
+ ld a, [hl]
+ call LoadCardDataToBuffer2_FromDeckIndex
+ ld a, d
+ call LoadCardDataToBuffer1_FromDeckIndex
+ ld hl, wLoadedCard1NonPokemonDescription
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ call $2ecd
+ ld hl, wLoadedCard2Name
+ ld de, wLoadedCard1NonPokemonDescription
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_145e
+ inc de
+ inc hl
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_145e
+ or a
+ ret
+.asm_145e
+ xor a
+ scf
+ ret
+; 0x1461
; init the status and all substatuses of the turn holder's arena Pokemon.
; called when sending a new Pokemon into the arena.
@@ -3947,7 +4071,7 @@ CopyMoveDataAndDamage_FromDeckIndex: ; 16c0 (0:16c0)
xor a
ld [hl], a
ld [wNoDamageOrEffect], a
- ld hl, wccbf
+ ld hl, wTempDamage_ccbf
ld [hli], a
ld [hl], a
ret
@@ -3971,7 +4095,7 @@ Func_16f6: ; 16f6 (0:16f6)
ld [wccec], a
ld [wcccd], a
ld [wcced], a
- ld [wcce6], a
+ ld [wDamageToSelfMode], a
ld [wccef], a
ld [wccf0], a
ld [wccf1], a
@@ -4034,7 +4158,7 @@ Func_1730: ; 1730 (0:1730)
call TryExecuteEffectCommandFunction
call ApplyDamageModifiers_DamageToTarget
call Func_189d
- ld hl, wccbf
+ ld hl, wTempDamage_ccbf
ld [hl], e
inc hl
ld [hl], d
@@ -4076,7 +4200,7 @@ Func_17fb: ; 17fb (0:17fb)
call TryExecuteEffectCommandFunction
pop af
ld [wTempNonTurnDuelistCardID], a
- call HandleStrikesBack
+ call HandleStrikesBack_AgainstResidualMove
bank1call $6df1
call Func_1bb4
bank1call $7195
@@ -4104,7 +4228,7 @@ Func_1823: ; 1823 (0:1823)
DealConfusionDamageToSelf: ; 1828 (0:1828)
bank1call $4f9d
ld a, $1
- ld [wcce6], a
+ ld [wDamageToSelfMode], a
ldtx hl, DamageToSelfDueToConfusionText
call DrawWideTextBox_PrintText
ld a, $75
@@ -4180,7 +4304,7 @@ Func_189d: ; 189d (0:189d)
push de
call SwapTurn
xor a
- ld [wcceb], a
+ ld [wTempPlayAreaLocationOffset_cceb], a
call HandleTransparency
call SwapTurn
pop de
@@ -4483,7 +4607,7 @@ SubstractHP: ; 1a96 (0:1a96)
sbc d
and $80
jr z, .no_underflow
- ld [hl], $0
+ ld [hl], 0
.no_underflow
ld a, [hl]
or a
@@ -4543,7 +4667,98 @@ PrintKnockedOut: ; 1ad3 (0:1ad3)
ret
; 0x1af3
- INCROM $1af3, $1b8d
+; seems to be a function to deal damage to a card
+Func_1af3: ; 1af3 (0:1af3)
+ ld a, $78
+ ld [wLoadedMoveAnimation], a
+ ld a, b
+ ld [wTempPlayAreaLocationOffset_cceb], a
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .skip_no_damage_or_effect_check
+ ld a, [wNoDamageOrEffect]
+ or a
+ ret nz
+.skip_no_damage_or_effect_check
+ push hl
+ push de
+ push bc
+ xor a
+ ld [wNoDamageOrEffect], a
+ push de
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ add DUELVARS_ARENA_CARD
+ call GetTurnDuelistVariable
+ call GetCardIDFromDeckIndex
+ ld a, e
+ ld [wTempNonTurnDuelistCardID], a
+ pop de
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .next
+ ld a, [wDamageToSelfMode]
+ or a
+ jr z, .turn_swapped
+ ld b, CARD_LOCATION_ARENA
+ call ApplyAttachedPluspower
+ jr .next
+.turn_swapped
+ call SwapTurn
+ ld b, CARD_LOCATION_ARENA
+ call ApplyAttachedPluspower
+ call SwapTurn
+.next
+ ld a, [wLoadedMoveCategory]
+ cp POKEMON_POWER
+ jr z, .skip_defender
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or CARD_LOCATION_PLAY_AREA
+ ld b, a
+ call ApplyAttachedDefender
+.skip_defender
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .in_bench
+ push de
+ call HandleNoDamageOrEffectSubstatus
+ pop de
+ call HandleDamageReduction
+.in_bench
+ bit 7, d
+ jr z, .no_underflow
+ ld de, 0
+.no_underflow
+ call HandleDamageReductionOrNoDamageFromPkmnPowerEffects
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ ld b, a
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .benched
+ ; add damage at de to [wTempDamage_ccbf]
+ ld hl, wTempDamage_ccbf
+ ld a, e
+ add [hl]
+ ld [hli], a
+ ld a, d
+ adc [hl]
+ ld [hl], a
+.benched
+ ld c, $00
+ add DUELVARS_ARENA_CARD_HP
+ call GetTurnDuelistVariable
+ push af
+ bank1call $7469
+ pop af
+ or a
+ jr z, .skip_knocked_out
+ push de
+ call PrintKnockedOutIfHLZero
+ pop de
+.skip_knocked_out
+ call HandleStrikesBack_AgainstDamagingMove
+ pop bc
+ pop de
+ pop hl
+ ret
+; 0x1b8d
Func_1b8d: ; 1b8d (0:1b8d)
bank1call $4f9d
@@ -4591,7 +4806,7 @@ Func_1bca: ; 1bca (0:1bca)
ld [hl], $0
ld hl, $0000
call LoadTxRam2
- ld hl, $ccaa
+ ld hl, wLoadedMoveName
ld de, wTxRam2_b
ld a, [hli]
ld [de], a
@@ -5044,7 +5259,7 @@ DrawLabeledTextBox: ; 1e00 (0:1e00)
ld a, [wConsole]
cp CONSOLE_SGB
jr nz, .draw_top_border
- ld a, [wFrameType]
+ ld a, [wTextBoxFrameType]
or a
jr z, .draw_top_border
; Console is SGB and frame type is != 0.
@@ -5217,7 +5432,7 @@ ContinueDrawingTextBoxCGB:
call CopyLine
pop hl
call BankswitchVRAM1
- ld a, [wFrameType]
+ ld a, [wTextBoxFrameType]
ld e, a
ld d, a
xor a
@@ -5242,7 +5457,7 @@ CopyCurrentLineTilesAndAttrCGB: ; 1efb (0:1efb)
; fallthrough
CopyCurrentLineAttrCGB:
call BankswitchVRAM1
- ld a, [wFrameType] ; on CGB, wFrameType determines the palette and the other attributes
+ ld a, [wTextBoxFrameType] ; on CGB, wTextBoxFrameType determines the palette and the other attributes
ld e, a
ld d, a
call CopyLine
@@ -5255,13 +5470,13 @@ DrawRegularTextBoxSGB: ; 1f0f (0:1f0f)
call DrawRegularTextBoxDMG
pop de
pop bc
- ld a, [wFrameType]
+ ld a, [wTextBoxFrameType]
or a
ret z
ColorizeTextBoxSGB:
push bc
push de
- ld hl, $cae0
+ ld hl, wTempSGBPacket
ld de, AttrBlkPacket_1f4f
ld c, $10
.copy_sgb_command_loop
@@ -5272,7 +5487,7 @@ ColorizeTextBoxSGB:
jr nz, .copy_sgb_command_loop
pop de
pop bc
- ld hl, $cae4
+ ld hl, wTempSGBPacket + 4
ld [hl], d
inc hl
ld [hl], e
@@ -5285,13 +5500,13 @@ ColorizeTextBoxSGB:
add c
dec a
ld [hli], a
- ld a, [wFrameType]
+ ld a, [wTextBoxFrameType]
and $80
jr z, .asm_1f48
ld a, $2
- ld [wcae2], a
+ ld [wTempSGBPacket + 2], a
.asm_1f48
- ld hl, $cae0
+ ld hl, wTempSGBPacket
call SendSGB
ret
@@ -5692,7 +5907,7 @@ Func_22f2: ; 22f2 (0:22f2)
dec de
ld l, e
ld h, d
- ld de, $cd05
+ ld de, wcd05
ld c, 1
call SafeCopyDataDEtoHL
ld hl, hffac
@@ -5722,7 +5937,7 @@ Func_2325: ; 2325 (0:2325)
or a
ret nz
ldh a, [hffa8]
- ld hl, $cd04
+ ld hl, wcd04
cp [hl]
jr nz, .asm_2345
ldh a, [hffa9]
@@ -5972,13 +6187,13 @@ Func_24ca: ; 24ca (0:24ca)
call BankswitchHome
push de
ld a, e
- ld de, $ccf4
+ ld de, wccf4
call Func_24fa
pop de
ld a, d
- ld de, $ccf5
+ ld de, wccf5
call Func_24fa
- ld hl, $ccf4
+ ld hl, wccf4
ld b, $8
.asm_24e8
ld a, [hli]
@@ -5991,7 +6206,7 @@ Func_24ca: ; 24ca (0:24ca)
jr nz, .asm_24e8
call BankpopHome
pop bc
- ld de, $ccf4
+ ld de, wccf4
ret
Func_24fa: ; 24fa (0:24fa)
@@ -6019,7 +6234,7 @@ Func_2510: ; 2510 (0:2510)
call Func_252e
pop bc
Func_2518: ; 2518 (0:2518)
- ld hl, $cd07
+ ld hl, wcd07
ld a, b
xor [hl]
ld h, $0
@@ -6038,7 +6253,7 @@ Func_2518: ; 2518 (0:2518)
Func_252e: ; 252e (0:252e)
ld a, BANK(Fonts); BANK(DuelGraphics); BANK(VWF)
call BankpushHome
- ld de, $ccf4
+ ld de, wccf4
push de
ld c, $8
.asm_2539
@@ -6929,7 +7144,7 @@ Func_2d15: ; 2d15 (0:2d15)
call EnableLCD
jr .asm_2d36
.asm_2d2d
- ld hl, $ce4c
+ ld hl, wce4c
ld a, [hli]
ld h, [hl]
ld l, a
@@ -6992,7 +7207,7 @@ Func_2d43: ; 2d43 (0:2d43)
xor a
ld [wcd0a], a
ld de, wTxRam2
- ld hl, $ce49
+ ld hl, wce49
call Func_2de0
ld a, l
or h
@@ -7007,7 +7222,7 @@ Func_2d43: ; 2d43 (0:2d43)
.tx_ram3
call Func_2ceb
ld de, wTxRam3
- ld hl, $ce4a
+ ld hl, wce4a
call Func_2de0
call Func_2e12
call Func_2cd7
@@ -7358,7 +7573,7 @@ LoadCardGfx: ; 2fa0 (0:2fa0)
set 6, h ; $4000 ≤ de ≤ $7fff
call CopyGfxData
ld b, CGB_PAL_SIZE
- ld de, $ce23
+ ld de, wce23
.copy_card_palette
ld a, [hli]
ld [de], a
@@ -7524,7 +7739,7 @@ Func_3061: ; 3061 (0:3061)
; function that executes one or more consecutive coin tosses during a duel (a = number of coin tosses),
; displaying each result ([O] or [X]) starting from the top left corner of the screen.
; text at de is printed in a text box during the coin toss.
-; returns: the number of heads in a and in $cd9d, and carry if at least one heads
+; returns: the number of heads in a and in wcd9d, and carry if at least one heads
TossCoinATimes: ; 3071 (0:3071)
push hl
ld hl, wCoinTossScreenTextID
@@ -7537,8 +7752,8 @@ TossCoinATimes: ; 3071 (0:3071)
; function that executes a single coin toss during a duel.
; text at de is printed in a text box during the coin toss.
-; returns: - carry, and 1 in a and in $cd9d if heads
-; - nc, and 0 in a and in $cd9d if tails
+; returns: - carry, and 1 in a and in wcd9d if heads
+; - nc, and 0 in a and in wcd9d if tails
TossCoin: ; 307d (0:307d)
push hl
ld hl, wCoinTossScreenTextID
@@ -7547,7 +7762,7 @@ TossCoin: ; 307d (0:307d)
ld [hl], d
ld a, $1
bank1call _TossCoin
- ld hl, $cac2
+ ld hl, wcac2
ld [hl], $0
pop hl
ret
@@ -7654,7 +7869,7 @@ Func_311d: ; 311d (0:311d)
Func_312d: ; 312d (0:312d) ; serial transfer-related
push hl
- ld hl, $ce64
+ ld hl, wce64
ld a, $88
ld [hli], a ; [wce64] ← $88
ld a, $33
@@ -7676,7 +7891,7 @@ Func_312d: ; 312d (0:312d) ; serial transfer-related
ld [hl], e ; [wce6c] ← $45
inc hl
ld [hl], d ; [wce6d] ← $ff
- ld hl, $ce70
+ ld hl, wce70
ld [hl], $64 ; [wce70] ← $64
inc hl
ld [hl], $ce ; [wce71] ← $ce
@@ -7734,21 +7949,21 @@ PointerTable_3190: ; 3190 (0:3190)
Func_31a8: ; 31a8 (0:31a8)
call Func_31fc
Func_31ab: ; 31ab (0:31ab)
- ld hl, $ce63
+ ld hl, wce63
inc [hl]
ret
Func_31b0: ; 31b0 (0:31b0)
call Func_31ab
- ld hl, $ce68
+ ld hl, wce68
ld a, [hli]
or [hl]
jr nz, .asm_31bf
call Func_31ab
jr Func_31dd
.asm_31bf
- ld hl, $ce6a
- ld de, $ce70
+ ld hl, wce6a
+ ld de, wce70
ld a, [hli]
ld [de], a
inc de
@@ -7757,7 +7972,7 @@ Func_31b0: ; 31b0 (0:31b0)
Func_31ca: ; 31ca (0:31ca)
call Func_31fc
- ld hl, $ce68
+ ld hl, wce68
ld a, [hl]
dec [hl]
or a
@@ -7796,7 +8011,7 @@ Func_31f2: ; 31f2 (0:31f2)
ret
Func_31fc: ; 31fc (0:31fc)
- ld hl, $ce70
+ ld hl, wce70
ld e, [hl]
inc hl
ld d, [hl]
@@ -7806,7 +8021,7 @@ Func_31fc: ; 31fc (0:31fc)
dec hl
ld [hl], e
ld e, a
- ld hl, $ce6c
+ ld hl, wce6c
add [hl]
ld [hli], a
ld a, $0
@@ -7982,7 +8197,7 @@ HandleDamageReductionOrNoDamageFromPkmnPowerEffects: ; 32f7 (0:32f7)
ld a, MUK
call CountPokemonIDInBothPlayAreas
ret c
- ld a, [wcceb]
+ ld a, [wTempPlayAreaLocationOffset_cceb]
or a
call nz, HandleDamageReductionExceptSubstatus2.pkmn_power
push de ; push damage from call above, which handles Invisible Wall and Kabuto Armor
@@ -7995,12 +8210,14 @@ HandleDamageReductionOrNoDamageFromPkmnPowerEffects: ; 32f7 (0:32f7)
ret
; 0x3317
-; very similar to HandleStrikesBack
-Func_3317: ; 3317 (0:3317)
+; when Machamp is damaged, if its Strikes Back is active,
+; the attacking Pokemon takes 10 damage.
+; used to bounce back a damaging move.
+HandleStrikesBack_AgainstDamagingMove: ; 3317 (0:3317)
ld a, e
or d
ret z
- ld a, [wcce6]
+ ld a, [wDamageToSelfMode]
or a
ret nz
ld a, [wTempNonTurnDuelistCardID]
@@ -8012,12 +8229,12 @@ Func_3317: ; 3317 (0:3317)
ld a, [wLoadedMoveCategory]
cp POKEMON_POWER
ret z
- ld a, [wcceb]
- or a
- jr nz, .asm_333b
+ ld a, [wTempPlayAreaLocationOffset_cceb]
+ or a ; cp PLAY_AREA_ARENA
+ jr nz, .in_bench
call CheckCannotUseDueToStatus
ret c
-.asm_333b
+.in_bench
push hl
push de
call SwapTurn
@@ -8044,10 +8261,10 @@ Func_3317: ; 3317 (0:3317)
pop hl
pop af
or a
- jr z, .asm_3379
+ jr z, .not_knocked_out
xor a
call PrintPlayAreaCardKnockedOutIfNoHP
-.asm_3379
+.not_knocked_out
call SwapTurn
pop de
pop hl
@@ -8212,7 +8429,7 @@ HandleNoDamageOrEffectSubstatus: ; 3432 (0:3432)
scf
ret
.neutralizing_shield
- ld a, [wcce6]
+ ld a, [wDamageToSelfMode]
or a
ret nz
; prevent damage if attacked by a non-basic Pokemon
@@ -8241,7 +8458,7 @@ HandleTransparency: ; 348a (0:348a)
ld a, [wLoadedMoveCategory]
cp POKEMON_POWER
jr z, .done ; Transparency has no effect against Pkmn Powers
- ld a, [wcceb]
+ ld a, [wTempPlayAreaLocationOffset_cceb]
call CheckCannotUseDueToStatus_OnlyToxicGasIfANon0
jr c, .done
xor a
@@ -8598,8 +8815,9 @@ HandleDestinyBondSubstatus: ; 363b (0:363b)
; 0x367b
; when Machamp is damaged, if its Strikes Back is active,
-; the attacking Pokemon takes 10 damage
-HandleStrikesBack: ; 367b (0:367b)
+; the attacking Pokemon takes 10 damage.
+; used to bounce back a move of the RESIDUAL category
+HandleStrikesBack_AgainstResidualMove: ; 367b (0:367b)
ld a, [wTempNonTurnDuelistCardID]
cp MACHAMP
jr z, .strikes_back
@@ -8608,7 +8826,7 @@ HandleStrikesBack: ; 367b (0:367b)
ld a, [wLoadedMoveCategory]
and RESIDUAL
ret nz
- ld a, [wccbf]
+ ld a, [wTempDamage_ccbf]
or a
ret z
call SwapTurn
@@ -8616,11 +8834,11 @@ HandleStrikesBack: ; 367b (0:367b)
call SwapTurn
ret c
ld hl, 10 ; damage to be dealt to attacker
- call ApplyStrikesBack
+ call ApplyStrikesBack_AgainstResidualMove
call nc, WaitForWideTextBoxInput
ret
-ApplyStrikesBack: ; 36a2 (0:36a2)
+ApplyStrikesBack_AgainstResidualMove: ; 36a2 (0:36a2)
push hl
call LoadTxRam3
ld a, [wTempTurnDuelistCardID]
@@ -9093,7 +9311,7 @@ Func_39ad: ; 39ad (0:39ad)
add l
ld l, a
ld h, $0
- ld bc, $d34a
+ ld bc, wd34a
add hl, bc
pop bc
ret
@@ -9107,7 +9325,7 @@ Func_39c3: ; 39c3 (0:39c3)
ld b, a
ld c, $8
ld de, $000c
- ld hl, $d34a
+ ld hl, wd34a
ld a, [wd3ab]
.asm_39d6
cp [hl]
@@ -9155,7 +9373,7 @@ Func_39fc: ; 39fc (0:39fc)
pop af
jr z, .asm_3a11
ld a, c
- ld hl, $d112
+ ld hl, wd112
cp [hl]
jr z, .asm_3a1c
.asm_3a11
@@ -9388,9 +9606,9 @@ Func_3b52: ; 3b52 (0:3b52)
push hl
push bc
ld a, [wd42a]
- ld hl, $d4c0
+ ld hl, wd4c0
and [hl]
- ld hl, $d423
+ ld hl, wd423
ld c, $7
.asm_3b60
and [hl]
@@ -9415,7 +9633,7 @@ Func_3b6a: ; 3b6a (0:3b6a)
ld a, [wd422]
cp $61
jr nc, .asm_3b90
- ld hl, $d4ad
+ ld hl, wd4ad
ld a, [wd4ac]
cp [hl]
jr nz, .asm_3b90
diff --git a/src/wram.asm b/src/wram.asm
index 4dafdf9..49c6e99 100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -414,13 +414,34 @@ wcad4:: ; cad4
wcad5:: ; cad5
ds $1
- ds $8
+wcad6:: ; cad6
+ ds $2
+
+wcad8:: ; cad8
+ ds $1
+
+wcad9:: ; cad9
+ ds $1
+
+wcada:: ; cada
+ ds $1
+
+wcadb:: ; cadb
+ ds $1
+
+wcadc:: ; cadc
+ ds $1
+
+wcadd:: ; cadd
+ ds $1
wcade:: ; cade
- ds $4
+ ds $1
-wcae2:: ; cae2
- ds $e
+ ds $1
+
+wTempSGBPacket:: ; cae0
+ ds $10
; temporal CGB palette data buffer to eventually save into BGPD or OBPD registers.
wBackgroundPalettesCGB:: ; caf0
@@ -477,7 +498,7 @@ wcba3:: ; cba3
wSerialRecvIndex:: ; cba4
ds $1
-wSerialRecvBuf:: ; cba5 - cbc4
+wSerialRecvBuf:: ; cba5
ds $20
ds $1
@@ -498,6 +519,7 @@ wCardPageNumber:: ; cbc7
ds $1
+; 2-byte something
wcbc9:: ; cbc9
ds $2
@@ -507,6 +529,7 @@ wBenchSelectedPokemon:: ; cbcb
ds $2
+; used in CheckIfEnoughEnergies for the calculation
wAttachedEnergiesAccum:: ; cbce
ds $1
@@ -518,22 +541,36 @@ wSelectedDuelSubMenuItem:: ; cbcf
wSelectedDuelSubMenuScrollOffset:: ; cbd0
ds $1
- ds $14
+ ds $5
-wcbe5:: ; cbe5
+wcbd6:: ; cbd6
ds $1
-wcbe6:: ; cbe6
+ ds $a
+
+wcbe1:: ; cbe1
ds $1
+wcbe2:: ; cbe2
+ ds $3
+
+wcbe5:: ; cbe5
+ ds $2
+
wcbe7:: ; cbe7
- ds $6
+ ds $1
+
+ ds $5
wcbed:: ; cbed
- ds $c
+ ds $8
+
+ ds $4
wcbf9:: ; cbf9
- ds $b
+ ds $1
+
+ ds $a
wcc04:: ; cc04
ds $1
@@ -591,6 +628,7 @@ wcc12:: ; cc12
wIsPracticeDuel:: ; cc13
ds $1
+wcc14:: ; cc14
ds $1
wOpponentPortrait:: ; cc15
@@ -633,15 +671,15 @@ wDamage:: ; ccb9
ds $2
; wccbb and wccbc appear to be used for AI scoring
-wccbb::
+wccbb:: ; ccbb
ds $1
-wccbc::
+wccbc:: ; ccbc
ds $1
ds $2
-wccbf:: ; ccbf
+wTempDamage_ccbf:: ; ccbf
ds $2
wDamageEffectiveness:: ; ccc1
@@ -667,26 +705,40 @@ wSelectedMoveIndex:: ; ccc6
wNoDamageOrEffect:: ; ccc7
ds $2
+; set to 1 if the coin toss in the confusion check is heads (CheckSelfConfusionDamage)
wccc9:: ; ccc9
- ds $4
+ ds $1
+
+ ds $3
wcccd:: ; cccd
ds $1
+; some array used in effect functions with wcccd as the index. unknown length
wccce:: ; ccce
ds $18
-wcce6:: ; cce6
- ds $5
+; this is 1 (non-0) if dealing damage to self due to confusion
+wDamageToSelfMode:: ; cce6
+ ds $1
-wcceb:: ; cceb
+ ds $2
+
+; used in CopyDeckData
+wcce9:: ; cce9
+ ds $2
+
+wTempPlayAreaLocationOffset_cceb:: ; cceb
ds $1
wccec:: ; ccec
ds $1
wcced:: ; cced
- ds $2
+ ds $1
+
+wccee:: ; ccee
+ ds $1
wccef:: ; ccef
ds $1
@@ -705,10 +757,16 @@ SECTION "WRAM Engine 2", WRAM0
; color/pattern of the text box border. Values between 0-7?. Interpreted differently depending on console type
; Note that this doesn't appear to be a selectable option, just changes with the situation.
; For example the value 4 seems to be used a lot during duels.
-wFrameType:: ; ccf3
+wTextBoxFrameType:: ; ccf3
ds $1
- ds $10
+wccf4:: ; ccf4
+ ds $1
+
+wccf5:: ; ccf5
+ ds $1
+
+ ds $e
wcd04:: ; cd04
ds $1
@@ -769,18 +827,23 @@ wcd17:: ; cd17
ds $7f
+; x coord of the leftmost item in a horizontal menu
wLeftmostItemCursorX:: ; cd98
ds $1
+; used in RefreshMenuCursor_CheckPlaySFX to play a sound during any frame when this address is non-0
wRefreshMenuCursorSFX:: ; cd99
ds $1
wcd9a:: ; cd9a
- ds $2
+ ds $1
+
+ ds $1
wcd9c:: ; cd9c
ds $1
+; this stores the result from a coin toss (number of heads)
wcd9d:: ; cd9d
ds $1
@@ -788,7 +851,53 @@ wcd9e:: ; cd9e
ds $1
wcd9f:: ; cd9f
- ds $83
+ ds $1
+
+ ds $5
+
+wcda5:: ; cda5
+ ds $1
+
+wcda6:: ; cda6
+ ds $1
+
+wcda7:: ; cda7
+ ds $1
+
+ ds $33
+
+wcddb:: ; cddb
+ ds $1
+
+wcddc:: ; cddc
+ ds $1
+
+ ds $26
+
+wce03:: ; ce03
+ ds $1
+
+ ds $12
+
+wce16:: ; ce16
+ ds $1
+
+wce17:: ; ce17
+ ds $1
+
+wce18:: ; ce18
+ ds $1
+
+wce19:: ; ce19
+ ds $1
+
+ ds $6
+
+wce20:: ; ce20
+ ds $1
+
+wce21:: ; ce21
+ ds $1
; During a duel, this is always $b after the first attack.
; $b is the bank where the functions associated to card or effect commands are.
@@ -796,7 +905,9 @@ wcd9f:: ; cd9f
wce22:: ; ce22
ds $1
- ds $8
+; LoadCardGfx loads the card's palette here
+wce23:: ; ce23
+ ds CGB_PAL_SIZE
wce2b:: ; ce2b
ds $1
@@ -832,7 +943,10 @@ wce4a:: ; ce4a
ds $1
wce4b:: ; ce4b
- ds $3
+ ds $1
+
+wce4c:: ; ce4c
+ ds $2
wCoinTossScreenTextID:: ; ce4e
ds $2
@@ -841,16 +955,51 @@ wce50:: ; ce50
ds $1
wce51:: ; ce51
- ds $8
+ ds $1
-wce59:: ; ce59
ds $7
+wce59:: ; ce59
+ ds $1
+
+ ds $4
+
+wce5e:: ; ce5e
+ ds $1
+
+ ds $1
+
wce60:: ; ce60
- ds $3
+ ds $1
+
+ ds $2
wce63:: ; ce63
- ds $9
+ ds $1
+
+wce64:: ; ce64
+ ds $1
+
+wce65:: ; ce65
+ ds $1
+
+wce66:: ; ce66
+ ds $1
+
+wce67:: ; ce67
+ ds $1
+
+wce68:: ; ce68
+ ds $1
+
+wce69:: ; ce69
+ ds $1
+
+wce6a:: ; ce6a
+ ds $1
+
+wce6b:: ; ce6b
+ ds $1
wce6c:: ; ce6c
ds $1
@@ -862,16 +1011,36 @@ wce6e:: ; ce6e
ds $1
wce6f:: ; ce6f
- ds $d
+ ds $1
+
+wce70:: ; ce70
+ ds $1
+
+wce71:: ; ce71
+ ds $1
+
+ ds $a
; used in CountPokemonIDInPlayArea
wTempPokemonID_ce7e:: ; ce7c
ds $1
- ds $26
+ ds $24
+
+wcea1:: ; cea1
+ ds $1
+
+ ds $1
wcea3:: ; cea3
- ds $c
+ ds $1
+
+ ds $5
+
+wcea9:: ; cea9
+ ds $1
+
+ ds $5
wceaf:: ; ceaf
ds $1
@@ -892,24 +1061,95 @@ wceb4:: ; ceb4
ds $1
wceb5:: ; ceb5
- ds $17
+ ds $1
+
+ ds $5
+
+wcebb:: ; cebb
+ ds $1
+
+ ds $10
wcecc:: ; cecc
- ds $9c
+ ds $1
-wHandCardBuffer:: ; cf68
- ds $51
+ ds $1
+
+wcece:: ; cece
+ ds $2
+
+ ds $47
+
+; used in bank2, probably related to wTempHandCardList (another temp list?)
+wcf17:: ; cf17
+ ds DECK_SIZE
+
+ ds $15
+
+; used by Func_200e5, AI related
+wTempHandCardList:: ; cf68
+ ds DECK_SIZE
+
+ ds $15
wcfb9:: ; cfb9
- ds $2a
+ ds $1
+
+ ds $17
+
+wcfd1:: ; cfd1
+ ds $1
+
+ ds $8
+
+wcfda:: ; cfda
+ ds $2
+
+ ds $7
wcfe3:: ; cfe3
+ ds $1
+
+ ds $1c
SECTION "WRAM1", WRAMX
- ds $a9
+
+ ds $d
+
+wd00d:: ; d00d
+ ds $1
+
+ ds $78
+
+wd086:: ; d086
+ ds $1
+
+wd087:: ; d087
+ ds $1
+
+wd088:: ; d088
+ ds $1
+
+ ds $19
+
+wd0a2:: ; d0a2
+ ds $2
+
+wd0a4:: ; d0a4
+ ds $1
+
+wd0a5:: ; d0a5
+ ds $1
+
+ ds $3
wd0a9:: ; d0a9
- ds $b
+ ds $1
+
+wd0aa:: ; d0aa
+ ds $1
+
+ ds $9
wd0b4:: ; d0b4
ds $1
@@ -981,7 +1221,10 @@ wd0ca:: ; d0ca
ds $1
wd0cb:: ; d0cb
- ds $41
+ ds $1
+
+wd0cc:: ; d0cc
+ ds 8 * CGB_PAL_SIZE
wd10c:: ; d10c
ds $1
@@ -1017,10 +1260,14 @@ wd116:: ; d116
ds $1
wd117:: ; d117
- ds $4
+ ds $1
+
+ ds $3
wd11b:: ; d11b
- ds $2
+ ds $1
+
+ ds $1
wPCPackSelection:: ; d11d
ds $1
@@ -1034,7 +1281,13 @@ wPCPacks:: ; d11e
wPCLastDirectionPressed:: ; d12d
ds $1
- ds $3
+ ds $1
+
+wd12f:: ; d12f
+ ds $1
+
+wd130:: ; d130
+ ds $1
wd131:: ; d131
ds $1
@@ -1071,7 +1324,26 @@ wd237:: ; d237
ds $1
wd238:: ; d238
- ds $57
+ ds $1
+
+ ds $1
+
+wd23a:: ; d23a
+ ds $1
+
+wd23b:: ; d23b
+ ds $1
+
+wd23c:: ; d23c
+ ds $1
+
+wd23d:: ; d23d
+ ds $1
+
+wd23e:: ; d23e
+ ds $1
+
+ ds $50
wd28f:: ; d28f
ds $1
@@ -1080,13 +1352,20 @@ wd290:: ; d290
ds $1
wd291:: ; d291
- ds $92
+ ds $1
+
+wd292:: ; d292
+ ds $1
+
+ ds $90
wd323:: ; d323
ds $1
wd324:: ; d324
- ds $a
+ ds $1
+
+ ds $9
wd32e:: ; d32e
ds $1
@@ -1119,7 +1398,13 @@ wd337:: ; d337
ds $1
wd338:: ; d338
- ds $3
+ ds $1
+
+wd339:: ; d339
+ ds $1
+
+wd33a:: ; d33a
+ ds $1
wd33b:: ; d33b
ds $1
@@ -1140,7 +1425,9 @@ wd340:: ; d340
ds $1
wd341:: ; d341
- ds $2
+ ds $1
+
+ ds $1
wd343:: ; d343
ds $1
@@ -1158,13 +1445,28 @@ wd347:: ; d347
ds $1
wd348:: ; d348
- ds $62
+ ds $1
+
+wd349:: ; d349
+ ds $1
+
+wd34a:: ; d34a
+ ds $60
wd3aa:: ; d3aa
ds $1
wd3ab:: ; d3ab
- ds $4
+ ds $1
+
+wd3ac:: ; d3ac
+ ds $1
+
+wd3ad:: ; d3ad
+ ds $1
+
+wd3ae:: ; d3ae
+ ds $1
wd3af:: ; d3af
ds $1
@@ -1176,13 +1478,29 @@ wd3b1:: ; d3b1
ds $1
wd3b2:: ; d3b2
- ds $4
+ ds $1
+
+wd3b3:: ; d3b3
+ ds $1
-wd3b6:: ; d3b6
ds $2
+wd3b6:: ; d3b6
+ ds $1
+
+wc3b7:: ; d3b7
+ ds $1
+
wd3b8:: ; d3b8
- ds $18
+ ds $1
+
+wd3b9:: ; d3b9
+ ds $2
+
+wd3bb:: ; d3bb
+ ds $1
+
+ ds $14
wd3d0:: ; d3d0
ds $1
@@ -1203,7 +1521,16 @@ wBreakOWScriptLoop:: ; d412
wOWScriptPointer:: ; d413
ds $2
- ds $8
+wd415:: ; d415
+ ds $1
+
+wd416:: ; d416
+ ds $1
+
+wd417:: ; d417
+ ds $1
+
+ ds $5
wd41d:: ; d41d
ds $1
@@ -1221,16 +1548,33 @@ wd421:: ; d421
ds $1
wd422:: ; d422
- ds $8
+ ds $1
+
+wd423:: ; d423
+ ds $7
wd42a:: ; d42a
- ds $82
+ ds $1
+
+ ds $81
wd4ac:: ; d4ac
- ds $12
+ ds $1
+
+wd4ad:: ; d4ad
+ ds $1
+
+ ds $10
wd4be:: ; d4be
- ds $4
+ ds $1
+
+ ds $1
+
+wd4c0:: ; d4c0
+ ds $1
+
+ ds $1
wd4c2:: ; d4c2
ds $1
@@ -1251,14 +1595,17 @@ wd4c7:: ; d4c7
ds $1
wd4c8:: ; d4c8
- ds $2
+ ds $1
+
+ ds $1
wd4ca:: ; d4ca
ds $1
wd4cb:: ; d4cb
- ds $4
+ ds $1
+ ds $3
; used as an index to manipulate a sprite from wSpriteAnimBuffer
wWhichSprite:: ; d4cf
@@ -1286,22 +1633,35 @@ wSpriteAnimBuffer:: ; d4d0
ds $3
wd5d3:: ; d5d3
- ds $4
+ ds $1
+
+ ds $3
wd5d7:: ; d5d7
- ds $41
+ ds $1
+
+wd5d8:: ; d5d8
+ ds $40
wd618:: ; d618
- ds $3
+ ds $1
+
+ ds $2
wd61b:: ; d61b
- ds $3
+ ds $1
+
+ ds $2
wd61e:: ; d61e
- ds $6
+ ds $1
+
+ ds $5
wd624:: ; d624
- ds $2
+ ds $1
+
+ ds $1
wd626:: ; d626
ds $1
@@ -1310,13 +1670,22 @@ wd627:: ; d627
ds $1
wd628:: ; d628
- ds $b
+ ds $1
+
+ ds $a
wd633:: ; d633
- ds $2
+ ds $1
+
+ ds $1
wd635:: ; d635
- ds $34
+ ds $1
+
+wd636:: ; d635
+ ds $1
+
+ ds $32
wBoosterIndex:: ; d669
ds $1
@@ -1366,7 +1735,24 @@ wBoosterDataEnergyFunctionPointer:: ; d687
wBoosterDataTypeChances:: ; d689
ds NUM_BOOSTER_CARD_TYPES
- ds $6ee
+ ds $1
+
+wd693:: ; d693
+ ds $1
+
+wd694:: ; d694
+ ds $1
+
+wd695:: ; d695
+ ds $1
+
+wd696:: ; d696
+ ds $1
+
+wd697:: ; d697
+ ds $1
+
+ ds $6e8
SECTION "WRAM Music", WRAMX
@@ -1394,7 +1780,9 @@ wMusicDuty1:: ; dd86
ds $1
wMusicDuty2:: ; dd87
- ds $3
+ ds $1
+
+ ds $2
wMusicWave:: ; dd8a
ds $1
@@ -1441,7 +1829,9 @@ wddab:: ; ddab
ds $1
wddac:: ; ddac
- ds $3
+ ds $1
+
+ ds $2
wMusicOctave:: ; ddaf
ds $4