Known Files:
| file name | sha256 | software |
|---|---|---|
| tdat.pck | 89ab00ef92ffd398fcbd818f9bf40a36f44cc5fdc15753c342e2aa4014158f8b | Theocracy |
| tex.pck | eb015f02ef56d85946fc8e84b04af75cd6d9607be5d59c7a73194cfb2d39aa0c | Theocracy |
File Header:
| offset | size in bytes | description | comment |
|---|---|---|---|
| 0 | 4 | magic number | always 50 48 4c 53 (PHLS) |
| 4 | 4 | offset to the start of the binary data of the first file in this archive |
File Block:
The first file block starts at offset 8, right after the file header.
| offset | size in bytes | description | comment |
|---|---|---|---|
| 0 | 60 | file name | null terminated string, if it's just “..” it means to go up one directory level |
| 60 | 4 | file size | in bytes, if the size is 0x80000000 this file block is a directory entry |
Known Files:
| file name | sha256 | software |
|---|---|---|
| d3merc.pkg | 6fded1c7ed4137611a1b79c42dbc5bfad53ce50b82a50310c8032bab35e2d456 | Descent 3: Mercenary |
| eng_130.pkg | 26cee0051e9483d122d8eb96a4b412b0a452ed90c4cb1291affb3d3a80ec3fa2 | Descent 3: Mercenary |
| ll_130.pkg | d3fa4be44e90a85883b0772b7d97f3e442f5963fc3b9df6e9cc1244831dd8d45 | Descent 3: Mercenary |
| rownoll_130.pkg | 5ff8887269ae6f3eb6ed5ce99df5ecd7c7ef5bb6e35de3a084232b22a1607fd3 | Descent 3: Mercenary |
File Header:
| offset | size in bytes | description | comment |
|---|---|---|---|
| 0 | 4 | magic number | always 47 4b 50 4f (GKPO) |
| 4 | 4 | number of file blocks in archive |
File Block:
The first file block starts at offset 8, right after the file header.
| offset | size in bytes | description | comment |
|---|---|---|---|
| 0 | 4 | directory name length | including null byte |
| 4 | directory name | null terminated string with a trailing backslash, path separator: backslash | |
| 4 | file name length | including null byte | |
| file name | null terminated string | ||
| 4 | file size | in bytes | |
| 8 | unknown | probably some kind of check sum | |
| file data |