Pathologic VFS: Difference between revisions
Jump to navigation
Jump to search
imported>13xforever (→VFS) |
imported>13xforever No edit summary |
||
| Line 42: | Line 42: | ||
=== MultiEx BMS === | === MultiEx BMS === | ||
Not written yet<br><br> | |||
<br> | |||
=== Supported Programs === | |||
* [[Game Extractor|Game Extractor]]<br> | |||
* [http://www.timus.ru/bank/folder.aspx?path=%2fshared%2fgame_res_extrs%2fGUI%2f LP1C Extractor (path_vfs.exe)] (no docs yet, <font color="red">for internal use, so no warranty at all</font>)<br> | |||
== DAT == | |||
* ''' Format Type ''': String encoding <br> | |||
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> | |||
=== Format Specifications === | |||
<tt><b> | |||
==== Structure ==== | |||
: uint32 {4} - Number of records (may be multi-lines, separated by 0x0A) <br> | |||
: byte {X} - Records <br> | |||
==== Record ==== | |||
: uint32 {4} - UID <br> | |||
: byte {X} - Length <br> | |||
: byte {2Y} - String record of ''Length'' 2-byte Unicode characters<br> | |||
<font color="red">NOTE</font>: | |||
: each byte store 7 bits of Length, from LS to MS; | |||
: the end of the Length field is marked with MSb == 0; i.e.: | |||
::: 0x12 = 0.0010010 = 0010010 = record of 18 characters | |||
::: 0xBC 0x02 = 1.0111100 0.0000010 = 00000100111100 = record of 316 chars | |||
</b></tt> | |||
=== MultiEx BMS === | |||
Not written yet<br><br> | Not written yet<br><br> | ||
<br> | <br> | ||
=== Supported Programs === | === Supported Programs === | ||
* [ | * [http://www.timus.ru/bank/folder.aspx?path=%2fshared%2fgame_res_extrs%2f Pathologic text converter (path_txt.exe)] (no docs yet, <font color="red">for internal use, so no warranty at all</font>)<br> | ||
Revision as of 12:01, 23 October 2006
Choose archive extension:
VFS
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
Structure
- Header
- FAT
- Data
- [FAT #2 Header]
- [FAT]
- [Data]
- ...
Header
- char {4} - Header (LP1C)
- uint32 {4} - Number of subdirs
- uint32 {4} - Number of files
FAT
- byte {1} - Filename length
- char {X} - Filename
- uint32 {4} - File Length
- uint32 {4} - File Offset
- uint64 {8} - UID?
Data
- byte {X} - File data
FAT #2 Header
- byte {1} - Next Directory Name length (w/o trailing '/')
- uint32 {4} - UID?
- uint32 {4} - Number of files in that subdir
MultiEx BMS
Not written yet
Supported Programs
- Game Extractor
- LP1C Extractor (path_vfs.exe) (no docs yet, for internal use, so no warranty at all)
DAT
- Format Type : String encoding
- Endian Order : Little Endian
Format Specifications
Structure
- uint32 {4} - Number of records (may be multi-lines, separated by 0x0A)
- byte {X} - Records
Record
- uint32 {4} - UID
- byte {X} - Length
- byte {2Y} - String record of Length 2-byte Unicode characters
NOTE:
- each byte store 7 bits of Length, from LS to MS;
- the end of the Length field is marked with MSb == 0; i.e.:
- 0x12 = 0.0010010 = 0010010 = record of 18 characters
- 0xBC 0x02 = 1.0111100 0.0000010 = 00000100111100 = record of 316 chars
MultiEx BMS
Not written yet
Supported Programs
- Pathologic text converter (path_txt.exe) (no docs yet, for internal use, so no warranty at all)