Анімацыі · bei.pm
Файлы фармата, апісаныя на гэтай старонцы, заснаваны на тэхнічным аналізе інтэлектуальнай уласнасці Dynamix, Inc. і Sierra Entertainment.
Інтэлектуальная ўласнасць сёння з'яўляецца часткай актываў Activision Publishing, Inc. / Activision Blizzard, Inc. і ў дадзены момант належыць Microsoft Corp..
Інфармацыя была сабрана праз Reverse Engineering і даныя аналізу з мэтай архівацыі і ўзаемадзеяння з гістарычнымі данымі.
Не былі выкарыстаны ніякія ўласніцкія або канфідэнцыйныя спецыфікацыі.
Гульню можна набыць у якасці загрузкі на gog.com.
Цяпер мы пераходзім да каралеўскага класа дысцыплінаў у рамках фарматаў даных Outpost 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 | Гэты значэнне ўключае:
|
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) | Id падрамніка | Указвае, у якім субфрейме мы знаходзімся |
0x0004 | sint(16) | Зрушэнне - Гарызантальнае | Указвае, дзе ўнутры фрейма павінна размяшчацца падфрейм, або на колькі пікселяў бітмап павінна быць перасунута гарызантальна. |
0x0006 | sint(16) | Зрушэнне - Вертыкальнае | Указвае, дзе ўнутры фрейма павінна быць размешчана падфрейм, або на колькі пікселяў бітмап павінна быць вертыкальна зрушана |
Такім чынам, мы цяпер можам складаць асобныя фреймы, а таксама поўныя анімацыі, тут прыкладна на больш складанай анімацыі, анімацыі з індэксам 500, дэманструецца
Анімацыя 500
Анімацыя 500 паказвае, як Плімут-транспарцёры, загружаныя звычайным рудам, разгружаюцца. Гэта адна з нямногіх анімацый, якія ўжываюць функцыянальнасць акна.
Такім чынам, можна злучыць усю анімацыю.
На жаль, усё яшчэ існуе праблема з верхнім люкам, бо адпаведны біт у інфармацыі аб графічным тыпе не ўстаноўлены.
А вось яшчэ некалькі іншых, прыгожа анімаваных спрайтаў з гульні: