Animatsioonid · bei.pm

Avaldatud 19.11.2015·Uuendatud 13.02.2025·Esti keel
See tekst tõlgiti automaatselt OpenAI GPT-4o Mini abil.

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:

  1. Animatsioon
    Animatsioon on kõrgeim tase; see esindab üksuse, hoone või 'osakeste animatsiooni' (koometaari tabamine, ilm, plahvatus) animatsiooni teatud algtingimustes.
  2. Raam
    Raam on üksikud pilt animatsioonis. Animatsioon võib sisaldada ühte või mitut raami.
  3. 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:

  • 0x7F (Bitmask): Alamsalvestuste arv, mida selles raamis kasutatakse
  • 0x80: Teave selle kohta, kas valikulised 1 ja 2 on olemas
0x0001 uint(8) Tundmatu 1 ja lüliti valikulistele 3, 4

See väärtus sisaldab:

  • 0x7F (Bitmask): Tundmatu - Kahtlen tugevalt, et see viitab gametick'ide arvule, mis möödub, kuni järgmine kaader kuvatakse
  • 0x80: Teave selle kohta, kas valikuline 3 ja 4 on olemas
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:

Animatsiooni 500 renderdus illustreeritud

Animatsioon 500 on lõpetatud

Plymouthi hoone-tehas

Edeni kosmoseport

Edeni meditsiinikeskus

SCAT

Plymouthi kosmoseport

Peidetud element:
Jõuluvana

Peidetud element:
Dans Dog