Browse Source

VCAI::getFlaggedObjects: use visitableObjs for better performance

This change is drastically improve performance on maps with water. One part that caused issue 2454.
Arseniy Shestakov 9 years ago
parent
commit
25fd4d85e2
1 changed files with 4 additions and 4 deletions
  1. 4 4
      AI/VCAI/VCAI.cpp

+ 4 - 4
AI/VCAI/VCAI.cpp

@@ -1762,11 +1762,11 @@ void VCAI::retreiveVisitableObjs()
 std::vector<const CGObjectInstance *> VCAI::getFlaggedObjects() const
 std::vector<const CGObjectInstance *> VCAI::getFlaggedObjects() const
 {
 {
 	std::vector<const CGObjectInstance *> ret;
 	std::vector<const CGObjectInstance *> ret;
-	retreiveVisitableObjs(ret, true);
-	vstd::erase_if(ret, [](const CGObjectInstance *obj)
+	for(const CGObjectInstance *obj : visitableObjs)
 	{
 	{
-		return obj->tempOwner != ai->playerID;
-	});
+		if(obj->tempOwner == ai->playerID)
+			ret.push_back(obj);
+	}
 	return ret;
 	return ret;
 }
 }