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.

