Анимации · 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.

Сега преминуваме кон кралската класа на дисциплините во форматите на податоци на Outpost 2:
Анимациите.

Листите на анимациите започнуваат со глобален хедер, кој служи главно за верификација на податоците. По тоа следат конкретните дефиниции на анимациите, кои се делат на 3 нивоа:

  1. Анимација
    Анимацијата е највисоката инстанца; таа претставува анимација на единица, зграда или 'партилска анимација' (удар на комета, време, експлозија) во одредена почетна позиција.
  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

Оваа вредност содржи:

  • 0x7F (Бит маска): Бројот на подрамки кои се користат во овој рамка
  • 0x80: Информацијата дали Опционално 1 и 2 се присутни
0x0001 uint(8) Непознато 1 и Тогл за Опционално 3, 4

Оваа вредност содржи:

  • 0x7F (Битмаска): Непознато - Силно претпоставувам дека се работи за бројот на гаметикови што поминуваат, додека не се прикаже следната рамка
  • 0x80: Информација за тоа дали Опционално 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-товарникот, кој е натоварен со обично руда. Станува збор за една од малкуте анимации кои ја користат функционалноста на прозорците.

И така, целата анимација може да се состави.
За жал, постои уште еден проблем со горната товарна врата, бидејќи соодветниот бит во информациите за типот на графиката не е поставен.

Еве уште неколку, прекрасно анимирани спрајтови од играта:

Рендерирање на анимација 500 илустрирано

Анимација 500 завршно составена

Plymouth Зграда-Фабрика

Eden Вселенски Порт

Eden Медицински Центар

SCAT

Plymouth Вселенски Порт

Easteregg:
Дедо Мраз

Easteregg:
Танцувачко куче