+/* server control 100 */
+
+/* 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{
+ u16 inetmsg_id;
+ f64 timestamp;
+
+ u8 client, subsystem,
+ instance_id, sound_effects;
+ 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[];