From b6fede20bfeeed80383712cf4292e4a8de76322e Mon Sep 17 00:00:00 2001 From: Quaternions Date: Fri, 26 Jul 2024 16:57:41 -0700 Subject: [PATCH] work around broken binrw enums --- src/newtypes/gameplay_attributes.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/newtypes/gameplay_attributes.rs b/src/newtypes/gameplay_attributes.rs index 06e168e..6b5cb92 100644 --- a/src/newtypes/gameplay_attributes.rs +++ b/src/newtypes/gameplay_attributes.rs @@ -46,10 +46,15 @@ impl From for Contacti #[binrw::binrw] #[brw(little)] pub enum ContactingBehaviour{ + #[brw(magic=0u8)] Surf, + #[brw(magic=1u8)] Ladder(ContactingLadder), + #[brw(magic=2u8)] NoJump, + #[brw(magic=3u8)] Cling, + #[brw(magic=4u8)] Elastic(u32), } impl Into for ContactingBehaviour{ @@ -138,7 +143,9 @@ impl From for Accelerator{ #[binrw::binrw] #[brw(little)] pub enum Booster{ + #[brw(magic=0u8)] Velocity(Planar64Vec3), + #[brw(magic=1u8)] Energy{direction:Planar64Vec3,energy:Planar64}, } impl Into for Booster{ @@ -200,18 +207,24 @@ impl From for Trajecto #[binrw::binrw] #[brw(little)] pub enum SetTrajectory{ + #[brw(magic=0u8)] AirTime(Time), + #[brw(magic=1u8)] Height(Planar64), + #[brw(magic=2u8)] DotVelocity{direction:Planar64Vec3,dot:Planar64}, + #[brw(magic=3u8)] TargetPointTime{ target_point:Planar64Vec3, time:Time, }, + #[brw(magic=4u8)] TargetPointSpeed{ target_point:Planar64Vec3, speed:Planar64, trajectory_choice:TrajectoryChoice, }, + #[brw(magic=5u8)] Velocity(Planar64Vec3), } impl Into for SetTrajectory{ @@ -400,11 +413,14 @@ impl From for In #[binrw::binrw] #[brw(little)] pub enum CollisionAttributes{ + #[brw(magic=0u8)] Decoration, + #[brw(magic=1u8)] Contact{ contacting:ContactingAttributes, general:GeneralAttributes, }, + #[brw(magic=2u8)] Intersect{ intersecting:IntersectingAttributes, general:GeneralAttributes,