Volumes · bei.pm
Die op hierdie bladsy beskryfde lêerformate is gebaseer op die tegniese analise van intellektuele eiendom deur Dynamix, Inc. en Sierra Entertainment.
Die intellektuele eiendom is vandag deel van die Activision Publishing, Inc.- / Activision Blizzard, Inc.-massa en is tans in besit van Microsoft Corp..
Die inligting is saamgestel deur Reverse Engineering en Data-analyse vir die doeleindes van argivering en interoperabiliteit met historiese data.
Geen eiendoms- of vertroulike spesifikasies is gebruik nie.
Die spel kan tans by gog.com as 'n aflaai gekoop word.
Volumes is 'n datakonteiner vir die spel, soortgelyk aan 'n argiefformaat soos byvoorbeeld Tarball. In Outpost 2 ken die formaat egter net lêers - geen vouers nie. Waarskynlik kan hierdie egter deur middel van toepaslike lêernaam gesimuleer word.
'Een Volume bestaan uit die Volume-koptekst sowel as verskeie Volume-blokke wat die spesifieke lêers verteenwoordig.
"Volumes" is die lêers met die uitbreiding 'vol'
in die spelgids.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Magiese Bytes | |
0x0004 | uint(24) | Blok-lengte | |
0x0007 | uint(8) | Vlae |
Volume Kop
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Magiese Bytes | |
0x0004 | uint(24) | Blok-lengte | |
0x0007 | uint(8) | Vlae |
Die Volume-header bevat op sy beurt geen gebruikersdata nie.
Dit dien slegs as 'n houer.
As eerste data in die Volume-header behoort die Volume-stringe te wees; gevolg deur die Volume-inligting.
Volume Strings
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Magiese Bytes | |
0x0004 | uint(24) | Blok-lengte | |
0x0007 | uint(8) | Vlae |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Magiese Bytes | |
0x0004 | uint(24) | Blok-lengte | |
0x0007 | uint(8) | Vlae | |
0x0008 | uint(32) | Payload-lengte | Gee dit aan hoeveel bytes van die volgende data werklik nuttige data is. Die oorblywende data van die volume-stringlys is blykbaar as vullis te beskou. In lêers met 'n latere datum is hierdie 'oorblywende data' 0x00, wat op tekortkominge met die hulpmiddelketting tydens die ontwikkeling van die speletjie kan dui, dit wil sê, dat 'n ontwikkelaar eers baie laat om die korrekte inisialiserings van die buffers gesorg het, omdat dit geen invloed op die speletjie het of die data geïnitialiseer is of nie. |
0x000c | uint(8)[] | Lys van lêername | Hierdie is 'n 0-byte-terminerende lys van lêernames wat - ten minste in die huidige datastuk - slegs ASCII-karakters verwag. Dit is nie nodig om hierdie datablock meer akkuraat te ontleed nie, aangesien die Offsets van die lêernames reeds direk in die Volume-inligting verwys word. |
Die Volume Strings is 'n lys van lêernommers wat binne die volume ingesluit is.
Volume Inligting
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Magiese Bytes | |
0x0004 | uint(24) | Blok-lengte | |
0x0007 | uint(8) | Vlae |
Die Volume-inligting neem meer gedetailleerde inligting oor die lêers op. Dit is op 'n sekere manier 'n tipe FAT-gidsinskrywing (FAT = File Allocation Table)
Die aantal lêers spruit voort uit die blokgrootte gedeel deur die lengte van die gidsinskrywing - 14 Byte.
Die individuele gidsinskrywings het elk die volgende struktuur:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Bestandsnaam-offset | Gee aan by watter offset (!) binne die lêernaamlys (Volume-Strings) die lêernaam van die lêer gevind word. Dit verwys na die begin van die nutdata-blok. |
0x0004 | uint(32) | Lêer-offset | Gee aan op watter offset binne die hele volume-lêer die lêer geleë is. |
0x0008 | uint(32) | Lêergrootte | Gee die grootte van die lêer in bytes aan. |
0x000c | uint(16) | Vlaggies? | Gee dit blykbaar bykomende inligting oor die lêerkodering aan.
|
Volume Blok
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Magiese Bytes | |
0x0004 | uint(24) | Blok-lengte | |
0x0007 | uint(8) | Vlae |
'n Volume-blok is 'n houer wat lêers opneem. Dit bevat net weer - weens die blokformaat - die lêergrootte op 'n redundante manier, en daarna volg die nutdata direk.