Home › Engine classes

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.

Engine classes

The C++ classes of the engine executable: who inherits from whom, and the virtual functions of each class in vtable order. The information comes from the run-time type information (RTTI) of the Linux build, which the Windows build does not carry, so this is the only place the class structure of the Windows executable can be read from; the two builds are compiled from the same source, so the structure is expected to match. Windows addresses are given for virtual functions that the function index could map (high or medium confidence).

Standard-library, third-party and platform-shim classes are left out (ICU, OpenSSL, the shader language, the Direct3D compatibility layer). 1207 classes remain, with 11959 virtual slots, 1931 of them mapped to a Windows address.

Verified: class names, base classes, vtable contents (read from the Linux file). Inferred: that the Windows build has the same hierarchy and slot order; for GameCore::EngineUtility this was confirmed on the Windows vtable (46 slots, same order).

Inheritance trees | Namespaces

Namespaces

Namespace Classes Virtual slots
(global namespace) 368 3635
AssetObjects 177 1595
Firaxis 131 691
ForgeUI 87 3084
WorldView 54 172
Synthesis 31 128
BLP 29 202
Localization 25 54
Modding 24 244
GameCore 23 371
App 19 184
Simulation 19 155
CivTech 15 151
Database 12 120
Data 11 277
Platform 10 50
Serialization 10 79
Network 9 141
Application 8 29
ArtDefManager 8 16
Graphics 8 35
StrategicView 8 32
FGXModelFramework 7 16
LandmarkPackageEntry 7 42
VisualEffectSystem 7 27
XML 7 21
OverlaySystem 5 25
CPreprocessor 4 5
Civ6App 4 12
FNetLobbySteam 4 16
FOW 4 20
cppcodec 4 12
CityGen 3 8
CoastlineWaves 3 20
ColorKeySystem 3 20
ModelPackageEntry 3 18
Particle 3 19
WonderMoviePackageEntry 3 18
Aspyr 2 16
FGXModel 2 15
IndirectLightingGrid 2 13
LuaSystem 2 23
ModelVisSystem 2 5
Terrain 2 20
UILensModelSystem 2 7
AOSystem 1 4
AppHost 1 14
AudioMiner 1 4
CameraAnimationPackageEntry 1 6
Crypto 1 2
Events 1 0
FNetLobbyEOS 1 2
FOWMeshVisSystem 1 3
File 1 2
GLWarmingContext 1 2
LLAudio 1 22
LibraryHelpers 1 9
LightingSystem 1 4
LoadGameViewState 1 3
LuaPlus 1 5
Math 1 2
Path 1 4
RangedArrowSystem 1 4
Reflection 1 0
RenderGlobals 1 3
SkyBoxSystem 1 4
SurfaceSetAllocator 1 3
Tuner 1 5
WaterPackageEntry 1 6
XMLSerialization 1 1
hashidsxx 1 2
int (*)(BLP 1 0
int (*)(bool, WorldView 1 0
int ()(bool, char const, BLP 1 0
int ()(char const, bool, BLP 1 0
int (BLP 1 0
int (bool, WorldView 1 0
int (bool, char const*, BLP 1 0
int (char const*, bool, BLP 1 0
void (*)(ctp 1 0
void (ctp 1 0