+
+ w->device_id_skate = player_get_device( player, "skateboard" );
+}
+
+VG_STATIC int player_walk_event( player_device *dev, player_interface *player,
+ enum player_device_event_type ev, void *data )
+{
+ struct player_device_walk *w = dev->storage;
+
+ if( ev == k_player_device_event_bind )
+ {
+ player_walk_bind( dev, player );
+ }
+ else if( ev == k_player_device_event_custom_transition )
+ {
+ struct device_transition_walk *inf = data;
+ v3_copy( inf->angles, w->state.angles );
+ }
+ else if( ev == k_player_device_event_pre_update )
+ {
+ player_walk_pre_update( dev, player );
+ }
+ else if( ev == k_player_device_event_update )
+ {
+ player_walk_update( dev, player );
+ }
+ else if( ev == k_player_device_event_post_update )
+ {
+ player_walk_post_update( dev, player );
+ }
+ else if( ev == k_player_device_event_animate )
+ {
+ player_walk_animate( dev, player );
+ }
+ else if( ev == k_player_device_event_post_animate )
+ {
+ player_walk_post_animate( dev, player );
+ }
+ else if( ev == k_player_device_event_debug_ui )
+ {
+ player_walk_ui( dev, player );
+ }
+ else
+ return 0;
+
+ return 1;