Animatsioonid · bei.pm
Siin lehel kirjeldatud failiformaadid põhinevad Dynamix, Inc. ja Sierra Entertainment intellektuaalomandi tehnilisel analüüsil.
Intellektuaalne omand kuulub praegu Activision Publishing, Inc.-i / Activision Blizzard, Inc.-i varade hulka ja on praegu Microsoft Corp.-i omandis.
Teave on kogutud tagasipööramise inseneritehnika ja andmeanalüüsi abil, eesmärgiga arhiveerida ja tagada ühilduvus ajalooliste andmetega.
Kasutatud ei ole ühtegi patenteeritud või konfidentsiaalset spetsifikatsiooni.
Mängu saab praegu osta allalaadimiseks gog.com.
Nüüd liigume edasi väljaannete 2 andmeformaatide kuningaklassi:
Animatsioonid.
Animatsioonide loendid algavad globaalsete peadega, mis teenivad peamiselt andmete kontrollimist. Seejärel järgivad konkreetsed animatsiooni määratlemised, mis jagunevad 3 tasandisse:
-
Animatsioon
Animatsioon on kõrgeim tase; see esindab üksuse, hoone või 'osakeste animatsiooni' (koometaari tabamine, ilm, plahvatus) animatsiooni teatud algtingimustes. -
Raam
Raam on üksikud pilt animatsioonis. Animatsioon võib sisaldada ühte või mitut raami. -
Alaraam
Alaraam on teave selle kohta, et teatud bitmap tuleb teatud kriteeriumide alusel joonistada teatud raami positsioonile. Raam võib sisaldada ühte või mitut alaraami.
Seejärel järgivad kohe konkreetsed animatsiooni määratlemised.
Aadress | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | sümbol | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Andmetüüp | Nimi | Selgitus |
---|---|---|---|
0x0000 | uint(32) | Animatsioonide arv | Kui palju animatsioonide andmekogusid on olemas |
0x0004 | uint(32) | Raamide arv | Kui palju raame kokku peaks olema |
0x0008 | uint(32) | Alamraamide arv | Kui palju subraame kokku peaks olema |
0x000c | uint(32) | Valikuliste sisendite arv | Kui palju "valikulisi kandeid" on olemas. |
Animatsioon
Aadress | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | sümbol | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Andmetüüp | Nimi | Selgitus |
---|---|---|---|
0x0000 | uint(32) | Tundmatu 1 | Tundmatud teave |
0x0004 | uint(32) | Piirbox: Vasak | Annab vasaku alguse (pikslites) Bounding Box kohta. |
0x0008 | uint(32) | Piirava kast: Üles | Annab ülemise alguse (pikslites) Bounding Box jaoks. |
0x000c | uint(32) | Piirangute kast: Laius | Annab Bounding Box laiuse (pikslites). |
0x0010 | uint(32) | Piirangute kasti: kõrgus | Annab Bounding Box kõrguse (pikslites). |
0x0014 | uint(32) | Offset: X | Määrab animatsiooni horisontaalse keskpunkti |
0x0018 | uint(32) | Offset: Y | Näitab animatsiooni vertikaalset keskpunkti |
0x001c | uint(32) | Tundmatu 2 | Tundmatu teave |
0x0020 | uint(32) | Raamide arv | Näitab, kui palju animatsiooni kaadreid see animatsioon sisaldab |
0x0024 | uint(32) | Windowside arv | Näitab, kui palju aknaid joonistamisel kasutada tuleb |
Ülemise kihi, animatsiooni, andmed on peamiselt haldusandmed - Boundingbox tähistab siin sõiduki/hoone ümber asuva märgise koordinaate, kui see on valitud, ja näitab samal ajal, milline ala peaks olema klikatav.
Offset määrab peamiselt "nullpunkti"; punkti, mida tuleb mängusiseste koordinaatide pealt arvesse võtta või maha arvestada. Matemaatiliselt öeldes: offset tähistab siin koordinaatide algpunkti.
Aknad koosnevad, nagu ka offset, igaühe kohta (igale aknale) 4 uint(32) väärtusest, mis näitavad ala, mis on kasutatav eraldi subraamide jaoks. Aknadest väljaspool ei tohi, niikaua kui see on bitmapi jaoks ette nähtud, joonistada.
Raam
Aadress | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | sümbol | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Andmetüüp | Nimi | Selgitus |
---|---|---|---|
0x0000 | uint(8) | Subframe'i arv ja lüliti valikuliseks 1, 2 | See väärtus sisaldab:
|
0x0001 | uint(8) | Tundmatu 1 ja lüliti valikulistele 3, 4 | See väärtus sisaldab:
|
0x0002 | uint(8) | Valikuline 1 | Tundmatu |
0x0003 | uint(8) | Valikuline 2 | Tundmatu |
0x0004 | uint(8) | Valikuline 3 | Tundmatu |
0x0005 | uint(8) | Valikuline 4 | Tundmatu |
Alusraam
Aadress | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | sümbol | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Andmetüüp | Nimi | Selgitus |
---|---|---|---|
0x0000 | uint(16) | Bitmap-Id | Osutab, millist bitmap'i selle subraami jaoks kasutada tuleks |
0x0002 | uint(8) | Tundmatu 1 | On tundmatu - siiski kahtlen tugevasti, et see on seotud renderdamise prioriteedi (Z-kihiga) probleemiga. |
0x0003 | uint(8) | Alamraami ID | Osutab, millises alamraamis me oleme |
0x0004 | sint(16) | Horisontaalne nihke | Näitab, kus raami sees subraam paigutada, või kui palju pikslit bitmapi horisontaalselt nihutada. |
0x0006 | sint(16) | Offset - Vertikaalne | Näitab, kus raami sees subraam paigutada, või kui palju pikslit bitmap vertikaalselt nihutada tuleb |
Samuti saame nüüd koostada üksikuid kaadreid ning ka terveid animatsioone, siin näidates näitena keerukamat animatsiooni, animatsiooni indeksiga 500.
Animatsioon 500
Animatsioon 500 näitab, kuidas Plymouthi transportija, mis on tavalise rauaga laaditud, tühjendatakse. See on üks väheseid animaatsioone, mis kasutab akende funktsionaalsust.
Nii saab kokku panna kogu animatsiooni.
Kahjuks on ülemise laadimisluugi osas endiselt probleem, kuna graafikateabe bit ei ole seadistatud.
Siin on veel mõned, kaunilt animatsioonitud spritid mängust: