* =============================================================================
*
* Copyright . . . -----, ,----- ,---. .---.
- * 2021-2023 |\ /| | / | | | | /|
+ * 2021-2024 |\ /| | / | | | | /|
* | \ / | +-- / +----- +---' | / |
* | \ / | | / | | \ | / |
* | \/ | | / | | \ | / |
#define SR_NETWORKED
#define VG_AUDIO_FORCE_COMPRESSED
+#define SDL_MAIN_HANDLED
+#define SR_ALLOW_REWIND_HUB
#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"
#include "particle.c"
#include "player_effects.c"
#include "freecam.c"
+#include "testing.c"
+#include "trail.h"
+#include "trail.c"
static int k_tools_mode = 0;
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( testing_init, NULL );
+ vg_loader_step( trail_init, NULL );
+ vg_loader_step( particle_init, NULL );
vg_loader_step( skaterift_load_player_content, NULL );
world_routes_fixedupdate( world_current_instance() );
player__update();
vehicle_update_fixed();
+ testing_update();
}
static void vg_post_update(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 );
+
+ player_glide_render_effects( &skaterift.cam );
/*
* render transition
static void vg_gui(void){
if( skaterift.op == k_async_op_clientloading ) return;
+ if( k_tools_mode ){
+ ui_rect null;
+ ui_rect screen = { 0, 0, vg.window_x, vg.window_y };
+ ui_rect panel = { 0, 0, 1000, 700 };
+ ui_rect_center( screen, panel );
+ vg_ui.wants_mouse = 1;
+
+ ui_fill( panel, ui_colour( k_ui_bg+1 ) );
+ ui_outline( panel, 1, ui_colour( k_ui_bg+7 ), 0 );
+
+ ui_rect_pad( panel, (ui_px[2]){ 8, 8 } );
+
+ static i32 example;
+ ui_enum( panel, "example enum", vg_settings_vsync_enum, 3, &example );
+
+ static f32 val = 30.0f;
+ ui_slider( panel, "Slider", 0.0f, 100.0f, &val, NULL );
+
+ ui_dev_colourview();
+
+ static v4f colour = { 0.5f, 0.6f, 0.1f, 1.0f };
+ ui_colourpicker( panel, "hello", colour );
+
+ return;
+ }
+
+ if( k_light_editor )
+ imgui_world_light_edit( world_current_instance() );
+
vg_ui.tex_bg = gpipeline.fb_main->attachments[0].id;
render_fb_inverse_ratio( gpipeline.fb_main, vg_ui.bg_inverse_ratio );