diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/audio/music1.asm | 2 | ||||
| -rw-r--r-- | src/audio/music2.asm | 2 | ||||
| -rw-r--r-- | src/engine/bank1.asm | 24 | ||||
| -rw-r--r-- | src/engine/bank2.asm | 134 | ||||
| -rw-r--r-- | src/engine/bank20.asm | 44 | ||||
| -rw-r--r-- | src/engine/bank3.asm | 122 | ||||
| -rw-r--r-- | src/engine/bank4.asm | 26 | ||||
| -rw-r--r-- | src/engine/bank5.asm | 34 | ||||
| -rw-r--r-- | src/engine/bank6.asm | 2 | ||||
| -rw-r--r-- | src/engine/bank7.asm | 12 | ||||
| -rw-r--r-- | src/engine/bank8.asm | 40 | ||||
| -rw-r--r-- | src/engine/home.asm | 378 | ||||
| -rw-r--r-- | src/wram.asm | 534 | 
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 | 
