About this mod
Enable Darkest Dungeon to be played on Windows XP
- Permissions and credits
- Changelogs
- Donations
How to use this:
- Find your DarkestDungeon folder (for Steam, right click Darkest Dungeon and select Properties, select the LOCAL FILES tab, then click BROWSE LOCAL FILES...).
- Find the _windows subfolder (it will contain Darkest.exe and a lot of DLL files).
- Put DDXP's shell33.dll and patch_darkest.bat files in the DarkestDungeon\_windows folder.
- Run patch_darkest.bat.
- Run Darkest.exe (or start it through Steam).
- You will need to re-run patch_darkest.bat whenever Darkest.exe is updated.
How it works:
Darkest Dungeon has two compatibility issues with Windows XP. First, in its executable header, it has a subsystem version of 6.0 set; Windows XP is version 5.1, so it refuses to even try any executable with a subsystem version set to a value higher than 5.1 (this is where the "Darkest.exe is not a valid Win32 application." error message comes from). Second, it imports SHGetKnownFolderPath from shell32.dll which is a function that was added in Windows Vista.
DDXP's patch changes Darkest.exe's subsystem version from 6.0 to 5.0 and makes it use shell33.dll instead of shell32.dll. DDXP's shell33.dll implements SHGetKnownFolderPath using SHGetFolderPathW and forwards two other function calls to the real versions of them in shell32.dll.
The developers of Darkest Dungeon could make it Windows XP compatible by using SHGetFolderPathW instead of SHGetKnownFolderPath and making sure their compiler toolchain sets a subsystem version of 5 in Darkest.exe (it's fine if DLLs it depends on have a different subsystem version).
Disclaimer:
DDXP is not an official Red Hook Studios product or product modification, and Red Hook Studios Inc. is not responsible in any way for changes or damages that may result from using DDXP. Furthermore, “Darkest Dungeon” and the Darkest Dungeon logo are trademarks of Red Hook Studios Inc. All content in the game is Copyright Red Hook Studios Inc. All rights reserved.
Changelog:
2.0.0.0
- Initial public release.