aboutsummaryrefslogtreecommitdiff
path: root/src/server/collision/Models
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-02-14 18:19:40 -0500
committerSubv <s.v.h21@hotmail.com>2012-02-14 18:19:40 -0500
commitc53d722aa29ff3a39d881de7d6ef86b79deffe48 (patch)
tree5e2fb4388553ad768b718542218df4ca8a8d44d5 /src/server/collision/Models
parent7d30b061f0bb4b7227b16c9fd97ddd5483d2357a (diff)
Core/Collision: Models with flag MOD_M2 (mostly trees, among some other objects) should not be taken into account for LoS checks, this check does not apply to gameobjects (yet)
closes #3495 Signed-off-by: Subv <s.v.h21@hotmail.com>
Diffstat (limited to 'src/server/collision/Models')
-rw-r--r--src/server/collision/Models/WorldModel.cpp3
-rwxr-xr-xsrc/server/collision/Models/WorldModel.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/server/collision/Models/WorldModel.cpp b/src/server/collision/Models/WorldModel.cpp
index a7de37d41e6..b49538a485d 100644
--- a/src/server/collision/Models/WorldModel.cpp
+++ b/src/server/collision/Models/WorldModel.cpp
@@ -420,6 +420,9 @@ namespace VMAP
bool WorldModel::IntersectRay(const G3D::Ray &ray, float &distance, bool stopAtFirstHit) const
{
+ // M2 models are not taken into account for LoS calculation
+ if (Flags & MOD_M2)
+ return false;
// small M2 workaround, maybe better make separate class with virtual intersection funcs
// in any case, there's no need to use a bound tree if we only have one submodel
if (groupModels.size() == 1)
diff --git a/src/server/collision/Models/WorldModel.h b/src/server/collision/Models/WorldModel.h
index ebf828e4935..dbaccb58573 100755
--- a/src/server/collision/Models/WorldModel.h
+++ b/src/server/collision/Models/WorldModel.h
@@ -113,6 +113,7 @@ namespace VMAP
bool GetLocationInfo(const G3D::Vector3 &p, const G3D::Vector3 &down, float &dist, LocationInfo &info) const;
bool writeFile(const std::string &filename);
bool readFile(const std::string &filename);
+ uint32 Flags;
protected:
uint32 RootWMOID;
std::vector<GroupModel> groupModels;