+/*
+ * 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)
}
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
};
enum{ k_inetmsg_set_nickname = 4 };
+
+typedef struct netmsg_scoreboard netmsg_scoreboard;
+enum{ k_inetmsg_scoreboard = 5 };
+struct netmsg_scoreboard
+{
+ u32 inetmsg_id;
+
+ u32 board_count;
+ struct netmsg_board
+ {
+ char data[27*13];
+ }
+ boards[ vg_list_size(track_infos) ];
+}
+static scoreboard_client_data = {
+ .inetmsg_id = k_inetmsg_scoreboard,
+ .board_count = vg_list_size(track_infos)
+};
+/* 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 client;
+ u8 type;
+ char uid[];
+};
+
#pragma pack(pop)
#endif /* NETWORK_MSG_H */