summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_waypoint.hpp.sq
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2010-01-04 19:42:29 +0000
committerfrosch <frosch@openttd.org>2010-01-04 19:42:29 +0000
commit1ed599f5cf6a0dec14d91d5442a08560e254d35c (patch)
tree969762c9812a05d4cc85ffc522779bbc7667496a /src/ai/api/ai_waypoint.hpp.sq
parent27fc22a76bf470c2088a38d57d9cd2a8e481cafb (diff)
downloadopenttd-1ed599f5cf6a0dec14d91d5442a08560e254d35c.tar.xz
(svn r18725) -Add: [NoAI] AIWaypoint::WaypointType and AIWaypoint::HasWaypointType().
-Change: [NoAI] Constructor of AIWaypoint now takes a WaypointType to also handle buoys. -Remove: [NoAI] AIBuoyList.
Diffstat (limited to 'src/ai/api/ai_waypoint.hpp.sq')
-rw-r--r--src/ai/api/ai_waypoint.hpp.sq6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ai/api/ai_waypoint.hpp.sq b/src/ai/api/ai_waypoint.hpp.sq
index bdecda56b..704f39701 100644
--- a/src/ai/api/ai_waypoint.hpp.sq
+++ b/src/ai/api/ai_waypoint.hpp.sq
@@ -13,6 +13,8 @@
namespace SQConvert {
/* Allow enums to be used as Squirrel parameters */
+ template <> AIWaypoint::WaypointType GetParam(ForceType<AIWaypoint::WaypointType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIWaypoint::WaypointType)tmp; }
+ template <> int Return<AIWaypoint::WaypointType>(HSQUIRRELVM vm, AIWaypoint::WaypointType res) { sq_pushinteger(vm, (int32)res); return 1; }
template <> AIWaypoint::ErrorMessages GetParam(ForceType<AIWaypoint::ErrorMessages>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIWaypoint::ErrorMessages)tmp; }
template <> int Return<AIWaypoint::ErrorMessages>(HSQUIRRELVM vm, AIWaypoint::ErrorMessages res) { sq_pushinteger(vm, (int32)res); return 1; }
@@ -30,6 +32,9 @@ void SQAIWaypoint_Register(Squirrel *engine)
SQAIWaypoint.PreRegister(engine, "AIBaseStation");
SQAIWaypoint.AddConstructor<void (AIWaypoint::*)(), 1>(engine, "x");
+ SQAIWaypoint.DefSQConst(engine, AIWaypoint::WAYPOINT_RAIL, "WAYPOINT_RAIL");
+ SQAIWaypoint.DefSQConst(engine, AIWaypoint::WAYPOINT_BUOY, "WAYPOINT_BUOY");
+ SQAIWaypoint.DefSQConst(engine, AIWaypoint::WAYPOINT_ANY, "WAYPOINT_ANY");
SQAIWaypoint.DefSQConst(engine, AIWaypoint::ERR_WAYPOINT_BASE, "ERR_WAYPOINT_BASE");
SQAIWaypoint.DefSQConst(engine, AIWaypoint::ERR_WAYPOINT_TOO_CLOSE_TO_ANOTHER_WAYPOINT, "ERR_WAYPOINT_TOO_CLOSE_TO_ANOTHER_WAYPOINT");
SQAIWaypoint.DefSQConst(engine, AIWaypoint::ERR_WAYPOINT_ADJOINS_MULTIPLE_WAYPOINTS, "ERR_WAYPOINT_ADJOINS_MULTIPLE_WAYPOINTS");
@@ -42,6 +47,7 @@ void SQAIWaypoint_Register(Squirrel *engine)
SQAIWaypoint.DefSQStaticMethod(engine, &AIWaypoint::IsValidWaypoint, "IsValidWaypoint", 2, ".i");
SQAIWaypoint.DefSQStaticMethod(engine, &AIWaypoint::GetWaypointID, "GetWaypointID", 2, ".i");
+ SQAIWaypoint.DefSQStaticMethod(engine, &AIWaypoint::HasWaypointType, "HasWaypointType", 3, ".ii");
SQAIWaypoint.PostRegister(engine);
}