#![no_std]
extern crate alloc;
#[macro_use]
extern crate sys;
extern crate playdate_system as system;
use core::ptr::NonNull;
use sys::EventLoopCtrl;
use sys::ffi::*;
use system::System;
use system::update::UpdateCtrl;
#[no_mangle]
fn event_handler(_api: NonNull<PlaydateAPI>, _event: PDSystemEvent, _: u32) -> EventLoopCtrl {
println!("Init");
System::Default().set_update_callback_static(Some(on_update), 42);
EventLoopCtrl::Continue
}
fn on_update(v: &mut i32) -> UpdateCtrl {
*v += 1;
println!("{v} / 100");
if *v == 100 {
println!("Stopping updates...");
System::Default().set_update_callback_static(None, ());
println!("See you.");
}
UpdateCtrl::Continue
}
ll_symbols!();