Difference between revisions of "XComGame.upk"

From Nexus Mods Wiki
Jump to: navigation, search
(References)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div style="margin:0px 10px 10px 10px;border:1px solid #00C600;color: green;background-color:#fff5f5;padding:3px;white-space: pre-wrap;  
+
<div name="WIP Notice" class="boilerplate metadata" id="Missing Links"
white-space: -moz-pre-wrap;  
+
style="color: red;background-color: #fdd; margin: 0 1em; padding: 0 10px;  
white-space: -pre-wrap;
+
border: 1px solid #aaa;
white-space: -o-pre-wrap;
+
/* Remove the next four 'white-space' lines to restore default white-space processing. */
word-wrap: break-word;">
+
word-wrap: break-word;       /* Internet Explorer 5.5+ */
'''This is a placeholder page, based upon a template.'''
+
">
 +
'''This is a Work In Progress (WIP), and not yet complete.'''
  
While a couple of bits of content have been added, a full subject article is needed.
+
Not all elements of the content have been posted as yet.  While the available elements should be functional, other elements are needed to achieve the end-result as described.
Replace anything within {curly braces} with your own appropriate material, and remove this message.
+
 
 +
This message will be removed when the content is complete.
 
</div>
 
</div>
 
<br>
 
<br>
Line 13: Line 15:
 
== Overview ==
 
== Overview ==
  
{ A very general synopsis description of the subject material. }<br>
+
This file is embedded in the [[XComGame.exe]] file, installed under the game installation path '''''\Steam\steamapps\common\XCom-Enemy-Unknown\''''' in the '''''.\Binaries\Win32''''' sub-folder, and is also found as a 'loose' compressed version located in the '''''.\XComGame\CookedPCConsole\''''' sub-folder.  To be modified it requires decompressing the loose '''''.\XComGame\CookedPCConsole\''''' UPK file into it's packed but decompressed version.  The game engine will use either a compressed or uncompressed loose packed file if it is different than the embedded version, providing it is not found in a table of files to be blocked embedded within the EXE file.  See [[Basic_Guide_to_installing_mods|Recent_Discoveries]] for instructions to enable the loading of blocked loose files.
  
This file is embedded in the XComGame.exe file.  To be modified it requires decompressing the executable into it's component sub files, one of which becomes XComGame.upk.
+
== Programs and Tools ==
  
 +
See the articles [[Modding XCOM:EU 2012]] and [[Modding Tools - XCOM:EU 2012]].
  
== Programs and Tools ==
+
==Packages==
  
{ This section should list and if possible provide links to any program and/or tools needed to replicate your exploration of this subject.  The section should not be omitted.  Note if 'none are needed'. }
+
See the article [[XComGame.UPK .Catalog - XCOM:EU 2012]] for a list of the packages and classes found in this file.
 
 
See the '''Tools''' section of the article [[Modding XCOM:EU 2012]].
 
  
 
== Details ==
 
== Details ==
Line 28: Line 29:
 
