respawn_begin_chooser();
}
else if( MDL_CONST_PSTREQ( &menu.model, q, "hub" ) ){
- srinput.state = k_input_state_resume;
- menu_close();
- ent_miniworld_goback();
+ if( world_static.active_instance == k_world_purpose_client ){
+ srinput.state = k_input_state_resume;
+ menu_close();
+ ent_miniworld_goback();
+ }
}
else if( MDL_CONST_PSTREQ( &menu.model, q, "credits" ) ){
menu.credits_open = 1;
world_routes_fracture( world, gate, localplayer.rb.co, localplayer.rb.v );
localplayer.gate_waiting = gate;
- world_routes_activate_entry_gate( world_current_instance(), gate );
struct player_cam_controller *cc = &localplayer.cam_control;
m4x3_mulv( gate->transport, cc->tpv_lpf, cc->tpv_lpf );
world_static.active_instance = gate->target;
player__clean_refs();
}
+ else
+ world_routes_activate_entry_gate( world, gate );
v3f v0;
v3_angles_vector( localplayer.angles, v0 );