#include "skaterift.h"
#include "player_common.h"
+#include "network_compression.h"
enum player_subsystem{
k_player_subsystem_walk = 0,
void(*animate)(void);
void(*pose)( void *animator, player_pose *pose );
void(*post_animate)(void);
+ void(*network_animator_exchange)( bitpack_ctx *ctx, void *data );
+ void(*sfx_oneshot)( u8 id, v3f pos, f32 volume );
void *animator_data;
u32 animator_size;
v3f cam_land_punch, cam_land_punch_v;
ent_gate *gate_waiting;
- u16 boundary_hash;
-
int immobile;
+ /*
+ * Network
+ * --------------------------------------------------
+ */
+ u16 boundary_hash;
+ struct net_sfx {
+ u8 system, priority, id;
+ f32 subframe, volume;
+ v3f location;
+ }
+ sfx_buffer[4];
+ u32 sfx_buffer_count;
+
/*
* Animation
* --------------------------------------------------
static int localplayer_cmd_respawn( int argc, const char *argv[] );
static void player_apply_transport_to_cam( m4x3f transport );
+static void player__clear_sfx_buffer(void);
+static void player__networked_sfx( u8 system, u8 priority, u8 id,
+ v3f pos, f32 volume );
+static void net_sfx_exchange( bitpack_ctx *ctx, struct net_sfx *sfx );
+static void net_sfx_play( struct net_sfx *sfx );
+
#endif /* PLAYER_H */