Плочки · 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.

Адрес x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF символи
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Офсет Тип данни Надпис Обяснение
0x0000 uint(32) Магически байтове
0x0004 uint(24) Дължина на блока
0x0007 uint(8) Флагове

Тиловете представляват специфичен за Outpost-2 bitmap графичен формат. Те обхващат 13 набора от тилове, наречени "well" (well0000.bmp до well0012.bmp), които се намират в обема maps.vol.

Наборите от тилове / well съдържат следното:

Име на файла Съдържание
well0000.bmp Синя графика с размери 32x32 пиксела - идеална за тестване на собствения имидж лоадер
well0001.bmp Съдържа светла скала, планински вериги върху светла скала и безброй варианти на кратери върху светла скала
well0002.bmp Съдържа 'Doodads' от светла скала - елементи, които могат да се поставят за обогатяване (или умишлено като структура, например стени) върху светла скала, включително и растителност
well0003.bmp Съдържа коралова структура върху светла скала
well0004.bmp Съдържа тъмна скала, планински вериги върху тъмна скала и безброй варианти на кратери върху тъмна скала
well0005.bmp Съдържа 'Doodads' от тъмна скала - елементи, които могат да се поставят за обогатяване (или умишлено като структура, например стени) върху тъмна скала
well0006.bmp Съдържа коралова структура върху тъмна скала, както и преходи между светла и тъмна скала
well0007.bmp Съдържа лава, включваща 4-5 кадъра анимация на същата
well0008.bmp Съдържа пясък и безброй варианти на кратери върху пясък
well0009.bmp Съдържа 'Doodads' от пясък - елементи, които могат да се поставят за обогатяване (или умишлено като структура, например стени) върху пясък
well0010.bmp Съдържа 48 прехода от пясък към светла и тъмна скала
well0011.bmp Съдържа полярните шапки на картата, с тъмна скала като основа
well0012.bmp Съдържа полярните шапки на картата, с светла скала като основа

Препоръчително е за точна реализация да не се рендират тайловете предварително, за да се кешират, тъй като данните за цикъла ден/нощ все още трябва да бъдат обработени - и биха възникнали много, много данни.

Тайловете са 8bpp графики с индексирана палитра с размер 32x32 пиксела, които са подредени една под друга. В така създадения тайлсет обаче могат да се съдържат значително повече

Основният контейнер се състои от 2 секции: head и data.

Заглавие на плочките

Адрес x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF символи
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Офсет Тип данни Надпис Обяснение
0x0000 uint(32) Магически байтове
0x0004 uint(24) Дължина на блока
0x0007 uint(8) Флагове
0x0008 uint(32) Версия / Флагове?

Тук може да става въпрос за версия на файловия формат; във всички налични файлове стойността е 0x02

0x000c uint(32) Ширина (Хоризонтално разрешение)

Посочва колко широка е изображенската файл (в пиксели).

При всички кладенци на Outpost 2 тук се очаква стойността 0x20 или 32.

0x0010 uint(32) Височина (Вертикална разделителна способност)

Посочва колко е висок файлът с изображение (в пиксели).

При всички кладенци от Outpost 2 тук се очаква стойността 0x20 или 32.

0x0014 uint(32) Дълбочина на цвета?

Значението на тази стойност е неизвестно.

Тъй като в всички проверени файлове стойността е 8, може да става въпрос за указание за дълбочина на цвета.

0x0018 uint(32) Цвят дълбочина 2?

Значението на тази стойност е неизвестно.

Възможно е да става въпрос за 'цел' - цветова дълбочина.

След тази информация ще последва и файл с палети, представен в стандартизирания формат RIFF. Точната спецификация може да бъде намерена - тъй като палетите се появяват и на други места - под Палети.

Данни за плочките

Адрес x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF символи
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Офсет Тип данни Надпис Обяснение
0x0000 uint(32) Магически байтове
0x0004 uint(24) Дължина на блока
0x0007 uint(8) Флагове

Накрая следват чистите пикселни данни, ред по ред от горе вляво надясно долу.
Данните при графиките, които обикновено са с 8bpp-битмап формат, съответстват на индекса на цвета в цветната палитра.

Pикселните данни започват от горе вляво и завършват долу вдясно.

Игровият енджин вероятно рисува тайловете *въз основа на запитвания*.
Това изглежда е свързано с цикъла ден-нощ, който познава 32 степени на отделните тайлове. Очевидно от стойността на яркостта се отнема 'малко'. Точните стойности все още не могат да бъдат установени, работя на основата на изчисленията

v *= (daylight / 48) + 0.25;

с HSV-данните на пикселите, като daylight е стойност от 0-31, а v е стойност между 0-1. Освен това трябва да се има предвид, че на картата съществува и граница от 16 тайла наляво и надясно (която служи за невидимо появяване на единици).

Допълнително, цикълът ден-нощ изглежда актуализира само една колона от картата за всеки игрови цикъл.
Ускореният цикъл ден-нощ изглежда по следния начин:

Визуализация на цикъла ден-нощ