X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=be4084ef8588c6a2b9b41159a7a8002cc1ca6cab;hb=4c3dc94e7221f599491e7d111cac3d51d8d83b17;hp=00fb7d5656a4f31e9d0a6df390ecfaa2573a855d;hpb=237b1d672a077702267b4ceedd0479bdc62ccedc;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index 00fb7d5..be4084e 100644 --- a/skaterift.c +++ b/skaterift.c @@ -13,6 +13,7 @@ #define SR_NETWORKED #define VG_AUDIO_FORCE_COMPRESSED +#define SDL_MAIN_HANDLED #ifndef VG_RELEASE #define VG_DEVWINDOW @@ -47,7 +48,6 @@ #include "entity.c" #include "workshop.c" #include "addon.c" -#include "highscores.c" #include "save.c" #include "world_map.c" #include "network.c" @@ -164,6 +164,7 @@ static void skaterift_restore_state(void){ static addon_reg *skaterift_mount_world_unloadable( const char *path, u32 ext ){ addon_reg *reg = addon_mount_local_addon( path, k_addon_type_world, ".mdl" ); + if( !reg ) vg_fatal_error( "world not found\n" ); reg->flags |= (ADDON_REG_HIDDEN | ext); return reg; } @@ -176,6 +177,7 @@ static void skaterift_load_world_content(void){ skaterift_mount_world_unloadable( "maps/mp_mtzero", ADDON_REG_MTZERO|ADDON_REG_PREMIUM ); skaterift_mount_world_unloadable( "maps/dev_tutorial", 0 ); + skaterift_mount_world_unloadable( "maps/dev_flatworld", 0 ); world_static.load_state = k_world_loader_load; @@ -193,6 +195,7 @@ static void skaterift_load_player_content(void){ replay_clear( &skaterift.replay ); particle_alloc( &particles_grind, 300 ); + particle_alloc( &particles_env, 200 ); player_load_animation_reference( "models/ch_none.mdl" ); player_model_load( &localplayer.fallback_model, "models/ch_none.mdl" ); @@ -226,6 +229,7 @@ static void vg_load(void){ vg_loader_step( addon_system_init, NULL ); vg_loader_step( workshop_init, NULL ); vg_loader_step( skateshop_init, NULL ); + vg_loader_step( ent_tornado_init, NULL ); vg_loader_step( skaterift_load_player_content, NULL ); @@ -499,6 +503,11 @@ static void render_scene(void){ //particle_system_debug( &particles_grind ); particle_system_prerender( &particles_grind ); particle_system_render( &particles_grind, &skaterift.cam ); + + ent_tornado_pre_update(); + particle_system_update( &particles_env, vg.time_delta ); + particle_system_prerender( &particles_env ); + particle_system_render( &particles_env, &skaterift.cam ); /* * render transition @@ -585,7 +594,9 @@ static void render_main_game(void){ } else{ player__animate(); - skaterift_record_frame( &skaterift.replay, 0 ); + skaterift_record_frame( &skaterift.replay, + localplayer.deferred_frame_record ); + localplayer.deferred_frame_record = 0; } animate_remote_players(); player__pre_render(); @@ -668,6 +679,9 @@ static void vg_render(void){ static void vg_gui(void){ if( skaterift.op == k_async_op_clientloading ) return; + vg_ui.tex_bg = gpipeline.fb_main->attachments[0].id; + render_fb_inverse_ratio( gpipeline.fb_main, vg_ui.bg_inverse_ratio ); + menu_update(); if( skaterift.activity == k_skaterift_menu ){ glClear( GL_DEPTH_BUFFER_BIT );