Obscure HVP: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(33 intermediate revisions by the same user not shown)
Line 16: Line 16:
// HVP file format
// HVP file format
// Obscure 1 (PC)
// Obscure 1 (PC)
// Big Endian




Line 22: Line 24:
4 bytes (uint32) - archive type  // 196608 - without CRC32 check
4 bytes (uint32) - archive type  // 196608 - without CRC32 check
                                 // 196609 - with CRC32 check
                                 // 196609 - with CRC32 check
4 bytes (uint32) - number of nodes  // 3, 8 etc.
4 bytes (uint32) - number of main level directories
4 bytes (uint32) - number of files and directories
4 bytes (uint32) - number of files and directories
4 bytes (uint32) - number of files
4 bytes (uint32) - number of files
Line 37: Line 39:
{
{
   4 bytes (uint32) - entry size (including this field)
   4 bytes (uint32) - entry size (including this field)
   1 byte (uint8) - entry type indicator (0=dir, 1=file)
   1 byte (uint8) - entry type indicator (0=directory, 1=file)
  4 bytes (uint32) - entry type indicator 2 (0=dir, 1=file)
    
    
   if entry_type == dir:
   if entry_type == directory:
      4 bytes (uint32) - compression flag (always 0 for directories)
       4 bytes (uint32) - number of files/subdirectories in this directory
       4 bytes (uint32) - number of files/subdirectories in this directory
  1 byte (uint8) - directory name length
      4 bytes (uint32) - directory name length
  x bytes (char) - directory name
      x bytes (char) - directory name
   endif
   endif
    
    
   else if entry_type == file:
   else if entry_type == file:
      4 bytes (uint32) - compression flag (0=uncompressed, 1=compressed)
       4 bytes (uint32) - compressed file size
       4 bytes (uint32) - compressed file size
  4 bytes (uint32) - uncompressed file size
      4 bytes (uint32) - uncompressed file size
  4 bytes (uint32) - unknown hash
      4 bytes (uint32) - unknown hash
  4 bytes (uint32) - file offset
      4 bytes (uint32) - file offset
  4 bytes (uint32) - filename length
      4 bytes (uint32) - filename length
  x bytes (char) - filename
      x bytes (char) - filename
   endif
   endif
}
}
Line 60: Line 63:
number_of_files *
number_of_files *
{
{
   x bytes - file data  // compressed with ZLIB
   x bytes - file data  // can be compressed with ZLIB
}
}
</pre>
</pre>
Line 68: Line 71:


* This file format uses '''ZLIB''' compression and '''CRC32''' validation.
* This file format uses '''ZLIB''' compression and '''CRC32''' validation.
* Game validates CRC32 only for header and for directory.
* HVP extension is shortcut for "'''Hydravision PackFile'''".
* HVP extension is shortcut for "'''Hydravision PackFile'''".


=== Games ===  
=== Games ===  
List of games using this file format:
List of games using this file format:
* Obscure (*.HVP) (PC / XBOX)
* ObsCure / Obscure: Learn about Fear (*.HVP) (PC / XBOX)
* Obscure 2 (*.HVP)


=== QuickBMS Script ===  
=== QuickBMS Scripts ===  


Not written yet.
* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/ObsCure/Obscure_HVP_script.bms Obscure_HVP_script.bms]


=== Compatible Programs ===  
=== Compatible Programs ===  
Line 83: Line 86:
* [[Game Extractor|Game Extractor]]
* [[Game Extractor|Game Extractor]]
* [https://forum.xentax.com/download/file.php?id=18860 unHVP]
* [https://forum.xentax.com/download/file.php?id=18860 unHVP]
=== See Also ===
* [[Obscure 2 HVP|Obscure 2 HVP (xentax wiki)]]
<br><br>
<br><br>






[[Category:Complete Almost Done|Obscure HVP]]
[[Category:Complete Complete|Obscure HVP]]
[[Category:Platform PC|Obscure HVP]]
[[Category:Platform PC|Obscure HVP]]
[[Category:CE Compressed|Obscure HVP]]
[[Category:CE Compressed|Obscure HVP]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Extension_hvp | Extension: hvp]]
[[Category:Extension_hvp | Extension: hvp]]
[[Category:BMS_None | BMS: None]]
[[Category:ZLIB compression]]
[[Category:ZLIB compression]]
[[Category:CRC32]]
[[Category:CRC32]]
[[Category:File Format]]
[[Category:File Format]]

Latest revision as of 23:41, 12 December 2022

Choose archive extension:

HVP

  • Format Type : Archive
  • Endian Order : Big Endian
  • Signature : HV PackFile


Format Specifications

// HVP file format
// Obscure 1 (PC)

// Big Endian


// header
12 bytes (char) - signature + null // "HV PackFile"
4 bytes (uint32) - archive type  // 196608 - without CRC32 check
                                 // 196609 - with CRC32 check
4 bytes (uint32) - number of main level directories
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=directory, 1=file)
   
   if entry_type == directory:
       4 bytes (uint32) - compression flag (always 0 for directories)
       4 bytes (uint32) - number of files/subdirectories in this directory
       4 bytes (uint32) - directory name length
       x bytes (char) - directory name
   endif
   
   else if entry_type == file:
       4 bytes (uint32) - compression flag (0=uncompressed, 1=compressed)
       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  // can be compressed with ZLIB
}

Notes and Comments

  • This file format uses ZLIB compression and CRC32 validation.
  • Game validates CRC32 only for header and for directory.
  • HVP extension is shortcut for "Hydravision PackFile".

Games

List of games using this file format:

  • ObsCure / Obscure: Learn about Fear (*.HVP) (PC / XBOX)

QuickBMS Scripts

Compatible Programs

See Also