finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
879 stars 354 forks source link

Could it be automatically centered the FBNeo window at the desktop? (for manually adding Bezels) #1774

Open dangonzilla opened 1 month ago

dangonzilla commented 1 month ago

Hello,

As in FBNeo is not possible to put Bezels (and I don't like RetroArch) I do it manually, opening a Bezel in full screen and puting FBNeo centered in the foreground. The only problem is that if I change to vertical games I have to center the game screen again and the same thing if I change to horizontal games coming from vertical games. It's not perfect system but it's useful for me for simulating Bezels at both sides. Could it be possible to add an option to FBNeo for automatically centering the game screen regardless the Windows desktop resolution?

These are some example screens so you can see what occurs when we change from horizontal games to vertical games :

BezelsH

BezelsV

Thanks!!

dinkc64 commented 1 month ago

Hi, could you post a couple of these bezel images, so I could download them?

dangonzilla commented 1 month ago

Hi, Yes, I attach you two bezel images (one for horizontal games and the other one for vertical games) :

ddsom

aerofgt

Thanks.

dinkc64 commented 1 month ago

Thanks, could you zip them both and attach it, so I can get the files before github does some image trickery on them?

dangonzilla commented 1 month ago

You're welcome. Yes, of course, I zipped both of them and I attached the ZIP :

bezels.zip

dinkc64 commented 1 month ago

Hi again, where did you get your bezels? I need more for testing :) also, did they come with any configuration file (.lay or something like that?)

best regards,

dangonzilla commented 1 month ago

Hi dinkc64, you will find a bezel collection for Mame here :

https://www.progettosnaps.net/artworks/artworks_files.php

Have in mind that you should download the ones from the VC WS column because they are the ones in WideScreen 16:9 (1920x1080) or (2560x1440) format. You will find a .lay configuration file inside the .zip files.

I hope it will be useful for you for including bezels in FBNeo in some way, even if it is only with an option for automatically centering the game window at the Windows desktop.

Thanks!

dinkc64 commented 1 month ago

I came up with a nice solution, it's super shonky at the moment. (like, pre-alpha quality) The main limitation is that it only works windowed. The second limitation is that I can't figure out how to size the window, it has to be manually sized after the game loads for now...... Hopefully I can come up with a solution for this...

To help me do some proper tests, please zip up all of your bezels and link them for me :) (downloading and renaming them from that site will cut into my code-writing time, and we can't have that!) A good place to upload them: https://easyupload.io/ - up to 10gig http://catbox.moe - up to 200meg

shonks

dangonzilla commented 1 month ago

Hi dinkc64, I am very grateful that you can add support for bezels in FBNeo.

Update : I updated this link because the mediafire link doesn't work anymore. At this link there are the bezel collection images that I have in 16:9 WideScreen format (1920x1080) :

https://github.com/thebezelproject/bezelproject-MAME

I hope it will be useful for you. Have in mind that the pack may contain some bezels from games not supported in FBNeo and some bezels may have wrong name.

Thanks!!

dinkc64 commented 1 month ago

thanks dangonzilla :) Let me re-iterate: this isn't full bezel support being added, but a kinda "hack" to show the bezel sides (like how you did it). I mean, it's either that or nothing :) And to make matters worse - the whole thing is just a partially failed experiment at this point. Let me explain: 1: Expanding the window to maximized width looks like crap, but it's OK in a small window 2: It only works windowed mode (it won't be shown in fullscreen at all)

I'm currently trying to improve # 1, but, # 2 just won't be possible at all

Sorry for the negativity, I've probably made it sound worse than it actually is.. It just doesn't live up to my standards yet.

best regards,

dangonzilla commented 1 month ago

Hi dinkc64, If you managed to load and show the bezel sides in window mode in my honest opinion I think it's a great feature for the FBNeo emulator and it's not too much important that it doesn't work at full screen. If someone wants to use bezels, having to manually adapt the size in window mode if there is no other choice it's the thing I did, but if it could be possible to load the game screen with fixed 16:9 resolutions (1280x720, 1920x1080, 2560×1440, 3840×2160) according to the desktop Windows screen, it could appear the game screen with the bezel automatically set. At the moment it's the only thing I can think of until I can test what you have managed to do.

Thanks!

dinkc64 commented 1 month ago

@taoenwen Hi! Would you like to help me possibly work on this bezel implementation? With your help we might be able to address some of the issues which keep this from being great :) In the chance you are interested, I sent a message on the forum with the code & some notes

best regards,

dinkc64 commented 1 month ago

@dangonzilla, There's a couple little bugs that need to be addressed, stay tuned! :)

taoenwen commented 1 month ago

@taoenwen Hi! Would you like to help me possibly work on this bezel implementation? With your help we might be able to address some of the issues which keep this from being great :) In the chance you are interested, I sent a message on the forum with the code & some notes

best regards,

  • dink

OK

dinkc64 commented 3 weeks ago

@dangonzilla Hi, I've added the experimental bezel support, put your bezel images in support/bezel :)

Unfortunately I'm not crafty enough with UI stuff to improve it any more than how it is now - so I can only hope that it works fine for you!

best regards,

dangonzilla commented 3 weeks ago

Hi @dinkc64,

I've tested the Bezels for a while and it's amazing! It's wonderful! It's spectacular! :) And it also works when playing online with Kaillera! :)

