src/ai/api/ai_stationlist_valuator.hpp.sq
author truebrain
Sat, 23 Feb 2008 14:42:07 +0000
branchnoai
changeset 9741 53c1c5850e01
parent 9680 5ed7bbfd51c7
child 9753 7209db94ad12
permissions -rw-r--r--
(svn r12221) [NoAI] -Fix: Register functions are no _Register functions, and always on top of the sort list
#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; }
	template <> int Return<AIStationListLocation *>(HSQUIRRELVM vm, AIStationListLocation *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIStationListLocation", res, NULL, DefSQDestructorCallback<AIStationListLocation>); return 1; }
}; // namespace SQConvert

void SQAIStationListLocation_Register(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; }
	template <> int Return<AIStationListCargoWaiting *>(HSQUIRRELVM vm, AIStationListCargoWaiting *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIStationListCargoWaiting", res, NULL, DefSQDestructorCallback<AIStationListCargoWaiting>); return 1; }
}; // namespace SQConvert

void SQAIStationListCargoWaiting_Register(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; }
	template <> int Return<AIStationListCargoRating *>(HSQUIRRELVM vm, AIStationListCargoRating *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIStationListCargoRating", res, NULL, DefSQDestructorCallback<AIStationListCargoRating>); return 1; }
}; // namespace SQConvert

void SQAIStationListCargoRating_Register(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; }
	template <> int Return<AIStationListDistanceManhattanToTile *>(HSQUIRRELVM vm, AIStationListDistanceManhattanToTile *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIStationListDistanceManhattanToTile", res, NULL, DefSQDestructorCallback<AIStationListDistanceManhattanToTile>); return 1; }
}; // namespace SQConvert

void SQAIStationListDistanceManhattanToTile_Register(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; }
	template <> int Return<AIStationListDistanceSquareToTile *>(HSQUIRRELVM vm, AIStationListDistanceSquareToTile *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIStationListDistanceSquareToTile", res, NULL, DefSQDestructorCallback<AIStationListDistanceSquareToTile>); return 1; }
}; // namespace SQConvert

void SQAIStationListDistanceSquareToTile_Register(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);
}