-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,
+
+ .animator_data = NULL,
+ .animator_size = 0,
+ .name = "Drive"
+};