View Single Post
  #8  
Unread 05-10-2022, 09:19 AM
lunarwtr's Avatar
lunarwtr lunarwtr is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Feb 2011
Posts: 121
Quote:
Originally Posted by Adra
When a PanelFile is present in a skindefinition, if possible, you could load its reference full code from the skinning source (and divide it divide it by elements) then merge its values with the custom panel file from the skindefinition in order to get the complete code panel.

As an example, here is a panel code dedicated to mask the store button from the toolbar :

Code:
<PanelFile ID="ID_UISkin_Toolbar"
<Element ID="ToolbarField"  X="448"  Y="9000"  Width="1024"  Height="200">  
<Element ID="Toolbar_WebstoreButton"  X="0"  Z="0"  Width="1" 	Height="1"></Element>
</Element>
</PanelFile>
As you can see there is only a very small part of the actual toolbar panel code, so you can't render the toolbar only using this.
In this example, the only "interesting" line for my purpose is ID="Toolbar_WebstoreButton" but I can't just write it only.
The other lines define the minimal tree structure required to "locate/place" it. (I guess in order to avoid confusion with any other element ID wearing the same name).

Another important point : Don't consider a panel code as a static block.
Most of the inner elements can be freely reordered !
For example in the toolbar code, bag codes appear in disarray, intertwined with other items (left buttons, right buttons, fervor/wrath/mettle/attunement). In my custom toolbar codes I've grouped and rearranged those elements by category to read/understand it easier.


Also beware that some inner element IDs can have the same name in different elements as the TextButtons in this part of barbershop code :

Code:
    <Element ID="AppearanceMod_ResetButton" X="615" Y="560" Width="140" Height="20"> 
      <Element ID="TextButton_Highlight_r" X="104" Y="3" Width="32" Height="14"> </Element>
      <Element ID="TextButtonReference_Left" X="0" Y="0" Width="20" Height="20"> </Element>
      <Element ID="TextButtonReference_Mid" X="19" Y="0" Width="101" Height="20"> </Element>
      <Element ID="TextButtonReference_Right" X="119" Y="0" Width="20" Height="20"> </Element>
      <Element ID="TextButton_Highlight_l" X="3" Y="3" Width="32" Height="14"> </Element>
    </Element>
    <Element ID="AppearanceMod_Viewport" X="6" Y="50" Width="560" Height="470"> </Element>
    <Element ID="AppearanceMod_BuyButton" X="124" Y="560" Width="160" Height="20"> 
      <Element ID="TextButton_Highlight_r" X="84" Y="3" Width="52" Height="14"> </Element>
      <Element ID="TextButtonReference_Left" X="0" Y="0" Width="20" Height="20"> </Element>
      <Element ID="TextButtonReference_Mid" X="19" Y="0" Width="121" Height="20"> </Element>
      <Element ID="TextButtonReference_Right" X="139" Y="0" Width="20" Height="20"> </Element>
      <Element ID="TextButton_Highlight_l" X="3" Y="3" Width="52" Height="14"> </Element>
    </Element>

Sorry for the migraine this will cause you !
You and dt192 are saving me a lot of time by bringing these to my attention.

dt192 confirmed to me offline that an xml merge does need to happen between what is supplied via Skin Panel + Asset Skin Panel, so I'm working on incorporating those changes now.

U25 Asset seem to be ok, but the U32 ones that I provided have incorrect Panel definitions for base layout elements. I'm working on fixing this bug when I can determine how each base is calculated. There is a little bit of guesswork involved here.
__________________
Author of Lotro Compendium, Waypoint, and Lotro Plugin Compendium (LPC)
Reply With Quote