Objemy · bei.pm
Formáty súborov popísané na tejto stránke sú založené na technickej analýze duševného vlastníctva od Dynamix, Inc. a Sierra Entertainment.
Duševné vlastníctvo je dnes súčasťou majetku Activision Publishing, Inc. / Activision Blizzard, Inc. a aktuálne ho vlastní Microsoft Corp..
Informácie boli zhromaždené prostredníctvom analýzy spätnej inžinierie a analýzy dát za účelom archivácie a interoperability s historickými dátami.
Neboli použité žiadne proprietárne alebo dôverné špecifikácie.
Hra je momentálne dostupná na zakúpenie ako download na gog.com.
Volume sú dátové kontajnery pre hru, podobné archívovému formátu, ako napríklad Tarball. V Outpost 2 tento formát pozná iba súbory - žiadne priečinky. Zrejme by sa však dali simulovať pomocou príslušných názvov súborov.
Volume sa skladá z hlavičky volume a viacerých blokov volume, ktoré zodpovedajú konkrétnym súborom.
"Volumes" sú súbory s príponou 'vol'
v hernom adresári.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Magické bajty | |
0x0004 | uint(24) | Dĺžka bloku | |
0x0007 | uint(8) | Zástavy |
Hlavička objemu
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Magické bajty | |
0x0004 | uint(24) | Dĺžka bloku | |
0x0007 | uint(8) | Zástavy |
Objemový hlavička neobsahuje žiadne užitočné údaje.
Slúži iba ako kontajner.
V prvom dátume v objemovej hlavičke by sa mali nachádzať objemové reťazce; za nimi nasledujú objemové informácie.
Objemové reťazce
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Magické bajty | |
0x0004 | uint(24) | Dĺžka bloku | |
0x0007 | uint(8) | Zástavy |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Magické bajty | |
0x0004 | uint(24) | Dĺžka bloku | |
0x0007 | uint(8) | Zástavy | |
0x0008 | uint(32) | Dĺžka payloadu | Uvádza, koľko bajtov z nasledujúcich údajov sú skutočne užitočné dáta. Ostatné, zostávajúce údaje zo zoznamu Volume-Strings sú zjavne považované za odpad. V súboroch s neskorším dátumom sú tieto 'zostávajúce údaje' 0x00, čo by mohlo naznačovať nedostatky v nástrojoch počas vývoja hry, inými slovami, že sa až veľmi neskoro vývojár zaoberal správnou inicializáciou bufferov, pretože nemá vplyv na hru, či sú údaje inicializované alebo nie. |
0x000c | uint(8)[] | Zoznam názvov súborov | Toto je zoznam názvov súborov ukončený 0-bajtom, ktorý - aspoň vo predloženom dátovom bloku - očakáva len znaky ASCII. Nie je potrebné pri parsovaní dát tento dátový blok podrobnejšie vyhodnocovať, pretože v informáciách o zväzku sú priamo odkazované offsety názvov súborov. |
Volume reťazce predstavujú zoznam názvov súborov, ktoré sú obsiahnuté v objeme.
Informácie o objeme
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Magické bajty | |
0x0004 | uint(24) | Dĺžka bloku | |
0x0007 | uint(8) | Zástavy |
Informácie o Volume obsahujú podrobnejšie údaje o súboroch. Ide v istom zmysle o akýsi záznam v adresári FAT (FAT = File Allocation Table)
Počet súborov sa určuje ako veľkosť bloku delená dlžkou záznamov v adresári - 14 bajtov.
Každý jednotlivý záznam v adresári má nasledujúcu štruktúru:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Offset názvu súboru | Uvádza, na akom offsete (!) v zozname názvov súborov (Volume-Strings) sa nachádza názov súboru. Odkazuje pritom na začiatok bloku používateľských dát. |
0x0004 | uint(32) | Offset súboru | Uvedie, na ktorom offsete v rámci celej objemovej súborovej štruktúry sa súbor nachádza. |
0x0008 | uint(32) | Veľkosť súboru | Uvádza, aká veľká je súbor v bajtoch. |
0x000c | uint(16) | Zástavy? | Zdá sa, že poskytuje ďalšie informácie o kódovaní súborov.
|
Objemový blok
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Magické bajty | |
0x0004 | uint(24) | Dĺžka bloku | |
0x0007 | uint(8) | Zástavy |
Objemový blok je kontajner, ktorý uchováva súbory. Obsahuje iba znova - z dôvodu bloku formátu - redundatne veľkosť súboru a po nej nasledujú priamo údaje.