summaryrefslogtreecommitdiffstats
path: root/src/fakerw/rtquat.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fakerw/rtquat.h')
-rw-r--r--src/fakerw/rtquat.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/fakerw/rtquat.h b/src/fakerw/rtquat.h
new file mode 100644
index 00000000..450342b2
--- /dev/null
+++ b/src/fakerw/rtquat.h
@@ -0,0 +1,15 @@
+#pragma once
+
+// Same layout as rw::Quat but with ugly imag,real separation which i don't want in librw
+struct RtQuat
+{
+ rw::V3d imag;
+ rw::float32 real;
+};
+
+RwBool RtQuatConvertFromMatrix(RtQuat * const qpQuat, const RwMatrix * const mpMatrix);
+RtQuat *RtQuatRotate(RtQuat * quat, const RwV3d * axis, RwReal angle, RwOpCombineType combineOp);
+const RtQuat *RtQuatQueryRotate(const RtQuat *quat, RwV3d * unitAxis, RwReal * angle);
+RwV3d *RtQuatTransformVectors(RwV3d * vectorsOut, const RwV3d * vectorsIn, const RwInt32 numPoints, const RtQuat *quat);
+
+void RtQuatConvertToMatrix(const RtQuat * const qpQuat, RwMatrix * const mpMatrix);