Введение · 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.

Форматы данных, используемые в Outpost 2, имеют структуру, напоминающую JFIF / PNG - каждый блок данных всегда имеет заголовок размером 8 байт. Поэтому я не буду документировать отдельные заголовки в соответствующих специфических местах, а буду фиксировать только отклонения.

Формат всегда следующий; фактические полезные данные встроены в него:

Адр x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF симв.
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Смещение Тип данных Наименование Объяснение
0x0000 uint(32) Магические байты

Содержит информацию о том, что ожидается в следующем блоке данных.

Известные значения:

  • 0x204C4F56 ('VOL '):
    Объем
  • 0x686C6F76 ('VOLH'):
    Заголовок объема
  • 0x736C6F76 ('VOLS'):
    Строки объема
  • 0x696C6F76 ('VOLI'):
    Информация об объеме
  • 0x4B4C4256 ('BLCK'):
    Блок объема
  • 0x504D4250 ('PBMP'):
    Графические данные
  • 0x4C415050 ('PPAL'):
    Цветовая палитра
  • 0x4C415043 ('CPAL'):
    Контейнер цветовых палитр
  • 0x64616568 ('head'):
    Заголовок
  • 0x61746164 ('data'):
    Пользовательские данные
0x0004 uint(24) Длина блока

Содержит информацию о том, насколько велик (в байтах) следующий блок данных.

При этом имеется в виду только полезная нагрузка - 8 байтов заголовка в это не входят.

0x0007 uint(8) Флаги?

Неизвестно, для чего именно предназначен этот блок.

В объемах это значение часто равно 0x80, в других файлах - часто 0x00. Это свидетельствует о том, что это набор флагов.