---
name: "nmlc"
section: "1"
platform: "linux"
package: "nml"
version: "0.7.6-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nmlc"
---

# nmlc(1)

A compiler from NML code to NFO and/or GRF files.

## NAME

**NMLC** – A compiler from NML code to NFO and/or GRF files.

## SYNOPSIS

**nmlc** \[options\] \[file\]

## OPTIONS

- **-c**

  Crop extraneous transparent blue from real sprites.

- **-u**

  Save real sprites uncompressed to GRF files. This saves a lot of time during encoding but it's not recommended when creating a file for distribution since it makes the output file substantially bigger.

- **--grf**=*file*

  Write output in GRF format to \<file\>.

- **--nfo**=*file*

  Write output in NFO format to \<file\>.

- **--nml**=*file*

  Write output in NML format to \<file\>.

- **--output**=*file* \| **-o** *file*

  Write output to \<file\>. The output type is detected from the extension of the filename. It must be one of nfo, nml or grf.

- **--md5**=*file*

  Write an md5sum of the resulting grf to \<file\>.

- **--debug** \| **-d**

  Print a dump of the AST to stdout.

- **--version**

  Print programme's version number and exit.

- **--help** \| **-h**

  Print usage information.

- **--stack** \| **-s**

  Dump stack when an error occurs.

- **-M**

  Output a rule suitable for make describing the graphics dependencies of the main grf file (requires input file or --grf)

- **--MF**=*file*

  When used with -M, specifies a file to write the dependencies to

- **--MT**=*file*

  Target of the rule emitted by dependency generation (requires -M)

- **--custom-tags**=*file* \| **-t** *file*

  Load custom tags from \<file\> \[default: custom\_tags.txt\].

- **--lang-dir**=*dir* \| **-l** *dir*

  Load language files from directory \<dir\> \[default: lang\].

- **--default-lang**=*file*

  The default language is stored in \<file\> \[default: english.lng\].

- **--sprites-dir**=*dir* \| **-a** *dir*

  Store 32bpp sprites in directory \<dir\> \[default: sprites\].

- **--start-sprite**=*num*

  Set the first sprite number to write (do not use except when you output nfo that you want to include in other files).

- **--palette**=*palette* \| **-p** *palette*

  Force nml to use the palette \<pal\> \[default: ANY\]. Valid values are 'DOS', 'WIN', 'ANY'.

- **--quiet**

  Disable all warnings. Errors will be printed normally.

- **--cache-dir**=*dir*

  Cache files are stored in directory \<dir\> \[default: .nmlcache\].

- **--clear-orphaned**

  Remove unused / orphaned items from cache files.

- **--verbosity**=*level*

  Set the verbosity level for informational output \[default: 3, max: 4\].

## SEE ALSO

The language reference at *http://newgrf-specs.tt-wiki.net/wiki/NML:Main*

## AUTHOR

NML was written by Albert Hofkamp, Christoph Elsenhans, Jasper Reichardt, Ingo von Borstel, José Soler and Thijs Marinussen.

This manual page was originally written by Thijs Marinussen.
