mission is possible
[carveJwlIkooP6JGAAIwe30JlM.git] / skaterift.c
index 742bd5905150399a50ecf64a30843647938fa890..9c7da4f2eaec4e4a3f3b57a5ced60f57090483f5 100644 (file)
@@ -139,20 +139,11 @@ VG_STATIC void vg_load(void)
    /* 'systems' are completely loaded now */
    /* load home world */
 
-#if 1
    world_load( 0, "maps/mp_spawn.mdl" );
-#else
-   world_load( 0, "maps/mp_mtzero.mdl" );
-#endif
-
-#if 0
-   world_load( &world_global.worlds[1], "maps/mp_gridmap.mdl" );
-   world_link_nonlocal_gates( 0, 1 );
-   world_load( &world_global.worlds[2], "maps/mp_mtzero.mdl" );
-   world_link_nonlocal_gates( 0, 2 );
-#endif
+   world_load( 1, "maps/mp_mtzero.mdl" );
 
    vg_console_load_autos();
+   menu_link();
 
    vg_async_call( async_skaterift_complete, NULL, 0 );
 }
@@ -219,7 +210,6 @@ VG_STATIC void vg_update_post(void)
       v3_copy( localplayer.rb.v, vg_audio.external_lister_velocity );
       audio_unlock();
 
-      menu_update();
       vg.time_rate = 1.0f-menu.factive;
       vehicle_update_post();
    }
@@ -306,7 +296,12 @@ VG_STATIC void render_scene(void)
       return;
    }
 
-   world_prerender( view_world );
+   for( u32 i=0; i<vg_list_size(world_global.worlds); i++ ){
+      if( world_global.worlds[i].status == k_world_status_loaded ){
+         world_prerender( &world_global.worlds[i] );
+      }
+   }
+
    render_world( view_world, &main_camera, 0 );
 
    render_water_texture( view_world, &main_camera, 0 );
@@ -353,16 +348,12 @@ VG_STATIC void render_main_game(void)
 
    render_scene();
 
-   if( menu.active ) menu_render_bg();
    glEnable( GL_DEPTH_TEST );
 
    render_player_transparent();
    render_scene_gate_subview();
 
    present_view_with_post_processing();
-
-   if( menu.active ) menu_render_fg();
-
    /* =========== End Frame =========== */
 }
 
@@ -377,6 +368,7 @@ VG_STATIC void vg_render(void)
 
    glViewport( 0,0, vg.window_x, vg.window_y );
    glDisable( GL_DEPTH_TEST );
+   glDisable( GL_BLEND );
 
    glClearColor( 1.0f, 0.0f, 0.0f, 0.0f );
    glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
@@ -399,6 +391,12 @@ VG_STATIC void vg_gui(void)
       return;
    }
 
+   menu_update();
+   if( menu.active ){
+      glClear( GL_DEPTH_BUFFER_BIT );
+      menu_render();
+   }
+
 #if 0
    player__im_gui( &localplayer );
 #endif