From 750ad59ff70ed45e2ca86fb69266d8817c51473c Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 7 Sep 2026 17:55:08 -0400 Subject: [PATCH] merge game/data; wire into builds; readme --- CMakeLists.txt | 3 ++- README.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a070efd..29c8787 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,7 @@ add_subdirectory(src/game/sim) # strategic formulas, pure (lib sots add_subdirectory(src/mars/vfs) # .gob ZIP reader + native override (lib mars_vfs, miniz) 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) # ---- shim trace/compare infrastructure (host-testable; linked into binkw32) ---- add_library(shim_trace STATIC @@ -59,7 +60,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) + foreach(_t mars_parse mars_text game_sim mars_vfs mars_stream shim_trace game_data) if(EXISTS ${CMAKE_SOURCE_DIR}/tests/${_t}/CMakeLists.txt) add_subdirectory(tests/${_t}) endif() diff --git a/README.md b/README.md index ebb6eac..d222b4a 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ loads) builds, deploys, hooks, and logs from a real game launch. Engine code acc - `mars/vfs` — `.gob` (ZIP) archive reader + loose-file override; entry counts and bytes verified against `unzip` - `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 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.