Animácie · bei.pm
Formáty súborov popísané na tejto stránke sú založené na technickej analýze duševného vlastníctva od Dynamix, Inc. a Sierra Entertainment.
Duševné vlastníctvo je dnes súčasťou majetku Activision Publishing, Inc. / Activision Blizzard, Inc. a aktuálne ho vlastní Microsoft Corp..
Informácie boli zhromaždené prostredníctvom analýzy spätnej inžinierie a analýzy dát za účelom archivácie a interoperability s historickými dátami.
Neboli použité žiadne proprietárne alebo dôverné špecifikácie.
Hra je momentálne dostupná na zakúpenie ako download na gog.com.
Teraz prechádzame na kráľovskú triedu disciplín v rámci formátov dát Outpost 2:
Na animácie.
Zoznamy animácií začínajú globálnym hlavičkovým riadkom, ktorý primárne slúži na overenie dát. Následne nasledujú konkrétne definície animácií, ktoré sú rozdelené do 3 úrovní:
-
Animácia
Animácia je najvyššia inštancia; predstavuje animáciu jednotky, budovy alebo 'časticovej animácie' (náraz kométy, počasie, výbuch) v určitej počiatočnej situácii. -
Frame
Frame je jednotlivý obrázok v rámci animácie. Animácia môže obsahovať jeden alebo viac frame-ov. -
Subframe
Subframe je informácia o tom, že určité bitmapy by sa mali za určitých kritérií nakresliť na konkrétne miesto frame-u. Frame môže obsahovať jeden alebo viac subframe-ov.
Následne už nasledujú jednotlivé definície animácií.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Počet animácií | Koľko animovaných dátových záznamov je k dispozícii |
0x0004 | uint(32) | Počet snímok | |
0x0008 | uint(32) | Počet subrámcov | Koľko subrámcov by malo byť celkovo k dispozícii |
0x000c | uint(32) | Počet voliteľných položiek | Koľko "voliteľných položiek" je k dispozícii. |
Animácia
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(32) | Neznáme 1 | Neznáme informácie |
0x0004 | uint(32) | Ohraničujúci rámec: Ľavá strana | Určuje ľavý začiatok (v pixeloch) obdĺžnikovej oblasti. |
0x0008 | uint(32) | Ohraničujúca krabica: Hore | Určuje horný začiatok (v pixeloch) Bounding Box. |
0x000c | uint(32) | Ohraničujúci rám: Šírka | Udáva šírku (v pixeloch) Bounding Box. |
0x0010 | uint(32) | Ohraničujúca krabica: výška | Uvádza výšku (v pixeloch) obmedzujúcej krabice. |
0x0014 | uint(32) | Offset: X | Udáva horizontálny stred animácie |
0x0018 | uint(32) | Offset: Y | Určuje vertikálny stred animácie |
0x001c | uint(32) | Neznáme 2 | Neznáme informácie |
0x0020 | uint(32) | Počet snímok | Uvedie, koľko animačných snímok je obsiahnutých v tejto animácii |
0x0024 | uint(32) | Počet okien | Uvádza, koľko okien sa má použiť pri kreslení |
Údaje najvyššej vrstvy, animácie, sú predovšetkým administratívne údaje - Boundingbox označuje súradnice značky okolo vozidla/budovy, kedy je vybrané a zároveň udáva, ktorá oblasť by mala byť klikateľná.
Offset primárne určuje "nulový bod"; bod, na ktorý sa majú vypočítať či odpočítať herné interné súradnice. Mohli by sme to tiež povedať matematicky: offset tu označuje súradnicový pôvod.
Windows sa, rovnako ako offset, skladajú z 4 uint(32) hodnôt pre každé okno, ktoré určujú oblasť, ktorá je považovaná za použiteľnú pre jednotlivé subrámce. Mimo windows sa nesmie, pokým to nie je vhodne určené pre bitmapu, kresliť.
Rám
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(8) | Počet subrámov a prepínač pre voliteľné 1, 2 | Táto hodnota obsahuje:
|
0x0001 | uint(8) | Neznáme 1 a prepínač pre voliteľné 3, 4 | Tento hodnot obsahuje:
|
0x0002 | uint(8) | Voliteľné 1 | Neznáme |
0x0003 | uint(8) | Voliteľné 2 | Neznáme |
0x0004 | uint(8) | Voliteľné 3 | Neznáme |
0x0005 | uint(8) | Voliteľné 4 | Neznáme |
Subrám
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | znaky | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Posun | Typ dát | Názov | Vysvetlenie |
---|---|---|---|
0x0000 | uint(16) | Bitmap-Id | Určuje, ktorá bitmapa má byť použitá pre tento podrámec |
0x0002 | uint(8) | Neznáme 1 | Je to neznáme - avšak silne predpokladám, že ide o prioritu renderovania (Z-vrstvu). |
0x0003 | uint(8) | Subframe-Id | Uvádza, v ktorom subrame sa nachádzame |
0x0004 | sint(16) | Offset - Horizontálne | Určuje, kde v rámci rámčeka by sa malo umiestniť subrámček, teda o koľko pixelov by sa mala bitmapa posunúť horizontálne. |
0x0006 | sint(16) | Offset - Vertikálne | Určuje, kde v rámci rámca má byť subrámec umiestnený, resp. o koľko pixelov má byť bitmapa vertikálne posunutá |
Týmto môžeme teraz jednotlivé rámce, ako aj kompletné animácie, zodpovedajúcim spôsobom skombinovať, čo je demonštrované na príklade zložitejšej animácie s indexom 500.
Animácia 500
Animácia 500 ukazuje, ako sa vykladá Plymouth-transportér naložený bežným orechom. Ide o jednu z mála animácií, ktoré využívajú funkciu okien.
Takto je možné zložiť celú animáciu.
Žiaľ, stále existuje problém s horným nakladacím otvorom, pretože v informáciách o type grafiky nie je nastavený príslušný bit.
Tu je niekoľko ďalších nádherne animovaných spriteov zo hry: