Jump to content

XCOM EU Properties lists for eAP_?, eCP_?, and eWP_?


JDDysart

Recommended Posts

Does anyone know which Enemy Unknown (EU) file(s) actually list the various property names?

  • Armors Properties - i.e. eAP_...
  • Characters Properties - i.e. eCP_...
  • Weapons Properties - i.e. eWP_...

 

Firstly, I would like to know all of the defined properties that are already available for use on Armors=, Characters=, and Weapons= lines in DefaultGameCore.ini?

Would have been nice to be able to find this information in the XCOM-EU wiki.

 

Secondly, should I not be able to find a particular property, I would like to know how involved it is to innovate a new property?

  • Innovate (as in modifying what already exists) as opposed to Invent (as in create from scratch).

 

Example: Similar to having the Weapons= eItem_Grapple integrated into the Armors= eItem_ArmorSkeleton via eAP_Grapple, having Weapons= eItem_ReinforcedArmor integrated into Armor= eItem_ArmorKevlar via an eAP_ReinforcedArmor property.

Link to comment
Share on other sites

Those weapon and armor "properties" are actually called "abilities". Some are only available as a consequence of acquiring specific "perks", while others apply to particular items. This is discussed in the wiki article "XCOM: EU Perks". It's pretty much impossible to talk about one without the other.

 

However, I didn't find nor do I recall that anyone found the need to create an "Abilities Enum list". (We do have one for the "perks".) There is an article on "Abilties Modding", but it's discussion is tied to "perks". But you need to be aware that the functions needed are "native functions", which means they are "black boxes" we can't access to examine or change. They are proprietary code buried in a code library.

 

To build your list you will need to comb through the "DGC.INI" file.

 

If you end up building such a table, post it here and I'll turn it into a wiki article. That's how we got all the articles: someone had the desire to understand something and needed to spend the time pulling the information together and then posting it. Then someone (usually me) would turn the information into a format suitable for the wiki.

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

Thank you -Dubious- for your reply.

 

Having been in computer programming back when (as like around the time the original XCOM - with different names for the American and European releases - was written), I would like to believe that LOGICALLY 'ABILITIES' and 'Properties' aren't actually exactly interchangeable.

 

Although, I will admit that any line is a bit blurry when it comes to integrating the 'Grapple' function with Armors other than Skeleton and Ghost. The DGC.ini file would lead one to believe that the 'eAP_Grapple' property is what adds this function to the Ghost and Skeleton armors. BUT, then one can add it to other armors using just the 'eAbility_Grapple' - but 'eAP_Grapple' alone won't show a grapple function on other than the Ghost and Skeleton Armors (neither of which have the 'eAbility_Grapple' in the DGC.ini file.

 

For the Ghost and Skeleton Armors, it appears that the Weapon of iType=eItem_Grapple has the eAbility_Grapple, which seems to imply that the eAP_Grapple property is linking THIS ABILITIES[0]=eAbility_Grapple to said armors; but these two armors are the only ones that seem to benefit from this "linking". Just where did my "logic" train break down? and WHY?!

 

What got me going, this time, is the illogic of having Reinforced Armor or Chitin Plating in a pocket or pack be of any use when it is really needed. Both of these 'logically' should be integrated into the Armor one is wearing; not in a pocket or pack!

 

I am hoping that if one knows which "black boxes" to establish which links between, one can get these <what-ever-you-call-them> integrated into an equip-able armor.

 

Back to my original query, the game must have the eAP-s, eCP-s and eWP-s somewhere, if only to be able to implement the scripted code in the DGC.ini file. I guess it may be possible that it is in a "Cooked IN" file embedded in some black box, like the DGC.ini is "Cooked IN" to the cache portion of the .exe file; but I would prefer to believe it is just in an as of yet unexamined part of a "Package File".

 

 

Edit: (not my discovery, something on this site pointed me to these)

For UI purposes (User-Friendly naming, etc) the localization file XComGame.int contains some lists.

eAbility_<whatever> list can be found in the [XGAbilityTree] section.

eChar_<whatever> & eItem_<whatever> lists can be found in the [XLocalizeData] section.

Edited by JDDysart
Link to comment
Share on other sites

Whatever logic there may have been when the game was originally designed, under the pressure of deadlines anything may become sacrificed. Compromises become a way of life.

 

Re: Reinforced Armor or Chitin Plating. These, in concept, are like "trauma plates": the ceramic ballistic plate inserts used in current infantry armor. And they are inserted into pockets in the "soft armor" like "flak jacket" vests, allowing variable reinforcement depending upon mission. They add considerable weight, as well as decreasing flexibility and increasing how hot/exhausting the armor becomes in use. The trade-off of "ammo versus protection" for a given weight is a highly personal one. Unless you have some powered exoskeleton, a full body coverage suit is not practical in the long run.

 

The "cooked in" portion of the game is solely for speeding up gameplay. The content is the same as in the vanilla DGC.INI file. Once you "enable INI loading", the cooked in portion is ignored.

 

Regarding your other questions: I'm afraid all the investigators moved on to "Long War", and then XCOM2 over a year ago. I just check in here periodically to direct people to the appropriate areas.

 

