Das Format eines PPL-Resource Files ist mehr oder weniger der Vorläufer der Version 3 des PFP-File-Formats. Es hat einen eigenen vereinfachten Header (kein PFP-Header), gefolgt von beliebigen Chunks mit Nutzdaten.
Alle Pointer und Größenangaben mit 2 oder mehr Byte sind in Little Endian gespeichert.
- Header
- Der Header ist 9 Byte lang und hat folgenden Aufbau:
Byte 0-5: String "PPLRES" 6 Byte
Byte 6: 0-Byte 1 Byte
Byte 7: Major Version (6) 1 Byte
Byte 8: Minor Version (0) 1 Byte
Byte 9: Start der Chunks
Danach beginnen bereits die Chunks.
- Chunks
Byte 0: Size of Chunk incl. Header 4 Byte
Byte 4: ID of Resource 2 Byte
Byte 6: Size of data uncompressed 4 Byte
Byte 10: Size of data compressed 4 Byte
Byte 14: Compression-Type (0=none, 1=zlib, 2=bzip2) 1 Byte
Byte 15: Offset of Data from Chunk-Start 1 Byte
Byte 16: Name of Resource with 0-Byte n Byte
Byte n: Data
Nach dem letzten Chunk muss ein 4-Byte großer 0-Wert geschrieben werden, der das Ende der Datei markiert.
- Erstellen von Resourcen
- TODO
- Einlesen von Resourcen
- Zum Einlesen von Resourcen-Dateien gibt es die Klasse ppl6::CResource.