summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_townlist.hpp.sq
diff options
context:
space:
mode:
authortruebrain <truebrain@openttd.org>2011-11-23 16:09:46 +0000
committertruebrain <truebrain@openttd.org>2011-11-23 16:09:46 +0000
commitef02931a3232abb594c1d00db8c1faacd829999f (patch)
tree04976dddb31d74236466978f9cda04073e6d477c /src/ai/api/ai_townlist.hpp.sq
parent44a1ae8cf20f3869a044b697b9d8e2ec9d0048d9 (diff)
downloadopenttd-ef02931a3232abb594c1d00db8c1faacd829999f.tar.xz
(svn r23302) -Add: [NoAI] AITown::GetCargoGoal and AITown::GetGrowthRate to query statistics about a town regarding its growing
Diffstat (limited to 'src/ai/api/ai_townlist.hpp.sq')
-rw-r--r--src/ai/api/ai_townlist.hpp.sq20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ai/api/ai_townlist.hpp.sq b/src/ai/api/ai_townlist.hpp.sq
index 574e830ab..88d64edcd 100644
--- a/src/ai/api/ai_townlist.hpp.sq
+++ b/src/ai/api/ai_townlist.hpp.sq
@@ -30,3 +30,23 @@ void SQAITownList_Register(Squirrel *engine)
SQAITownList.PostRegister(engine);
}
+
+namespace SQConvert {
+ /* Allow AITownEffectList to be used as Squirrel parameter */
+ template <> inline AITownEffectList *GetParam(ForceType<AITownEffectList *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownEffectList *)instance; }
+ template <> inline AITownEffectList &GetParam(ForceType<AITownEffectList &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownEffectList *)instance; }
+ template <> inline const AITownEffectList *GetParam(ForceType<const AITownEffectList *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownEffectList *)instance; }
+ template <> inline const AITownEffectList &GetParam(ForceType<const AITownEffectList &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownEffectList *)instance; }
+ template <> inline int Return<AITownEffectList *>(HSQUIRRELVM vm, AITownEffectList *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AITownEffectList", res, NULL, DefSQDestructorCallback<AITownEffectList>); return 1; }
+} // namespace SQConvert
+
+template <> const char *GetClassName<AITownEffectList>() { return "AITownEffectList"; }
+
+void SQAITownEffectList_Register(Squirrel *engine)
+{
+ DefSQClass <AITownEffectList> SQAITownEffectList("AITownEffectList");
+ SQAITownEffectList.PreRegister(engine, "AIList");
+ SQAITownEffectList.AddConstructor<void (AITownEffectList::*)(), 1>(engine, "x");
+
+ SQAITownEffectList.PostRegister(engine);
+}