#define PLAYER_GLIDE_H
#include "player.h"
+#include "trail.h"
struct player_glide {
struct skeleton_anim *anim_glide;
}
animator;
+ /* this sucks */
+ struct remote_glider_animator {
+ v3f root_co;
+ v4f root_q;
+ f32 s;
+ }
+ remote_animator;
+
v3f info_lift,
info_slip,
info_drag;
}
parts[4];
+ u32 trail_count;
+ v3f trail_positions[2];
+
mdl_context glider;
GLuint *glider_textures;
glmesh glider_mesh;
}
};
+static trail_system trails_glider[] = {
+{
+ .width = 0.035f,
+ .lifetime = 5.0f,
+ .min_dist = 0.5f
+},
+{
+ .width = 0.035f,
+ .lifetime = 5.0f,
+ .min_dist = 0.5f
+},
+};
+
static void player_glide_pre_update(void);
static void player_glide_update(void);
static void player_glide_post_update(void);
static void player_glide_transition(void);
static bool glider_physics( v2f steer );
static void player_glide_animator_exchange( bitpack_ctx *ctx, void *data );
+static void player_glide_render( camera *cam, world_instance *world,
+ player_pose *pose );
+static void render_glider_model( camera *cam, world_instance *world,
+ m4x3f mmdl, enum board_shader shader );
+static void
+player_glide_remote_animator_exchange( bitpack_ctx *ctx, void *data );
struct player_subsystem_interface static player_subsystem_glide = {
.pre_update = player_glide_pre_update,