Animacijos · bei.pm

Paskelbta 2015 m. 11 mėn. 19 d.·Atnaujinta 13.02.2025·Lietuvių kalba
Šis tekstas buvo automatiškai išverstas naudojant OpenAI GPT-4o Mini.

Šioje svetainėje aprašyti failų formatai remiasi technine Dynamix, Inc. ir Sierra Entertainment intelektualinio turto analize.
Intelektualusis turtas šiuo metu yra Activision Publishing, Inc. / Activision Blizzard, Inc. nuosavybė ir šiuo metu priklauso Microsoft Corp..

Informacija buvo surinkta naudojant atvirkštinį inžineriją ir duomenų analizę archyvavimo ir istorinių duomenų tarpusavio suderinamumo tikslais.
Nebuvo naudojamos jokios nuosavybės ar konfidencialios specifikacijos.

Žaidimą šiuo metu galima įsigyti kaip atsisiuntimą gog.com.

Dabar pereikime prie aukščiausios disciplinos Outpost 2 duomenų formatuose:
Prie animacijų.

Animacijų sąrašai pradedami globaliu antrašte, kuri pirmiausia tarnauja duomenų patvirtinimui. Po to pateikiamos konkrečios animacijų definicijos, kurios skirstomos į 3 lygius:

  1. Animacija
    Animacija yra aukščiausias lygmuo; ji vaizduoja vieneto, pastato ar 'dalelių animacijos' (kometos smūgis, oras, sprogimas) animaciją tam tikroje pradinėje padėtyje.
  2. Rėmas
    Rėmas yra vienas vaizdas animacijoje. Animacija gali apimti vieną ar kelis rėmus.
  3. Podrėmas
    Podrėmas yra informacija apie tai, kad tam tikra bitmap tam tikromis sąlygomis turi būti nupiešta į konkrečią rėmo vietą. Rėmas gali apimti vieną ar kelis podrėmus.

Toliau pateikiamos pačios animacijų definicijos.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF simboliai
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(32) Animacijų skaičius

Kiek animacijų duomenų rinkiniai yra

0x0004 uint(32) Kadrų skaičius

Kiek iš viso turėtų būti rėmelių

0x0008 uint(32) Poddalykiai skaičius

Kiek iš viso subrėžių turėtų būti?

0x000c uint(32) Pasirinktinų įrašų skaičius

Kaip daug "pasirinktinio įrašo" yra.

Animacija

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF simboliai
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(32) Nežinomas 1

Nežinomi duomenys

0x0004 uint(32) Ribų langas: Kairė

Nurodo kairįjį pradžios tašką (pikseliais) Bounding Box.

0x0008 uint(32) Ribinė dėžutė: Viršuje

Nurodo viršutinę pradžią (pikseliais) Bounding Box.

0x000c uint(32) Apribojimo langelis: Plotis

Nurodo Bounding Box plotį (pikseliais).

0x0010 uint(32) Ribojanti dėžutė: aukštis

Nurodo Bounding Box aukštį (pikseliais).

0x0014 uint(32) Offsetas: X

Nurodo horizontalų animacijos centrą

0x0018 uint(32) Ofsetas: Y

Indikuoja vertikalų animacijos centrą

0x001c uint(32) Nežinomas 2

Nežinoma informacija

0x0020 uint(32) Kadrų skaičius

Nurodo, kiek animacijos kadrų yra šioje animacijoje

0x0024 uint(32) Langų skaičius

Nurodo, kiek langų reikia taikyti piešiant

Aukščiausios pakopos, animacijos, duomenys pirmiausia yra administraciniai duomenys - Boundingbox nurodo koordinates, žyminčias transporto priemonės / pastato ribas, kai jis yra pasirinktas, ir taip pat nurodo, kuris plotas turi būti paspaudžiamas.

Ofsetas pirmiausia nustato "nulio tašką"; tašką, kuris turi būti apskaičiuotas pagal žaidimo koordinates arba atimtas. Galima būtų matematiškai pasakyti: ofsetas čia nurodo koordinačių pradžią.

Langai, kaip ir ofsetas, sudaryti iš 4 uint(32) reikšmių (kiekvienam langui), kuriomis nurodomas plotas, laikomas tinkamu atskiriems subframe'ams. Uždaroje langų zonoje, jei tai yra skirta bitmap'ui, nereikia piešti.

Rėmas

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF simboliai
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(8) Subrėžimo skaičius ir perjungiklis Pasirinktam 1, 2

Ši vertė apima:

  • 0x7F (Bitų masyvas): Pateiktų subrėžinių skaičius šiame rėmelyje
  • 0x80: Informacija apie tai, ar yra Pasirinktiniai 1 ir 2
0x0001 uint(8) Nežinomas 1 ir perjungiklis pasirinktinai 3, 4

Ši vertė apima:

  • 0x7F (Bitų kaukė): Nežinoma - Tikiuosi, kad tai yra žaidimo žingsnių skaičius, kuris praeina, kol bus rodomas kitas kadras
  • 0x80: Informacija apie tai, ar yra Pasirinktiniai 3 ir 4
0x0002 uint(8) Pasirinktinai 1

Nežinomas

0x0003 uint(8) Pasirinktinai 2

Nežinomas

0x0004 uint(8) Pasirinktinai 3

Nežinomas

0x0005 uint(8) Pasirinktinė 4

Nežinomas

Podrėžis

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF simboliai
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(16) Bitmap-ID

Nurodo, kuri bitmapė turi būti naudojama šiam subrėžiui

0x0002 uint(8) Nežinomas 1

Yra nežinoma - tačiau aš stipriai įtariu, kad tai yra renderingo prioritetas (Z-lapis).

0x0003 uint(8) Subrėmelio ID

Nurodo, kuriame subrėžinyje mes esame

0x0004 sint(16) Offset - Horizontalus

Nurodo, kur viduje rėmelio turi būti įterptas subrėmelis, arba kiek pikselių bitmap turi būti horizontaliai perkeltas

0x0006 sint(16) Offset - Vertikalus

Nurodo, kur viduje rėmelio turi būti įdėtas subrėmelis, arba kiek pikselių bitmape turi būti vertikaliai perkelta.

Dabar galime sudėti atskirus kadrus, taip pat ir visas animacijas, čia pavyzdžiui, demonstruojama kompleksiškesnė animacija su indeksu 500

Animacija 500

Animacija 500 rodo, kaip Plymouth furgonas, pilnas įprasto mineralinio vandens, yra iškraunamas. Tai yra viena iš nedaugelio animacijų, kuri naudoja langų funkcionalumą.

Taigi, visa animacija gali būti sujungta.
Dėl viršutinio krovimo angos vis dar yra problema, nes atitinkamas bitas grafikos tipo informacijoje nėra nustatytas.

Štai dar kelios nuostabiai animuotos sprite iš žaidimo:

Animacijos 500 vaizdavimas iliustruotas

Animacija 500 baigtai sujungta

Plymuto pastatų fabrikas

Edeno kosminis uostas

Edeno medicinos centras

SCAT

Plymuto kosminis uostas

Velykinis kiaušinis:
Kalėdų senelis

Velykinis kiaušinis:
Dans Dog