マップチップブロック

このページはlevファイルの子ページになります。
マップチップブロックでは、ステージの地形情報が設定されます。

鋼鉄の咆哮3は3D表示のゲームですが、ステージの一つ一つがモデリングされてるわけではなく、
RPGツクールのように、マップチップ(但し3D)を組み合わせることで構成されています。



マップチップは以下の画像のように4byte一単位で構成されます。
マップの左上から右に向かって、一列づつのデータが並んでいます。
大きなサイズ
前2byteがマップチップの種類(厳密には前1byte)、後2byteがマップチップの回転(時計回り0~200)です。

マップチップのバイナリデータから、実際に読み込まれる3Dモデルファイルの名称を見つける方法ですが、
1byteのうち、前4bitがファイル名の後半、後4bitがファイル名の前半部と対照しています。
もっと簡単に言えば、16進数表記にして、上一桁がファイル名の後半、下一桁がファイル名の前半部にあたります。

画像の例では、0x64を前半と後半に分け、6は0から数えて7番目、4はABCDの順番でDに当たると考えて
0x64に相当するファイル名は"D7.x"であると考えることが可能です。

同様に、0x54は、5が6番目、4がDなので、0x54に相当するファイル名は"D5.x"
0x65は、6が7番目、5がEなので、0x65に相当するファイル名は"E7.x"になります。

もっと複雑な例を挙げると、例えば画像のaddress 0x74CDの値は0xCFです。
同様に、前半の0xCは0から数えて13番目、後半の0xFは、ABCの順番の15番目、すなわちO(オー)になりますので、
0xCFに相当するファイル名は、"O13.x"になります。

なお、ファイル名"P*.x"については、16番目のアルファベットであるため、バイナリ値の1桁目が1つ進んでいるので注意です。
例えば、0x10は、"P2.x"ではなく、"P1.x"です。

また、0x00は3Dモデルファイル無し=海となります。



以下、実際にマップを変化させた例です。

左上から右に向かって0x00~0x07、次の列が0x08~0x0F、同様に0x10~0x17、0x18~0x1Fと続きます。
ファイル名で言えば、順に以下のようになります。
無し A1.x B1.x C1.x D1.x E1.x F1.x G1.x
H1.x I1.x J1.x K1.x L1.x M1.x N1.x O1.x
P1.x A2.x B2.x C2.x D2.x E2.x F2.x G2.x
H2.x I2.x J2.x K2.x L2.x M2.x N2.x O2.x

左上から右に向かって0x20~0x27、次の列が0x28~0x2F、同様に0x30~0x37、0x38~0x3Fと続きます。
ファイル名で言えば、順に以下のようになります。
P2.x A3.x B3.x C3.x D3.x E3.x F3.x G3.x
H3.x I3.x J3.x K3.x L3.x M3.x N3.x O3.x
P3.x A4.x B4.x C4.x D4.x E4.x F4.x G4.x
H4.x I4.x J4.x K4.x L4.x M4.x N4.x O4.x

左上から右に向かって0x40~0x47、次の列が0x48~0x4F、同様に0x50~0x57、0x58~0x5Fと続きます。
ファイル名で言えば、順に以下のようになります。
P4.x A5.x B5.x C5.x D5.x E5.x F5.x G5.x
H5.x I5.x J5.x K5.x L5.x M5.x N5.x O5.x
P5.x A6.x B6.x C6.x D6.x E6.x F6.x G6.x
H6.x I6.x J6.x K6.x L6.x M6.x N6.x O6.x

左上から右に向かって0x60~0x67、次の列が0x68~0x6F、同様に0x70~0x77、0x78~0x7Fと続きます。
ファイル名で言えば、順に以下のようになります。
P6.x A7.x B7.x C7.x D7.x E7.x F7.x G7.x
H7.x I7.x J7.x K7.x L7.x M7.x N7.x O7.x
P7.x A8.x B8.x C8.x D8.x E8.x F8.x G8.x
H8.x I8.x J8.x K8.x L8.x M8.x N8.x O8.x

左上から右に向かって0x80~0x87、次の列が0x88~0x8F、同様に0x90~0x97、0x98~0x9Fと続きます。
ファイル名で言えば、順に以下のようになります。
P8.x A9.x B9.x C9.x D9.x E9.x F9.x G9.x
H9.x I9.x J9.x K9.x L9.x M9.x N9.x O9.x
P9.x A10.x B10.x C10.x D10.x E10.x F10.x G10.x
H10.x I10.x J10.x K10.x L10.x M10.x N10.x O10.x

左上から右に向かって0xA0~0xA7、次の列が0xA8~0xAF、同様に0xB0~0xB7、0xB8~0xBFと続きます。
ファイル名で言えば、順に以下のようになります。
P10.x A11.x B11.x C11.x D11.x E11.x F11.x G11.x
H11.x I11.x J11.x K11.x L11.x M11.x N11.x O11.x
P11.x A12.x B12.x C12.x D12.x E12.x F12.x G12.x
H12.x I12.x J12.x K12.x L12.x M12.x N12.x O12.x

左上から右に向かって0xC0~0xC7、次の列が0xC8~0xCF、同様に0xD0~0xD7、0xD8~0xDFと続きます。
ファイル名で言えば、順に以下のようになります。
P12.x A13.x B13.x C13.x D13.x E13.x F13.x G13.x
H13.x I13.x J13.x K13.x L13.x M13.x N13.x O13.x
P13.x A14.x B14.x C14.x D14.x E14.x F14.x G14.x
H14.x I14.x J14.x K14.x L14.x M14.x N14.x O14.x

左上から右に向かって0xE0~0xE7、次の列が0xE8~0xEF、同様に0xF0~0xF7、0xF8~0xFFと続きます。
ファイル名で言えば、順に以下のようになります。
P14.x A15.x B15.x C15.x D15.x E15.x F15.x G15.x
H15.x I15.x J15.x K15.x L15.x M15.x N15.x O15.x
P15.x A16.x B16.x C16.x D16.x E16.x F16.x G16.x
H16.x I16.x J16.x K16.x L16.x M16.x N16.x O16.x


タグ:

+ タグ編集
  • タグ:
最終更新:2015年01月23日 18:29