マップチップブロック
このページは
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