Zircon icon indicating copy to clipboard operation
Zircon copied to clipboard

Toolbar UI fading with HideChatBar

Open josh-74 opened this issue 1 year ago • 4 comments

Looking into this from another bug which was noted, had a closer look at this, and the only time the Toolbar UI images fade is when the HideChatBar is initiated, something's effecting the other UI's to all Fade/Hide when HideChatBar hides the chat.

I've tried debugging some of the code, but so far no luck. But from my understanding it's somewhere from DXConfigWindow.cs & ChatOptionsDialog.cs -

https://github.com/user-attachments/assets/3d4fbd51-2083-40aa-8120-cb43722d5ae8

josh-74 avatar Sep 06 '24 16:09 josh-74

You can change the chat bar to show always in the options if you want to - otherwise its designed to hide when its not active by default.

You seem to have realised this i guess? Closing this issue.

Suprcode avatar Sep 06 '24 18:09 Suprcode

So for the files you're keeping chat bar to always show in-order to avoid health potions disappearing upon HideChatBar?

josh-74 avatar Sep 06 '24 18:09 josh-74

Oh I see, when you said toolbar I thought you were talking about the chat bar, not the belt slot.

Yes that is a bug, but it's already been raised in a previous ticket. It's not related to the hide chat bar specifically as it can happen in many scenarios. It's only the first slot and it does go away randomly.

Unsure what triggers it

Suprcode avatar Sep 07 '24 08:09 Suprcode

Issue on my side resolved I can't say this is an actual fix, I'm not sure if it's the parent of the code which is causing it, as BeltDialog share the same parents as the Fade/Chat settings in general. Or if it was BeltDialog needing more work done to it, but for the mean time I've set the Grid to always display, and to bring all cells to the front of the UI, and made further improvements. But I've spent many many hours and I cannot figure out why "ChatFade", or "FadeOutCheckBox", or "HideTabCheckBox", kept effecting the [1] grid cell in Belt.grid.grid, but I've left the code attached for BeltDialog.cs if you wanted to check it out.

The only other solution I can think of is trying to assign new parents to BeltDialog.cs , and ensuring it doesn't share the same of those which ChatFade also share, or if it's deep down in DXItemCell which blows me out of the water completely. As my brain is only so big.

BeltDialog.txt

josh-74 avatar Sep 09 '24 23:09 josh-74

Thanks for investigating, yes it's a weird one as I don't think its directly code related.

Adding the grid initialization and BringToFront in to the constructor does seem to have fixed it - for now at least.

I'll check your code in shortly

Suprcode avatar Sep 10 '24 15:09 Suprcode

Okay sounds good.

josh-74 avatar Sep 12 '24 16:09 josh-74

Hey, I know this is already closed, but I've been following this bug, and I found that there is a problem with DXManager. In my case I "solved" it by removing 2 lines in DXControl.cs, DrawControl function. Probably this affect other things, but so far I haven't encountered any problems.

   protected virtual void DrawControl()
   {
       if (!DrawTexture) return;

       if (!TextureValid)
       {
           CreateTexture();

           if (!TextureValid) return;
       }

       //float oldOpacity = DXManager.Opacity;

       DXManager.SetOpacity(Opacity);

       PresentTexture(ControlTexture, Parent, DisplayArea, IsEnabled ? Color.White : Color.FromArgb(75, 75, 75), this);

       //DXManager.SetOpacity(oldOpacity);

       ExpireTime = CEnvir.Now + Config.CacheDuration;
   }

This is not a solution, but I wanted to provide more information to help resolve this.

MarioSanc avatar Sep 16 '24 14:09 MarioSanc