Home › Class layouts › AI › AI::Control::TechResearchContract

Needs the Community Extension. Not available in the unmodified game; works while the Community Extension mod is active (its own functions, or raw memory access with Mem/ObjMem).

AI::Control::TechResearchContract

GameCore::AI::Control::TechResearchContract — class, size 440 bytes (0x1b8).

Bases: AI::Control::Contract at 0x0

Linux offset Member Type
0x170 m_goalTech FAutoVariable<GameCore::TechTypes, GameCore::AI::Control::TechResearchContract>
0x188 m_nextTech FAutoVariable<GameCore::TechTypes, GameCore::AI::Control::TechResearchContract>
0x1a0 m_bestController FAutoVariable<unsigned int, GameCore::AI::Control::TechResearchContract>

Virtual functions

Slot order of the class's own vtable (inferred, see Virtual function tables). A virtual call call [vptr+offset] uses the byte offset. Owner is shown when the entry is inherited or overridden elsewhere.

Slot Offset Method Address in current build
0 0x0 \~TechResearchContract 0x3f8150
1 0x8 InitializePostLoad (AI::Control::Contract) 0x8972d0
2 0x10 Execute (AI::Control::Contract) 0x3f82e0
3 0x18 Execute (AI::Control::Contract) 0x3fa120
4 0x20 Execute (AI::Control::Contract) 0x3fa120
5 0x28 Execute (AI::Control::Contract) 0x3fa120
6 0x30 Execute (AI::Control::Contract) 0x3fa120
7 0x38 Execute 0x3fa120
8 0x40 Update (AI::Control::Contract) 0x3fa2a0
9 0x48 Update (AI::Control::Contract) 0x3fa120
10 0x50 Update (AI::Control::Contract) 0x3fa120
11 0x58 Update (AI::Control::Contract) 0x3fa120
12 0x60 Update (AI::Control::Contract) 0x3fa120
13 0x68 Update 0x3fa120
14 0x70 Validate (AI::Control::Contract) 0x3fa8a0
15 0x78 Validate (AI::Control::Contract) 0x3fa120
16 0x80 Validate (AI::Control::Contract) 0x3fa120
17 0x88 Validate (AI::Control::Contract) 0x3fa120
18 0x90 Validate (AI::Control::Contract) 0x3fa120
19 0x98 Validate 0x3fa120
20 0xa0 LogContract (AI::Control::Contract) 0x3f96f0
21 0xa8 LogContract 0x8972d0
22 0xb0 Read 0x3f9cd0
23 0xb8 Write 0x3fb550