PlayDate API
Mostly high-level rusty API for the Playdate handheld gaming system.
Usage with cargo-playdate is strongly recommended.
What's inside
Covered parts of API:
- controls
- display
- file system
- graphics (with color)
- sound
- sprite
- system (with menu)
- sys - base, low-level cffi bindings
Plus some extensions to make it all more rust-ish.
Not yet covered parts:
- scoreboards
- json
- lua
Also there is no default entry-point (read as event-handler) for your application. Not yet, I'm working on it.
How to start
Currently there is no any beautiful HL examples ready yet. It will be in v0.2.0 or little bit earlier as well as default entry-point that mentioned above.
Prerequisites
Follow the instructions for:
- SDK
- cargo-playdate
- playdate-sys (prerequisites only)
Hello World
Note, this is incomplete and not-so production-ready crate.
As minimum currently you'll need to implement missed entry-point for your program by yourself. But you can find some examples with ugly & primitive entry-point impl, so you'll need to add something like this code to your program.
Short Way
- Install cargo-playdate.
cd where/your/project/will/becargo playdate init --lib --full-metadata --deps="playdate"(more about it)cargo playdate run
Done. Now take a look at long way below for details what's happen.
Alternative Way
Just run cargo new <your options> and add do following:
- Add [playdate crate][playdate-crate] as dependency to your project
#![no_std]for library, or#![no_std] #![no_main]for executable binary- Look at existing example for api-parts like that
- Add minimally required metadata to build package:
package.metadata.playdate.bundle-id = "com.yourcompany.game"- Read about playdate metadata format if needed
- Install cargo-playdate to build your project
- Run
cargo playdate run - Help this project somehow.
❤️🔥
This software is not sponsored or supported by Panic.