The only thing I detected it's that the clone games don't use the Bezel from the parent rom. I don't know if it can be fixed; If it is not possible then the Bezels should be duplicated several times and renamed to the clone names.

Thank you very much!

taoenwen commented 3 weeks ago

I've been experimenting with this in private for a while as well, and it just so happens that I was getting into the libretro fbneo port a while back, and RA has the same feature, where he assigns [info] to each game, and [info] serves to correct the padding of the masks for each game due to the different resolutions, and since I'm very new to this part of the process, I'm making very slow progress ...

dinkc64 commented 3 weeks ago

Hi @dangonzilla That's great news, glad it works nicely on your side! I will have a fix for the clones later today :)

best regards,

dinkc64 commented 3 weeks ago

Hi @taoenwen, interesting - I'm curious what you come up with! :)

dangonzilla commented 1 week ago

Hi @dangonzilla That's great news, glad it works nicely on your side! I will have a fix for the clones later today :)

best regards,

  • dink

Hi @dinkc64 ,

Did you make any progress with the clone games using the bezel from the parent rom?

Testing the bezels I found an error : using the experimental blitter video don't load the bezels directly but with the game loaded if I change any option from the blitter or I change to another blitter and I return to the experimental one then the bezels do appear. Can you fix it so the bezels appear directly with the experimental blitter when loading the game at the first time?

I also have an idea in mind for adding an option in FBNeo misc options for enabling/disabling the bezels in the same way that there is an option for enabling/disabling the blends (Misc -> Options -> Use alpha blend effects when supported). What do you think about this idea?

Thank you very much!

dinkc64 commented 1 week ago

Hi, With the experimental blitter it's tricky, I don't know if I can come up with a good work-around for that, at least it will take some deeper thoughts.

Added feature for using the parent name for the bezel filename :)

I'll add the option to enable/disable it after this feature improves some more (if it does)

best regards,

dinkc64 commented 1 week ago

@dangonzilla I think the problem with experimental blitter is fixed now, please give it a try and let me know how it goes on your side

best regards,

dangonzilla commented 6 days ago

@dangonzilla I think the problem with experimental blitter is fixed now, please give it a try and let me know how it goes on your side

best regards,

  • dink

Hi @dinkc64 ,

The bezels load perfectly with experimental blitter now.

The clone games also use the Bezel from the parent rom perfectly now. This is great and I have another idea in mind : when it doesn't exist either the bezel from the parent rom it would be great that a bezel from the game default system could be loaded (arcade-console-computer). That way all the FBNeo games would load with a bezel by default. I attach you a file with the bezels from each system :

https://www.mediafire.com/file/jh2rtj46a6hy1th/bezel-fbneo.zip/file

These are the 3 categories :

What do you think about this idea?

md_sor2u

Thank you very much!

dinkc64 commented 6 days ago

Hi @dangonzilla It's a good idea! I've added it, but some changes on your side must be made:

arcade.png arcade horizontal arcade_v.png (rename from arcade2.png)

You'll have to get the following pngs for the bezel dir: cps1_v.png, cps2_v.png, cps3_v.png, pgm_v.png, neogeo_v.png

Please link the new images when you get them :)

best regards,

dangonzilla commented 4 days ago

Hi @dinkc64 ,

thank you very much! I've been testing it and all the system bezels by default load correctly now when the bezel from the rom is missing. All the 6 CPS3 games are horizontal so no vertical bezel is needed for them.

I found all the missing vertical bezels (cps1, cps2, pgm and neogeo). I added all of them to this zip file :

https://www.mediafire.com/file/jh2rtj46a6hy1th/bezel-fbneo.zip/file

Could it be differentiated the Neo Geo Pocket (black and white games) and Neo Geo Pocket Color (colored games)? Those 2 bezels are added to the zip file just in case.

Thank you!!!

dinkc64 commented 4 days ago

Thanks for the bezel update, I've added the separate ngp/ngpc bezels. Also fixed a bug with alpha opacity & mr.do's wild ride (dowild). If you want to see what I mean, try the romset before updating, then after :)

best regards,

dangonzilla commented 3 days ago

Thanks for the bezel update, I've added the separate ngp/ngpc bezels. Also fixed a bug with alpha opacity & mr.do's wild ride (dowild). If you want to see what I mean, try the romset before updating, then after :)

best regards,

  • dink

Hi @dinkc64 ,

Did you update FBNeo with the separated Neo Geo Pocket/Neo Geo Pocket Color bezels? I tried the last version but it doesn't load the separated ngp/ngpc bezels.

Regarding to the alpha opacity bug I saw some few bezels with weird opacity but it loads the opacity correctly now.

Thank you very much!

dinkc64 commented 3 days ago

Oops, I forgot something! Sorry about that! Should be OK now. :)

Although I think I got all the issues with the opacity update, please let me know if you find any bezels that are weird in some way

best regards,

dangonzilla commented 2 days ago

Hi @dinkc64 ,

I tested it the last FBNeo version and the separated bezels of NGP/NGPC work perfectly now.

It's wonderful having bezels when playing in FBNeo! The bezel integration is amazing! :)

Thank you very much!! :)

dinkc64 commented 2 days ago

This is great news, thanks for testing! :)