+VG_STATIC void vg_load(void){
+ vg_console_reg_cmd( "changeworld", skaterift_change_world_command, NULL );
+
+ vg_loader_step( render_init, NULL );
+ vg_loader_step( menu_init, NULL );
+ vg_loader_step( pointcloud_init, NULL );
+ vg_loader_step( world_init, NULL );
+ vg_loader_step( vehicle_init, NULL );
+ vg_loader_step( font3d_init, NULL );
+ vg_loader_step( gui_init, NULL );
+
+ vg_loader_step( player_init, NULL );
+ vg_loader_step( player_ragdoll_init, NULL );
+
+ /* content stuff */
+ vg_loader_step( addon_system_init, NULL );
+ vg_loader_step( workshop_init, NULL );
+ vg_loader_step( skateshop_init, NULL );
+
+ /* ----------------- */
+ vg_loader_step( load_playermodels, NULL );
+
+ /* player setup */
+ u32 bytes = 1024*1024*10;
+ skaterift.replay.data = vg_linear_alloc( vg_mem.rtmemory, bytes );
+ skaterift.replay.size = bytes;
+ replay_clear( &skaterift.replay );
+
+ player__create( &localplayer );
+ player_avatar_load( &localplayer_avatar, "models/ch_none.mdl" );
+ player__use_avatar( &localplayer, &localplayer_avatar );
+ player_model_load( &localplayer.fallback_model, "models/ch_none.mdl" );
+ player__bind( &localplayer );
+
+ /* --------------------- */
+
+ vg_bake_shaders();
+ vg_loader_step( audio_init, audio_free );
+
+ /* 'systems' are completely loaded now */
+
+ /* Completing addon registrations
+ * -------------------------------------
+ */
+
+ /* understate diy. */
+ addon_reg *spawn = addon_mount_local_addon( "maps/mp_spawn",
+ k_addon_type_world,
+ ".mdl" );