X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=d8aae1bde47d3b99950d19b32a394b98ffb5fc77;hb=23ba25574349652d86979fc787ec4b0214001333;hp=326e02c65c2d6c75ad85b317cc1cc281b585d909;hpb=6e96ba64e805ea8a39ca46171e28426c6bc86ab6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index 326e02c..d8aae1b 100644 --- a/skaterift.c +++ b/skaterift.c @@ -55,6 +55,7 @@ #include "network.c" #include "player_remote.c" #include "vg/vg_audio_dsp.h" +#include "world_routes_ui.c" static int k_tools_mode = 0; @@ -153,6 +154,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 ); @@ -188,10 +195,11 @@ static void vg_load(void){ replay_clear( &skaterift.replay ); player_load_animation_reference( "models/ch_none.mdl" ); - player_model_load( &localplayer.fallback_model, "models/ch_none.mdl" ); player__bind(); + player_board_load( &localplayer.fallback_board, "models/board_none.mdl" ); + /* --------------------- */ vg_bake_shaders(); @@ -204,37 +212,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 +288,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 +467,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; } @@ -666,6 +648,7 @@ static void vg_gui(void){ player__im_gui(); world_instance *world = world_current_instance(); + world_routes_imgui( world ); skaterift_replay_imgui(); workshop_form_gui(); render_view_framebuffer_ui();