nano9 0.1.0-alpha.7

A Pico-8 compatibility layer for Bevy
Documentation
use bevy::prelude::*;
use nano9::prelude::*;

fn init(mut pico8: Pico8) -> Result<(), BevyError> {
    cls!(pico8)?;
    Ok(())
}

fn update(mut pico8: Pico8) -> Result<(), BevyError> {
    let x = pico8.rnd(128);
    let y = pico8.rnd(128);
    let c = pico8.rnd(16);
    pset!(pico8, UVec2::new(x, y), PColor::Palette(c))?;
    Ok(())
}

fn main() {
    let mut app = App::new();
    app.add_systems(nano9::schedule::Init, init)
        .add_systems(nano9::schedule::Update, update);

    app.add_plugins(Nano9Plugins::default())
        .add_systems(Startup, load_and_insert_pico8(nano9::config::pico8::CONFIG))
        .add_systems(PreUpdate, run_pico8_when_loaded);

    #[cfg(feature = "minibuffer")]
    app.add_plugins(nano9::minibuffer::quick_plugin);
    app.run();
}