前回とは打って変わって今回はただメモを曝すだけです。 特に解説はしません。
オートタイルを動的に表示したい場合なんかに必要なタイルの仕様についてです。 マニュアルの素材規格と照らし合わせながら見るとわかりやすいと思います。
【修正 16/09/28】マップデータ仕様の層の種類にリージョンIDが漏れていたため修正。
タイルID仕様
タイルIDの構成
- オートタイル
- (セットの開始番号) + (種別ID) * 48 + (形状ID)
- それ以外
- (セットの開始番号) + (タイル番号)
タイルID区分
セット | 番号 |
---|---|
B | 0~ |
C | 256~ |
D | 512~ |
A5 | 1536~ |
A1 | 2048~ |
A2 | 2816~ |
A3 | 4352~ |
A4 | 5888~ |
~8192 |
オートタイル仕様
- セットAのパーツ1~4まで (A1~A4)
- タイル1種類あたり48のID領域が割り当てられる。
- パーツ番号と種別IDから基準位置とテーブルを決定。
- 形状IDとテーブルから4つのサブタイルを決定。
- サブタイルを組み合わせて一枚のタイルとして描画。
種別ID (kind)
- A1のみ特殊な割当
- A2~A4は順番通り
A1
(表の値) + 0
###### | ## | ###### | ## | |
---|---|---|---|---|
### | 0 | 2 | 4 | 5 |
### | 1 | 3 | 6 | 7 |
### | 8 | 9 | 12 | 13 |
### | 10 | 11 | 14 | 15 |
A2
(表の値) + 16
## | ## | ## | ## | ## | ## | ## | ## | |
---|---|---|---|---|---|---|---|---|
### | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
### | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
### | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
### | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
A3
(表の値) + 48
## | ## | ## | ## | ## | ## | ## | ## | |
---|---|---|---|---|---|---|---|---|
## | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
## | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
## | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
## | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
A4
(表の値) + 80
## | ## | ## | ## | ## | ## | ## | ## | |
---|---|---|---|---|---|---|---|---|
### | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
## | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
### | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
## | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
### | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
## | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
形状ID (shape)
基本構造 (floor)
- 4方向隣接パターン (16通り)
- 3方向隣接パターン (16通り)
- 2方向隣接パターン (10通り)
- 1方向隣接パターン (4通り)
- 非隣接パターン (1通り)
- 代表パターン (1通り)
計48通り
非隣接パターン(左)と代表パターン(右)
集合パターンのみ (wall)
- 4方向隣接パターン (1通り)
- 3方向隣接パターン (4通り)
- 2方向隣接パターン (6通り)
- 1方向隣接パターン (4通り)
- 非隣接パターン (1通り)
計16通り
滝 (waterfall)
- 両方向隣接パターン (1通り)
- 片方向隣接パターン (2通り)
- 非隣接パターン (1通り)
計4通り
タイルセット仕様
構成
ルートは配列。0番目は未使用値でそれ以降は番号に対応した各タイルセットの情報。
プロパティ | 説明 |
---|---|
id | ID番号 |
flags | 各タイルIDに対応したフラグの配列 (8192) |
mode | 0: フィールドタイプ, 1: エリアタイプ |
name | 名前 |
note | メモ |
tilesetNames | A1, A2, A3, A4, A5, B, C, D, E の順のタイルセット画像名 |
フラグ仕様
ビットマスク | 説明 |
---|---|
0000 0000 0000 1111 | 通行不可フラグ(上位から上右左下) |
0000 0000 0001 0000 | 裏側通行フラグ |
0000 0000 0010 0000 | 梯子フラグ |
0000 0000 0100 0000 | 茂みフラグ |
0000 0000 1000 0000 | カウンターフラグ |
0000 0001 0000 0000 | ダメージ床フラグ |
0000 0110 0000 0000 | 船移動不可フラグ(上位から大型船・小型船) |
0000 1000 0000 0000 | 飛行船着陸不可フラグ |
1111 0000 0000 0000 | 地形タグ |
マップデータ仕様
三次元の配列を一次元配列化して保存。要素としてタイルIDを格納。
軸 | 説明 |
---|---|
x | x方向の座標 |
y | y方向の座標 |
z | 層の種類 |
index = x + (y * width) + (z * width * height);
層の種類
番号 | 説明 |
---|---|
0 | 下層 |
1 | 下層重ね合わせ |
2 | 上層1 |
3 | 上層2 |
4 | 影ビットフラグ(下位から左上/右上/左下/右下) |
5 | リージョンID |
下層重ね合わせはA1-B,A1-C,A2-Bが該当。