Анимације · bei.pm
Формати датотека описани на овој страници засновани су на техничкој анализи интелектуалне својине Dynamix, Inc. и Sierra Entertainment.
Интелектуална својина је данас део Activision Publishing, Inc.- / Activision Blizzard, Inc.- имовине и тренутно је у власништву Microsoft Corp..
Информације су прикупљене помоћу Реверзног инжењеринга и анализа података у сврху архивирања и интероперабилности са историјским подацима.
Нису коришћене никакве власничке или поверљиве спецификације.
Iгра се тренутно може купити као преузимање на 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-ID | Наведите која ће битма бити коришћена за овај подоквир |
0x0002 | uint(8) | Непознато 1 | Није познато - међутим, чини ми се да се ради о приоритету рендеровања (Z-слој). |
0x0003 | uint(8) | Субфрејм-ИД | Наведите у ком субфрейму се налазимо |
0x0004 | sint(16) | Оффсет - Хоризонтално | Наведите где унутар оквира треба да буде постављено подоквир, односно колико пиксела треба да се битма помери хоризонтално. |
0x0006 | sint(16) | Оффсет - Вертикално | Наведите где унутар фрејма треба да буде постављен подфрејм, односно за колико пиксела треба вертикално померити битмап. |
Тако можемо сада саставити појединачне оквире, као и комплетне анимације, овде ћемо то демонстрирати на пример једне сложеније анимације, анимације са индексом 500
Анимација 500
Анимација 500 показује како се Plymouth транспортера, који је оптерећен обичним рудом, истовара. Ово је једна од ретких анимација која користи функционалност прозора.
И тако се комплетна анимација може саставити.
Нажалост, још увек постоји проблем са горњим отвором за учитавање, јер овде одговарајући бит у информацијама о графичком типу није постављен.
Ево још неколико, прелепо анимираних спрајтова из игре: