I do know the file is zlib compressed. I also have the following information, translated from a chinese site:
Code: Select all
00000000(10b) D2PACKFILE 0000000A(4b) value 1, unknown purpose 0000000E(1b) decode character, used for zlib, 0xB5 for jTW 0000000F(4b) Pack directory length 00000013 Pack directory, decoded D:\315TWNPACK\TalesWeaverPack 00000030(4b) value 7, number of subdirectories 00000034(4b) value 0, unknown subdirectory 1 00000038(4b) subdirectory length 0000003C subdirectory, decoded D:\315TWNPACK\TalesWeaverPack\3DObject 00000062(4b) total size of files in this subdirectory 00000063 Beginning of block followed by a file... subdirectories 2 through 7, each with the same format as above file block format of subdirectory 1 4byte directory length table of contents, D:\315TWNPACK\TalesWeaverPack\3DObject 4byte value 0, unknown 4byte number of files - file 1 - 4byte filename length - filename, 0000.KFD - 4byte decompressed size (zlib compression) - 4byte compressed size - 4byte unknown - Followed by next file...
My own programming skills are too weak for this task (currently I'm learning how to manipulate a bitmap image - not quite up to par), so I am hoping some kind soul will lend a hand. Note that if the game has not changed in the way it runs, extraction is the only thing necessary, not packing. The configuration files can be altered to read from an external directory.