X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=50e780f898811a3be394cf2338b5e55648f60630;hb=7796f3f18ba78b42599f199523fdb0fdabc5efa1;hp=d22846ff0fe65d57ff7b6626ec4c8b7b3477498c;hpb=342fcbf6fda017bdd38d56ce0fa7c9e59e589f3b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index d22846f..50e780f 100644 --- a/skaterift.c +++ b/skaterift.c @@ -14,7 +14,7 @@ #if 1 #define SR_NETWORKED -#define VG_DEVWINDOW +//#define VG_DEVWINDOW /* * system headers @@ -44,6 +44,7 @@ #include "vehicle.c" #include "entity.c" #include "workshop.c" +#include "addon.c" static struct player_avatar localplayer_avatar; static struct player_model localplayer_models[3]; @@ -126,6 +127,9 @@ VG_STATIC void vg_load(void) 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 ); @@ -153,6 +157,37 @@ VG_STATIC void vg_load(void) world_loader.location = k_world_load_type_local; world_load_mdl( "maps/mp_spawn/main.mdl" ); + /* Completing addon registrations + * ------------------------------------- + */ + vg_msg msg; + + /* understate diy. */ + addon_reg *spawn = addon_mount_local_addon( "maps/mp_spawn", + k_workshop_file_type_world, + ".mdl" ); + vg_msg_init( &msg, spawn->metadata, sizeof(spawn->metadata) ); + vg_msg_frame( &msg, "workshop" ); + vg_msg_wkvstr( &msg, "title", "Understate DIY" ); + vg_msg_end_frame( &msg ); + vg_msg_wkvstr( &msg, "location", "USA" ); + spawn->metadata_len = msg.cur; + + /* mtzero island */ + addon_reg *mtzero = addon_mount_local_addon( "maps/mp_mtzero", + k_workshop_file_type_world, + ".mdl" ); + vg_msg_init( &msg, mtzero->metadata, sizeof(mtzero->metadata) ); + vg_msg_frame( &msg, "workshop" ); + vg_msg_wkvstr( &msg, "title", "Mt.Zero Island" ); + vg_msg_end_frame( &msg ); + vg_msg_wkvstr( &msg, "location", "Australia" ); + mtzero->metadata_len = msg.cur; + global_skateshop.selected_world_id=1; + global_skateshop.pointcloud_world_id=1; + skateshop_preview_loader_thread( mtzero ); /* HACK */ + + vg_async_call( async_addon_reg_update, NULL, 0 ); vg_console_load_autos(); menu_link(); @@ -325,6 +360,7 @@ VG_STATIC void render_scene_gate_subview(void) { render_fb_bind( gpipeline.fb_main, 1 ); world_instance *view_world = localplayer.viewable_world; + if( !view_world ) return; /* ??? */ int depth = 1; if( localplayer.gate_waiting ) depth = 0;