-Dubious-

Link to comment
Share on other sites

  • 2 weeks later...

Eureka! :wink:

 

Found 'em with UEE.

 

XComGame.upk - XGTacticalGameCoreData - Enumerations -

  • .EArmorProperty See also: XGTacticalGameCoreNativeBase - Structures - TArmor.
  • .ECharacterProperty See also: XGTacticalGameCoreNativeBase - Structures - TCharacter
  • .EWeaponProperty See also: XGTacticalGameCoreNativeBase - Structures - TWeapon

 

Dubious : may want to add an Enumeration reference to the Wiki; There are some interesting lists in the XComGame.upk @ XGTacticalGameCoreData - Enumerations; see if you think any are worthy of being referenced in the wiki? IMO reference should be sufficient - no real need to actual list them all out; especially as another patch could change these.

Edited by JDDysart
Link to comment
Share on other sites

Congrats. I believe you will find those enumerations in the XGTacticalGameCoreData.EAbility series of articles (there are 6) in the wiki. If you find any are missing you will have to provide me with the list. (I don't have the game installed any more.)

 

No further patches are expected for XCOM EU/EW, especially since the release of XCOM2. The last one (for EW) was Nov 2013.

 

-Dubious-

Link to comment
Share on other sites

Yeah, right :sad: You are referring to the "this page doesn't exist" link for XGTacticalGameCoreData? correct? and the XComGame.int wiki-page also seems to be missing-in-action?

 

Your link does do a good job of enumerating the "eAbility" abilities; but I was actually looking for "Properties", as in eAP-s, eCP-s and eWP-s, which can be found on/under EArmorProperty, ECharacterProperty and EWeaponProperty. It might also be noted that some of these denote states of the same general ability/property rather than truly distinct abilities and properties.

 

While there are 58 eAbilities, there are only 8 eAP-s, 13 eCP-s and 19 eWP-s; IMO we don't really need an entire page for each of these, we just need the proper reference to where they can be found placed in the Wiki :wink:

 

The structure references are to the structures used to store the assignments of these properties.

 

The best way I know of to state my case: Properties are more tangible (physics or physical) while Abilities have a certain Intellectual connotation for being the uses to which one puts said physics or physical properties. In an unreal gaming world, these logical concepts may be a bit murky and/or a blurry gray, but they still do tend to be a part of the common lexicon.

 

 

Edit:

 

General Rule

As adding to one of these lists may break links to anything after your addition, (please) add to the end of said list; that is just before the "<list-name-prefix>_MAX" line.

 

Exception:

You are able and willing to mod EVERY function that references anything in said list; DO take the time to make sure you aren't breaking positional (aka index) links to anything in said list.

 

Edit2:

 

To use more than 3 [0:2] eAbilities and/or more than 4 [0:3] eAP-s (on an Armor) - need to mod (at least*) File: XComGame.upk, Class: XGTacticalGameCore ( Function1: BuildArmors, Function2: BuildArmor ).

  • Not limited to just these 2 functions, there may be more!

There are corresponding functions for Characters and Weapons.

Edited by JDDysart
Link to comment
Share on other sites

Actually, I am referring to these 6 "XGTacticalGameCoreData" pages, which are found in the lower portion of the Main XCOM Wiki category page:

XGTacticalGameCoreData.EAbility

XGTacticalGameCoreData.EAbilityDisplayProperty

XGTacticalGameCoreData.EAbilityEffect

XGTacticalGameCoreData.EAbilityProperty

XGTacticalGameCoreData.EAbilityRange

XGTacticalGameCoreData.EAbilityTarget

 

Where did you get the "does not exist" link, so I can fix it?

 

As for the eAP-s, apparently no one else found a need to provide that particular enum list. (I'm sure there are a number of others we don't have as well.) If you care to put such a list together, I'll create the wiki page if you prefer. And I agree they can go into a single document.

 

Re: the structure reference. Need an example at least, to include which UPK and sub-section.

 

-Dubious-

Link to comment
Share on other sites

First - on the Main XCOM Wiki Category page there is a working link for "Category XGTacticalGameCoreData", however I can't find a link for "XGTacticalGameCoreData" (without the Category and without ".EAbility<[whatever]>" appended).

  • <[whatever]> is used here to denote an optional suffix.

 

Second - you will probably want to review the wiki pages that you linked to in your post #entry43140665, for red (broken?) links - some of these appear to be cases where a wiki page was renamed, a link for the new name added and the link for the old name (which no longer exists) left in place. Not sure whether the old link needs to be removed or just marked with strike-through code (to show that it is known that "that page no longer exists").

 

Third - the red "does not exist" and the red "missing-in-action" wiki page links are near the top of the XGTacticalGameCoreData.EAbility wiki page that you linked to.

 

I currently have XCom-EU (and the UEE utility) installed on a "Windows 10 Home" computer, and I have yet to figure out how to get past the default security settings to be able to "paste" into a Web Browser! While I can cut and paste with notepad (all day long :smile: , I can't seem to access the clipboard from inside my web browser :sad: ... so I am having to type in all of these code blocks / examples / etc.

 

Provided as "additional information" for where-ever in the wiki:

The "Structure" references I mentioned were to "XGTacticalGameCoreNativeBase.Structures" :

  1. TArmor ("XGTacticalGameCoreNativeBase.TArmor" - 89 [0:88] aAbilities, 9 [0:8] aProperties, etc),
  2. TCharacter ("XGTacticalGameCoreNativeBase.TCharacter" - 111 [0:110] aUpgrades, 89 [0:88] aAbilities, 14 [0:13] aProperties, 19 [0:18] aStats, 15 [0:14] aTraversals, etc),
  3. and TWeapon ("XGTacticalGameCoreNativeBase.TWeapon" - 89 [0:88] aAbilities, 20 [0:19] aProperties, etc)
    1. I'm viewing these with UEE in / from the XComGame.upk file.

 

  • As all three (Armors, Characters, and Weapons) have 89 [0:88] aAbilites and as I found only one Abilities Enumeration - I'm presuming that these all could share the same 89 (0x59) Abilities.
    • # [#:#] - where "# "is a decimal (base10) numeric value, denoting: <total-count-of-index-values> [<index0>:<indexn>] :wink:
  • But, as all three (Armors, Characters, and Weapons) have different numbers of Properties and as I did find different Property Enumerations for them - I must conclude that the Properties are unique to each one (of Armors, Characters, and Weapons).
  • The aAbilites and aProperties (which appear to be used as binary values?) with one for each possible Ability & Property - suggest that these are used as flags denoting the presence / absence of each Ability & Property.

 

Is this enough? Or do you really need me to type in the entire TArmor structure (as an example)?

Edited by JDDysart
Link to comment
Share on other sites

First - on the Main XCOM Wiki Category page there is a working link for "Category XGTacticalGameCoreData", however I can't find a link for "XGTacticalGameCoreData" (without the Category and without ".EAbility<[whatever]>" appended).

  • <[whatever]> is used here to denote an optional suffix.

There isn't a separate page for "XGTacticalGameCoreData" because it is a broad category heading for Tactical data. IIRC there is also a "XGStrategyGameCoreData" section as well (or close to that name).

 

Second - you will probably want to review the wiki pages that you linked to in your post #entry43140665, for red (broken?) links - some of these appear to be cases where a wiki page was renamed, a link for the new name added and the link for the old name (which no longer exists) left in place. Not sure whether the old link needs to be removed or just marked with strike-through code (to show that it is known that "that page no longer exists").

 

Third - the red "does not exist" and the red "missing-in-action" wiki page links are near the top of the XGTacticalGameCoreData.EAbility wiki page that you linked to.

And they don't exist because no one ever took the time (or saw the need) to produce that content. (Wiki pages don't get onto the "Category" pages until they exist. The "category" is assigned when the page is created. Pages can't be "renamed"; they have to be "deleted" (but can't really be so it is very reluctantly done) and created from scratch with the new name.) Please bear in mind the code-divers were much more interested in solving their particular modding problem than in documenting everything they came across in the process. (This is typical: coders as a rule dislike documentation.) Which is why we have so many "red link" pages. We know they exist, and would like to develop them, but so far haven't the explanatory material. The "broken links" provide the knowledge that the subject matter exists in the game files; just not on the wiki. In many cases (like "XComGame.int"), no one bothered because the file contents are considered "self-explanatory".

 

