added serde and wrote some of the configuration code
parent
518ccff2aa
commit
e1c61d6799
|
@ -18,4 +18,5 @@ glutin-winit = "0.3.0"
|
|||
image = "0.25.1"
|
||||
raw-window-handle = "0.6.1"
|
||||
ron = "0.8.1"
|
||||
serde = { version = "1.0.199", features = ["derive"] }
|
||||
winit = "0.28.7"
|
||||
|
|
|
@ -0,0 +1,169 @@
|
|||
/// Configs Module
|
||||
///
|
||||
///
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ron;
|
||||
|
||||
#[derive(Deserialize, Serialize)]
|
||||
pub struct Configs
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
#[derive(Deserialize, Serialize)]
|
||||
pub struct DisplayConfigs
|
||||
{
|
||||
// TODO set Resolutions
|
||||
//Resolution:
|
||||
// i think thats it tbqh
|
||||
}
|
||||
|
||||
|
||||
#[derive(Deserialize, Serialize)]
|
||||
pub struct InputConfigs
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[derive(Deserialize, Serialize)]
|
||||
pub struct KeyboardConfig
|
||||
{
|
||||
// directionals
|
||||
Up: u32,
|
||||
Down: u32,
|
||||
Right: u32,
|
||||
Left: u32,
|
||||
|
||||
// the punches
|
||||
LightPunch: u32,
|
||||
MediumPunch: u32,
|
||||
HeavyPunch: u32,
|
||||
|
||||
// the kicks
|
||||
LightKick: u32,
|
||||
MediumKick: u32,
|
||||
HeavyKick: u32,
|
||||
|
||||
// Macros
|
||||
PunchMacro: u32,
|
||||
KickMacro: u32
|
||||
}
|
||||
|
||||
impl Default for KeyboardConfig
|
||||
{
|
||||
fn default() -> Self
|
||||
{
|
||||
KeyboardConfig {
|
||||
Up: ScanCodes::W,
|
||||
Down: ScanCodes::S,
|
||||
Right: ScanCodes::D,
|
||||
Left: ScanCodes::A,
|
||||
LightPunch: ScanCodes::U,
|
||||
MediumPunch: ScanCodes::I,
|
||||
HeavyPunch: ScanCodes::O,
|
||||
LightKick: ScanCodes::H,
|
||||
MediumKick: ScanCodes::J,
|
||||
HeavyKick: ScanCodes::K,
|
||||
PunchMacro: ScanCodes::P,
|
||||
KickMacro: ScanCodes::L
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// these ones are written after this
|
||||
/// https://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html
|
||||
/// TODO finish this
|
||||
/// UNTESTED AND UNFINISHED
|
||||
#[repr(u32)]
|
||||
pub enum ScanCodes
|
||||
{
|
||||
Escape = 0x01,
|
||||
Key1 = 0x02,
|
||||
Key2 = 0x03,
|
||||
Key3 = 0x04,
|
||||
Key4 = 0x05,
|
||||
Key5 = 0x06,
|
||||
Key6 = 0x07,
|
||||
Key7 = 0x08,
|
||||
Key8 = 0x09,
|
||||
Key9 = 0x0a,
|
||||
Key0 = 0x0b,
|
||||
Minus = 0x0c,
|
||||
Equal = 0x0d,
|
||||
BackSpace = 0x0e,
|
||||
Tab = 0x0f,
|
||||
Q = 0x10,
|
||||
W = 0x11,
|
||||
E = 0x12,
|
||||
R = 0x13,
|
||||
T = 0x14,
|
||||
Y = 0x15,
|
||||
U = 0x16,
|
||||
I = 0x17,
|
||||
O = 0x18,
|
||||
P = 0x19,
|
||||
OpenBracket = 0x1a,
|
||||
CloseBrack = 0x1b,
|
||||
Enter = 0x1c,
|
||||
LCtrl = 0x1d,
|
||||
A = 0x1e,
|
||||
S = 0x1f,
|
||||
D = 0x20,
|
||||
F = 0x21,
|
||||
G = 0x22,
|
||||
H = 0x23,
|
||||
J = 0x24,
|
||||
K = 0x25,
|
||||
L = 0x26,
|
||||
SemiColon = 0x27,
|
||||
Quote = 0x28,
|
||||
Tilde = 0x29,
|
||||
LShift = 0x2a,
|
||||
Pipe = 0x2b,
|
||||
Z = 0x2c,
|
||||
X = 0x2d,
|
||||
C = 0x2e,
|
||||
V = 0x2f,
|
||||
B = 0x30,
|
||||
N = 0x31,
|
||||
M = 0x32,
|
||||
// TODO figure out what these are called lmao
|
||||
// "<" and ">"
|
||||
LeftTri = 0x33,
|
||||
RightTri = 0x34,
|
||||
QMark = 0x35,
|
||||
RShift = 0x36,
|
||||
KeyPad = 0x37,
|
||||
LAlt = 0x38,
|
||||
Space = 0x39,
|
||||
Caps = 0x3a,
|
||||
// NOTE Skip the Function Keys,
|
||||
// Delusional
|
||||
// will have to do logic later to just ignore the call for that lmao
|
||||
Numlock = 0x45,
|
||||
ScrollLock = 0x46,
|
||||
KeyPad7 = 0x47,
|
||||
KeyPad8 = 0x48,
|
||||
KeyPad9 = 0x49,
|
||||
KeyPadMinus = 0x4a,
|
||||
KeyPad4 = 0x4b,
|
||||
KeyPad5 = 0x4c,
|
||||
KeyPad6 = 0x4d,
|
||||
KeyPadPlus = 0x4e,
|
||||
KeyPad1 = 0x4f,
|
||||
KeyPad2 = 0x50,
|
||||
KeyPad3 = 0x51,
|
||||
KeyPad0 = 0x52,
|
||||
KeyPadDot = 0x53,
|
||||
// NOTE don't bother with the ones after this, these are super important
|
||||
// (for some degenerates)
|
||||
UpArrow = 0x67,
|
||||
LeftArrow = 0x69,
|
||||
RightArrow = 0x6a,
|
||||
DownArrow = 0x6c
|
||||
}
|
Loading…
Reference in New Issue