+/*
+ * 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)
};
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 */