diff --git a/ghidra/generated/sots_addresses.h b/ghidra/generated/sots_addresses.h index 49e54a3..7ef76c0 100644 --- a/ghidra/generated/sots_addresses.h +++ b/ghidra/generated/sots_addresses.h @@ -1,5 +1,5 @@ // GENERATED — do not edit. Facts about Sword of the Stars.exe (GOG 1.8.1). -// Source: sots-re ghidra/addresses.json @ ead46e2, generated 2026-09-08 by tools/gen_addresses.py +// Source: sots-re ghidra/addresses.json @ 8a6c0e8, generated 2026-09-08 by tools/gen_addresses.py // Runtime address = (uintptr_t)GetModuleHandle(NULL) + RVA (the exe is ASLR-relocated). #pragma once #include @@ -253,7 +253,7 @@ constexpr uint32_t TechTree_off_Nodes = 0x00000010; constexpr uint32_t TechNode_size = 0x00000034; // offset TechDef* def; *(int*)def is the tech id used to index TechTree_off_Nodes [verified] constexpr uint32_t TechNode_off_Def = 0x00000000; -// offset int state (0 hidden, 1 parent researched, 2 available, 4 researched); ctor writes 0 [verified] +// offset int state (0 hidden, 1 parent researched, 2 available, 3 available AND selected as the current research target, 4 researched); ctor writes 0. The decay sweep tests == 2, so a state-3 node never decays -- confirmed by the B3 live trace [verified] constexpr uint32_t TechNode_off_State = 0x00000014; // offset int costRP, INT_MAX = no researched parent yet; ctor writes 0x7fffffff [verified] constexpr uint32_t TechNode_off_CostRP = 0x00000018;