From a7afa91fcdc35aa9d8e497983f3e31d7fe47b7e6 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 25 Jun 2011 21:08:54 +0400 Subject: [PATCH] [11675] Skip some unexpected results in ObjectPosSelector::AddUsedArea --- src/game/ObjectPosSelector.cpp | 4 ++++ src/shared/revision_nr.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/game/ObjectPosSelector.cpp b/src/game/ObjectPosSelector.cpp index d7735fdee..8e99b2b0d 100644 --- a/src/game/ObjectPosSelector.cpp +++ b/src/game/ObjectPosSelector.cpp @@ -54,6 +54,10 @@ void ObjectPosSelector::AddUsedArea(float size, float angle, float dist) // by Law of cosines, angle of searcher/used centers float sr_angle = acos((m_searcherDist * m_searcherDist + dist * dist - sr_dist * sr_dist) / (2 * m_searcherDist * dist)); + // skip some unexpected results. + if (!finite(sr_angle) || sr_angle <= 0) + return; + if (angle >= 0) m_UsedAreaLists[USED_POS_PLUS].insert(UsedArea(angle, sr_angle)); else diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 089f7387c..a43e1e3ab 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11674" + #define REVISION_NR "11675" #endif // __REVISION_NR_H__