Train 4技術情報 |
ファイル構造 |
変数 |
ichi変数 |
型 | Byte数 | |
CString | 可変 | 文字列 |
WORD | 2 | 16bit 符号なし整数 |
LONG | 4 | 32bit 符号なし整数 |
※値が「-」になっているところがユーザーが打ち込んだデータが入ります。
「””」は、文字列が空欄であることを示します。
※太字は、データ終了のキー項目になっています。
意味 | 型 | 値 | ||
宣言 | CString | [Train4] | Train4のデータであることを宣言 | |
形式 | WORD | 200 | TRAのVersionが、2.00 | |
i n f o |
宣言 | CString | [Info] | ここからinfoであることを宣言 |
路線名 | CString | - | ここに、路線の情報を書き込みます。 | |
Version | CString | - | ||
作者 | CString | - | ||
施行日 | CString | - | ||
備考 | CString | - | ||
k i n d |
宣言 | CString | [Kind] | ここからkindであることを宣言 |
COLOR | LONG | - | これを1つのブロックとして 種別の色と名称を定義します。 |
|
名称 | CString | - | ||
備考 | CString | - | ||
: | : | : | 上のブロックを必要に応じて何回か繰り返します。 最大で13回までです。 最後に、名称=備考=""という空のブロックを入れ |
|
E k i |
宣言 | CString | [Eki] | ここからEkiであることを宣言 |
計算駅 | WORD | - | これを一つのブロックとして 駅の特徴を定義します。 データは、「計算駅」と「途中駅」で違います。 詳細はデータの作成に関するページを見て下さい。 |
|
隣接計算駅1 | WORD | - | ||
方面 | ||||
距離 | ||||
本線番線 | ||||
隣接計算駅2 | WORD | - | ||
方面 | ||||
距離 | ||||
本線番線 | ||||
待避方法 | WORD | - | ||
% | WORD | - | ||
停車区分 | WORD | - | ||
略号 | CString | - | ||
駅名 | CString | - | ||
備考 | CString | - | ||
: | : | : | 上のブロックを必要に応じて何回か繰り返します。 最大で300回までです。 先ほどのように、データの最後には駅名が空白のブロックを入れます。 |
|
M a p |
宣言 | CString | [Map] | ここからMapであることを宣言 |
コード | WORD | - | これを一つのブロックとして 鳥瞰図、ダイアグラム、路線図の絵の定義をします。 コードと要素の定義は別表をご覧下さい。 |
|
要素1 | WORD | - | ||
: | : | : | ||
要素11 | WORD | - | ||
: | : | : | 上のブロックを必要に応じて何回か繰り返します。 最大で2000回までです。 先ほどのように、データの最後にはWORD型の |
|
駅数 | WORD | - | データで計算駅が何駅あるかを示します。 | |
曜日 | WORD | - | 平日・土曜・日曜のダイアの関係 | |
D a t a 1 |
宣言 | CString | [Data] | ここからDataであることを宣言 |
種別 | WORD | - | これを一つのブロックとして 停車時間の下位9bitが6秒単位の待機時間が、 駅NのNは、先ほど定義した駅数です。 |
|
車種 | WORD | - | ||
車両数 | WORD | - | ||
特記事項 | WORD | - | ||
特記事項2 | WORD | - | ||
始発駅 | WORD | - | ||
終着駅 | WORD | - | ||
駅1の発車時間 | WORD | - | ||
駅1の停車時間 | WORD | - | ||
: | : | : | ||
駅Nの発車時間 | WORD | - | ||
駅Nの停車時間 | WORD | - | ||
: | : | : | 上のブロックを必要に応じて何回か繰り返します。 最大で1000回までです。 先ほどのように、データの最後にはWORD型の |
|
Data2 | Data1と同じ構造になります。ただし、 ダイアのパターンによって省略もあります。 |
|||
Data3 | ||||
Icon | 宣言 | CString | [Icon] | ここからアイコンデータであることを宣言 |
アイコンの個数 | WORD | - | 電車アイコンの個数を指定します。 | |
Pixel | LONG | 電車アイコンの色がピクセル単位で入っています。 走査方向は、y軸を0→29へ走査します。 この走査をx軸方向へずらしていきます。 0のドット数は、0→40*(アイコンの個数)-1までです。 |
Train4と、Train4 Makerでは、データを保存するための変数構造を共通にしています。
TRA 2.00
変数の型 | 変数の宣言 | 説明 | |
Info | CString | info[5] | 路線情報の記録 |
Kind | COLORREF | kind[13] | 種別の色情報 |
CString | kind_s[13][2] | 種別の名称 | |
Eki | WORD | eki[300][12] | 駅のデータ |
CString | eki_s[300][3] | 駅名、略称、備考の記録 | |
Map | WORD | map[2000][12] | マップ情報 |
CString | map_s[2000] | テキストデータを格納 | |
Data | WORD | data[3][3000][207] | 時刻表データ |
CString | data_s[3][3000][3] | 電車番号、名称、備考の文字列 |
マウス反応座標や図形の座標を記憶するためにichi変数を使用しています。
int | ichi[3000][10] | 図形、マウス座標 |
また、各クラスにはoption変数があります。
Class | x | 意味 | 詳細 |
Doc opd[x] |
0 | 計算駅数 | |
1 | 曜日別ダイア | 0:平/土日 1:全日共通 2:平日/土/日 3:平日土/日 | |
2 | TRAバージョン | バージョン×100の値 | |
3 | 時刻表ekiidx | 時刻表で表示する駅 | |
4 | Mapidx | 時刻表で参照したMapのindex | |
5 | Hataidx2 | 旗をつける電車Idx2 | |
6 | 表示オプション | 2^0:臨時電車 2^1:有料特急 | |
View opv[x] |
0 | グリッド表示 | ダイアグラムでバックの線表示 |
1 | 時間幅 | ダイアグラムの時間幅 | |
2 | 電車情報 | 0-標準表示 1-停車駅のみ表示 2-通過駅も表示 | |
3 | 上下反転 | ダイアグラムの上下を反転します | |
4 | マーカー | 2^0:10分前 2^1:始発 | |
5 | 可視エリア | データのあるエリアNoのバイナリ |
ichi変数は、座標計算を必要とする図形や、マウスの反応する座標を記憶するための変数です。
ichi変数の特徴は、描画用とマウス用の座標を共通で使用している点です。
ichi変数の各パラメータの意味は、Modeごとに異なります。
Mode | 意味 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
1 | 駅描画(計算駅) | 1 | x | y | 駅Idx | MapIdx | |||
駅描画(途中駅) | 2 | ||||||||
電車描画 | 3 | x | y | 電車Idx1 | 電車Idx2 | MapIdx | Map Para | ||
2-4 | 駅描画(計算駅) | 1 | x | y | 駅Idx | MapIdx | |||
駅描画(途中駅) | 2 | ||||||||
時間軸描画(10m) | 3 | x | |||||||
時間軸描画(1h) | 4 | ||||||||
ダイアグラム描画 | 5 | x1 | y1 | x2 | y2 | 電車Idx1 | 電車Idx2 | MapIdx | |
5 | 駅描画(計算駅) | 1 | x | y | 駅Idx | MapIdx | |||
駅描画(途中駅) | 2 | ||||||||
駅描画(通過駅) | 3 | ||||||||
6 | 時刻描画(分) | 1 | x | y | 電車Idx1 | 電車Idx2 | 時間 | 略号 | マーカ |
時刻描画(時) | 2 | x | y | 時間 | |||||
タイトル | 3 | 駅Idx | 途中駅 | To2 Idx |
※Idxは「インデックス」の意味で、配列の添え字を意味します。
※Mode1の「電車描画」は走行、停車で分けていましたが、これを生かして
いなかったので区別をなくしました。
Class | x | 意味 | 詳細 | |
Doc opd[x] x=0-9 |
0 | 計算駅数 | ||
1 | 曜日別ダイア | 0:平/土日 1:全日共通 2:平日/土/日 3:平日土/日 |
||
2 | TRAバージョン | バージョン×100の値 | ||
3 | 時刻表ekiidx | 表示する駅のIndex | ||
4 | 表示オプション | 2^0:臨時電車 | 2^1:有料特急 | |
View ops[x] x=0-4 |
0 | 着メロFile | メロディのあるファイル名のパス | |
1 | 発メロFile | |||
2 | 通過メロFile | |||
View opv[x] x=0-9 |
0 | メロディ | 2^0:着メロ 2^2:通過メロ |
2^1:発メロ |
1 | 表示 | 2^0:車両数 2^2:名称表示 |
2^1:番線 2^3:当駅止まりの表示 |
|
2 | 表示段数 | 何行表示するのか (Max 5) | ||
3 | 電車情報 | 0-標準表示 1-停車駅のみ表示 2-通過駅も表示 |
ichi[x][y] x=0-29 |
x | 意味 | y | |||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |||
0-4 | タイトル | 情報 有無 |
y | 番線 | From | To | 方面 Idx |
|||||
5- 29 |
電車 データ |
情報 有無 |
y | 電車 Idx1 |
電車 Idx2 |
行先 Idx |
時 間 |
WA IT |
Ic on |
車 両 数 |
種 別 |
Class | x | 意味 | 詳細 |
Doc opd[x] x=0-9 |
0 | 計算駅数 | |
1 | 曜日別ダイア | 0:平/土日 1:全日共通 2:平日/土/日 3:平日土/日 |
|
2 | TRAバージョン | バージョン×100の値 |
chkdataのチェック場所
項目 | n | 内容 | errorNo |
eki[][n] | 0 | 計算駅番号が300以上 | 11 |
1,5 | 隣接計算駅が100以上 | ||
2,6 | 方面の計算駅番号が300以上 | ||
10 | 割合が100%以上 | 12 | |
1,2 5,6 |
隣接計算駅が非0で方面が0 | 13 | |
map[][n] | 0,1,2 | code=11,21,31で、From,Toの 計算駅番号が1〜100以外 |
14 |
data[][][n] | 0 | 種別が1〜13以外 | 15 |
1 | 車種が1〜100以外 | 16 | |
5,6 | 始発、終着が300以上 | 17 |