Jubin · bei.pm

Diterbitkan pada 19/11/2015·Dikemas kini pada 13/02/2025·Malaiisch
Teks ini telah diterjemahkan secara automatik melalui OpenAI GPT-4o Mini.

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.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF watak
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Offset Jenis Data Nama Penjelasan
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Panjang blok
0x0007 uint(8) Bendera

Tile adalah format grafik bitmap yang khusus untuk Outpost-2. Ia terdiri daripada 13 set tile, yang dipanggil "wells" (well0000.bmp hingga well0012.bmp), yang terletak di dalam volume maps.vol.

Set tile / Wells mengandungi yang berikut:

Nama Fail Kandungan
well0000.bmp Grafik biru bersaiz 32x32px - ideal sebagai ujian untuk melihat sama ada pemuat gambar berfungsi
well0001.bmp Mengandungi batuan terang, rangkaian gunung di atas batuan terang dan pelbagai variasi kawah impak dalam batuan terang
well0002.bmp Mengandungi 'Doodads' batuan terang - elemen yang boleh ditempatkan untuk mempercantik (atau secara spesifik sebagai struktur, seperti dinding) di atas batuan terang, termasuk juga vegetasi
well0003.bmp Mengandungi struktur berbentuk kerak di atas batuan terang
well0004.bmp Mengandungi batuan gelap, rangkaian gunung di atas batuan gelap dan pelbagai variasi kawah impak dalam batuan gelap
well0005.bmp Mengandungi 'Doodads' batuan gelap - elemen yang boleh ditempatkan untuk mempercantik (atau secara spesifik sebagai struktur, seperti dinding) di atas batuan gelap
well0006.bmp Mengandungi struktur berbentuk kerak di atas batuan gelap, serta peralihan antara batuan terang dan gelap
well0007.bmp Mengandungi lava termasuk 4-5 bingkai animasi bagi lava tersebut
well0008.bmp Mengandungi pasir dan pelbagai variasi kawah impak dalam pasir
well0009.bmp Mengandungi 'Doodads' pasir - elemen yang boleh ditempatkan untuk mempercantik (atau secara spesifik sebagai struktur, seperti dinding) di atas pasir
well0010.bmp Mengandungi 48 peralihan dari pasir ke batuan terang dan gelap
well0011.bmp Mengandungi kutub peta, dengan batuan gelap sebagai latar
well0012.bmp Mengandungi kutub peta, dengan batuan terang sebagai latar

Adalah disarankan untuk melaksanakan dengan tepat, untuk tidak merender Tiles terlebih dahulu untuk menyimpannya dalam cache, kerana data untuk kitaran siang/malam masih perlu diproses - dan akan menghasilkan banyak data.

Tiles adalah grafik 8bpp dengan palet terindeks dengan resolusi 32x32 piksel, yang disusun secara berurutan. Dalam satu set Tiles yang dihasilkan, boleh terdapat jauh lebih banyak.

Kontainer utama terdiri daripada 2 bahagian: head dan data.

Tajuk Jubin

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF watak
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Jenis Data Nama Penjelasan
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Panjang blok
0x0007 uint(8) Bendera
0x0008 uint(32) Versi / Bendera?

Ini mungkin merujuk kepada penunjuk versi bagi format fail; dalam semua fail yang saya ada, nilai di sini adalah 0x02

0x000c uint(32) Lebar (Resolusi Mendatar)

Menunjukkan seberapa lebar fail gambar itu (dalam piksel).

Untuk semua Wells dari Outpost 2, nilai 0x20 atau 32 dijangka di sini.

0x0010 uint(32) Tinggi (Penyelesaian Vertikal)

Menunjukkan berapa tinggi fail imej tersebut (dalam piksel).

Untuk semua Wells dari Outpost 2, nilai 0x20 atau 32 dijangkakan di sini.

0x0014 uint(32) Kedalaman warna?

Makna nilai ini tidak diketahui.

Oleh kerana ia mengandungi nilai 8 dalam semua fail yang diperiksa, ia mungkin merujuk kepada penunjuk kedalaman warna.

0x0018 uint(32) Kedalaman warna 2?

Makna nilai ini adalah tidak diketahui.

Ia mungkin berkaitan dengan 'kedalaman' warna 'sasaran'.

Setelah maklumat ini, akan ada juga fail palet yang berada dalam format RIFF yang standard. Spesifikasi yang tepat boleh didapati - kerana palet juga muncul di tempat lain - di bawah Palet.

Data Jubin

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF watak
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Offset Jenis Data Nama Penjelasan
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Panjang blok
0x0007 uint(8) Bendera

Akhirnya, data piksel yang jelas mengikuti, dari kiri-atas secara baris ke kanan-bawah.
Nilai data dalam grafik yang biasanya dalam format bitmap 8bpp sepadan dengan indeks warna dalam palet warna.

Data piksel bermula dari atas kiri dan berakhir di bawah kanan.

Enjin permainan ini nampaknya *mungkin* menggambar Tiles secara on-demand.
Ini mungkin disebabkan oleh kitaran siang-malam, yang mempunyai 32 tahap bagi setiap Tile. Nampaknya, nilai kecerahan akan dikurangkan 'sedikit' setiap kali. Nilai yang tepat masih belum dapat ditentukan, saya bekerja berdasarkan pengiraan

v *= (daylight / 48) + 0.25;

dengan data HSV bagi pixel, di mana daylight adalah nilai antara 0-31 dan v adalah nilai antara 0-1. Selain itu, perlu diambil kira bahawa peta juga mempunyai sempadan 16 Tiles di kiri dan kanan (yang berfungsi untuk spawnen unit secara tidak terlihat).

Selain itu, nampaknya kitaran siang-malam hanya mengemas kini satu lajur peta setiap kitaran permainan.
Kitaran siang-malam yang dipercepat adalah seperti berikut:

Visualisasi kitaran siang-malam