Legend of Seven Paladins 3D Archive Format
The Legend of Seven Paladins 3D Archive Format is one of the more efficient archives in that it only stores file offsets in the headers, and the file sizes must be calculated from these. It doesn't store filenames.
The file starts with a UINT32LE representing the offset of the first file in the archive. Then comes a UINT32LE representing the offset of the second file, etc. Until a UINT32LE comes along who's value is the same as the file size of the archive. Between these offsets and the actual data of the first file, there is room for hidden data.
The size of a file must be calculated from the offset of the next file minus its own offset.
This archive doesn't store filenames, so it's impossible to determine the file formats of the archived files by looking at the filename extension. Luckily, all file formats of the files in the officially released archives can be determined by looking at the first byte of each file:
|First byte||File format|
|6-bit VGA Palette|
|0x04||Build-engine Map Format|
The following tools are able to work with files in this format.
|Name||Platform||Extract files?||Decompress on extract?||Create new?||Modify?||Compress on insert?||Access hidden data?||Edit metadata?||Notes|
|LOTSPE||Windows/Linux||Yes||N/A||No||No||N/A||No||N/A||Coded in the Fennel language by parlortricks|
|LOTSPP||Windows/Linux||no||N/A||Yes||No||N/A||No||N/A||Coded in the Fennel language by parlortricks|
This file format was reverse engineered by Frenkel. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)