ArtDefs unearthed

Hey Modding folk 

I have a few questions about the ArtDef Xml or more specifically the  </GameItemTypeArtDef> tag.

I'm trying to write a parser for them but I'm still a bit stumped about some details of the format

so basically the  </GameItemTypeArtDef> is a container for multiple </GameItemTypeModelPack> which manages the override for different Models each ModelPack then starts off with the models its supports and which icon too use etc 

the tricky bit comes within the <GameItemTypeModel> each has a <ModelFile> , constituting the path of the model used.

The other tags in there however are strangely ambiguous this is where my questions start

 

Attachment:

Items seem to either have an <AttachmentType> which is always set to "skinned" or an <Attachment> tag with an Attachment point.

How do these work? Is there either an <AttachmentType>  XOR <Attachment> or can they both be in an Model? and are they each unique?

looking at all the art defs in ArtGameItem.xml and CoreClothes.xml this seems to be the case, but i would like some confirmation before I Hard code that;

 

Color :

there are several color tags so far i have identified

Color_Clothing1

Color_Clothing2

Color_Metal

Color_All

with values either being R,G,B ; Color_Metal;Color_Clothing1 ; Color_Clothing2 which i guess correspond to the colors of the chosen faction

 

are these all? or did i miss any color tags?

 

Texture:

they seem to be coming in tags of the format

<Texture_Color> i.e. <Texture_Clothing1> will texture the fields that are colored by  Color_Clothing1  same questions as with colors here, is that the general form? and do all Colors have a corresponding Texture tag?

 

 

As i said the goal is to write a parser so knowing the value range and uniqueness of each tag is rather help full. Thank you for all replies in advance :)

7,858 views 3 replies
Reply #1 Top

Also since this will be part of an ItemEditor any pointers on the AIData tag would also be help full, though that seems to simply be 1 value all the time

Reply #2 Top

Attachment:

Items seem to either have an <AttachmentType> which is always set to "skinned" or an <Attachment> tag with an Attachment point.

How do these work? Is there either an <AttachmentType>  XOR <Attachment> or can they both be in an Model? and are they each unique?

looking at all the art defs in ArtGameItem.xml and CoreClothes.xml this seems to be the case, but i would like some confirmation before I Hard code that;

End of quote

This is something that is "hardcoded" into the model. An item that is SKINNED means that it has been bound to a skeleton (K_Male_Skeleton_01.hkb) for animation. This means the modelfile can't be used on any other skeleton.This is the first reason why creating "monster" champions is very difficult.

AttachmentType and Attachment are effectively either or, because the model only supports one type (it is either skinned to the skeleton for animation, or it can be applied to a fixed point).

Color :

there are several color tags so far i have identified

Color_Clothing1

Color_Clothing2

Color_Metal

Color_All

with values either being R,G,B ; Color_Metal;Color_Clothing1 ; Color_Clothing2 which i guess correspond to the colors of the chosen faction

 

are these all? or did i miss any color tags?

 

Texture:

they seem to be coming in tags of the format

<Texture_Color> i.e. <Texture_Clothing1> will texture the fields that are colored by  Color_Clothing1  same questions as with colors here, is that the general form? and do all Colors have a corresponding Texture tag?

End of quote

These are materials that, again, are hardcoded into each model. Note that the game does not tell you what all the materials are that are used by the model.

You cannot alter which material is used without altering the model. Also, if the color for a particular material is not given in the <GameItemTypeModel> it will be inherited from the UnitType that is wearing it. If the UnitType does not have those colours it will be inherited from the Faction being played. I don't know how color_all interacts with this inheritance system.

Similar to colour, the texture_ allocations are hardcoded into the models. You can change what texture is used, but you can't change the type of the material (like colors). Some of the very old files do not have any textures assigned to them. In that case, the texture is hardcoded into the model but you CAN change it using <Texture_All>. There is no reference for what texture belongs to what model for these hardcoded textures (you can open the file in notepad and search for .png or .dds files).

 

 

Basically, to sum up, I would recommend sticking to the tags used for each gameitemtypemodel.

+1 Loading…
Reply #3 Top

Thanks alot HeavenFall this cleared up all i wanted to know! now i can make a parser and a sensible UI for this last Group of item tags :)