Анимации · bei.pm
Форматите на датотеки опишани на оваа страница се базирани на техничката анализа на интелектуалната сопственост на Dynamix, Inc. и Sierra Entertainment.
Интелектуалната сопственост денес е дел од Activision Publishing, Inc. / Activision Blizzard, Inc. и моментално е во сопственост на Microsoft Corp..
Информациите се собрани преку обратен инжинеринг и анализа на податоци со цел архивирање и интероперабилност со историски податоци.
Не се користени никакви сопствени или доверливи спецификации.
Играчката може моментално да се купи како преземање на gog.com.
Сега преминуваме кон кралската класа на дисциплините во форматите на податоци на Outpost 2:
Анимациите.
Листите на анимациите започнуваат со глобален хедер, кој служи главно за верификација на податоците. По тоа следат конкретните дефиниции на анимациите, кои се делат на 3 нивоа:
-
Анимација
Анимацијата е највисоката инстанца; таа претставува анимација на единица, зграда или 'партилска анимација' (удар на комета, време, експлозија) во одредена почетна позиција. -
Фрејм
Фрејмот е едно единствено слика во рамките на анимацијата. Анимацијата може да содржи еден или повеќе фрејмови. -
Субфрејм
Субфрејмот е информација дека одреден битмап треба да се нацрта на одредена позиција на фрејмот под одредени критериуми. Еден фрејм може да содржи еден или повеќе субфрејмови.
Потоа следат директно индивидуалните дефиниции на анимациите.
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Офсет | Тип на податоци | Ознака | Објаснување |
---|---|---|---|
0x0000 | uint(32) | Број на анимации | Колку анимациски податоци се достапни |
0x0004 | uint(32) | Број на фреймови | Колку фрејмови во целина треба да бидат присутни |
0x0008 | uint(32) | Број на подфреймови | Колку вкупно подрамки треба да постојат |
0x000c | uint(32) | Број на опционални влезови | Колку "опционални записи" постојат. |
Анимација
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Офсет | Тип на податоци | Ознака | Објаснување |
---|---|---|---|
0x0000 | uint(32) | Непознат 1 | Непознати информации |
0x0004 | uint(32) | Ограничувачки Кутии: Леви | Дава лев почеток (во пиксели) на Bounding Box. |
0x0008 | uint(32) | Обрачна Кутија: Горен | Ги дава горните почетоци (во пиксели) на Bounding Box. |
0x000c | uint(32) | Граница: Ширина | Ги дава ширината (во пиксели) на Bounding Box. |
0x0010 | uint(32) | Ограничувачки Кут: Висина | Дава висина (во пиксели) на Bounding Box. |
0x0014 | uint(32) | Офсет: X | Ги дава хоризонталниот центар на анимацијата |
0x0018 | uint(32) | Отстапување: Y | Ги дава вертикалниот центар на анимацијата |
0x001c | uint(32) | Непознато 2 | Непозната информација |
0x0020 | uint(32) | Број на фреймови | Посочува колку анимациски рамки се содржат во оваа анимација |
0x0024 | uint(32) | Број на прозорци | Посочува колку прозорци треба да се применат при цртање |
Податоците од најгорниот слој, анимацијата, се првенствено управни податоци - Boundingbox означува координати на ознаката околу возилото/зграда, кога истото е избрано и истовремено укажува на тоа кој дел треба да биде кликабилен.
Офсетот првенствено го определува "нултиот пункт"; точка која треба да се одземе или да се додаде на координатите во играта. Може да се каже и математички: офсетот овде го означува координатниот извор.
Во прозорците, како и кај офсетот, има по 4 uint(32) вредности за секој прозорец, кои означуваат област која важи за поединечни субфреймови. Надвор од прозорците не смее да се црта, освен ако не е предвидено за битмапа.
Рамка
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Офсет | Тип на податоци | Ознака | Објаснување |
---|---|---|---|
0x0000 | uint(8) | Број на субрамки и премини за Опционално 1, 2 | Оваа вредност содржи:
|
0x0001 | uint(8) | Непознато 1 и Тогл за Опционално 3, 4 | Оваа вредност содржи:
|
0x0002 | uint(8) | Опционално 1 | Непознато |
0x0003 | uint(8) | Опционално 2 | Непознато |
0x0004 | uint(8) | Опционално 3 | Непознато |
0x0005 | uint(8) | Опционално 4 | Непознато |
Подфрем
Адреса | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | симболи | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Офсет | Тип на податоци | Ознака | Објаснување |
---|---|---|---|
0x0000 | uint(16) | Bitmap-ИД | Посочува која слика (Bitmap) ќе се користи за овој подрамка |
0x0002 | uint(8) | Непознат 1 | Не е познато - но силно сум убеден дека станува збор за приоритет на рендерирање (Z-слој). |
0x0003 | uint(8) | Субрамка-ИД | Посочува во кој подрамка се наоѓаме |
0x0004 | sint(16) | Офсет - Хоризонтален | Покажува каде во рамката треба да се смести субрамката, односно за колку пиксели треба да се помести битмапот хоризонтално. |
0x0006 | sint(16) | Офсет - Вертикален | Означува каде во рамката треба да биде поставено потрамката, односно за колку пиксели треба да биде вертикално поместена битмапот. |
На тој начин можеме да составиме поединечни фрејмови, како и целосни анимации, тука ќе покажеме на пример на една покомплексна анимација, анимацијата со индексот 500.
Анимација 500
Анимација 500 прикажува како се празни Plymouth-товарникот, кој е натоварен со обично руда. Станува збор за една од малкуте анимации кои ја користат функционалноста на прозорците.
И така, целата анимација може да се состави.
За жал, постои уште еден проблем со горната товарна врата, бидејќи
соодветниот бит во информациите за типот на графиката не е поставен.
Еве уште неколку, прекрасно анимирани спрајтови од играта: