From ab7c3c2d7ce52d96dba6e13e852ef4dfd4f473ce Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Sun, 26 Feb 2023 22:30:48 +0100 Subject: Support cgmath and collision --- src/lib.rs | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index 7cce3b6..ef72615 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,6 +8,8 @@ pub use paste; pub use zstd; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; +use cgmath::{Deg, Euler, Point1, Point2, Point3, Rad, Vector1, Vector2, Vector3, Vector4}; +use collision::{Aabb2, Aabb3}; use enumset::{EnumSet, EnumSetTypeWithRepr}; use paste::paste as paste_macro; use std::{ @@ -614,3 +616,96 @@ struct RemoteRangeTo { struct RemoteRangeToInclusive { end: T, } + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Vector1")] +#[allow(unused)] +struct RemoteVector1 { + x: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Vector2")] +#[allow(unused)] +struct RemoteVector2 { + x: T, + y: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Vector3")] +#[allow(unused)] +struct RemoteVector3 { + x: T, + y: T, + z: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Vector4")] +#[allow(unused)] +struct RemoteVector4 { + x: T, + y: T, + z: T, + w: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Point1")] +#[allow(unused)] +struct RemotePoint1 { + x: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Point2")] +#[allow(unused)] +struct RemotePoint2 { + x: T, + y: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Point3")] +#[allow(unused)] +struct RemotePoint3 { + x: T, + y: T, + z: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Deg")] +#[allow(unused)] +struct RemoteDeg(T); + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Rad")] +#[allow(unused)] +struct RemoteRad(T); + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Euler")] +#[allow(unused)] +struct RemoteEuler { + x: T, + y: T, + z: T, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Aabb2")] +#[allow(unused)] +struct RemoteAabb2 { + min: Point2, + max: Point2, +} + +#[derive(MtSerialize, MtDeserialize)] +#[mt(typename = "Aabb3")] +#[allow(unused)] +struct RemoteAabb3 { + min: Point3, + max: Point3, +} -- cgit v1.2.3