Train 4

 技術情報  

201系クモハ200
ファイル構造
変数
ichi変数

ファイル構造

Byte数  
CString 可変 文字列
WORD 2 16bit 符号なし整数
LONG 4 32bit 符号なし整数

※値が「-」になっているところがユーザーが打ち込んだデータが入ります。
  「””」は、文字列が空欄であることを示します。

※太字は、データ終了のキー項目になっています。

TRA Ver 2.00規格

  意味  
  宣言 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回までです。

最後に、名称=備考=""という空のブロックを入れ
データが終了したことを示します。
なお、ブロックが最大の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型の
変数が0の空のブロックを入れます。

  駅数 WORD - データで計算駅が何駅あるかを示します。
曜日 WORD - 平日・土曜・日曜のダイアの関係
D
a
t
a
1
宣言 CString [Data] ここからDataであることを宣言
種別 WORD -  

これを一つのブロックとして
各駅の発車時間と停車時間を入れます。

停車時間の下位9bitが6秒単位の待機時間が、
上位6bitが発着番線になります。
中間には、待避ビットが入ります。

駅NのNは、先ほど定義した駅数です。
Nは最大で100です。

車種 WORD -
車両数 WORD -
特記事項 WORD -
特記事項2 WORD -
始発駅 WORD -
終着駅 WORD -
駅1の発車時間 WORD -
駅1の停車時間 WORD -
駅Nの発車時間 WORD -
駅Nの停車時間 WORD -
上のブロックを必要に応じて何回か繰り返します。
最大で1000回までです。

先ほどのように、データの最後にはWORD型の
変数が0の空のブロックを入れます。

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] 電車番号、名称、備考の文字列

Train4の内部仕様

マウス反応座標や図形の座標を記憶するために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変数の特徴は、描画用とマウス用の座標を共通で使用している点です。
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の「電車描画」は走行、停車で分けていましたが、これを生かして
いなかったので区別をなくしました。


Train4 Station内部仕様

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
y=0-9

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




Train4 Decoder 内部仕様

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

戻るトップに戻る