Animasi · bei.pm
Bentuk fail yang diterangkan di halaman ini berdasarkan analisis teknikal harta intelek daripada Dynamix, Inc. dan Sierra Entertainment.
Harta intelek ini kini adalah sebahagian daripada aset Activision Publishing, Inc. / Activision Blizzard, Inc. dan kini dimiliki oleh Microsoft Corp..
Informasi ini telah dikumpulkan melalui Rekayasa Balik dan Analisis Data untuk tujuan pengarsipan dan interoperabiliti dengan data sejarah.
Tiada spesifikasi proprietari atau rahsia yang digunakan.
Permainan ini kini boleh dibeli sebagai muat turun di gog.com.
Sekarang kita masuk ke kelas utama disiplin dalam format data Outpost 2:
Animasi.
Senarai animasi dimulakan dengan header global yang berfungsi terutamanya untuk pengesahan data. Seterusnya adalah definisi animasi yang terperinci, yang dibahagikan kepada 3 tahap:
-
Animasi
Satu animasi adalah instans tertinggi; ia menggambarkan animasi bagi satu unit, bangunan, atau 'animasi partikel' (kejadian meteor, cuaca, letupan) dalam keadaan tertentu. -
Frame
Satu frame adalah satu gambar dalam satu animasi. Satu animasi boleh mengandungi satu atau lebih frame. -
Subframe
Satu subframe adalah maklumat yang menunjukkan bahawa bitmap tertentu harus dilukis pada posisi tertentu dalam satu frame berdasarkan kriteria tertentu. Satu frame boleh mengandungi satu atau lebih subframe.
Seterusnya adalah definisi animasi yang spesifik.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | watak | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Jenis Data | Nama | Penjelasan |
---|---|---|---|
0x0000 | uint(32) | Jumlah animasi | Berapa banyak rekod animasi yang terdapat |
0x0004 | uint(32) | Bilangan Bingkai | Berapa banyak bingkai yang sepatutnya ada secara keseluruhan |
0x0008 | uint(32) | Bilangan Subframe | Berapa banyak subframe yang seharusnya ada secara keseluruhan |
0x000c | uint(32) | Bilangan entri pilihan | Berapa banyak "entri pilihan" yang ada. |
Animasi
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | watak | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Jenis Data | Nama | Penjelasan |
---|---|---|---|
0x0000 | uint(32) | Tidak dikenali 1 | Maklumat Tidak Dikenali |
0x0004 | uint(32) | Kotak Pembatas: Kiri | Menunjukkan awal kiri (dalam piksel) bagi Bounding Box. |
0x0008 | uint(32) | Kotak Pembatas: Atas | Memberikan permulaan atas (dalam pixel) bagi Bounding Box. |
0x000c | uint(32) | Kotak Pembatas: Lebar | Memberi lebar (dalam Piksel) bagi Bounding Box. |
0x0010 | uint(32) | Kotak Pembatas: Tinggi | Menunjukkan tinggi (dalam Piksel) Bounding Box. |
0x0014 | uint(32) | Offset: X | Menunjukkan titik tengah mendatar animasi |
0x0018 | uint(32) | Offset: Y | Menunjukkan tengah vertikal animasi |
0x001c | uint(32) | Tidak Dikenali 2 | Maklumat Tidak Dikenali |
0x0020 | uint(32) | Bilangan Bingkai | Menunjukkan berapa banyak bingkai animasi yang terdapat dalam animasi ini |
0x0024 | uint(32) | Bilangan Tingkap | Nyatakan berapa banyak tingkap yang perlu digunakan semasa melukis |
Data daripada lapisan teratas, animasi, adalah terutamanya data pengurusan - Boundingbox merujuk kepada koordinat tanda di sekitar kenderaan/bangunan, apabila ia dipilih dan juga menunjukkan kawasan yang boleh diklik.
Offset menentukan terutamanya "titik null"; titik yang perlu diselaraskan atau ditolak daripada koordinat dalaman permainan. Kita juga boleh katakan secara matematik: offset merujuk kepada asal koordinat di sini.
Bagi tingkap, sama seperti offset, terdapat 4 nilai uint(32) bagi setiap tingkap, yang menunjukkan kawasan yang boleh digunakan untuk subframe tertentu. Di luar tingkap, sepanjang ia diperuntukkan untuk bitmap, tidak boleh dilukis.
Rangka
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | watak | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Jenis Data | Nama | Penjelasan |
---|---|---|---|
0x0000 | uint(8) | Bilangan subframe dan toggle untuk Pilihan 1, 2 | Nilai ini mengandungi:
|
0x0001 | uint(8) | Tidak Dikenal 1 dan Toggle untuk Pilihan 3, 4 | Nilai ini mengandungi:
|
0x0002 | uint(8) | Pilihan 1 | Tidak Dikenali |
0x0003 | uint(8) | Pilihan 2 | Tidak Dikenali |
0x0004 | uint(8) | Pilihan 3 | Tidak Dikenali |
0x0005 | uint(8) | Pilihan 4 | Tidak Dikenali |
Subframe
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | watak | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Jenis Data | Nama | Penjelasan |
---|---|---|---|
0x0000 | uint(16) | Bitmap-Id | Nyatakan bitmap mana yang harus digunakan untuk subframe ini |
0x0002 | uint(8) | Tidak dikenali 1 | Tidak diketahui - tetapi saya sangat mengesyaki bahawa ini berkaitan dengan keutamaan render (Z-Layer). |
0x0003 | uint(8) | Id Subframe | Nyatakan dalam subframe mana kita berada |
0x0004 | sint(16) | Offset - Mendatar | Nyatakan di mana dalam bingkai subbingkai harus diletakkan, atau berapa banyak piksel bitmap perlu dipindahkan secara mendatar |
0x0006 | sint(16) | Offset - Vertikal | Nyatakan di mana dalam bingkai subbingkai harus diletakkan, atau berapa banyak piksel bitmap harus dipindahkan secara menegak. |
Dengan ini, kita kini boleh menggabungkan bingkai individu serta animasi lengkap, di sini sebagai contoh pada animasi yang lebih kompleks, animasi dengan indeks 500, didemonstrasikan
Animasi 500
Animasi 500 menunjukkan bagaimana sebuah Plymouth-transport yang dipenuhi dengan bahan mentah biasa sedang dibongkar. Ini adalah salah satu dari sedikit animasi yang menggunakan fungsi pengendalian tetingkap.
Dan dengan itu, animasi lengkap dapat disatukan.
Malangnya, masih ada masalah dengan pintu muatan atas, kerana bit yang berkaitan dalam maklumat jenis grafik tidak ditetapkan.
Sini ada beberapa sprite lain yang dianimasikan dengan indah dari permainan: