diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/constants/deck_constants.asm | 2 | ||||
-rw-r--r-- | src/engine/bank01.asm | 146 |
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 |