Obscure HVP: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| Line 12: | Line 12: | ||
=== Format Specifications === | === Format Specifications === | ||
< | <div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | ||
<pre> | |||
// HVP file format | |||
uint32 | // Obscure 1 (PC) | ||
uint32 | |||
uint32 | // header | ||
uint32 | 12 bytes (char) - signature + null // "HV PackFile" | ||
4 bytes (uint32) - archive type // 196608 - without CRC check | |||
// 196609 - with CRC check | |||
4 bytes (uint32) - unknown // 3 or 8 | |||
4 bytes (uint32) - number of files and directories | |||
4 bytes (uint32) - number of files | |||
4 bytes (uint32) - directory size | |||
if archive_type == 196609: | |||
4 bytes (uint32) - header CRC32 | |||
4 bytes (uint32) - directory CRC32 | |||
endif | |||
// directory | |||
number_of_entries * | |||
{ | |||
4 bytes (uint32) - entry size (including this field) | |||
1 byte (uint8) - entry type indicator (0=dir, 1=file) | |||
4 bytes (uint32) - entry type indicator 2 (0=dir, 1=file) | |||
if entry_type == dir: | |||
4 bytes (uint32) - number of files/subdirectories in this directory | |||
1 byte (uint8) - directory name length | |||
x bytes (char) - directory name | |||
</ | endif | ||
else if entry_type == file: | |||
4 bytes (uint32) - compressed file size | |||
4 bytes (uint32) - uncompressed file size | |||
4 bytes (uint32) - unknown hash | |||
4 bytes (uint32) - file offset | |||
4 bytes (uint32) - filename length | |||
x bytes (char) - filename | |||
endif | |||
} | |||
// data | |||
number_of_files * | |||
{ | |||
x bytes - file data // compressed with ZLIB | |||
} | |||
</pre> | |||
</div> | |||
=== Notes and Comments === | === Notes and Comments === | ||
Revision as of 21:55, 26 September 2022
Choose archive extension:
HVP
- Format Type : Archive
- Endian Order : Big Endian
- Signature : HV PackFile
Format Specifications
// HVP file format
// Obscure 1 (PC)
// header
12 bytes (char) - signature + null // "HV PackFile"
4 bytes (uint32) - archive type // 196608 - without CRC check
// 196609 - with CRC check
4 bytes (uint32) - unknown // 3 or 8
4 bytes (uint32) - number of files and directories
4 bytes (uint32) - number of files
4 bytes (uint32) - directory size
if archive_type == 196609:
4 bytes (uint32) - header CRC32
4 bytes (uint32) - directory CRC32
endif
// directory
number_of_entries *
{
4 bytes (uint32) - entry size (including this field)
1 byte (uint8) - entry type indicator (0=dir, 1=file)
4 bytes (uint32) - entry type indicator 2 (0=dir, 1=file)
if entry_type == dir:
4 bytes (uint32) - number of files/subdirectories in this directory
1 byte (uint8) - directory name length
x bytes (char) - directory name
endif
else if entry_type == file:
4 bytes (uint32) - compressed file size
4 bytes (uint32) - uncompressed file size
4 bytes (uint32) - unknown hash
4 bytes (uint32) - file offset
4 bytes (uint32) - filename length
x bytes (char) - filename
endif
}
// data
number_of_files *
{
x bytes - file data // compressed with ZLIB
}
Notes and Comments
- This file format uses ZLIB compression and CRC32 validation.
- HVP extension is shortcut for "Hydravision PackFile".
Games
List of games using this file format:
- Obscure (*.HVP) (PC / XBOX)
- Obscure 2 (*.HVP)
QuickBMS Script
Not written yet.
Compatible Programs