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.