projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
patches player visibility
[carveJwlIkooP6JGAAIwe30JlM.git]
/
network_msg.h
diff --git
a/network_msg.h
b/network_msg.h
index 4490502d0be9192234abe21991bd871452f31398..ba1fefef309bc6a62cebdb0a2ea2829277425203 100644
(file)
--- a/
network_msg.h
+++ b/
network_msg.h
@@
-13,16
+13,15
@@
#pragma pack(push,1)
typedef struct netmsg_blank netmsg_blank;
#pragma pack(push,1)
typedef struct netmsg_blank netmsg_blank;
-struct netmsg_blank
-{
- u32 inetmsg_id;
+struct netmsg_blank{
+ u16 inetmsg_id;
};
enum{ k_inetmsg_blank = 0 };
typedef struct netmsg_auth netmsg_auth;
struct netmsg_auth
{
};
enum{ k_inetmsg_blank = 0 };
typedef struct netmsg_auth netmsg_auth;
struct netmsg_auth
{
- u
32
inetmsg_id;
+ u
16
inetmsg_id;
u32 ticket_length;
u8 ticket[];
u32 ticket_length;
u8 ticket[];
@@
-32,14
+31,14
@@
enum{ k_inetmsg_auth = 1 };
typedef struct netmsg_scores_request netmsg_scores_request;
struct netmsg_scores_request
{
typedef struct netmsg_scores_request netmsg_scores_request;
struct netmsg_scores_request
{
- u
32
inetmsg_id;
+ u
16
inetmsg_id;
};
enum{ k_inetmsg_scores_request = 2 };
typedef struct netmsg_set_score netmsg_set_score;
struct netmsg_set_score
{
};
enum{ k_inetmsg_scores_request = 2 };
typedef struct netmsg_set_score netmsg_set_score;
struct netmsg_set_score
{
- u
32
inetmsg_id;
+ u
16
inetmsg_id;
u32 record_count;
struct netmsg_score_record
u32 record_count;
struct netmsg_score_record
@@
-54,20
+53,10
@@
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 */
/* 31.05.23: k_inetmsg_set_score id changed from ID 3 to ID 6,
* 3 is now INVALID */
-typedef struct netmsg_set_nickname netmsg_set_nickname;
-struct netmsg_set_nickname
-{
- u32 inetmsg_id;
- char nickname[16];
-};
-enum{ k_inetmsg_set_nickname = 4 };
-
-
typedef struct netmsg_scoreboard netmsg_scoreboard;
enum{ k_inetmsg_scoreboard = 5 };
typedef struct netmsg_scoreboard netmsg_scoreboard;
enum{ k_inetmsg_scoreboard = 5 };
-struct netmsg_scoreboard
-{
- u32 inetmsg_id;
+struct netmsg_scoreboard{
+ u16 inetmsg_id;
u32 board_count;
struct netmsg_board
u32 board_count;
struct netmsg_board
@@
-87,45
+76,69
@@
static scoreboard_client_data = {
/* player updates 200 */
/* player updates 200 */
+#define NETMSG_BOUNDARY_BIT 0x8000
+#define NETMSG_GATE_BOUNDARY_BIT 0x4000
+#define NETMSG_BOUNDARY_MASK (NETMSG_BOUNDARY_BIT|NETMSG_GATE_BOUNDARY_BIT)
+
typedef struct netmsg_playerframe netmsg_playerframe;
enum{ k_inetmsg_playerframe = 200 };
struct netmsg_playerframe{
typedef struct netmsg_playerframe netmsg_playerframe;
enum{ k_inetmsg_playerframe = 200 };
struct netmsg_playerframe{
- u
32
inetmsg_id;
+ u
16
inetmsg_id;
f64 timestamp;
f64 timestamp;
- u8 client, subsystem;
+
+ u8 client, subsystem,
+ instance_id;
+ u16 boundary_hash; /* used for animating correctly through gates, teleport..
+ msb is a flip flop for teleporting
+ second msb is flip flop for gate
+
+TODO: disable oblique clipping on cam mtx when rendering remote players
+ also render over the portal stencil? somehow.
+
+ detransform, interp, retransform. render in dest world. */
+
u8 animdata[];
};
typedef struct netmsg_playerjoin netmsg_playerjoin;
enum{ k_inetmsg_playerjoin = 201 };
struct netmsg_playerjoin{
u8 animdata[];
};
typedef struct netmsg_playerjoin netmsg_playerjoin;
enum{ k_inetmsg_playerjoin = 201 };
struct netmsg_playerjoin{
- u
32
inetmsg_id;
- u
32
index;
+ u
16
inetmsg_id;
+ u
8
index;
};
typedef struct netmsg_playerleave netmsg_playerleave;
enum{ k_inetmsg_playerleave = 202 };
struct netmsg_playerleave{
};
typedef struct netmsg_playerleave netmsg_playerleave;
enum{ k_inetmsg_playerleave = 202 };
struct netmsg_playerleave{
- u
32
inetmsg_id;
- u
32
index;
+ u
16
inetmsg_id;
+ u
8
index;
};
typedef struct netmsg_playerusername netmsg_playerusername;
enum{ k_inetmsg_playerusername = 203 };
struct netmsg_playerusername{
};
typedef struct netmsg_playerusername netmsg_playerusername;
enum{ k_inetmsg_playerusername = 203 };
struct netmsg_playerusername{
- u
32
inetmsg_id;
- u
32
index;
+ u
16
inetmsg_id;
+ u
8
index;
char name[];
};
typedef struct netmsg_playeritem netmsg_playeritem;
enum{ k_inetmsg_playeritem = 204 };
struct netmsg_playeritem{
char name[];
};
typedef struct netmsg_playeritem netmsg_playeritem;
enum{ k_inetmsg_playeritem = 204 };
struct netmsg_playeritem{
- u
32
inetmsg_id;
- u
32
client;
- u8 type;
+ u
16
inetmsg_id;
+ u
8
client;
+ u8 type
_index
;
char uid[];
};
char uid[];
};
+typedef enum netmsg_playeritem_type netmsg_playeritem_type;
+enum netmsg_playeritem_type {
+ k_netmsg_playeritem_board = 0,
+ k_netmsg_playeritem_player,
+ k_netmsg_playeritem_world0,
+ k_netmsg_playeritem_world1,
+ k_netmsg_playeritem_max
+};
+
#pragma pack(pop)
#endif /* NETWORK_MSG_H */
#pragma pack(pop)
#endif /* NETWORK_MSG_H */