Pure module game/sim/techgraph: PrereqsMet (AND of ORs, empty group fails), SetResearched (stamps, child-cost sweep, sticky turnAvailable, zero-cost recursion) and the newly-available collector, all read out of 0x00581e10, 0x0057d8e0 and 0x00587cc3. Wired into the B3 hook in compare mode only, over the scratch node copies: four more node write-backs, the EVENT_TECHS_UNLOCKED list (still an input, still nullptr when it could not be computed), the de-duplicating observed-tech append and the one RNG word RollResearchEvent draws. docs/U-unlock.md section 4 is the prediction, written before the build was staged.
13 lines
807 B
CMake
13 lines
807 B
CMake
# game/sim tests: four hand-computed suites + a real-save smoke test (skips unless SOTS_SAVES_JSON).
|
|
foreach(_t economy research colony movement techgraph)
|
|
add_executable(game_sim_test_${_t} test_${_t}.cpp)
|
|
target_link_libraries(game_sim_test_${_t} PRIVATE sots_game_sim)
|
|
target_include_directories(game_sim_test_${_t} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
|
target_compile_options(game_sim_test_${_t} PRIVATE -Wall -Wextra -pedantic)
|
|
add_test(NAME game_sim_${_t} COMMAND game_sim_test_${_t})
|
|
endforeach()
|
|
|
|
add_executable(game_sim_smoke_real_save smoke_real_save.cpp)
|
|
target_link_libraries(game_sim_smoke_real_save PRIVATE sots_game_sim)
|
|
target_include_directories(game_sim_smoke_real_save PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
|
add_test(NAME game_sim_smoke_real_save COMMAND game_sim_smoke_real_save)
|