From e591be4b2ed26bbaaea79eff64e7b6070362a6ef Mon Sep 17 00:00:00 2001 From: hgn Date: Tue, 15 Nov 2022 21:05:11 +0000 Subject: [PATCH 1/1] refactor --- .gitignore | 58 ++++----------------------- build.c | 21 +++++----- build.sh | 2 +- common.h | 2 +- menu.h | 20 +++++----- play.sh | 3 -- player.h | 2 +- player_physics.h | 6 +++ server.c | 1 + skaterift.c | 100 ++++++----------------------------------------- steam.h | 7 +++- world_routes.h | 1 + 12 files changed, 56 insertions(+), 167 deletions(-) delete mode 100755 play.sh diff --git a/.gitignore b/.gitignore index a9534e4..510138c 100755 --- a/.gitignore +++ b/.gitignore @@ -1,55 +1,13 @@ -# Gitignore for MMV project. -# Whitelist mode +*.o +*.so +*.dll +*.log -# Ignore all but directories -* -!*/ +# soft links +steamworks_sdk +vg bin/ -restricted/ dist/ -# ALLOW ============================ -!.gitattributes -!.gitignore -!.gitmodules - -# Code sources _____________________ -# C source files -!*.c -!*.h - -# Blender projects -!*.blend - -# GLSL shader source files -!*.fs -!*.vs -!*.gls -!*.glsl - -# Python source files -!*.py - -# Build scripts -!*.sh -!*.bat -!*.conf - -# Compiled resources _______________ -# MMV proprietary files -!*.vmd -!*.vma -!*.cfg -!*.vmv -!*.map -!*.mdl - -# Other game assets (3rd party) -!*.bdf -!*.png -!*.ogg -!*.txt -!*.tga -!*.vdf -!*.qoi +compile_commands.json diff --git a/build.c b/build.c index bc6e81a..96a8930 100644 --- a/build.c +++ b/build.c @@ -1,3 +1,4 @@ +#include #include "vg/vg_platform.h" #include "vg/vg_log.h" #include "vg/vg_opt.h" @@ -15,7 +16,7 @@ void build_server( enum compiler compiler ) { vg_build_start( "skaterift_server", compiler ); vg_build_object( "server.c " ); - vg_build_link( "-pthread -lm -lsdkencryptedappticket -lsteam_api " ); + vg_build_link( "-lm -lsdkencryptedappticket -lsteam_api " ); vg_build_library_dir( "-L./vg/dep/steam " ); vg_build_bin_dependency_file( "vg/dep/steam/steamclient.so" ); @@ -42,7 +43,6 @@ void build_game( enum compiler compiler ) vg_build_symbolic_link( "sound_src", "sound" ); vg_build_syscall( "mkdir -p %s/cfg", vg_compiler.build_dir ); - vg_build_miniaudio(); vg_build(); compiled_something = 1; } @@ -72,6 +72,16 @@ int main( int argc, char *argv[] ) if( vg_long_opt( "mingw" ) ) build_game( k_compiler_mingw ); + if( vg_opt('p') || vg_long_opt("run") ) + { + chdir( vg_compiler.build_dir ); + if( vg_compiler.compiler == k_compiler_mingw ) + vg_build_syscall( "wine %s.exe", vg_compiler.name ); + else + vg_build_syscall( "./%s", vg_compiler.name ); + chdir( "../../" ); + } + if( vg_long_opt( "tar" ) || vg_opt( 't' ) ) { vg_build_syscall( "mkdir -p dist" ); @@ -80,13 +90,6 @@ int main( int argc, char *argv[] ) vg_compiler.name, uid, vg_compiler.build_dir ); } - if( vg_opt('p') || vg_long_opt("run") ) - { - chdir( vg_compiler.build_dir ); - vg_build_syscall( "./%s", vg_compiler.name ); - chdir( "../../" ); - } - if( vg_long_opt( "zip" ) || vg_opt( 'z' ) ) { vg_build_syscall( "mkdir -p dist" ); diff --git a/build.sh b/build.sh index f6ac629..d807648 100755 --- a/build.sh +++ b/build.sh @@ -1 +1 @@ -clang -fsanitize=address -O0 -Ivg/src build.c -o /tmp/tmpsr && /tmp/tmpsr $@ +clang -fsanitize=address -O0 -I./vg build.c -o /tmp/tmpsr && /tmp/tmpsr $@ diff --git a/common.h b/common.h index e9df311..c3f3e69 100644 --- a/common.h +++ b/common.h @@ -9,7 +9,7 @@ #define VG_3D #define VG_FRAMEBUFFER_RESIZE 1 #include "vg/vg.h" -#include "anyascii/anyascii.h" +#include "submodules/anyascii/impl/c/anyascii.c" #define RESET_MAX_TIME 45.0 diff --git a/menu.h b/menu.h index 2945449..e52f3d7 100644 --- a/menu.h +++ b/menu.h @@ -7,10 +7,8 @@ #include "player.h" #include "shaders/menu.h" -#include "vg/vg_steam_friends.h" - -#define CUTE_FILES_IMPLEMENTATION -#include "vg/dep/randygaul/cute_files.h" +#include "vg_steam_friends.h" +#include "submodules/tinydir/tinydir.h" VG_STATIC mdl_context menu_model; VG_STATIC glmesh menu_glmesh; @@ -194,7 +192,7 @@ VG_STATIC void menu_btn_reset( int event ) VG_STATIC void menu_btn_fuckoff( int event ) { - glfwSetWindowShouldClose( vg.window, 1 ); + vg.window_should_close = 1; } VG_STATIC void menu_btn_quit( int event ) @@ -220,13 +218,13 @@ VG_STATIC void menu_btn_map( int event ) game_menu.map_count = 0; game_menu.selected_map = 0; - cf_dir_t dir; - cf_dir_open( &dir, "maps" ); + tinydir_dir dir; + tinydir_open( &dir, "maps" ); while( dir.has_next ) { - cf_file_t file; - cf_read_file( &dir, &file ); + tinydir_file file; + tinydir_readfile( &dir, &file ); if( file.is_reg ) { @@ -240,10 +238,10 @@ VG_STATIC void menu_btn_map( int event ) break; } - cf_dir_next( &dir ); + tinydir_next( &dir ); } - cf_dir_close(&dir); + tinydir_close(&dir); } VG_STATIC void menu_crap_ui(void) diff --git a/play.sh b/play.sh deleted file mode 100755 index b2c57c9..0000000 --- a/play.sh +++ /dev/null @@ -1,3 +0,0 @@ -cd bin/skaterift-clang/ -./skaterift $@ -cd ../../ diff --git a/player.h b/player.h index d303891..d0ce431 100644 --- a/player.h +++ b/player.h @@ -395,7 +395,7 @@ VG_STATIC void player_mouseview(void) v2_muladds( player.angles, vg.mouse_delta, 0.0025f, player.angles ); - if( vg.gamepad_use_trackpad_look ) + if( vg_input.controller_should_use_trackpad_look ) { static v2f last_input; static v2f vel; diff --git a/player_physics.h b/player_physics.h index 9d58e17..e396e00 100644 --- a/player_physics.h +++ b/player_physics.h @@ -456,6 +456,12 @@ VG_STATIC void player_walk_physics(void) } v3_add( dt, phys->rb.co, phys->rb.co ); + if( len ) + { + struct world_material *surface_mat = world_contact_material(manifold); + player.surface_prop = surface_mat->info.surface_prop; + } + /* jump */ if( player.input_jump->button.value ) { diff --git a/server.c b/server.c index 4b088c1..e3149c9 100644 --- a/server.c +++ b/server.c @@ -11,6 +11,7 @@ #define _DEFAULT_SOURCE #include #include +#include volatile sig_atomic_t sig_stop; diff --git a/skaterift.c b/skaterift.c index 97f6553..d4bf10c 100644 --- a/skaterift.c +++ b/skaterift.c @@ -9,22 +9,10 @@ * ' ' '--' [] '----- '----- ' ' '---' SOFTWARE * * ============================================================================= - * - * register: shader register & init scheduling - * init: initialization - * update: logic - * render: graphics - * free: resource free - * */ -#define VG_3D #define VG_STATIC static -//#define VG_STATIC - -//#define VG_MINIMAL_TEST -#ifndef VG_MINIMAL_TEST - +#define VG_GAME #define SR_NETWORKED #include "common.h" @@ -43,6 +31,8 @@ int main( int argc, char *argv[] ) vg_mem.use_libc_malloc = 0; vg_set_mem_quota( 128*1024*1024 ); vg_enter( argc, argv, "Voyager Game Engine" ); + + return 0; } VG_STATIC void highscores_save_at_exit(void*_) @@ -50,9 +40,13 @@ VG_STATIC void highscores_save_at_exit(void*_) highscores_serialize_all(); } -VG_STATIC void vg_preload(void) +VG_STATIC void vg_launch_opt(void) { +} + +VG_STATIC void vg_preload(void) +{ vg_convar_push( (struct vg_convar){ .name = "cl_ui", .data = &cl_ui, @@ -352,11 +346,11 @@ VG_STATIC void run_debug_info(void) player.phys.rb.co[0], player.phys.rb.co[1], player.phys.rb.co[2] ); ui_text( (ui_px [2]){ 0, 40 }, buf, 1, k_text_align_left ); - if( vg.gamepad_ready ) + if( vg_input.controller_handle ) { - for( int i=0; i<6; i++ ) + for( int i=0; i #include "world.h" #include "world_gate.h" -- 2.25.1