X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=9c7da4f2eaec4e4a3f3b57a5ced60f57090483f5;hb=e5d79dc0355e04baecce8908e29b8e7569d1e857;hp=e8b1f4dd5e3dea85dee98e0abfe75372d50f0041;hpb=b3ca3b7a45eec11c46eb19772e10021177665adb;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index e8b1f4d..9c7da4f 100644 --- a/skaterift.c +++ b/skaterift.c @@ -11,6 +11,8 @@ * ============================================================================= */ +#if 1 + #define SR_NETWORKED #define VG_DEVWINDOW #include "common.h" @@ -23,6 +25,7 @@ #include "player.h" #include "entity.c" +#include "workshop.c" VG_STATIC struct player_avatar localplayer_avatar; VG_STATIC struct player_model localplayer_models[3]; @@ -32,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; @@ -78,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) @@ -130,6 +117,7 @@ VG_STATIC void vg_load(void) vg_loader_step( player_init, NULL ); vg_loader_step( player_ragdoll_init, NULL ); + vg_loader_step( workshop_init, NULL ); vg_loader_step( skateshop_init, NULL ); /* ----------------- */ @@ -149,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 ); } @@ -203,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; jrb_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 - } } @@ -255,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 } } @@ -301,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 ); @@ -355,7 +296,12 @@ VG_STATIC void render_scene(void) return; } - world_prerender( view_world ); + for( u32 i=0; i