merge mars/vfs; wire into host + shim builds; readme

This commit is contained in:
alex 2026-09-07 17:41:28 -04:00
parent 08a129e453
commit 352577a48f
2 changed files with 3 additions and 1 deletions

View file

@ -21,6 +21,7 @@ target_include_directories(sots_addresses INTERFACE ${CMAKE_SOURCE_DIR}/include)
add_subdirectory(src/mars/parse) # brace-block + .effect readers (lib mars_parse)
add_subdirectory(src/mars/text) # flat-kv, id-manifest, csv (lib mars_text)
add_subdirectory(src/game/sim) # strategic formulas, pure (lib sots_game_sim)
add_subdirectory(src/mars/vfs) # .gob ZIP reader + native override (lib mars_vfs, miniz)
if(WIN32)
# ---- shim: proxy binkw32.dll that the original game loads (Phase 2 frontend) ----
@ -44,7 +45,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)
foreach(_t mars_parse mars_text game_sim mars_vfs)
if(EXISTS ${CMAKE_SOURCE_DIR}/tests/${_t}/CMakeLists.txt)
add_subdirectory(tests/${_t})
endif()

View file

@ -15,6 +15,7 @@ loads) builds, deploys, hooks, and logs from a real game launch. Engine code acc
- `mars/parse` — brace-block + `.effect` readers (1,531/1,531 files agree with the reference)
- `mars/text` — flat key/value tables, id manifests, CSV (64/64 files agree)
- `game/sim` — strategic formulas (economy, research, colonies, movement) as pure functions; 356 hand-computed checks
- `mars/vfs` — `.gob` (ZIP) archive reader + loose-file override; entry counts and bytes verified against `unzip`
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.