Пліткі · bei.pm
Файлы фармата, апісаныя на гэтай старонцы, заснаваны на тэхнічным аналізе інтэлектуальнай уласнасці Dynamix, Inc. і Sierra Entertainment.
Інтэлектуальная ўласнасць сёння з'яўляецца часткай актываў Activision Publishing, Inc. / Activision Blizzard, Inc. і ў дадзены момант належыць Microsoft Corp..
Інфармацыя была сабрана праз Reverse Engineering і даныя аналізу з мэтай архівацыі і ўзаемадзеяння з гістарычнымі данымі.
Не былі выкарыстаны ніякія ўласніцкія або канфідэнцыйныя спецыфікацыі.
Гульню можна набыць у якасці загрузкі на 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 тайлсетаў,
называемых "крыніцамі" (well0000.bmp
да well0012.bmp
),
якія знаходзяцца ў аб'ёме maps.vol.
Тайлсеты / Крыніцы ўключаюць у сябе наступнае:
Імя файла | Змястоўнасць |
---|---|
well0000.bmp | Графіка памерам 32x32px, сіняга колеру - ідэальна падыходзіць для тэсту работы вашага загружальніка малюнкаў |
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 | Утрымлівае палярныя капы карты з светлымі парадамі як падмуркам |
Рэкамендуецца для дакладнага выканання не рэндарыць тайлы загадзя, каб іх кэшаваць, бо даныя для цыклу дзень/ноч яшчэ трэба апрацаваць - і будзе з'яўляцца вельмі шмат даных.
Тайлы - гэта графікі з глыбінёй колеру 8 біт на піксель з індэксаванай палітрай памерам 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) | Версія / Сцягі? | Тут можа існаваць указанне версіі фармату файла; у ўсіх файлах, якія ў мяне ёсць, стаяў значэнне |
0x000c | uint(32) | Шырыня (Гарызантальная разрозненаць) | Указвае, наколькі шырокі файл выявы (у пікселях). Для ўсіх ям Outpost 2 тут варта чакаць значэнне |
0x0010 | uint(32) | Вышыня (Вертыкальная дазвол) | Указвае, наколькі высокая графічная файл (у пікселях). У ўсіх крыніцах з Outpost 2 тут варта чакаць значэнне |
0x0014 | uint(32) | Глыбіня колеру? | Значэнне гэтага значэння невядома. Паколькі ён у ўсіх правераных файлах утрымлівае значэнне |
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-бітмэпвы, адпавядае індэксу колеру ў каляровай палітры.
Гульнявая рухавічка малюе тайлы *імаверна* па запыце.
Гэта, між іншым, звязана з цыклам дня і ночы, які ведае 32 адцення асобных тайлаў. Пры гэтым, відавочна, адзначаецца, што ад значэння яркасці 'трошкі' аднімецца. Дакладныя значэнні пакуль не ўдалося ўстанавіць, я працую на аснове разлікаў
v *= (daylight / 48) + 0.25;
з выкарыстаннем HSV-даных пікселяў, дзе daylight — гэта значэнне ад 0 да 31, а v — значэнне ад 0 да 1. Таксама варта ўлічваць, што на мапе з кожнага боку існуе край з 16 тайлаў (які служыць для незразумелага спавнавання юнітаў).
Дадаткова, здаецца, што цыкл дня і ночы за адзін гульнявы цыкл абнаўляе толькі адну калонку мапы.
Паскораны цыкл дня і ночы выглядае так: