summaryrefslogtreecommitdiff
path: root/src/ai/ai_scanner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ai/ai_scanner.cpp')
-rw-r--r--src/ai/ai_scanner.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/ai/ai_scanner.cpp b/src/ai/ai_scanner.cpp
index 6971a6956..36607c217 100644
--- a/src/ai/ai_scanner.cpp
+++ b/src/ai/ai_scanner.cpp
@@ -22,6 +22,8 @@
void AIScanner::RescanAIDir()
{
+ /* Get rid of information of old AIs. */
+ this->Reset();
this->ScanScriptDir("info.nut", AI_DIR);
this->ScanScriptDir("library.nut", AI_LIBRARY_DIR);
}
@@ -59,7 +61,7 @@ AIScanner::AIScanner() :
AI_CreateAIInfoDummy(this->engine->GetVM());
}
-AIScanner::~AIScanner()
+void AIScanner::Reset()
{
AIInfoList::iterator it = this->info_list.begin();
for (; it != this->info_list.end(); it++) {
@@ -76,6 +78,15 @@ AIScanner::~AIScanner()
delete (*lit).second;
}
+ this->info_list.clear();
+ this->info_single_list.clear();
+ this->library_list.clear();
+}
+
+AIScanner::~AIScanner()
+{
+ this->Reset();
+
delete this->info_dummy;
}