summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/link.h15
-rw-r--r--include/link_rfu.h7
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