onimitch / ffxi-balloon-ashitav4

This is an Ashita v4 port of the Balloon addon, forked from StarlitGhost's version. The original Windower Balloon addon was created by Hando and modified by Kenshi, Yuki and Ghosty.
Other
3 stars 1 forks source link

Z Sorting #13

Closed TheConBot closed 6 months ago

TheConBot commented 6 months ago

Hello! I just discovered this addon the other day and I think its a huge help for reading game text. One thing I would like to suggest is if its possible to introduce some sort of Z Sorting setting, if that is even possible with the UI framework being used, to have this addon render over all other game UI and other loaded addons.

It specifically has an interesting interaction with the HXUI addon, where the sprite and text are rendered over the HXUI text but not the sprites. It would be great if there was either a "force to front" toggle or being able to set a sort priority. Pictures below to illustrate what I mean. Thanks for considering and developing this addon!

image image

onimitch commented 6 months ago

To help explains what's going on here, theres a few different ways stuff is being displayed.

Most of the text in HXUI is being displayed using Ashita fonts library. Balloon uses a similar method to the Ashita fonts but using a custom library called gdifonts made by Thorny.

The rest of HXUI is rendered using IMGUI, which is a UI framework that Ashita v4 offers.

If HXUI is loaded before Balloon, Balloon's elements should usually cover what's been rendered using Ashita fonts. However, IMGUI will always render after everything else, which means out of the box we have no way to force Balloon to sit on top of IMGUI.

One idea I have which I'll try when I get some time, would be to offer an option to render Balloon in IMGUI. Which would mean we could force it to the front. It might not be as performant but maybe it'd be good enough as an optional toggle for those that need it.

I'll update here once I've had a chance to look into it.

TheConBot commented 6 months ago

Thanks for responding!

It's very interesting that HXUI uses a combination of rendering methods instead of just using IMGUI across the board, but your response makes sense given Balloon renders over the text but not the graphics.

If you have time to switch the render pipeline I think it would be very useful. I feel like in most cases if text pops up you would want it to be prioritized over any other information that's on the screen, and with only so much screen real estate having it render over other plugins would be a huge boon to users.

I can make another suggestion for this if you would like, but the one case I can think of where you wouldn't want the text to cover other plugins, or even show up at all, is when you are in battle. It could be nice if there was a toggle to not have the text pop up while you are in battle. I was doing the Tenzen fight CoP mission the other day, and part of that fight had the three Tarus spamming text during the battle and it was constantly popping up during the battle and it was very distracting to the point where I had to disable the addon in the middle of the fight.

On Mon, Feb 26, 2024 at 5:43 AM Mitch・ミッチ @.***> wrote:

To help explains what's going on here, theres a few different ways stuff is being displayed.

Most of the text in HXUI is being displayed using Ashita fonts library. Balloon uses a similar method to the Ashita fonts but using a custom library called gdifonts made by Thorny.

The rest of HXUI is rendered using IMGUI, which is a UI framework that Ashita v4 offers.

If HXUI is loaded before Balloon, Balloon's elements should usually cover what's been rendered using Ashita fonts. However, IMGUI will always render after everything else, which means out of the box we have no way to force Balloon to sit on top of IMGUI.

One idea I have which I'll try when I get some time, would be to offer an option to render Balloon in IMGUI. Which would mean we could force it to the front. It might not be as performant but maybe it'd be good enough as an optional toggle for those that need it.

I'll update here once I've had a chat to look into it.

— Reply to this email directly, view it on GitHub https://github.com/onimitch/ffxi-balloon-ashitav4/issues/13#issuecomment-1963819836, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEATAOXID2USVRO2EMFOQB3YVRRMHAVCNFSM6AAAAABDXXMVQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRTHAYTSOBTGY . You are receiving this because you authored the thread.Message ID: @.***>

onimitch commented 6 months ago

@TheConBot RE the battle suggestion, I've added a new ticket for that: https://github.com/onimitch/ffxi-balloon-ashitav4/issues/14

As for the z-ordering issue:

スクリーンショット 2024-02-28 15 15 39

I need to do some testing with it, but hopefully I can post a new release for it in the next few days.

TheConBot commented 6 months ago

Yeah that looks like it solves the issue! Thanks so much for taking the time to do this work, it looks like the current changes are in the main branch already, I'll clone the repo tonight to help test and let you know if I find any bugs.

On Wed, Feb 28, 2024 at 10:23 AM Mitch・ミッチ @.***> wrote:

@TheConBot https://github.com/TheConBot RE the battle suggestion, I've added a new ticket for that: #14 https://github.com/onimitch/ffxi-balloon-ashitav4/issues/14

As for the z-ordering issue:

2024-02-28.15.15.39.png (view on web) https://github.com/onimitch/ffxi-balloon-ashitav4/assets/3901242/3fa34825-6003-4747-80fa-88f7c1a19acb

I need to do some testing with it, but hopefully I can post a new release for it in the next few days.

— Reply to this email directly, view it on GitHub https://github.com/onimitch/ffxi-balloon-ashitav4/issues/13#issuecomment-1969218377, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEATAOQSUNBPYSDEFQW46KLYV5DVLAVCNFSM6AAAAABDXXMVQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRZGIYTQMZXG4 . You are receiving this because you were mentioned.Message ID: @.***>

onimitch commented 6 months ago

@TheConBot thanks!

onimitch commented 6 months ago

Just FYI there was an exception occuring from my last changes relating to the battle checking. It seemed to only occur during cutscenes. If you've got my changes from earlier, i've pushed a fix now to main.

TheConBot commented 6 months ago

Haven't gotten a chance to check yet but will do so soon, thanks for the update!

On Thu, Feb 29, 2024 at 4:39 PM Mitch・ミッチ @.***> wrote:

Just FYI there was an exception occuring from my last changes relating to the battle checking. It seemed to only occur during cutscenes. If you've got my changes from earlier, i've pushed a fix now to main.

— Reply to this email directly, view it on GitHub https://github.com/onimitch/ffxi-balloon-ashitav4/issues/13#issuecomment-1972006971, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEATAOUAPN2J4BGVBMOLUV3YV6PYNAVCNFSM6AAAAABDXXMVQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZSGAYDMOJXGE . You are receiving this because you were mentioned.Message ID: @.***>

onimitch commented 6 months ago

Fixed in 4.2.0