Firstly include the krust_core crate:
```rust extern crate krust_core;
pub use krust_core; ```
Next, initialise the engine:
rust
let mut krust = Krust::new();
Now call start on the engine passing a boxed scene:
rust
krust.start(Box::new(GameScene::new()));
In order to create a scene you need a struct that implements the 'scene' trait like so:
```rust struct KirovScene { krust: *mut Krust, il_index: i32, }
impl scene::Scene for KirovScene { type Renderer = graphics::Renderer; type Krust = Krust;
fn init(&mut self, krust: *mut Krust){
}
fn update(&mut self) {
}
fn render(&mut self, r: &mut graphics::Renderer) {
}
unsafe fn delete(&mut self) {
}
} ```
The functions: 'init', 'update', 'render' and 'delete' are required.
New Additions - Single image sprites can now be created from the 'Sprite' class - Layering/Z-Ordering is now supported - Controller rescanning is now an required option in launch parameters - Controller Dead-zone can now be customized via 'setdeadzone()' function - Background colour can now be customized from the launch parameters - Improvements to krusttimer - Sprite::nullsprite() option now avalibe for creating temporary empty sprite - Camera position now setable - Some changes to how Vsync is applied
Bug Fixes - launch parameters now show error on missing parameters - Key inputs are now consistently polled