7 struct skeleton_anim
*anim_glide
;
9 struct player_glide_animator
{
16 struct remote_glider_animator
{
48 GLuint
*glider_textures
;
51 static player_glide
= {
54 .co
= { 1.0f
, 0.5f
, -1.0f
},
55 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.125f
, 0.0f
},
56 .shape
= k_rb_shape_capsule
,
57 .inf
= { .h
= 2.82842712475f
, .r
= 0.25f
},
60 .co
= { -1.0f
, 0.5f
, -1.0f
},
61 .euler
= { VG_TAUf
*0.25f
, -VG_TAUf
*0.125f
, 0.0f
},
62 .shape
= k_rb_shape_capsule
,
63 .inf
= { .h
= 2.82842712475f
, .r
= 0.25f
},
66 .co
= { 0.0f
, 0.5f
, 1.0f
},
67 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.25f
, 0.0f
},
68 .shape
= k_rb_shape_capsule
,
69 .inf
= { .h
= 6.0f
, .r
= 0.25f
},
72 .co
= { 0.0f
, -0.5f
, 0.0f
},
73 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.25f
, 0.0f
},
74 .shape
= k_rb_shape_capsule
,
75 .inf
= { .h
= 2.0f
, .r
= 0.25f
},
81 .co
= { 0.0f
, 0.0f
, 0.0f
},
82 .euler
= { 0.0f
, 0.0f
, 0.0f
},
83 .shape
= k_rb_shape_sphere
,
90 static void player_glide_pre_update(void);
91 static void player_glide_update(void);
92 static void player_glide_post_update(void);
93 static void player_glide_animate(void);
94 static void player_glide_pose( void *animator
, player_pose
*pose
);
96 static void player_glide_post_animate(void);
97 static void player_glide_im_gui(void);
98 static void player_glide_bind(void);
99 static void player_glide_transition(void);
100 static bool glider_physics( v2f steer
);
101 static void player_glide_animator_exchange( bitpack_ctx
*ctx
, void *data
);
102 static void player_glide_render( camera
*cam
, world_instance
*world
,
104 static void render_glider_model( camera
*cam
, world_instance
*world
,
105 m4x3f mmdl
, enum board_shader shader
);
107 player_glide_remote_animator_exchange( bitpack_ctx
*ctx
, void *data
);
109 struct player_subsystem_interface
static player_subsystem_glide
= {
110 .pre_update
= player_glide_pre_update
,
111 .update
= player_glide_update
,
112 .post_update
= player_glide_post_update
,
113 .animate
= player_glide_animate
,
114 .pose
= player_glide_pose
,
115 .post_animate
= player_glide_post_animate
,
116 .network_animator_exchange
= player_glide_animator_exchange
,
117 .im_gui
= player_glide_im_gui
,
118 .bind
= player_glide_bind
,
120 .animator_data
= &player_glide
.animator
,
121 .animator_size
= sizeof(player_glide
.animator
),
125 #endif /* PLAYER_GLIDE_H */