Pathologic VFS: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>13xforever
No edit summary
imported>Dinoguy1000
No edit summary
Line 47: Line 47:


* [[Game Extractor|Game Extractor]]<br>
* [[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>
* [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>)
 
== DAT ==
 
* ''' Format Type ''':    String encoding <br>
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
 
 
=== Format Specifications ===
 
<tt><b>
 
==== Structure ====
: uint32 {4}&nbsp;&nbsp; - Number of records (may be multi-lines, separated by 0x0A) <br>
: byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - Records <br>
==== Record ====
: uint32 {4}&nbsp;&nbsp; - UID <br>
: byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - Length <br>
: byte {2Y}&nbsp;&nbsp;&nbsp;&nbsp; - 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>
<br>
=== 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 21:58, 23 October 2006

Choose archive extension:

VFS


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