summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-12-01 11:24:05 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-12-01 11:24:05 -0500
commit01aada9e93b5e132635feb214baa5d302c4f2154 (patch)
tree8ef21d501bd13b537104a53af8b5a86649f5cb02 /include
parentb9a6cba30a3ee44ccb14548d198accd7f6bbfa8d (diff)
merge mevent server and document mevent_server_helpers
Diffstat (limited to 'include')
-rw-r--r--include/link.h2
-rw-r--r--include/mevent_server.h105
-rw-r--r--include/util.h4
3 files changed, 85 insertions, 26 deletions
diff --git a/include/link.h b/include/link.h
index 39873ec11..ef8776c64 100644
--- a/include/link.h
+++ b/include/link.h
@@ -169,7 +169,7 @@ void sub_8007E24(void);
void sub_8007E4C(void);
u8 GetMultiplayerId(void);
u8 bitmask_all_link_players_but_self(void);
-bool8 SendBlock(u8, void *, u16);
+bool8 SendBlock(u8, const void *, u16);
u8 GetBlockReceivedStatus(void);
void ResetBlockReceivedFlags(void);
void ResetBlockReceivedFlag(u8);
diff --git a/include/mevent_server.h b/include/mevent_server.h
index d2d7b0687..90cb5f35d 100644
--- a/include/mevent_server.h
+++ b/include/mevent_server.h
@@ -7,34 +7,93 @@
struct mevent_srv_sub
{
- s32 unk_00;
- u8 unk_04;
- u8 unk_05;
- u16 unk_06;
- u16 unk_08;
- u16 unk_0A;
- u16 unk_0C;
- u16 unk_0E;
- u16 unk_10;
- u16 unk_12;
- u16 unk_14;
+ s32 seqno;
+ u8 sendPlayerNo;
+ u8 recvPlayerNo;
+ u16 recvIdent;
+ u16 recvCounter;
+ u16 recvCRC;
+ u16 recvSize;
+ u16 sendIdent;
+ u16 sendCounter;
+ u16 sendCRC;
+ u16 sendSize;
+ void * recvBfr;
+ const void * sendBfr;
+ u32 (*recvFunc)(struct mevent_srv_sub *);
+ u32 (*sendFunc)(struct mevent_srv_sub *);
+};
+
+struct send_recv_header
+{
+ u16 ident;
+ u16 crc;
+ u16 size;
+};
+
+struct mevent_cmd_ish
+{
+ u32 instr;
+ u32 parameter;
+};
+
+struct mevent_srv_ish
+{
+ u32 unk_00;
+ u32 unk_04;
+ u32 mainseqno;
+ u32 unk_0C;
+ u32 cmdidx;
+ void * unk_14;
void * unk_18;
- void * unk_1C;
- u32 (*unk_20)(struct mevent_srv_sub *);
- u32 (*unk_24)(struct mevent_srv_sub *);
+ struct mevent_cmd_ish * cmdBuffer;
+ void * unk_20;
+ struct mevent_srv_sub unk_24;
};
-struct send_recv_buff
+struct mevent_cmd
{
- u16 unk0;
- u16 unk2;
- u16 unk4;
+ u32 instr;
+ bool32 flag;
+ void * parameter;
};
-u32 sub_8144844(struct mevent_srv_sub * svr);
-u32 sub_8144850(struct mevent_srv_sub * svr);
-void sub_814485C(struct mevent_srv_sub * svr, u32 a1, u32 a2);
-void sub_8144888(struct mevent_srv_sub * svr, u32 a1, void * a2, u32 size);
-void sub_81448AC(struct mevent_srv_sub * svr, u32 a1, void * a2);
+struct mevent_srv_common
+{
+ u32 unk_00;
+ u32 unk_04;
+ u32 mainseqno;
+ u32 cmdidx;
+ const struct mevent_cmd * cmdBuffer;
+ void * unk_14;
+ struct MEventBuffer_32E0_Sub * unk_18;
+ struct MEventBuffer_3120_Sub * unk_1C;
+ struct MEventStruct_Unk1442CC * unk_20;
+ void * unk_24;
+ u32 unk_28;
+ void * unk_2C;
+ u32 unk_30;
+ void * unk_34;
+ struct mevent_srv_sub unk_38;
+};
+
+u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr);
+u32 mevent_srv_sub_send(struct mevent_srv_sub * svr);
+void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recvPlayerNo);
+void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size);
+void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest);
+
+void sub_8144AEC(void);
+u32 sub_8144B0C(u16 * a0);
+void sub_8144B48(void);
+void * sub_8144B58(void);
+void sub_8144B64(u32 a0);
+void sub_8144F1C(void);
+void sub_8144F40(void);
+u32 sub_8144F64(u16 * a0);
+
+extern const u8 gUnknown_84687E0[];
+extern const u8 gUnknown_8468B6C[];
+extern const u8 gUnknown_8468BCC[];
#endif //GUARD_MEVENT_SERVER_H
diff --git a/include/util.h b/include/util.h
index a22cc77fa..e0034d816 100644
--- a/include/util.h
+++ b/include/util.h
@@ -12,8 +12,8 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
void StoreWordInTwoHalfwords(u16 *, u32);
void LoadWordFromTwoHalfwords(u16 *, u32 *);
int CountTrailingZeroBits(u32 value);
-u16 CalcCRC16(u8 *data, s32 length);
-u16 CalcCRC16WithTable(u8 *data, u32 length);
+u16 CalcCRC16(const u8 *data, s32 length);
+u16 CalcCRC16WithTable(const u8 *data, u32 length);
u32 CalcByteArraySum(const u8* data, u32 length);
#endif // GUARD_UTIL_H