Second mode in lane W2's watchpoint module. No second hook: only different arithmetic on the S the ApplyAllTurnCommands detour already holds. - picks the target system by predicate at arm time (AFlags == 0, NVO non-empty) and logs all 28 systems, so the choice is auditable rather than a hard-coded pointer; - probes both candidate ServerSystem bases and logs how many systems validate under each, which settled a documentation dispute (+0x274: 9, +0x26c: 0) by measurement; - prints the trade-route and spy-program vector triples, which is the workload-confirmation instrument two earlier lanes lacked. Rule 19 control passed: the armed run reproduced the determinism oracle byte for byte.
21 lines
865 B
Text
21 lines
865 B
Text
# Lane W3: the same watchpoint module, pointed at the NVO/TShn record and the trade + spy
|
|
# containers. Identical to shim.cfg.w3control except for the single key `watch=`, so the pair is a
|
|
# real rule-19 control: the armed run and the control run differ in nothing else.
|
|
hooks=trace
|
|
hook.Shim::SelfTest::Fill=off
|
|
hook.Mars::GlobalConsts::LoadFile=off
|
|
hook.Game::WeaponDictionary::Init=off
|
|
hook.Game::SectionDictionary::SectionDictionary=off
|
|
hook.Game::StrategyServer::ProcessFleetMovement=off
|
|
hook.Game::TechTree::ProcessResearch=trace
|
|
hook.Game::ServerPlayer::ComputeBudget=trace
|
|
hook.Game::ServerPlayer::OnTechResearched=trace
|
|
hook.Game::ServerSystem::ProcessTurn=trace
|
|
hook.Game::StrategyServer::MoveFleet=trace
|
|
trace.path=C:\SOTS\shim.trace.jsonl
|
|
trace.inline_max=256
|
|
trace.flush=always
|
|
watch=on
|
|
watch.players=2
|
|
watch.mode=tshn
|
|
watch.out=C:\SOTS\shim.watch.txt
|