struct player_drive {
drivable_vehicle *vehicle;
struct skeleton_anim *anim_drive;
-};
+}
+static player_drive;
+
+static void player__drive_pre_update(void);
+static void player__drive_update(void);
+static void player__drive_post_update(void);
+static void player__drive_animate(void);
+static void player__drive_pose( void *animator, player_pose *pose );
+
+static void player__drive_post_animate(void);
+static void player__drive_im_gui(void);
+static void player__drive_bind(void);
+static void player__drive_reset( ent_spawn *rp );
-VG_STATIC void player__drive_pre_update( player_instance *player );
-VG_STATIC void player__drive_update( player_instance *player );
-VG_STATIC void player__drive_post_update( player_instance *player );
-VG_STATIC void player__drive_animate( player_instance *player,
- player_animation *dest );
-VG_STATIC void player__drive_post_animate( player_instance *player );
-VG_STATIC void player__drive_im_gui( player_instance *player );
-VG_STATIC void player__drive_bind( player_instance *player );
-VG_STATIC void player__drive_reset( player_instance *player, ent_spawn *rp );
+struct player_subsystem_interface static player_subsystem_drive = {
+ .pre_update = player__drive_pre_update,
+ .update = player__drive_update,
+ .post_update = player__drive_post_update,
+ .animate = player__drive_animate,
+ .pose = player__drive_pose,
+ .post_animate = player__drive_post_animate,
+ .im_gui = player__drive_im_gui,
+ .bind = player__drive_bind,
+ .reset = player__drive_reset,
+
+ .animator_data = NULL,
+ .animator_size = 0,
+ .name = "Drive"
+};
#endif /* PLAYER_DRIVE_H */