aboutsummaryrefslogtreecommitdiff
path: root/src/common/Collision/Models
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-04-07 00:21:51 +0200
committerShauren <shauren.trinity@gmail.com>2021-09-25 01:04:21 +0200
commit453b59de57b3502163adc99a6fc9cbeec0645dcf (patch)
tree82a2975fc6ecdf1de3e72edf595473aeb4ed8ef0 /src/common/Collision/Models
parent3d9d6fbcb80eaab72acbe6ef09b9b1c29f2439c7 (diff)
Core/Maps: Adjusted logic in GetFullTerrainStatusForPosition to closer match what the client does regarding being inside WMOs
Closes #21625 Closes #21624 Closes #21516 (cherry picked from commit b9c6bbb51df0ed10f74617482740fedb91ff5366)
Diffstat (limited to 'src/common/Collision/Models')
-rw-r--r--src/common/Collision/Models/WorldModel.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/common/Collision/Models/WorldModel.cpp b/src/common/Collision/Models/WorldModel.cpp
index 9bbb6278950..4c0f7042b75 100644
--- a/src/common/Collision/Models/WorldModel.cpp
+++ b/src/common/Collision/Models/WorldModel.cpp
@@ -398,9 +398,7 @@ namespace VMAP
vertices(vert.begin()), triangles(tris.begin()), hit(false) { }
bool operator()(G3D::Ray const& ray, uint32 entry, float& distance, bool /*pStopAtFirstHit*/)
{
- bool result = IntersectTriangle(triangles[entry], vertices, ray, distance);
- if (result)
- hit = true;
+ hit = IntersectTriangle(triangles[entry], vertices, ray, distance) || hit;
return hit;
}
std::vector<Vector3>::const_iterator vertices;
@@ -422,7 +420,6 @@ namespace VMAP
{
if (triangles.empty() || !iBound.contains(pos))
return false;
- GModelRayCallback callback(triangles, vertices);
Vector3 rPos = pos - 0.1f * down;
float dist = G3D::finf();
G3D::Ray ray(rPos, down);