Rovella

A game engine/library which will be multipurpose but will be primarily aimed at 2D games and visual novels.

Note: This version is unstable

Features

Planned

Platforms:

Example Program

Note that this just creates a window, a programmer must call Window::get_platform_window_data() on their window object. ```rust use rovella::event::{EventManager, EventType}; use rovella::keys::Key; use rovella::platform::*;

fn main() {

let mut running: bool = true;

let mut ev_manager = EventManager::new();
let window = Window::new(
    "hello world",
    500,
    500,
    100,
    100
).expect("window failed");

while running {
    window.update(ev_manager.get_event_que());
    loop {
        let ev_option = ev_manager.poll_events();
        if ev_option.is_none() {
            break;
        }

        let raw_event = ev_option.unwrap();

        match raw_event.e_type {
            EventType::WinClose => running = false,
            EventType::KeyDown => {
                let key: Key = raw_event.get_key();
                match key {
                    Key::Escape => {
                        running = false;
                    }
                    _ => {}
                }
            }
            _ => {}
        }
    }
}

window.shutdown();

} ```