remove references to glide in master
[carveJwlIkooP6JGAAIwe30JlM.git] / player.h
index 18936a7ade2248844468cc7e182299c46ea14042..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
@@ -145,21 +153,26 @@ struct {
    mdl_context skeleton_meta;
    struct skeleton skeleton;
 
-   u32 id_hip,
-       id_chest,
-       id_ik_hand_l,
-       id_ik_hand_r,
-       id_ik_elbow_l,
-       id_ik_elbow_r,
-       id_head,
-       id_ik_foot_l,
-       id_ik_foot_r,
-       id_ik_knee_l,
-       id_ik_knee_r,
-       id_wheel_l,
-       id_wheel_r,
-       id_board,
-       id_eyes;
+   u8 id_hip,
+      id_chest,
+      id_ik_hand_l,
+      id_ik_hand_r,
+      id_ik_elbow_l,
+      id_ik_elbow_r,
+      id_head,
+      id_foot_l,
+      id_foot_r,
+      id_ik_foot_l,
+      id_ik_foot_r,
+      id_ik_knee_l,
+      id_ik_knee_r,
+      id_wheel_l,
+      id_wheel_r,
+      id_board,
+      id_eyes,
+      id_world;
+
+   u8 skeleton_mirror[32];
 
    struct player_effects_data effect_data;
 }
@@ -179,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,
 };
 
 /*