逆変換関数のライフサイクル

逆変換処理が実行されると、コンパイルエンジンでは以下の順序で処理を実行していきます。

逆変換対象判定関数

逆変換対象判定関数は、モジュールのdecompileTargetIdentifierに関数オブジェクトとして定義します。

module.decompileTargetIdentifier = function(basename, data) {
	var linkData = {
		type: undefined,
		targets: []
	};

	// 以下、判定処理。
	// 判定に合致する場合はlinkDataのtypeとtargetsをセットして
	// linkDataを戻り値として返す。

	// 判定に合致しない場合はnullを返す
	return null;
}

逆変換対象判定関数の仕様は以下の通りです。

引数

戻り値

以下のフィールドを持つオブジェクトを返します。

linkDataのtypeやtargets[n].attrsは逆変換処理そのものの結果には影響しませんが、逆変換処理で出力されるリンクファイル(TESイベントファイルを別のデータベースファイルへ書き込むときに使用される情報)の内容に影響します。

逆変換関数

逆変換関数はモジュールのdeconvertFuncsにイベントコードをキーとした関数オブジェクトとして定義します。

module.deconvertFuncs[103] = function(event) {
	var args = {};

	this.deconvertNumeric('var', args, event.parameters[0]);
	this.deconvertNumeric('num', args, event.parameters[1]);

	return { name: 'input_num', args: args };
};

逆変換関数の仕様は以下の通りです。

引数

戻り値

以下の戻り値を返すことができます。