lotrointerface.com
Search Downloads


Go Back   LoTROInterface > LotRO > Developer Discussions > XML modification help (L)

Reply
 
Thread Tools Display Modes
  #1  
Unread 06-20-2007, 08:35 AM
AncientWolf's Avatar
AncientWolf AncientWolf is offline
Premium Member
Premium Member
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 73
New UI Positioning Problem(s) - Exp Bar...

Spent a whole afternoon trying to figure this out to no avail...

What Ive done is used code directly from Frosty's toolbar as a base to start.

Ive repositioned everything in the toolbar without a hitch except for the exp bar and the text for it- it either doesnt show at all, or only the text will show if its in the vicinity (say under slightly) the combat circle or some other element.

Is there a limit on the exp bar sizing? Frosty's is set to 420 width. In his default toolbar without repositioning it it scales down to 400 fine enough.
As soon as I move it's Y coord, it disappears. (Even though theres room in the toolbar field value (say 420 W X 150 H and positioned at X 0 and Y 90).

I'll post some screenshots and code in a bit, gonna give it one more shot this AM.

Reply With Quote
  #2  
Unread 06-20-2007, 09:42 AM
AncientWolf's Avatar
AncientWolf AncientWolf is offline
Premium Member
Premium Member
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 73
Well, I went back to Frosty's original code.

All I did was set the toolbar field to 200 height, then tried repositioning
the xp bar, fill and text to begin at 125 (below any other elements).

Calculations used for positioning are all correct. It disappears.

Tried logging in and out, restarting the client. No avail.

?

Code:

<?xml version="1.0" encoding="UTF-8"?>
<opt>
<SkinName Name="FrostysToolbar"></SkinName>



<Mapping ArtAssetID="LetterBoxBottom" FileName="Invisible.tga"></Mapping>
<PanelFile ID="toolbar">


<Element ID="ToolbarField" X="300" Y="100" Width="420" Height="200" Detach="1">
<Element ID="ToolbarFieldMain" X="0" Y="0" Width="1" Height="1"></Element>
<Element ID="LevelMeter" X="0" Y="125" Width="200" Height="30">
<Element ID="LevelMeterFill" X="5" Y="137" Width="200" Height="6">
<Element ID="LevelMeter_BonusMeter" X="0" Y="125" Width="200" Height="6"></Element>
</Element>
<Element ID="ToolbarButton_LevelUpXP_TutorialHighlight" X="0" Y="135" Width="200" Height="10"></Element>
<Element ID="ToolbarButton_Experience_TutorialHighlight" X="0" Y="135" Width="200" Height="10"></Element>
<Element ID="LevelMeterText" X="3" Y="135" Width="200" Height="10"></Element>
</Element>

<Element ID="AutoAttackIndicatorButton" X="175" Y="30" Width="40" Height="30"></Element>
<Element ID="ViolentModeIndicator" X="175" Y="30" Width="40" Height="30"></Element>
<Element ID="ToolbarButton_AutoAttack_TutorialHighlight" X="175" Y="30" Width="40" Height="30"></Element>
<Element ID="GamePlay_FervorPipDisplay" X="175" Y="30" Width="90" Height="42"></Element>
<Element ID="GamePlay_AimPipDisplay" X="175" Y="30" Width="90" Height="42"></Element>

<Element ID="ToolBarButton_MainMenu" X="240" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolbarButton_Crafting" X="270" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolbarButton_Social" X="300" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolbarButton_Accomplishment" X="330" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolBarButton_Quest" X="360" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolbarButton_Journal" X="390" Y="30" Width="30" Height="30"></Element>

<Element ID="ToolbarButton_Inventory" X="120" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolBarButton_Inventory2" X="90" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolBarButton_Inventory3" X="60" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolBarButton_Inventory4" X="30" Y="30" Width="30" Height="30"></Element>
<Element ID="ToolBarButton_Inventory5" X="0" Y="30" Width="30" Height="30"></Element>

<Element ID="Toolbar_Quickslot" X="0" Y="60" Width="420" Height="35"></Element>
</Element>
</PanelFile>
</opt>
Reply With Quote
  #3  
Unread 06-20-2007, 06:04 PM
D.H1cks's Avatar
D.H1cks D.H1cks is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 162
Quote:
Originally Posted by AncientWolf
Code:


Code:
<Element ID="ToolbarField" X="300" Y="100" Width="420" Height="200" Detach="1">
  <Element ID="ToolbarFieldMain" X="0" Y="0" Width="1" Height="1"></Element>


  <Element ID="LevelMeter" X="0" Y="125" Width="200" Height="30">
    <Element ID="LevelMeterFill" X="5" Y="137" Width="200" Height="6">
      <Element ID="LevelMeter_BonusMeter" X="0" Y="125" Width="200" Height="6"></Element>
    </Element>
    <Element ID="ToolbarButton_LevelUpXP_TutorialHighlight" X="0" Y="135" Width="200" Height="10"></Element>
    <Element ID="ToolbarButton_Experience_TutorialHighlight" X="0" Y="135" Width="200" Height="10"></Element>
    <Element ID="LevelMeterText" X="3" Y="135" Width="200" Height="10"></Element>
  </Element>
