SpellForce PAK: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 84: Line 84:




[[Category:Complete WIP|Spellforce PAK]]
[[Category:Complete Almost Done|SpellForce PAK]]
[[Category:Platform PC|Spellforce PAK]]
[[Category:Platform PC|SpellForce PAK]]
[[Category:CE None|Spellforce PAK]]
[[Category:CE None|SpellForce PAK]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Extension_pak | Extension: pak]]
[[Category:Extension_pak | Extension: pak]]
[[Category:File Format]]
[[Category:File Format]]

Revision as of 20:03, 27 October 2022

Choose archive extension:

PAK

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : MASSIVE PAKFILE V 4.0


Format Specifications

// SpellForce 1 (PC) PAK file format

// little endian


// header (92 bytes in total)
4 bytes (uint32) - version number  // 4
24 bytes (char) - signature  // "MASSIVE PAKFILE V 4.0\r\n\0"
48 bytes (12 * uint32) - unknown values
4 bytes (uint32) - number of files
4 bytes (uint32) - root index
4 bytes (uint32) - data start offset
4 bytes (uint32) - archive size



// directory  (16 bytes per entry)
number_of_files *
{
   4 bytes (uint32) - file size
   4 bytes (uint32) - file offset (relative to data_start_offset)
   4 bytes (uint32) - filename offset (relative to name_list_offset_start)
   4 bytes (uint32) - directory offset (relative to name_list_offset_start)
}



// name list
2 bytes (uint16) - name list hash?
number_of_entries *
{
   x bytes (char) - filename or directory name  // all strings are reversed
   1 byte (uint8) - null terminator
}


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


x bytes - padding

Games

List of games using this format:

  • SpellForce: The Order of Dawn (PC) (*.PAK)
  • SpellForce: The Breath of Winter (PC) (*.PAK)
  • SpellForce: Shadow of The Phoenix (PC) (*.PAK)

QuickBMS Script

Compatible Programs

See Also