k_player_subsystem_dead = 2,
k_player_subsystem_drive = 3,
k_player_subsystem_basic_info = 4,
+ k_player_subsystem_glide = 5,
k_player_subsystem_max,
k_player_subsystem_invalid = 255
};
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;
#include "player_skate.h"
#include "player_dead.h"
#include "player_drive.h"
+#include "player_glide.h"
#include "player_basic_info.h"
#include "player_replay.h"
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
* -------------------------------------------------
*/
- enum player_subsystem subsystem; /* .. prev */
+ enum player_subsystem subsystem,
+ observing_system;
/*
* Rendering
[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,
+ [k_player_subsystem_glide] = &player_subsystem_glide,
};
/*