projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow world reloading
[carveJwlIkooP6JGAAIwe30JlM.git]
/
network_msg.h
diff --git
a/network_msg.h
b/network_msg.h
index d06494acfaa99e6574a4052ff1c106d9814445d7..4dfeb5e44a3cc8a65a0cbe97d159c43caaa1e09d 100644
(file)
--- a/
network_msg.h
+++ b/
network_msg.h
@@
-5,7
+5,6
@@
#ifndef NETWORK_MSG_H
#define NETWORK_MSG_H
#ifndef NETWORK_MSG_H
#define NETWORK_MSG_H
-#include "vg/vg_stdint.h"
#include "world_info.h"
#include "vg/vg_platform.h"
;
#include "world_info.h"
#include "vg/vg_platform.h"
;
@@
-13,12
+12,14
@@
#pragma pack(push,1)
typedef struct netmsg_blank netmsg_blank;
#pragma pack(push,1)
typedef struct netmsg_blank netmsg_blank;
+enum{ k_inetmsg_blank = 0 };
struct netmsg_blank{
u16 inetmsg_id;
};
struct netmsg_blank{
u16 inetmsg_id;
};
-enum{ k_inetmsg_blank = 0 };
+/* send after version */
typedef struct netmsg_auth netmsg_auth;
typedef struct netmsg_auth netmsg_auth;
+enum{ k_inetmsg_auth = 1 };
struct netmsg_auth
{
u16 inetmsg_id;
struct netmsg_auth
{
u16 inetmsg_id;
@@
-26,7
+27,14
@@
struct netmsg_auth
u32 ticket_length;
u8 ticket[];
};
u32 ticket_length;
u8 ticket[];
};
-enum{ k_inetmsg_auth = 1 };
+
+/* version should be sent before auth */
+typedef struct netmsg_version netmsg_version;
+enum{ k_inetmsg_version = 2 };
+struct netmsg_version{
+ u16 inetmsg_id;
+ u32 version;
+};
/* server control 100 */
/* server control 100 */
@@
-35,6
+43,9
@@
enum{ k_inetmsg_auth = 1 };
#define NETMSG_BOUNDARY_BIT 0x8000
#define NETMSG_GATE_BOUNDARY_BIT 0x4000
#define NETMSG_BOUNDARY_MASK (NETMSG_BOUNDARY_BIT|NETMSG_GATE_BOUNDARY_BIT)
#define NETMSG_BOUNDARY_BIT 0x8000
#define NETMSG_GATE_BOUNDARY_BIT 0x4000
#define NETMSG_BOUNDARY_MASK (NETMSG_BOUNDARY_BIT|NETMSG_GATE_BOUNDARY_BIT)
+#define NETMSG_PLAYERFRAME_INSTANCE_ID 0x3
+#define NETMSG_PLAYERFRAME_HAVE_GLIDER 0x4
+#define NETMSG_PLAYERFRAME_GLIDER_ORPHAN 0x8
typedef struct netmsg_playerframe netmsg_playerframe;
enum{ k_inetmsg_playerframe = 200 };
typedef struct netmsg_playerframe netmsg_playerframe;
enum{ k_inetmsg_playerframe = 200 };
@@
-43,15
+54,10
@@
struct netmsg_playerframe{
f64 timestamp;
u8 client, subsystem,
f64 timestamp;
u8 client, subsystem,
-
instance_id
, sound_effects;
+
flags
, sound_effects;
u16 boundary_hash; /* used for animating correctly through gates, teleport..
msb is a flip flop for teleporting
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. */
+ second msb is flip flop for gate */
u8 animdata[];
};
u8 animdata[];
};
@@
-61,6
+67,7
@@
enum{ k_inetmsg_playerjoin = 201 };
struct netmsg_playerjoin{
u16 inetmsg_id;
u8 index;
struct netmsg_playerjoin{
u16 inetmsg_id;
u8 index;
+ u64 steamid;
};
typedef struct netmsg_playerleave netmsg_playerleave;
};
typedef struct netmsg_playerleave netmsg_playerleave;
@@
-102,6
+109,15
@@
struct netmsg_chat {
char msg[];
};
char msg[];
};
+typedef struct netmsg_region netmsg_region;
+enum{ k_inetmsg_region = 206 };
+struct netmsg_region {
+ u16 inetmsg_id;
+ u8 client;
+ u32 flags;
+ char loc[];
+};
+
/* requests 300 */
typedef struct netmsg_request netmsg_request;
enum{ k_inetmsg_request = 300, k_inetmsg_response = 301 };
/* requests 300 */
typedef struct netmsg_request netmsg_request;
enum{ k_inetmsg_request = 300, k_inetmsg_response = 301 };