Darkest Dungeon
0 of 0

File information

Last updated

Original upload

Created by

Queue

Uploaded by

Queued

Virus scan

Some manually verified files

Tags for this mod

About this mod

Enable Darkest Dungeon to be played on Windows XP

Permissions and credits
Changelogs
Donations
I got Darkest Dungeon as a gift and was surprised when it wouldn't work on my Windows XP machine. The issue was pretty obvious, so I hammered together a quick fix to get it working and make it easy to re-enable whenever Steam updates it and overwrites Darkest.exe with a new version. The patching mechanism seemed easy enough that anyone could use it, so I'm releasing it for public consumption as well.

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.