Watch out how your 'Y' positions are stacking. You set the whole height to 200, and the level meter to 125(red). Next, LevelMeterFill is 137 (green)below that(notice where the </Element> is located for LevelMeter (yellow). That would put it 137 down from the top of the LevelMeter, and 262 units from the top of the whole Toolbar.

The 'Y' value is always in relation to the element it is nested in(hope that makes sense).

You will have to change the rest of your 'Y' values. Took me a while to figure that out too.

Edit: I even messed up the stacking when I tried to explain it.

Last edited by D.H1cks : 06-20-2007 at 06:13 PM.
Reply With Quote
  #4  
Unread 06-20-2007, 07:37 PM
D.H1cks's Avatar
D.H1cks D.H1cks is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 162
Quote:
Originally Posted by AncientWolf

<Element ID="LevelMeter" X="0" Y="125" Width="200" Height="30">
<Element ID="LevelMeterFill" X="5" Y="137" Width="200" Height="6">

Doh, I even got it wrong again.

The height of your meter is 30, but you place the LevelMeterFill at 137, that is 137 from the top of the LevelMeter, not the entire screen, or even the toolbar.

You should actually leave the 'Y' = 12 alone. You only need to change the top level element to move everything inside it.

Edit: No, I had it right the first time.

The main thing you have to remember, is the origin for a sub-element is the parent element, not the screen. Frosty's example is a little misleading because he put the XP bar at the top of his toolbar. If he had put it at the bottom or in the middle it would have been better to see how the nested elements work.

If you notice in his example, his LevelMeterFill element has Y=12, and the LevelMeter_BonusMeter, which is a sub-element of LevelMeterFill, has Y=0. That makes the BonusMeter the same Y location as the LevelMeterFill element.

I hope that explains it a bit better.

Last edited by D.H1cks : 06-20-2007 at 08:46 PM.
Reply With Quote
  #5  
Unread 06-21-2007, 12:50 AM
AncientWolf's Avatar
AncientWolf AncientWolf is offline
Premium Member
Premium Member
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 73
Quote:
Originally Posted by D.H1cks
Doh, I even got it wrong again.

The height of your meter is 30, but you place the LevelMeterFill at 137, that is 137 from the top of the LevelMeter, not the entire screen, or even the toolbar.

You should actually leave the 'Y' = 12 alone. You only need to change the top level element to move everything inside it.

Edit: No, I had it right the first time.

The main thing you have to remember, is the origin for a sub-element is the parent element, not the screen. Frosty's example is a little misleading because he put the XP bar at the top of his toolbar. If he had put it at the bottom or in the middle it would have been better to see how the nested elements work.

If you notice in his example, his LevelMeterFill element has Y=12, and the LevelMeter_BonusMeter, which is a sub-element of LevelMeterFill, has Y=0. That makes the BonusMeter the same Y location as the LevelMeterFill element.

I hope that explains it a bit better.
Doh!

I feel so silly. Its 2 am here and I am gonna have trouble sleeping till I play with this.

Further testing in the am...
Reply With Quote
  #6  
Unread 06-21-2007, 08:42 AM
Aalwein's Avatar
Aalwein Aalwein is offline
GM, Scarlet Underground
Premium Member
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 163
ancient wolf is assuredly an addict. Come on ... raise your hand and say it!
Reply With Quote
  #7  
Unread 06-21-2007, 09:32 AM
AncientWolf's Avatar
AncientWolf AncientWolf is offline
Premium Member
Premium Member
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 73
Guilty!

I'm obsessed when I have a vision for something and a silly thing like code gets in the way.

Unlike AI scripting I did years ago, I'm getting satisfaction from starting from the beginning with LoTRO's UI in its infikcy <--- "Popeye voice".

Now the servers are down till 1... bleh.
Reply With Quote
  #8  
Unread 06-21-2007, 11:10 AM
Frosty's Avatar
Frosty Frosty is offline
Tools and UI Engineer
Interface Author - Click to view interfaces
 
Join Date: Feb 2007
Posts: 177
Quote:
Originally Posted by D.H1cks
You should actually leave the 'Y' = 12 alone. You only need to change the top level element to move everything inside it.
I'm on vacation!

But this statement is correct. If you don't want to change the whole layout of the LevelMeterFill, you can actually remove it from the XML file. merely by setting the position of the LevelMeter keeps everything else in the same position underneath.

If you're trying to move the LevelMeterFill within the LevelMeter, the "Y" coordinate is parent relative, so your valid range for the y position should be between 0 and the height of the LevelMeterFill (30). Note, however, that the LevelMeter is 12 high, so the real range in order to see it is y = (0..18)

I hope that works, because if not...

I'm On Vacation!

Kidding, I'll look at problems when I can, though.

-P
Reply With Quote
  #9  
Unread 06-21-2007, 02:29 PM
Aalwein's Avatar
Aalwein Aalwein is offline
GM, Scarlet Underground
Premium Member
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 163
Enjoy the vacation Frosty - we can wait! I'm going on vacation this weekend myself and if I get a call from my office I will send them email bombs!
Reply With Quote
  #10  
Unread 06-21-2007, 09:57 PM
AncientWolf's Avatar
AncientWolf AncientWolf is offline
Premium Member
Premium Member
Interface Author - Click to view interfaces
 
Join Date: Apr 2007
Posts: 73
Yeaps, enjoy the vacation! I appreciate you confirming every'ting.

@Led:

I know the feeling about the workload. Its daunting. So far most of the requests Ive had has been directed towards keeping the "fluff" to a minimum;

/boggle

I like elaborate panels and nifty touches laced throughout the ui, but it seems the critics want less. One fix and Ive got at times 9-11 folders for different variations to do.

Thank god for doughuts.
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 09:45 AM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui