タイル · bei.pm
このページに記載されているファイル形式は、Dynamix, Inc. と Sierra Entertainment の知的財産に関する技術分析に基づいています。
この知的財産は現在、Activision Publishing, Inc. / Activision Blizzard, Inc. に属しており、現在は Microsoft Corp. に所有されています。
情報は、アーカイブと歴史的データとの相互運用性を目的とした リバースエンジニアリング と データ分析 によって収集されました。
独自の機密仕様は使用されていません。
現在、このゲームは gog.com でダウンロード購入できます。
アドレス | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | 文字 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 42 | 4d | 50 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | B | M | P | . | . | . | . | . | . | . | . | . | . | . | . |
オフセット | データタイプ | 名称 | 説明 |
---|---|---|---|
0x0000 | uint(32) | マジックバイト | |
0x0004 | uint(24) | ブロック長 | |
0x0007 | uint(8) | 旗 |
タイルはOutpost-2特有のビットマップグラフィックフォーマットです。
それは13のタイルセット、つまり「ウェル」と呼ばれるもので構成されています
(well0000.bmp
からwell0012.bmp
まで)、
これらはmaps.volのボリューム内にあります。
これらのタイルセット/ウェルには次のものが含まれています:
ファイル名 | 内容 |
---|---|
well0000.bmp | 32x32ピクセルの青いグラフィック - 自分のイメージローダーが機能するかのテストに最適 |
well0001.bmp | 明るい岩、明るい岩の山脈、明るい岩にある無数のクレーターのバリエーションを含む |
well0002.bmp | 明るい岩の「ドゥダッツ」を含む - 明るい岩に配置できる要素で、緩和や構造(例:壁)として使用されるもの、植生も含む |
well0003.bmp | 明るい岩の上にある殻のような構造を含む |
well0004.bmp | 暗い岩、暗い岩の山脈、暗い岩にある無数のクレーターのバリエーションを含む |
well0005.bmp | 暗い岩の「ドゥダッツ」を含む - 暗い岩に配置できる要素で、緩和や構造(例:壁)として使用されるもの |
well0006.bmp | 暗い岩の上にある殻のような構造と、明るい岩と暗い岩の間の遷移を含む |
well0007.bmp | 溶岩を含み、それぞれ4-5フレームのアニメーションも含む |
well0008.bmp | 砂と砂にある無数のクレーターのバリエーションを含む |
well0009.bmp | 砂の「ドゥダッツ」を含む - 砂に配置できる要素で、緩和や構造(例:壁)として使用されるもの |
well0010.bmp | 砂から明るい岩と暗い岩へのそれぞれ48の遷移を含む |
well0011.bmp | 地図の極冠を含み、暗い岩が基盤 |
well0012.bmp | 地図の極冠を含み、明るい岩が基盤 |
正確な実装のためには、日夜サイクルのデータをまだ処理する必要があるため、タイルを事前にレンダリングしてキャッシュしないことが推奨されます。そうしないと、非常に多くのデータが発生します。
タイルは32x32ピクセルの解像度を持つインデックス付きパレットの8bppグラフィックで、縦に配置されています。しかし、このように作成されたタイルセットには、さらに多くのものが含まれる可能性があります。
メインコンテナは2つのセクションで構成されています: head
と data
。
タイルのヘッダー
アドレス | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | 文字 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
オフセット | データタイプ | 名称 | 説明 |
---|---|---|---|
0x0000 | uint(32) | マジックバイト | |
0x0004 | uint(24) | ブロック長 | |
0x0007 | uint(8) | 旗 | |
0x0008 | uint(32) | バージョン / フラッグ? | これはファイル形式のバージョン情報である可能性があります。私が持っているすべてのファイルには、ここに |
0x000c | uint(32) | 幅(横の解像度) | 画像ファイルの幅を指定します(ピクセル単位)。 Outpost 2のすべてのウェルでは、ここでの値は |
0x0010 | uint(32) | 高さ(縦の解像度) | 画像ファイルの高さを示します(ピクセル単位)。 Outpost 2のすべてのウェルでは、ここでの値は |
0x0014 | uint(32) | 色深度は? | この値の意味は不明です。 すべての検査されたファイルに値 |
0x0018 | uint(32) | 色深度2ですか? | この値の意味は不明です。 おそらく「ターゲット」カラー深度かもしれません。 |
これらの情報に基づいて、標準化されたRIFF形式のパレットファイルが作成されます。正確な仕様は、パレットが他の場所にも存在するため、パレットの下にあります。
タイルデータ
アドレス | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | 文字 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
オフセット | データタイプ | 名称 | 説明 |
---|---|---|---|
0x0000 | uint(32) | マジックバイト | |
0x0004 | uint(24) | ブロック長 | |
0x0007 | uint(8) | 旗 |
最後に、左上から右下に向かって行ごとに並んだ生のピクセルデータが続きます。
通常8bppビットマップとして存在するグラフィックのデータ値は、カラーパレット内の色のインデックスに対応しています。
ゲームエンジンはタイルを*おそらく*オンデマンドで描画します。
これは32段階のタイルがある昼夜サイクルに起因しているようです。その際、明るさの値から「少し」引かれているようです。正確な値はまだ特定できていませんが、計算の基準は
v *= (daylight / 48) + 0.25;
で、HSVデータを使ったピクセルの計算を行っています。ここで、daylightは0から31の値で、vは0から1の値です。さらに、マップの左右にはそれぞれ16タイルの境界が存在し(これはユニットの見えないスポーンに役立ちます)、その点も考慮する必要があります。
加えて、昼夜サイクルはゲームサイクルごとにマップの一列だけを更新するようです。
加速された昼夜サイクルは以下のようになります: