Posted October 30, 2017
high rated
Download: ModDB (updated 26th December 2018)
I made a patch for these two games. Comparing GOG re-release with the retail release, the changes to the games (excluding DRM removal and unpacking of executable files) are increased field of view (which is originally hardcoded, FOV adjustment should be dynamic) and ability to select resolutions with aspect ratio greater than 4:3.
They also included older version of IndirectSound, which doesn't work properly and tends to make things crashy. The game has been patched to not require IndirectSound anymore, so it's best to delete dsound files from game folders.
The list of changes in this patch, straight from the ReadMe:
Common:
-Fixed the bug with game interpreting available hard disk space value incorrectly, preventing users from saving the game and the config file from being updated if they have more than 2 TB of free space on their hard drive.
-Widescreen support; all supported resolutions are selectable, FOV is adjusted according to the screen's aspect ratio, HUD and in-game FMVs are adjusted as well so they don't stretch with wide aspect ratios.
-Resolutions available in fullscreen mode are also available in windowed mode.
-Game's own threads are bound to run on the CPU's first core, this reduces the probability of 'black texture bug' occurrence.
-Game will now use the audio device selected in Riot Engine Configuration dialog instead of always using default device.
-Hardware accelerated DirectSound buffers are no longer explicitly requested and the default limit of sound buffers has been increased to prevent sound dropouts on typical modern PC.
-EAX option has been disabled in Riot Engine Configuration in Sound tab (EAX effects are not implemented).
-Added frame rate limiter which defaults to limiting the game to run at 59 FPS to workaround bugs that occur at higher frame-rates and provides better mouse response when monitor runs at 60 Hz and VSync is enabled.
-Game will set monitor's refresh rate to 60 Hz when in fullscreen mode.
-Mouse acceleration is disabled by default, but can be restored with a config option.
-Removed bad DirectX check, game will launch without error or DirectPlay pop-up dialog on Windows 8+ if DirectPlay isn't present (which is the default).
-Made game's message loop more conventional (PeekMessage called without message filtering) to workaround the bug in Windows' Desktop Window Manager, which causes oddities in windowed mode; window being declared unresponsive and replaced with a ghost window after 5 seconds when it loses focus. It even happens that the DWM tries to replace the game window with a ghost window during normal gameplay.
-Use GetMessage in the message loop for the Riot Engine Configuration dialog rather than PeekMessage, this normalizes CPU usage of said dialog.
-Embedded manifest in executables:
-Marked as compatible with all existing Windows versions.
-Marked as high-DPI aware.
-Marked as UAC (User Account Control) aware.
-Registry settings are written to HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE.
-User files are redirected to Documents folder, in "My Games\The Suffering [TTB]".
-Removed all calls to RegFlushKey (not needed).
-Removed the call to OutputDebugString that was needlessly made every frame.
-Reordered icons in the .exe's resource so the Torque icon is the main one instead of the Riot Engine logo.
Prison Is Hell specific:
-Selecting anything but the first entry in the Display Driver drop-down list in Riot Engine Configuration dialog will no longer result in the empty Display Mode list, so the game can now be made to run on any monitor, not just the primary one.
-Fixed the bug with user gamma setting not being applied at game startup.
-Textures now appear clearer when looked at from the distance.
-Don't grab keyboard exclusively when in fullscreen; Start key works and Alt-Tab behaves normally on modern Windows versions.
-Added window caption.
-Disabled screenshot feature (F10 key) since it crashes.
Ties That Bind specific:
-Registry settings are stored in a separate value called SettingsDX106 rather than SettingsDX105, which is used by the first game since the binary structures between the games aren't 100% compatible between each other.
-Fixed the bug with some sounds being delayed when 3D sound buffers are enabled.
-Added file (Common\System\System.odu) that turns off censorship of Creeper's famous part of dialog (for English version only).
The patch also comes with config file called Torque.ini. Options are described in included ReadMe.
BTW, the game is distributed with a bunch of redundant files, some were used during development. Of those files, you may want to delete dbghelp.dll. This particular DLL is from Windows XP era and while not directly referenced by the game, it still gets loaded by something else. Deleting it will make the system version being loaded instead of the outdated version.
From my testing, it's the most important that the game doesn't run too fast. I've noticed anti-aliasing options in Riot Engine configuration dialog don't seem to do much, if anything at all visually, so it might be the best to turn it off and play with graphics drivers settings instead. One option is forced FXAA. For NVIDIA cards, it's possible to use Dynamic Super Resolution feature, which works well as an alternative to traditional anti-aliasing. Not sure about texture filtering options' effects neither.
I made a patch for these two games. Comparing GOG re-release with the retail release, the changes to the games (excluding DRM removal and unpacking of executable files) are increased field of view (which is originally hardcoded, FOV adjustment should be dynamic) and ability to select resolutions with aspect ratio greater than 4:3.
They also included older version of IndirectSound, which doesn't work properly and tends to make things crashy. The game has been patched to not require IndirectSound anymore, so it's best to delete dsound files from game folders.
The list of changes in this patch, straight from the ReadMe:
Common:
-Fixed the bug with game interpreting available hard disk space value incorrectly, preventing users from saving the game and the config file from being updated if they have more than 2 TB of free space on their hard drive.
-Widescreen support; all supported resolutions are selectable, FOV is adjusted according to the screen's aspect ratio, HUD and in-game FMVs are adjusted as well so they don't stretch with wide aspect ratios.
-Resolutions available in fullscreen mode are also available in windowed mode.
-Game's own threads are bound to run on the CPU's first core, this reduces the probability of 'black texture bug' occurrence.
-Game will now use the audio device selected in Riot Engine Configuration dialog instead of always using default device.
-Hardware accelerated DirectSound buffers are no longer explicitly requested and the default limit of sound buffers has been increased to prevent sound dropouts on typical modern PC.
-EAX option has been disabled in Riot Engine Configuration in Sound tab (EAX effects are not implemented).
-Added frame rate limiter which defaults to limiting the game to run at 59 FPS to workaround bugs that occur at higher frame-rates and provides better mouse response when monitor runs at 60 Hz and VSync is enabled.
-Game will set monitor's refresh rate to 60 Hz when in fullscreen mode.
-Mouse acceleration is disabled by default, but can be restored with a config option.
-Removed bad DirectX check, game will launch without error or DirectPlay pop-up dialog on Windows 8+ if DirectPlay isn't present (which is the default).
-Made game's message loop more conventional (PeekMessage called without message filtering) to workaround the bug in Windows' Desktop Window Manager, which causes oddities in windowed mode; window being declared unresponsive and replaced with a ghost window after 5 seconds when it loses focus. It even happens that the DWM tries to replace the game window with a ghost window during normal gameplay.
-Use GetMessage in the message loop for the Riot Engine Configuration dialog rather than PeekMessage, this normalizes CPU usage of said dialog.
-Embedded manifest in executables:
-Marked as compatible with all existing Windows versions.
-Marked as high-DPI aware.
-Marked as UAC (User Account Control) aware.
-Registry settings are written to HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE.
-User files are redirected to Documents folder, in "My Games\The Suffering [TTB]".
-Removed all calls to RegFlushKey (not needed).
-Removed the call to OutputDebugString that was needlessly made every frame.
-Reordered icons in the .exe's resource so the Torque icon is the main one instead of the Riot Engine logo.
Prison Is Hell specific:
-Selecting anything but the first entry in the Display Driver drop-down list in Riot Engine Configuration dialog will no longer result in the empty Display Mode list, so the game can now be made to run on any monitor, not just the primary one.
-Fixed the bug with user gamma setting not being applied at game startup.
-Textures now appear clearer when looked at from the distance.
-Don't grab keyboard exclusively when in fullscreen; Start key works and Alt-Tab behaves normally on modern Windows versions.
-Added window caption.
-Disabled screenshot feature (F10 key) since it crashes.
Ties That Bind specific:
-Registry settings are stored in a separate value called SettingsDX106 rather than SettingsDX105, which is used by the first game since the binary structures between the games aren't 100% compatible between each other.
-Fixed the bug with some sounds being delayed when 3D sound buffers are enabled.
-Added file (Common\System\System.odu) that turns off censorship of Creeper's famous part of dialog (for English version only).
The patch also comes with config file called Torque.ini. Options are described in included ReadMe.
BTW, the game is distributed with a bunch of redundant files, some were used during development. Of those files, you may want to delete dbghelp.dll. This particular DLL is from Windows XP era and while not directly referenced by the game, it still gets loaded by something else. Deleting it will make the system version being loaded instead of the outdated version.
From my testing, it's the most important that the game doesn't run too fast. I've noticed anti-aliasing options in Riot Engine configuration dialog don't seem to do much, if anything at all visually, so it might be the best to turn it off and play with graphics drivers settings instead. One option is forced FXAA. For NVIDIA cards, it's possible to use Dynamic Super Resolution feature, which works well as an alternative to traditional anti-aliasing. Not sure about texture filtering options' effects neither.
Post edited December 26, 2018 by UCyborg