m4x3_mulv( gate->transport, player->cam.pos, player->cam.pos );
if( gate->flags & k_ent_gate_nonlocal )
- world_static.active_world = gate->target;
+ world_set_active_instance( gate->target );
audio_lock();
audio_oneshot( &audio_gate_pass, 1.0f, 0.0f );
g_player_debugger[2] = 300;
g_player_debugger[3] = 32;
- player__debugtext( 2, "world (%u)", world_static.active_world );
- player__debugtext( 1, "model version: %u",
- world_current_instance()->meta.info.version );
+ player__debugtext( 2, "instance #%u", world_static.active_instance );
+ char buf_hub[96],
+ buf_client[96];
+ if( world_static.addon_client )
+ addon_alias_uid( &world_static.addon_client->alias, buf_client );
+ else
+ strcpy( buf_client, "none" );
+
+ if( world_static.addon_hub )
+ addon_alias_uid( &world_static.addon_hub->alias, buf_hub );
+ else
+ strcpy( buf_hub, "none" );
+
+ player__debugtext( 1, "hub uid: %s", buf_hub );
+ player__debugtext( 1, "client uid: %s", buf_client );
player__debugtext( 2, "director" );
player__debugtext( 1, "activity: %s",
(const char *[]){ [k_skaterift_menu] = "menu",
[k_skaterift_replay] = "replay",
- [k_skaterift_skateshop] = "shop",
- [k_skaterift_default] = "default"
+ [k_skaterift_ent_focus] = "ent_focus",
+ [k_skaterift_default] = "default",
+ [k_skaterift_respawning]= "respawning",
} [skaterift.activity] );
player__debugtext( 1, "time_rate: %.4f", skaterift.time_rate );
skaterift_replay_debug_info();
}
-VG_STATIC void global_skateshop_exit(void);
PLAYER_API void player__setpos( player_instance *player, v3f pos ){
v3_copy( pos, player->rb.co );
player->immobile = 0;
player->gate_waiting = NULL;
world_static.last_use = 0.0;
-
- global_skateshop_exit();
+ world_static.focused_entity = 0;
+ world_static.challenge_target = NULL;
+ world_static.challenge_timer = 0.0f;
+ world_entity_unfocus();
+
+ for( u32 i=0; i<vg_list_size(world_static.instances); i++ ){
+ world_instance *instance = &world_static.instances[i];
+ if( instance->status == k_world_status_loaded ){
+ world_routes_clear( instance );
+ }
+ }
if( _player_reset[ player->subsystem ] )
_player_reset[ player->subsystem ]( player, rp );