(svn r10582) [NoAI] -Codechange: allow getting the president and company names of other companies as well as their company value and bank balance.
#include "ai_stationlist.hpp"
namespace SQConvert {
/* Allow enums to be used as Squirrel parameters */
template <> AIStationList::StationType GetParam(ForceType<AIStationList::StationType>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIStationList::StationType)tmp; }
template <> int Return<AIStationList::StationType>(HSQUIRRELVM vm, AIStationList::StationType res) { sq_pushinteger(vm, (int32)res); return 1; }
/* Allow AIStationList to be used as Squirrel parameter */
template <> AIStationList *GetParam(ForceType<AIStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationList *)instance; }
template <> AIStationList &GetParam(ForceType<AIStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationList *)instance; }
template <> const AIStationList *GetParam(ForceType<const AIStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationList *)instance; }
template <> const AIStationList &GetParam(ForceType<const AIStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationList *)instance; }
}; // namespace SQConvert
void SQAIStationListRegister(Squirrel *engine) {
DefSQClass <AIStationList> SQAIStationList("AIStationList");
SQAIStationList.PreRegister(engine, "AIAbstractList");
SQAIStationList.AddConstructor<void (AIStationList::*)(AIStationList::StationType type), 2>(engine, "xi");
SQAIStationList.DefSQConst(engine, AIStationList::STATION_ANY, "STATION_ANY");
SQAIStationList.DefSQConst(engine, AIStationList::STATION_TRAIN, "STATION_TRAIN");
SQAIStationList.DefSQConst(engine, AIStationList::STATION_TRUCK_STOP, "STATION_TRUCK_STOP");
SQAIStationList.DefSQConst(engine, AIStationList::STATION_BUS_STOP, "STATION_BUS_STOP");
SQAIStationList.DefSQConst(engine, AIStationList::STATION_AIRPORT, "STATION_AIRPORT");
SQAIStationList.DefSQConst(engine, AIStationList::STATION_DOCK, "STATION_DOCK");
SQAIStationList.DefSQStaticMethod(engine, &AIStationList::GetClassName, "GetClassName", 1, "x");
SQAIStationList.PostRegister(engine);
}
namespace SQConvert {
/* Allow AIVehicleStationList to be used as Squirrel parameter */
template <> AIVehicleStationList *GetParam(ForceType<AIVehicleStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleStationList *)instance; }
template <> AIVehicleStationList &GetParam(ForceType<AIVehicleStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleStationList *)instance; }
template <> const AIVehicleStationList *GetParam(ForceType<const AIVehicleStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleStationList *)instance; }
template <> const AIVehicleStationList &GetParam(ForceType<const AIVehicleStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleStationList *)instance; }
}; // namespace SQConvert
void SQAIVehicleStationListRegister(Squirrel *engine) {
DefSQClass <AIVehicleStationList> SQAIVehicleStationList("AIVehicleStationList");
SQAIVehicleStationList.PreRegister(engine, "AIAbstractList");
SQAIVehicleStationList.AddConstructor<void (AIVehicleStationList::*)(VehicleID vehicle_id), 2>(engine, "xi");
SQAIVehicleStationList.DefSQStaticMethod(engine, &AIVehicleStationList::GetClassName, "GetClassName", 1, "x");
SQAIVehicleStationList.PostRegister(engine);
}