Запремине · bei.pm
Формати датотека описани на овој страници засновани су на техничкој анализи интелектуалне својине Dynamix, Inc. и Sierra Entertainment.
Интелектуална својина је данас део Activision Publishing, Inc.- / Activision Blizzard, Inc.- имовине и тренутно је у власништву Microsoft Corp..
Информације су прикупљене помоћу Реверзног инжењеринга и анализа података у сврху архивирања и интероперабилности са историјским подацима.
Нису коришћене никакве власничке или поверљиве спецификације.
Iгра се тренутно може купити као преузимање на gog.com.
Запремине су контејнери података за игру, слично архивском формату као што је, на пример, Tarball. Најмање у Outpost 2, формат познаје само датотеке - ниједан фасцикл. Могуće је да су ови фасцикли могли бити симулирани одговарајућим именима датотека.
Запремина се састоји од заглавља запремине и више блока запремине, који одговарају конкретним датотекама.
"Запремине" су датотеке са екстензијом 'vol'
у директоријуму игре.
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Позиција | Тип података | Ознака | Објашњење |
---|---|---|---|
0x0000 | uint(32) | Магични бајтови | |
0x0004 | uint(24) | Дужина блока | |
0x0007 | uint(8) | Заставе |
Наслов запремине
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Позиција | Тип података | Ознака | Објашњење |
---|---|---|---|
0x0000 | uint(32) | Магични бајтови | |
0x0004 | uint(24) | Дужина блока | |
0x0007 | uint(8) | Заставе |
Хедер волумена не садржи никакве корисне податке.
Служи само као контејнер.
Као први податак у хедеру волумена налазе се волумен стрингови; затим следе информације о волумену.
Запремински низови
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Позиција | Тип података | Ознака | Објашњење |
---|---|---|---|
0x0000 | uint(32) | Магични бајтови | |
0x0004 | uint(24) | Дужина блока | |
0x0007 | uint(8) | Заставе |
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Позиција | Тип података | Ознака | Објашњење |
---|---|---|---|
0x0000 | uint(32) | Магични бајтови | |
0x0004 | uint(24) | Дужина блока | |
0x0007 | uint(8) | Заставе | |
0x0008 | uint(32) | Дужина корисног оптерећења | Наведите колико байтова следећих података је заиста корисно. Остали, преостали подаци списка волумен-стрингова очигледно се третирају као отпад. У датотекама са каснијим датумом, ови 'преостали подаци' су 0x00, што може указивати на недостак у алатима током развоја игре, односно да се тек веома касно неки програмер бавио правилном иницијализацијом бафера, јер нема утицаја на саму игру да ли су подаци иницијализовани или не. |
0x000c | uint(8)[] | Листа имена датотека | Ово је списак имена датотека терминованих са 0 бајтова, који - барем у овом саставном делу података - подразумева само ASCII знакове. Није потребно детаљније анализирати овај блок података приликом парсирања, јер се у информацијама о томе директно реферишу офсетови имена датотека. |
Тиме се ради о листи имена фајлова који се налазе унутар волумена.
Информације о томовима
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Позиција | Тип података | Ознака | Објашњење |
---|---|---|---|
0x0000 | uint(32) | Магични бајтови | |
0x0004 | uint(24) | Дужина блока | |
0x0007 | uint(8) | Заставе |
Информације о обиму садрже детаљније информације о датотекама. То је на неки начин слично уносу у FAT директоријум (FAT = Табела расподеле датотека)
Bрој датотека добија се делјењем величине блока са дужином уноса у директоријум - 14 бајтова.
Појединачни уноси у директоријуму имају следећу структуру:
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Позиција | Тип података | Ознака | Објашњење |
---|---|---|---|
0x0000 | uint(32) | Име датотека - офсет | Наведите на који офсет (!) унутар листе имена датотека (Volume-Strings) се налази име датотеке. Ово се односи на почетак блока корисних података. |
0x0004 | uint(32) | Датотечни офсет | Наказује на којем офсету унутар целе Volume датотеке се налази датотека. |
0x0008 | uint(32) | Величина датотеке | Наведите колика је величина датотеке у бајтовима. |
0x000c | uint(16) | Заставе? | Очигледно даје додатне информације о кодирању датотека.
|
Запремински блок
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Позиција | Тип података | Ознака | Објашњење |
---|---|---|---|
0x0000 | uint(32) | Магични бајтови | |
0x0004 | uint(24) | Дужина блока | |
0x0007 | uint(8) | Заставе |
Објекат волумена је контејнер који прима фајлове. Он садржи само једном - због формата блока - редундантно величину фајла, а затим следе одмах корисни подаци.