summaryrefslogtreecommitdiff
path: root/src/ai/ai_instance.cpp
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2009-08-19 16:14:15 +0000
committeryexo <yexo@openttd.org>2009-08-19 16:14:15 +0000
commita4afa140f36673cd7dac1277aa4dd1d45618363b (patch)
tree8617da9c602cfe25338ae27da8ba08bc8ff6415c /src/ai/ai_instance.cpp
parent0780dc8138ae6edf3aee217f48e7759804a95464 (diff)
downloadopenttd-a4afa140f36673cd7dac1277aa4dd1d45618363b.tar.xz
(svn r17223) -Change [NoAI] [FS#2980]: Crash an AI when it uses a DoCommand / Sleep instead of just printing an error message in the AI Debug Window
Diffstat (limited to 'src/ai/ai_instance.cpp')
-rw-r--r--src/ai/ai_instance.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ai/ai_instance.cpp b/src/ai/ai_instance.cpp
index 6d3397a70..a5ef5135b 100644
--- a/src/ai/ai_instance.cpp
+++ b/src/ai/ai_instance.cpp
@@ -352,6 +352,10 @@ void AIInstance::GameLoop()
} catch (AI_VMSuspend e) {
this->suspend = e.GetSuspendTime();
this->callback = e.GetSuspendCallback();
+ } catch (AI_FatalError e) {
+ this->engine->ThrowError(e.GetErrorMessage());
+ this->engine->ResumeError();
+ this->Died();
}
this->is_started = true;
@@ -368,6 +372,10 @@ void AIInstance::GameLoop()
} catch (AI_VMSuspend e) {
this->suspend = e.GetSuspendTime();
this->callback = e.GetSuspendCallback();
+ } catch (AI_FatalError e) {
+ this->engine->ThrowError(e.GetErrorMessage());
+ this->engine->ResumeError();
+ this->Died();
}
}