SpellForce PAK: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| (17 intermediate revisions by the same user not shown) | |||
| Line 12: | Line 12: | ||
=== Format Specifications === | === Format Specifications === | ||
< | <div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | ||
<pre> | |||
char | // SpellForce 1 (PC) PAK file format | ||
uint32 | // little endian | ||
uint32 | |||
uint32 | |||
uint32 | // 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 | |||
</pre> | |||
</div> | |||
=== Games === | === Games === | ||
| Line 46: | Line 67: | ||
* SpellForce: The Breath of Winter (PC) (*.PAK) | * SpellForce: The Breath of Winter (PC) (*.PAK) | ||
* SpellForce: Shadow of The Phoenix (PC) (*.PAK) | * SpellForce: Shadow of The Phoenix (PC) (*.PAK) | ||
=== QuickBMS Script === | |||
* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/SpellForce/SpellForce_PAK_script.bms SpellForce_PAK_script.bms] | |||
=== Compatible Programs === | === Compatible Programs === | ||
| Line 52: | Line 77: | ||
* [[Game Extractor|Game Extractor]]<br> | * [[Game Extractor|Game Extractor]]<br> | ||
* Game Archive UnPacker (GAUP plugin) | * Game Archive UnPacker (GAUP plugin) | ||
* [https://forum.xentax.com/download/file.php?id=14707 SpellForce RE Tool] | |||
=== See Also === | |||
* [https://github.com/wattostudios/GameExtractor/blob/master/src/org/watto/ge/plugin/archive/Plugin_PAK_MASSIVE.java Plugin_PAK_MASSIVE.java] (from Game Extractor source code) | |||
<br><br> | <br><br> | ||
[[Category:Complete Almost Done|SpellForce PAK]] | |||
[[Category:Platform PC|SpellForce PAK]] | |||
[[Category:CE None|SpellForce PAK]] | |||
[[Category:Format_Archive | Type: Archive]] | |||
[[Category:Extension_pak | Extension: pak]] | [[Category:Extension_pak | Extension: pak]] | ||
[[Category:File Format]] | [[Category:File Format]] | ||
Latest 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
- Dragon Unpacker
- Game Extractor
- Game Archive UnPacker (GAUP plugin)
- SpellForce RE Tool
See Also
- Plugin_PAK_MASSIVE.java (from Game Extractor source code)