nova_r8/
lib.rs

1/* SPDX-License-Identifier: GPL-3.0-only */
2
3extern crate libc;
4mod game;
5mod vec2;
6mod actor;
7mod audio;
8mod material;
9mod scene;
10
11pub struct Game {
12}
13
14#[repr(C)]
15#[derive(Debug, Clone, Copy)]
16pub struct Vec2 {
17    pub x: f32,
18    pub y: f32,
19}
20
21#[derive(Debug, Clone)]
22pub struct Actor {
23    actor: *mut libc::c_void,
24    shared: bool,
25}
26
27#[derive(Debug, Clone, Copy)]
28pub struct Audio {
29    audio: *mut libc::c_void,
30}
31
32#[derive(Debug, Clone, Copy)]
33pub struct Material {
34    material: *mut libc::c_void,
35}
36
37#[derive(Debug, Clone, Copy)]
38pub struct Scene {
39    scene: *mut libc::c_void,
40}
41
42pub enum Key {
43    Key0 = 48,
44    Key1 = 49,
45    Key2 = 50,
46    Key3 = 51,
47    Key4 = 52,
48    Key5 = 53,
49    Key6 = 54,
50    Key7 = 55,
51    Key8 = 56,
52    Key9 = 57,
53    KeyA = 97,
54    KeyB = 98,
55    KeyC = 99,
56    KeyD = 100,
57    KeyE = 101,
58    KeyF = 102,
59    KeyG = 103,
60    KeyH = 104,
61    KeyI = 105,
62    KeyJ = 106,
63    KeyK = 107,
64    KeyL = 108,
65    KeyM = 109,
66    KeyN = 110,
67    KeyO = 111,
68    KeyP = 112,
69    KeyQ = 113,
70    KeyR = 114,
71    KeyS = 115,
72    KeyT = 116,
73    KeyU = 117,
74    KeyV = 118,
75    KeyW = 119,
76    KeyX = 120,
77    KeyY = 121,
78    KeyZ = 122,
79}
80
81pub enum Button {
82    Left = 1,
83    Middle = 2,
84    Right = 3,
85}