gameserver monitor initial work
[carveJwlIkooP6JGAAIwe30JlM.git] / network_msg.h
1 /*
2 * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
3 */
4
5 #ifndef NETWORK_MSG_H
6 #define NETWORK_MSG_H
7
8 #include "vg/vg_stdint.h"
9 #include "world_info.h"
10 #include "vg/vg_platform.h"
11
12 #pragma pack(push,1)
13
14 typedef struct netmsg_blank netmsg_blank;
15 struct netmsg_blank
16 {
17 u32 inetmsg_id;
18 };
19 enum{ k_inetmsg_blank = 0 };
20
21 typedef struct netmsg_auth netmsg_auth;
22 struct netmsg_auth
23 {
24 u32 inetmsg_id;
25
26 u32 ticket_length;
27 u8 ticket[];
28 };
29 enum{ k_inetmsg_auth = 1 };
30
31 typedef struct netmsg_scores_request netmsg_scores_request;
32 struct netmsg_scores_request
33 {
34 u32 inetmsg_id;
35 };
36 enum{ k_inetmsg_scores_request = 2 };
37
38 typedef struct netmsg_set_score netmsg_set_score;
39 struct netmsg_set_score
40 {
41 u32 inetmsg_id;
42
43 u32 record_count;
44 struct netmsg_score_record
45 {
46 u32 trackid;
47 u64 playerid;
48 u16 points, time;
49 }
50 records[];
51 };
52 enum{ k_inetmsg_set_score = 6 };
53 /* 31.05.23: k_inetmsg_set_score id changed from ID 3 to ID 6,
54 * 3 is now INVALID */
55
56 typedef struct netmsg_set_nickname netmsg_set_nickname;
57 struct netmsg_set_nickname
58 {
59 u32 inetmsg_id;
60 char nickname[16];
61 };
62 enum{ k_inetmsg_set_nickname = 4 };
63
64
65 typedef struct netmsg_scoreboard netmsg_scoreboard;
66 enum{ k_inetmsg_scoreboard = 5 };
67 struct netmsg_scoreboard
68 {
69 u32 inetmsg_id;
70
71 u32 board_count;
72 struct netmsg_board
73 {
74 char data[27*13];
75 }
76 boards[ vg_list_size(track_infos) ];
77 }
78 VG_STATIC scoreboard_client_data = {
79 .inetmsg_id = k_inetmsg_scoreboard,
80 .board_count = vg_list_size(track_infos)
81 };
82 /* probably about 10k */
83
84 typedef struct netmsg_playerframe netmsg_playerframe;
85 enum{ k_inetmsg_playerframe = 20 };
86 struct netmsg_playerframe{
87 u32 inetmsg_id;
88
89 v3f pos_temp;
90 };
91
92 #pragma pack(pop)
93 #endif /* NETWORK_MSG_H */