Анімацыі · bei.pm

Апублікавана 19.11.2015·Аднавіна на 13.02.2025·Беларуская мова
Гэты тэкст быў аўтаматычна перакладзены з дапамогай OpenAI GPT-4o Mini.

Файлы фармата, апісаныя на гэтай старонцы, заснаваны на тэхнічным аналізе інтэлектуальнай уласнасці Dynamix, Inc. і Sierra Entertainment.
Інтэлектуальная ўласнасць сёння з'яўляецца часткай актываў Activision Publishing, Inc. / Activision Blizzard, Inc. і ў дадзены момант належыць Microsoft Corp..

Інфармацыя была сабрана праз Reverse Engineering і даныя аналізу з мэтай архівацыі і ўзаемадзеяння з гістарычнымі данымі.
Не былі выкарыстаны ніякія ўласніцкія або канфідэнцыйныя спецыфікацыі.

Гульню можна набыць у якасці загрузкі на gog.com.

Цяпер мы пераходзім да каралеўскага класа дысцыплінаў у рамках фарматаў даных Outpost 2:
Да анімацый.

Спісы анімацый пачынаюцца з глабальнага загалоўка, які служыць пераважна для праверкі даных. Затым ідуць канкрэтныя вызначэнні анімацый, якія падзяляюцца на 3 ўзроўні:

  1. Анімацыя
    Анімацыя — гэта вышэйшая інстанцыя; яна ўяўляе анімацыю адзінкі, будынка ці 'партульнай анімацыі' (удар каметы, надвор'е, выбух) у пэўным пачатковым стане.
  2. Кадр
    Кадр — гэта адзінкавы малюнак у рамках анімацыі. Анімацыя можа ўключаць адзін ці некалькі кадраў.
  3. Падкадр
    Падкадр — гэта інфармацыя пра тое, што пэўная bitmap павінна быць намалявана ў пэўнай пазіцыі кадра па пэўных крытэрах. Кадр можа ўключаць адзін ці некалькі падкадраў.

Затым ідуць ужо непасрэдна асобныя вызначэнні анімацый.

Адр 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-Id

Указвае, якая бітмапа павінна быць выкарыстана для гэтага падфрейма

0x0002 uint(8) Невядомы 1

Невядома - аднак я моцна падазраю, што гэта звязана з прыярытэтам рэндэра (Z-слой).

0x0003 uint(8) Id падрамніка

Указвае, у якім субфрейме мы знаходзімся

0x0004 sint(16) Зрушэнне - Гарызантальнае

Указвае, дзе ўнутры фрейма павінна размяшчацца падфрейм, або на колькі пікселяў бітмап павінна быць перасунута гарызантальна.

0x0006 sint(16) Зрушэнне - Вертыкальнае

Указвае, дзе ўнутры фрейма павінна быць размешчана падфрейм, або на колькі пікселяў бітмап павінна быць вертыкальна зрушана

Такім чынам, мы цяпер можам складаць асобныя фреймы, а таксама поўныя анімацыі, тут прыкладна на больш складанай анімацыі, анімацыі з індэксам 500, дэманструецца

Анімацыя 500

Анімацыя 500 паказвае, як Плімут-транспарцёры, загружаныя звычайным рудам, разгружаюцца. Гэта адна з нямногіх анімацый, якія ўжываюць функцыянальнасць акна.

Такім чынам, можна злучыць усю анімацыю.
На жаль, усё яшчэ існуе праблема з верхнім люкам, бо адпаведны біт у інфармацыі аб графічным тыпе не ўстаноўлены.

А вось яшчэ некалькі іншых, прыгожа анімаваных спрайтаў з гульні:

Рэндарынг анімацыі 500 ілюструе

Анімацыя 500 гатовая да злучэння

Будынак фабрыкі Плімута

Космічны порт Эдэн

Медыцынскі цэнтр Эдэн

SCAT

Космічны порт Плімута

Сакрэт:
Санта-Клаўс

Сакрэт:
Сабака Данса