Томови · bei.pm

Објавено на 19.11.2015·Ажурирано на 13.02.2025·Македонски
Овој текст беше автоматски преведен преку OpenAI GPT-4o Mini.

Форматите на датотеки опишани на оваа страница се базирани на техничката анализа на интелектуалната сопственост на 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) Знамиња?

Очигледно дава дополнителни информации за кодирањето на датотеката.

  • 0x03 е поставено кога датотеката е компресирана. Очигледно тука се користи Хафмановото дрво.
  • 0x80 се чини дека секогаш е поставено.

Обем Блок

Адреса 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) Знамиња

Волумен-блокот е контејнер кој собира фајлови. Тој само повторно - поради форматот на блокот - содржи редундантно големина на фајлот и потоа следат директно корисните податоци.