X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.c;h=3cb9299dbe0b4d4cd9d86a7c54137d4fce465751;hb=refs%2Fheads%2Fmaster;hp=94869b4874606405bdc715fbb3078875c2baedd5;hpb=b440efbe5785d114d08bb3f5ec0e09cad943006d;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/build.c b/build.c index 94869b4..3cb9299 100644 --- a/build.c +++ b/build.c @@ -7,6 +7,12 @@ #include "vg/vg_msg.h" #include "addon_types.h" +#define C0_STOPGAP +#include "vg/vg_m.h" +#include "model.h" +#include "model.c" +#include "c0_stopgap.c" + /* * Addon metadata utilities * -------------------------------------------------------------------------- */ @@ -144,18 +150,21 @@ void build_game_content( struct vg_project *proj ) vg_syscall( "mkdir -p bin/%s/cfg", proj->uid.buffer ); vg_syscall( "mkdir -p bin/%s/savedata", proj->uid.buffer ); vg_syscall( "mkdir -p bin/%s/tools", proj->uid.buffer ); - vg_syscall( "cp blender_export.py bin/%s/tools/", proj->uid.buffer ); + vg_syscall( "cp bin/skaterift_blender.zip bin/%s/tools/", proj->uid.buffer ); } void build_game_bin( struct vg_project *proj ) { static int meta = 0; - if( !meta ){ + if( !meta ) + { meta = 1; build_shaders(); build_game_metadata(); vg_low( "\n\n" ); } + +#include "control_overlay.h" vg_project_new_target( proj, "skaterift", k_obj_type_exe ); vg_add_engine( proj, &(struct vg_engine_config ) @@ -169,6 +178,11 @@ void build_game_bin( struct vg_project *proj ) .custom_shaders = 1 }); + if( proj->env->platform == k_platform_windows ) + { + vg_link( proj, "-lws2_32 " ); + } + vg_add_source( proj, "skaterift.c " ); vg_add_controller_database( proj ); vg_compile_project( proj ); @@ -205,23 +219,37 @@ void compile_server( struct vg_project *proj ) vg_compile_project( proj ); } -void compile_tools( struct vg_env *env, struct vg_project *proj ) +void compile_tools( struct vg_project *proj ) { - struct vg_env backup = *env; - env->optimization = 3; /* force optimization always */ - env->debug_asan = 0; - - vg_project_new_target( proj, "tools/qoi", k_obj_type_shared ); - vg_add_source( proj, "qoi_lib.c " ); + vg_project_new_target( proj, "skaterift", k_obj_type_shared ); + vg_add_source( proj, "skaterift_lib.c " ); vg_compile_project( proj ); - - *env = backup; } /* * Scripts * -------------------------------------------------------------------------- */ +void s_compile_tools(void) +{ + vg_info( "running script: s_compile_tools(void)\n" ); + struct vg_env env = vg_release_env; + env.platform = k_platform_linux; + + struct vg_project windows_proj, linux_proj; + vg_project_init( &linux_proj, &env, "skaterift-tools" ); + compile_tools( &linux_proj ); + + env.platform = k_platform_windows; + vg_project_init( &windows_proj, &env, "skaterift-tools" ); + compile_tools( &windows_proj ); + + vg_syscall("cp %s skaterift_blender/", linux_proj.compiled_objects.buffer ); + vg_syscall("cp %s skaterift_blender/", windows_proj.compiled_objects.buffer); + vg_syscall( "zip -r bin/skaterift_blender.zip skaterift_blender/ " + "-x skaterift_blender/__pycache__/\\*"); +} + void s_release_all(void) { vg_info( "running script: s_release_all(void)\n" ); @@ -238,14 +266,12 @@ void s_release_all(void) env.platform = k_platform_windows; vg_project_init( &windows_proj, &env, "skaterift" ); build_game_bin( &windows_proj ); - compile_tools( &env, &windows_proj ); /* binaries for linux */ env = vg_release_env; env.platform = k_platform_linux; vg_project_init( &linux_proj, &env, "skaterift" ); build_game_bin( &linux_proj ); - compile_tools( &env, &linux_proj ); /* package them up for storage */ vg_tarball_project( &content_proj ); @@ -266,7 +292,6 @@ void s_testing_build(void) vg_project_init( &test_proj, &vg_test_env, "skaterift-test" ); build_game_bin( &test_proj ); - compile_tools( &vg_test_env, &test_proj ); build_game_content( &test_proj ); vg_add_blob( &test_proj, "steam_appid.txt", "" ); } @@ -293,6 +318,9 @@ int main( int argc, char *argv[] ) if( vg_long_opt( "testing-server" ) ) s_testing_server(); + if( vg_long_opt( "tools" ) ) + s_compile_tools(); + if( vg_opt('r') ) vg_test_env.optimization = 3; }