HunterStanton / SilentHill4Randomizer

A randomizer plugin for Silent Hill 4.
MIT License
26 stars 2 forks source link
gog pc randomizer reverse-engineering silent-hill

Silent Hill 4 Randomizer

A randomizer for Silent Hill 4: The Room, for the GOG version of the game. The randomizer offers several features to change up the gameplay of Silent Hill 4 to create brand new gameplay scenarios and challenges that weren't possible in the original game. It also has an option for restoring the "cut" hauntings from the PS2 version of the game.

This is intended for use with the GOG re-release of the game. Support for the older retail version is planned but not yet implemented.

Features

New Content

The randomizer adds new content if "Extra Content" and "Random Items" are both enabled in the options menu and as such are completely optional. These items seek to give a function to some previously nonfunctional, cut content in Silent Hill 4 as well as bring back some older weapons from previous Silent Hill titles. Because some like to keep the loot pool in a vanilla state, the new items are not obtainable unless using both of these toggles.

Installation

Use the Ultimate ASI Loader (32-bit version as Silent Hill 4 is a 32-bit game), rename the DLL to dsound.dll, then extract the contents of the latest release into the Silent Hill 4 game directory. You should end up with a /scripts/ folder and a couple new .bin files inside /data/.

If you are only interested in restoring the hauntings, disable all the randomizer settings in the .ini file, but ensure that RestoreHauntings is set to 1 or use Steam006's Silent Hill 4 fix which now includes the hauntings fix.

Performance Note

The randomizer raises the maximum amount of memory that can be allocated in a room from roughly 67MB to roughly 134MB, meaning the system requirements are slightly higher than the vanilla game. You may run into out-of-memory crashes on minspec systems or virtual machines with 512MB of RAM or less.

Demo

Silent Hill 4 Randomizer demo video

Known Issues

Planned Additions

Potential future additions, if determined to be feasible

Contributing

If you have fixed a bug in the code, implemented a new randomization feature, or want to change things for some reason, feel free to submit a pull request and I will give it a review.

For reporting bugs, please make a GitHub issue. Please include the randomizer log (which can be found in <SH4 Install Directory>/scripts/randomizer.log) in the issue so I can better identify where/how the issue is occurring.

Special Thanks