elishacloud / Silent-Hill-2-Enhancements

A project designed to enhance Silent Hill 2 (SH2) graphics and audio for the PC. It also includes scripts to build or modify SH2 audio files (SFX, BGM and Dialog).
http://www.enhanced.townofsilenthill.com/SH2/
zlib License
594 stars 41 forks source link

quit menu superimposed #942

Closed legluondunet closed 3 weeks ago

legluondunet commented 7 months ago

Hello Elisha, I have an issue with latest sh2ee version (today's downloads): when I want to quit the game, quit menu superimposed with main menu, main menu does not disappear to let the place to quit menu :

image

Thank you for your help.

my config: Manjaro 23.1.3 Vulcan Kernel: x86_64 Linux 6.6.19-1-MANJARO Proc: AMD Ryzen 9 5900HX GPU: AMD Radeon RX 6600M Drivers: Mesa 24.0.2 Resolution: 1920x1080 32 Go RAM DE: Xfce4

elishacloud commented 7 months ago

Can you tell me what build number it is and where you downloaded it from?

legluondunet commented 7 months ago

I own Director's cut MULTI 5 ( 3 cds ). Where can I find build number?

elishacloud commented 7 months ago

You can just upload your log file.

legluondunet commented 7 months ago

This log file?

d3d8.log

elishacloud commented 7 months ago

Try changing the front buffer capture mode. There is GDI and DirectX. Try them both and let me know if either of them work for you or not.

image

legluondunet commented 7 months ago

Results:

elishacloud commented 7 months ago

That is normal for Linux, for some reason. Linux handles GDI differently. But not sure why DirectX is not working here. Either way there is an issue with how the wrapper captures the front buffer.

legluondunet commented 7 months ago

I made some tests with front buffer capture option set to "auto" :

Do you know someone that can reproduce this issue? Do you have a contact at the DXVK devs team?

elishacloud commented 6 months ago

I don't. But you can open an issue on their GitHub page: https://github.com/doitsujin/dxvk

doitsujin commented 6 months ago

So what exactly does this actually do with the "DirectX" option? Does this just call GetFrontBufferData on a swap chain before actually rendering the menu or something?

GDI is not expected to work since we don't want to do presentation on the CPU in DXVK.

elishacloud commented 6 months ago

Does this just call GetFrontBufferData on a swap chain before actually rendering the menu or something?

Yes, that is correct. You can see all the code here. We call that command after the Present() before any other call happens, see here.

Note: the game was created in Direct3D8 and we use d3d8to9 to convert it to Direct3D9. Also, we use an old build of ReShade to allow us to add shaders, see applicable code here. This means that the call may be going through a swap chain.

Let me know if you need any other information here.

JoonasPitk commented 6 months ago

The only way I've ever managed to mitigate the issue fully on my Linux system was to set the Screen mode as Fullscreen. No superimposed text or black backgrounds in this mode.