Closed 2 on the reference pair and 4 on pair 2, regressed 0, with no operator input. Measured, both pairs, never netted. - S00 stamps PvSav from Sav on every live player, before any phase can move it. 0 closed on pair 1 (a no-op there), 2 on pair 2. - T31 recovers the per-player difficulty column by recomputing BnkEl from the colony state the input save was written from and comparing against the BnkEl the save carries. That removes the --ai-player flag as a blocker and turns the phase's self-check into a real one: it used to compare its POST-turn result against the PRE-turn stored value, so its 6-of-8 only ever covered the six players whose limit does not move. The load-time check passes for every live player of all eleven corpus saves. T31 Blocked -> Partial; BnkPr still needs the tuning constant. - BANKRUPTCY_PROTECTION_LIMIT_FACTOR is multiplied in as fmul dword ptr, so it is a float32 in the image; the engine narrows it now. Zero leaves move on this corpus -- all seven of its BnkPr records land where the two constants agree -- and three hand-written test expectations moved (rule 23). docs/PL-players-residual.md carries the decomposition, the predictions written before the build, where they were wrong, and the ranked remainder.
13 lines
843 B
CMake
13 lines
843 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 visibility construction player_turn)
|
|
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)
|