Home › Database and text access

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.

Database and text access

The engine executable talks to SQLite databases in two roles: it reads rows of the game database (Gameplay, Configuration, Localization) for things it needs itself (fonts, audio, colors, victories, features), and it owns two databases of its own: Mods.sqlite (the mod framework: which mods and files exist, which are enabled) and HallofFame.sqlite (game summary and statistics). This section lists every SQL statement that appears as a literal in the exe (191), grouped by table.

Reading the tables. A table name that is also a table of the game database (Features, Eras, Victories, Colors...) shows which of its columns the exe consumes, so a mod that adds a column there is not seen by the exe, and one that changes an existing column affects the exe side too. Statements built at run time (table names assembled from parts) are not in this list.

Verified: each statement is a string literal in the exe and the function that uses it. Inferred: which database it runs against (decided from the table names and the function).

Database Statements
Mods.sqlite (mod framework) 92
game databases (Gameplay, Configuration or Localization; the exe code does not say which) 61
HallofFame.sqlite (game summary) 22
game databases (summary queries) 16

Pages: tables (what is read or written per table), all statements, the gameplay XML data format (what the XML loader accepts).

Game database tables the exe reads

These are queried by the engine for its own use. Columns are those named in the statements.

Table Operations Columns seen Used by
AudioLanguages SELECT 1 AudioLanguage, Locale AppLuaLocaleLibrary::lGetAudioLanguages
CivilizationAudioTags SELECT 2 CivilizationType, MusicOverride AmbientAudio::StartupStrategyGame
CivilizationLeaders SELECT 1 LeaderType GameCore::App::Telemetry::Listener::OnPostLoadBegin
Civilizations SELECT 1 LeaderType GameCore::App::Telemetry::Listener::OnPostLoadBegin
CivilopediaTranslateCharacters SELECT 1 TranslateCharacter AppLuaSearchLibrary::lAddData
Colors SELECT 3, INSERT 1 Alpha, Blue, Color, Green, Red, Type GameCore::Color::Manager::PopulateDatabase, GameCore::Color::Manager::ScrapeDatabase
DataPointAggregateQueries SELECT 1 AggregateDataPoint, DataPoint, ExtraData, Operation, Query, SQL Application::GameSummary::UpdateAggregateDataPoints
DataPointAggregateUpdates SELECT 2 AggregateDataPoint, DataPoint, ExtraData, Operation, Query, SQL Application::GameSummary::DeleteAggregateDataPoints, Application::GameSummary::UpdateAggregateDataPoints
DefaultAudioLanguages SELECT 1 AudioLanguage Civ6App::UpdateLanguageIniSettings
DomainValues SELECT 1 Name 0x181380
Eras SELECT 2 ChronologyIndex, EraType GameCore::App::UI::Tree::TreeManager::GetEraList
Features SELECT 2 AddsFreshWater, FeatureType, Name 0x17e810, WorldView_StartupGame
FontStyleSheets SELECT 2 DefaultFont, StyleOverride, StyleSheet AppUIManager::GetStyleSheetAndDefaultFont, AppUIManager::GetStyleSheetLanguageOverrides
GlobalParameters SELECT 2 Name, Value Application::Data::GameplayDatabase::Initialize, AppLuaDBLibrary::lua_RegisterGlobalParametersLibrary
GraphQueries SELECT 2 — AppLuaGameSummaryLibrary::lGetGraphs
GraphRulesetOverrides SELECT 1 — AppLuaGameSummaryLibrary::lGetGraphs
Graphs SELECT 2 — AppLuaGameSummaryLibrary::lGetGraphs
IconAliases SELECT 1 Name, OtherName DatabaseIconProvider::ScrapeDatabase
IconDefinitions SELECT 1 Atlas, Name DatabaseIconProvider::ScrapeDatabase
IconTextureAtlases SELECT 1 Baseline, FileName, IconSize, IconsPerRow, Name, OffsetH, OffsetV DatabaseIconProvider::ScrapeDatabase
InputActionDefaultGestures SELECT 1 GestureData, GestureType CivTech::Input::Manager::ReloadInputActions
InputActions SELECT 1 ActionId, Description, LayoutType, Name, Value CivTech::Input::Manager::ReloadInputActions
InputCategories SELECT 1 ActionId, Description, LayoutType, Name, Value CivTech::Input::Manager::ReloadInputActions
InputContexts SELECT 1 ActionId, Description, LayoutType, Name, Value CivTech::Input::Manager::ReloadInputActions
InputKeyData SELECT 1 KeyIcon, KeyId, KeyString, KeyType CivTech::Input::Manager::LoadKeyData
Languages SELECT 1 SupportsSmallCaps AppUIManager::AppUIManager
Leaders SELECT 1 LeaderType GameCore::App::Telemetry::Listener::OnPostLoadBegin
Maps SELECT 1 Domain, File 0xb8840
NavigationProperties SELECT 1 BaseTable, IsCollection, PropertyName, Query, TargetTable AppLuaDBLibrary::lua_RegisterDatabase
PlayerColors SELECT 2, INSERT 1 Alt1PrimaryColor, Alt1SecondaryColor, Alt2PrimaryColor, Alt2SecondaryColor, Alt3PrimaryColor, Alt3SecondaryColor, PrimaryColor, SecondaryColor, Type, Usage GameCore::Color::Manager::PopulateDatabase, GameCore::Color::Manager::ScrapeDatabase
Players SELECT 2 CivilizationIcon, CivilizationName, CivilizationType, LeaderIcon, LeaderName, LeaderType 0xb4bd0, AppLuaGameSummaryLibrary::lGetLeaderProgress
ReportColumnRulesetOverrides SELECT 1 — AppLuaGameSummaryLibrary::lGetReports
ReportColumns SELECT 2 — AppLuaGameSummaryLibrary::lGetReports
ReportQueries SELECT 2 — AppLuaGameSummaryLibrary::lGetReports
ReportRulesetOverrides SELECT 1 — AppLuaGameSummaryLibrary::lGetReports
Reports SELECT 2 — AppLuaGameSummaryLibrary::lGetReports
RulesetDomainOverrides SELECT 2 Domain 0xb4bd0, AppLuaGameSummaryLibrary::lGetLeaderProgress
Rulesets SELECT 3 Description, GameCore, IsScenario, Name, RulesetType, SortIndex, VictoryDomain 0xb55b0, GameCoreInUseCriterion::BeforeCheck
RulesetTypes SELECT 1 Icon, Kind, Name, Type AppLuaGameSummaryLibrary::lGetRulesetTypes
RulesetUnSupportedValues SELECT 2 CivilizationIcon, CivilizationName, CivilizationType, LeaderIcon, LeaderName, LeaderType 0xb4bd0, AppLuaGameSummaryLibrary::lGetLeaderProgress
sqlite_master SELECT 1 1 GameCore::App::UI::Tree::TreeManager::GetListFromDB, GameCore::App::UI::Tree::TreeManager::GetListFromGameCore
sqlite_sequence SELECT 1 seq Application::GameSummary::BeginGameTransfer
StatisticCategories SELECT 1 — AppLuaGameSummaryLibrary::lGetStatisticsCategories
StatisticCategoryRulesetOverrides SELECT 1 — AppLuaGameSummaryLibrary::lGetStatisticsCategories
StatisticRulesetOverrides SELECT 1 — AppLuaGameSummaryLibrary::lGetStatistics
Statistics SELECT 1 — AppLuaGameSummaryLibrary::lGetStatistics
SteamLanguages SELECT 1 Locale Civ6App::UpdateLanguageIniSettings
Victories SELECT 4 EnabledByDefault, Icon, Name, VictoryType 0xb55b0, 0x1801f0