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
597 stars 42 forks source link

Large mouse pointer on menu screens #479

Closed tauruslondono closed 3 years ago

tauruslondono commented 3 years ago

I'd previously played Silent Hill 2 Enhanced Edition in 2020 without this issue. I recently re-installed the game from scratch (following the steps precisely and correctly, just as before). I am using all of the same hardware as before. I am playing with a PC controller via XinputPlus (just as before). Now I have a large mouse pointer in the upper-left corner of my menu screens. Importantly, it does NOT correspond to my actual mouse cursor (which shows up on the screen as a small pointer and can be moved around normally). https://i.imgur.com/tQUGoUJ.jpg

The large pointer is also present in my inventory screen. https://i.imgur.com/GpyXhS8.jpg

d3d8.log

This issue appears regardless of the screenmode I choose in d3d8.ini.

Polymega commented 3 years ago

The large mouse pointer is correct and part of the game, and will appear in the game regardless if using a controller or not.

The game should take full exclusivity of your mouse when the game is in focus, so you shouldn't be able to see your normal Windows cursor while playing. While playing, your mouse cursor is replaced by the large, in-game mouse cursor you've mentioned.

If you Alt + Tab out of the game you will then see your normal mouse cursor, and can even hover your normal mouse cursor over the game window. Once you click on the game window again, the game will take exclusivity of your mouse once more.

Polymega commented 3 years ago

PS - Looking at your log file, you have some old files we no longer use in our project. I'd recommend removing the following files/folders from the game's directory:

\reshade-shaders\
d3d8.dat
d3d9.dll.bak
d3d9.log
ReShade.ini
ReShade_sh2pc.ini
tauruslondono commented 3 years ago

"The game should take full exclusivity of your mouse when the game is in focus, so you shouldn't be able to see your normal Windows cursor while playing. While playing, your mouse cursor is replaced by the large, in-game mouse cursor you've mentioned."

Except that this is not what happens for me. My mouse cursor shows up as the small default Windows cursor in the game; the large pointer remains in the upper-left corner and never moves. Alt-Tabbing has no effect. In fact, even though I can see the regular, small windows mouse pointer on the game screen, it is non-functional; the only way to interact with the menus is via the gamepad. The game is most definitely in focus and I am able to play as normal.

That's the point of my report here. I have a sense of what "should" happen, but my point is that it is not happening.

Maybe this has something to do with my mouse driver or some other software on my end? All I can say is that it doesn't happen in any other game on my system.

Polymega commented 3 years ago

I understand now. This is the first instance of someone reporting an issue like this.

Temporarily remove the d3d8.dll file from the game's directory. This will more-or-less revert the game back to vanilla. Does the game's mouse cursor function correctly for you then?

tauruslondono commented 3 years ago

Interestingly the issue persists after removing d3d8.dll. The large pointer in the upper left is now replaced by a bloody knife, and my windows mouse pointer is still visible and can be moved around but can't interact with the menu.

Polymega commented 3 years ago

Okay, that at least tells us that the project files shouldn't be the cause of this. Since this isn't happening to any of your other games, I'm wondering if there's some PC setting preventing exclusivity with sh2pc.exe.

Make a copy of sh2pc.exe and rename it to something else like sh2pc_test.exe. Launch the game through this renamed executable. The game should still run. Does the issue persist?

tauruslondono commented 3 years ago

Renamed to sh2pc_test.exe and the issue persists.

FWIW, I have over 100 other PC games on various platforms (Steam, GOG, Origin, etc) and this doesn't happen in any other game. I have no overlay software of any kind (eg Nvidia Experience, Afterburner, etc).

Could it have something to do with the Dinput dlls?

Polymega commented 3 years ago

Could it have something to do with the Dinput dlls?

I'm honestly not sure...

The last thing I can suggest to try is 100% reverting the game back to vanilla. To do this, temporarily move these files/folders someplace else (the list below is assuming you've already removed the files/folders I mentioned previously):

\sh2e\
alsoft.ini
d3d8.dll
d3d8.ini
d3d8.log
d3d8.res
Dinput.dll
Dinput8.dll
dsoal-aldrv.dll
dsound.dll
XInput1_3.dll
XInputPlus.ini

You can also try unplugging any/all controllers and gamepad peripherals then launching the game to see if you regain mouse exclusivity. Maybe a certain peripheral is doing wonky things with the game? At this point, I'm totally out of ideas.

tauruslondono commented 3 years ago

FIXED!

Went my taskbar, right-clicked the "NVIDIA settings" icon, and clicked "Exit." Started the game and now experiencing intended functionality; my mouse is represented by the large pointer, can be moved around, and is fully functional.

Weirdly enough, when this Nvidia settings icon reappears after I close the game, the issue doesn't come back even if I don't close the icon again. Not sure what was going on there. Driver 472.12 fwiw.

Thank you your timely comments here all the same, and thanks for the outstanding work on this project! You've really brought this classic back to life, and it's deeply appreciated.

Polymega commented 3 years ago

We should've started you off by restarting your PC. 🤣 Years of working in an office and talking to folks in IT have taught me this, yet I didn't even think to suggest it!

Anyway, glad it's all sorted out for you now. I'll close this ticket then.