Home Forum Downloads My Favorites Register FAQ Mark Forums Read

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

Reply
 
Thread Tools Display Modes
Old 05-24-2023, 11:07 PM   #1
Trenus
A Bat
 
Join Date: May 2023
Server: Rathe
Posts: 1
Default New UI Observations

I've seen more than a little complaining about the new UI engine and people having issues working with and using it. There is also a lack of coherent guidance on how to even start with it. So, I thought I would offer what I have figured out, been doing to experiment, and how I test it.

Just as a disclaimer, I use Vert and have only experimented with the new engine to see what works, since I am a software developer and have front end web development experience from my junior years.

I initially messed with the converter app, and after installing .Net 5, got it to work - kind of. It doesn't seem to have very well defined rules, so the conversion is very hit or miss. I eventually gave up on it and went on to just copy (and then modify) the default HTML files in a new "html-test" folder. Which, honestly, is probably quicker for 90% of people unless they did something crazy custom to their UI files.

The tools I used:
  • VS code to do development. It has a built in format document option that makes all the file contents standardized in spacing and line breaks, while also making it immensely more readable. It's free from Microsoft and is super handy.
  • Gimp for image manipulation. It allows you to create/modify both .tga and .png files. What more do you need?
  • Firefox for testing/debugging. I suppose most modern browsers should work, but I haven't tried others since I don't use them (because of tracking) anymore

You'll notice I didn't say you need EQ for any part of this. Because now you can actually test your new UI outside the game. In pieces, for the moment. I'm sure some enterprising person will come along and show everyone how to load all the new UI parts into a mock up, so you can see the whole thing, before too terribly long.

Anyway, that comes after I explain a bit about how the new UI seems to work.


As you can see this is the "main" UI file EQ uses (line 5 says as much) behind the scenes.

For those that have never seen HTML before, you're going to want to pay attention to lines 6 through 8. It is importing the contents of those files. And everything that is part of this page is affected by them. Line 8 is where all your styling (images, colors, font size, etc) comes from.

Lines 12 to 14 are where they are pulling in all the windows that make up the visible UI. Specifically in the <include-body /> elements. Those pages are affected by the files imported in the last paragraph, when rendered as a child of this parent page.


This is the window selector file and this is where I will demonstrate the general layout and how to modify and test/debug it. Lines 6 through 10 and lines 13 through 21 are the changes I did to this file from stock. You could even delete the <style /> element since it's contents have all been commented out. I left it for illustration purposes in case someone wanted to modify only this window though.

Now to test that this window will render outside the game. Go to the folder where the file is and open it with Firefox. It should look similar to this:


If it didn't render then you likely didn't reference the main.css file properly. I haven't tried not referencing the JS files yet. Not really worth time investigating since it works with them referenced, is only for testing, and will be removed before final publish anyway.

Now that we have it rendering in a browser, it makes it so much easier to figure out what controls your window renderings. Simply right click anywhere on the web page and open the inspect or developer tools window. You can use it to inspect any of the rendered HTML to see what classes in the main.css file affect the final styling. You can then either change them there or add something to the <style /> of the page or specific element. There are literally thousands of articles on the web teaching complete novices how to use CSS on a web page for you to reference.


I personally used Gimp to open up the custom "window_pieces01.tga" file that came with Vert and copied out the parts used in the window title bars, and pasted them over the images referenced in the CSS classes. My window is a bit ugly since I didn't do the image work very cleanly. But, you know, I am only experimenting and will wait for others to do the port since I honestly can't be bothered to learn the old proprietary UI system. I just enjoy putting out code and/or technology fires.

One last thing I noticed was the atlas.json file seems to map the individual parts out of big "window_pieces01.png" (and similar) files like the old UI did. I don't know if it does anything with those maps if the individual images already exist. But it should likely be updated to match whatever custom files you add to the "./assets/images" folder. Here is an example of what I mean:



Hopefully this quiets some of the complaints and gives some direction to those who are lost trying to figure out where to start their conversions at. Just don't forget to remove the references in the <head /> section of your window.
Trenus is offline   Reply With Quote
Old 05-25-2023, 02:28 AM   #2
Emilari
A Snow Cougar
 
Join Date: Jun 2020
Posts: 45
Interface Author - Click to view interfaces
Default

Thanks for the post Trenus! I found it quite informative and it did indeed answer some of my lingering questions.
Emilari is offline   Reply With Quote
Old 05-26-2023, 11:48 AM   #3
Smix
A Gray Wolf
 
Join Date: Apr 2005
Posts: 6
Default

Thank you so much for this explanation. I Did very little with any coding and over the years managed to put together a custom UI that worked well enough for me and I'm completely unable to play to due to the changes to the inventory window. I've even considered trying to find someone to pay to fix this mess so I don't have to learn something new that I have limited time for.

I appreciate you putting this out in such as a way, that even I as a layman with very little experience can at least start puttering around with things.
Smix is offline   Reply With Quote
Old 06-05-2023, 12:48 PM   #4
Smix
A Gray Wolf
 
Join Date: Apr 2005
Posts: 6
Default Tabbed windows

I can get this to work with single windows but I can't get it to work correctly to edit multiple tabbed windows (like inventory window). Anyone have any idea?

I can't get anywhere with what I've got and I'm to the point I'd pay someone to take a look at fix this. Being in the transition between engines I'm not sure what I do to cobble it together is going to work after another update.
Smix is offline   Reply With Quote
Old 06-05-2023, 07:23 PM   #5
Emilari
A Snow Cougar
 
Join Date: Jun 2020
Posts: 45
Interface Author - Click to view interfaces
Default

Quote:
Originally Posted by Smix
I can get this to work with single windows but I can't get it to work correctly to edit multiple tabbed windows (like inventory window). Anyone have any idea?

I can't get anywhere with what I've got and I'm to the point I'd pay someone to take a look at fix this. Being in the transition between engines I'm not sure what I do to cobble it together is going to work after another update.


Each tab of the inventory window is a separate html file all bound up in one "shell" window.

The inventory window "shell" that contains only references to the tabs is "InventoryWindow.html"

The tabs themselves (and all the actual contents) are in InventoryWindowAltCurr.html, InventoryWindowInv.html, InventoryWindowMerc.html, InventoryWindowShrouds.html, and InventoryWindowStats.html.

I haven't experimented as much as I'd have liked to with the OP's info yet as I've been busy, but I suspect it's not working for you with the Inventory window because It's really 5 sub-windows nested in a window vs actually being one all-inclusive file like it used to be in the old engine.
Emilari is offline   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


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


vBulletin Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© MMOUI