+
+ if( button_down( k_srbind_miniworld_resume ) ){
+ global_miniworld.mode = 0;
+ global_miniworld.transition = 1;
+ global_miniworld.t = 0.0f;
+ global_miniworld.cam = skaterift.cam;
+
+ if( global_miniworld.dest_spawn ){
+ v3_copy( global_miniworld.dest_spawn->transform.co,
+ dest->player_co );
+ }
+
+ world_switch_instance(1);
+ global_miniworld.dest_spawn = NULL;
+ srinput.state = k_input_state_resume;
+ menu.disable_open = 0;
+ }
+ else {
+ if( global_miniworld.mode == 1 ){
+ if( button_down(k_srbind_mback) ){
+ global_miniworld.mode = 0;
+ global_miniworld.dest_spawn = NULL;
+ menu.disable_open = 0;
+ srinput.state = k_input_state_resume;
+ }
+ else {
+ m4x3f mmdl_inv;
+ m4x3_invert_full( global_miniworld.mmdl, mmdl_inv );
+ v3f lco;
+ m4x3_mulv( mmdl_inv, localplayer.rb.co, lco );
+ global_miniworld.dest_spawn = world_find_closest_spawn( dest, lco );
+ }
+ }
+ else {
+ if( button_down( k_srbind_miniworld_teleport ) ){
+ global_miniworld.mode = 1;
+ menu.disable_open = 1;
+ }
+ }
+ }
+}
+
+static void ent_miniworld_goback(void){
+ global_miniworld.transition = -1;
+ global_miniworld.t = 1.0f;
+
+ global_miniworld.cam = skaterift.cam;
+ m4x3_transform_camera( global_miniworld.mmdl, &global_miniworld.cam );
+ world_switch_instance(0);