src/ai/api/ai_tile.hpp.sq
branchnoai
changeset 10089 e351169bf3a5
parent 9834 9abe20fc83e5
child 10094 e737405b06dd
--- a/src/ai/api/ai_tile.hpp.sq	Mon Apr 07 18:32:42 2008 +0000
+++ b/src/ai/api/ai_tile.hpp.sq	Mon Apr 07 18:37:23 2008 +0000
@@ -2,6 +2,8 @@
 
 namespace SQConvert {
 	/* Allow enums to be used as Squirrel parameters */
+	template <> AITile::ErrorMessages GetParam(ForceType<AITile::ErrorMessages>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::ErrorMessages)tmp; }
+	template <> int Return<AITile::ErrorMessages>(HSQUIRRELVM vm, AITile::ErrorMessages res) { sq_pushinteger(vm, (int32)res); return 1; }
 	template <> AITile::Slope GetParam(ForceType<AITile::Slope>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::Slope)tmp; }
 	template <> int Return<AITile::Slope>(HSQUIRRELVM vm, AITile::Slope res) { sq_pushinteger(vm, (int32)res); return 1; }
 
@@ -18,27 +20,39 @@
 	SQAITile.PreRegister(engine);
 	SQAITile.AddConstructor<void (AITile::*)(), 1>(engine, "x");
 
-	SQAITile.DefSQConst(engine, AITile::SLOPE_FLAT,     "SLOPE_FLAT");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_W,        "SLOPE_W");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_S,        "SLOPE_S");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_E,        "SLOPE_E");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_N,        "SLOPE_N");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP,    "SLOPE_STEEP");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_NW,       "SLOPE_NW");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_SW,       "SLOPE_SW");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_SE,       "SLOPE_SE");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_NE,       "SLOPE_NE");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_EW,       "SLOPE_EW");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_NS,       "SLOPE_NS");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_ELEVATED, "SLOPE_ELEVATED");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_NWS,      "SLOPE_NWS");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_WSE,      "SLOPE_WSE");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_SEN,      "SLOPE_SEN");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_ENW,      "SLOPE_ENW");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_W,  "SLOPE_STEEP_W");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_S,  "SLOPE_STEEP_S");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_E,  "SLOPE_STEEP_E");
-	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_N,  "SLOPE_STEEP_N");
+	SQAITile.DefSQConst(engine, AITile::ERR_TILE_BASE,              "ERR_TILE_BASE");
+	SQAITile.DefSQConst(engine, AITile::ERR_TILE_TOO_HIGH,          "ERR_TILE_TOO_HIGH");
+	SQAITile.DefSQConst(engine, AITile::ERR_TILE_TOO_LOW,           "ERR_TILE_TOO_LOW");
+	SQAITile.DefSQConst(engine, AITile::ERR_TILE_TOO_CLOSE_TO_EDGE, "ERR_TILE_TOO_CLOSE_TO_EDGE");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_FLAT,                 "SLOPE_FLAT");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_W,                    "SLOPE_W");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_S,                    "SLOPE_S");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_E,                    "SLOPE_E");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_N,                    "SLOPE_N");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP,                "SLOPE_STEEP");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_NW,                   "SLOPE_NW");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_SW,                   "SLOPE_SW");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_SE,                   "SLOPE_SE");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_NE,                   "SLOPE_NE");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_EW,                   "SLOPE_EW");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_NS,                   "SLOPE_NS");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_ELEVATED,             "SLOPE_ELEVATED");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_NWS,                  "SLOPE_NWS");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_WSE,                  "SLOPE_WSE");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_SEN,                  "SLOPE_SEN");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_ENW,                  "SLOPE_ENW");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_W,              "SLOPE_STEEP_W");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_S,              "SLOPE_STEEP_S");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_E,              "SLOPE_STEEP_E");
+	SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_N,              "SLOPE_STEEP_N");
+
+	AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL,     AITile::ERR_TILE_TOO_HIGH);
+	AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL,     AITile::ERR_TILE_TOO_LOW);
+	AIError::RegisterErrorMap(STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP, AITile::ERR_TILE_TOO_CLOSE_TO_EDGE);
+
+	AIError::RegisterErrorMapString(AITile::ERR_TILE_TOO_HIGH,          "ERR_TILE_TOO_HIGH");
+	AIError::RegisterErrorMapString(AITile::ERR_TILE_TOO_LOW,           "ERR_TILE_TOO_LOW");
+	AIError::RegisterErrorMapString(AITile::ERR_TILE_TOO_CLOSE_TO_EDGE, "ERR_TILE_TOO_CLOSE_TO_EDGE");
 
 	SQAITile.DefSQStaticMethod(engine, &AITile::GetClassName,               "GetClassName",               1, "x");
 	SQAITile.DefSQStaticMethod(engine, &AITile::IsBuildable,                "IsBuildable",                2, "xi");