glider stuff
[carveJwlIkooP6JGAAIwe30JlM.git] / player_glide.h
index 0794b1c9b9347bca0b7c83ef9f85058bcd5af93b..163e3ba458e83e027cd3bca2626680697b6235f0 100644 (file)
@@ -4,7 +4,7 @@
 #include "player.h"
 
 struct player_glide {
-   struct skeleton_anim *anim_temp;
+   struct skeleton_anim *anim_glide;
 
    struct player_glide_animator {
       v3f root_co;
@@ -32,6 +32,10 @@ struct player_glide {
       enum rb_shape shape;
    }
    parts[3];
+
+   mdl_context glider;
+   GLuint *glider_textures;
+   glmesh glider_mesh;
 }
 static player_glide = {
    .parts = {
@@ -65,6 +69,9 @@ static void player_glide_pose( void *animator, player_pose *pose );
 static void player_glide_post_animate(void);
 static void player_glide_im_gui(void);
 static void player_glide_bind(void);
+static void player_glide_transition(void);
+static void player_glide_render( camera *cam, world_instance *world,
+                                 player_pose *pose );
 
 struct player_subsystem_interface static player_subsystem_glide = {
    .pre_update = player_glide_pre_update,
@@ -75,6 +82,7 @@ struct player_subsystem_interface static player_subsystem_glide = {
    .post_animate = player_glide_post_animate,
    .im_gui = player_glide_im_gui,
    .bind = player_glide_bind,
+   .render = player_glide_render,
 
    .animator_data = &player_glide.animator,
    .animator_size = sizeof(player_glide.animator),