X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=main.c;h=175f12efe879a4af4a8244c231bf57fd3f47117a;hb=89032d64e2867adb66e4598a0c66d3e853a22bb0;hp=8b2f5615193d5eb146719b4993bddc2c5ca16237;hpb=84a7ae83a25966e0004a1a4b409dbb3d49fae286;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/main.c b/main.c index 8b2f561..175f12e 100644 --- a/main.c +++ b/main.c @@ -17,9 +17,17 @@ vg_tex2d tex_water = { .path = "textures/water.qoi" }; static int debugview = 0; static int sv_debugcam = 0; static int lightedit = 0; -static int sv_scene = 1; +static int sv_scene = 0; /* Components */ +#define SR_NETWORKED + +/* uncomment this to run the game without any graphics being drawn */ +//#define SR_NETWORK_TEST + +#include "steam.h" +#include "network.h" + #include "road.h" #include "scene.h" #include "ik.h" @@ -38,9 +46,7 @@ static int sv_scene = 1; #include "shaders/standard.h" #include "shaders/unlit.h" -#ifndef VG_RELEASE #include "physics_test.h" -#endif void vg_register(void) { @@ -57,6 +63,7 @@ void vg_register(void) static void init_other(void) { + player_init(); render_init(); gate_init(); world_init(); @@ -77,7 +84,7 @@ vg_tex2d *texture_list[] = int main( int argc, char *argv[] ) { - vg_init( argc, argv, "CARBE" ); + vg_init( argc, argv, "Voyager Game Engine" ); } static int playermodel( int argc, char const *argv[] ) @@ -94,13 +101,7 @@ static int playermodel( int argc, char const *argv[] ) void vg_start(void) { - vg_convar_push( (struct vg_convar){ - .name = "scene", - .data = &sv_scene, - .data_type = k_convar_dtype_i32, - .opt_i32 = { .min=0, .max=1, .clamp=1 }, - .persistent = 1 - }); + steam_init(); vg_convar_push( (struct vg_convar){ .name = "fc", @@ -182,6 +183,8 @@ void vg_start(void) reset_player( 1, (const char *[]){ "start" } ); rb_init( &player.rb ); + + network_init(); } else { @@ -191,13 +194,19 @@ void vg_start(void) void vg_free(void) { + network_end(); vg_tex2d_free( texture_list, vg_list_size(texture_list) ); + /* TODO: THE REST OF THE GOD DAMN FREEING STUFF */ + steam_end(); } void vg_update(void) { + steam_update(); + if( sv_scene == 0 ) { + network_update(); player_update(); world_update(); //traffic_visualize( world.traffic, world.traffic_count ); @@ -240,7 +249,7 @@ static void render_main_game(void) gpipeline.fov = freecam? 60.0f: 135.0f; /* 120 */ m4x4_projection( vg_pv, gpipeline.fov, (float)vg_window_x / (float)vg_window_y, - 0.1f, 2100.0f ); + 0.02f, 2100.0f ); m4x4_mul( vg_pv, world_4x4, vg_pv ); @@ -249,20 +258,15 @@ static void render_main_game(void) /* * Draw world */ - + render_world( vg_pv, player.camera ); render_water_texture( player.camera ); glBindFramebuffer( GL_FRAMEBUFFER, 0 ); render_water_surface( vg_pv, player.camera ); - vg_tex2d_bind( &tex_water, 1 ); - - for( int i=0; i