remove references to glide in master
[carveJwlIkooP6JGAAIwe30JlM.git] / player.h
index 4396cbe353a5cb432087be6c4b400f3e7ebdbc28..cb37b7ce50576bf57e453dba1d0f442ef1716d15 100644 (file)
--- a/player.h
+++ b/player.h
@@ -50,6 +50,9 @@ struct player_subsystem_interface{
    void(*network_animator_exchange)( bitpack_ctx *ctx, void *data );
    void(*sfx_oneshot)( u8 id, v3f pos, f32 volume );
 
+   void(*sfx_comp)(void *animator);
+   void(*sfx_kill)(void);
+
    void *animator_data;
    u32 animator_size;
 
@@ -98,6 +101,8 @@ struct {
 
    v3f cam_land_punch, cam_land_punch_v;
    ent_gate *gate_waiting;
+   int deferred_frame_record;
+
    int immobile;
 
    int rewinded_since_last_gate;
@@ -112,8 +117,10 @@ struct {
       f32 subframe, volume;
       v3f location;
    }
-   sfx_buffer[4];
-   u32 sfx_buffer_count;
+   sfx_buffer[4],             /* large timeframe 1/10s; for networking */
+   local_sfx_buffer[2];       /* per framerate 1/30s; for replay */
+   u32 sfx_buffer_count, 
+       local_sfx_buffer_count;
 
    /*
     * Animation
@@ -137,7 +144,8 @@ struct {
     * -------------------------------------------------
     */
 
-   enum player_subsystem subsystem; /* .. prev */
+   enum player_subsystem subsystem, 
+                         observing_system; 
 
    /*
     * Rendering
@@ -161,7 +169,8 @@ struct {
       id_wheel_l,
       id_wheel_r,
       id_board,
-      id_eyes;
+      id_eyes,
+      id_world;
 
    u8 skeleton_mirror[32];
 
@@ -183,7 +192,7 @@ struct player_subsystem_interface static *player_subsystems[] = {
    [k_player_subsystem_dead]  = &player_subsystem_dead,
    [k_player_subsystem_drive] = &player_subsystem_drive,
    [k_player_subsystem_skate] = &player_subsystem_skate,
-   [k_player_subsystem_basic_info]=&player_subsystem_basic_info
+   [k_player_subsystem_basic_info]=&player_subsystem_basic_info,
 };
 
 /*