X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=build.c;h=eb3de6285879b9f7f6c3196dd3b32349447da76f;hb=304647a7672165dd35ffe54884ed9aedcc9bf363;hp=9367e81b64929c187d69d6ce5d32e2c337143100;hpb=a109f126d8adab622e38fbcc2d4281e75255246a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/build.c b/build.c index 9367e81..eb3de62 100644 --- a/build.c +++ b/build.c @@ -127,6 +127,8 @@ void build_shaders(void){ _S( "blitcolour","blit.vs", "colour.fs" ); _S( "blit_transition", "blit.vs", "blit_transition.fs" ); _S( "routeui", "routeui.vs", "routeui.fs" ); + + vg_build_shader_impl( "shaders/impl.c" ); } void build_game_content( struct vg_project *proj ) @@ -142,7 +144,7 @@ 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 ) @@ -163,7 +165,8 @@ void build_game_bin( struct vg_project *proj ) .log_source_info = 1, .steam_api = 1, .use_3d = 1, - .custom_game_settings = 0 + .custom_game_settings = 0, + .custom_shaders = 1 }); vg_add_source( proj, "skaterift.c " ); @@ -202,11 +205,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; @@ -239,7 +270,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; @@ -247,9 +279,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; @@ -257,7 +291,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" ) ) @@ -269,6 +304,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; }