# Lane H -- the five probes, TRACE. Copy over C:\SOTS\shim.cfg. # # Lane Z's ledger plus two additions: # * Game::EncounterDetect::ProcessTeamRecord -- the caller of AssignContacts, where lane Y's # 2-word-per-turn detection residual has to be (both residual sites are below it, and # AssignContacts itself never ran on any measured turn); # * the register-transparent entry counters in probe_entry.cpp, which are NOT template hooks # and are therefore NOT configurable from here. They install unconditionally whenever # hooks != off, and every one of them logs its MinHook status to shim.log at startup. A probe # that failed to install carries installed=false into the record, because a MinHook failure # would otherwise present as a confident zero. # # Everything else is off so the log holds only the ledger: eight records per End Turn instead of # ~40 per player. Read `side.rng.before.words` and `side.rng.after.words` on each record; the # difference is the words the strategic generator consumed inside that call. # # fpu.sample_turn=off is REQUIRED: the fpu module samples the control word at # StrategyServer::ProcessTurn, MinHook allows one hook per target, and this config needs that # address for the ledger. hooks=trace hook.Shim::SelfTest::Fill=off hook.Mars::GlobalConsts::LoadFile=off hook.Game::WeaponDictionary::Init=off hook.Game::SectionDictionary::SectionDictionary=off hook.Game::ServerPlayer::ComputeBudget=off hook.Game::TechTree::ProcessResearch=off hook.Game::ServerPlayer::OnTechResearched=off hook.Game::ServerSystem::ProcessTurn=off hook.Game::ServerPlayer::ProcessTurn=off hook.Game::ServerSystem::GroupOutput=off hook.Game::ServerSystem::ComputeTotalOutput=off hook.Game::StrategyServer::MoveFleet=off hook.Game::StrategyServer::ProcessFleetMovement=off hook.Game::StrategyHost::Autosave=trace hook.Game::StrategyServer::ProcessTurn=trace hook.Game::StrategyServer::OnAllCombatDone_Tail=trace hook.Game::StrategyServer::ApplyEncounterResult=trace hook.Game::StrategyServer::NodeLineDecay=trace hook.Game::StrategyServer::ProcessNodeSpaceTravel=trace hook.Game::EncounterDetect::AssignContacts=trace hook.Game::EncounterDetect::ProcessTeamRecord=trace fpu.sample_turn=off fpu.sample_ticks=off # The generator is 0x9cc bytes and every record carries it twice. Inlining it as hex would make # each record ~5 kB of state nobody reads. trace.inline_max=64 trace.path=C:\SOTS\shim.trace.jsonl trace.flush=always probes=11