Animasies · bei.pm
Die op hierdie bladsy beskryfde lêerformate is gebaseer op die tegniese analise van intellektuele eiendom deur Dynamix, Inc. en Sierra Entertainment.
Die intellektuele eiendom is vandag deel van die Activision Publishing, Inc.- / Activision Blizzard, Inc.-massa en is tans in besit van Microsoft Corp..
Die inligting is saamgestel deur Reverse Engineering en Data-analyse vir die doeleindes van argivering en interoperabiliteit met historiese data.
Geen eiendoms- of vertroulike spesifikasies is gebruik nie.
Die spel kan tans by gog.com as 'n aflaai gekoop word.
Kom ons kom by die koninklike klas van dissiplines binne die Outpost 2 dataformate:
Die animasies.
Die animasielyste begin met 'n globale kop wat primêr vir dataverifikasie dien. Daarop volg die konkrete animasiedefinisies wat in 3 vlakke verdeel is:
-
Animatie
'n Animatie is die hoogste instansie; dit stel 'n animasie van 'n eenheid, 'n gebou of 'n 'partikel-animasie' (kometebotsing, weer, ontploffing) in 'n bepaalde uitgangstoestand voor. -
Raam
'n Raam is 'n enkele beeld binne 'n animasie. 'n Animasie kan een of meer rame bevat. -
Subraam
'n Subraam is die inligting dat 'n bepaalde bitmap onder bepaalde kriteria op 'n bepaalde posisie van 'n raam geteken moet word. 'n Raam kan een of meer subrame bevat.
Daarna volg die individuele animasiedefinisies onmiddellik.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Aantal animasies | Hoeveel animasiedatastelle is daar |
0x0004 | uint(32) | Aantal rame | Hoeveel rame daar altesaam teenwoordig behoort te wees |
0x0008 | uint(32) | Aantal subraamwerke | Hoeveel subraamwerke behoort daar in totaal te wees |
0x000c | uint(32) | Aantal opsionele inskrywings | Hoeveel "opsionele inskrywings" is daar. |
Animasie
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(32) | Onbekend 1 | Onbekende inligting |
0x0004 | uint(32) | Grensdoos: Links | Gee die linkerkant begin (in pixel) van die Bounding Box aan. |
0x0008 | uint(32) | Grensdoos: Bo | Gee die boonste begin (in pixels) van die Bounding Box aan. |
0x000c | uint(32) | Begrenzingskas: Breedte | Gee die breedte (in pixels) van die Bounding Box aan. |
0x0010 | uint(32) | Grensdoos: Hoogte | Gee die hoogte (in pixels) van die Bounding Box aan. |
0x0014 | uint(32) | Afwyking: X | Gee die horisontale middelpunt van die animasie aan |
0x0018 | uint(32) | Offset: Y | Gee die vertikale middelpunt van die animasie aan |
0x001c | uint(32) | Onbekend 2 | Onbekende Inligting |
0x0020 | uint(32) | Aantal rame | Gee aan hoeveel animasiekaders in hierdie animasie ingesluit is |
0x0024 | uint(32) | Aantal vensters | Gee dit aan hoeveel vensters toegepas moet word tydens die teken. |
Die data van die boonste laag, die animasie, is hoofsaaklik bestuursdata - die Boundingbox dui die koördinate van die merk rondom die voertuig/gebou aan, as dit gekies is en dui ook terselfdertyd aan watter area klikbaar moet wees.
Die offset bepaal hoofsaaklik die "nulpunt"; die punt wat op spelinterne koördinate bygevoeg of afgetrek moet word. Mens kan ook wiskundig sê: die offset dui hier die koördinaat oorsprong aan.
Die windows is, net soos die offset, elk (per window) 4 uint(32)-waardes, wat 'n area aandui wat as bruikbaar vir individuele subframes beskou word. Buite die windows mag, sover dit vir die bitmap ooreenkomstig bedoel is, nie geteken word nie.
Raam
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(8) | Subraam-aantal en wissel vir Opsioneel 1, 2 | Hierdie waarde bevat:
|
0x0001 | uint(8) | Onbekend 1 en Koppelsak vir Opsioneel 3, 4 | Hierdie waarde bevat:
|
0x0002 | uint(8) | Opsioneel 1 | Onbekend |
0x0003 | uint(8) | Opsioneel 2 | Onbekend |
0x0004 | uint(8) | Opsioneel 3 | Onbekend |
0x0005 | uint(8) | Opsioneel 4 | Onbekend |
Subraam
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Verskuiwing | Data tipe | Benaming | Verklaring |
---|---|---|---|
0x0000 | uint(16) | Bitmap-ID | Gee aan watter Bitmap vir hierdie Subframe gebruik moet word |
0x0002 | uint(8) | Onbekend 1 | Dit is onbekend - ek vermoed egter sterk dat dit 'n weergawe-prioriteit (Z-laag) is. |
0x0003 | uint(8) | Subraam-ID | Gee dit aan in watter subraam ons is |
0x0004 | sint(16) | Afstand - Horisontaal | Gee aan waar binne die raam die subraam geplaas moet word, of met hoeveel pixels die bitmap horisontaal verskuif moet word |
0x0006 | sint(16) | Offset - Vertikaal | Gee aan waar binne die raam die subraam geplaas moet word, of met hoeveel pixels die bitmap vertikaal verskuif moet word |
Hiermee kan ons nou individuele rame sowel as volledige animasies saamstel, hier een keer as 'n voorbeeld aan 'n meer komplekse animasie, die animasie met die indeks 500, demonstreer
Animasie 500
Animasie 500 toon hoe 'n Plymouth-vragmotor, wat met gewone ertse laai, afgelaai word. Dit is een van die min animasies wat die Windowing-funksionaliteit gebruik.
En so kan die volledige animasie saamgestel word.
Helaas is daar steeds 'n probleem met die boonste laai-opening, aangesien die toepaslike bit in die grafiektipe-inligting nie gestel is nie.
Hier is nog 'n paar ander, pragtig geanimeerde sprites uit die speletjie: