Sunday, 26 July 2015

Well that went well

Luckily the textures in the .pc.naf files are all at the end of the file.
They are in a format of texture id, texture length, texture, asterix which is easy to split out and rebuild. I just saved the unknown chunk of data before that into a file and then each texture split out into its own file.

I tried a simple test of the main Arkham plack by increasing the texture size from 512 to 1024 and this is what I got.

So at least a full high resolution version of the game would be possible now if anyone has the time and inclination!

Well this is promising

A quick look through a .pc.naf file shows that where the "DDS" file format marker is for each texture immediately before it is a 32 bit number which is the length of the texture.
This means I may be able to simply split the file up into texture and non-texture chunks and then rebuild with different sized texture chunks and have it all just work.
More than likely though there are other length values or pointers to elsewhere in the file that would need rewriting but at least I have somewhere to start.

A bit more progress

This is the split and join tool chain inside eclipse where I've just split out the pc.xbd files which hold the character skins and bump maps and also I think the vertex data for the models.

Inside the pc.xbd files there are DXT5 textures and also some other files in a simple id, size, content format.
In an improvement over dcotetex I've split these out properly now so that the can be rebuilt properly.
Meaning of course that the texture sizes can change :)

Here's the texture of the player from the Asylum cut scene.

This is usually 512 by 512 but I've resized it to 1024 by 1024 and then simply inverted the colours.
After saving and then rebuilding the new larger texture (also the matching bump map) is now in the game.

I've tried also with a 4096 by 4096 texture for the player and that seemed to run ok also.

So you could do some higher resolution textures now for the main character models :)

The scene textures are in the naf files though which are unfortunately going to be much harder to split out and rebuild.
But we shall see!

Sunday, 12 July 2015

The project appears to not be dead yet!

That there is a subtitle roundtripped from binary to text and back again.
Steps are:
Extract from the .xbd binary file into a binary language chunk.
Extract from the language chunk into xml text.
Modified in a text editor (text can be longer than the original).
Packed back into the language chunk.
Packed back into the .xbd binary.

So if anybody did want to translate the games subtitles into a different language than is originally supported (English, German, French) they would probably be able to do it now :)

Wednesday, 1 July 2015

Running in a window

The original retail game can be run in a window using DxWnd:

This works without configuration on the retail game but doesn't seem to work like that with the Steam version.