Animacijos · bei.pm
Š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:
-
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. -
Rėmas
Rėmas yra vienas vaizdas animacijoje. Animacija gali apimti vieną ar kelis rėmus. -
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:
|
0x0001 | uint(8) | Nežinomas 1 ir perjungiklis pasirinktinai 3, 4 | Ši vertė apima:
|
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: