fix some problems with world loader
[carveJwlIkooP6JGAAIwe30JlM.git] / menu.h
diff --git a/menu.h b/menu.h
index c9865732b6912e4a54a98106ba49ebfc59be294f..53cb52d30dc4010c007adb3665af42dbb491f07b 100644 (file)
--- a/menu.h
+++ b/menu.h
@@ -141,9 +141,9 @@ static void menu_init(void){
 
    vg_linear_clear( vg_mem.scratch );
 
-   mdl_load_array( &menu.model, &menu.items,   "ent_menuitem", alloc );
-   mdl_load_array( &menu.model, &menu.markers, "ent_marker", alloc );
-   mdl_load_array( &menu.model, &menu.cameras, "ent_camera", alloc );
+   MDL_LOAD_ARRAY( &menu.model, &menu.items,   ent_menuitem, alloc );
+   MDL_LOAD_ARRAY( &menu.model, &menu.markers, ent_marker, alloc );
+   MDL_LOAD_ARRAY( &menu.model, &menu.cameras, ent_camera, alloc );
 
    vg_linear_clear( vg_mem.scratch );
 
@@ -252,9 +252,11 @@ static void menu_trigger_item( ent_menuitem *item ){
          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;