aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/util/AbsoluutPosition.cpp
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-18 19:17:38 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-18 19:17:38 +0100
commitd0286486b5fddcfb32dcd1f3010aef5368ee678e (patch)
treeb5d73c664ec0a1884dec4238eba866411d49d9d8 /src/crepe/util/AbsoluutPosition.cpp
parentd8e6773be7206994716c29e1ee8195b10f094bdf (diff)
rendering met absoluut position util functie, particle ben ik nog jaro aan het overleggen dus er die werkt niet goed
Diffstat (limited to 'src/crepe/util/AbsoluutPosition.cpp')
-rw-r--r--src/crepe/util/AbsoluutPosition.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/crepe/util/AbsoluutPosition.cpp b/src/crepe/util/AbsoluutPosition.cpp
new file mode 100644
index 0000000..296cc09
--- /dev/null
+++ b/src/crepe/util/AbsoluutPosition.cpp
@@ -0,0 +1,20 @@
+#include "AbsoluutPosition.h"
+
+using namespace crepe;
+
+vec2 AbsoluutPosition::get_position(const Transform & transform, const vec2 & offset) {
+ // Get the rotation in radians
+ float radians1 = transform.rotation * (M_PI / 180.0);
+
+ // Calculate total offset with scale
+ vec2 total_offset = offset * transform.scale;
+
+ // Rotate
+ float rotated_total_offset_x1
+ = total_offset.x * cos(radians1) - total_offset.y * sin(radians1);
+ float rotated_total_offset_y1
+ = total_offset.x * sin(radians1) + total_offset.y * cos(radians1);
+
+ // Final positions considering scaling and rotation
+ return (transform.position + vec2(rotated_total_offset_x1, rotated_total_offset_y1));
+}