From ba9ec951d2343924239c1a2a2918110489e73603 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 7 Sep 2026 22:10:35 -0400 Subject: [PATCH] merge game/design; wire; readme --- CMakeLists.txt | 3 ++- README.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29c8787..a900b38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ add_subdirectory(src/mars/vfs) # .gob ZIP reader + native override (lib mars add_subdirectory(src/mars/stream) # Streamable save format + gzip (lib mars_stream) add_subdirectory(src/mars/rng) # MT19937 (lib mars_rng) add_subdirectory(src/game/data) # typed catalogs on mars/parse+text (lib game_data) +add_subdirectory(src/game/design) # ship-design rules + derived stats (lib game_design) # ---- shim trace/compare infrastructure (host-testable; linked into binkw32) ---- add_library(shim_trace STATIC @@ -60,7 +61,7 @@ else() add_executable(addr_smoke tests/addr_smoke.cpp) target_link_libraries(addr_smoke PRIVATE sots_addresses) add_test(NAME addr_smoke COMMAND addr_smoke) - foreach(_t mars_parse mars_text game_sim mars_vfs mars_stream shim_trace game_data) + foreach(_t mars_parse mars_text game_sim mars_vfs mars_stream shim_trace game_data game_design) if(EXISTS ${CMAKE_SOURCE_DIR}/tests/${_t}/CMakeLists.txt) add_subdirectory(tests/${_t}) endif() diff --git a/README.md b/README.md index d222b4a..ba13c55 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ loads) builds, deploys, hooks, and logs from a real game launch. Engine code acc - `mars/stream` — the game's self-describing save/serialization format (reader, writer, typed shapes) + gzip; three real saves round-trip byte-identical - `mars/rng` — MT19937 with save-state load/store; layout confirmed against real saves - `game/data` — typed catalogs (weapons, ship sections, turrets, id registries, tech tree, strings) with cross-reference checks; 229k values agree with the reference +- `game/design` — ship-design assembly/fit/tech-gating rules and derived stats; validates all 127 stock designs from real saves Build: `cmake --preset host && cmake --build --preset host && ctest --preset host` (Linux); `tools/sync-build.sh` cross-builds the shim on the lab box and stages it for deployment.