I currently have XCom-EU (and the UEE utility) installed on a "Windows 10 Home" computer, and I have yet to figure out how to get past the default security settings to be able to "paste" into a Web Browser! While I can cut and paste with notepad (all day long :smile: , I can't seem to access the clipboard from inside my web browser :sad: ... so I am having to type in all of these code blocks / examples / etc.

First I would test that UEE has implemented Windows "copy-and-paste" functionality, by highlighting the desired material in UEE, copying, and then trying to paste into a Windows plaintext editor like Notepad. You might also try "export". If that succeeds, then you know your problem is with the Web Browser itself and not the clipboard. In that case you will have to practice your "google-fu" with a search term like "Win10 <your browser> edit or 'copy and paste'". Some reports indicate it is a MS problem that has been resolved with the latest Win10 updates. Also, check your mouse driver for an update as well.

 

With lengthy posts I have often found it advantageous to write the post (including HTML markup) offline in Notetab (or Notetab++ or similar plaintext editor), then open the "Reply" window on the forum and paste the entire post at once while in "Full Editor" mode. You can work out the HTML markup for things like "code blocks" and "quotes" by typing in some sample text and then applying the forum editor icons to the selected text to view the result. TIP: indent all code by at least one space within a code block so it will retain the formatting. Also, the forum software uses [square brackets] instead of <angle brackets> to signal it's HTML tags.

 

I'll see what I can do with the "additional info" on "structures".

 

I've posted your material on the "pseudo-code" to "UPKUtils_Pseudo-Code" under "Lessons Learned" in the "Hex editing UPK files" article. One question that occurred to me: where did you find the "pseudo-code" equivalence for the token in your example? It seems to be the only step that is missing.

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...