{ Create an many subsections here as are useful to organize the subject matter in detail.  Remember that you can upload and link to screenshot files to illustrate where ever needed.  See [http://www.mediawiki.org/wiki/Help:Managing_files this page] for help on including files in your article. }
 
{ Create an many subsections here as are useful to organize the subject matter in detail.  Remember that you can upload and link to screenshot files to illustrate where ever needed.  See [http://www.mediawiki.org/wiki/Help:Managing_files this page] for help on including files in your article. }
  
==Separate Content==
+
Primarily tactical functions are resident in this file.  See [[XComGame.UPK .Catalog - XCOM:EU 2012]] for a list of the packages of classes, functions, etc.
  
{ 'Tables', 'Lists', 'Code Breakdown', 'Compiled Code', 'Examples', and similar can (and should if necessary to keep the article length within web editor capabilities) be placed on their own pages and linked from the appropriate points in the article.  It is desirable to group them in one place, but use whatever works best to convey the information.  All referenced links should also be include in the 'References' section below, as that is where people will look when they only want those links. }
+
===Alterations===
 +
This section notes those elements changed by particular Mods.
  
See the [[XGAbilityTree.BuildAbilities]] function article.
+
====Mod [[Enhanced Perk Tree mod - XCOMEU: 2012]]====
 +
* Set Perk Trees:
 +
** [[XComPerkManager.GetPerkInTreeAssault]]
 +
** [[XComPerkManager.GetPerkInTreeHeavyWeapons]]
 +
** [[XComPerkManager.GetPerkInTreePsi]]
 +
** [[XComPerkManager.GetPerkInTreeSniper]]
 +
** [[XComPerkManager.GetPerkInTreeSupport]]
 +
* Set abilities' number of charges:
 +
** [[XGUnit.UpdateItemCharges]]
  
== Code Breakdown ==
+
====Mod [[Explosive Damage - XCOM:EU 2012]]====
 +
* Randomized Explosive Damage File Changes:
 +
** [[XGTacticalGameCore.CalcOverallDamage]]
 +
* Increased Explosive Destruction File Changes:
 +
** [[XGSummaryUI.CollectArtifactsFromDeadAliens]]
 +
* Randomized Explosive Radius File Changes:
 +
** [[XGWeapon.GetDamageRadius]] is re-written.
  
{ 'Code Breakdown' is where the hex code is explained by added commentsIt is placed within a block pair of 'nowiki' and '/nowiki' (within <angle brackets>) HTML 'markup tags' to preserve the formatting. (Note it is REQUIRED to put a leading space before the 'nowiki' markup tag. The closing tag can be on the last line or after it, and does not require a leading space.) }
+
====Mod [[Loadout File Changes Additional Items Mod XCOM:EU - 2012]]====
 +
* GetRearBackpackItemArray changes:
 +
** [[XGInventory.GetRearBackpackItemArray]]
 +
* ItemType changes:
 +
** [[XGItem.ItemType]]
 +
* ApplyOverheatIncrement is re-written:
 +
** [[XGWeapon.ApplyOverheatIncrement]]
 +
* ConvertTInventoryToSoldierLoadout changes:
 +
** [[XGLoadoutMgr.ConvertTInventoryToSoldierLoadout]]
 +
* GetItem changes:
 +
** [[XGItemLibrary.GetItem]]
 +
* ApplyLoadout changes:
 +
** [[XGLoadoutMgr.ApplyLoadout]]
  
{ For example:
+
====Mod [[Tactical Charges File Changes Additional Items Mod XCOM:EU - 2012]]====
 +
* GetItemCharges changes:
 +
** [[XGUnit.UpdateItemCharges]]
  
<nowiki>
+
====Mod [[XCOM Squadsight Aim Penalty Mod]]====
original hex: (virtual size 0x552)
+
has the following component files:
header:
+
=====[[XCOM Squadsight Aim Penalty Adjust To Hit Hex Changes]]=====
DB 7C 00 00 50 55 00 00 00 00 00 00 C0 7C 00 00 00 00 00 00 00 00 00 00 C6 7C 00 00 00 00 00 00 A9 02 00 00 2C 5C 00 00 52 05 00 00 B6 03 00 00
+
* Roll to Hit changes:
 +
** [[XGAbility_Targeted.AdjustToHit]]
  
body:
+
=====[[XCOM Squadsight Aim Penalty Get Shot Summary Hex Changes]]=====
if(!DoesDamage())
+
* Shot Summary changes:
07 19 00 81 1B 9B 1A 00 00 00 00 00 00 16 16
+
** [[XGAbility_Targeted.GetShotSummary]]
  
return iHitChance;
+
=====[[XCOM Squadsight Aim Penalty UIUnitGermanMode ShotSummary Hex Changes]]=====
04 00 C6 7C 00 00
+
* Shot Summary UI changes:
</nowiki>
+
** [[function UIUnitGermanMode_ShotInfo]]
}
 
{This preserves the authors necessary non-HTML format.}
 
  
This content can be put on it's own page and referenced here to reduce the length of the article.
+
=====[[XCOM Squadsight Aim Penalty XGAbility Targeted GetUIHitChance Hex Changes]]=====
 +
* Targeted GetUIHitChance changes:
 +
** [[XGAbility_Targeted.GetUIHitChance]]
  
==Compiled Code==
+
=====[[XCOM Squadsight Aim Penalty XGAction Fire GetUIHitChance Hex Changes]]=====
 +
* Fire Action UI changes:
 +
** [[XGAction_Fire.GetUIHitChance]]
  
{ Sometimes the hex code is translated into 'compile code instructions' as part of the breakdown, because that is easier for humans to read.  It is especially useful when attempting to understand the logic of the code or to restructure or rewrite it, which is called 'refactoring'.  Here is an example: }
+
==Separate Content==
{
 
<nowiki>
 
Old code:
 
if(m_bReactionFire || XComTacticalGRI(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kBattle.m_kDesc.m_iDifficulty >= 2)
 
{
 
return iHitChance;
 
}
 
// End:0x424
 
</nowiki>
 
}
 
{ This content can be put on it's own page and referenced here to reduce the length of the article. }
 
  
==Examples==
+
{ 'Tables', 'Lists', 'Code Breakdown', 'Compiled Code', 'Examples', and similar can (and should if necessary to keep the article length within web editor capabilities) be placed on their own pages and linked from the appropriate points in the article.  It is desirable to group them in one place, but use whatever works best to convey the information.  All referenced links should also be include in the 'References' section below, as that is where people will look when they only want those links. }
  
{ Examples demonstrating implementations of the article subject should be placed on their own pages and treated as if small 'modlets'. They should be fully functional and verifiable, but not necessarily complete mods. }
+
Utilized by [[DefaultGameCore.ini settings - XCOM:EU 2012]]
 +
* See the [[XGTacticalGameCoreData.EAbility]] article.
 +
* See the [[XGAbilityTree.BuildAbilities]] function article.
 +
* See the Mod [[Abilities Modding - XCOM:EU 2012]] article.
  
 
== References ==
 
== References ==
{ Specific page links go here, even if already referenced in the main body of the text.  Put the HTML tag 'br' (in <angle brackets>) twice after each 'refer/referred' section so they will display separated.  Use the asterisk format code ('*') to ensure each link appears on it's own line. If there is no reference, put '* <none>' as a placeholder so it's obviously not merely a missing entry.}
+
Referred to by this article:
 
+
* [[XComGame.exe]]
Referred to by this article:<br>
+
* [[Modding XCOM:EU 2012]]
 +
* [[Modding Tools - XCOM:EU 2012]]
 +
* [[DefaultGameCore.ini settings - XCOM:EU 2012]]
 
* [[XGAbilityTree.BuildAbilities]]
 
* [[XGAbilityTree.BuildAbilities]]
 
* [[Modding_XCOM:EU_2012]]
 
* [[Modding_XCOM:EU_2012]]
 +
* [[XComGame.UPK .Catalog - XCOM:EU 2012]]
 
* [http://www.mediawiki.org/wiki/Help:Managing_files Help:Managing_files]
 
* [http://www.mediawiki.org/wiki/Help:Managing_files Help:Managing_files]
 +
* [[Abilities Modding - XCOM:EU 2012]]
 +
* [[Enhanced Perk Tree mod - XCOMEU: 2012]]
 +
* [[XComPerkManager]]
 +
** [[XComPerkManager.GetPerkInTreeAssault]]
 +
** [[XComPerkManager.GetPerkInTreeHeavyWeapons]]
 +
** [[XComPerkManager.GetPerkInTreePsi]]
 +
** [[XComPerkManager.GetPerkInTreeSniper]]
 +
** [[XComPerkManager.GetPerkInTreeSupport]]
 +
* [[Explosive Damage - XCOM:EU 2012]]
 +
** [[XGTacticalGameCore.CalcOverallDamage]]
 +
** [[XGSummaryUI.CollectArtifactsFromDeadAliens]]
 +
** [[XGWeapon.GetDamageRadius]]
 +
* [[Loadout File Changes Additional Items Mod XCOM:EU - 2012]]
 +
** [[XGInventory.GetRearBackpackItemArray]]
 +
** [[XGItem.ItemType]]
 +
** [[XGWeapon.ApplyOverheatIncrement]]
 +
** [[XGLoadoutMgr.ConvertTInventoryToSoldierLoadout]]
 +
** [[XGItemLibrary.GetItem]]
 +
** [[XGLoadoutMgr.ApplyLoadout]]
 +
** [[XGLoadoutMgr.ApplyLoadout]]
 +
* [[Tactical Charges File Changes Additional Items Mod XCOM:EU - 2012]]
 +
** [[XGUnit.UpdateItemCharges]]
 +
* Mod [[XCOM Squadsight Aim Penalty Mod]]
 +
** [[XGAbility_Targeted.AdjustToHit]]
 +
** [[XGAbility_Targeted.GetShotSummary]]
 +
** [[UIUnitGermanMode_ShotInfo]]
 +
** [[XGAbility_Targeted.GetUIHitChance]]
 +
** [[XGAction_Fire.GetUIHitChance]]
 
<br><br>
 
<br><br>
 
That refer to this article:<br>
 
That refer to this article:<br>
 +
* [[XComGame.UPK .Catalog - XCOM:EU 2012]]
 +
* [[DefaultGameCore.ini settings - XCOM:EU 2012]]
 +
* [[XComGame.UPK .Catalog - XCOM:EU 2012]]
 
* [[XGAbilityTree.BuildAbilities]]
 
* [[XGAbilityTree.BuildAbilities]]
 +
* [[Abilities Modding - XCOM:EU 2012]]
 +
* [[Enhanced Perk Tree mod - XCOMEU: 2012]]
 +
* [[Explosive Damage - XCOM:EU 2012]]
 
<br><br>
 
<br><br>
 
{ Below the specific page links will be the 'Category' links.  The category names be placed within double [square brackets].  Multiple categories are not unusual, but must each be placed on their own line.  The ''Category:XCOM'' is standard and also serves as an example.  These category links will appear when you click on the 'Show preview' button, but in the Category frame below the edit window action buttons.  If a category page does not yet exist, it will appear in RED.  You can click on the red entry and commence the process of creating the category page even before saving the one you are currently editing. }
 
  
 
[[Category:Game Files & Modding - XCOM:EU 2012]]
 
[[Category:Game Files & Modding - XCOM:EU 2012]]
 
[[Category:XCOM Modding]]
 
[[Category:XCOM Modding]]
 
[[Category:XCOM]]
 
[[Category:XCOM]]
 +
[[Category:Modding_Guides]]

Latest revision as of 04:23, 17 November 2018


Overview

This file is embedded in the XComGame.exe file, installed under the game installation path \Steam\steamapps\common\XCom-Enemy-Unknown\ in the .\Binaries\Win32 sub-folder, and is also found as a 'loose' compressed version located in the .\XComGame\CookedPCConsole\ sub-folder. To be modified it requires decompressing the loose .\XComGame\CookedPCConsole\ UPK file into it's packed but decompressed version. The game engine will use either a compressed or uncompressed loose packed file if it is different than the embedded version, providing it is not found in a table of files to be blocked embedded within the EXE file. See Recent_Discoveries for instructions to enable the loading of blocked loose files.

Programs and Tools

See the articles Modding XCOM:EU 2012 and Modding Tools - XCOM:EU 2012.

Packages

See the article XComGame.UPK .Catalog - XCOM:EU 2012 for a list of the packages and classes found in this file.

Details

{ Create an many subsections here as are useful to organize the subject matter in detail. Remember that you can upload and link to screenshot files to illustrate where ever needed. See this page for help on including files in your article. }

Primarily tactical functions are resident in this file. See XComGame.UPK .Catalog - XCOM:EU 2012 for a list of the packages of classes, functions, etc.

Alterations

This section notes those elements changed by particular Mods.

Mod Enhanced Perk Tree mod - XCOMEU: 2012

Mod Explosive Damage - XCOM:EU 2012

Mod Loadout File Changes Additional Items Mod XCOM:EU - 2012

Mod Tactical Charges File Changes Additional Items Mod XCOM:EU - 2012

Mod XCOM Squadsight Aim Penalty Mod

has the following component files:

XCOM Squadsight Aim Penalty Adjust To Hit Hex Changes
XCOM Squadsight Aim Penalty Get Shot Summary Hex Changes
XCOM Squadsight Aim Penalty UIUnitGermanMode ShotSummary Hex Changes
XCOM Squadsight Aim Penalty XGAbility Targeted GetUIHitChance Hex Changes
XCOM Squadsight Aim Penalty XGAction Fire GetUIHitChance Hex Changes

Separate Content

{ 'Tables', 'Lists', 'Code Breakdown', 'Compiled Code', 'Examples', and similar can (and should if necessary to keep the article length within web editor capabilities) be placed on their own pages and linked from the appropriate points in the article. It is desirable to group them in one place, but use whatever works best to convey the information. All referenced links should also be include in the 'References' section below, as that is where people will look when they only want those links. }

Utilized by DefaultGameCore.ini settings - XCOM:EU 2012

References

Referred to by this article:



That refer to this article: