Mega Bezel Reflection Shader! - Feedback and Updates

I will build a new set if I absolutely must… just to use this shader! But as a mainly retro player, updating mame has become just an exercise in futility LOL. 95% of the games I play have been “perfectly” emulated for many many years. I’ve spent the last couple of weeks trimming down my Mame2003plus set to just the games I want. One MAJOR function that mame has needed for many years is the ability to sync favorites into newer versions. There may be automated methods but nothing is going to do it quite like manually. OK rant over :slight_smile:

Anyway, thanks for taking the time to respond, I really hate to bug you with this noobish stuff. I am usually pretty good at figuring things out myself.

1 Like

No problem, this stuff is meant to try to make it a bit easier. Anyway we can definitely add stuff in the shader to deal with issues like this.

Yes this is actually the most frustrating thing I find about mame, the way things are versioned the expectation that you have to have a full matching rom set is quite a big requirement. That’s one of the reasons I’ve used Mame 2016, it doesn’t seem to care exactly what rom set I use, but I’m not all that knowledgeable in the whole mame rom set compatibility thing.

EDIT: But I’ll add in a vertical flip on the core image for the next version which should release after the next retroarch version.

2 Likes

Yes I do a lot of reading here. I hear some big changes/improvements are coming with next release so I am trying not to get too “gotta get this done” and more “gotta wrap my head around how it all works”.

2 Likes

I wouldn’t say it’s a must, but there is absolutely no good reason to not use the current MAME version, if your running on PC hardware. The other MAME cores are really meant for other hardware, like Android, or Pi. If you don’t mind. I think I’ll PM you and we can talk. :wink:

You are the second person in as many days that does a lot of reading. :wink:

While this thread (And my own) are getting quite long, they both make a really good read. A lot of questions are answered, and a lot of good info is included. I try to re-read both threads on a semi-regular basis. (It’s also a pretty fun trip down memory lane. :grin:)

3 Likes

So I would suggest the hsm_MEGABEZEL_0_GUEST-DrVENOM.slangp.

If you want the frame and bezel to just go on top all you need to do is swap out the background image for the graphic you found.

If you want the generated frame and bezel to disappear and the reflection to actually appear on top of the image, this can be done, but it is a little awkward because your tube size and shape needs to match the image exactly for you to avoid seeing gaps or incorrect overlap near the screen. To get rid of the frame you should only have to turn opacity on the bezel and frame to 0 and now the reflection will appear on top of the background image. Then you will have to adjust the screen size and curvature to try to match the image bezel as best you can. You also have the option to just turn off the frame which lets the bezel only appear on the background image.

Trying to get around this matching between background image and screen size/shape was a major motivator to do the auto-generated bezel in the first place, because it’s not as flexible and a bit fragile and doesn’t give the best results compared to the autogenerated bezel which matches the tube exactly. It also forces you to use a specific size of the tube/game screen which means that sometimes you are prevented from using integer scale.

1 Like

You doing a great work, as I see there are many scaling options and you can not support them all by the moment, as example i’m experiencing some issue too in commodore amiga, but i don’t care. Reflections make everygame look much better, except like in amiga because games look like zoomed out, so the colours cant get the borders and get reflected. I already implemented snes, nes, megadrive and atari2600 without problems, and also be aware of the changes in RL so you can modify whats neccessary. Your work is amazing. Also another suggestion (and asking for help), now i prefer to have all overscan away from the screen so the reflections will look better. This options depend on each core? Because on amiga (p-uae) the cropping overscan is not working, i have to change the zoom in the core-options.

1 Like

Which version of the Mega Bezel are you using? not all of them support the cropping, Guest Venom does, but Royale does not yet, but I will probably implement it eventually, but probably not for a while.

1 Like

I was using Royale. I tried more settings and i see that the problem on amiga is the disparity in game resolutions, so don’t care about the cropping on the royale. I have a question, is there anyway to change some paths inside your presets, adding the capability to use a wildcard like, you know, if my rom is called Rom A, make RA to use a bezels inside a folder with that filename (or something like that). It would be really usefull for sets like mame where they standarized rom names.

If its not supporting, then i would like to make the suggestion as i think its really useful and should be easy to implement.

The idea is to use overlays images that could be, for example, inside …/…/overlays/[filename]/overlay.png So you could load entire overlays sets that you can find very easy and make complex configurations in a few minutes (load shader config per game would be painfull)

1 Like

