This description of the DefaultGameCore.ini (DGC.INI) file is directly based on the Compiled list of DefaultGameCore.ini settings and their functions thread in the Nexus XCOM Mod Talk forum. All credits to him for the first version of this page which essentially kicked off the beginning of the organized modding process for XCOM:EU 2012.
Overview
The DGC.INI file is found in the <Steam install path>XComGameConfig folder. This is known as the 'loose' file. There is also a copy embedded ('cooked') into the game executable file XComGame.EXE, which is part of what is called the resource cache. By default the game only uses certain settings from the loose file, and most mods must alter the embedded version. It has now been discovered how to force the game to use the entirety of the DGC.INI instead of the resource cache copy. (See the Recent Discoveries section.)
Many commonly sought tweaks to the game people have requested help with are made to the DGC.INI file, and now are documented in the article How to DIY common mod solutions - XCOM:EU 2012. That article and this should be your first stops when looking to make any change you think should be 'simple or easy'.
Programs and Tools
Any plaintext editor (like Notepad, but not Write) is sufficient. Other tools mentioned in Modding Tools - XCOM:EU 2012 may be useful but are not required.
XCOM Config (INI) files
(From the Nexus Mod Talk Forum minmax money rewards don't seem to work (XComGameData.ini) thread.)
Most games since the release of Windows Vista write stuff into My Games because the game folder itself is often in Program Files which the Windows OS now makes inaccessible to alteration for security reasons.
XComGameCore.ini resides in the My GamesXCOM Enemy (Unknown/Within)XComGameConfig folder. It is a mirror copy of the DefaultGameCore.ini file found in the game config folder: <Steam install path>XCOM - Enemy Unknown[XEW]XComGameConfig. (Note that EW files are located under the XEW folder that is added to the XCOM - Enemy Unknown folder when that expansion is added.) Making changes to XComGameCore.ini won't work because the original DefaultGameCore.ini file would overwrite it at game launch.
The DefaultGameData.ini file similarly should be getting mirrored into the XComGameData.ini file in the My Games folder.
In EU these copies were made to support the addition of downloadable content (DLC). The config files in My Games were merged versions of the base game + DLC. So far there's no DLC for Enemy Within, but as prolific as the map team was for the expansion it wouldn't surprise me to see DLC packs of new maps.
EW added DefaultContent.ini to the path XCom-Enemy-UnknownXEWXComGameConfig to contain elements of new units such as the UnitPackageInfo for MEC units, i.e. UnitPackageInfo=(PawnType=ePawnType_MecMark3,ArchetypeName='Unit_MecMark3.ARC_Unit_MecMark3'), and the decorative armor data, i.e. ArmorKitPackageInfo=(KitType=eKit_Deco_GeneMod1,ArchetypeName='Deco_Titan0.ARC_Deco_Titan0'). (See the Nexus Forums thread Unlock All Decorative Armors for all Armors for more details.)
The core game's map set is in DefaultMaps.ini, which corresponds to the XComMap.ini file in My Games as well.
In Enemy Within's DefaultMaps.ini file most of the new maps are prefaced with the comment:
The two config files DefaultGameData.ini and DefaultGameCore.ini (at least originally) corresponded to two different classes in XComGame.upk.
This is why the first tag you see in DefaultGameCore.ini is [XComGame.XGTacticalGameCore], and the first tag you see in DefaultGameData.ini is [XComGame.XGGameData].
These tags identify which UPK/class' config variables are being set in the following section.
Later these INI files were expanded to read in config variables for other classes. For example DefaultGameCore.ini has the following tags:
If you open these classes in UE Explorer you'll see that the variables in the INI file are config-type class variables in the class.
For example XComPerkManager function has the following class variables:
The variables of type config are precisely the variables being defined in the DefaultGameCore.ini.
DefaultGameData.ini works similarly but defines config variables for a different set of classes:
I don't know how the config parser knows which config file to examine for a class's config variable data, nor the order in which they are read.
Next -- the relationship between the XEWXComGameConfig files and the My GamesXCom - Enemy WithinXComGameConfig files.
The files in the root XCom folder (sub-folder XEW for EW) are the 'master' copies. These files all begin with 'Default' (e.g. DefaultGameCore.ini, DefaultGameData.ini).
Whenever the game is launched, near the very beginning of execution it performs merge operations, creating copies of the config files in the My Games..Config folder. These files all being with 'XCom' (e.g. XComGameCore.ini, XComGameData.ini, etc.).
For the present state of Enemy Within these are simply copies (but with all comments stripped out).
However, once DLC for Enemy Within are released, these My Games versions are expected to be merged versions of the base game + DLC config files, as when DLCs were released for EU.
These files are reconstructed (or are supposed to be) every time the game launches so altering the versions in My Games' should be fruitless.
In EU there was a bug with some of the localization files in which the My Games merged version wasn't being properly overwritten.
There was also a bug in EU in which the XComEngine.ini config file was being improperly merged causing the file to load an additional copy of some DLC art assets every time the game was launched. This would lead to very long 'dropship loading screen' times.
Modding Information
The information presented here does apply to making hex code changes in the executable's internal resource cache to produce the equivalent change.
Also, bear in mind that loose files are loaded and read AFTER the game executable is launched. This means they can override mod changes made to the internal resource cache of the EXE by hex-editing or tools like ResourceHacker. Choose your method of applying specific mods accordingly.
Changes made to the DGC.INI file may not be applied as you might expect. As pointed out by the Long War mod lead programmer in this post:
In all cases you can change a value and then load a previous save-game, but the change may not be present, may be effective in limited ways, or may be completely effective.
For example, changing the Character= line for an XCOM soldier will not affect the stats of any soldiers already recruited, but will affect any soldiers recruited after the INI change (including reward soldiers).
Changing the Character= line for an alien won't affect any aliens in a save-game saved in a tactical mission, but will change any aliens in later tactical missions.
Changing an ItemBalance= line will update the item value in the strategy game the next time it is loaded.
The primary issue is that some items are read once when a new campaign is started and the values are then stored in the save-game file. Most items, however, are read 'on the fly' from the INI file as needed.
INI file applicability
At present it appears only the BALANCE Modes (i.e. BalanceMods_Easy, etc.) values override the values embedded within the compiled XComGame.exe file. Internally BALANCE Modes translate to Game DIFFICULTY setting as follows:
![]()
Sections where you find the description '(BALANCE Mode dependent.)' have such settings. Where such BALANCE Mode setting labels appear identical but are presented 4 times, they are listed in order from EASY/Tutorial to CLASSIC/Impossible, sometimes with comments appended like so:
Mutual InteroperabilityObscure Property effectsBasic which provides a 10 Defense bonus when used, does not require cover. (Perhaps other effects as well but unknown to me)
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |