finalburnneo / FBNeo

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

Sfz3mix fullscreen issue #1639

Closed Goratrix closed 8 months ago

Goratrix commented 8 months ago

When using the option "Auto Switch to Fullscreen after loading" and loading sfz3mix, the graphics are glitching. I'm running the latest daily 32 bit build on Windows 10, 1920x1200 monitor, Enhanced blitter, scanlines.

When trying to reproduce, it seems to only happen when I launch fbneo fresh and load sfz3mix as the first game. If I load some other game first and then load sfz3mix, or simply load sfz3mix again, the graphics are correct then. And it only happens with the above option activated. Manual switching to fullscreen does not cause the issue.

Also, this is more of a question, is the game supposed to be letterboxed on the sides in fullscreen? I know it uses a custom resolution, but I'd expect it to fill the screen width.

Screenshot, the character images are glitched (the glitch varies, sometime they are all grey/transparent):

sfz3mix_fullscreen_glitch

dinkc64 commented 8 months ago

Could you please post your fbneo.ini file (found under the config subdirectory), so I can dig a bit deeper?

best regards,

Goratrix commented 8 months ago

Attached ini file:

fbneo.zip

And one more screenshot:

Untitled

Goratrix commented 8 months ago

Update: when testing today, the glitches are there all time, and even in windowed mode, not only fullscreen.

dinkc64 commented 8 months ago

Thanks, I reproduced the problems on my side, now I can investigate why they're happening and hopefully fix the bug :)

best regards,

dinkc64 commented 8 months ago

Problem is fixed, thanks for taking the time to report it! :) The problem was with the alpha blend support, if the romname.bld file doesn't exist, it will try the parent rom for a blend file, and use that. Sfz3mix uses completely different sprite indexing compared to sfa3 (the parent), so it went a little bonkers. oops :)

Regarding letterboxing, on my side it's displaying the full monitor's width, hmmm.. I don't know for sure why it would do this, but, some things to try: Under Video -> Monitor Properties, try uncehcking / checking the "Automatically detect FS reso. & aspect ratio" Video -> Stretch, make sure it's set to "Correct aspect ratio"

I'll try to think of something else regarding the letterboxing issue and get back!

best regards,

barbudreadmon commented 8 months ago

@Goratrix As a general rule, i'd recommend avoiding the alpha blend support from the .bld files : they make emulation inaccurate at best, and severely broken at worst.

If you really want those transparencies, i believe ReShade might have some nice shaders to transform dithering into transparency. I'm not entirely sure since i don't use windows, but it seems extremely likely since i have seen this stuff in shaders from other projects. I don't think the filters natively available in FBNeo feature "dithering to transparency", i could be wrong though.

Goratrix commented 8 months ago

Thank you both! Good to know about the blend files, I've disabled them now.

@dinkc64 letterboxing issue was indeed fixed by disabling the "Automatically detect fullscreen resolution and aspect ratio" option, thanks!

Goratrix commented 8 months ago

@dinkc64 update: just realized it wasn't that option that fixed the letterboxing, it was instead fixed by disabling scanlines. I can now reproduce it, when scanlines are enabled the letterboxing happens, when scanlines are disabled the screen is correct.

And I see it now that it happens with many other games too... haven't noticed it before because I started using scanlines only recently, but it happens with various vertical shooters too, for example 1941.

Thinking this may be intentional behavior (setting the resolution based on some pixel multipliers) to avoid aliasing with the scanlines?

dinkc64 commented 8 months ago

Ahh yes, I remember now, with the d3d7 (enh. blitter), scanlines would need to work at a power of 2 resolution for the scanline texture... I think! :)

barbudreadmon commented 8 months ago

@dinkc64 yeah, midway's mk had an issue like that where the height had to be forced to a multiple of 4, i suppose sfz3mix has the same problem with its 234px height.

Edit: not sure why 1941 would be affected though.

Goratrix commented 8 months ago

Just to confirm, this is how 1941 looks like, monitor is 1920x1200:

1941

Goratrix commented 8 months ago

If this is a technical limitation with the D3D7 blitter, please feel free to close this issue, it's not really a problem :-) and I guess it makes perfect sense if the scanlines are rendered from a texture, probably there's no way to avoid aliasing if it were fully stretched.

dinkc64 commented 8 months ago

Yea, I don't really think it's possible to fix the issue with scanlines changing the resolution, so we'll close!