A port of the official 32Blit tools to a pure-C compatible pipeline.
blit_build.py: ELF to.blitpackager (RELO + Metadata).blit_pack.py: Simple binary to C array packer.blit_assets.py: Main asset pipeline (converts PNG, TMX, TTF viaassets.yml).blit_image.py: Standalone image to SPRITE converter.blit_map.py: Standalone Tiled TMX to MTMX converter.blit_font.py: Standalone font converter.blit_cmake.py: CMake dependency generator.
Set up a virtual environment and install the required dependencies (Pillow, PyYAML):
# Create a virtual environment
python -m venv .venv
# Activate (Windows PowerShell)
.venv\Scripts\Activate.ps1
# Activate (Linux / macOS)
source .venv/bin/activate
# Install requirements
pip install -r requirements.txtFor detailed specifications of the image, map, and font compilers, see the Asset & Packing Tools Reference Manual.
Create an assets.yml:
assets.c:
prefix: asset_
sprites/*.png:
name: sprite_{filename}
transparent: 255,0,255
maps/level0.tmx:
name: map_level0
empty_tile: 255Run the pipeline:
python blit_assets.py --config assets.yml --output build/python blit_build.py --input game.elf --output game.blit --metadata metadata.yml- SPRITE: Header ('SPRITE'), Type (PK/RL/RW), Dimensions, Palette, Pixels.
- MTMX: Header ('MTMX'), Dimensions, Layer Count, Flags, Tile Data, Transforms.
- FONT: Header ('FONT'), Metrics, Widths, Bitmaps.