8 struct skeleton_anim
*anim_glide
;
10 struct player_glide_animator
{
17 struct remote_glider_animator
{
49 v3f trail_positions
[2];
52 GLuint
*glider_textures
;
55 static player_glide
= {
58 .co
= { 1.0f
, 0.5f
, -1.0f
},
59 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.125f
, 0.0f
},
60 .shape
= k_rb_shape_capsule
,
61 .inf
= { .h
= 2.82842712475f
, .r
= 0.25f
},
64 .co
= { -1.0f
, 0.5f
, -1.0f
},
65 .euler
= { VG_TAUf
*0.25f
, -VG_TAUf
*0.125f
, 0.0f
},
66 .shape
= k_rb_shape_capsule
,
67 .inf
= { .h
= 2.82842712475f
, .r
= 0.25f
},
70 .co
= { 0.0f
, 0.5f
, 1.0f
},
71 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.25f
, 0.0f
},
72 .shape
= k_rb_shape_capsule
,
73 .inf
= { .h
= 6.0f
, .r
= 0.25f
},
76 .co
= { 0.0f
, -0.5f
, 0.0f
},
77 .euler
= { VG_TAUf
*0.25f
, VG_TAUf
*0.25f
, 0.0f
},
78 .shape
= k_rb_shape_capsule
,
79 .inf
= { .h
= 2.0f
, .r
= 0.25f
},
85 .co
= { 0.0f
, 0.0f
, 0.0f
},
86 .euler
= { 0.0f
, 0.0f
, 0.0f
},
87 .shape
= k_rb_shape_sphere
,
94 static trail_system trails_glider
[] = {
107 static void player_glide_pre_update(void);
108 static void player_glide_update(void);
109 static void player_glide_post_update(void);
110 static void player_glide_animate(void);
111 static void player_glide_pose( void *animator
, player_pose
*pose
);
113 static void player_glide_post_animate(void);
114 static void player_glide_im_gui(void);
115 static void player_glide_bind(void);
116 static void player_glide_transition(void);
117 static bool glider_physics( v2f steer
);
118 static void player_glide_animator_exchange( bitpack_ctx
*ctx
, void *data
);
119 static void player_glide_render( camera
*cam
, world_instance
*world
,
121 static void render_glider_model( camera
*cam
, world_instance
*world
,
122 m4x3f mmdl
, enum board_shader shader
);
124 player_glide_remote_animator_exchange( bitpack_ctx
*ctx
, void *data
);
126 struct player_subsystem_interface
static player_subsystem_glide
= {
127 .pre_update
= player_glide_pre_update
,
128 .update
= player_glide_update
,
129 .post_update
= player_glide_post_update
,
130 .animate
= player_glide_animate
,
131 .pose
= player_glide_pose
,
132 .post_animate
= player_glide_post_animate
,
133 .network_animator_exchange
= player_glide_animator_exchange
,
134 .im_gui
= player_glide_im_gui
,
135 .bind
= player_glide_bind
,
137 .animator_data
= &player_glide
.animator
,
138 .animator_size
= sizeof(player_glide
.animator
),
142 #endif /* PLAYER_GLIDE_H */