I need to go to the options menu to rebind my Xinput controls, but clicking on 'Options' always crashes the game, since the Widescreen fix was installed.
Is there a way to do this?
Maybe a problem with GamepadControlsFix? There's nothing I else I can think of that would cause a crash in the options menu. Upload the exe you're using and I'll check.
Just tried with GamepadControlsFix and it still crashes. Here: https://drive.google.com/file/d/0B5gZDF0MWw3tWEszX0JtSDhvSlE/view?usp=sharing
I navigated the entire options menu with no crashes using your exe. Try deleting settings.ini and keyconf.dat from the installation folder. If you're on Windows 7, try disabling SingleCoreAffinity in the widescreen fix config.
If all else fails, immediately after crashing go to Event Viewer > Windows Logs > Application and look for an error for sh2pc.exe. Paste the information here.
So strange. I removed those two files - still crashes. I disabled SingleCoreAffinity - still crashes. I was previously using the older Silent Hill 2 proxy fix, and that worked fine in the menus. I wonder if something lingers from that mod?
Here's the applog:
Faulting application name: sh2pc.exe, version: 0.0.0.0, time stamp: 0x68373737
Faulting module name: sh2pc.exe, version: 0.0.0.0, time stamp: 0x68373737
Exception code: 0xc0000005
Fault offset: 0x00058299
Faulting process id: 0xff0
Faulting application start time: 0x01d2e4ddfd1688e3
Faulting application path: C:\DATA\Games\Misc Games\Silent Hill 2\sh2pc.exe
Faulting module path: C:\DATA\Games\Misc Games\Silent Hill 2\sh2pc.exe
Report Id: 470071b0-3b5c-4c4f-844a-679d42342c65
Faulting package full name:
Faulting package-relative application ID:
I should also add - I'm using a DualShock 4, launching it through Steam, with the Steam Overlay enabled because it emulates a standard Xinput controller using the Dual Shock, and this is the only way to stream games to my living room (Steam Link / Big Picture mode). I did just try using only the keyboard, without using Steam, and it didn't crash. So it's something about the Steam hook / overlay I suspect. Problem is, I can't play the game without that :o/
You deleted d3d8.dll and sh2proxy.ini, right? That should be all you need to do to remove it. Give me a second and I'll upload an exe for you to try.
This is a modified version of the Director's Cut exe from sh2fix. Backup your original exe before trying.
Thanks for this, I've run out of time and will have to test at the weekend. Yes, those SH2 proxy files are removed. This is surely to do with either the Steam overlay in general, or specifically Steam's controller configurator that operates through the overlay.
Okay, no problem. Let me know if it works whenever you can.
This works - no more crashes :)
Can I rebind the Xinput controls. How does it work? Is the left stick true analog now? Seems like James is moving 8-way directional on the left stick, but I could be mistaken.
Glad to hear, but hold on to that modded exe because I don't think I'm going to add the changes I made to the widescreen fix with how specific your problem was. I have no idea what purpose that function served either.
Can I rebind the Xinput controls. How does it work? Is the left stick true analog now? Seems like James is moving 8-way directional on the left stick, but I could be mistaken.
I don't know how Steam's controller support works, if that's what you're asking about. I use Xinput Plus for things that the game doesn't normally allow, like some buttons not being detected or vibration not working.
I do think this would be beneficial to others. If you want to stream PC games to your living room then that means either Steam Link or Nvidia's Gamestream. Certainly it's a small niche who will A) play this old game, B) use this widescreen fix, C) stream their games, but they will exist.
BTW, will I also need a fix for Silent Hill 3?
EDIT: Just tried Silent Hill 3 and that works fine, no crashes.
So you're saying that without the widescreen fix (and the modded exe), the game works with Steam Link / Steam overlay?
Silent Hill 3 with the widescreen fix works with Steam Link. Silent Hill 2 with the widescreen fix and the modded exe you gave me works with Steam Link.
I don't think I'm going to add the changes I made to the widescreen fix with how specific your problem was. I have no idea what purpose that function served either.
IMO it doesn't hurt to add more fixes, as long as they're valid. Is there an easy way to patch the .exe manually?
@Keith94 But it can hurt if I have no idea what I'm changing and can't reproduce the crash in the first place. If you guys think it's worth including then OK, but I have to do more research so I know it wasn't anything important that could cause other problems.
@daninthemix The thing is I'm not sure why you were crashing at all. I don't have Steam Link, but I launched Silent Hill 2 via Steam with overlay and big picture mode enabled and experienced no crashes in the options menu. No modded exe, and the widescreen fix is installed. Maybe it's their DualShock support? I use an Xbox controller.
Maybe if you enable Xbox controller configuration in Steam? That will then hook input the same way it does for the DualShock 4.
Now I'm able to reproduce the crash, thanks.
When Steam's controller configuration is enabled, my gamepad basically acts like another keyboard and mouse. The game gets conflicting information about whether or not a controller is plugged in and crashes. I was only able to deduce that it has something to do with the option menu settings. My modification bypasses it entirely and doesn't appear to have any negative effects.
I use an Xbox controller. [...] I use Xinput Plus for things that the game doesn't normally allow, like some buttons not being detected or vibration not working.
@Aero52 Do you have vibration working for SH2 with an X360 controller/Xinput Plus? I never could get that to function...
Also @Aero52 , let's say you implement this modification into the WSF. Would it be integrated into the SilentHill2.WidescreenFix.asi file or dinput8.dll file?
The reason I ask is, if it's implemented into the SilentHill2.WidescreenFix.asi file and you run the Mod Updater but choose to NOT replace the INI files would your hypothetical modification implementation still be updated along with the dinput8.dll file? Hopefully that made sense...
Do you have vibration working for SH2 with an X360 controller/Xinput Plus? I never could get that to function...
It used to work. I'm assuming a Windows 10 update must have broken it, but I can't confirm.
Also @Aero52 , let's say you implement this modification into the WSF. Would it be integrated into the SilentHill2.WidescreenFix.asi file or dinput8.dll file?
dinput8.dll is Ultimate ASI Loader, and its primary purpose is to load the asi files in the scripts folder. Any modifications to a particular game should always be achieved through the asi file.
The reason I ask is, if it's implemented into the SilentHill2.WidescreenFix.asi file and you run the Mod Updater but choose to NOT replace the INI files would your hypothetical modification implementation still be updated along with the dinput8.dll file? Hopefully that made sense...
It's programmed so that if there's no config file present (or it's missing entries) it'll use the default settings. See here. As long as the feature is enabled by default then it'll work. Regardless, someone could always add it manually if they don't want to replace their file.
It's programmed so that if there's no config file present (or it's missing entries) it'll use the default settings. See here. As long as the feature is enabled by default then it'll work. Regardless, someone could always add it manually if they don't want to replace their file.
Thank you for that. That makes sense. If settings are missing within an INI then the game still runs them with the default value but will also still run a user's settings in the incomplete INI file so long as they're in there.
I'm asking to be sure I word things right in my own guide; I don't want to involuntarily create an influx of support tickets for you guys on this matter. So to be 100% certain: The Mod Updater would update both the dinput8.dll (or dsound.dll if you renamed it) and associated ASI files for that particular game even if the user opts to not update the INI files?
Thank you for that. That makes sense. If settings are missing within an INI then the game still runs them with the default value but will also still run a user's settings in the incomplete INI file so long as they're in there.
Yes, so if I were to delete "PS2CameraSpeed = 1" then the widescreen fix would still load my other settings, but it would use the default setting (0 in this case) for PS2CameraSpeed.
So to be 100% certain: The Mod Updater would update both the dinput8.dll and associated ASI files even if the user opts to not update the INI files?
Yes.
You may periodically receive an Updates available dialog box upon game launch. If you see this box that means there is an important update for the Widescreen Fix. Choose how the updater will handle your INI files then click Download and install updates now. If you have modified any settings in the SilentHill2.WidescreenFix.ini file you may want to choose Don't replace INI files during the update to avoid having your customizations reset. But note that an update may feature new settings within the INI file you wouldn't receive if you opt to not replace the INI files.
@ThirteenAG
SteamCrashFix = 0 // Prevents a crash when Steam's controller configuration is used
0045826B jmp 004582A6
@jdkubiak have you installed this?
http://lavendy.net/special/driver/x360wc/index.html
@jdkubiak have you installed this?
I have but no luck.
I'm genuinely sorry I'm asking this, but... have you enabled force feedback in the options menu?
Don't hurt me! I used to work in support!
Oh! Wait a minute! Your link is different than the one I tried using some weeks back. Okay, so this is new.
Hm... translating the Readme.txt it seems this only works for wireless Xbox 360 controllers? (Mine is wired.)
Do you know if this'd also work for wired ones?
This was the one I originally was trying to use (confirmed to work on wired controllers): http://lavendy.net/special/driver/xi/index.html
Couldn't say unfortunately. The English version on that site works for me, and as you know, I use a DualShock 4 mapped through DS4Windows, which masquerades as a generic xInput device, and that works fine.
SteamCrashFix has been added in the latest release. It's disabled by default.
@RenoFriends
I might as well mention that you can now disable the aspect ratio of menus in the latest release by using Fix2D = 0.
I learned some things about this the other day, in case any one else comes across this:
If you apply the Xinput Plus files to your game and then remove essential Xinput Plus files from the game's directory the game will crash when you go to its Options menu. My guess is because the game's keyconf.dat file gets modified in a special way after you assign controller inputs in the game's Options menu with the Xinput Plus files in effect.
If you remove the Xinput Plus files and try to go back to the game's Options menu, the game will open the keyconf.dat file behind-the-scenes, preparing itself for possible modifications, but crashes because it's missing something that links itself back to the Xinput Plus files, if that makes sense.
I don't know if any of this is accurate but it's my best guess.
With my wired Xbox 360 controller vibration never worked; regardless if I used Xinput Plus or not. _However,_ if I only used Xi Lavendy's specialty force feedback drivers vibration worked then. But, if I _then also_ applied Xinput Plus the vibration no longer worked again.
So in a nutshell:
But of course we need Xinput Plus otherwise we can't use the 360 controller's D-pad or triggers.
Yeah, it's a bit of a nuisance. I use a DS4 controller, so here's my setup:
Here's my Xpadder profile:

The whole configuration is a total mess, but it _works_.
Thanks for the info! I may bite the bullet myself and just buy a spare DS4 controller for SH2 PC. I love the ergonomics of the DS4 anyway so why not?
_But_, I still wish there was a solution for Xbox controllers as I'm sure most PC players who use a gamepad use Xbox ones.
There's no reason why you couldn't set up Xpadder (or JoyToKey or whatever) the same way I have here. You'd just be using a different method with the same workflow:
XINPUT PAD (360 pad) > CONVERT TO DINPUT SIGNAL (Xinput+) > ADD VIBRATION (Xi Driver) > CONVERT TO KEYBOARD SIGNAL (Xpadder or equivalent)
Give it a shot. Don't forget to unmap SH2's controller mappings or you'll get weird double inputs.
Oh, for sure, but ideally it'd be nice to use something like Xinput Plus still where the user doesn't have to open/minimize another application to get something like rumble support to work. I was thinking out loud about that through the stand-point of the less a person has to open/set, the less likely for failure.
Tell me about it. I wrote a batch script.

Most helpful comment
Tell me about it. I wrote a batch script.
