(svn r10564) [NoAI] -Add: added a AITileList valuator that checks for a NxM buildable spot with the entry from the AITileList as top-left tile
#include "ai_stationlist_valuator.hpp"
namespace SQConvert {
/* Allow AIStationListLocation to be used as Squirrel parameter */
template <> AIStationListLocation *GetParam(ForceType<AIStationListLocation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListLocation *)instance; }
template <> AIStationListLocation &GetParam(ForceType<AIStationListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListLocation *)instance; }
template <> const AIStationListLocation *GetParam(ForceType<const AIStationListLocation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListLocation *)instance; }
template <> const AIStationListLocation &GetParam(ForceType<const AIStationListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListLocation *)instance; }
}; // namespace SQConvert
void SQAIStationListLocationRegister(Squirrel *engine) {
DefSQClass <AIStationListLocation> SQAIStationListLocation("AIStationListLocation");
SQAIStationListLocation.PreRegister(engine);
SQAIStationListLocation.AddConstructor<void (AIStationListLocation::*)(), 1>(engine, "x");
SQAIStationListLocation.DefSQStaticMethod(engine, &AIStationListLocation::GetClassName, "GetClassName", 1, "x");
SQAIStationListLocation.PostRegister(engine);
}
namespace SQConvert {
/* Allow AIStationListCargoWaiting to be used as Squirrel parameter */
template <> AIStationListCargoWaiting *GetParam(ForceType<AIStationListCargoWaiting *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListCargoWaiting *)instance; }
template <> AIStationListCargoWaiting &GetParam(ForceType<AIStationListCargoWaiting &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListCargoWaiting *)instance; }
template <> const AIStationListCargoWaiting *GetParam(ForceType<const AIStationListCargoWaiting *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListCargoWaiting *)instance; }
template <> const AIStationListCargoWaiting &GetParam(ForceType<const AIStationListCargoWaiting &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListCargoWaiting *)instance; }
}; // namespace SQConvert
void SQAIStationListCargoWaitingRegister(Squirrel *engine) {
DefSQClass <AIStationListCargoWaiting> SQAIStationListCargoWaiting("AIStationListCargoWaiting");
SQAIStationListCargoWaiting.PreRegister(engine);
SQAIStationListCargoWaiting.AddConstructor<void (AIStationListCargoWaiting::*)(CargoID cargo_type), 2>(engine, "xi");
SQAIStationListCargoWaiting.DefSQStaticMethod(engine, &AIStationListCargoWaiting::GetClassName, "GetClassName", 1, "x");
SQAIStationListCargoWaiting.PostRegister(engine);
}
namespace SQConvert {
/* Allow AIStationListCargoRating to be used as Squirrel parameter */
template <> AIStationListCargoRating *GetParam(ForceType<AIStationListCargoRating *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListCargoRating *)instance; }
template <> AIStationListCargoRating &GetParam(ForceType<AIStationListCargoRating &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListCargoRating *)instance; }
template <> const AIStationListCargoRating *GetParam(ForceType<const AIStationListCargoRating *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListCargoRating *)instance; }
template <> const AIStationListCargoRating &GetParam(ForceType<const AIStationListCargoRating &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListCargoRating *)instance; }
}; // namespace SQConvert
void SQAIStationListCargoRatingRegister(Squirrel *engine) {
DefSQClass <AIStationListCargoRating> SQAIStationListCargoRating("AIStationListCargoRating");
SQAIStationListCargoRating.PreRegister(engine);
SQAIStationListCargoRating.AddConstructor<void (AIStationListCargoRating::*)(CargoID cargo_type), 2>(engine, "xi");
SQAIStationListCargoRating.DefSQStaticMethod(engine, &AIStationListCargoRating::GetClassName, "GetClassName", 1, "x");
SQAIStationListCargoRating.PostRegister(engine);
}
namespace SQConvert {
/* Allow AIStationListDistanceManhattanToTile to be used as Squirrel parameter */
template <> AIStationListDistanceManhattanToTile *GetParam(ForceType<AIStationListDistanceManhattanToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListDistanceManhattanToTile *)instance; }
template <> AIStationListDistanceManhattanToTile &GetParam(ForceType<AIStationListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListDistanceManhattanToTile *)instance; }
template <> const AIStationListDistanceManhattanToTile *GetParam(ForceType<const AIStationListDistanceManhattanToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListDistanceManhattanToTile *)instance; }
template <> const AIStationListDistanceManhattanToTile &GetParam(ForceType<const AIStationListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListDistanceManhattanToTile *)instance; }
}; // namespace SQConvert
void SQAIStationListDistanceManhattanToTileRegister(Squirrel *engine) {
DefSQClass <AIStationListDistanceManhattanToTile> SQAIStationListDistanceManhattanToTile("AIStationListDistanceManhattanToTile");
SQAIStationListDistanceManhattanToTile.PreRegister(engine);
SQAIStationListDistanceManhattanToTile.AddConstructor<void (AIStationListDistanceManhattanToTile::*)(TileIndex tile), 2>(engine, "xi");
SQAIStationListDistanceManhattanToTile.DefSQStaticMethod(engine, &AIStationListDistanceManhattanToTile::GetClassName, "GetClassName", 1, "x");
SQAIStationListDistanceManhattanToTile.PostRegister(engine);
}
namespace SQConvert {
/* Allow AIStationListDistanceSquareToTile to be used as Squirrel parameter */
template <> AIStationListDistanceSquareToTile *GetParam(ForceType<AIStationListDistanceSquareToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListDistanceSquareToTile *)instance; }
template <> AIStationListDistanceSquareToTile &GetParam(ForceType<AIStationListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListDistanceSquareToTile *)instance; }
template <> const AIStationListDistanceSquareToTile *GetParam(ForceType<const AIStationListDistanceSquareToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationListDistanceSquareToTile *)instance; }
template <> const AIStationListDistanceSquareToTile &GetParam(ForceType<const AIStationListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationListDistanceSquareToTile *)instance; }
}; // namespace SQConvert
void SQAIStationListDistanceSquareToTileRegister(Squirrel *engine) {
DefSQClass <AIStationListDistanceSquareToTile> SQAIStationListDistanceSquareToTile("AIStationListDistanceSquareToTile");
SQAIStationListDistanceSquareToTile.PreRegister(engine);
SQAIStationListDistanceSquareToTile.AddConstructor<void (AIStationListDistanceSquareToTile::*)(TileIndex tile), 2>(engine, "xi");
SQAIStationListDistanceSquareToTile.DefSQStaticMethod(engine, &AIStationListDistanceSquareToTile::GetClassName, "GetClassName", 1, "x");
SQAIStationListDistanceSquareToTile.PostRegister(engine);
}