Thursday, 4 March 2021

Vortex mods are now uploaded

I've uploaded the vortex mods and the hook, as it's an exe, has now been approved as safe.

You need the Vortex game support mod first https://www.nexusmods.com/site/mods/211

And then the DCoTEHook mod https://www.nexusmods.com/callofcthulhudarkcornersoftheearth/mods/3

So far this is only working with Retail and GOG versions, but seeing as we are now hooking into the exe it may be possible to get the Steam version working.

Next up is adding in a mod that will patch the exe to sort the bugs. So that's the 60fps lock and shader fixes that are in the GOG version.

To patch the main exe I'll likely use a DCoTEHook0.patch file in the mod that the Hook will look for to determine which bytes to patch in the exe so that I don't need to publish the exe or copy it into the mods directory.

I also don't know if I can publish the fixed shaders in a vortex mod, although they are transformed, as they aren't really my work. So I may have to take a similar approach of copy from base and patch.

(I've allowed donations on the mods pages so that if anyone wants to donate they can. All donations will be sent on to Kings Heath Cat Club Rescue [https://twitter.com/KH_CatClub] where I adopted my awesome Cuculla from <3)



Saturday, 27 February 2021

Hook updated to dump and load xml settings

The hook has now been updated to dump the xml values from the exe into the mods\Settings directory when it is first run.


On subsequent runs the xml values are loaded in to the exe before it is started.

So you can now change all the xml values without needing to change your base install or run the patch.

As the files are loaded into fixed memory areas in the exe you must not exceed the original length of the file. You can usually remove some comments etc if you need extra space after your changes.  The hook will warn you if you have exceeded the original length and not load the xml in.

Tuesday, 23 February 2021

Adding mod support

So it turned out that someone had already run my toolset and published updated textures to Nexus Mods (Sharp Corners of the Earth). This is good as it allows me to concentrate on what I was going to do next.

Which is...

Adding support for DCoTE to Nexus Mods mod manager Vortex :)


So I've created a DCoTE game extension for Vortex which installs the Sharp Corners of the Earth texture mod into a mods directory inside your game install. Vortex does this by downloading the mod zip, extracting it to its own staging directory and then creating symlinks to the files into your games mods directory. This makes it really easy to enable and disable mods at will.

This was all great but of course the CocMainWin32.exe wasn't going to go looking in that mods directory for mods.

Something I'd been planning on doing for a long time is looking into hooking into CocMainWin32.exe so that I can then modify things at runtime instead of patching the exe up front. And to get the game to look for mod files I can use the same method to hook into it's file opens and decide to open the mod file or the games original file.

So that's what DCoTEHook is all about. Hooking into the games file opens so that it can pick up the symlink files that Vortex has put in the mods directory. This can work without Vortex of course if anyone is interested in trying it whilst I polish up the Vortex game extension for release.

Maybe I can get it to load in the xml settings section in the game from an external file in the future.