summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/constants/deck_constants.asm2
-rw-r--r--src/engine/bank01.asm146
2 files changed, 146 insertions, 2 deletions
diff --git a/src/constants/deck_constants.asm b/src/constants/deck_constants.asm
index 4105242..8c8e8c9 100644
--- a/src/constants/deck_constants.asm
+++ b/src/constants/deck_constants.asm
@@ -66,3 +66,5 @@ ENDM
deck_const RESHUFFLE_DECK ; $35
deck_const IMAKUNI_DECK ; $36
DECKS_END EQU const_value + -1
+DECK_IDS_END EQU DECKS_END -2
+
diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm
index 7c383ca..b74340a 100644
--- a/src/engine/bank01.asm
+++ b/src/engine/bank01.asm
@@ -7909,12 +7909,154 @@ _TossCoin: ; 71ad (1:71ad)
ret
; 0x72ff
- INCROM $72ff, $7354
+Func_72ff: ; 72ff (1:72ff)
+ ldh [hff96], a
+ ld a, [wDuelType]
+ cp DUELTYPE_LINK
+ ret nz
+ ldh a, [hff96]
+ call SerialSendByte
+ call Func_7344
+ ret
+; 0x7310
+
+Func_7310: ; 7310 (1:7310)
+ ldh [hff96], a
+ ld a, [wDuelType]
+ cp DUELTYPE_LINK
+ jr z, .asm_7338
+.asm_7319
+ call DoFrame
+ call CheckAnyAnimationPlaying
+ jr c, .asm_7319
+ ldh a, [hff96]
+ ret
+ ldh [hff96], a
+ ld a, [wDuelType]
+ cp DUELTYPE_LINK
+ jr z, .asm_7338
+ ld a, 30
+.asm_732f
+ call DoFrame
+ dec a
+ jr nz, .asm_732f
+ ldh a, [hff96]
+ ret
+.asm_7338
+ call DoFrame
+ call SerialRecvByte
+ jr c, .asm_7338
+ call Func_7344
+ ret
+; 0x7344
+
+Func_7344: ; 7344 (1:7344)
+ push af
+ ld a, [wSerialFlags]
+ or a
+ jr nz, .asm_734d
+ pop af
+ ret
+.asm_734d
+ call Func_3b31
+ call DuelTransmissionError
+ ret
+; 0x7354
BuildVersion: ; 7354 (1:7354)
db "VER 12/20 09:36", TX_END
- INCROM $7364, $7415
+Func_7364: ; 7364 (1:7364)
+ xor a
+ ld [wTileMapFill], a
+ call ZeroObjectPositionsAndToggleOAMCopy
+ call EmptyScreen
+ call LoadSymbolsFont
+ lb de, $38, $9f
+ call SetupText
+ call DrawWideTextBox
+ call EnableLCD
+ xor a
+ ld [wOpponentDeckID], a
+ call Func_73d8
+.asm_7384
+ call DoFrame
+ ldh a, [hDPadHeld]
+ or a
+ jr z, .asm_7384
+ ld b, a
+ and A_BUTTON | START
+ jr nz, .asm_73cd
+ bit B_BUTTON_F, b
+ jr nz, .asm_73cb
+ ld a, [wOpponentDeckID]
+ bit D_RIGHT_F, b
+ jr z, .asm_73a2
+ inc a
+ cp $35
+ jr c, .asm_73a2
+ xor a
+.asm_73a2
+ bit D_LEFT_F, b
+ jr z, .asm_73ae
+ or a
+ jr nz, .asm_73ad
+ ld a, IMAKUNI_DECK_ID
+ jr .asm_73ae
+.asm_73ad
+ dec a
+.asm_73ae
+ bit D_UP_F, b
+ jr z, .asm_73b9
+ add $0a
+ cp $35
+ jr c, .asm_73b9
+ xor a
+.asm_73b9
+ bit D_DOWN_F, b
+ jr z, .asm_73c3
+ sub $0a
+ jr nc, .asm_73c3
+ ld a, IMAKUNI_DECK_ID
+.asm_73c3
+ ld [wOpponentDeckID], a
+ call Func_73d8
+ jr .asm_7384
+.asm_73cb
+ scf
+ ret
+.asm_73cd
+ ld a, [wOpponentDeckID]
+ ld [wcc19], a
+ call Func_3ae8
+ or a
+ ret
+; 0x73d8
+
+Func_73d8: ; 73d8 (1:73d8)
+ ld a, [wOpponentDeckID]
+ ld [wcc19], a
+ call Func_3ae8
+ jr c, .asm_73ec
+ xor a
+ ld [wOpponentPortrait], a
+ ld hl, wOpponentName
+ ld [hli], a
+ ld [hl], a
+.asm_73ec
+ ld hl, $7408
+ call PlaceTextItems
+ call DrawDuelistPortraitsAndNames
+ ld a, [wOpponentDeckID]
+ lb bc, 5, 16
+ call WriteTwoByteNumberInTxSymbolFormat
+ ld a, [wcc18]
+ lb bc, 15, 10
+ call WriteTwoByteNumberInTxSymbolFormat
+ ret
+; 0x7408
+
+ INCROM $7408, $7415
Func_7415: ; 7415 (1:7415)
xor a