aboutsummaryrefslogtreecommitdiff
path: root/src/common/math.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/math.hpp')
-rw-r--r--src/common/math.hpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/common/math.hpp b/src/common/math.hpp
new file mode 100644
index 0000000..de856e8
--- /dev/null
+++ b/src/common/math.hpp
@@ -0,0 +1,61 @@
+#pragma once
+
+
+#include <common/defs.hpp>
+
+#include <cstddef>
+#include <cstdint>
+
+
+struct V2ST {
+ size_t x;
+ size_t y;
+
+ bool operator==(V2ST &b);
+ bool operator==(const V2ST& other) const {
+ return x == other.x && y == other.y;
+ }
+};
+
+struct V2F32 {
+ float x;
+ float y;
+
+ V2F32 operator/(float scalar);
+ V2F32 operator*(float scalar);
+ V2F32 operator+(V2F32 other);
+};
+
+struct V3F32 {
+ float x;
+ float y;
+ float z;
+
+ V3F32 operator/(float scalar);
+ V3F32 operator*(float scalar);
+};
+
+struct V4F32 {
+ float x;
+ float y;
+ float z;
+ float w;
+
+ V4F32 operator/(float scalar);
+ V4F32 operator*(float scalar);
+};
+
+struct V2I32 {
+ int32_t x;
+ int32_t y;
+
+ bool operator==(V2I32 other);
+};
+
+struct Color {
+ float r;
+ float g;
+ float b;
+ float a;
+};
+