http://pythonhosted.org/nml/nml-language.html
序(Prefare) †
NewGRFダイルはスプライトと偽の(peseudo)スプライトを含みます。これらはOpenTTDやTTDPatchで追加の乗り物、産業、船や飛行機を描写するために使われるのです。
GRFファイルを暗号化・復号化するために最も使われているアプリはGRFCodecです。GRFCodecはNFOファイルを読み、これをGRFに変換できるのです。NFOとは、GRFの仕様に縛られた低級言語です。これは殆どの部分で一般的には16進で記され、文字通りの識別子を持ちません。とはいえその言語は非常に強力であり、学ぶことに苦労するでしょう。
NMLは主にGRFの制作をより普及させるための高級言語として発足しました。
開発中のNewGRFについて議論するいい場所があります、tt-forumsです。特にNewGRF sub-sectionsがおすすめです。
(以下不明)
始めよう(Getting Started) †
NMLとは何か? †
NMLはパイソンを基礎としたコンパイラです。
(Windowsの場合)
あなたはこれらをインストールする必要があります。
Python2.5-2.7
PLY (Python Lex-Yacc)
Python Imaging Library (PIL)
NML
もしあなたがこれらをパックセットマネージャとともにインストールしないことを選ぶなら(Windowsには関係なく、あなたはプレコンパイルされたバイナリなど使わないでしょう)、あなたはこれらのライブラリをNML本体と同じように"python setup.py install"をコマンドプロンプトで実行してインストールするべきです。
全てがインストールされたことを確認した後、コマンドラインで nmlc --version と入力してください。NMLとインストールされたライブラリのバージョンが出力されます。
NMLによる小さなプロジェクトの例がNMLの"regression"フォルダーで見つかります。一般的にこれらは言語ファイルが別の"lang"フォルダに別れているように装っているので、この小さなプロジェクトはこのように見えるでしょう。
mynewgrf.nml
graphics.png
funny_sound.wav
lang/default.lng
コンパイラ自身のnmlcはコマンドラインツールであり、いくつもの引数(parameters)をとることができます。少なくともnmlファイルの名前が必要です、例えば'nmlc mynewgrf.nml'。あなたのnmlファイルは、 mynewgrf.grfとしてコンパイルされるでしょう。
全部の文法(syntax)は以下のとおりです:
Usage: nmlc [options] <filename>
Where <filename> is the nml file to parse
Options:
--version バージョンを出力して終了します。
-h, --help このヘルプメッセージを出力して終了します。
-d, --debug write the AST to stdout
-s, --stack Dump stack when an error occurs
--grf=<file> write the resulting grf to <file>
--nfo=<file> write nfo output to <file>
-c crop extraneous transparent blue from real sprites
-u save uncompressed data in the grf file
--nml=<file> write optimized nml to <file>
-o <file>, --output=<file>
write output(nfo/grf) to <file>
-t <file>, --custom-tags=<file>
Load custom tags from <file> [default:
custom_tags.txt]
-l <dir>, --lang-dir=<dir>
Load language files from directory <dir> [default:
lang]
画像ファイル †
すべてのグラフィックはパイソン画像ライブラリに読み込める形式であり、且つ正規のパレットを使用している必要があります。
あなたはDOSパレット(いくらか色が多くなります)かWindowsパレットを選択することができます。
いくつかのアプリのためのパレット:
GIMPのためのDOSパレット
GIMPのためのWindowsパレット
PhotoshopのためのWindowsパレット
註:Windowsバージョンはpcx形式のグラフィックはサポートしません。PILが対応していないからです。
言語仕様(Language structure) †
Blocks †
(これから逐次翻訳を進めて、親切仕様にしていくので削除しないでください。
誤訳はかなりあるので、見つけたら訂正してください。)