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.

  • 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.