Home Forum Downloads My Favorites Register FAQ Mark Forums Read

Go Back   EQInterface Forums > Developer Discussion > General authoring help / discussion
User Name

Thread Tools Display Modes
Old 07-13-2023, 05:17 PM   #1
A Gray Wolf
Join Date: Jul 2023
Server: Test
Posts: 4
Default Some experiences with the new UI Engine

Greetings Everyone,

I had a monitor go out recently, and never thought it would cause so much trouble. Of course it was a 2K monitor, and I replaced it with a 4K monitor. Bring on that 4K goodness!

I'm sure that you all know how that went. The screen is huge. It's beautiful. And when I fired up EQ the UI was so small! I have reading glasses, but really need a reading electron microscope at this point. I normally use a modified Sparxx, but it is time to look into this new UI engine.

I like the scaling inventory window, but what about the rest?

There are so many things to look into, and so many things to learn. I think it will be helpful to the community to compare notes. This UI is going to require many people to put their heads together to make any progress.

1. It sure doesn't seem that anything outside of default is even looked at. I made a copy of uiresources/default and started to experiment. NOTHING I did made any changes. When I later logged out and renamed default, then renamed my copy TO default. I started seeing changes in default.

2. There is no real mention of default anywhere in the HTML files (outside of comments). I don't think there is anything in the HTML responsible for the limitation, but rather something in the client is hard-coding default.

3. My renamed copy of default does not function anymore. When I load the skin, my MODIFIED default loads. For example, I removed the heroic upgrade button from the inventory screen. That is a clear change which is seen in the modified default. When I load the copy (orig_ui_gf) those buttons are still gone. No errors appear in UIErrors. What does this tell me? Only uiresources/default has any function. The HTML files ARE processed in that folder. Changes can be made and are seen. Anything in any other folder, even the original default UI files are ignored if they are in any other folder.

I ran Sparxx through the layout converter, and didn't get anything usable.

I tried to add things to the default UI: I added the Achievements window (for no particular reason). I added the window to index.html, and saw something the next time I logged in. The window scales, but the contents are wrong. Also, the Achievements window is not supposed to appear on login. Still, this is a good sign. I was able to display a new window in the UI, so it isn't like the windows are hard-coded in the client. But when I closed the window, I was not able to get it to display again. The regular Achievements window appeared when I used the button on the new inventory window, or the EQ menu.

4. The punchline is that I believe index.html is only processed on login, not on character select or UI reload. I even damaged the Achievements window HTML (by removing a close tag). I could switch characters and UIs all day with no consequences (good or bad). When I logged out and tried logging back in the client would crash. This is why I believe the file is only processed on login.

5. The regular Achievements window appeared (alongside my new one), even though they both have the same item ID. The regular window was coming from the SCALE files (in uifiles). My file was in uiresources and had already been loaded.

6. Loading a backup copy of the SCALE UI (orig_ui in uifiles, as suggested by Angeliana) would generate four errors in UIErrors.

[Sun Jul 09 18:58:25 2023] Warning: Custom SUITE Inventory window file detected. Please consider removing this file, replacing it with a customized Gameface file if needed. [Sun Jul 09 18:58:25 2023] Warning: Custom SUITE QuantityWnd window file detected. Please consider removing this file, replacing it with a customized Gameface file if needed. [Sun Jul 09 18:58:25 2023] Warning: Custom SUITE SelectorWnd window file detected. Please consider removing this file, replacing it with a customized Gameface file if needed. [Sun Jul 09 18:58:25 2023] Warning: Custom SUITE StoryWnd window file detected. Please consider removing this file, replacing it with a customized Gameface file if needed.

These are the four files modified by DBG, and present in eqresources/default. Note no mention of my Achievements window.

7. The UI does not seem to cache files. When I load orig_ui I get those four error messages. When I immediately reload it, I get another four identical messages.

8. Just including HTML from index.html will cause the window to render. I created a new HendarWnd which was not loaded by any other mechanism. It appeared after login, and generated no errors. It scaled as desired.

9. There was no significant difference between HendarWnd and the new Inventory window (other than the contents). But Inventory does not appear on login. I believe that the client actually hides this window on login. Since the client does not know about the HendarWnd, it is displayed.

