# HG changeset patch # User truelight # Date 1174401042 0 # Node ID 15689f09d1f5c9af202bf29b6a67963395e605b3 # Parent d67653613da47da9f8a2b24f18b7889ddf9e9578 (svn r9375) [NoAI] -Fix r9374: make AIOrder() work for SQ (enums not yet) diff -r d67653613da4 -r 15689f09d1f5 src/ai/ai_squirrel.cpp --- a/src/ai/ai_squirrel.cpp Tue Mar 20 14:27:54 2007 +0000 +++ b/src/ai/ai_squirrel.cpp Tue Mar 20 14:30:42 2007 +0000 @@ -28,8 +28,9 @@ #include "api/ai_execmode.hpp" #include "api/ai_industry.hpp" #include "api/ai_map.hpp" +#include "api/ai_order.hpp" +#include "api/ai_road.hpp" #include "api/ai_settings.hpp" -#include "api/ai_road.hpp" #include "api/ai_testmode.hpp" #include "api/ai_town.hpp" #include "api/ai_transactionmode.hpp" @@ -193,6 +194,7 @@ SQAIExecModeRegister(this->engine); SQAIIndustryRegister(this->engine); SQAIMapRegister(this->engine); + SQAIOrderRegister(this->engine); SQAIRoadRegister(this->engine); SQAISettingsRegister(this->engine); SQAITestModeRegister(this->engine); diff -r d67653613da4 -r 15689f09d1f5 src/ai/api/ai_order.hpp --- a/src/ai/api/ai_order.hpp Tue Mar 20 14:27:54 2007 +0000 +++ b/src/ai/api/ai_order.hpp Tue Mar 20 14:30:42 2007 +0000 @@ -156,6 +156,10 @@ DECLARE_ENUM_AS_BIT_SET(AIOrder::AIOrderFlags); #ifdef DEFINE_SQUIRREL_CLASS +/* Custom template to allow AIOrderFlags as param */ +template <> AIOrder::AIOrderFlags SQConvert::GetParam(ForceType, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIOrder::AIOrderFlags)tmp; } +template <> int SQConvert::Return(HSQUIRRELVM vm, AIOrder::AIOrderFlags res) { sq_pushinteger(vm, (int32)res); return 1; } + void SQAIOrderRegister(Squirrel *engine) { DefSQClass SQAIOrder("AIOrder"); SQAIOrder.PreRegister(engine);