Obscure 2 HVP: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 28: Line 28:
{
{
     4 bytes (uint32) - entry name CRC32 value  // e.g 0xB4DABE2 for "jemmy2_pc.zwo" file
     4 bytes (uint32) - entry name CRC32 value  // e.g 0xB4DABE2 for "jemmy2_pc.zwo" file
4 bytes (uint32) - entry type  // 0 - uncompressed file/asset
    4 bytes (uint32) - entry type  // 0 - uncompressed file/asset
                                // 1 - compressed file/asset
                            // 1 - compressed file/asset
// 4 - directory
    // 4 - directory
if ENTRY_TYPE in (0, 1):
    if ENTRY_TYPE in (0, 1):
4 bytes (uint32) - unknown checksum
4 bytes (uint32) - unknown checksum
4 bytes (uint32) - file uncompressed size
4 bytes (uint32) - file uncompressed size
4 bytes (uint32) - file offset
4 bytes (uint32) - file offset
4 bytes (uint32) - file compressed size
4 bytes (uint32) - file compressed size
endif
    endif
if ENTRY_TYPE == 4:
    if ENTRY_TYPE == 4:
4 bytes (uint32) - zero // 0
4 bytes (uint32) - zero // 0
4 bytes (uint32) - zero // 0
4 bytes (uint32) - zero // 0
4 bytes (uint32) - number of sub-entries (files or directories)
4 bytes (uint32) - number of sub-entries (files or directories)
4 bytes (uint32) - index of first sub-entry
4 bytes (uint32) - index of first sub-entry
endif
    endif
}
}


Line 52: Line 52:
number_of_files *
number_of_files *
{
{
x bytes - file data
  x bytes - file data
}
}
</pre>
</pre>

Revision as of 20:32, 12 December 2022

Back to index | Edit this page

HVP

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : 262144 (00 00 04 00)


Format Specifications

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

// little endian


// header
4 bytes (uint32) - signature  //  262144 (00 00 04 00)
4 bytes (uint32) - zero  // 0
4 bytes (uint32) - number of entries in directory
4 bytes (uint32) - directory CRC32


// directory (24 bytes per entry)
number_of_entries *
{
    4 bytes (uint32) - entry name CRC32 value  // e.g 0xB4DABE2 for "jemmy2_pc.zwo" file
    4 bytes (uint32) - entry type   // 0 - uncompressed file/asset
	                            // 1 - compressed file/asset
				    // 4 - directory
	
    if ENTRY_TYPE in (0, 1):
	4 bytes (uint32) - unknown checksum
	4 bytes (uint32) - file uncompressed size
	4 bytes (uint32) - file offset
	4 bytes (uint32) - file compressed size
    endif
	
    if ENTRY_TYPE == 4:
	4 bytes (uint32) - zero // 0
	4 bytes (uint32) - zero // 0
	4 bytes (uint32) - number of sub-entries (files or directories)
	4 bytes (uint32) - index of first sub-entry
    endif
}



// data
number_of_files *
{
   x bytes - file data
}

Notes and Comments

  • Some files are compressed with LZO / LZO1X compression.
  • Entry names are hashed with CRC32 checksum.

Games

List of games using this file format:

  • Obscure II / Obscure: The Aftermath (PC/PS2) (*.HVP)

QuickBMS Script

Not written yet.

Compatible Programs