Skip to content

Asset-generation tools

Asset tools emit deterministic clean-room resources suitable for the resident graphics and audio APIs.

Graphics and UI

python3 tools/assets/build_system_ui_bundle.py build/system-ui
python3 tools/assets/build_clean_font_bundle.py build/font
python3 tools/assets/build_family_a_background_bundle.py build/background
python3 tools/assets/build_family_b_animation_bundle.py build/animation

Additional builders produce standalone settings and power-off presentations. The standard-controls layer uses the combined system UI generated by the normal SDK application build.

Bitmap packing

pack_bitmap_2bpp.py and the public graphics constructors enforce legal chunk dimensions and packing. diff_bmp.py and analyze_ppm.py support deterministic visual comparison.

Audio

python3 tools/assets/build_adpcm36_audio.py \
  input.wav build/audio --prefix effect

The output includes packed data, C/header files, a manifest, and a decoded WAV preview. Review the preview and link the generated C through extra_sources in mobigo.project.json.

Generated-file policy

Generate under build/. A complete project may check in a compiler-ready asset only when regeneration dependencies or upstream licensing make that deliberate; its README must explain provenance and regeneration.

Every generator should be deterministic for identical inputs and should have a host test covering malformed input, dimensions/capacity, and stable output.