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
;
19 enum{ k_inetmsg_blank
= 0 };
21 typedef struct netmsg_auth netmsg_auth
;
29 enum{ k_inetmsg_auth
= 1 };
31 /* server control 100 */
33 /* player updates 200 */
35 #define NETMSG_BOUNDARY_BIT 0x8000
36 #define NETMSG_GATE_BOUNDARY_BIT 0x4000
37 #define NETMSG_BOUNDARY_MASK (NETMSG_BOUNDARY_BIT|NETMSG_GATE_BOUNDARY_BIT)
39 typedef struct netmsg_playerframe netmsg_playerframe
;
40 enum{ k_inetmsg_playerframe
= 200 };
41 struct netmsg_playerframe
{
46 instance_id
, sound_effects
;
47 u16 boundary_hash
; /* used for animating correctly through gates, teleport..
48 msb is a flip flop for teleporting
49 second msb is flip flop for gate
51 TODO: disable oblique clipping on cam mtx when rendering remote players
52 also render over the portal stencil? somehow.
54 detransform, interp, retransform. render in dest world. */
59 typedef struct netmsg_playerjoin netmsg_playerjoin
;
60 enum{ k_inetmsg_playerjoin
= 201 };
61 struct netmsg_playerjoin
{
67 typedef struct netmsg_playerleave netmsg_playerleave
;
68 enum{ k_inetmsg_playerleave
= 202 };
69 struct netmsg_playerleave
{
74 typedef struct netmsg_playerusername netmsg_playerusername
;
75 enum{ k_inetmsg_playerusername
= 203 };
76 struct netmsg_playerusername
{
82 typedef struct netmsg_playeritem netmsg_playeritem
;
83 enum{ k_inetmsg_playeritem
= 204 };
84 struct netmsg_playeritem
{
90 enum netmsg_playeritem_type
{
91 k_netmsg_playeritem_board
= 0,
92 k_netmsg_playeritem_player
,
93 k_netmsg_playeritem_world0
,
94 k_netmsg_playeritem_world1
,
95 k_netmsg_playeritem_max
98 typedef struct netmsg_chat netmsg_chat
;
99 enum{ k_inetmsg_chat
= 205 };
107 typedef struct netmsg_request netmsg_request
;
108 enum{ k_inetmsg_request
= 300, k_inetmsg_response
= 301 };
109 struct netmsg_request
{
115 enum request_status
{
116 k_request_status_client_error
= 0,
117 k_request_status_invalid_endpoint
= 1,
118 k_request_status_unauthorized
= 2,
120 k_request_status_server_error
= 100,
121 k_request_status_out_of_memory
= 101,
122 k_request_status_database_error
= 102,
124 k_request_status_ok
= 200,
125 k_request_status_not_found
= 201
129 #endif /* NETWORK_MSG_H */