X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.c;h=3cb9299dbe0b4d4cd9d86a7c54137d4fce465751;hb=refs%2Fheads%2Fmaster;hp=3190da1da6698b4007036b5fa049e3f3fbe01029;hpb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/build.c b/build.c index 3190da1..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,11 +219,39 @@ void compile_server( struct vg_project *proj ) vg_compile_project( proj ); } +void compile_tools( struct vg_project *proj ) +{ + vg_project_new_target( proj, "skaterift", k_obj_type_shared ); + vg_add_source( proj, "skaterift_lib.c " ); + vg_compile_project( proj ); +} + /* * Scripts * -------------------------------------------------------------------------- */ -void s_release_all(void){ +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" ); struct vg_project content_proj, windows_proj, linux_proj; @@ -242,7 +284,8 @@ void s_release_all(void){ fclose( fp ); } -void s_testing_build(void){ +void s_testing_build(void) +{ vg_info( "running script: s_testing_build(void)\n" ); struct vg_project test_proj; @@ -250,9 +293,11 @@ void s_testing_build(void){ build_game_bin( &test_proj ); build_game_content( &test_proj ); + vg_add_blob( &test_proj, "steam_appid.txt", "" ); } -void s_testing_server(void){ +void s_testing_server(void) +{ vg_info( "running script: s_testing_server(void)\n" ); struct vg_project test_proj; @@ -260,7 +305,8 @@ void s_testing_server(void){ compile_server( &test_proj ); } -int main( int argc, char *argv[] ){ +int main( int argc, char *argv[] ) +{ char *arg; while( vg_argp( argc, argv ) ){ if( vg_long_opt( "release-all" ) ) @@ -272,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; }