1
0
Fork 0

(svn r23399) -Fix (r23362): a randomizer should return a random value, not always the first

release/1.2
truebrain 2011-12-02 23:40:32 +00:00
parent f259e6bf5d
commit 5a9523bfa0
1 changed files with 6 additions and 4 deletions

View File

@ -81,13 +81,15 @@ AIInfo *AIScannerInfo::SelectRandomAI() const
/* Find the Nth item from the array */ /* Find the Nth item from the array */
ScriptInfoList::const_iterator it = this->info_single_list.begin(); ScriptInfoList::const_iterator it = this->info_single_list.begin();
AIInfo *i = static_cast<AIInfo *>((*it).second);
while (!i->UseAsRandomAI()) it++; #define GetAIInfo(it) static_cast<AIInfo *>((*it).second)
while (!GetAIInfo(it)->UseAsRandomAI()) it++;
for (; pos > 0; pos--) { for (; pos > 0; pos--) {
it++; it++;
while (!i->UseAsRandomAI()) it++; while (!GetAIInfo(it)->UseAsRandomAI()) it++;
} }
return i; return GetAIInfo(it);
#undef GetAIInfo
} }
AIInfo *AIScannerInfo::FindInfo(const char *nameParam, int versionParam, bool force_exact_match) AIInfo *AIScannerInfo::FindInfo(const char *nameParam, int versionParam, bool force_exact_match)