Animácie · bei.pm

Uverejnené dňa 19. 11. 2015·Aktualizované 13. 02. 2025·Slovenčina
Tento text bol automaticky preložený pomocou OpenAI GPT-4o Mini.

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í:

  1. 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.
  2. Frame
    Frame je jednotlivý obrázok v rámci animácie. Animácia môže obsahovať jeden alebo viac frame-ov.
  3. 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:

  • 0x7F (Bitová maska): Počet subrámcov, ktoré sú použité v tomto rámci
  • 0x80: Informácia o tom, či sú prítomné voliteľné 1 a 2
0x0001 uint(8) Neznáme 1 a prepínač pre voliteľné 3, 4

Tento hodnot obsahuje:

  • 0x7F (bitová maska): Neznáme - Silne predpokladám, že ide o počet herných tickov, ktoré uplynú, kým sa zobrazí ďalší snímok
  • 0x80: Informácia o tom, či sú prítomné voľby 3 a 4
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:

Rendrovanie animácie 500 ilustrované

Animácia 500 je hotová a zložená

Plymouth továreň na budovy

Eden vesmírny prístav

Eden zdravotné centrum

SCAT

Plymouth vesmírny prístav

Easteregg:
Vianočný muž

Easteregg:
Dans pes