--- a/src/ai/api/ai_road.hpp.sq Mon Apr 07 18:41:49 2008 +0000
+++ b/src/ai/api/ai_road.hpp.sq Mon Apr 07 22:08:28 2008 +0000
@@ -1,6 +1,10 @@
#include "ai_road.hpp"
namespace SQConvert {
+ /* Allow enums to be used as Squirrel parameters */
+ template <> AIRoad::ErrorMessages GetParam(ForceType<AIRoad::ErrorMessages>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIRoad::ErrorMessages)tmp; }
+ template <> int Return<AIRoad::ErrorMessages>(HSQUIRRELVM vm, AIRoad::ErrorMessages res) { sq_pushinteger(vm, (int32)res); return 1; }
+
/* Allow AIRoad to be used as Squirrel parameter */
template <> AIRoad *GetParam(ForceType<AIRoad *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIRoad *)instance; }
template <> AIRoad &GetParam(ForceType<AIRoad &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIRoad *)instance; }
@@ -14,6 +18,33 @@
SQAIRoad.PreRegister(engine);
SQAIRoad.AddConstructor<void (AIRoad::*)(), 1>(engine, "x");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_BASE, "ERR_ROAD_BASE");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_WORKS_IN_PROGRESS, "ERR_ROAD_WORKS_IN_PROGRESS");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_DRIVE_THROUGH_WRONG_DIRECTION, "ERR_ROAD_DRIVE_THROUGH_WRONG_DIRECTION");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD, "ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_TOO_MANY_STATIONS, "ERR_ROAD_TOO_MANY_STATIONS");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_TOO_MANY_STATIONS_IN_TOWN, "ERR_ROAD_TOO_MANY_STATIONS_IN_TOWN");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_TOO_CLOSE_TO_ANOTHER_STATION, "ERR_ROAD_TOO_CLOSE_TO_ANOTHER_STATION");
+ SQAIRoad.DefSQConst(engine, AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS, "ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS");
+
+ AIError::RegisterErrorMap(STR_ROAD_WORKS_IN_PROGRESS, AIRoad::ERR_ROAD_WORKS_IN_PROGRESS);
+ AIError::RegisterErrorMap(STR_DRIVE_THROUGH_ERROR_DIRECTION, AIRoad::ERR_ROAD_DRIVE_THROUGH_WRONG_DIRECTION);
+ AIError::RegisterErrorMap(STR_DRIVE_THROUGH_ERROR_ON_TOWN_ROAD, AIRoad::ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD);
+ AIError::RegisterErrorMap(STR_3008_TOO_MANY_STATIONS_LOADING, AIRoad::ERR_ROAD_TOO_MANY_STATIONS);
+ AIError::RegisterErrorMap(STR_TOO_MANY_TRUCK_STOPS, AIRoad::ERR_ROAD_TOO_MANY_STATIONS);
+ AIError::RegisterErrorMap(STR_TOO_MANY_BUS_STOPS, AIRoad::ERR_ROAD_TOO_MANY_STATIONS);
+ AIError::RegisterErrorMap(STR_3007_TOO_MANY_STATIONS_LOADING, AIRoad::ERR_ROAD_TOO_MANY_STATIONS_IN_TOWN);
+ AIError::RegisterErrorMap(STR_3009_TOO_CLOSE_TO_ANOTHER_STATION, AIRoad::ERR_ROAD_TOO_CLOSE_TO_ANOTHER_STATION);
+ AIError::RegisterErrorMap(STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION, AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS);
+
+ AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_WORKS_IN_PROGRESS, "ERR_ROAD_WORKS_IN_PROGRESS");
+ AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_DRIVE_THROUGH_WRONG_DIRECTION, "ERR_ROAD_DRIVE_THROUGH_WRONG_DIRECTION");
+ AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD, "ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD");
+ AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_TOO_MANY_STATIONS, "ERR_ROAD_TOO_MANY_STATIONS");
+ AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_TOO_MANY_STATIONS_IN_TOWN, "ERR_ROAD_TOO_MANY_STATIONS_IN_TOWN");
+ AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_TOO_CLOSE_TO_ANOTHER_STATION, "ERR_ROAD_TOO_CLOSE_TO_ANOTHER_STATION");
+ AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS, "ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS");
+
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::GetClassName, "GetClassName", 1, "x");
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadTile, "IsRoadTile", 2, "xi");
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadDepotTile, "IsRoadDepotTile", 2, "xi");