2 * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
8 #include "vg/vg_stdint.h"
9 #include "world_info.h"
10 #include "vg/vg_platform.h"
15 typedef struct netmsg_blank netmsg_blank
;
16 enum{ k_inetmsg_blank
= 0 };
21 /* send after version */
22 typedef struct netmsg_auth netmsg_auth
;
23 enum{ k_inetmsg_auth
= 1 };
32 /* version should be sent before auth */
33 typedef struct netmsg_version netmsg_version
;
34 enum{ k_inetmsg_version
= 2 };
35 struct netmsg_version
{
40 /* server control 100 */
42 /* player updates 200 */
44 #define NETMSG_BOUNDARY_BIT 0x8000
45 #define NETMSG_GATE_BOUNDARY_BIT 0x4000
46 #define NETMSG_BOUNDARY_MASK (NETMSG_BOUNDARY_BIT|NETMSG_GATE_BOUNDARY_BIT)
48 typedef struct netmsg_playerframe netmsg_playerframe
;
49 enum{ k_inetmsg_playerframe
= 200 };
50 struct netmsg_playerframe
{
55 instance_id
, sound_effects
;
56 u16 boundary_hash
; /* used for animating correctly through gates, teleport..
57 msb is a flip flop for teleporting
58 second msb is flip flop for gate */
63 typedef struct netmsg_playerjoin netmsg_playerjoin
;
64 enum{ k_inetmsg_playerjoin
= 201 };
65 struct netmsg_playerjoin
{
71 typedef struct netmsg_playerleave netmsg_playerleave
;
72 enum{ k_inetmsg_playerleave
= 202 };
73 struct netmsg_playerleave
{
78 typedef struct netmsg_playerusername netmsg_playerusername
;
79 enum{ k_inetmsg_playerusername
= 203 };
80 struct netmsg_playerusername
{
86 typedef struct netmsg_playeritem netmsg_playeritem
;
87 enum{ k_inetmsg_playeritem
= 204 };
88 struct netmsg_playeritem
{
94 enum netmsg_playeritem_type
{
95 k_netmsg_playeritem_board
= 0,
96 k_netmsg_playeritem_player
,
97 k_netmsg_playeritem_world0
,
98 k_netmsg_playeritem_world1
,
99 k_netmsg_playeritem_max
102 typedef struct netmsg_chat netmsg_chat
;
103 enum{ k_inetmsg_chat
= 205 };
110 typedef struct netmsg_region netmsg_region
;
111 enum{ k_inetmsg_region
= 206 };
112 struct netmsg_region
{
120 typedef struct netmsg_request netmsg_request
;
121 enum{ k_inetmsg_request
= 300, k_inetmsg_response
= 301 };
122 struct netmsg_request
{
128 enum request_status
{
129 k_request_status_client_error
= 0,
130 k_request_status_invalid_endpoint
= 1,
131 k_request_status_unauthorized
= 2,
133 k_request_status_server_error
= 100,
134 k_request_status_out_of_memory
= 101,
135 k_request_status_database_error
= 102,
137 k_request_status_ok
= 200,
138 k_request_status_not_found
= 201
142 #endif /* NETWORK_MSG_H */