@@ 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() {
@@ 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)