Karolar · bei.pm

Yayınlanma tarihi 19.11.2015·Güncellendiği tarih: 13.02.2025·Türkçe
Bu metin, OpenAI GPT-4o Mini tarafından otomatik olarak çevrilmiştir.

Bu sayfada tanımlanan dosya formatları, Dynamix, Inc. ve Sierra Entertainment tarafından yapılan teknik analizlere dayanmaktadır.
Bugün fikri mülkiyet, Activision Publishing, Inc. / Activision Blizzard, Inc. grubunun bir parçasıdır ve şu anda Microsoft Corp. tarafından sahiptir.

Bilgiler, arşivleme ve tarihsel verilerle birlikte çalışabilirlik amacıyla ters mühendislik ve veri analizi yoluyla derlenmiştir.
Hiçbir özel veya gizli spesifikasyon kullanılmamıştır.

Oyun şu anda gog.com üzerinden indirme olarak satın alınabilir.

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Kaydırma Veri Türü Tanım Açıklama
0x0000 uint(32) Sihirli Baytlar
0x0004 uint(24) Blok Uzunluğu
0x0007 uint(8) Bayraklar

Tiles, Outpost-2'ye özgü bir Bitmap grafik formatıdır. 13 Tileset'e yayılmaktadır, "well" olarak adlandırılan (well0000.bmp ile well0012.bmp), maps.vol dosyasının içinde bulunmaktadır.

Tilesetler / Wells aşağıdakileri içermektedir:

Dosya Adı İçerik
well0000.bmp 32x32px boyutunda, mavi bir grafik - kendi görüntü yükleyicinizin çalışıp çalışmadığını test etmek için ideal
well0001.bmp Açık renkli taş, açık renkli taş üzerindeki sıradağlar ve açık renkli taşta sayısız krater varyasyonu içerir
well0002.bmp Açık renkli taş üzerindeki 'Doodads' - yani, açık renkli taşta yerleştirilebilecek, boşluk oluşturmak (veya kasıtlı olarak yapı, örneğin duvarlar) için tasarlanmış unsurlar, ayrıca bitki örtüsü de içerir
well0003.bmp Açık renkli taşta kabuk benzeri bir yapı içerir
well0004.bmp Koyu renkli taş, koyu renkli taş üzerindeki sıradağlar ve koyu renkli taşta sayısız krater varyasyonu içerir
well0005.bmp Koyu renkli taş üzerindeki 'Doodads' - yani, koyu renkli taşta yerleştirilebilecek, boşluk oluşturmak (veya kasıtlı olarak yapı, örneğin duvarlar) için tasarlanmış unsurlar içerir
well0006.bmp Koyu renkli taşta kabuk benzeri bir yapı ve açık ile koyu renkli taş arasında geçişler içerir
well0007.bmp Lava içerir ve her biri 4-5 kare animasyona sahiptir
well0008.bmp Kum ve kumda sayısız krater varyasyonu içerir
well0009.bmp Kum üzerindeki 'Doodads' - yani, kumda yerleştirilebilecek, boşluk oluşturmak (veya kasıtlı olarak yapı, örneğin duvarlar) için tasarlanmış unsurlar içerir
well0010.bmp Açık ve koyu taş arasında 48 geçiş içerir
well0011.bmp Haritanın kutup bölgelerini içerir, koyu taş zemin olarak kullanılır
well0012.bmp Haritanın kutup bölgelerini içerir, açık taş zemin olarak kullanılır

Verimli bir uygulama için, verilerin henüz işlenmesi gerektiğinden ve çok fazla veri oluşacağından, karoların önceden render edilip önbelleğe alınmaması tavsiye edilir.

Karolar, her biri 32x32 piksel çözünürlüğünde endeksli paletle 8bpp grafiklerdir ve birbirlerinin üzerine yerleştirilmiştir. Ancak, böyle oluşan bir karo setinde çok daha fazlası olabilir.

Ana konteyner, head ve data olmak üzere 2 bölümden oluşmaktadır.

Karolar Başlığı

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Kaydırma Veri Türü Tanım Açıklama
0x0000 uint(32) Sihirli Baytlar
0x0004 uint(24) Blok Uzunluğu
0x0007 uint(8) Bayraklar
0x0008 uint(32) Sürüm / Bayraklar?

Burası dosya formatının bir versiyon numarası olabilir; elimdeki tüm dosyalarda burada 0x02 değeri vardı.

0x000c uint(32) Genişlik (Yatay Çözünürlük)

Görüntü dosyasının genişliğini (piksel cinsinden) belirtir.

Outpost 2'deki tüm Wells için burada değer 0x20 veya 32 olarak beklenmelidir.

0x0010 uint(32) Yükseklik (Dikey Çözünürlük)

Görüntü dosyasının yüksekliğini belirtir (piksel cinsinden).

Outpost 2'deki tüm kuyularda burada 0x20 veya 32 değeri beklenmelidir.

0x0014 uint(32) Renk derinliği?

Bu değerin önemi bilinmemektedir.

Tüm kontrol edilen dosyalarda 8 değerini içerdiğinden, bu bir renk derinliği belirtimi olabilir.

0x0018 uint(32) Renk derinliği 2?

Bu değerin önemi bilinmiyor.

Muhtemelen bir 'hedef' renk derinliği ile ilgilidir.

Bu bilgilerin ardından, standartlaştırılmış RIFF formatında bir palet dosyası sunulacaktır. Tam spesifikasyon, paletlerin başka yerlerde de ortaya çıkması nedeniyle Paletler altında bulunmaktadır.

Karolar Verisi

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Kaydırma Veri Türü Tanım Açıklama
0x0000 uint(32) Sihirli Baytlar
0x0004 uint(24) Blok Uzunluğu
0x0007 uint(8) Bayraklar

Sonunda, soldan yukarıdan sağa aşağıya doğru satır satır piksel verileri geliyor.
Genelde 8bpp bitmap olarak bulunan grafiklerdeki veri değeri, renk paletindeki rengin indeksine karşılık gelir.

Piksel verileri soldan yukarıdan başlar ve sağda aşağıda biter.

Oyun motoru, karoları *muhtemelen* talep üzerine çiziyor.
Bu, 32 farklı karonun bulunduğu gün-gece döngüsüne bağlı gibi görünüyor. Görünüşe göre, her seferinde parlaklık değerinden 'biraz' düşülüyor. Kesin değerler henüz belirlenemedi, hesaplama temeli üzerinde çalışıyorum.

v *= (daylight / 48) + 0.25;

Piksellerin HSV verileri ile birlikte, burada daylight 0-31 arasında bir değerdir ve v 0-1 arasında bir değerdir. Ayrıca, haritada her iki tarafa da 16 karodan oluşan bir kenar bulunduğunu dikkate almak önemlidir (bu, birimlerin görünmez bir şekilde doğmasını sağlamak için gereklidir).

Ayrıca, gün-gece döngüsü her oyun döngüsünde haritanın yalnızca bir sütununu güncellemektedir.
İleriye alınmış bir gün-gece döngüsü şu şekilde görünmektedir:

Gün-gece döngüsünün görselleştirilmesi