summaryrefslogtreecommitdiff
path: root/src/core/Placeable.cpp
diff options
context:
space:
mode:
authorclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
committerclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
commit9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686 (patch)
treea84756b82513739a2672db3a1f0ec579db6d18ff /src/core/Placeable.cpp
downloadre3-miami.tar.gz
re3-miami.zip
Import Cai1Hsu/re3 @ miami (reVC / GTA:VC decompilation)HEADmiami
Snapshot import (no upstream history) into git.ancap.in.ua/claude, per @lzcnt. Source: https://github.com/Cai1Hsu/re3 branch miami.
Diffstat (limited to 'src/core/Placeable.cpp')
-rw-r--r--src/core/Placeable.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/core/Placeable.cpp b/src/core/Placeable.cpp
new file mode 100644
index 0000000..6efc154
--- /dev/null
+++ b/src/core/Placeable.cpp
@@ -0,0 +1,62 @@
+#include "common.h"
+#include "Placeable.h"
+
+
+CPlaceable::CPlaceable(void)
+{
+ m_matrix.SetScale(1.0f);
+}
+
+void
+CPlaceable::SetHeading(float angle)
+{
+ CVector pos = GetMatrix().GetPosition();
+ m_matrix.SetRotateZ(angle);
+ GetMatrix().Translate(pos);
+}
+
+bool
+CPlaceable::IsWithinArea(float x1, float y1, float x2, float y2)
+{
+ float tmp;
+
+ if(x1 > x2){
+ tmp = x1;
+ x1 = x2;
+ x2 = tmp;
+ }
+ if(y1 > y2){
+ tmp = y1;
+ y1 = y2;
+ y2 = tmp;
+ }
+
+ return x1 <= GetPosition().x && GetPosition().x <= x2 &&
+ y1 <= GetPosition().y && GetPosition().y <= y2;
+}
+
+bool
+CPlaceable::IsWithinArea(float x1, float y1, float z1, float x2, float y2, float z2)
+{
+ float tmp;
+
+ if(x1 > x2){
+ tmp = x1;
+ x1 = x2;
+ x2 = tmp;
+ }
+ if(y1 > y2){
+ tmp = y1;
+ y1 = y2;
+ y2 = tmp;
+ }
+ if(z1 > z2){
+ tmp = z1;
+ z1 = z2;
+ z2 = tmp;
+ }
+
+ return x1 <= GetPosition().x && GetPosition().x <= x2 &&
+ y1 <= GetPosition().y && GetPosition().y <= y2 &&
+ z1 <= GetPosition().z && GetPosition().z <= z2;
+}