summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Höglund <firefly@firefly.nu>2014-07-26 12:02:57 +0200
committerJonas Höglund <firefly@firefly.nu>2014-07-26 12:04:02 +0200
commit7819cfecca89160914984544ec9c20e7247c94e2 (patch)
tree3933e93a0feeb58c7ce0549cf3f8910f0d623087
parent125bc94a0542a6948aef485aa10fd73ff3f95fe6 (diff)
parentba5c5e4e62c68bef335685d15d967ff3044eb82f (diff)
Merge http://github.com/dannye/tcg
Conflicts: wram.asm
-rwxr-xr-xconstants.asm1
-rwxr-xr-xconstants/card_constants.asm2
-rwxr-xr-xconstants/deck_constants.asm6
-rwxr-xr-xconstants/duelist_constants.asm41
-rwxr-xr-xdata/cards.asm2
-rwxr-xr-xdata/decks.asm4
-rwxr-xr-xengine/bank1.asm190
-rwxr-xr-xengine/bank3.asm2
-rwxr-xr-xengine/bank4.asm61
-rwxr-xr-xengine/home.asm109
-rw-r--r--gfx.asm82
-rwxr-xr-xgfx/duelists/aaron.png (renamed from gfx/trainers/aaron.png)bin399 -> 399 bytes
-rwxr-xr-xgfx/duelists/adam.png (renamed from gfx/trainers/adam.png)bin432 -> 432 bytes
-rwxr-xr-xgfx/duelists/amanda.png (renamed from gfx/trainers/amanda.png)bin442 -> 442 bytes
-rwxr-xr-xgfx/duelists/amy.png (renamed from gfx/trainers/amy.png)bin555 -> 555 bytes
-rwxr-xr-xgfx/duelists/andrew.png (renamed from gfx/trainers/andrew.png)bin447 -> 447 bytes
-rwxr-xr-xgfx/duelists/brandon.png (renamed from gfx/trainers/brandon.png)bin451 -> 451 bytes
-rwxr-xr-xgfx/duelists/brittany.png (renamed from gfx/trainers/brittany.png)bin404 -> 404 bytes
-rwxr-xr-xgfx/duelists/chris.png (renamed from gfx/trainers/chris.png)bin466 -> 466 bytes
-rwxr-xr-xgfx/duelists/courtney.png (renamed from gfx/trainers/courtney.png)bin540 -> 540 bytes
-rwxr-xr-xgfx/duelists/daniel.png (renamed from gfx/trainers/daniel.png)bin473 -> 473 bytes
-rwxr-xr-xgfx/duelists/david.png (renamed from gfx/trainers/david.png)bin491 -> 491 bytes
-rwxr-xr-xgfx/duelists/erik.png (renamed from gfx/trainers/erik.png)bin435 -> 435 bytes
-rwxr-xr-xgfx/duelists/gene.png (renamed from gfx/trainers/gene.png)bin562 -> 562 bytes
-rwxr-xr-xgfx/duelists/heather.png (renamed from gfx/trainers/heather.png)bin400 -> 400 bytes
-rwxr-xr-xgfx/duelists/imakuni.png (renamed from gfx/trainers/imakuni.png)bin454 -> 454 bytes
-rwxr-xr-xgfx/duelists/isaac.png (renamed from gfx/trainers/isaac.png)bin521 -> 521 bytes
-rwxr-xr-xgfx/duelists/jack.png (renamed from gfx/trainers/jack.png)bin465 -> 465 bytes
-rwxr-xr-xgfx/duelists/jennifer.png (renamed from gfx/trainers/jennifer.png)bin462 -> 462 bytes
-rwxr-xr-xgfx/duelists/jessica.png (renamed from gfx/trainers/jessica.png)bin524 -> 524 bytes
-rwxr-xr-xgfx/duelists/john.png (renamed from gfx/trainers/john.png)bin391 -> 391 bytes
-rwxr-xr-xgfx/duelists/jonathan.png (renamed from gfx/trainers/jonathan.png)bin440 -> 440 bytes
-rwxr-xr-xgfx/duelists/joseph.png (renamed from gfx/trainers/joseph.png)bin397 -> 397 bytes
-rwxr-xr-xgfx/duelists/joshua.png (renamed from gfx/trainers/joshua.png)bin383 -> 383 bytes
-rwxr-xr-xgfx/duelists/ken.png (renamed from gfx/trainers/ken.png)bin511 -> 511 bytes
-rwxr-xr-xgfx/duelists/kristin.png (renamed from gfx/trainers/kristin.png)bin437 -> 437 bytes
-rwxr-xr-xgfx/duelists/matthew.png (renamed from gfx/trainers/matthew.png)bin480 -> 480 bytes
-rwxr-xr-xgfx/duelists/michael.png (renamed from gfx/trainers/michael.png)bin414 -> 414 bytes
-rwxr-xr-xgfx/duelists/mitch.png (renamed from gfx/trainers/mitch.png)bin510 -> 510 bytes
-rwxr-xr-xgfx/duelists/murray.png (renamed from gfx/trainers/murray.png)bin488 -> 488 bytes
-rwxr-xr-xgfx/duelists/nicholas.png (renamed from gfx/trainers/nicholas.png)bin438 -> 438 bytes
-rwxr-xr-xgfx/duelists/nikki.png (renamed from gfx/trainers/nikki.png)bin551 -> 551 bytes
-rwxr-xr-xgfx/duelists/player.png (renamed from gfx/trainers/player.png)bin444 -> 444 bytes
-rwxr-xr-xgfx/duelists/rick.png (renamed from gfx/trainers/rick.png)bin512 -> 512 bytes
-rwxr-xr-xgfx/duelists/robert.png (renamed from gfx/trainers/robert.png)bin408 -> 408 bytes
-rwxr-xr-xgfx/duelists/rod.png (renamed from gfx/trainers/rod.png)bin586 -> 586 bytes
-rwxr-xr-xgfx/duelists/ronald.png (renamed from gfx/trainers/ronald.png)bin528 -> 528 bytes
-rwxr-xr-xgfx/duelists/ryan.png (renamed from gfx/trainers/ryan.png)bin403 -> 403 bytes
-rwxr-xr-xgfx/duelists/sam.png (renamed from gfx/trainers/sam.png)bin412 -> 412 bytes
-rwxr-xr-xgfx/duelists/sara.png (renamed from gfx/trainers/sara.png)bin428 -> 428 bytes
-rwxr-xr-xgfx/duelists/stephanie.png (renamed from gfx/trainers/stephanie.png)bin412 -> 412 bytes
-rwxr-xr-xgfx/duelists/steve.png (renamed from gfx/trainers/steve.png)bin536 -> 536 bytes
-rwxr-xr-xwram.asm17
53 files changed, 460 insertions, 57 deletions
diff --git a/constants.asm b/constants.asm
index bb678d8..5985ff1 100755
--- a/constants.asm
+++ b/constants.asm
@@ -1,6 +1,7 @@
INCLUDE "constants/map_constants.asm"
INCLUDE "constants/music_constants.asm"
INCLUDE "constants/text_constants.asm"
+INCLUDE "constants/duelist_constants.asm"
INCLUDE "constants/card_constants.asm"
INCLUDE "constants/deck_constants.asm"
INCLUDE "constants/type_constants.asm"
diff --git a/constants/card_constants.asm b/constants/card_constants.asm
index f56b45c..bef5f3f 100755
--- a/constants/card_constants.asm
+++ b/constants/card_constants.asm
@@ -197,7 +197,7 @@ IMPOSTER_PROFESSOR_OAK EQU $C4
BILL EQU $C5
MR_FUJI EQU $C6
LASS EQU $C7
-IMAKUNI EQU $C8
+IMAKUNI_CARD EQU $C8
POKEMON_TRADER EQU $C9
POKEMON_BREEDER EQU $CA
CLEFAIRY_DOLL EQU $CB
diff --git a/constants/deck_constants.asm b/constants/deck_constants.asm
index 01de10d..9f2198b 100755
--- a/constants/deck_constants.asm
+++ b/constants/deck_constants.asm
@@ -1,8 +1,8 @@
UNNAMED_DECK_DECK EQU $00
UNNAMED_DECK_DECK2 EQU $01
-SAMS_PRACTICE_DECK2 EQU $02
+SAMS_PRACTICE_DECK EQU $02
PRACTICE_PLAYER_DECK EQU $03
-SAMS_PRACTICE_DECK EQU $04
+SAMS_NORMAL_DECK EQU $04
CHARMANDER_AND_FRIENDS_DECK EQU $05
CHARMANDER_EXTRA_DECK EQU $06
SQUIRTLE_AND_FRIENDS_DECK EQU $07
@@ -53,3 +53,5 @@ ANGER_DECK EQU $33
FLAMETHROWER_DECK EQU $34
RESHUFFLE_DECK EQU $35
IMAKUNI_DECK EQU $36
+
+NUMBER_OF_DECKS EQU $36
diff --git a/constants/duelist_constants.asm b/constants/duelist_constants.asm
new file mode 100755
index 0000000..2fbb190
--- /dev/null
+++ b/constants/duelist_constants.asm
@@ -0,0 +1,41 @@
+PLAYER EQU $01
+RONALD EQU $02
+SAM EQU $03
+IMAKUNI EQU $04
+NIKKI EQU $05
+RICK EQU $06
+KEN EQU $07
+AMY EQU $08
+ISAAC EQU $09
+MITCH EQU $0A
+GENE EQU $0B
+MURRAY EQU $0C
+COURTNEY EQU $0D
+STEVE EQU $0E
+JACK EQU $0F
+ROD EQU $10
+JOSEPH EQU $11
+DAVID EQU $12
+ERIK EQU $13
+JOHN EQU $14
+ADAM EQU $15
+JONATHAN EQU $16
+JOSHUA EQU $17
+NICHOLAS EQU $18
+BRANDON EQU $19
+MATTHEW EQU $1A
+RYAN EQU $1B
+ANDREW EQU $1C
+CHRIS EQU $1D
+MICHAEL EQU $1E
+DANIEL EQU $1F
+ROBERT EQU $20
+BRITTANY EQU $21
+KRISTIN EQU $22
+HEATHER EQU $23
+SARA EQU $24
+AMANDA EQU $25
+JENNIFER EQU $26
+JESSICA EQU $27
+STEPHANIE EQU $28
+AARON EQU $29
diff --git a/data/cards.asm b/data/cards.asm
index 9653ad7..23450a8 100755
--- a/data/cards.asm
+++ b/data/cards.asm
@@ -10653,7 +10653,7 @@ ImakuniCard: ; 33e4b (c:7e4b)
dw $b72 ; name
db PROMOSTAR ; rarity
db PROMOTIONAL | PRO ; set
- db IMAKUNI
+ db IMAKUNI_CARD
dw $4e7c ; function
dw $b73 ; description
dw 0
diff --git a/data/decks.asm b/data/decks.asm
index 696d75c..cb29df4 100755
--- a/data/decks.asm
+++ b/data/decks.asm
@@ -64,7 +64,7 @@ UnnamedDeck: ; 30070 (c:4070)
db 2, PIDGEOT2
db 2, PIDGEOTTO
db 4, PIDGEY
- db 2, IMAKUNI
+ db 2, IMAKUNI_CARD
db 2, GAMBLER
db 2, PROFESSOR_OAK
db 2, ENERGY_REMOVAL
@@ -1823,7 +1823,7 @@ ImakuniDeck: ; 30c3d (c:4c3d)
db 4, DROWZEE
db 3, HYPNO
db 4, FARFETCHD
- db 4, IMAKUNI
+ db 4, IMAKUNI_CARD
db 2, MAINTENANCE
db 2, POKEMON_FLUTE
db 1, GAMBLER
diff --git a/engine/bank1.asm b/engine/bank1.asm
index a9dd0a5..c29a4c4 100755
--- a/engine/bank1.asm
+++ b/engine/bank1.asm
@@ -44,8 +44,194 @@ INCBIN "baserom.gbc",$405a,$406f - $405a
Func_406f: ; 406f (1:406f)
INCBIN "baserom.gbc",$406f,$409f - $406f
-Func_409f: ; 409f (1:409f)
-INCBIN "baserom.gbc",$409f,$5aeb - $409f
+; this function begins the duel after the opponent's
+; graphics, name and deck have been introduced
+Duel_Start: ; 409f (1:409f)
+ ld a, $c2
+ ld [$ff97], a
+ ld a, $0
+ ld [$c2f1], a
+ ld a, [$cc19]
+ ld [wOpponentDeck], a
+ call $6793
+ call Func_1c72
+ call Duel_LoadDecks
+ call Func_1c72
+ jr .asm_40ca
+
+ ld a, MUSIC_DUELTHEME1
+ ld [wDuelTheme], a
+ ld hl, $cc16
+ xor a
+ ld [hli], a
+ ld [hl], a
+ ld [wIsPracticeDuel], a
+
+.asm_40ca
+ ld hl, [sp+$0]
+ ld a, l
+ ld [$cbe5], a
+ ld a, h
+ ld [$cbe6], a
+ xor a
+ ld [$cbc6], a
+ call $420b
+ ld a, [$cc18]
+ ld [$cc08], a
+ call $70aa
+ ld a, [wDuelTheme]
+ call PlaySong
+ call $4b60
+ ret c
+
+; the loop returns here after every turn switch
+.mainDuelLoop
+ xor a
+ ld [$cbc6], a
+ call $35e6
+ call $54c8
+ call $4225
+ call $0f58
+ ld a, [$cc07]
+ or a
+ jr nz, .asm_4136
+ call $35fa
+ call $6baf
+ call $3b31
+ call $0f58
+ ld a, [$cc07]
+ or a
+ jr nz, .asm_4136
+ ld hl, $cc06
+ inc [hl]
+ ld a, [$cc09]
+ cp $80
+ jr z, .asm_4126
+.asm_4121
+ call Func_1c72
+ jr .mainDuelLoop
+
+.asm_4126
+ ld a, [wIsPracticeDuel]
+ or a
+ jr z, .asm_4121
+ ld a, [hl]
+ cp $f
+ jr c, .asm_4121
+ xor a
+ ld [$d0c3], a
+ ret
+
+.asm_4136
+ call $5990
+ call Func_04a2
+ ld a, $3
+ call $2167
+ ld hl, $0076
+ call Func_2aab
+ call Func_04a2
+ ld a, [$ff97]
+ push af
+ ld a, $c2
+ ld [$ff97], a
+ call $4a97
+ call $4ad6
+ pop af
+ ld [$ff97], a
+ call $3b21
+ ld a, [$cc07]
+ cp $1
+ jr z, .asm_4171
+ cp $2
+ jr z, .asm_4184
+ ld a, $5f
+ ld c, $1a
+ ld hl, $0077
+ jr .asm_4196
+
+.asm_4171
+ ld a, [$ff97]
+ cp $c2
+ jr nz, .asm_418a
+.asm_4177
+ xor a
+ ld [$d0c3], a
+ ld a, $5d
+ ld c, $18
+ ld hl, $0078
+ jr .asm_4196
+
+.asm_4184
+ ld a, [$ff97]
+ cp $c2
+ jr nz, .asm_4177
+
+.asm_418a
+ ld a, $1
+ ld [$d0c3], a
+ ld a, $5e
+ ld c, $19
+ ld hl, $0079
+
+.asm_4196
+ call $3b6a
+ ld a, c
+ call PlaySong
+ ld a, $c3
+ ld [$ff97], a
+ call Func_2a59
+ call EnableLCD
+.asm_41a7
+ call Func_053f
+ call Func_378a
+ or a
+ jr nz, .asm_41a7
+ ld a, [$cc07]
+ cp $3
+ jr z, .asm_41c8
+ call Func_39fc
+ call $2aae
+ call $3b31
+ call ResetSerial
+ ld a, $c2
+ ld [$ff97], a
+ ret
+
+.asm_41c8
+ call $2aae
+ call $3b31
+ ld a, [wDuelTheme]
+ call PlaySong
+ ld hl, $007a
+ call Func_2aab
+ ld a, $1
+ ld [$cc08], a
+ call $70aa
+ ld a, [$cc09]
+ cp $1
+ jr z, .asm_41f3
+ ld a, $c2
+ ld [$ff97], a
+ call $4b60
+ jp $40ee
+
+.asm_41f3
+ call $0f58
+ ld h, $c2
+ ld a, [wSerialOp]
+ cp $29
+ jr z, .asm_4201
+ ld h, $c3
+
+.asm_4201
+ ld a, h
+ ld [$ff97], a
+ call $4b60
+ jp nc, $40ee
+ ret
+; 0x420b
+
+INCBIN "baserom.gbc",$420b,$5aeb - $420b
Func_5aeb: ; 5aeb (1:5aeb)
INCBIN "baserom.gbc",$5aeb,$6785 - $5aeb
diff --git a/engine/bank3.asm b/engine/bank3.asm
index 9170b96..38a56cd 100755
--- a/engine/bank3.asm
+++ b/engine/bank3.asm
@@ -74,7 +74,7 @@ LoadMap: ; c000 (3:4000)
or a
jr z, .asm_c0ca
call Func_c280
- farcall Func_103d3
+ farcall Duel_Init
.asm_c0ca
call Func_c280
ret
diff --git a/engine/bank4.asm b/engine/bank4.asm
index 8b4bd0d..f144aa6 100755
--- a/engine/bank4.asm
+++ b/engine/bank4.asm
@@ -132,8 +132,65 @@ INCBIN "baserom.gbc",$103a5,$103d2 - $103a5
Func_103d2: ; 103d2 (4:43d2)
INCBIN "baserom.gbc",$103d2,$103d3 - $103d2
-Func_103d3: ; 103d3 (4:43d3)
-INCBIN "baserom.gbc",$103d3,$10548 - $103d3
+Duel_Init: ; 103d3 (4:43d3)
+ ld a, [$d291]
+ push af
+ call DisableLCD
+ call $4000
+ ld a, $4
+ ld [$ccf3], a
+ ld de, $000c
+ ld bc, $1406
+ call Func_1e7c ; LoadTextBoxBorder
+ ld a, [$cc19]
+ add a
+ add a
+ ld c, a
+ ld b, $0
+ ld hl, $445b
+ add hl, bc
+ ld a, [hli]
+ ld [$ce3f], a
+ ld a, [hli]
+ ld [$ce40], a
+ push hl
+ ld a, [$cc16]
+ ld [$ce41], a
+ ld a, [$cc17]
+ ld [$ce42], a
+ ld hl, $4451
+ call $51b3 ; LoadDuelistName
+ pop hl
+ ld a, [hli]
+ ld [$ce3f], a
+ ld c, a
+ ld a, [hli]
+ ld [$ce40], a
+ or c
+ jr z, .asm_10425
+ ld hl, $4456
+ call $51b3 ; LoadDeckName
+
+.asm_10425
+ ld bc, $0703
+ ld a, [$cc15]
+ call Func_3e2a ; LoadDuelistPortrait
+ ld a, [wMatchStartTheme]
+ call PlaySong
+ call $4031
+ call Func_3c48
+ ld bc, $2f1d
+ ld de, $1211
+ call Func_2a1a
+ call $2a00 ; wait for the user to press a or b
+ call $3c96
+ call Func_10ab4 ; fade out
+ pop af
+ ld [$d291], a
+ ret
+; 0x10451
+
+INCBIN "baserom.gbc",$10451,$10548 - $10451
Func_10548: ; 10548 (4:4548)
INCBIN "baserom.gbc",$10548,$10756 - $10548
diff --git a/engine/home.asm b/engine/home.asm
index 4ac478b..51a6e1c 100755
--- a/engine/home.asm
+++ b/engine/home.asm
@@ -1873,7 +1873,39 @@ CopyDeckData: ; 1072 (0:1072)
ret
; 0x10aa
-INCBIN "baserom.gbc",$10aa,$1c7d - $10aa
+INCBIN "baserom.gbc",$10aa,$160b - $10aa
+
+Func_160b: ; 160b (0:160b)
+ ld l, a
+ ld a, [$ff97]
+ ld h, a
+ ld a, [hl]
+ ret
+
+Func_1611: ; 1611 (0:1611)
+ ld l, a
+ ld a, [$ff97]
+ ld h, $c3
+ cp $c2
+ jr z, .asm_161c
+ ld h, $c2
+
+.asm_161c
+ ld a, [hl]
+ ret
+; 0x161e
+
+INCBIN "baserom.gbc",$161e,$1c72 - $161e
+
+Func_1c72: ; 1c72 (0:1c72)
+ push af
+ push hl
+ call Func_1611
+ ld a, h
+ ld [$ff97], a
+ pop hl
+ pop af
+ ret
Func_1c7d: ; 1c7d (0:1c7d)
call EnableExtRAM
@@ -3134,7 +3166,57 @@ Func_2b66: ; 2b66 (0:2b66)
ret
; 0x2b70
-INCBIN "baserom.gbc",$2b70,$2c08 - $2b70
+INCBIN "baserom.gbc",$2b70,$2b78 - $2b70
+
+Duel_LoadDecks: ; 2b78 (0:2b78)
+ xor a
+ ld [wIsPracticeDuel], a
+ ld a, [wOpponentDeck]
+ cp SAMS_NORMAL_DECK - 2
+ jr z, .normalSamDuel
+ or a ; cp SAMS_PRACTICE_DECK - 2
+ jr nz, .notPracticeDuel
+
+; only practice duels will display help messages, but
+; any duel with Sam will force the PRACTICE_PLAYER_DECK
+;.practiceSamDuel
+ inc a
+ ld [wIsPracticeDuel], a
+
+.normalSamDuel
+ xor a
+ ld [wOpponentDeck], a
+ call Func_1c72
+ ld a, PRACTICE_PLAYER_DECK
+ call LoadDeck
+ call Func_1c72
+ ld hl, $caca
+ ld a, $57
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ xor a
+
+.notPracticeDuel
+ inc a
+ inc a
+ call LoadDeck
+ ld a, [wOpponentDeck]
+ cp NUMBER_OF_DECKS
+ jr c, .validDeck
+ ld a, PRACTICE_PLAYER_DECK - 2
+ ld [wOpponentDeck], a
+
+.validDeck
+ ld a, $f1
+ call Func_160b
+ ld a, [wOpponentDeck]
+ or $80
+ ld [hl], a
+ ret
+; 0x2bbf
+
+INCBIN "baserom.gbc",$2bbf,$2c08 - $2bbf
Func_2c08: ; 2c08 (0:2c08)
ld d, [hl]
@@ -3998,7 +4080,7 @@ Func_38c0: ; 38c0 (0:38c0)
ld [$ba44], a
call DisableExtRAM
call Func_3a3b
- bank1call Func_409f
+ bank1call Duel_Start
scf
ret
@@ -4539,7 +4621,26 @@ Func_3df3: ; 3df3 (0:3df3)
ret
; 0x3e10
-INCBIN "baserom.gbc",$3e10,$3fe0 - $3e10
+INCBIN "baserom.gbc",$3e10,$3e17 - $3e10
+
+Func_3e17: ; 3e17 (0:3e17)
+ ld [$d131], a
+ ld a, [hBankROM]
+ push af
+ ld a, $4
+ call BankswitchHome
+ call $6fc6
+ pop af
+ call BankswitchHome
+ ret
+
+Func_3e2a: ; 3e2a (0:3e2a)
+ ld [$d61e], a
+ ld a, $63
+ jr Func_3e17
+; 0x3e31
+
+INCBIN "baserom.gbc",$3e31,$3fe0 - $3e31
; jumps to 3f:hl
Bankswitch3dTo3f: ; 3fe0 (0:3fe0)
diff --git a/gfx.asm b/gfx.asm
index fe81a7d..e9ab141 100644
--- a/gfx.asm
+++ b/gfx.asm
@@ -39,7 +39,7 @@ SolidTiles2: ; 87d3c (21:7d3c)
PlayerGfx: ; 87d7e (21:7d7e)
dw $24
- INCBIN "gfx/trainers/player.2bpp"
+ INCBIN "gfx/duelists/player.2bpp"
Unnamed1Gfx: ; 87fc0 (21:7fc0)
dw $2
@@ -197,7 +197,7 @@ Mystery2Gfx: ; 93540 (24:7540)
RonaldGfx: ; 93aa2 (24:7aa2)
dw $24
- INCBIN "gfx/trainers/ronald.2bpp"
+ INCBIN "gfx/duelists/ronald.2bpp"
CopyrightGfx: ; 93ce4 (24:7ce4)
dw $24
@@ -306,115 +306,115 @@ Unnamed7Gfx: ; 9bfee (26:7fee)
SECTION "bank27",ROMX,BANK[$27]
SamGfx: ; 9c000 (27:4000)
dw $24
- INCBIN "gfx/trainers/sam.2bpp"
+ INCBIN "gfx/duelists/sam.2bpp"
ImakuniGfx: ; 9c242 (27:4242)
dw $24
- INCBIN "gfx/trainers/imakuni.2bpp"
+ INCBIN "gfx/duelists/imakuni.2bpp"
NikkiGfx: ; 9c484 (27:4484)
dw $24
- INCBIN "gfx/trainers/nikki.2bpp"
+ INCBIN "gfx/duelists/nikki.2bpp"
RickGfx: ; 9c6c6 (27:46c6)
dw $24
- INCBIN "gfx/trainers/rick.2bpp"
+ INCBIN "gfx/duelists/rick.2bpp"
KenGfx: ; 9c908 (27:4908)
dw $24
- INCBIN "gfx/trainers/ken.2bpp"
+ INCBIN "gfx/duelists/ken.2bpp"
AmyGfx: ; 9cb4a (27:4b4a)
dw $24
- INCBIN "gfx/trainers/amy.2bpp"
+ INCBIN "gfx/duelists/amy.2bpp"
IsaacGfx: ; 9cd8c (27:4d8c)
dw $24
- INCBIN "gfx/trainers/isaac.2bpp"
+ INCBIN "gfx/duelists/isaac.2bpp"
MitchGfx: ; 9cfce (27:4fce)
dw $24
- INCBIN "gfx/trainers/mitch.2bpp"
+ INCBIN "gfx/duelists/mitch.2bpp"
GeneGfx: ; 9d210 (27:5210)
dw $24
- INCBIN "gfx/trainers/gene.2bpp"
+ INCBIN "gfx/duelists/gene.2bpp"
MurrayGfx: ; 9d452 (27:5452)
dw $24
- INCBIN "gfx/trainers/murray.2bpp"
+ INCBIN "gfx/duelists/murray.2bpp"
CourtneyGfx: ; 9d694 (27:5694)
dw $24
- INCBIN "gfx/trainers/courtney.2bpp"
+ INCBIN "gfx/duelists/courtney.2bpp"
SteveGfx: ; 9d8d6 (27:58d6)
dw $24
- INCBIN "gfx/trainers/steve.2bpp"
+ INCBIN "gfx/duelists/steve.2bpp"
JackGfx: ; 9db18 (27:5b18)
dw $24
- INCBIN "gfx/trainers/jack.2bpp"
+ INCBIN "gfx/duelists/jack.2bpp"
RodGfx: ; 9dd5a (27:5d5a)
dw $24
- INCBIN "gfx/trainers/rod.2bpp"
+ INCBIN "gfx/duelists/rod.2bpp"
JosephGfx: ; 9df9c (27:5f9c)
dw $24
- INCBIN "gfx/trainers/joseph.2bpp"
+ INCBIN "gfx/duelists/joseph.2bpp"
DavidGfx: ; 9e1de (27:61de)
dw $24
- INCBIN "gfx/trainers/david.2bpp"
+ INCBIN "gfx/duelists/david.2bpp"
ErikGfx: ; 9e420 (27:6420)
dw $24
- INCBIN "gfx/trainers/erik.2bpp"
+ INCBIN "gfx/duelists/erik.2bpp"
JohnGfx: ; 9e662 (27:6662)
dw $24
- INCBIN "gfx/trainers/john.2bpp"
+ INCBIN "gfx/duelists/john.2bpp"
AdamGfx: ; 9e8a4 (27:68a4)
dw $24
- INCBIN "gfx/trainers/adam.2bpp"
+ INCBIN "gfx/duelists/adam.2bpp"
JonathanGfx: ; 9eae6 (27:6ae6)
dw $24
- INCBIN "gfx/trainers/jonathan.2bpp"
+ INCBIN "gfx/duelists/jonathan.2bpp"
JoshuaGfx: ; 9ed28 (27:6d28)
dw $24
- INCBIN "gfx/trainers/joshua.2bpp"
+ INCBIN "gfx/duelists/joshua.2bpp"
NicholasGfx: ; 9ef6a (27:6f6a)
dw $24
- INCBIN "gfx/trainers/nicholas.2bpp"
+ INCBIN "gfx/duelists/nicholas.2bpp"
BrandonGfx: ; 9f1ac (27:71ac)
dw $24
- INCBIN "gfx/trainers/brandon.2bpp"
+ INCBIN "gfx/duelists/brandon.2bpp"
MatthewGfx: ; 9f3ee (27:73ee)
dw $24
- INCBIN "gfx/trainers/matthew.2bpp"
+ INCBIN "gfx/duelists/matthew.2bpp"
RyanGfx: ; 9f630 (27:7630)
dw $24
- INCBIN "gfx/trainers/ryan.2bpp"
+ INCBIN "gfx/duelists/ryan.2bpp"
AndrewGfx: ; 9f872 (27:7872)
dw $24
- INCBIN "gfx/trainers/andrew.2bpp"
+ INCBIN "gfx/duelists/andrew.2bpp"
ChrisGfx: ; 9fab4 (27:7ab4)
dw $24
- INCBIN "gfx/trainers/chris.2bpp"
+ INCBIN "gfx/duelists/chris.2bpp"
MichaelGfx: ; 9fcf6 (27:7cf6)
dw $24
- INCBIN "gfx/trainers/michael.2bpp"
+ INCBIN "gfx/duelists/michael.2bpp"
Unnamed8Gfx: ; 9ff38 (27:7f38)
dw $a
@@ -431,47 +431,47 @@ endr
SECTION "bank28",ROMX,BANK[$28]
DanielGfx: ; a0000 (28:4000)
dw $24
- INCBIN "gfx/trainers/daniel.2bpp"
+ INCBIN "gfx/duelists/daniel.2bpp"
RobertGfx: ; a0242 (28:4242)
dw $24
- INCBIN "gfx/trainers/robert.2bpp"
+ INCBIN "gfx/duelists/robert.2bpp"
BrittanyGfx: ; a0484 (28:4484)
dw $24
- INCBIN "gfx/trainers/brittany.2bpp"
+ INCBIN "gfx/duelists/brittany.2bpp"
KristinGfx: ; a06c6 (28:46c6)
dw $24
- INCBIN "gfx/trainers/kristin.2bpp"
+ INCBIN "gfx/duelists/kristin.2bpp"
HeatherGfx: ; a0908 (28:4908)
dw $24
- INCBIN "gfx/trainers/heather.2bpp"
+ INCBIN "gfx/duelists/heather.2bpp"
SaraGfx: ; a0b4a (28:4b4a)
dw $24
- INCBIN "gfx/trainers/sara.2bpp"
+ INCBIN "gfx/duelists/sara.2bpp"
AmandaGfx: ; a0d8c (28:4d8c)
dw $24
- INCBIN "gfx/trainers/amanda.2bpp"
+ INCBIN "gfx/duelists/amanda.2bpp"
JenniferGfx: ; a0fce (28:4fce)
dw $24
- INCBIN "gfx/trainers/jennifer.2bpp"
+ INCBIN "gfx/duelists/jennifer.2bpp"
JessicaGfx: ; a1210 (28:5210)
dw $24
- INCBIN "gfx/trainers/jessica.2bpp"
+ INCBIN "gfx/duelists/jessica.2bpp"
StephanieGfx: ; a1452 (28:5452)
dw $24
- INCBIN "gfx/trainers/stephanie.2bpp"
+ INCBIN "gfx/duelists/stephanie.2bpp"
AaronGfx: ; a1694 (28:5694)
dw $24
- INCBIN "gfx/trainers/aaron.2bpp"
+ INCBIN "gfx/duelists/aaron.2bpp"
OWSprite0: ; a18d6 (28:58d6)
dw $14
diff --git a/gfx/trainers/aaron.png b/gfx/duelists/aaron.png
index bbd8bbc..bbd8bbc 100755
--- a/gfx/trainers/aaron.png
+++ b/gfx/duelists/aaron.png
Binary files differ
diff --git a/gfx/trainers/adam.png b/gfx/duelists/adam.png
index 859bc86..859bc86 100755
--- a/gfx/trainers/adam.png
+++ b/gfx/duelists/adam.png
Binary files differ
diff --git a/gfx/trainers/amanda.png b/gfx/duelists/amanda.png
index be16167..be16167 100755
--- a/gfx/trainers/amanda.png
+++ b/gfx/duelists/amanda.png
Binary files differ
diff --git a/gfx/trainers/amy.png b/gfx/duelists/amy.png
index 0ca501d..0ca501d 100755
--- a/gfx/trainers/amy.png
+++ b/gfx/duelists/amy.png
Binary files differ
diff --git a/gfx/trainers/andrew.png b/gfx/duelists/andrew.png
index 45508af..45508af 100755
--- a/gfx/trainers/andrew.png
+++ b/gfx/duelists/andrew.png
Binary files differ
diff --git a/gfx/trainers/brandon.png b/gfx/duelists/brandon.png
index 32b1934..32b1934 100755
--- a/gfx/trainers/brandon.png
+++ b/gfx/duelists/brandon.png
Binary files differ
diff --git a/gfx/trainers/brittany.png b/gfx/duelists/brittany.png
index 4e5e2a0..4e5e2a0 100755
--- a/gfx/trainers/brittany.png
+++ b/gfx/duelists/brittany.png
Binary files differ
diff --git a/gfx/trainers/chris.png b/gfx/duelists/chris.png
index c645e12..c645e12 100755
--- a/gfx/trainers/chris.png
+++ b/gfx/duelists/chris.png
Binary files differ
diff --git a/gfx/trainers/courtney.png b/gfx/duelists/courtney.png
index fff4a8a..fff4a8a 100755
--- a/gfx/trainers/courtney.png
+++ b/gfx/duelists/courtney.png
Binary files differ
diff --git a/gfx/trainers/daniel.png b/gfx/duelists/daniel.png
index f3a36ac..f3a36ac 100755
--- a/gfx/trainers/daniel.png
+++ b/gfx/duelists/daniel.png
Binary files differ
diff --git a/gfx/trainers/david.png b/gfx/duelists/david.png
index f1de43e..f1de43e 100755
--- a/gfx/trainers/david.png
+++ b/gfx/duelists/david.png
Binary files differ
diff --git a/gfx/trainers/erik.png b/gfx/duelists/erik.png
index 287b615..287b615 100755
--- a/gfx/trainers/erik.png
+++ b/gfx/duelists/erik.png
Binary files differ
diff --git a/gfx/trainers/gene.png b/gfx/duelists/gene.png
index ee368c1..ee368c1 100755
--- a/gfx/trainers/gene.png
+++ b/gfx/duelists/gene.png
Binary files differ
diff --git a/gfx/trainers/heather.png b/gfx/duelists/heather.png
index 69baa70..69baa70 100755
--- a/gfx/trainers/heather.png
+++ b/gfx/duelists/heather.png
Binary files differ
diff --git a/gfx/trainers/imakuni.png b/gfx/duelists/imakuni.png
index 1c6e8a7..1c6e8a7 100755
--- a/gfx/trainers/imakuni.png
+++ b/gfx/duelists/imakuni.png
Binary files differ
diff --git a/gfx/trainers/isaac.png b/gfx/duelists/isaac.png
index 2aab212..2aab212 100755
--- a/gfx/trainers/isaac.png
+++ b/gfx/duelists/isaac.png
Binary files differ
diff --git a/gfx/trainers/jack.png b/gfx/duelists/jack.png
index e8c3799..e8c3799 100755
--- a/gfx/trainers/jack.png
+++ b/gfx/duelists/jack.png
Binary files differ
diff --git a/gfx/trainers/jennifer.png b/gfx/duelists/jennifer.png
index c218186..c218186 100755
--- a/gfx/trainers/jennifer.png
+++ b/gfx/duelists/jennifer.png
Binary files differ
diff --git a/gfx/trainers/jessica.png b/gfx/duelists/jessica.png
index 0460d52..0460d52 100755
--- a/gfx/trainers/jessica.png
+++ b/gfx/duelists/jessica.png
Binary files differ
diff --git a/gfx/trainers/john.png b/gfx/duelists/john.png
index 51ea430..51ea430 100755
--- a/gfx/trainers/john.png
+++ b/gfx/duelists/john.png
Binary files differ
diff --git a/gfx/trainers/jonathan.png b/gfx/duelists/jonathan.png
index 40d6593..40d6593 100755
--- a/gfx/trainers/jonathan.png
+++ b/gfx/duelists/jonathan.png
Binary files differ
diff --git a/gfx/trainers/joseph.png b/gfx/duelists/joseph.png
index 6ca588f..6ca588f 100755
--- a/gfx/trainers/joseph.png
+++ b/gfx/duelists/joseph.png
Binary files differ
diff --git a/gfx/trainers/joshua.png b/gfx/duelists/joshua.png
index 5dd8b7f..5dd8b7f 100755
--- a/gfx/trainers/joshua.png
+++ b/gfx/duelists/joshua.png
Binary files differ
diff --git a/gfx/trainers/ken.png b/gfx/duelists/ken.png
index 4da8ca2..4da8ca2 100755
--- a/gfx/trainers/ken.png
+++ b/gfx/duelists/ken.png
Binary files differ
diff --git a/gfx/trainers/kristin.png b/gfx/duelists/kristin.png
index d265ae3..d265ae3 100755
--- a/gfx/trainers/kristin.png
+++ b/gfx/duelists/kristin.png
Binary files differ
diff --git a/gfx/trainers/matthew.png b/gfx/duelists/matthew.png
index bd828e6..bd828e6 100755
--- a/gfx/trainers/matthew.png
+++ b/gfx/duelists/matthew.png
Binary files differ
diff --git a/gfx/trainers/michael.png b/gfx/duelists/michael.png
index 454cdc3..454cdc3 100755
--- a/gfx/trainers/michael.png
+++ b/gfx/duelists/michael.png
Binary files differ
diff --git a/gfx/trainers/mitch.png b/gfx/duelists/mitch.png
index 38c58fe..38c58fe 100755
--- a/gfx/trainers/mitch.png
+++ b/gfx/duelists/mitch.png
Binary files differ
diff --git a/gfx/trainers/murray.png b/gfx/duelists/murray.png
index 32bd818..32bd818 100755
--- a/gfx/trainers/murray.png
+++ b/gfx/duelists/murray.png
Binary files differ
diff --git a/gfx/trainers/nicholas.png b/gfx/duelists/nicholas.png
index 81f5b53..81f5b53 100755
--- a/gfx/trainers/nicholas.png
+++ b/gfx/duelists/nicholas.png
Binary files differ
diff --git a/gfx/trainers/nikki.png b/gfx/duelists/nikki.png
index 2c4e205..2c4e205 100755
--- a/gfx/trainers/nikki.png
+++ b/gfx/duelists/nikki.png
Binary files differ
diff --git a/gfx/trainers/player.png b/gfx/duelists/player.png
index 8b81fbe..8b81fbe 100755
--- a/gfx/trainers/player.png
+++ b/gfx/duelists/player.png
Binary files differ
diff --git a/gfx/trainers/rick.png b/gfx/duelists/rick.png
index 7dcbdc0..7dcbdc0 100755
--- a/gfx/trainers/rick.png
+++ b/gfx/duelists/rick.png
Binary files differ
diff --git a/gfx/trainers/robert.png b/gfx/duelists/robert.png
index 2172ae6..2172ae6 100755
--- a/gfx/trainers/robert.png
+++ b/gfx/duelists/robert.png
Binary files differ
diff --git a/gfx/trainers/rod.png b/gfx/duelists/rod.png
index 4c57dd7..4c57dd7 100755
--- a/gfx/trainers/rod.png
+++ b/gfx/duelists/rod.png
Binary files differ
diff --git a/gfx/trainers/ronald.png b/gfx/duelists/ronald.png
index 26a1245..26a1245 100755
--- a/gfx/trainers/ronald.png
+++ b/gfx/duelists/ronald.png
Binary files differ
diff --git a/gfx/trainers/ryan.png b/gfx/duelists/ryan.png
index ab0f84c..ab0f84c 100755
--- a/gfx/trainers/ryan.png
+++ b/gfx/duelists/ryan.png
Binary files differ
diff --git a/gfx/trainers/sam.png b/gfx/duelists/sam.png
index 7a52ac3..7a52ac3 100755
--- a/gfx/trainers/sam.png
+++ b/gfx/duelists/sam.png
Binary files differ
diff --git a/gfx/trainers/sara.png b/gfx/duelists/sara.png
index f6319bb..f6319bb 100755
--- a/gfx/trainers/sara.png
+++ b/gfx/duelists/sara.png
Binary files differ
diff --git a/gfx/trainers/stephanie.png b/gfx/duelists/stephanie.png
index a0a3ff8..a0a3ff8 100755
--- a/gfx/trainers/stephanie.png
+++ b/gfx/duelists/stephanie.png
Binary files differ
diff --git a/gfx/trainers/steve.png b/gfx/duelists/steve.png
index 216cee0..216cee0 100755
--- a/gfx/trainers/steve.png
+++ b/gfx/duelists/steve.png
Binary files differ
diff --git a/wram.asm b/wram.asm
index 37088ef..79ae8e8 100755
--- a/wram.asm
+++ b/wram.asm
@@ -114,11 +114,26 @@ wSerialRecvIndex: ; cba4
wSerialRecvBuf: ; $cba5 - $cbc4
ds $20
+ ds $49
+; this seems to hold the current opponent's deck id - 2,
+; perhaps to account for the two unused pointers at the
+; beginning of DeckPointers
+wOpponentDeck: ; cc0e
+ ds $5
+
+wIsPracticeDuel: ; cc13
+ ds $7
+
+wDuelTheme: ; cc1a
+ ds $1
;--- Bank 1: $Dxxx ----------------------------------------
SECTION "WRAM1", WRAMX, BANK[1]
- ds $32f
+ ds $113
+
+wMatchStartTheme: ; d113
+ ds $21c
wCurMap: ; d32f
ds $1