EvilEngine/HIP (File Format): Difference between revisions

Content added Content deleted
(minor reorganization/rewording)
m (block names in structure, hip version history)
Line 4: Line 4:


==File Format==
==File Format==
There are three known revisions of the HIP archive format: the first one used in [[:Category:Scooby|Scooby-Doo! Night of 100 Frights]], a second one used in [[:Category:BFBB|SpongeBob SquarePants: Battle For Bikini Bottom]] and a third one which is used in [[:Category:TSSM|The SpongeBob SquarePants Movie]], [[:Category:Incredibles|The Incredibles]] and [[:Category:ROTU|The Incredibles: Rise of the Underminer]].
There are three known revisions of the HIP archive format: the first one used in [[:Category:Scooby|Scooby-Doo! Night of 100 Frights]], a second one used in [[:Category:BFBB|SpongeBob SquarePants: Battle For Bikini Bottom]] and a third one which is used in [[:Category:TSSM|The SpongeBob SquarePants Movie]], [[:Category:Incredibles|The Incredibles]], [[:Category:ROTU|The Incredibles: Rise of the Underminer]] and [[:Category:RatProto|Ratatouille Prototype]].
<pre>
PKR: HIP file version update history
Version 1:
- baseline
Version 2:
- Compatible version support information
- Asset data checksum
- Layer data checksum
- Creation/Modification date
Version 3:
- HIP Layers represent asset memory placement
- Layers are not compacted to reduce waste
- Loading is based on layers (was by asset)
- Added asynchronous loading support
</pre>


===Integers===
===Integers===
Line 27: Line 42:


* [[#HIPA|HIPA]]
* [[#HIPA|HIPA]]
* [[#PACK|PACK]]
* [[#PACK|PACK]] (Package)
** [[#PVER|PVER]]
** [[#PVER|PVER]] (PackageVersion)
** [[#PFLG|PFLG]]
** [[#PFLG|PFLG]] (PackageFlags)
** [[#PCNT|PCNT]]
** [[#PCNT|PCNT]] (PackageCount)
** [[#PCRT|PCRT]]
** [[#PCRT|PCRT]] (PackageCreated)
** [[#PMOD|PMOD]]
** [[#PMOD|PMOD]] (PackageModified)
** [[#PLAT|PLAT]] (Not present in Scooby)
** [[#PLAT|PLAT]] (PackagePlatform) '''[Not present in Scooby]'''
* [[#DICT|DICT]]
* [[#DICT|DICT]] (Dictionary)
** [[#ATOC|ATOC]]
** [[#ATOC|ATOC]] (AssetTableOfContents)
*** [[#AINF|AINF]]
*** [[#AINF|AINF]] (AssetInfo)
*** [[#AHDR|AHDR]]+ (Multiple can be present)
*** [[#AHDR|AHDR]] (AssetHeader) '''[Multiple can be present]'''
**** [[#ADBG|ADBG]]
**** [[#ADBG|ADBG]] (AssetDebug)
** [[#LTOC|LTOC]]
** [[#LTOC|LTOC]] (LayerTableOfContents)
*** [[#LINF|LINF]]
*** [[#LINF|LINF]] (LayerInfo)
*** [[#LHDR|LHDR]]+ (Multiple can be present)
*** [[#LHDR|LHDR]] (LayerHeader) '''[Multiple can be present]'''
**** [[#LDBG|LDBG]]
**** [[#LDBG|LDBG]] (LayerDebug)
* [[#STRM|STRM]]
* [[#STRM|STRM]] (AssetDataStream)
** [[#DHDR|DHDR]]
** [[#DHDR|DHDR]] (AssetDataHeader)
** [[#DPAK|DPAK]]
** [[#DPAK|DPAK]]