Animációk · bei.pm
A ezen az oldalon leírt fájlformátumok a Dynamix, Inc. és a Sierra Entertainment szellemi tulajdonának technikai elemzésén alapulnak.
A szellemi tulajdon ma az Activision Publishing, Inc. / Activision Blizzard, Inc. tömeg részét képezi, és jelenleg a Microsoft Corp. birtokában van.
Az információkat fordított mérnöki munka és adatok elemzése révén gyűjtötték össze az archíválás és a történelmi adatokkal való interoperabilitás céljából.
Semmilyen tulajdonjoggal védett vagy bizalmas specifikációt nem használtak.
A játék jelenleg a gog.com oldalon vásárolható meg letöltésként.
Most már a legmagasabb szintű diszciplínákra térünk át az Outpost 2 adatformátumok között:
Az animációkra.
Az animációs listák egy globális fejlécsel kezdődnek, amely elsődlegesen az adatok ellenőrzésére szolgál. Ezt követik a konkrét animációs definíciók, amelyek 3 szintre oszlanak:
-
Animáció
Egy animáció a legfelsőbb szint; egy egység, egy épület vagy egy 'reszkető animáció' (üstökös becsapódás, időjárás, robbanás) animációját ábrázolja egy adott kiindulási helyzetben. -
Kép
Egy kép egyetlen kép az animáción belül. Egy animáció tartalmazhat egy vagy több képet. -
Alkép
Egy alkép az információ arról, hogy egy adott bitmapot bizonyos kritériumok alapján egy adott helyre kell rajzolni egy képen. Egy kép tartalmazhat egy vagy több alképet.
Ezt követően közvetlenül az egyes animációs definíciók következnek.
Cím | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Eltolás | Adattípus | Megnevezés | Magyarázat |
---|---|---|---|
0x0000 | uint(32) | Animációk száma | Hány animációs adatrekord áll rendelkezésre |
0x0004 | uint(32) | Keretek száma | Összesen hány keretnek kellene lennie |
0x0008 | uint(32) | Alsubframek száma | Hány subframe-nek kellene összesen lennie |
0x000c | uint(32) | Opcionális bejegyzések száma | Hány "opcionális bejegyzés" található. |
Animáció
Cím | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Eltolás | Adattípus | Megnevezés | Magyarázat |
---|---|---|---|
0x0000 | uint(32) | Ismeretlen 1 | Ismeretlen információk |
0x0004 | uint(32) | Határoló doboz: Balra | Megadja a Bounding Box bal széle (pixelekben). |
0x0008 | uint(32) | Határoló doboz: Felül | Megadja a Bounding Box felső kezdetét (pixelben). |
0x000c | uint(32) | Határoló doboz: Szélesség | Megadja a Bounding Box szélességét (pixelekben). |
0x0010 | uint(32) | Határoló doboz: Magasság | Megadja a Bounding Box magasságát (pixelben). |
0x0014 | uint(32) | Eltolás: X | Megadja az animáció vízszintes középpontját |
0x0018 | uint(32) | Elmozdulás: Y | Megadja az animáció függőleges középpontját |
0x001c | uint(32) | Ismeretlen 2 | Ismeretlen információ |
0x0020 | uint(32) | Keretek száma | Megadja, hány animációs keret található ebben az animációban |
0x0024 | uint(32) | A Windows-ok száma | Megadja, hogy hány ablakot kell alkalmazni a rajzoláshoz |
A legfelső réteg, az animáció adatai elsősorban adminisztrációs adatok - a Boundingbox a jármű/épület körüli jelölés koordinátáit jelöli, mikor az ki van választva, és egyúttal azt is megadja, hogy melyik terület legyen kattintható.
Az offset elsősorban a "nullpontot" határozza meg; azt a pontot, amelyet a játékbeli koordinátákhoz hozzá kell adni, vagy el kell vonni. Matematikai értelemben az offset itt a koordináták eredetét jelenti.
A windows esetében, akárcsak az offsetnél, minden egyes (ablak) 4 uint(32) értéket tartalmaz, amelyek egy területet határoznak meg, ami egyes alkeretek számára felhasználható. Az ablakokon kívül, ha azt a bitmap megfelelően megengedi, nem szabad rajzolni.
Keretszerkezet
Cím | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Eltolás | Adattípus | Megnevezés | Magyarázat |
---|---|---|---|
0x0000 | uint(8) | Alvázszám és Toggle az Opció 1, 2-hez | Ez az érték a következőket tartalmazza:
|
0x0001 | uint(8) | Ismeretlen 1 és Toggle az Opcionális 3, 4-hez. | Ez az érték a következőket tartalmazza:
|
0x0002 | uint(8) | Opcionális 1 | Ismeretlen |
0x0003 | uint(8) | Opcionális 2 | Ismeretlen |
0x0004 | uint(8) | Opcionális 3 | Ismeretlen |
0x0005 | uint(8) | Opcionális 4 | Ismeretlen |
Alváz
Cím | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Eltolás | Adattípus | Megnevezés | Magyarázat |
---|---|---|---|
0x0000 | uint(16) | Bitmap-azonosító | Meghatározza, hogy melyik bitmapot kell használni ehhez az alframe-hez |
0x0002 | uint(8) | Ismeretlen 1 | Ismeretlen - de erősen gyanítom, hogy ez egy renderelő prioritásról (Z-Layer) van szó. |
0x0003 | uint(8) | Alváz-azonosító | Megadja, hogy melyik alkeretben vagyunk |
0x0004 | sint(16) | Eltolás - Horizontális | Megadja, hogy a kereten belül hol kell elhelyezni az alkeretet, illetve hogy hány pixellel kell vízszintesen eltolni a bitképet. |
0x0006 | sint(16) | Offset - Vertikális | Megadja, hogy a kereten belül hol helyezkedjen el a szubkeret, illetve hogy hány pixellel kell függőlegesen eltolni a bitképet. |
Ezzel most már egyes kereteket, valamint teljes animációkat is össze tudunk állítani, itt egy összetettebb animáció példáján, az 500 indexű animáción demonstrálva
Animáció 500
A 500-as animáció bemutatja, hogyan ürítik ki a Plymouth teherautót, amelyet hagyományos érccel rakodtak meg. Ez az egyik kevés animáció, amely kihasználja az ablakkezelési funkciót.
Így a teljes animáció összerakható.
Sajnos van még egy probléma a felső rakodónyílással, mivel itt a megfelelő bit nincs beállítva a grafikai típus információjában.
Itt van még néhány gyönyörűen animált sprite a játékból: