- Notifications
You must be signed in to change notification settings - Fork0
DiaLight/Flame
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Flame modifies the Dungeon Keeper 2 code to fix the bugs found in both single and multiplayer.It works with the Disk, Steam and GOG versions of the game.
Warning: Saves and network sessions between Flame and non-Flame Dungeon Keeper 2 versions areincompatible.But you can use-original_compatible
flag to disable some patches that breaks compatibility.
- If you have any bugs in the game, please describe them in the discord channel:https://discord.gg/RvrQpCFUZc or in the GitHub issues.
- It helps a lot if you include steps how to reproduce found bug
- Attaching a good test map is welcome
If you reporting several bugs, please split them to several Discord messages / GitHub issues. Please, be sure to have followed the recommended installation steps.
Imagine you are playing through a storyline campaign and there are momentsthat are extremely frustrating or simply prevent you from progressing further in the game.These bugs, I consider them critical, and those are the ones I will focus on fixing.
You can vote for an bug that you consider critical at your discretion by placing a rocket emoji(?) on the corresponding issue
- Go to thereleases page and download the Flame-1.7.0-*.zip file of the newest release
- Extract the zip file into your Dungeon Keeper 2 game directory
Now runDKII-Flame-1.7.0-*.exe
to play. It is possible to rename the .exe file to play Multiplayer via GameRanger.
Note: It is possible to find newer test builds ongithub actions
Note 2: TheData
directory are not required for this to work, but are recommended.
TheData
folder in the zip file contains patches for some campaign maps taken from the linkhttps://keeperklan.com/downloads.php?do=file&id=141. These fix creatures like Dark Angels not spawning in some campaign maps.
Flame is a new approach to modifying the compiled code of Dungeon Keeper 2
Flame recompiles some functions ofDKII.EXE
into a separate.exe
file.Then it merges this file with the original.exe
file, replacing the references tothe original functions with the references to recompiled functions.Recompiled functions are supplemented with switchable changes that fix some game bugs
Earlier, this project implemented an approach to fully relinkingDKII.EXE
,which contains false positive references that caused new bugs. Due to problems with false positive references, the relinking method was replaced by the exe merge method.
- CMake 3.25 or higherhttps://cmake.org/download/
- Visual Studio 2022
- Dungeon Keeper II v1.70 (GOG/Steam version)
- Python 3https://www.python.org/downloads/windows/
mkdir build && cd build
"D:\Program Files\Visual Studio Community\2022\VC\Auxiliary\Build\vcvars32.bat"
cmake -DCMAKE_BUILD_TYPE=Release -GNinja -DCMAKE_INSTALL_PREFIX=../install ..
cmake --build .
cmake --install .
copy "..\install\DKII-Flame-<version>.exe" "<Dungeon Keeper2 dir>/DKII-Flame.exe"
About
Dungeon Keeper II partial recompilation with bug fixes