summaryrefslogtreecommitdiff
path: root/src/ai
diff options
context:
space:
mode:
authortruebrain <truebrain@openttd.org>2011-11-29 23:21:42 +0000
committertruebrain <truebrain@openttd.org>2011-11-29 23:21:42 +0000
commitae8540f5e080adebca3e54c69aa7cd85a87e550b (patch)
tree31e3724978141eedb9841f1028c18c02edc23733 /src/ai
parent3da8b5097a4643d531182173df36ca4d3b45a4e2 (diff)
downloadopenttd-ae8540f5e080adebca3e54c69aa7cd85a87e550b.tar.xz
(svn r23361) -Codechange: move multiplayer DoCommand callback code so other script users can call their own
Diffstat (limited to 'src/ai')
-rw-r--r--src/ai/ai_core.cpp13
-rw-r--r--src/ai/ai_instance.cpp18
-rw-r--r--src/ai/ai_instance.hpp1
3 files changed, 19 insertions, 13 deletions
diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp
index ddab1efc3..462dac0e6 100644
--- a/src/ai/ai_core.cpp
+++ b/src/ai/ai_core.cpp
@@ -244,19 +244,6 @@
event->Release();
}
-/**
- * DoCommand callback function for all commands executed by AIs.
- * @param result The result of the command.
- * @param tile The tile on which the command was executed.
- * @param p1 p1 as given to DoCommandPInternal.
- * @param p2 p2 as given to DoCommandPInternal.
- */
-void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
-{
- Company::Get(_current_company)->ai_instance->DoCommandCallback(result, tile, p1, p2);
- Company::Get(_current_company)->ai_instance->Continue();
-}
-
/* static */ void AI::Save(CompanyID company)
{
if (!_networking || _network_server) {
diff --git a/src/ai/ai_instance.cpp b/src/ai/ai_instance.cpp
index bf6af96f3..940ba4eb3 100644
--- a/src/ai/ai_instance.cpp
+++ b/src/ai/ai_instance.cpp
@@ -227,3 +227,21 @@ void AIInstance::Died()
}
}
}
+
+/**
+ * DoCommand callback function for all commands executed by AIs.
+ * @param result The result of the command.
+ * @param tile The tile on which the command was executed.
+ * @param p1 p1 as given to DoCommandPInternal.
+ * @param p2 p2 as given to DoCommandPInternal.
+ */
+void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
+{
+ Company::Get(_current_company)->ai_instance->DoCommandCallback(result, tile, p1, p2);
+ Company::Get(_current_company)->ai_instance->Continue();
+}
+
+CommandCallback *AIInstance::GetDoCommandCallback()
+{
+ return &CcAI;
+}
diff --git a/src/ai/ai_instance.hpp b/src/ai/ai_instance.hpp
index 560155b2c..f0b66997e 100644
--- a/src/ai/ai_instance.hpp
+++ b/src/ai/ai_instance.hpp
@@ -31,6 +31,7 @@ private:
/* virtual */ void RegisterAPI();
/* virtual */ void Died();
+ /* virtual */ CommandCallback *GetDoCommandCallback();
/**
* Load squirrel scripts to emulate an older API.