/*! \page PFPFileVersion3 Format PFP-Files Version 3 Ein PFP-File in der Version 3 ist in mehrere aufeinanderfolgende Abschnitte aufgeteilt: - 24 Byte langer Header - optionaler 8-Byte langer Komprimierungsheader - Chunks Alle 4-Byte Größenangaben sind im LittleEndian-Format! \par Header Der Header einer Version 3 Datei sieht so aus: \code Byte 0: String "PFP-File" 8 Bytes Byte 8: PFP-File-Version (3) 1 Byte Byte 9: Länge des PFP-Header (24) 1 Byte Byte 10: File-ID, 4 Byte-String 4 Byte Byte 14: Unterversion 1 Byte Byte 15: Hauptversion 1 Byte Byte 16: Komprimierung 1 Byte 0=unkomprimiert 1=Zlib 2=Bzip2 Byte 17: reserviert 3 Byte Byte 20: Timestamp der Erstellung (UTC) 4 Byte \endcode Im Anschluss an den Header folgen die Nutzdaten. Sofern keine Komprimierung verwendet wurde, geht es sofort mit dem ersten Chunk los. Ist die Datei komprimiert folgt erst der Komprimierungsheader: \par Komprimierungsheader \code Byte 0: Größe der Nutzdaten unkomprimiert in Byte 4 Byte Byte 4: Größe der Nutzdaten komprimiert in Byte 4 Byte \endcode \par Chunks In einem PFP-File können beliebig viele Chunks vorkommen. Ein Chunk besteht immer aus einem 4-Byte langen Namen, gefolgt von einem 4-Byte Integer, der die Größe des Chunks einschließlich des Headers angibt, gefolgt von den Nutzdaten. Abgesehen von den unten aufgeführten vordefinierten Chunks, können beliebig viele Chunks mit gleichem Namen vorhanden sein. Ein Chunk muss nicht zwingend Nutzdaten enthalten. \code Byte 0: Chunkname, 4 Byte-String in Grossbuchstaben 4 Byte Byte 4: Größe des Chunks einschließlich 8-Byte Header 4 Byte Byte 8: Nutzdaten des Chunks \endcode \par Vordefinierte Chunks Die nachfolgenden Chunks sind vordefiniert, aber optional