#include "skaterift.h"
#include "player_common.h"
#include "network_compression.h"
+#include "player_effects.h"
enum player_subsystem{
k_player_subsystem_walk = 0,
k_player_subsystem_skate = 1,
k_player_subsystem_dead = 2,
k_player_subsystem_drive = 3,
+ k_player_subsystem_basic_info = 4,
k_player_subsystem_max,
k_player_subsystem_invalid = 255
};
void(*im_gui)(void);
void(*animate)(void);
void(*pose)( void *animator, player_pose *pose );
+ void(*effects)( void *animator, m4x3f *final_mtx, struct player_board *board,
+ struct player_effects_data *effect_data );
void(*post_animate)(void);
void(*network_animator_exchange)( bitpack_ctx *ctx, void *data );
void(*sfx_oneshot)( u8 id, v3f pos, f32 volume );
#include "player_ragdoll.h"
#include "player_render.h"
#include "player_model.h"
+
+/* subsystem headers */
#include "player_walk.h"
#include "player_skate.h"
#include "player_dead.h"
#include "player_drive.h"
+#include "player_basic_info.h"
+
#include "player_replay.h"
#define PLAYER_REWIND_FRAMES 60*4
rigidbody rb;
v3f angles;
-#if 0
- v4f qbasis;
- m3x3f basis, invbasis, basis_gate;
- world_instance *viewable_world;
-#endif
-
/*
* Camera management
* ---------------------------
ent_gate *gate_waiting;
int immobile;
+ int rewinded_since_last_gate;
+
/*
* Network
* --------------------------------------------------
struct player_ragdoll ragdoll;
struct player_model fallback_model;
+ struct player_board fallback_board;
u16 board_view_slot, playermodel_view_slot;
id_ik_knee_r,
id_wheel_l,
id_wheel_r,
- id_board;
+ id_board,
+ id_eyes;
+
+ struct player_effects_data effect_data;
}
static localplayer = {
.rb = {
[k_player_subsystem_walk] = &player_subsystem_walk,
[k_player_subsystem_dead] = &player_subsystem_dead,
[k_player_subsystem_drive] = &player_subsystem_drive,
- [k_player_subsystem_skate] = &player_subsystem_skate
+ [k_player_subsystem_skate] = &player_subsystem_skate,
+ [k_player_subsystem_basic_info]=&player_subsystem_basic_info
};
/*