Input overlay problems: diagonals, neutral, and aspect ratio

I have an overlay to show a ball top moving with the inputs coming from my arcade stick. It looks fine for cardinal directions, but for diagonals it winds up showing 3 images (up/left, for instance, as well as the unique diagonal image I added). Is there any way to prevent the cardinal direction inputs from showing in this case?

I’d also like to have a static image with the ball top in the center when no directions are pressed, but also have that image disappear if I push a direction. Is that possible?

Lastly my images are completely square dimensions but RetroArch is still distorting their ratios (so circles are oval) even if I match the width and height in my config. How do I get it to keep the ratio? Here’s an image of the issues:

I haven’t thought of a good way to handle an animated ball-top. That’s why the animated arcade overlay just has dpad-ish thing for directions.

For the aspect, if you have the fullscreen option enabled, it applies over the top of the entire screen, stretched from 1:1 to whatever the aspect of your screen is. So, you’ll need to make circles with an aspect of 9:16 width to height, so they’ll stretch out to 1:1 on a 16:9 screen. I typically don’t bother with math-ing it out, though, and just eyeball it.

Ideally I wouldn’t want to use full screen. Since I always record at native ratio (10:7 in this example), I’d like to have the overlay stay within the viewport and keep the images 1:1 independently of the game’s ratio.

If you don’t use the fullscreen option, it stretches to cover the game’s viewport, so it’s going to vary with your core, in this case. With that in mind, you’re probably better off using the fullscreen option just so you have a consistent and constant ratio and just crowd everything onto roughly where the games will display.

Haven’t come up with a solution for the ball top things, but I did figure out how to fix the aspect ratio. You gave me an idea when you said to make 9:16 images for a 16:9 image.

Instead of doing that, I simply made the width values of the images in the config file the inverse of the game’s native ratio. So 10:7 becomes 7:10. Examples:

  • 0.07, 0.1
  • 0.035, 0.05

The 2nd results in a smaller image but maintains the 7:10 ratio. Doing this and removing the full screen line in the config file lets it keep the same ratio for both windowed and full screen modes, while keeping it in the game’s view.

1 Like

So I thought the ratio fix would also make my images look sharp, but apparently not. Even with custom pixel art made to match the native resolution of the games, RetroArch is ruining the scaling of them somehow (the overlay scale is set to 1). Any idea how I can get it to not scale the image so it retains its clarity?

For the record, it does this with onscreen notifications too and I’d like to know if it’s possible to fix that too.

Hi,@hunterk is it possible to add an 8 directions animated dpad feature like the one in DraStic?

I’ve never used drastic, so I don’t know how they do it.

They are just 9 pngs,exophase used some codes to make them function,i drew some sample Is it possible applied to RetroArch?

Using the same trick as the “animated” overlays I made, you could do it. That is, put a static background showing the ‘pressed’ state and then cover it with individual pngs of ‘unpressed’ states. Then, when the input is pressed, use a very large alpha_mod to make the ‘unpressed’ image fully transparent.

So i need to put 8 static ‘pressed’ backgrounds and 1 ‘unpressed’ button png? How to edit cfg then?

Edit:I need 8 ‘unpressed’ button pngs?

Edit2: I just put my sample here,please use them as you like if you can animate these pngs .:slightly_smiling_face:

Thought I was getting close to figuring out the scaling problem, but it seems that even if I resize an individual overlay to match the dimensions of the original image, RetroArch still blurs it (and I have filters off).

Here is the original image, using a color meter to see the pixels zoomed in.

49%20AM

And here is what RetroArch does to it after I change the overlay size to match it:

30%20AM

How can I get it to not butcher the sharpness/scaling?