Битмапи · 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 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Офсет Тип данни Надпис Обяснение
0x0000 uint(32) Подравнена ширина

Посочва ширината на пикселовите данни в байтове - тъй като те са подредени по 4-байтови граници.

Така е лесно да се прескочи до определен ред на изображението.

Защо тази стойност се съхранява отделно, въпреки че може да бъде изчислена, не е ясно.
Възможно е да става въпрос за оптимизация на кода за рендериране.

0x0004 uint(32) Офсет

Указва отместването на първия ред в битовата карта

0x0008 uint(32) Височина

Посочва височината на изображението в пиксели

0x000c uint(32) Ширина

Посочва ширината на изображението в пиксели

0x0010 uint(16) Тип

Посочва типа на изображението. Изглежда, че става въпрос за битова маска:

  • 0x04 е зададена, когато става въпрос за 1bpp графика.
  • 0x40 е зададена, когато става въпрос за графика, която трябва да реализира прозоречен режим.
0x0012 uint(16) Палитра

Определя коя палитра от PRT файла да бъде използвана

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

Конкретните изображения се намират в op2_art.BMP в директорията на играта.
Защо този битмап файл разполага с (предимно коректен) RIFF заглавен битмап, е неясно. Вероятно Outpost 2 използва системни API за зареждане на графики, като временно приема този заглавен файл и презаписва съответните вариращи полета.

Пикселните данни в BMP файла се намират на позиция Offset + uint32-Offset, който може да бъде намерен на адрес 0x000A в BMP файла (RIFF-Bитмап данни offset), и отново отговарят на редовното подреждане от горе ляво надясно надолу.

Монохромните 1bpp графики могат да бъдат нарисувани по такъв начин, че цвят 0 да бъде напълно прозрачен, а цвят 1 да е полупрозрачно черно/сиво, тъй като монохромните графики обикновено се използват за сянка на превозни средства и сгради в анимациите.

Така може да се сглобят много графики.

Защитен жилищен модул (Плимут)