]> git.lizzy.rs Git - mt_ser.git/commitdiff
Support cgmath and collision
authorLizzy Fleckenstein <eliasfleckenstein@web.de>
Sun, 26 Feb 2023 21:30:48 +0000 (22:30 +0100)
committerLizzy Fleckenstein <eliasfleckenstein@web.de>
Sun, 26 Feb 2023 21:30:48 +0000 (22:30 +0100)
Cargo.toml
src/lib.rs

index 56363d979cac7fb331664e3916f35ba5f82dfe99..0e54d56ccd0fd07e5770501735442ddd6a889601 100644 (file)
@@ -5,6 +5,8 @@ edition = "2021"
 
 [dependencies]
 byteorder = "1.4.3"
+cgmath = "0.17.0"
+collision = "0.20.1"
 enumset = { git = "https://github.com/Lymia/enumset" }
 flate2 = { version = "1.0.25", features = ["zlib"], default-features = false }
 mt_ser_derive = { path = "derive" }
index 7cce3b6ffb562f5986e660ce18f436bdf14b2897..ef726150e2e47027453b69afba478915b23d1a5d 100644 (file)
@@ -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<T> {
 struct RemoteRangeToInclusive<T> {
     end: T,
 }
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Vector1")]
+#[allow(unused)]
+struct RemoteVector1<T> {
+    x: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Vector2")]
+#[allow(unused)]
+struct RemoteVector2<T> {
+    x: T,
+    y: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Vector3")]
+#[allow(unused)]
+struct RemoteVector3<T> {
+    x: T,
+    y: T,
+    z: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Vector4")]
+#[allow(unused)]
+struct RemoteVector4<T> {
+    x: T,
+    y: T,
+    z: T,
+    w: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Point1")]
+#[allow(unused)]
+struct RemotePoint1<T> {
+    x: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Point2")]
+#[allow(unused)]
+struct RemotePoint2<T> {
+    x: T,
+    y: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Point3")]
+#[allow(unused)]
+struct RemotePoint3<T> {
+    x: T,
+    y: T,
+    z: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Deg")]
+#[allow(unused)]
+struct RemoteDeg<T>(T);
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Rad")]
+#[allow(unused)]
+struct RemoteRad<T>(T);
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Euler")]
+#[allow(unused)]
+struct RemoteEuler<T> {
+    x: T,
+    y: T,
+    z: T,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Aabb2")]
+#[allow(unused)]
+struct RemoteAabb2<T> {
+    min: Point2<T>,
+    max: Point2<T>,
+}
+
+#[derive(MtSerialize, MtDeserialize)]
+#[mt(typename = "Aabb3")]
+#[allow(unused)]
+struct RemoteAabb3<T> {
+    min: Point3<T>,
+    max: Point3<T>,
+}