7 struct skeleton_anim
*anim_glide
;
9 struct player_glide_animator
{
40 GLuint
*glider_textures
;
43 static player_glide
= {
46 .co
= { 1.0f
, 0.5f
, -1.0f
},
47 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.125f
, 0.0f
},
48 .shape
= k_rb_shape_capsule
,
49 .inf
= { .h
= 2.82842712475f
, .r
= 0.25f
},
52 .co
= { -1.0f
, 0.5f
, -1.0f
},
53 .euler
= { VG_TAUf
*0.25f
, -VG_TAUf
*0.125f
, 0.0f
},
54 .shape
= k_rb_shape_capsule
,
55 .inf
= { .h
= 2.82842712475f
, .r
= 0.25f
},
58 .co
= { 0.0f
, 0.5f
, 1.0f
},
59 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.25f
, 0.0f
},
60 .shape
= k_rb_shape_capsule
,
61 .inf
= { .h
= 6.0f
, .r
= 0.25f
},
64 .co
= { 0.0f
, -0.5f
, 0.0f
},
65 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.25f
, 0.0f
},
66 .shape
= k_rb_shape_capsule
,
67 .inf
= { .h
= 2.0f
, .r
= 0.25f
},
73 .co
= { 0.0f
, 0.0f
, 0.0f
},
74 .euler
= { 0.0f
, 0.0f
, 0.0f
},
75 .shape
= k_rb_shape_sphere
,
82 static void player_glide_pre_update(void);
83 static void player_glide_update(void);
84 static void player_glide_post_update(void);
85 static void player_glide_animate(void);
86 static void player_glide_pose( void *animator
, player_pose
*pose
);
88 static void player_glide_post_animate(void);
89 static void player_glide_im_gui(void);
90 static void player_glide_bind(void);
91 static void player_glide_transition(void);
92 static bool glider_physics( v2f steer
);
94 struct player_subsystem_interface
static player_subsystem_glide
= {
95 .pre_update
= player_glide_pre_update
,
96 .update
= player_glide_update
,
97 .post_update
= player_glide_post_update
,
98 .animate
= player_glide_animate
,
99 .pose
= player_glide_pose
,
100 .post_animate
= player_glide_post_animate
,
101 .im_gui
= player_glide_im_gui
,
102 .bind
= player_glide_bind
,
104 .animator_data
= &player_glide
.animator
,
105 .animator_size
= sizeof(player_glide
.animator
),
109 #endif /* PLAYER_GLIDE_H */