MDLファイルからソースコードへの逆コンパイル
MDLファイルが出来上がったらSCASMソースコードへ逆コンパイルします。逆コンパイルにはMdlDisAsというユーティリティーを使用しました。
今回はFull Sourceを利用しました。正常に変換が行われると下図のようなテキストベースのソースコードが吐き出されます。

ソースコードの編集
吐き出されたソースコードは一般的なシーナリー向けオブジェクトのソースコードになっており、このままではライブラリーオブジェクトとして使用できません。以下のように変更を加えてください。
-
1行目から「;*** Start of Main Aircraft Code
***」という一行までを削除する
-
削除した部分に
Header( 1 90 -89 180 -179 )
LibID( xxxxxx
xxxxxxx xxxxxxxx xxxxxxxx )
LibObj(
SCALE 0.002
NAME _object_name
)
というコマンド行を追加する。xxxxxxxx
の部分には4つの16進数を指定します。この4つの16進数は、追加兵装識別用の固有IDナンバーとなりますので、他のライブラリーオブジェクトが使用していない番号を指定する必要があります。SCALE行の数値を増減させると、兵装の相対的な大きさを変更できます。0.002はMartin
Wright氏が経験的に得た数値でFSDSで作製したMDLから1対1の大きさで変換するための数値です。
object_nameにはこの兵装の名前を指定します。この名前は、ゲーム中で兵装を選択した際に表示される名前になります。
-
FSDSを使用する場合は
IfVarAnd( :Label 0007e 00001 ) と Jump(
:Label ) が出てきたらコメントアウトする。
ここまでの変更で以下のようになっているはずです。


続いて、ソースコードの一番最後の行に行き、EndAというコマンドをEndObjに変更します。

以上でソースコードの変更は終了です。ソースファイルを保存してください。

続き:SCASMでのコンパイル |