A complete patching system for Grim Dawn: Decompress game files, patch what needs to be patched/edited and reconstruct the game back to a fully playable state. See the included "ReadMe.txt" file for simple install and update instructions. Use WinRAR or 7-Zip to extract the archive.
Forewarning: This system, and the accompanying mod, was designed to work with the fully expanded game: Ashes of Malmouth and Forgotten Gods are mandatory. Crucible is not. While you need the complete game to install the Grim Dawn EU Lite MOD, you can still benefit from what the patching system can offer, providing you are willing to modify part of it yourself.
The creator of this MOD and accompanying windows batch files take no responsibility should nefarious usage comes of it either by malevolent modifications to it of simply by mistakes...
You can edit, modify and redistribute parts or the whole "patching system" without asking for explicit permission.
Backing up your save files before starting a newly modded game for the first time is highly recommended.
Update procedure if you want to install the latest version over a previous version:
Open the text file named "Grim Dawn EU Lite MOD - File List.txt", it contains the list of all files that should be deleted prior to updating.
Simple installation procedures for those that just want to quickly install/test the mod:
You should not play this mod with an existing character if it is above level 50. A fresh start is recommended.
A - Download and extract the whole content of the MOD ZIP file to the Grim Dawn working folder. This is the folder that contain the "Grim Dawn.exe" 32 bit file. NOT the "x64" folder! That one as the 64 bit executable.
B - Parts of the mod can be deactivated should you not want them. Check out the list of .AHK files freshly extracted from the above step. The filenames describe what they do. If you want to deactivate a specific patch, simply delete that file or change the extension to something else like ".unused".
C - From the game working folder, browse to and select the file named "Install MOD.bat". Double-click to launch it with an account that has administrator rights.
This is the result of a few months of intense fiddling around with Grim Dawn mod tools. It started as a simple question: "Can Grim Dawn data be easily and automatically modified between game update using a 'patching' mechanism"?
So this premise led the foundation for an elaborate modding mechanism that function as follow:
1 - It uses only readily available free tools from the Internet. Currently, it uses some of the tools Crate graciously distributed as part of the game as well as some third party ones including:
Custom programmed utilities for handling archives and map decompiling: ARZARC.exe and unMap.exe
Microsoft's windows batch scripting language, part of any Microsoft OS since MS-DOS
The one and only AutoHotkey (Autohotkey.com)
The lightning fast FFMPEG (Ffmpeg.org)
The noble 7-Zip Archiver (7-zip.org)
(Optional but highly recommended) NotePad++ (Notepad-plus-plus.org)
2 - The process is completely automated. It flows somewhat like this:
- Starting from a fully up to date "Forgotten Gods" expanded working, moded or not, copy of the game. A backup of all the game ARZ and ARC compressed archives is created in a sub-folder of the game working folder.
- This backup is then fully extracted, including the GDX2 .MAP file, in parallel executing threads when possible . From there, it serves as a restore point, so to speak, for the game. The backup is never altered in any way whatsoever.
- Using AutoHotkey powerful regular expression evaluator, an arbitrary numbers of .AHK scripts files that are designed to target and modify specific data in the game database records are ran, again in parallel when possible. The scripts fetch data files from the backup, patches them in memory, then rewrites them in the game working folder. Leaving the original untouched.
- Along side that, to handles the game various resources file types, like .WAV, .TEX, .MSH, .CNV, etc.., advanced window batch scripts are ran to, again, fetch the data from the source, apply modification to them and rewrites them in the game working folder. Leaving the source completely intact.
- Once all these modifications to the game are made, all the various archives for resources, world file and levels, databases and templates are reconstructed, automatically, from the game working folder. This process is bottle-necked mostly by the storage subsystem I/O speed, but, if it is fast enough like an M.2 drive or RAM drive, this stage can benefit from multi-threading allowing for simultaneous reconstruction of all the ARC and ARZ files (more on that later on).
3 - The game can then be played in a modded state determine by whatever the patching scripts can do. Since it uses patching, it is possible to start from an already modded game and build from there or easily re-patch after an official update. Also, since the patching does not depend on the local game working folder data, it uses the backup source data instead, the whole process is fully repeatable, lets say, for testing purposes, without any issues.
To demonstrate the process as proof of concept, it is distributed as a MOD that I called "Grim Dawn EU Lite MOD". Initially, the goal was to mod the game and make it slightly more feasible, at least for me, on the Elite and, more specifically, Ultimate levels. The whole idea was to "slightly modify" core game mechanics to lean toward that goal. It is not a complete redesign of the game nor is it a game expander. No new class or items are added to the game for example. The game retains a very vanilla flavor.
Some of the mod's many changes includes:
- Maximum player level cap increase to 200. With the recent announcement by Crate that they are now supporting mod with an increased player level cap, it is is now possible to continue leveling your character past level 100! Note that foes above level 100, in the main game, will only spawn at the Ultimate difficulty level.
- Devotion point cap increase to 200. Coupled with the Tribute points system from the Crucible addon, this allows lower level character to quickly gets some form of Constellation build while still making it a long process to get past the default 55 devotion points for high level character.
- Player run speed caps changes. Starting at 20% on all difficulty for the minimum and up to 200% at the maximum from the default value of 135%. Faster movement with the correct gears and bonus equals easier getaways from fast enemies.
- Optional player summonable pets movement speed increase. Not active by default. It can be turned on by changing a single "pet movement speed" multiplication value. Pets can now follow you around easily even when moving at ridiculous speed!
- Constitution giving item rework. Untouched food and ration only gives back constitution, no health. However, vital essence now gives back some health and energy but no constitution. Better balanced that way in combat since tougher enemies are more likely to drop vital essence on death. Also, one bowl of any cook's tasty creation is now enough to completely refill constitution.
- Non linear attributes progression from class mastery. This makes it more viable to have a dual class non maxed masteries character. Imagine that, instead of a straight line, the attributes (health, energy, physique, cunning and spirit) bonus gained by increasing a mastery level follows a logarithmic style curved progression. Starts and end points are the same, all nine classes have the same 2400 total, split between the 5 types, as they did before. Only the progression follows a curves so, for example, the bonus gained from having two masteries at 25 is proportionally higher than having only one mastery at 50.
- Items stacks limit increased to 9999 for components and 999 for potions and other stackables. Default stacks are 1000 and 99 respectively.
- Change to the camera maximum and minimum distance and angle. Top down 90° as well as closeup character inspection angles are now possible.
- Default loading distance and fog adjustment. See enemies from farther away.
- Focus items, AKA caster off-hands, skills cooldown bonus multiplied by a factor of 2. More incentive to use them for what they are good at.
- Less restrictive component fusing on gears. Any component that can be fused on at least one armor parts gets expanded to be fused on all armor types. Same for amulet, ring and medal in their respective category. More possibilities. This does not affect augments powders.
- Side quest and faction item level restriction removal. Once you get the standing to buy an item from a faction, there won't be any level requirement restricting you further from using it. Again, this does not affect augment powders. As for side quest item like "Fortified Doublet", "Skinner Family ring", "Hart's Amulet" and the like, keep them for a future new build as kick starter gears!
- Always 3 attributes points gained per new level. Even at level above 50.
And a host of sounds, ambient, shadows casting properties improvements. New and more diverse sound for ranged weapons and some skills. Loading screen and tips disabling. Complete music removal. Sounds sanitation (yes, sounds in this game have been neglected a lot by Crate) like loudness normalizing, fix for badly constructed looping sounds, unnecessary over sampling at 96khz/32 bit... Using FFMPEG, pretty much anything can be done sound wise. Except for new sounds, a lot of existing ones are modified, by scripts, on the fly.
And yes, since all this is handled via patching scripts, any of the above can either be disabled or modified by simply editing these scripts in a text editor!
The mod ZIP files comes with all the third party tools listed above at step one. But one, obviously, needs to have the game with both expansion installed. Crucible is not mandatory but can be patched as well if present. Having a good understanding of the windows batch scripting language as well as some level of AutoHotkey and regular expression syntax comprehension is going to help a lot.
The system can be expanded easily by supplying new AHK scripts and taking example from using the 50+ windows batch file (.BAT files) included. Just by opening these files in a text editor, a lot can be figured out. The installation process execute any AHK scripts (within some parameters) it find in the game working folder. There are two easy way to disable a script: Edit it with a text editor and set the "Disabled:=True" variable or simply change the extension to something else like "Increase maximum player level to 200.ahk.unused"
A lot of care have been taken in the creation of the installation process to be as Murphy proof as possible, so it should be quite safe. The file named "Install MOD.bat" is the starting point for everything else. The file "Setup.bat" handle the installer configuration settings. Once initial installation of the MOD is completed two uninstallation files are generated "Uninstall MOD.bat" and "CleanUp MOD.bat". The first completely revert the game to the source backup and then ask if the mod files themselves should be removed. The second one perform manual post installation removal of no longer needed files like the source backup and the mod files themselves should you want to free some (~40GB!) storage space.
Of course, unpacking, patching and repacking a complete game is not going to be the fastest nor the cheapest way to do things: On a very slow system, from an uncached game file sets, the whole process is going to take more than 40 minutes. On a decent one with the game on an SSD, I would assume the process to be in the 15-20 minutes range. Furthermore, expect a total data written count, for the first run only, to be close to 50GB... Once the source is created, each complete rebuild will write over the same data each time: Approximately that of the complete game ~10GB. The repacked, moded game, is substantially smaller than the original one simply because a lot of sound files, musics mostly, as well as the unneeded "GDX0 and GDX1 levels archives", gets removed from it.
GD-DPS can take advantage of multi-threaded execution, particularly for the deconstruction and reconstruction phases. It is, however, disabled by default, the reason being that having these stages handle files seemingly "out of order" can be confusing if errors or problems arises. Should you want to activate it, in the "Setup.bat" file, go to the last line "SET MTSwitches=/MIN /LOW /B /WAIT" and remove the /WAIT switch. This should only be done when you are fairly confident you understand how the deconstruction and reconstruction processes work.
Once you get the hang of it, you can skip large parts of the reconstruction if some data do not changes between rebuilds of the game archives. Executing just the sequence you need can be done via a specialized windows console, the GD-DPS console. To launch it, run the batch script file named "GD-DPS.bat". The GD-DPS console is responsible for setting the proper background parameters so that typed commands and scripts unfold in a planned manner. Any attempt to launch either a command batch file or one of the mod .AHK script from an explorer folder view won't work. That is by design: to prevent miss execution of potentially destructive, for the game state at least, actions.
There is a lot to cover and this is just the basics. If you are interested in learning more, I invite you to inspect the mods provided files. You can also check this mod thread on the Grim Dawn official forum.
If you made your way here, then congratulation, and thank you for your interest. Here is a special something for you: Notepad++ AutoHotkey and Grim Dawn DBR language.
In Notepad++, under the language tab, click on the last item, "User Defined Language" > "Define your language..." In the window that appears, near the top section, there is an "Import..." button. Click it and browse to the extracted XML files from the archive you just downloaded then click the "Open" button.
Lastly, put perhaps this should have been firstly, English is not my native language so you'll excuse any weird turns of phrases and the plethora of grammar errors...