ぼくは航空管制官2
シナリオファイル構造解析

2006年10月8日改訂

方々のサイトの情報及び独自調査で調べた物です。間違っている部分があると思いますので注意してください。

基本的にDWORD(unsigned long, 4byte)単位となっているようです。

バイナリエディタで見る場合、4byteごとに区切ったものを下位バイトから順に並べ直したものが16進数の数値になります。(説明難しい・・)

識別番号 内容 レコードサイズ 補足
なし ヘッダ ? ファイル先頭
0x00000006 出発機 0x48
0x00000005 到着機 0x64
0x00000007 SPOTOUT 0x38
0x00000008 風向風速変更 0x14
0x00000009 滑走路閉鎖 0x28
0x00001518 テロップ表示 不定?

時刻フォーマットについて

福岡より前のシナリオでは10進数でhhmm(24時間制で時刻2桁、分2桁)という数値を16進数になおしたものが入っています。

(例)13時25分は10進数1325、これを16進数に直して0x0000052D。バイナリエディタで見ると 2D 05 00 00。

福岡以降のシナリオは10進数でhhmmssという数値を16進数になおしたものが入っています。

(例)13時25分15秒は10進数132515、これを16進数に直して0x000205A3。バイナリエディタでは A3 05 02 00。

ヘッダレコード

レコード先頭からのオフセット(byte) サイズ(byte) 変数型 内容 補足
0 32? char[] シナリオ名 stageフォルダ以下のフォルダ名とiniファイル名に一致 NULL(0x00)で終端(文字列の終わりを示す)
32 4 DWORD シナリオ開始時間 10進数hhmm
福岡以降は0x00FF0000を加える。
36 4 DWORD シナリオ終了時間 何度目の00分で終了するか
終了時刻は00分固定
40 4 DWORD ノーマル得点
44 4 DWORD エキスパート得点
48 4 DWORD
52 8 char[8] BGMファイル名 musicフォルダ内のファイル名に一致
60 4
64 4
68 4
72 4
76 8 char[8] エンディングファイル名 このファイル名の実行ファイルがエンディングで起動される
84
104 4 DWORD 空港視点の角度
108 4 DWORD
112 4 DWORD
116 4 DWORD 空港視点中心部までの距離
120 4 DWROD
124 4 DWORD テクスチャの光濃度(R) 最大値0xFF
128 4 DWORD テクスチャの光濃度(G) 最大値0xFF
132 4 DWORD テクスチャの光濃度(B) 最大値0xFF
136 4 DWORD 大気の色合い(R) 最大値0xFF
140 4 DWORD 大気の色合い(G) 最大値0xFF
144 4 DWORD 大気の色合い(B) 最大値0xFF
148 4 DWORD 滑走路のライト具合 0:昼、1:夕方、2:夜
152 4 DWORD
156 4 DWORD 空模様のファイル指定 sky*.plmの*部分の数値

出発機レコード

06 00 00 00 から始まる0x48(72)バイトが1つの出発便の定義となります。

レコード先頭からのオフセット(byte) サイズ(byte) 変数型 内容 補足
0 4 DWORD レコード識別番号 0x00000006固定
4 4 DWORD 固有値ID SPOTOUTレコードへのリンクID
8 4 DWORD スポット 出発スポットID
12 4 DWORD 便番号 ANA1001便の場合10進数で1001
16 8 char[8] 航空会社3レター 最後5バイトはNULL(00)
24 8 char[8] 機種コード airplaneフォルダ内のフォルダ名と一致
32 4 char[4] 行き先空港4レター
36 4 DWORD
40 4 DWORD
44 4 DWORD スコーク 10進数で最大4桁(空港によっては未使用?)

下記画面は関空1-1のシナリオファイルです。選択部分が1つの出発便を表します。

到着機レコード

05 00 00 00 から始まる0x64(100)バイトが1つの到着便の定義となります。

レコード先頭からのオフセット(byte) サイズ(byte) 変数型 内容 補足
0 4 DWORD レコード識別番号 0x00000005固定
4 4 DWORD 機体出現時間
8 4 DWORD 固有ID?
12 4 signed long? 出現場所、高度関係
16 4 signed long? 出現場所、高度関係
20 4 DWORD
24 4 DWORD 飛行速度 0xD2が標準ジェット機
28 4 DWORD
32 4 DWORD 便番号 ANA1001便の場合10進数で1001
36 8 char[8] 航空会社3レター 最後5バイトはNULL(00)
44 8 char[8] 機種コード airplaneフォルダ内のフォルダ名と一致
52 4 char[4] 出発空港4レター
56 4 DWORD
60 4 DWORD
64 4 DWORD
68 4 DWORD 標準到着時刻 ストリップに表示される到着時刻
72 4 DWORD
76 4 DWORD 到着スポット種別 国内、国際、貨物などのスポット種別
80 4 DWORD
84 8 char[8] STAR 到着経路
92 4 DWORD
96 4 DWORD

以下千歳1-1シナリオファイル。選択部分が到着機1便分。

SPOTOUTレコード

レコード先頭からのオフセット(byte) サイズ(byte) 変数型 内容 補足
0 4 DWORD レコード識別番号 0x00000007固定
4 4 DWORD ストリップ出現時刻
8 4 DWORD 固有値ID 出発機レコードの対応する固有値ID
12 4 DWORD
16 4 DWORD
20
24
28 4 char[4] TAXI タキシングの場合"TAXI"
出発機の場合NULLで埋める
32
36
40 8 char[8] SPOTOUTまたは
タキシングルート
出発機の場合SPOTOUT
タキシング(スポット移動)の場合タキシング元_タキシング先_?
48
52

風向風速レコード

08 00 00 00 から始まる0x14(20)バイトが1定義となります。

レコード先頭からのオフセット(byte) サイズ(byte) 変数型 内容 補足
0 4 DWORD レコード識別番号 0x00000008固定
4 4 DWORD 変更時刻
8 4 DWORD 風向(度) 10進数で0-359?
12 4 DWORD 風速(kt)
16 4 DWORD 気圧(QNH)

滑走路閉鎖レコード

アスキー文字を8文字連続させてオープンとクローズを指定します。

00000000で全ての滑走路がオープン、11111111で全ての滑走路がクローズとなります。1文字ずつ個々の滑走路番号に対応していて、特定の滑走路のみクローズさせることもできます。対応は空港ごとに異なるため調べていません。

レコード先頭からのオフセット(byte) サイズ(byte) 変数型 内容 補足
0 4 DWORD レコード識別番号 0x00000009固定
4 4 DWORD 変更時刻
8 8 char[8] '0' or '1' 0(0x30)でオープン
1(0x31)でクローズ
16 4 DWORD? ?
20 4 DWORD? ?
24 8 char[8] '0' or '1' 意味は未解析
32 4 DWORD? ?
36 4 DWORD? ?

テロップ表示レコード

atc表示欄にテロップを表示します。おそらく一部の空港のみの対応。

レコード先頭からのオフセット(byte) サイズ(byte) 変数型 内容 補足
0 4 DWORD レコード識別番号 0x00001518固定
4 4 DWORD 表示開始時刻
8 4 DWORD 表示色
12 4 DWORD 表示継続時間?
16 不定(4の倍数) char[] 表示文字列 Shift_JIS NULL終端