refactor network packets
[carveJwlIkooP6JGAAIwe30JlM.git] / network_msg.h
index 0a0d1f820b0417e9c0dbed5dd29a4b17381a850d..440facd8c13c6198ba7f31ad1fa517ff7f53e7ec 100644 (file)
@@ -1,9 +1,14 @@
+/*
+ * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
+ */
+
 #ifndef NETWORK_MSG_H
 #define NETWORK_MSG_H
 
 #include "vg/vg_stdint.h"
 #include "world_info.h"
 #include "vg/vg_platform.h"
+;
 
 #pragma pack(push,1)
 
@@ -45,13 +50,15 @@ struct netmsg_set_score
    }
    records[];
 };
-enum{ k_inetmsg_set_score = 3 };
+enum{ k_inetmsg_set_score = 6 };
+/* 31.05.23: k_inetmsg_set_score id changed from ID 3 to ID 6,
+ *                               3 is now INVALID */
 
 typedef struct netmsg_set_nickname netmsg_set_nickname;
 struct netmsg_set_nickname
 {
    u32 inetmsg_id;
-   char nickname[10];
+   char nickname[16];
 };
 enum{ k_inetmsg_set_nickname = 4 };
 
@@ -75,5 +82,50 @@ static scoreboard_client_data = {
 }; 
 /* probably about 10k */
 
+/* server control 100 */
+
+
+/* player updates 200 */
+
+typedef struct netmsg_playerframe netmsg_playerframe;
+enum{ k_inetmsg_playerframe = 200 };
+struct netmsg_playerframe{
+   u32 inetmsg_id;
+   f64 timestamp;
+   u8 client, subsystem;
+   u8 animdata[];
+};
+
+typedef struct netmsg_playerjoin netmsg_playerjoin;
+enum{ k_inetmsg_playerjoin = 201 };
+struct netmsg_playerjoin{
+   u32 inetmsg_id;
+   u32 index;
+};
+
+typedef struct netmsg_playerleave netmsg_playerleave;
+enum{ k_inetmsg_playerleave = 202 };
+struct netmsg_playerleave{
+   u32 inetmsg_id;
+   u32 index;
+};
+
+typedef struct netmsg_playerusername netmsg_playerusername;
+enum{ k_inetmsg_playerusername = 203 };
+struct netmsg_playerusername{
+   u32 inetmsg_id;
+   u32 index;
+   char name[];
+};
+
+typedef struct netmsg_playeritem netmsg_playeritem;
+enum{ k_inetmsg_playeritem = 204 };
+struct netmsg_playeritem{
+   u32 inetmsg_id;
+   u32 index;
+   u8 type;
+   char uid[];
+};
+
 #pragma pack(pop)
 #endif /* NETWORK_MSG_H */