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.

Friday, 15 May 2020

More texturing

Well how time has flown but still there are things to be done!

So I now have a 2080ti so it's back to the texture upscaling.
Here are a couple of examples of the upscaled de-noised textures.
Blood splat
Smoke
Character skin
I'm hoping to get a first release ready for people to beta test within the next couple of weeks.


Monday, 17 September 2018

The power of machine learning

I really should be working on other things right now but I'm having a play with some machine learning.
(I've now shrunk the images as you can click on them to see them larger)

This is certainly bigger...

And this is 10x the size...

Small textures...

Four times bigger textures...

And it looks good before...
 But this is promising...

Copper before


Copper after

(In game screenshots taken at 4k)

Tuesday, 15 May 2018

Checking for models

Just as a quick diversion from work I thought I'd look at the .naf files again and see if there was any way to get the models out.
The only real way to do this without knowing the format is to use process monitor from sysinternals to track the read access to the file and then dump it out to be processed.

So we end up with this kind of file where we can see the offsets that are being read from the file and the lengths that are being read. In this way we can work out the things like reads that are lengths of what to read next.


 So then writing some code to parse this file into something useful and look for these length values we end up with output like this.


The big lengths are what we are interested in here and you can see for example a length of 236,900 and 2 reads before it a potential length value of 11,845. If you divide 236,900 by 11,845 you get 20 exactly which suggests that this is 20 byte values repeated 11,845 times. 20 bytes would be 5 lots of 4 byte values. This could potentially be vertices and texture coordinates.

The 42 then 1 then 349680 are the dds files and you can see them increment as they go along.

Texture tool chain

Just a quick update to include a page for the texture roundtrip tool chain here: texture toolchain