Fix major overstep with last commit
[carveJwlIkooP6JGAAIwe30JlM.git] / network_msg.h
1 #ifndef NETWORK_MSG_H
2 #define NETWORK_MSG_H
3
4 #include "vg/vg_stdint.h"
5 #include "world_info.h"
6 #include "vg/vg_platform.h"
7
8 #pragma pack(push,1)
9
10 typedef struct netmsg_blank netmsg_blank;
11 struct netmsg_blank
12 {
13 u32 inetmsg_id;
14 };
15 enum{ k_inetmsg_blank = 0 };
16
17 typedef struct netmsg_auth netmsg_auth;
18 struct netmsg_auth
19 {
20 u32 inetmsg_id;
21
22 u32 ticket_length;
23 u8 ticket[];
24 };
25 enum{ k_inetmsg_auth = 1 };
26
27 typedef struct netmsg_scores_request netmsg_scores_request;
28 struct netmsg_scores_request
29 {
30 u32 inetmsg_id;
31 };
32 enum{ k_inetmsg_scores_request = 2 };
33
34 typedef struct netmsg_set_score netmsg_set_score;
35 struct netmsg_set_score
36 {
37 u32 inetmsg_id;
38
39 u32 record_count;
40 struct netmsg_score_record
41 {
42 u32 trackid;
43 u64 playerid;
44 u16 points, time;
45 }
46 records[];
47 };
48 enum{ k_inetmsg_set_score = 3 };
49
50 typedef struct netmsg_set_nickname netmsg_set_nickname;
51 struct netmsg_set_nickname
52 {
53 u32 inetmsg_id;
54 char nickname[10];
55 };
56 enum{ k_inetmsg_set_nickname = 4 };
57
58
59 typedef struct netmsg_scoreboard netmsg_scoreboard;
60 enum{ k_inetmsg_scoreboard = 5 };
61 struct netmsg_scoreboard
62 {
63 u32 inetmsg_id;
64
65 u32 board_count;
66 struct netmsg_board
67 {
68 char data[27*13];
69 }
70 boards[ vg_list_size(track_infos) ];
71 }
72 static scoreboard_client_data = {
73 .inetmsg_id = k_inetmsg_scoreboard,
74 .board_count = vg_list_size(track_infos)
75 };
76 /* probably about 10k */
77
78 #pragma pack(pop)
79 #endif /* NETWORK_MSG_H */