Just to let you know I’ve added in a Flip Vertical for just the core image for the next version

2 Likes

Yes this is a good idea, and not currently supported. I have a plan to add this to retroarch a bit later, the way it would work is you would put “[game_name]_Background.png” as a texture name for instance then [game_name] would be replaced by the game name that retroarch knows about. It would also probably support [core_name] as well.

Ha ha, those sound like some famous last words!!! :rofl:

I do think it won’t be really hard to implement although it will be some work because we have to do things like check if the textures are actually there and if not fall back to a default texture.

Anyway you can be confident it’s on my list of TODOs :grin:

1 Like

This will also fix the PSP issue we talked about a long moon ago. (In case you were keeping track. :wink:)

2 Likes

Thx dude, i hope my words did not sound bad in any way, as i really appreciate the work you’re doing.

Maybe you should think really well about it and make the correct movement, because there are many ways to implement it (as you said, go to a default preset if there is nothing found), and also i would like to suggest some more: If you support folders instead filenames (or game_names), you could add multiple overlays to the same folder, so you could change then between them, and it would be easier to manage because you dont have to rename anything, it just will load any image inside the “target” folder which is the filename. Then you can drop a huge ammount of wallpapers and backgrounds per game without worrying if the names are correct, or not. I already worked in DB and batch renames like bulk, but i think this is easier to implement and also, to manage. You could have a default texture, under that, a core texture, and under that, a game texture. I think that would be the best way to make it smart, just expressing some ideas, i’ll leave in your hands :slight_smile:

1 Like

No not to worry :slight_smile:

Yes there are some different options. Right now the plan is to operate only on the texture paths at first, and it would be able to operate on any part of the path so you could set the path in the preset file to “[game_name]/MyBackground.png” and if you are playing Arkanoid it would look for “Arkanoid/MyBackground.png” if it could not find that texture it would look for “default/MyBackground.png”

So it would be possible to have the same names in each folder and just change the folder name.

I think this will be a clear way to do something specific with the current game name and core name and then have a fallback if what is requested can’t be found.

3 Likes

Hello, first of all CONGRATS for this piece of art, it is wonderful.

I can confirm the problems that @SLOTH has, in my case, also FB Neo (current) is affected in the same way, but not HBMAME 220. I run Retroarch latest, both Cores latest, HSM Mega Bezel (both August package and GitHub latest), identical Retroarch settings and identical ROM 1942b.

If I am not mistaken, FB NEO forked from an older version of MAME, which would explain the identical problems with MAME2003. But since FB NEO is running a current romset, the problem is not only legacy.

Edit: I also downloaded MAME current, which is 226, and it runs correctly just as HBMAME.

Screenshot HBMAME (same with MAME Current 226:

Screenshot FB Neo:

Luckily I found this problem here because FB Neo drove me nuts…

Happy to help on anything.

Cheers!

Here’s what I get on FBNeo with standard Mega Bezel

After turning on the rotation parameter in the shader I get this:

I renamed my retroarch config so I would get fresh settings and in the core options I have Vertical Mode ON

If I turn Vertical Mode OFF I get this, which seems to match what you are getting, where the whole viewport is being rotated on it’s side.

1 Like

I got it, in the case of the CRT-GEOM Hyperspace Shader, this did the trick:

  1. Set the FB Neo Core option to Vertical Mode - interim result:

  2. Rotate everything in the Shader Options (HSM_ROTATE_CORE_IMAGE = “1.000000” ):

Looks like a charm now, also in FB Neo :slight_smile:

Many thanks for the immediate help!

3 Likes

Dude, if you can rotate only the scanlines now, maybe the result will be a little better because it is a vertical “monitor”.

1 Like

For Guest-Dr-Venom the scanlines should automatically rotate. Royale does not currently have the option to rotate the scanlines.

You can change the scanline orientation (On the mega bezel presets that support it) by changing the scanline direction you can have Auto, Horizontal or Vertical

1 Like

Many thanks. If I am not mistaken CRT-GEOM currently does not support changing the scanline direction, right? So the change did not affect it. I switched to Guest-Dr-Venom, which looks brilliantly. I assume that I can do that with CRT-GEOM later down the road?

Edit: Just put one of John Merrit’s famous bezels into the slangp file, no other change in settings - it’s the future :slight_smile:

1 Like

Hmm, I’m not sure which preset you are thinking of, there isn’t currently one with CRT Geom integrated…

1 Like