X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=14af6a7ca585f6d44d5a4f32f442880dcb47660c;hb=dd7d6eb0702cd9a0c97ab6da9ec577af0b797b88;hp=326e02c65c2d6c75ad85b317cc1cc281b585d909;hpb=6e96ba64e805ea8a39ca46171e28426c6bc86ab6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index 326e02c..14af6a7 100644 --- a/skaterift.c +++ b/skaterift.c @@ -153,6 +153,12 @@ static void skaterift_restore_state(void){ kvsav.cur = orig; } +static addon_reg *skaterift_mount_world_unloadable( const char *path ){ + addon_reg *reg = addon_mount_local_addon( path, k_addon_type_world, ".mdl" ); + reg->flags |= ADDON_REG_HIDDEN; + return reg; +} + static void vg_load(void){ if( k_tools_mode ){ vg_async_call( async_call_ready, NULL, 0 ); @@ -204,37 +210,9 @@ static void vg_load(void){ */ /* hub world */ - addon_reg *hub = - addon_mount_local_addon( "maps/dev_hub", k_addon_type_world, ".mdl" ); - hub->metadata_len = 0; - - /* understate diy. */ - addon_reg *spawn = addon_mount_local_addon( "maps/mp_spawn", - k_addon_type_world, - ".mdl" ); - { - vg_msg msg; - 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.co; - } - - /* mtzero island */ - addon_reg *mtzero = addon_mount_local_addon( "maps/mp_mtzero", - k_addon_type_world, - ".mdl" ); - { - vg_msg msg; - vg_msg_init( &msg, spawn->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.co; - } + addon_reg *hub = skaterift_mount_world_unloadable( "maps/dev_hub" ); + skaterift_mount_world_unloadable( "maps/mp_spawn" ); + skaterift_mount_world_unloadable( "maps/mp_mtzero" ); /* load home/permanent world manually */ world_static.load_state = k_world_loader_load; @@ -308,6 +286,7 @@ static void vg_pre_update(void){ world_entity_focus_preupdate(); skaterift_replay_pre_update(); remote_sfx_pre_update(); + skateshop_world_preupdate( world_current_instance() ); world_update( world_current_instance(), localplayer.rb.co ); audio_ambient_sprites_update( world_current_instance(), localplayer.rb.co ); @@ -486,7 +465,8 @@ static void render_scene(void){ m4x3f identity; m4x3_identity( identity ); render_world_override( world, world, identity, &skaterift.cam, - respawn_chooser.spawn, 1.0f ); + respawn_chooser.spawn, + (v4f){world->tar_min, world->tar_max, 1.0f, 0.0f}); render_world_routes( world, world, identity, &skaterift.cam, 0, 1 ); return; }