View Single Post
  #4  
Unread 04-22-2009, 02:50 PM
Frosty's Avatar
Frosty Frosty is offline
Tools and UI Engineer
Interface Author - Click to view interfaces
 
Join Date: Feb 2007
Posts: 177
The SkinDefinition.xml is a template for the existing UI. It contains all of the assets that are skinnable linked up to the graphics distributed as part of the art asset packs. You could drop all the assets and SkinDefinition.xml file into your client directory and when you picked the new skin, the UI would look exactly the same!

The SkinDictionary.txt file is supposed to be the definitions of all the panels in the game with their coordinates relative to other items on the panels. Not all of the items in the Dictionary file have art assets associated with them - some are "container" fields used to separate stuff conceptually rather than visually. It's like a dictionary in that it contains a reference to all the panels that can be skinned (moving positions around). To use the file, you'd cut and items from it and paste them into the SkinDefinition.xml file and tweak the locations of the fields.

The code that allows the UI to tweak the positions of skinned elements only works for certain types of elements: items that are "inherited" do not work correctly. So something like the toolbar works fine: there's only one instance of the toolbar in the whole UI, so you can move it's child elements around. Something like the coin display (or more complicated like the character panel) are used in multiple places in the UI, so they "share" a definition. The code that repositions the elements within a "shared" definition does not work. I'm trying to get that fixed in an upcoming book release.

-P
Reply With Quote