mTF | Transmission Format for Level Design Tools
mTF | Transmission Format for Quake .map Levels
mTF is a format to serialize .map data into JSON-glTF-like objects.
It is an efficient and extensible format for transmission and loading of Level Design data, for use in Level Editors and Game Engines at runtime.
Specification
The mTF specification can be found inside the ./spec folder:
spec/
├── mTF.zig : Type Declarations for Zig
├── mTF.h : Type Declarations for C
├── mTF.nim : Type Declarations for Nim
├── mTF.py : Type Declarations for Python
└── *.schema.json : JSON Schema representation of the Specification, for use by other tools
Samples
The ./samples folder contains working examples for every mTF feature.
Each sample has an level.mtf file and a paired source file written in the original language.
See the samples' readme.md file for a complete list.
How to use
TODO:
Getting Started
TODO:
Buildsystem
note: These tools are useful mostly for development of the specification itself.
Requires bun.
bun install
bun spec # re-generate all spec files
bun test # run validation tests
bun test:zig # run zig parsing tests
License
MPL-2.0