From 9102fff33bcc3f6f5d845ed24710286e41a5ea64 Mon Sep 17 00:00:00 2001 From: c0repwn3r Date: Fri, 14 Apr 2023 11:31:14 -0400 Subject: [PATCH] update spacetime for new client --- spacetime | 27 ++--------------- spacetime_py/spacetime.py | 63 +-------------------------------------- 2 files changed, 3 insertions(+), 87 deletions(-) diff --git a/spacetime b/spacetime index 8f3c7616acade30d3b2537147b74d079a371ccef..41c01704c70fa7dadebd9879e4e40f5f59823873 100755 --- a/spacetime +++ b/spacetime @@ -4,7 +4,6 @@ set -e SCRIPT_PATH=$(readlink -f "${BASH_SOURCE:-$0}") SCRIPT_DIR=$(dirname "$SCRIPT_PATH") -CLIENT_MODS=${STK_CLIENT_MODULES:-"textures-slow renderer-playercentric"} SERVER_MODS=${STK_SERVER_MODULES:=""} exec_spacetime() { @@ -25,13 +24,10 @@ sub_help() { echo "Available targets:" echo " help - Show this help screen" # done echo " run_http - Compile the client and run a development http server for testing it" # done - echo " run_http_prod - Compile the client in production mode and run a development http server for testing it" # done echo " run_server (default) - Compile and run the game server" # done echo " build_server - Compile the game server" # done echo " run_server_prod - Compile and run the game server with optimizations enabled" # done echo " build_server_prod - Compile the game server with optimizations enabled" # done - echo " build_client_bundle - Compile an optimized WebAssembly client bundle" # done - echo " build_client_bundle_prod - Compile an optimized WebAssembly client bundle using textures-fast" # done echo " install_tooling - Install the compilation utilities required for compiling StarKingdoms" # done echo " build_assets - Compile spritesheets in all three texture sizes for textures-fast" # done echo " build_assets_full - Compile spritesheets in full size for textures-fast" # done @@ -79,30 +75,11 @@ sub_install_tooling() { echo "[*] All required tools are installed" } -sub_build_client_bundle() { - check_all - exec_spacetime client dev "$SCRIPT_DIR" "$CLIENT_MODS" - exec_ninja client -} - sub_run_http() { - check_all - exec_spacetime client dev "$SCRIPT_DIR" "$CLIENT_MODS" - exec_ninja client - cd web && python3 -m http.server -} - -sub_build_client_bundle_prod() { check_all exec_spacetime client prod "$SCRIPT_DIR" "$CLIENT_MODS" - exec_ninja client -} - -sub_run_http_prod() { - check_all - exec_spacetime client prod "$SCRIPT_DIR" "$CLIENT_MODS" - exec_ninja client - cd web && python3 -m http.server + exec_ninja asset + cd client && yarn && yarn run dev } sub_build_server() { diff --git a/spacetime_py/spacetime.py b/spacetime_py/spacetime.py index 72d3aefce9d6beca3ac8594b57cd520bc019eb34..2f2012f8411ace747c0c3b3326250d45fe635815 100644 --- a/spacetime_py/spacetime.py +++ b/spacetime_py/spacetime.py @@ -57,64 +57,6 @@ def gen_inkscape_rules_for_asset(root, asset, writer, files_375, files_full, fil writer.build([out_375], rule_375, [in_file]) writer.build([out_125], rule_125, [in_file]) - -def gen_rules_for_client(root, env, writer, modules): - if env == 'dev': - writer.rule('cargo-client', f'wasm-pack build --target web client --features "{modules}"', - depfile=f'{root}/target/wasm32-unknown-unknown/release/starkingdoms_client.d', pool='console') - elif env == 'prod': - writer.rule('cargo-client', - f'wasm-pack build --target web client --features "{modules}"', - depfile=f'{root}/target/wasm32-unknown-unknown/release/starkingdoms_client.d', pool='console') - writer.build( - [ - f'{root}/client/pkg/.gitignore', - f'{root}/client/pkg/package.json', - f'{root}/client/pkg/starkingdoms_client.d.ts', - f'{root}/client/pkg/starkingdoms_client.js', - f'{root}/client/pkg/starkingdoms_client_bg.wasm', - f'{root}/client/pkg/starkingdoms_client_bg.wasm.d.ts', - f'{root}/target/wasm32-unknown-unknown/release/starkingdoms_client.wasm' - ], - 'cargo-client', - [ - f'{root}/assets/dist/spritesheet-125', - f'{root}/assets/dist/spritesheet-125.png', - f'{root}/assets/dist/spritesheet-125.ron', - f'{root}/assets/dist/spritesheet-375', - f'{root}/assets/dist/spritesheet-375.png', - f'{root}/assets/dist/spritesheet-375.ron', - f'{root}/assets/dist/spritesheet-full', - f'{root}/assets/dist/spritesheet-full.png', - f'{root}/assets/dist/spritesheet-full.ron', - ] - ) - - writer.rule('client-copy-file', f'rm -rf {root}/web/dist && cp -r {root}/client/pkg {root}/web/dist') - - writer.build( - [ - f'{root}/web/dist/.gitignore', - f'{root}/web/dist/package.json', - f'{root}/web/dist/starkingdoms_client.d.ts', - f'{root}/web/dist/starkingdoms_client.js', - f'{root}/web/dist/starkingdoms_client_bg.wasm', - f'{root}/web/dist/starkingdoms_client_bg.wasm.d.ts' - ], - 'client-copy-file', - [ - f'{root}/client/pkg/.gitignore', - f'{root}/client/pkg/package.json', - f'{root}/client/pkg/starkingdoms_client.d.ts', - f'{root}/client/pkg/starkingdoms_client.js', - f'{root}/client/pkg/starkingdoms_client_bg.wasm', - f'{root}/client/pkg/starkingdoms_client_bg.wasm.d.ts', - ], - ) - - writer.build(['client'], 'phony', [f'{root}/web/dist/starkingdoms_client.js']) - - def gen_rules_for_server(root, env, writer, modules): if env == 'dev': out_dir = 'debug' @@ -190,14 +132,11 @@ def main(): writer.comment('Generated by spacetime.py') writer.comment('Do not manually edit this file') - if env == 'prod' or target == 'asset': + if target == 'client' or target == 'asset': assets = scan_assets(root) if verbose: print(f'[spacetime -v] discovered assets: {assets}') generate_assets_build_command(root, assets, writer) - - if target == 'client': - gen_rules_for_client(root, env, writer, modules) elif target == 'server': gen_rules_for_server(root, env, writer, modules)