Five hooks recaptured, build recap-7584bad-20260908T0615Z, no source change. - ProcessResearch: the over-budget event is now a compare divergence (side.events.after.v.next_id orig=4 ours=3) instead of a 609 KB save diff. 15 calls over 5 turns, 3 diverged, RNG matched 15/15. - ComputeBudget: 4284 compared, 0 diverged, guard quiet - but only 20 distinct states and 13 of 22 slots always zero. - MoveFleet: 8 of 45 calls diverge by 1 ULP of position. B4's clean verdict was a one-sample verdict. - First guarded captures for OnTechResearched (RollResearchEvent draw fired and matched), the colony turn and MoveFleet. - Guards mapped SetResearched live and found an undeclared ObservedTech append. VM140 released at the main menu, hooks=trace.
43 lines
4 KiB
Text
43 lines
4 KiB
Text
02:47:07.341 [tid 7656] ==== sots-engine shim (binkw32 proxy) build recap-7584bad-20260908T0615Z ====
|
|
02:47:07.341 [tid 7656] exe: C:\SOTS\Sword of the Stars.exe
|
|
02:47:07.341 [tid 7656] exe base=0x00e80000 (link-time image base 0x00400000, ASLR delta +11010048) pid=4552 shim=696b0000
|
|
02:47:07.341 [tid 7656] addresses: Source: sots-re ghidra/addresses.json @ ff67ec0, generated 2026-09-08 by tools/gen_addresses.py
|
|
02:47:07.341 [tid 7656] config: hooks=trace
|
|
02:47:07.341 [tid 7656] config: hook.Shim::SelfTest::Fill=off
|
|
02:47:07.341 [tid 7656] config: hook.Mars::GlobalConsts::LoadFile=off
|
|
02:47:07.341 [tid 7656] config: hook.Game::WeaponDictionary::Init=off
|
|
02:47:07.341 [tid 7656] config: hook.Game::SectionDictionary::SectionDictionary=off
|
|
02:47:07.341 [tid 7656] config: hook.Game::TechTree::ProcessResearch=off
|
|
02:47:07.341 [tid 7656] config: hook.Game::ServerPlayer::ComputeBudget=off
|
|
02:47:07.341 [tid 7656] config: hook.Game::StrategyServer::ProcessFleetMovement=off
|
|
02:47:07.341 [tid 7656] config: hook.Game::ServerPlayer::OnTechResearched=compare
|
|
02:47:07.341 [tid 7656] config: hook.Game::ServerSystem::ProcessTurn=compare
|
|
02:47:07.341 [tid 7656] config: hook.Game::StrategyServer::MoveFleet=compare
|
|
02:47:07.341 [tid 7656] config: trace.path=C:\SOTS\shim.trace.jsonl
|
|
02:47:07.341 [tid 7656] config: trace.inline_max=256
|
|
02:47:07.341 [tid 7656] config: trace.flush=always
|
|
02:47:07.403 [tid 7656] trace: C:\SOTS\shim.trace.jsonl (default mode trace, inline_max 256, flush always)
|
|
02:47:07.403 [tid 7656] hook: Mars_Application_Initialize rva=0x004a0e50 -> va=01320e50
|
|
02:47:07.403 [tid 7656] hook: MH_Initialize -> MH_OK
|
|
02:47:07.403 [tid 7656] hook: MH_CreateHook -> MH_OK (trampoline=038f0fe0)
|
|
02:47:07.434 [tid 7656] hook: MH_EnableHook -> MH_OK
|
|
02:47:07.434 [tid 7656] cfg: GlobalConsts hook ready (scale constant 0.017453292519943295)
|
|
02:47:07.434 [tid 7656] hook: Mars::GlobalConsts::LoadFile rva=0x004b73c0 mode=off (not installed)
|
|
02:47:07.434 [tid 7656] dict: dictionaries hook ready (crt new=6adc232b delete=6adc0174)
|
|
02:47:07.434 [tid 7656] hook: Game::WeaponDictionary::Init rva=0x0019a4c0 mode=off (not installed)
|
|
02:47:07.434 [tid 7656] hook: Game::SectionDictionary::SectionDictionary rva=0x00176f40 mode=off (not installed)
|
|
02:47:07.434 [tid 7656] research: ProcessResearch hook ready (Cost=00ffda00, node=0x34, rng=0x9cc, fpu_cw=0x027f)
|
|
02:47:07.434 [tid 7656] hook: Game::TechTree::ProcessResearch rva=0x001876c0 mode=off (not installed)
|
|
02:47:07.434 [tid 7656] techfx: OnTechResearched hook ready (regions=15, gate=0/0, fpu_cw=0x027f)
|
|
02:47:07.434 [tid 7656] hook: Game::ServerPlayer::OnTechResearched rva=0x00491790 -> va=01311790 MH_CreateHook -> MH_OK (trampoline=038f0fc0)
|
|
02:47:07.450 [tid 7656] hook: Game::ServerPlayer::OnTechResearched MH_EnableHook -> MH_OK mode=compare
|
|
02:47:07.450 [tid 7656] hook: Game::ServerPlayer::ComputeBudget rva=0x00463030 mode=off (not installed)
|
|
02:47:07.450 [tid 7656] hook: Game::ServerSystem::ProcessTurn rva=0x003598e0 -> va=011d98e0 MH_CreateHook -> MH_OK (trampoline=038f0fa0)
|
|
02:47:07.466 [tid 7656] hook: Game::ServerSystem::ProcessTurn MH_EnableHook -> MH_OK mode=compare
|
|
02:47:07.466 [tid 7656] hook: Game::StrategyServer::MoveFleet rva=0x003d9ee0 -> va=01259ee0 MH_CreateHook -> MH_OK (trampoline=038f0f80)
|
|
02:47:07.481 [tid 7656] hook: Game::StrategyServer::MoveFleet MH_EnableHook -> MH_OK mode=compare
|
|
02:47:07.481 [tid 7656] hook: Game::StrategyServer::ProcessFleetMovement rva=0x003da9a0 mode=off (not installed)
|
|
02:47:07.481 [tid 7656] selftest: Shim::SelfTest::Fill mode=off checksum=075ef0c3 records=0
|
|
02:47:07.497 [tid 7656] Application::Initialize called (this=03c68128)
|
|
02:52:42.722 [tid 7656] techfx: ours mode=compare id=10001 granted=10197 plague=0x00 systems_ai=0 civcaps=0 temperance=0x00 bore_changed=0 bore_present=0 roll=0 value=-1
|
|
02:53:45.910 [tid 7656] techfx: ours mode=compare id=10094 granted=10197 plague=0x00 systems_ai=0 civcaps=0 temperance=0x00 bore_changed=0 bore_present=0 roll=1 value=0.316456825
|