I'm not sure how useful the Layout converter is right now. I still need to figure out how to generate good HTML by hand, then I can worry about rules that may be missing or incorrect. I note that it cannot convert the default UI, which makes me question it.
hendar_of_halas is offline   Reply With Quote
Old 07-15-2023, 07:44 PM   #2
A Gray Wolf
Join Date: Jul 2023
Server: Test
Posts: 4

I am still poking at things a bit, but am kind of stumped.

I really would like to know how to bring up windows and close them using buttons. It is possible that this must be done through client code only, and that the interface is just there to support client commands.

This would be unfortunate, as it would mean that there is no way to modify anything that the client has not been converted to use.

I have been able to get new windows to appear by putting them in index.html, but that does not make them an active part of the UI. I cannot find any mention of the IDs for the individual controls outside of the HTML which defines them.

This seems likely, because when I open the client in a hex editor, I see the item IDs as strings.

hendar_of_halas is offline   Reply With Quote
Old 08-06-2023, 09:51 AM   #3
A Snow Cougar
Join Date: Jun 2020
Posts: 45
Interface Author - Click to view interfaces

Ok... so...

The new UI engine ONLY functions on windows daybreak has ported over to it; nothing else. At this point you cannot have an Achievement window in the new UI engine.

The layout converter doesn't work. The EQI community has already discussed this in other threads on these forums, as well as threads on the EverQuest forums. Don't bother with it at this point.

You don't get to choose one engine at this point. You get to work with both; even those that have forced the client to use the old xml default UI to escape bugs/issues with the windows they have ported over are still running both engines.

The process of loading a UI runs through a script, as detailed Here by Niente, and Here by me.

The rest of your content/questions in this post seem to be html specific stuff that I'm afraid I have little idea of what you're actually talking about.

Originally Posted by hendar_of_halas
Is there a way to get the player's pet's target name into a label? I do not see an EQTYPE for that. There is the pet's target's HP, which is the closest reference.

I'm trying to scale up some controls.

While I'm at it, is there any hope of changing the font size of the cascading menu used by right-clicking empty spell gems?

The player's pet's target name is part of the Gauge EQType 41. There is no label EQType for it.

I haven't tried changing cascading menus personally, but I believe, with the exception of the one attached to the EQButton (which can be modified in CascadeMenu.txt) they are all hard-coded and unable to be changed.

MercenaryInfo AltPurchaseCost
Originally Posted by hendar_of_halas
Both the text and icon seem uncontrollable.

I can change the icon's size, but not its X location. (Well if I remove the relative positioning it will appear in the main window coordinates). I have been able to shift the Y coordinate a bit, but never X.

The accompanying text can have a color change, but does not move.

The icon and the text are two different elements. Both should be able to be moved or re-sized; neither appears hard-coded.

<Button item="MIW_AltPurchaseCostIcon"> <ScreenID>AltPurchaseCostIcon</ScreenID> <EQType>mercenary/InfoWnd/AltPurchaseCostIcon</EQType> <Location> <X>215</X> <Y>1</Y> </Location> <Size> <CX>18</CX> <CY>18</CY> </Size> <ButtonDrawTemplate> <Normal>A_GoldCoin</Normal> <NormalDecal>A_GoldCoin</NormalDecal> </ButtonDrawTemplate> </Button>

<Label item="MIW_AltPurchaseCostText"> <ScreenID>AltPurchaseCostText</ScreenID> <EQType>mercenary/InfoWnd/AltPurchaseCostText</EQType> <RelativePosition>true</RelativePosition> <Location> <X>173</X> <Y>0</Y> </Location> <Size> <CX>36</CX> <CY>16</CY> </Size> <Text>123</Text> <AlignRight>true</AlignRight> </Label>

If it was a combined text/button element like the display for platinum, gold, silver and copper in the inventory... you can move the icon around with <DecalOffset> tags and resize it with <DecalSize> and the text elements can be moved around with <TextOffsetX> and <TextOffsetY> tags. SIDL.xml is your friend that helpfully shows you all the tags.

Your icon/text will "disappear" if you move them outside the total element size though - your element size <CX><CY> still needs to be big enough for them to display.

Last edited by Emilari : 08-09-2023 at 08:11 AM.
Emilari is offline   Reply With Quote

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

All times are GMT -5. The time now is 05:32 PM.

vBulletin Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.