diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/link.h | 15 | ||||
-rw-r--r-- | include/link_rfu.h | 7 |
2 files changed, 18 insertions, 4 deletions
diff --git a/include/link.h b/include/link.h index 8ec0431aa..09e2789f5 100644 --- a/include/link.h +++ b/include/link.h @@ -2,6 +2,7 @@ #define GUARD_LINK_H #define MAX_LINK_PLAYERS 4 +#define MAX_RFU_PLAYERS 5 #define CMD_LENGTH 8 #define QUEUE_CAPACITY 50 #define BLOCK_BUFFER_SIZE 0x100 @@ -26,6 +27,18 @@ #define EXTRACT_RECEIVED_NOTHING(status) \ (((status) >> LINK_STAT_RECEIVED_NOTHING_SHIFT) & 1) +struct LinkStatus +{ + u32 localId:2; + u32 playerCount:3; + u32 master:1; + u32 connEstablished:1; + u32 unused_7:1; + u32 receivedNothing:1; + u32 unused_9:7; + u32 errors:7; +}; + #define MASTER_HANDSHAKE 0x8FFF #define SLAVE_HANDSHAKE 0xB9A0 @@ -138,7 +151,7 @@ extern u8 gUnknown_020228C4[BLOCK_BUFFER_SIZE]; // gBlockSendBuffer extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; extern u16 gLinkType; extern u32 gLinkStatus; -extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS + 1][BLOCK_BUFFER_SIZE / 2]; +extern u16 gBlockRecvBuffer[MAX_RFU_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern u16 gSendCmd[CMD_LENGTH]; extern u8 gShouldAdvanceLinkState; extern struct LinkPlayer gLinkPlayers[]; diff --git a/include/link_rfu.h b/include/link_rfu.h index ff71c65aa..71b35b25c 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -9,16 +9,17 @@ u32 sub_800BEC0(void); void sub_800E700(void); void sub_800EDD4(void); +void sub_800F6FC(u8 who); +void sub_800F728(u8 who); bool32 sub_800F7E4(void); void sub_800F804(void); void sub_800F850(void); +u8 sub_800FCD8(void); +bool32 sub_800FE84(const void *src, size_t size); void Rfu_set_zero(void); u8 sub_80104F4(void); u8 rfu_get_multiplayer_id(void); -bool32 sub_800FE84(const void *src, size_t size); bool8 sub_8010100(u8 a0); bool8 sub_8010500(void); -u8 sub_800FCD8(void); -void sub_800F6FC(u8 who); #endif //GUARD_LINK_RFU_H |