summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoranmart <andrewrmartinek@gmail.com>2016-02-09 03:10:12 -0500
committeranmart <andrewrmartinek@gmail.com>2016-02-09 03:10:12 -0500
commit67ef216c62b726bcee05d615cb6b831d62b75038 (patch)
treefb99dbe082ecf1eb6800bbff31a3f685067d8ea1 /src
parent5f0525837668e6388034b90445cce42d2516183b (diff)
Provided labels for various data
Defined two new labels in wram. Defined names for the oddly arbitrary values representing whose turn it is in battle. Renamed labels for some parts of the dueling main loop and loss function.
Diffstat (limited to 'src')
-rw-r--r--src/constants/misc_constants.asm4
-rwxr-xr-xsrc/engine/bank1.asm47
-rwxr-xr-xsrc/engine/bank3.asm4
-rwxr-xr-xsrc/engine/bank4.asm2
-rwxr-xr-xsrc/engine/bank6.asm4
-rwxr-xr-xsrc/engine/home.asm12
-rwxr-xr-xsrc/wram.asm15
7 files changed, 53 insertions, 35 deletions
diff --git a/src/constants/misc_constants.asm b/src/constants/misc_constants.asm
index d985e77..6db4460 100644
--- a/src/constants/misc_constants.asm
+++ b/src/constants/misc_constants.asm
@@ -2,3 +2,7 @@
CONSOLE_DMG EQU $00
CONSOLE_SGB EQU $01
CONSOLE_CGB EQU $02
+
+; dueling constants
+PLAYER_TURN EQU $c2
+OPPONENT_TURN EQU $c3 \ No newline at end of file
diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm
index 4afa5b7..110f13e 100755
--- a/src/engine/bank1.asm
+++ b/src/engine/bank1.asm
@@ -47,7 +47,7 @@ INCBIN "baserom.gbc",$406f,$409f - $406f
; this function begins the duel after the opponent's
; graphics, name and deck have been introduced
StartDuel: ; 409f (1:409f)
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
ld a, $0
ld [$c2f1], a
@@ -74,7 +74,7 @@ StartDuel: ; 409f (1:409f)
ld a, h
ld [$cbe6], a
xor a
- ld [$cbc6], a
+ ld [wBattleMenuSelection], a
call $420b
ld a, [$cc18]
ld [$cc08], a
@@ -87,19 +87,19 @@ StartDuel: ; 409f (1:409f)
; the loop returns here after every turn switch
.mainDuelLoop
xor a
- ld [$cbc6], a
+ ld [wBattleMenuSelection], a
call $35e6
call $54c8
call $4225
call $0f58
- ld a, [$cc07]
+ ld a, [wBattleFinished]
or a
jr nz, .asm_4136
call $35fa
call $6baf
call $3b31
call $0f58
- ld a, [$cc07]
+ ld a, [wBattleFinished]
or a
jr nz, .asm_4136
ld hl, $cc06
@@ -107,6 +107,7 @@ StartDuel: ; 409f (1:409f)
ld a, [$cc09]
cp $80
jr z, .asm_4126
+
.asm_4121
call GetOpposingTurnDuelistVariable_SwapTurn
jr .mainDuelLoop
@@ -132,28 +133,28 @@ StartDuel: ; 409f (1:409f)
call Func_04a2
ldh a, [hWhoseTurn]
push af
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
call $4a97
call $4ad6
pop af
ldh [hWhoseTurn], a
call $3b21
- ld a, [$cc07]
+ ld a, [wBattleFinished]
cp $1
- jr z, .asm_4171
+ jr z, .activeDuelistWonBattle
cp $2
- jr z, .asm_4184
+ jr z, .activeDuelistLostBattle
ld a, $5f
ld c, $1a
ld hl, $0077
jr .asm_4196
-.asm_4171
+.activeDuelistWonBattle
ldh a, [hWhoseTurn]
- cp $c2
- jr nz, .asm_418a
-.asm_4177
+ cp PLAYER_TURN
+ jr nz, .opponentWonBattle
+.playerWonBattle
xor a
ld [$d0c3], a
ld a, $5d
@@ -161,12 +162,12 @@ StartDuel: ; 409f (1:409f)
ld hl, $0078
jr .asm_4196
-.asm_4184
+.activeDuelistLostBattle
ldh a, [hWhoseTurn]
- cp $c2
- jr nz, .asm_4177
+ cp PLAYER_TURN
+ jr nz, .playerWonBattle
-.asm_418a
+.opponentWonBattle
ld a, $1
ld [$d0c3], a
ld a, $5e
@@ -177,7 +178,7 @@ StartDuel: ; 409f (1:409f)
call $3b6a
ld a, c
call PlaySong
- ld a, $c3
+ ld a, OPPONENT_TURN
ldh [hWhoseTurn], a
call DrawWideTextBox_PrintText
call EnableLCD
@@ -186,14 +187,14 @@ StartDuel: ; 409f (1:409f)
call Func_378a
or a
jr nz, .asm_41a7
- ld a, [$cc07]
+ ld a, [wBattleFinished]
cp $3
jr z, .asm_41c8
call Func_39fc
call WaitForWideTextBoxInput
call $3b31
call ResetSerial
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
ret
@@ -210,18 +211,18 @@ StartDuel: ; 409f (1:409f)
ld a, [$cc09]
cp $1
jr z, .asm_41f3
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
call $4b60
jp $40ee
.asm_41f3
call $0f58
- ld h, $c2
+ ld h, PLAYER_TURN
ld a, [wSerialOp]
cp $29
jr z, .asm_4201
- ld h, $c3
+ ld h, OPPONENT_TURN
.asm_4201
ld a, h
diff --git a/src/engine/bank3.asm b/src/engine/bank3.asm
index 5d1e272..00903a3 100755
--- a/src/engine/bank3.asm
+++ b/src/engine/bank3.asm
@@ -26,7 +26,7 @@ LoadMap: ; c000 (3:4000)
call Func_c241
call Func_04a2
call Func_3ca0
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
farcall Func_1c440
ld a, [$d0bb]
@@ -391,7 +391,7 @@ Func_c2db: ; c2db (3:42db)
call Set_OBJ_8x8
call Func_3ca0
farcall Func_12bcd
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
call Func_c241
call Func_04a2
diff --git a/src/engine/bank4.asm b/src/engine/bank4.asm
index 8450697..d6b42ee 100755
--- a/src/engine/bank4.asm
+++ b/src/engine/bank4.asm
@@ -694,7 +694,7 @@ Func_126d1: ; 126d1 (4:66d1)
ld a, $ff
ld [$d627], a
.asm_126e1
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
farcall Func_c1f8
farcall Func_1d078
diff --git a/src/engine/bank6.asm b/src/engine/bank6.asm
index 089bb08..5a3ca42 100755
--- a/src/engine/bank6.asm
+++ b/src/engine/bank6.asm
@@ -6,7 +6,7 @@ INCBIN "baserom.gbc",$18f9c,$1996e - $18f9c
Func_1996e: ; 1996e (6:596e)
call EnableExtRAM
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
ld hl, $a100
ld bc, $1607
@@ -154,7 +154,7 @@ Func_1a61f: ; 1a61f (6:661f)
ld h, [hl]
ld l, a
bank1call $2ebb
- ld a, $c2
+ ld a, PLAYER_TURN
ldh [hWhoseTurn], a
pop hl
bank1call $5e5f
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 7a6d96f..41ac92a 100755
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -2078,7 +2078,7 @@ INCBIN "baserom.gbc",$0ebf,$1072 - $0ebf
CopyDeckData: ; 1072 (0:1072)
ld hl, wPlayerDeck
ldh a, [hWhoseTurn]
- cp $c2
+ cp PLAYER_TURN
jr z, .copyDeckData
ld hl, wOpponentDeck
.copyDeckData
@@ -2257,10 +2257,10 @@ GetTurnDuelistVariable: ; 160b (0:160b)
GetOpposingTurnDuelistVariable: ; 1611 (0:1611)
ld l, a
ldh a, [hWhoseTurn]
- ld h, $c3
- cp $c2
+ ld h, OPPONENT_TURN
+ cp PLAYER_TURN
jr z, .asm_161c
- ld h, $c2
+ ld h, PLAYER_TURN
.asm_161c
ld a, [hl]
ret
@@ -3986,7 +3986,7 @@ Func_2e2c: ; 2e2c (0:2e2c)
ld de, $caa0
push de
ldh a, [hWhoseTurn]
- cp $c3
+ cp OPPONENT_TURN
jp z, .opponentTurn
call PrintPlayerName
pop hl
@@ -4066,7 +4066,7 @@ PrintTextBoxBorderLabel: ; 2e89 (0:2e89)
ret
.special
ldh a, [hWhoseTurn]
- cp $c3
+ cp OPPONENT_TURN
jp z, PrintOpponentName
jp PrintPlayerName
; 0x2ea9
diff --git a/src/wram.asm b/src/wram.asm
index 384767b..cb50d68 100755
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -268,10 +268,23 @@ wSerialRecvIndex:: ; cba4
wSerialRecvBuf:: ; $cba5 - $cbc4
ds $20
- ds $49
+ ds $1
+
+
;--- Duels 2 ----------------------------------------------
+wBattleMenuSelection:: ; $cbc6
+ ds $1
+ ds $40
+
+; 0 = no one has won battle yet
+; 1 = player whose turn it is has won the battle
+; 2 = player whose turn it is has lost the battle
+wBattleFinished:: ; $cc07
+ ds $1
+ ds $6
+
; this seems to hold the current opponent's deck id - 2,
; perhaps to account for the two unused pointers at the
; beginning of DeckPointers