Fix RunEvent #2
100
src/v0.rs
100
src/v0.rs
@@ -257,27 +257,12 @@ pub struct GravityEvent{
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone,Copy,Hash,Eq,PartialEq)]
|
||||
pub enum RunEventType{
|
||||
#[brw(magic=0u32)]
|
||||
Prepare,
|
||||
#[brw(magic=1u32)]
|
||||
Start,
|
||||
#[brw(magic=2u32)]
|
||||
Finish,
|
||||
#[brw(magic=3u32)]
|
||||
Clear,
|
||||
#[brw(magic=4u32)]
|
||||
Flag,
|
||||
#[brw(magic=5u32)]
|
||||
LoadState,
|
||||
#[brw(magic=6u32)]
|
||||
SaveState,
|
||||
}
|
||||
pub struct ModeID(pub u32);
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone,Copy,Hash,Eq,PartialEq)]
|
||||
pub enum ModeSpec{
|
||||
Exactly(u32),
|
||||
Exactly(ModeID),
|
||||
#[brw(magic=-1i32)]
|
||||
All,
|
||||
#[brw(magic=-2i32)]
|
||||
@@ -288,6 +273,39 @@ pub enum ModeSpec{
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone,Copy,Hash,Eq,PartialEq)]
|
||||
pub enum Style{
|
||||
#[brw(magic=1u32)]
|
||||
Autohop,
|
||||
#[brw(magic=2u32)]
|
||||
Scroll,
|
||||
#[brw(magic=3u32)]
|
||||
Sideways,
|
||||
#[brw(magic=4u32)]
|
||||
HalfSideways,
|
||||
#[brw(magic=5u32)]
|
||||
WOnly,
|
||||
#[brw(magic=6u32)]
|
||||
AOnly,
|
||||
#[brw(magic=7u32)]
|
||||
Backwards,
|
||||
#[brw(magic=8u32)]
|
||||
Faste,
|
||||
#[brw(magic=14u32)]
|
||||
LowGravity,
|
||||
#[brw(magic=501u32)]
|
||||
Fly,
|
||||
#[brw(magic=502u32)]
|
||||
FlySustain,
|
||||
#[brw(magic=503u32)]
|
||||
Rocket,
|
||||
#[brw(magic=504u32)]
|
||||
Style3DStrafe,
|
||||
#[brw(magic=505u32)]
|
||||
RocketStrafe,
|
||||
}
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone,Copy,Hash,Eq,PartialEq)]
|
||||
pub enum FlagReason{
|
||||
#[brw(magic=0u32)]
|
||||
Anticheat,
|
||||
@@ -309,17 +327,57 @@ pub enum FlagReason{
|
||||
Teleport,
|
||||
#[brw(magic=9u32)]
|
||||
Practice,
|
||||
#[brw(magic=b"data")]
|
||||
None,
|
||||
}
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone)]
|
||||
pub struct RunEvent{
|
||||
pub run_event_type:RunEventType,
|
||||
pub struct RunEventPrepare{
|
||||
pub mode:ModeID,
|
||||
pub style:Style,
|
||||
}
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone)]
|
||||
pub struct RunEventZone{
|
||||
pub mode:ModeID,
|
||||
#[br(temp)]
|
||||
#[bw(ignore)]
|
||||
#[brw(magic=b"data")]
|
||||
_magic:(),
|
||||
}
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone)]
|
||||
pub struct RunEventFlag{
|
||||
pub mode:ModeSpec,
|
||||
pub flag_reason:FlagReason,
|
||||
}
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone)]
|
||||
pub struct RunEventPractice{
|
||||
pub mode:ModeSpec,
|
||||
pub state_id:u32,
|
||||
}
|
||||
#[binrw]
|
||||
#[brw(little)]
|
||||
#[derive(Debug,Clone)]
|
||||
pub enum RunEvent{
|
||||
#[brw(magic=0u32)]
|
||||
Prepare(RunEventPrepare),
|
||||
#[brw(magic=1u32)]
|
||||
Start(RunEventZone),
|
||||
#[brw(magic=2u32)]
|
||||
Finish(RunEventZone),
|
||||
#[brw(magic=3u32)]
|
||||
Clear(RunEventZone),
|
||||
#[brw(magic=4u32)]
|
||||
Flag(RunEventFlag),
|
||||
#[brw(magic=5u32)]
|
||||
LoadState(RunEventPractice),
|
||||
#[brw(magic=6u32)]
|
||||
SaveState(RunEventPractice),
|
||||
}
|
||||
|
||||
// camera
|
||||
#[binrw]
|
||||
|
||||
Reference in New Issue
Block a user