maths api changes
[carveJwlIkooP6JGAAIwe30JlM.git] / skaterift.c
index fedaa3d8728b6b17dbf563784744c2d57c175e0f..9409bf33b8d5aac08b06b1d054ce2e104f590f38 100644 (file)
@@ -35,14 +35,6 @@ VG_STATIC int skaterift_status = 0;
 #include "menu.h"
 #include "vehicle.h"
 
-#define DEV_AARON
-#ifdef DEV_AARON
-static rb_object aaron={
-   .type=k_rb_shape_box,
-   .rb.bbx = {{ -2.0f, -1.0f, -1.0f }, { 2.0f, 1.0f, 1.0f }}
-};
-#endif
-
 int main( int argc, char *argv[] )
 {
    vg_mem.use_libc_malloc = 0;
@@ -81,14 +73,6 @@ vg_info("            '        ' '--' [] '----- '----- '     ' '---'  "
    steam_init();
    vg_loader_step( NULL, steam_end );
    vg_loader_step( network_init, network_end );
-
-#ifdef DEV_AARON
-   q_identity( aaron.rb.q );
-   v3_zero( aaron.rb.w );
-   v3_zero( aaron.rb.co );
-   v3_zero( aaron.rb.v );
-   rb_init_object( &aaron );
-#endif
 }
 
 VG_STATIC void load_playermodels(void)
@@ -153,23 +137,13 @@ VG_STATIC void vg_load(void)
    vg_loader_step( audio_init, audio_free );
 
    /* '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 );
 }
@@ -207,29 +181,6 @@ VG_STATIC void vg_update_fixed(void)
 
       player__update( &localplayer );
       vehicle_update_fixed();
-
-#ifdef DEV_AARON
-      world_instance *world = get_active_world();
-      rb_solver_reset();
-      rb_ct *buf = rb_global_buffer();
-
-      int l = rb_box__scene( aaron.rb.to_world, aaron.rb.bbx,
-                             NULL, &world->rb_geo.inf.scene, buf );
-      for( int j=0; j<l; j++ ){
-         buf[j].rba = &aaron.rb;
-         buf[j].rbb = &world->rb_geo.rb;
-      }
-      rb_contact_count += l;
-      rb_presolve_contacts( rb_contact_buffer, rb_contact_count );
-
-      for( int j=0; j<8; j++ ){
-         rb_solve_contacts( rb_contact_buffer, rb_contact_count );
-      }
-
-      rb_iter( &aaron.rb );
-      rb_update_transform( &aaron.rb );
-#endif
-
    }
 }
 
@@ -259,22 +210,8 @@ 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();
-
-#ifdef DEV_AARON
-      SDL_Scancode sc = SDL_GetScancodeFromKey( SDLK_q );
-      if( vg_input.sdl_keys[sc] ){
-         m4x3_mulv( main_camera.transform, (v3f){0.0f,0.0f,-3.0f}, 
-                    aaron.rb.co );
-
-         v3_zero( aaron.rb.v );
-         v3_zero( aaron.rb.w );
-         rb_update_transform( &aaron.rb );
-      }
-
-      rb_object_debug( &aaron, VG__PINK );
-#endif
    }
 }
 
@@ -305,7 +242,7 @@ VG_STATIC void present_view_with_post_processing(void)
       shader_blitblur_uInverseRatio( inverse );
 
       v2f menu_blurring;
-      v2_muls( (v2f){ 0.04f, 0.001f }, menu_opacity, menu_blurring );
+      v2_muls( (v2f){ 0.04f, 0.001f }, menu.factive, menu_blurring );
       shader_blitblur_uOverrideDir( menu_blurring );
 
       render_fb_bind_texture( gpipeline.fb_main, 0, 0 );
@@ -379,34 +316,10 @@ VG_STATIC void render_scene_gate_subview(void)
 
 VG_STATIC void render_main_game(void)
 {
-#if 0
-   static float fov = 60.0f;
-   float fov_target = vg_lerpf( 90.0f, 110.0f, cl_fov );
-
-   if( player.controller == k_player_controller_skate )
-      fov_target = vg_lerpf( 97.0f, 135.0f, cl_fov );
-
-   if( cl_menu )
-      fov_target = menu_fov_target;
-   fov = vg_lerpf( fov, fov_target, vg.frame_delta * 2.0f );
-   fov = freecam? 60.0f: fov;
-
-   main_camera.fov   = fov;
-#endif
-
    player__pre_render( &localplayer );
-
-   v3_lerp( localplayer.cam.pos, menu_camera_pos, menu_opacity, 
-            main_camera.pos );
-   main_camera.angles[0] = 
-      vg_alerpf(  localplayer.cam.angles[0], menu_camera_angles[0], 
-                  menu_opacity );
-   main_camera.angles[1] = 
-      vg_lerpf ( localplayer.cam.angles[1], menu_camera_angles[1], 
-                 menu_opacity );
-
-   main_camera.fov = vg_lerpf( localplayer.cam.fov, menu_smooth_fov,
-                               menu_opacity );
+   main_camera.fov = localplayer.cam.fov;
+   v3_copy( localplayer.cam.pos, main_camera.pos );
+   v3_copy( localplayer.cam.angles, main_camera.angles );
 
    main_camera.nearz = 0.1f;
    main_camera.farz  = 2100.0f;
@@ -430,20 +343,12 @@ VG_STATIC void render_main_game(void)
 
    render_scene();
 
-   if( cl_menu ) {
-      //glClear( GL_DEPTH_BUFFER_BIT );
-      menu_render_bg();
-      glEnable( GL_DEPTH_TEST );
-   }
+   glEnable( GL_DEPTH_TEST );
 
    render_player_transparent();
    render_scene_gate_subview();
 
    present_view_with_post_processing();
-
-   if( cl_menu )
-      menu_render_fg( &main_camera );
-
    /* =========== End Frame =========== */
 }
 
@@ -458,6 +363,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 );
@@ -480,14 +386,18 @@ 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
    world_instance *world = get_active_world();
-   menu_crap_ui();
 
    workshop_form_gui();
-   
    render_view_framebuffer_ui();
 }