Томови · bei.pm
Форматите на датотеки опишани на оваа страница се базирани на техничката анализа на интелектуалната сопственост на Dynamix, Inc. и Sierra Entertainment.
Интелектуалната сопственост денес е дел од Activision Publishing, Inc. / Activision Blizzard, Inc. и моментално е во сопственост на Microsoft Corp..
Информациите се собрани преку обратен инжинеринг и анализа на податоци со цел архивирање и интероперабилност со историски податоци.
Не се користени никакви сопствени или доверливи спецификации.
Играчката може моментално да се купи како преземање на gog.com.
Обемите се податоци контејнер за играта, слично на архивски формат како на пример Tarball. Најмалку во Outpost 2, форматот познава само фајлови - без папки. Веројатно би можеле да се симулираат преку соодветни имиња на фајлови.
Едно Volume се состои од Volume-Header и неколку Volume блокови, кои одговараат на конкретните фајлови.
"Volumes" се фајловите со завршеток '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) | Должина на payload | Кажа колку бајти од следните податоци всушност се корисни податоци. Остаточните податоци од списокот на Volume-Strings очигледно се сметаат за ѓубре. Во датотеки со подоцнежни датуми, овие 'остаточни податоци' се 0x00, што може да укаже на недостатоци во алатките за развој за време на создавањето на играта, односно, дека развивачот се погрижил за правилна инициализација на буферите многу подоцна, бидејќи нема влијание на играта дали податоците се инициализирани или не. |
0x000c | uint(8)[] | Листа на имиња на фајлови | Оваа листа се состои од 0-байт завршени именки на датотеки, кои - барем во овој дел од податоците - очекуваат само ASCII знаци. Не е потребно при парсирањето на податоците да се анализира овој блок на податоци подетално, бидејќи во информациите за волуменот директно се реферира до офсетите на именките на датотеките. |
Во Volume Strings се работи за листата на имиња на датотеки што се вклучени во волуменот.
Информации за волумен
Адреса | 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 = Табела за распределба на фајлови)
Бројот на фајлови се добива од големината на блокот поделена со должината на записите во директориумот - 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) | Знамиња |
Волумен-блокот е контејнер кој собира фајлови. Тој само повторно - поради форматот на блокот - содржи редундантно големина на фајлот и потоа следат директно корисните податоци.