now fall in immobile mode
[carveJwlIkooP6JGAAIwe30JlM.git] / network_msg.h
index 6c072f14fc44196f9ce7f6af2912a0a2431cd908..1df9434a8ca1cb03d91ef7a586192cfbb73fddea 100644 (file)
@@ -1,7 +1,13 @@
+/*
+ * 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)
 
@@ -12,43 +18,68 @@ struct netmsg_blank
 };
 enum{ k_inetmsg_blank = 0 };
 
+typedef struct netmsg_auth netmsg_auth;
+struct netmsg_auth
+{
+   u32 inetmsg_id;
+
+   u32 ticket_length;
+   u8 ticket[];
+};
+enum{ k_inetmsg_auth = 1 };
+
 typedef struct netmsg_scores_request netmsg_scores_request;
 struct netmsg_scores_request
 {
    u32 inetmsg_id;
 };
-enum{ k_inetmsg_scores_request = 1 };
+enum{ k_inetmsg_scores_request = 2 };
 
-typedef struct netmsg_scores_info netmsg_scores_info;
-struct netmsg_scores_info
+typedef struct netmsg_set_score netmsg_set_score;
+struct netmsg_set_score
 {
    u32 inetmsg_id;
-   
+
    u32 record_count;
    struct netmsg_score_record
    {
       u32 trackid;
-
-      struct netmsg_score_entry
-      {
-         u64 steamid64;
-         u16 points, time;
-      }
-      top10[10];
+      u64 playerid;
+      u16 points, time;
    }
-   scores[];
+   records[];
 };
-enum{ k_inetmsg_scores_info = 2 };
+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_auth netmsg_auth;
-struct netmsg_auth
+typedef struct netmsg_set_nickname netmsg_set_nickname;
+struct netmsg_set_nickname
 {
    u32 inetmsg_id;
-
-   u32 ticket_length;
-   u8 ticket[];
+   char nickname[16];
 };
-enum{ k_inetmsg_auth = 3 };
+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) ];
+}
+VG_STATIC scoreboard_client_data = { 
+   .inetmsg_id = k_inetmsg_scoreboard,
+   .board_count = vg_list_size(track_infos)
+}; 
+/* probably about 10k */
 
 #pragma pack(pop)
 #endif /* NETWORK_MSG_H */