Hi there everyone!

As the title suggests I’m having some problems with PopupMenus and could use a bit of guidance from people more familiar with the engine.

I tried looking through documentation and repo issue discussions but neither of those managed to clear things up for me though it might simply be a case of me being a dumdum. Here’s what I’m struggling with:

Issue #1

I’m working on a pixel art title and chose a pretty small screen size as a target (1280x1120 with the scale of 5 so I’m working on 256x224).

Because of this I use font size 11 for most of the text elements but for some reason this does not work well with PopupMenu lists, as options there end up blurry and unreadable.

I read that these elements are scaled somehow differently (or used to anyway) so my question is: is there a way to make it consistent with all the other UI elements? If so, how should I go about it?

Issue #2

I’m adding an optional CRT shader to the game. It works great with both stages and all UI elements except for PopupMenus which simply aren’t affected.

Here’s my scene setup. CurrentScene is a parent node to the active scene (main menu or one of the stages). I use ZIndex property to draw the CRTShader over other elements.

Any ideas would be greatly appreciated.

Edit: I forgot to mention I’m using Godot 4.3 dev3 and the PopupMenus are automatically created for all OptionButton objects.

Edit #2, in case someone has a similar issue/question: Looks like PopupMenus are rendered as separate windows rather than part of the base one. Writing my own implementation will most likely be the easiest solution to sidestep both issues.

  • DA-I0@programming.devOP
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    That was actually one of the first thing I tried as well but no dice. I also tried playing with the “Top Level” toggle or any of the Ordering params but neither fixed the issue so far.

    Thanks for the idea anyway!

    • BougieBirdie
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 months ago

      Hm, one more thing to think of: are you using any CanvasLayers in the PopupMenu? That could cause the shader to not be rendered on it.

      And I guess as a random thing to try, you could duplicate the CRT shader and make it a child of your PopupMenu

      • DA-I0@programming.devOP
        link
        fedilink
        arrow-up
        2
        ·
        7 months ago

        I don’t think so? I should probably mention I’m using Godot 4.3 dev3 and the PopupMenus are created automatically for the OptionButton objects. I don’t access their parameters so unless they’re somehow automatically bumped above every other UI element they should be at 0.

        As for the latter idea it’s not really feasible since I have multiple OptionButtons (and PopupMenus created for each of them) so that would require a lot of duplication.