Home › Engine classes › Simulation

Engine executable. Settings and tools of the game program (CivilizationVI.exe), usable without a mod. Mostly undocumented debug and configuration functionality; descriptions come from analysis of the executable and have not all been tried in the running game.

Simulation

19 classes. A class lists its base chain (first base only for multiple inheritance), its direct subclasses, and its virtual slots.

Class Base chain Subclasses Virtual slots
Combat::CombatProjectile — 0 7
Combat::CombatUnitMember — 3 13
Combat::CombatUnitMemberAirVehicle CombatUnitMember 0 13
Combat::CombatUnitMemberNaval CombatUnitMember 0 13
Combat::CombatUnitMemberVehicle CombatUnitMember 0 13
Combat::Instance — 1 9
Combat::MeleeAttackPhaseLogic PhaseLogic 0 8
Combat::MeleeDefensePhaseLogic PhaseLogic 0 8
Combat::PhaseLogic — 5 8
Combat::PhasedCombatInstance Instance 0 9
Combat::PhasedCombatUnit — 0 6
Combat::RangedAttackPhaseLogic PhaseLogic 1 8
Combat::ReformPhaseLogic PhaseLogic 0 8
Combat::SupportEngagePhaseLogic RangedAttackPhaseLogic > PhaseLogic 0 8
Combat::VictoryDancePhaseLogic PhaseLogic 0 8
Manager::ArtDefinitions IArtDefConsumer 0 4
Manager::CultureArtDefinitions IArtDefConsumer 0 4
Unit::ArtDefinitions IArtDefConsumer 0 4
UnitActivity::System IArtDefConsumer 0 4

Virtual functions by class

