#define SR_NETWORKED
#define VG_AUDIO_FORCE_COMPRESSED
+#define SDL_MAIN_HANDLED
#ifndef VG_RELEASE
#define VG_DEVWINDOW
#include "entity.c"
#include "workshop.c"
#include "addon.c"
-#include "highscores.c"
#include "save.c"
#include "world_map.c"
#include "network.c"
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;
}
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" );
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 );
//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
}
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();