Бітмапи · bei.pm
Описані на цій сторінці формати файлів базуються на технічному аналізі інтелектуальної власності 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) | Тип | Вказує тип зображення. Схоже, що це бітова маска:
|
0x0012 | uint(16) | Палітра | Визначає, яка палітра з файлу PRT має бути використана |
Ця структура даних PRT-файлу вказує на те, як побудовані бітмапи, що використовуються для спрайтів. Ці бітмапи служать окремим елементом, з якого кілька збираються в анімаційний кадр спрайта.
Конкретні зображення даних приховані в
op2_art.BMP в каталозі гри.
Чому цей файл бітмапи має (в основному правильний) заголовок RIFF-бітмапа,
залишається незрозумілим. Ймовірно, Outpost 2 використовує системні API для завантаження графіки,
тимчасово приймаючи цей заголовок і перезаписуючи відповідні, змінні поля.
Піксельні дані в BMP-файлі можна знайти за позначкою Offset + uint32-Offset, який можна знайти в BMP-файлі за адресою 0x000A (RIFF-офсет даних бітмапа) - і вони знову відповідають рядковій структурі зліва направо зверху вниз.
Монохромні графіки 1bpp можуть бути намальовані так, що колір 0 є повністю прозорим, а колір 1 є напівпрозорим чорним/сірим, оскільки монохромні графіки звичайно використовуються для тіней автомобілів і будівель в анімаціях.
Таким чином, можна скласти вже багато графіків.