From 67f4fe3d1d18339a2d56f418dd76db9020b26538 Mon Sep 17 00:00:00 2001 From: Lwmte <3331699+Lwmte@users.noreply.github.com> Date: Mon, 17 Mar 2025 23:29:44 +0100 Subject: [PATCH] Added probe constructor without room number --- Documentation/doc/2 classes/Collision.Probe.html | 7 ++++--- Documentation/doc/2 classes/Flow.Settings.html | 2 +- .../Scripting/Internal/TEN/Collision/Probe.cpp | 13 +++++++++---- TombEngine/Scripting/Internal/TEN/Collision/Probe.h | 3 ++- .../Internal/TEN/Flow/Settings/Settings.cpp | 2 +- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Documentation/doc/2 classes/Collision.Probe.html b/Documentation/doc/2 classes/Collision.Probe.html index 86465e30c..4ff672202 100644 --- a/Documentation/doc/2 classes/Collision.Probe.html +++ b/Documentation/doc/2 classes/Collision.Probe.html @@ -122,7 +122,7 @@

Functions

- + @@ -220,7 +220,7 @@
- Probe(pos, roomNumber) + Probe(pos[, roomNumber])
Create a Probe at a specified world position in a room. @@ -235,7 +235,8 @@
  • roomNumber int - [opt] Room number. Must be used if probing a position in an overlapping room. + Room number. Must be used if probing a position in an overlapping room. + (optional)
  • diff --git a/Documentation/doc/2 classes/Flow.Settings.html b/Documentation/doc/2 classes/Flow.Settings.html index 4f76f9212..326b6b4ce 100644 --- a/Documentation/doc/2 classes/Flow.Settings.html +++ b/Documentation/doc/2 classes/Flow.Settings.html @@ -517,7 +517,7 @@ diff --git a/TombEngine/Scripting/Internal/TEN/Collision/Probe.cpp b/TombEngine/Scripting/Internal/TEN/Collision/Probe.cpp index 392410c40..765715dbb 100644 --- a/TombEngine/Scripting/Internal/TEN/Collision/Probe.cpp +++ b/TombEngine/Scripting/Internal/TEN/Collision/Probe.cpp @@ -26,6 +26,7 @@ namespace TEN::Scripting::Collision void Probe::Register(sol::table& parent) { using ctors = sol::constructors< + Probe(const Vec3&), Probe(const Vec3&, int), Probe(const Vec3&, int, const Vec3&, float), Probe(const Vec3&, int, const Rotation&, float), @@ -65,13 +66,17 @@ namespace TEN::Scripting::Collision /// Create a Probe at a specified world position in a room. // @function Probe // @tparam Vec3 pos World position. - // @tparam int roomNumber[opt] Room number. Must be used if probing a position in an overlapping room. + // @tparam[opt] int roomNumber Room number. Must be used if probing a position in an overlapping room. // @treturn Probe A new Probe. - Probe::Probe(const Vec3& pos, TypeOrNil roomNumber) + Probe::Probe(const Vec3& pos) { auto convertedPos = pos.ToVector3i(); - int roomNumberValue = ValueOr(roomNumber, FindRoomNumber(convertedPos)); - _pointCollision = GetPointCollision(convertedPos, roomNumberValue); + _pointCollision = GetPointCollision(convertedPos, FindRoomNumber(convertedPos)); + } + + Probe::Probe(const Vec3& pos, int roomNumber) + { + _pointCollision = GetPointCollision(pos.ToVector3i(), roomNumber); } /// Create a Probe that casts from an origin world position in a room in a given direction for a specified distance. diff --git a/TombEngine/Scripting/Internal/TEN/Collision/Probe.h b/TombEngine/Scripting/Internal/TEN/Collision/Probe.h index 86fb90459..d96a78ed8 100644 --- a/TombEngine/Scripting/Internal/TEN/Collision/Probe.h +++ b/TombEngine/Scripting/Internal/TEN/Collision/Probe.h @@ -31,7 +31,8 @@ namespace TEN::Scripting::Collision // Constructors Probe() = default; - Probe(const Vec3& pos, TypeOrNil roomNumber); + Probe(const Vec3& pos); + Probe(const Vec3& pos, int roomNumber); Probe(const Vec3& origin, int roomNumber, const Vec3& dir, float dist); Probe(const Vec3& origin, int roomNumber, const Rotation& rot, float dist); Probe(const Vec3& origin, int roomNumber, const Rotation& rot, const Vec3& relOffset); diff --git a/TombEngine/Scripting/Internal/TEN/Flow/Settings/Settings.cpp b/TombEngine/Scripting/Internal/TEN/Flow/Settings/Settings.cpp index c72382a24..51cda08ee 100644 --- a/TombEngine/Scripting/Internal/TEN/Flow/Settings/Settings.cpp +++ b/TombEngine/Scripting/Internal/TEN/Flow/Settings/Settings.cpp @@ -124,7 +124,7 @@ namespace TEN::Scripting "lasersightLightColor", &CameraSettings::LasersightLightColor, /// Specify whether camera can collide with objects. - // @tfield bool objectCollision when enabled, camera will collide with moveables and statics. Disable or TR4-like camera behaviour. + // @tfield bool objectCollision when enabled, camera will collide with moveables and statics. Disable for TR4-like camera behaviour. "objectCollision", &CameraSettings::ObjectCollision); }
    Probe(pos, roomNumber)Probe(pos[, roomNumber]) Create a Probe at a specified world position in a room.