mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
parent
3c3d87e765
commit
4401d24074
@ -2554,20 +2554,20 @@ Link_ResetSerialRegistersAfterLinkClosure:
|
||||
|
||||
Link_EnsureSync:
|
||||
add $d0
|
||||
ld [wPlayerLinkAction], a
|
||||
ld [wUnusedLinkAction], a
|
||||
ld [wLinkPlayerSyncBuffer], a
|
||||
ld [wLinkPlayerSyncBuffer + 1], a
|
||||
ld a, $2
|
||||
ldh [hVBlank], a
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
.receive_loop
|
||||
call Serial_ExchangeLinkMenuSelection
|
||||
ld a, [wOtherPlayerLinkMode]
|
||||
call Serial_ExchangeSyncBytes
|
||||
ld a, [wLinkReceivedSyncBuffer]
|
||||
ld b, a
|
||||
and $f0
|
||||
cp $d0
|
||||
jr z, .done
|
||||
ld a, [wOtherPlayerLinkAction]
|
||||
ld a, [wLinkReceivedSyncBuffer + 1]
|
||||
ld b, a
|
||||
and $f0
|
||||
cp $d0
|
||||
|
@ -252,11 +252,10 @@ SerialDisconnected::
|
||||
ld [wLinkTimeoutFrames + 1], a
|
||||
ret
|
||||
|
||||
; This is used to exchange the button press and selected menu item on the link menu.
|
||||
; The data is sent thrice and read twice to increase reliability.
|
||||
Serial_ExchangeLinkMenuSelection::
|
||||
ld hl, wPlayerLinkAction
|
||||
ld de, wOtherPlayerLinkMode
|
||||
; This is used to check that both players entered the same Cable Club room.
|
||||
Serial_ExchangeSyncBytes::
|
||||
ld hl, wLinkPlayerSyncBuffer
|
||||
ld de, wLinkReceivedSyncBuffer
|
||||
ld c, 2
|
||||
ld a, TRUE
|
||||
ldh [hSerialIgnoringInitialData], a
|
||||
|
5
wram.asm
5
wram.asm
@ -1357,12 +1357,17 @@ wTileAnimBuffer:: ds 1 tiles
|
||||
ENDU
|
||||
|
||||
; link data
|
||||
UNION
|
||||
wOtherPlayerLinkMode:: db
|
||||
wOtherPlayerLinkAction:: db
|
||||
ds 3
|
||||
wPlayerLinkAction:: db
|
||||
wUnusedLinkAction:: db
|
||||
ds 3
|
||||
NEXTU
|
||||
wLinkReceivedSyncBuffer:: ds 5
|
||||
wLinkPlayerSyncBuffer:: ds 5
|
||||
ENDU
|
||||
wLinkTimeoutFrames:: dw
|
||||
wLinkByteTimeout:: dw
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user