5 stable releases
2.1.0 | Jun 5, 2022 |
---|---|
2.0.1 | Jun 5, 2022 |
2.0.0 | Jun 4, 2022 |
1.0.1 | Jun 1, 2022 |
1.0.0 | May 29, 2022 |
#2133 in Development tools
175KB
3.5K
SLoC
TrueGRF YAML to GRF compiler (CLI and NPM)
TrueGRF is a project to make it more accessible for anyone to create NewGRFs for OpenTTD. For more details on the project, please visit here.
This repository is the Rust part of the project, which offers a YAML to GRF compiler, both for the stand-alone tool and as npm library (via WASM).
Installation / usage
CLI
cargo run --release -- --help
WASM
Have latest rust installed, and install wasm-pack
(with cargo install wasm-pack
).
wasm-pack build --release --target web
This gives you the required WASM files in the pkg
folder.
Check wasm-pack
how to use it in your own project.
PS: in some cases you want to replace in pkg/package.json
the module
key with main
and add "type": "module"
.
sed -i 's/"module": "truegrf.js",/"main": "truegrf.js",\n "type": "module",/' pkg/package.json
Current support
Currently TrueGRF only supports a small selection of the GRF specifications:
- Cargoes
- Industries
- Industry tiles
All other features are not (yet) supported.
Filesystem layout
In order for TrueGRF to compile the YAML to GRF, the YAML files need to be in a specific structure.
truegrf.yaml
: the main file, to indicate it is a TrueGRF project.cargoes/<name>.yaml
: one cargo definition.industries/<name>.yaml
: one industry definition.
Sprites can refer to PNG files based from the root-folder.
The specific structure of the YAML can be deduced from the source files.
Dependencies
~8.5MB
~147K SLoC