newtypes
This commit is contained in:
parent
91b90675c4
commit
cd65db0008
@ -1,7 +1,10 @@
|
|||||||
mod common;
|
mod common;
|
||||||
pub mod aabb;
|
pub mod aabb;
|
||||||
pub mod model;
|
pub mod model;
|
||||||
|
pub mod mouse;
|
||||||
pub mod integer;
|
pub mod integer;
|
||||||
|
pub mod physics;
|
||||||
|
pub mod instruction;
|
||||||
pub mod gameplay_modes;
|
pub mod gameplay_modes;
|
||||||
pub mod gameplay_style;
|
pub mod gameplay_style;
|
||||||
pub mod gameplay_attributes;
|
pub mod gameplay_attributes;
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
use super::common::flag;
|
use super::common::flag;
|
||||||
|
|
||||||
|
pub type ModeId=u32;
|
||||||
|
pub type StageId=u32;
|
||||||
|
|
||||||
#[binrw::binrw]
|
#[binrw::binrw]
|
||||||
#[brw(little)]
|
#[brw(little)]
|
||||||
pub struct StageElement{
|
pub struct StageElement{
|
||||||
pub header:u8,
|
pub header:u8,
|
||||||
pub stage_id:u32,
|
pub stage_id:StageId,
|
||||||
#[br(if(header&Self::JUMP_LIMIT!=0))]
|
#[br(if(header&Self::JUMP_LIMIT!=0))]
|
||||||
pub jump_limit:Option<u8>,
|
pub jump_limit:Option<u8>,
|
||||||
}
|
}
|
||||||
|
8
src/newtypes/instruction.rs
Normal file
8
src/newtypes/instruction.rs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
use super::integer::Time;
|
||||||
|
|
||||||
|
#[binrw::binrw]
|
||||||
|
#[brw(little)]
|
||||||
|
pub struct TimedPhysicsInstruction{
|
||||||
|
pub time:Time,
|
||||||
|
pub instruction:super::physics::PhysicsInputInstruction,
|
||||||
|
}
|
8
src/newtypes/mouse.rs
Normal file
8
src/newtypes/mouse.rs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
use super::integer::Time;
|
||||||
|
|
||||||
|
#[binrw::binrw]
|
||||||
|
#[brw(little)]
|
||||||
|
pub struct MouseState{
|
||||||
|
pub pos:[i32;2],
|
||||||
|
pub time:Time,
|
||||||
|
}
|
24
src/newtypes/physics.rs
Normal file
24
src/newtypes/physics.rs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
use super::common::Boolio;
|
||||||
|
|
||||||
|
#[binrw::binrw]
|
||||||
|
#[brw(little)]
|
||||||
|
pub enum PhysicsInputInstruction{
|
||||||
|
ReplaceMouse(super::mouse::MouseState,super::mouse::MouseState),
|
||||||
|
SetNextMouse(super::mouse::MouseState),
|
||||||
|
SetMoveRight(Boolio),
|
||||||
|
SetMoveUp(Boolio),
|
||||||
|
SetMoveBack(Boolio),
|
||||||
|
SetMoveLeft(Boolio),
|
||||||
|
SetMoveDown(Boolio),
|
||||||
|
SetMoveForward(Boolio),
|
||||||
|
SetJump(Boolio),
|
||||||
|
SetZoom(Boolio),
|
||||||
|
Restart,
|
||||||
|
Spawn(super::gameplay_modes::ModeId,super::gameplay_modes::StageId),
|
||||||
|
Idle,
|
||||||
|
//Idle: there were no input events, but the simulation is safe to advance to this timestep
|
||||||
|
//for interpolation / networking / playback reasons, most playback heads will always want
|
||||||
|
//to be 1 instruction ahead to generate the next state for interpolation.
|
||||||
|
PracticeFly,
|
||||||
|
SetSensitivity(super::integer::Ratio64Vec2),
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user