Simulation::Combat::CombatProjectile (7 slots, vtable 0x53aacd0 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::CombatProjectile::~CombatProjectile —
1 Simulation::Combat::CombatProjectile::~CombatProjectile —
2 Simulation::Combat::CombatProjectile::Update —
3 Simulation::Combat::CombatProjectile::Initialize —
4 Simulation::Combat::CombatProjectile::UpdateMovement —
5 Simulation::Combat::CombatProjectile::UpdateImpact —
6 Simulation::Combat::CombatProjectile::UpdateVisuals —
Simulation::Combat::CombatUnitMember (13 slots, vtable 0x53aad90 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::CombatUnitMember::~CombatUnitMember —
1 Simulation::Combat::CombatUnitMember::~CombatUnitMember —
2 Simulation::Combat::CombatUnitMember::GetMemberType —
3 Simulation::Combat::CombatUnitMember::Begin —
4 Simulation::Combat::CombatUnitMember::Update —
5 Simulation::Combat::CombatUnitMember::ClearOrders —
6 Simulation::Combat::CombatUnitMember::AddOrder —
7 Simulation::Combat::CombatUnitMember::SupportsAction —
8 Simulation::Combat::CombatUnitMember::CanBeInterupted —
9 Simulation::Combat::CombatUnitMember::UpdateOrders —
10 Simulation::Combat::CombatUnitMember::UpdateMovement —
11 Simulation::Combat::CombatUnitMember::UpdateAttacking —
12 Simulation::Combat::CombatUnitMember::UpdateVisuals —
Simulation::Combat::CombatUnitMemberAirVehicle (13 slots, vtable 0x53aae20 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::CombatUnitMemberAirVehicle::~CombatUnitMemberAirVehicle —
1 Simulation::Combat::CombatUnitMemberAirVehicle::~CombatUnitMemberAirVehicle —
2 Simulation::Combat::CombatUnitMemberAirVehicle::GetMemberType —
3 Simulation::Combat::CombatUnitMember::Begin —
4 Simulation::Combat::CombatUnitMember::Update —
5 Simulation::Combat::CombatUnitMember::ClearOrders —
6 Simulation::Combat::CombatUnitMember::AddOrder —
7 Simulation::Combat::CombatUnitMemberAirVehicle::SupportsAction —
8 Simulation::Combat::CombatUnitMemberAirVehicle::CanBeInterupted —
9 Simulation::Combat::CombatUnitMember::UpdateOrders —
10 Simulation::Combat::CombatUnitMemberAirVehicle::UpdateMovement —
11 Simulation::Combat::CombatUnitMember::UpdateAttacking —
12 Simulation::Combat::CombatUnitMemberAirVehicle::UpdateVisuals —
Simulation::Combat::CombatUnitMemberNaval (13 slots, vtable 0x53aaec0 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::CombatUnitMemberNaval::~CombatUnitMemberNaval —
1 Simulation::Combat::CombatUnitMemberNaval::~CombatUnitMemberNaval —
2 Simulation::Combat::CombatUnitMemberNaval::GetMemberType —
3 Simulation::Combat::CombatUnitMember::Begin —
4 Simulation::Combat::CombatUnitMember::Update —
5 Simulation::Combat::CombatUnitMember::ClearOrders —
6 Simulation::Combat::CombatUnitMember::AddOrder —
7 Simulation::Combat::CombatUnitMemberNaval::SupportsAction —
8 Simulation::Combat::CombatUnitMember::CanBeInterupted —
9 Simulation::Combat::CombatUnitMember::UpdateOrders —
10 Simulation::Combat::CombatUnitMemberNaval::UpdateMovement —
11 Simulation::Combat::CombatUnitMember::UpdateAttacking —
12 Simulation::Combat::CombatUnitMemberNaval::UpdateVisuals —
Simulation::Combat::CombatUnitMemberVehicle (13 slots, vtable 0x53aaf80 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::CombatUnitMemberVehicle::~CombatUnitMemberVehicle —
1 Simulation::Combat::CombatUnitMemberVehicle::~CombatUnitMemberVehicle —
2 Simulation::Combat::CombatUnitMemberVehicle::GetMemberType —
3 Simulation::Combat::CombatUnitMember::Begin —
4 Simulation::Combat::CombatUnitMember::Update —
5 Simulation::Combat::CombatUnitMember::ClearOrders —
6 Simulation::Combat::CombatUnitMember::AddOrder —
7 Simulation::Combat::CombatUnitMember::SupportsAction —
8 Simulation::Combat::CombatUnitMember::CanBeInterupted —
9 Simulation::Combat::CombatUnitMember::UpdateOrders —
10 Simulation::Combat::CombatUnitMemberVehicle::UpdateMovement —
11 Simulation::Combat::CombatUnitMember::UpdateAttacking —
12 Simulation::Combat::CombatUnitMember::UpdateVisuals —
Simulation::Combat::Instance (9 slots, vtable 0x53aad28 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::Instance::~Instance —
1 Simulation::Combat::Instance::~Instance —
2 Simulation::Combat::Instance::Initialize —
3 Simulation::Combat::Instance::Begin —
4 Simulation::Combat::Instance::Update —
5 Simulation::Combat::Instance::End —
6 Simulation::Combat::Instance::OnActionTrigger —
7 Simulation::Combat::Instance::OnTransferTrigger —
8 Simulation::Combat::Instance::IsQuickCombat —
Simulation::Combat::MeleeAttackPhaseLogic (8 slots, vtable 0x53ab188 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhaseLogic::~PhaseLogic —
1 Simulation::Combat::MeleeAttackPhaseLogic::~MeleeAttackPhaseLogic —
2 Simulation::Combat::MeleeAttackPhaseLogic::Begin —
3 Simulation::Combat::MeleeAttackPhaseLogic::Update —
4 Simulation::Combat::MeleeAttackPhaseLogic::End —
5 Simulation::Combat::PhaseLogic::GetPhaseType —
6 Simulation::Combat::MeleeAttackPhaseLogic::CanFight —
7 Simulation::Combat::PhaseLogic::GetBestTarget —
Simulation::Combat::MeleeDefensePhaseLogic (8 slots, vtable 0x53ab418 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhaseLogic::~PhaseLogic —
1 Simulation::Combat::MeleeDefensePhaseLogic::~MeleeDefensePhaseLogic —
2 Simulation::Combat::PhaseLogic::Begin —
3 Simulation::Combat::PhaseLogic::Update —
4 Simulation::Combat::PhaseLogic::End —
5 Simulation::Combat::PhaseLogic::GetPhaseType —
6 Simulation::Combat::MeleeDefensePhaseLogic::CanFight —
7 Simulation::Combat::PhaseLogic::GetBestTarget —
Simulation::Combat::PhaseLogic (8 slots, vtable 0x53ab0c0 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhaseLogic::~PhaseLogic —
1 Simulation::Combat::PhaseLogic::~PhaseLogic —
2 Simulation::Combat::PhaseLogic::Begin —
3 Simulation::Combat::PhaseLogic::Update —
4 Simulation::Combat::PhaseLogic::End —
5 Simulation::Combat::PhaseLogic::GetPhaseType —
6 Simulation::Combat::PhaseLogic::CanFight —
7 Simulation::Combat::PhaseLogic::GetBestTarget —
Simulation::Combat::PhasedCombatInstance (9 slots, vtable 0x53ab350 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhasedCombatInstance::~PhasedCombatInstance —
1 Simulation::Combat::PhasedCombatInstance::~PhasedCombatInstance —
2 Simulation::Combat::PhasedCombatInstance::Initialize 0x671b50 (high)
3 Simulation::Combat::PhasedCombatInstance::Begin —
4 Simulation::Combat::PhasedCombatInstance::Update —
5 Simulation::Combat::PhasedCombatInstance::End —
6 Simulation::Combat::PhasedCombatInstance::OnActionTrigger —
7 Simulation::Combat::PhasedCombatInstance::OnTransferTrigger —
8 Simulation::Combat::PhasedCombatInstance::IsQuickCombat —
Simulation::Combat::PhasedCombatUnit (6 slots, vtable 0x53ab3a8 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhasedCombatUnit::~PhasedCombatUnit —
1 Simulation::Combat::PhasedCombatUnit::~PhasedCombatUnit —
2 Simulation::Combat::PhasedCombatUnit::Initialize —
3 Simulation::Combat::PhasedCombatUnit::Finalize —
4 Simulation::Combat::PhasedCombatUnit::Begin —
5 Simulation::Combat::PhasedCombatUnit::Update —
Simulation::Combat::RangedAttackPhaseLogic (8 slots, vtable 0x53ab1f8 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhaseLogic::~PhaseLogic —
1 Simulation::Combat::RangedAttackPhaseLogic::~RangedAttackPhaseLogic —
2 Simulation::Combat::RangedAttackPhaseLogic::Begin —
3 Simulation::Combat::RangedAttackPhaseLogic::Update —
4 Simulation::Combat::RangedAttackPhaseLogic::End —
5 Simulation::Combat::PhaseLogic::GetPhaseType —
6 Simulation::Combat::RangedAttackPhaseLogic::CanFight —
7 Simulation::Combat::PhaseLogic::GetBestTarget —
Simulation::Combat::ReformPhaseLogic (8 slots, vtable 0x53ab120 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhaseLogic::~PhaseLogic —
1 Simulation::Combat::ReformPhaseLogic::~ReformPhaseLogic —
2 Simulation::Combat::ReformPhaseLogic::Begin —
3 Simulation::Combat::ReformPhaseLogic::Update —
4 Simulation::Combat::ReformPhaseLogic::End —
5 Simulation::Combat::PhaseLogic::GetPhaseType —
6 Simulation::Combat::PhaseLogic::CanFight —
7 Simulation::Combat::PhaseLogic::GetBestTarget —
Simulation::Combat::SupportEngagePhaseLogic (8 slots, vtable 0x53ab268 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhaseLogic::~PhaseLogic —
1 Simulation::Combat::SupportEngagePhaseLogic::~SupportEngagePhaseLogic —
2 Simulation::Combat::RangedAttackPhaseLogic::Begin —
3 Simulation::Combat::RangedAttackPhaseLogic::Update —
4 Simulation::Combat::SupportEngagePhaseLogic::End —
5 Simulation::Combat::PhaseLogic::GetPhaseType —
6 Simulation::Combat::RangedAttackPhaseLogic::CanFight —
7 Simulation::Combat::PhaseLogic::GetBestTarget —
Simulation::Combat::VictoryDancePhaseLogic (8 slots, vtable 0x53ab2d8 (Linux))
Slot Function Windows RVA
0 Simulation::Combat::PhaseLogic::~PhaseLogic —
1 Simulation::Combat::VictoryDancePhaseLogic::~VictoryDancePhaseLogic —
2 Simulation::Combat::VictoryDancePhaseLogic::Begin —
3 Simulation::Combat::PhaseLogic::Update —
4 Simulation::Combat::PhaseLogic::End —
5 Simulation::Combat::PhaseLogic::GetPhaseType —
6 Simulation::Combat::PhaseLogic::CanFight —
7 Simulation::Combat::PhaseLogic::GetBestTarget —
Simulation::Manager::ArtDefinitions (4 slots, vtable 0x53ab050 (Linux))
Slot Function Windows RVA
0 Simulation::Manager::ArtDefinitions::~ArtDefinitions —
1 Simulation::Manager::ArtDefinitions::~ArtDefinitions —
2 Simulation::Manager::ArtDefinitions::ConfigureFromArtDefs —
3 Simulation::Manager::ArtDefinitions::DependsOnGameCore —
Simulation::Manager::CultureArtDefinitions (4 slots, vtable 0x53ab020 (Linux))
Slot Function Windows RVA
0 IArtDefConsumer::~IArtDefConsumer —
1 Simulation::Manager::CultureArtDefinitions::~CultureArtDefinitions —
2 Simulation::Manager::CultureArtDefinitions::ConfigureFromArtDefs 0x4de7a0 (high)
3 Simulation::Manager::CultureArtDefinitions::DependsOnGameCore —
Simulation::Unit::ArtDefinitions (4 slots, vtable 0x53ab4e0 (Linux))
Slot Function Windows RVA
0 Simulation::Unit::ArtDefinitions::~ArtDefinitions —
1 Simulation::Unit::ArtDefinitions::~ArtDefinitions —
2 Simulation::Unit::ArtDefinitions::ConfigureFromArtDefs 0x4e0790 (high)
3 Simulation::Unit::ArtDefinitions::DependsOnGameCore —
Simulation::UnitActivity::System (4 slots, vtable 0x53ab490 (Linux))
Slot Function Windows RVA
0 Simulation::UnitActivity::System::~System —
1 Simulation::UnitActivity::System::~System —
2 Simulation::UnitActivity::System::ConfigureFromArtDefs 0x4dff90 (high)
3 Simulation::UnitActivity::System::DependsOnGameCore —