(svn r10612) [NoAI] -Add: allow a class as return value; pack the result in a SQ instance and it should work perfectly
--- a/src/ai/ai_squirrel.cpp Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/ai_squirrel.cpp Wed Jul 18 14:58:37 2007 +0000
@@ -28,6 +28,7 @@
#include "api/ai_cargo.hpp.sq"
#include "api/ai_company.hpp.sq"
#include "api/ai_controller.hpp.sq"
+#include "api/ai_event.hpp.sq"
#include "api/ai_execmode.hpp.sq"
#include "api/ai_industry.hpp.sq"
#include "api/ai_industrylist.hpp.sq"
@@ -214,6 +215,9 @@
SQAICargoRegister(this->engine);
SQAICompanyRegister(this->engine);
SQAIControllerRegister(this->engine);
+ SQAIEventChildRegister(this->engine);
+ SQAIEventRegister(this->engine);
+ SQAIEventVehicleCrashRegister(this->engine);
SQAIExecModeRegister(this->engine);
SQAIIndustryListDistanceManhattanToTileRegister(this->engine);
SQAIIndustryListDistanceSquareToTileRegister(this->engine);
--- a/src/ai/api/ai_abstractlist.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_abstractlist.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -9,12 +9,14 @@
template <> AIAbstractList::Valuator &GetParam(ForceType<AIAbstractList::Valuator &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAbstractList::Valuator *)instance; }
template <> const AIAbstractList::Valuator *GetParam(ForceType<const AIAbstractList::Valuator *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIAbstractList::Valuator *)instance; }
template <> const AIAbstractList::Valuator &GetParam(ForceType<const AIAbstractList::Valuator &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAbstractList::Valuator *)instance; }
+ template <> int Return<AIAbstractList::Valuator *>(HSQUIRRELVM vm, AIAbstractList::Valuator *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIAbstractList::Valuator", res, &instance); sq_pushobject(vm, instance); return 1; }
/* Allow AIAbstractList to be used as Squirrel parameter */
template <> AIAbstractList *GetParam(ForceType<AIAbstractList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIAbstractList *)instance; }
template <> AIAbstractList &GetParam(ForceType<AIAbstractList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAbstractList *)instance; }
template <> const AIAbstractList *GetParam(ForceType<const AIAbstractList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIAbstractList *)instance; }
template <> const AIAbstractList &GetParam(ForceType<const AIAbstractList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAbstractList *)instance; }
+ template <> int Return<AIAbstractList *>(HSQUIRRELVM vm, AIAbstractList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIAbstractList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIAbstractListRegister(Squirrel *engine) {
--- a/src/ai/api/ai_accounting.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_accounting.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIAccounting &GetParam(ForceType<AIAccounting &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAccounting *)instance; }
template <> const AIAccounting *GetParam(ForceType<const AIAccounting *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIAccounting *)instance; }
template <> const AIAccounting &GetParam(ForceType<const AIAccounting &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAccounting *)instance; }
+ template <> int Return<AIAccounting *>(HSQUIRRELVM vm, AIAccounting *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIAccounting", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIAccountingRegister(Squirrel *engine) {
--- a/src/ai/api/ai_airport.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_airport.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -10,6 +10,7 @@
template <> AIAirport &GetParam(ForceType<AIAirport &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAirport *)instance; }
template <> const AIAirport *GetParam(ForceType<const AIAirport *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIAirport *)instance; }
template <> const AIAirport &GetParam(ForceType<const AIAirport &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIAirport *)instance; }
+ template <> int Return<AIAirport *>(HSQUIRRELVM vm, AIAirport *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIAirport", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIAirportRegister(Squirrel *engine) {
--- a/src/ai/api/ai_base.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_base.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIBase &GetParam(ForceType<AIBase &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBase *)instance; }
template <> const AIBase *GetParam(ForceType<const AIBase *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIBase *)instance; }
template <> const AIBase &GetParam(ForceType<const AIBase &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBase *)instance; }
+ template <> int Return<AIBase *>(HSQUIRRELVM vm, AIBase *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIBase", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIBaseRegister(Squirrel *engine) {
--- a/src/ai/api/ai_cargo.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_cargo.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AICargo &GetParam(ForceType<AICargo &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargo *)instance; }
template <> const AICargo *GetParam(ForceType<const AICargo *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AICargo *)instance; }
template <> const AICargo &GetParam(ForceType<const AICargo &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargo *)instance; }
+ template <> int Return<AICargo *>(HSQUIRRELVM vm, AICargo *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AICargo", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAICargoRegister(Squirrel *engine) {
--- a/src/ai/api/ai_company.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_company.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -10,6 +10,7 @@
template <> AICompany &GetParam(ForceType<AICompany &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICompany *)instance; }
template <> const AICompany *GetParam(ForceType<const AICompany *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AICompany *)instance; }
template <> const AICompany &GetParam(ForceType<const AICompany &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICompany *)instance; }
+ template <> int Return<AICompany *>(HSQUIRRELVM vm, AICompany *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AICompany", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAICompanyRegister(Squirrel *engine) {
--- a/src/ai/api/ai_execmode.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_execmode.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIExecMode &GetParam(ForceType<AIExecMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIExecMode *)instance; }
template <> const AIExecMode *GetParam(ForceType<const AIExecMode *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIExecMode *)instance; }
template <> const AIExecMode &GetParam(ForceType<const AIExecMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIExecMode *)instance; }
+ template <> int Return<AIExecMode *>(HSQUIRRELVM vm, AIExecMode *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIExecMode", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIExecModeRegister(Squirrel *engine) {
--- a/src/ai/api/ai_industry.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_industry.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIIndustry &GetParam(ForceType<AIIndustry &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustry *)instance; }
template <> const AIIndustry *GetParam(ForceType<const AIIndustry *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIIndustry *)instance; }
template <> const AIIndustry &GetParam(ForceType<const AIIndustry &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustry *)instance; }
+ template <> int Return<AIIndustry *>(HSQUIRRELVM vm, AIIndustry *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIIndustry", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIIndustryRegister(Squirrel *engine) {
--- a/src/ai/api/ai_industrylist.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_industrylist.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIIndustryList &GetParam(ForceType<AIIndustryList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryList *)instance; }
template <> const AIIndustryList *GetParam(ForceType<const AIIndustryList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIIndustryList *)instance; }
template <> const AIIndustryList &GetParam(ForceType<const AIIndustryList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryList *)instance; }
+ template <> int Return<AIIndustryList *>(HSQUIRRELVM vm, AIIndustryList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIIndustryList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIIndustryListRegister(Squirrel *engine) {
--- a/src/ai/api/ai_industrylist_valuator.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_industrylist_valuator.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIIndustryListProduction &GetParam(ForceType<AIIndustryListProduction &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListProduction *)instance; }
template <> const AIIndustryListProduction *GetParam(ForceType<const AIIndustryListProduction *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIIndustryListProduction *)instance; }
template <> const AIIndustryListProduction &GetParam(ForceType<const AIIndustryListProduction &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListProduction *)instance; }
+ template <> int Return<AIIndustryListProduction *>(HSQUIRRELVM vm, AIIndustryListProduction *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIIndustryListProduction", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIIndustryListProductionRegister(Squirrel *engine) {
@@ -24,6 +25,7 @@
template <> AIIndustryListLocation &GetParam(ForceType<AIIndustryListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListLocation *)instance; }
template <> const AIIndustryListLocation *GetParam(ForceType<const AIIndustryListLocation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIIndustryListLocation *)instance; }
template <> const AIIndustryListLocation &GetParam(ForceType<const AIIndustryListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListLocation *)instance; }
+ template <> int Return<AIIndustryListLocation *>(HSQUIRRELVM vm, AIIndustryListLocation *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIIndustryListLocation", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIIndustryListLocationRegister(Squirrel *engine) {
@@ -42,6 +44,7 @@
template <> AIIndustryListDistanceManhattanToTile &GetParam(ForceType<AIIndustryListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListDistanceManhattanToTile *)instance; }
template <> const AIIndustryListDistanceManhattanToTile *GetParam(ForceType<const AIIndustryListDistanceManhattanToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIIndustryListDistanceManhattanToTile *)instance; }
template <> const AIIndustryListDistanceManhattanToTile &GetParam(ForceType<const AIIndustryListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListDistanceManhattanToTile *)instance; }
+ template <> int Return<AIIndustryListDistanceManhattanToTile *>(HSQUIRRELVM vm, AIIndustryListDistanceManhattanToTile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIIndustryListDistanceManhattanToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIIndustryListDistanceManhattanToTileRegister(Squirrel *engine) {
@@ -60,6 +63,7 @@
template <> AIIndustryListDistanceSquareToTile &GetParam(ForceType<AIIndustryListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListDistanceSquareToTile *)instance; }
template <> const AIIndustryListDistanceSquareToTile *GetParam(ForceType<const AIIndustryListDistanceSquareToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIIndustryListDistanceSquareToTile *)instance; }
template <> const AIIndustryListDistanceSquareToTile &GetParam(ForceType<const AIIndustryListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIIndustryListDistanceSquareToTile *)instance; }
+ template <> int Return<AIIndustryListDistanceSquareToTile *>(HSQUIRRELVM vm, AIIndustryListDistanceSquareToTile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIIndustryListDistanceSquareToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIIndustryListDistanceSquareToTileRegister(Squirrel *engine) {
--- a/src/ai/api/ai_list.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_list.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIList &GetParam(ForceType<AIList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIList *)instance; }
template <> const AIList *GetParam(ForceType<const AIList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIList *)instance; }
template <> const AIList &GetParam(ForceType<const AIList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIList *)instance; }
+ template <> int Return<AIList *>(HSQUIRRELVM vm, AIList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIListRegister(Squirrel *engine) {
--- a/src/ai/api/ai_list_valuator.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_list_valuator.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIListRandomize &GetParam(ForceType<AIListRandomize &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIListRandomize *)instance; }
template <> const AIListRandomize *GetParam(ForceType<const AIListRandomize *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIListRandomize *)instance; }
template <> const AIListRandomize &GetParam(ForceType<const AIListRandomize &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIListRandomize *)instance; }
+ template <> int Return<AIListRandomize *>(HSQUIRRELVM vm, AIListRandomize *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIListRandomize", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIListRandomizeRegister(Squirrel *engine) {
--- a/src/ai/api/ai_map.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_map.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIMap &GetParam(ForceType<AIMap &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIMap *)instance; }
template <> const AIMap *GetParam(ForceType<const AIMap *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIMap *)instance; }
template <> const AIMap &GetParam(ForceType<const AIMap &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIMap *)instance; }
+ template <> int Return<AIMap *>(HSQUIRRELVM vm, AIMap *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIMap", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIMapRegister(Squirrel *engine) {
--- a/src/ai/api/ai_order.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_order.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -10,6 +10,7 @@
template <> AIOrder &GetParam(ForceType<AIOrder &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIOrder *)instance; }
template <> const AIOrder *GetParam(ForceType<const AIOrder *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIOrder *)instance; }
template <> const AIOrder &GetParam(ForceType<const AIOrder &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIOrder *)instance; }
+ template <> int Return<AIOrder *>(HSQUIRRELVM vm, AIOrder *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIOrder", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIOrderRegister(Squirrel *engine) {
--- a/src/ai/api/ai_pathfinder.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_pathfinder.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -10,6 +10,7 @@
template <> AIPathFinder &GetParam(ForceType<AIPathFinder &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIPathFinder *)instance; }
template <> const AIPathFinder *GetParam(ForceType<const AIPathFinder *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIPathFinder *)instance; }
template <> const AIPathFinder &GetParam(ForceType<const AIPathFinder &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIPathFinder *)instance; }
+ template <> int Return<AIPathFinder *>(HSQUIRRELVM vm, AIPathFinder *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIPathFinder", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIPathFinderRegister(Squirrel *engine) {
--- a/src/ai/api/ai_pathfinder_stupid.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_pathfinder_stupid.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIPathFinderStupid &GetParam(ForceType<AIPathFinderStupid &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIPathFinderStupid *)instance; }
template <> const AIPathFinderStupid *GetParam(ForceType<const AIPathFinderStupid *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIPathFinderStupid *)instance; }
template <> const AIPathFinderStupid &GetParam(ForceType<const AIPathFinderStupid &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIPathFinderStupid *)instance; }
+ template <> int Return<AIPathFinderStupid *>(HSQUIRRELVM vm, AIPathFinderStupid *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIPathFinderStupid", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIPathFinderStupidRegister(Squirrel *engine) {
--- a/src/ai/api/ai_road.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_road.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIRoad &GetParam(ForceType<AIRoad &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIRoad *)instance; }
template <> const AIRoad *GetParam(ForceType<const AIRoad *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIRoad *)instance; }
template <> const AIRoad &GetParam(ForceType<const AIRoad &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIRoad *)instance; }
+ template <> int Return<AIRoad *>(HSQUIRRELVM vm, AIRoad *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIRoad", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIRoadRegister(Squirrel *engine) {
--- a/src/ai/api/ai_settings.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_settings.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AISettings &GetParam(ForceType<AISettings &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AISettings *)instance; }
template <> const AISettings *GetParam(ForceType<const AISettings *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AISettings *)instance; }
template <> const AISettings &GetParam(ForceType<const AISettings &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AISettings *)instance; }
+ template <> int Return<AISettings *>(HSQUIRRELVM vm, AISettings *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AISettings", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAISettingsRegister(Squirrel *engine) {
--- a/src/ai/api/ai_sign.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_sign.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AISign &GetParam(ForceType<AISign &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AISign *)instance; }
template <> const AISign *GetParam(ForceType<const AISign *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AISign *)instance; }
template <> const AISign &GetParam(ForceType<const AISign &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AISign *)instance; }
+ template <> int Return<AISign *>(HSQUIRRELVM vm, AISign *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AISign", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAISignRegister(Squirrel *engine) {
--- a/src/ai/api/ai_station.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_station.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -10,6 +10,7 @@
template <> AIStation &GetParam(ForceType<AIStation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStation *)instance; }
template <> const AIStation *GetParam(ForceType<const AIStation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStation *)instance; }
template <> const AIStation &GetParam(ForceType<const AIStation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStation *)instance; }
+ template <> int Return<AIStation *>(HSQUIRRELVM vm, AIStation *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStation", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationRegister(Squirrel *engine) {
--- a/src/ai/api/ai_stationlist.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_stationlist.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
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; }
+ template <> int Return<AIStationList *>(HSQUIRRELVM vm, AIStationList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStationList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationListRegister(Squirrel *engine) {
@@ -24,6 +25,7 @@
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; }
+ template <> int Return<AIVehicleStationList *>(HSQUIRRELVM vm, AIVehicleStationList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleStationList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleStationListRegister(Squirrel *engine) {
--- a/src/ai/api/ai_stationlist_valuator.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_stationlist_valuator.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
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) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStationListLocation", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationListLocationRegister(Squirrel *engine) {
@@ -24,6 +25,7 @@
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) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStationListCargoWaiting", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationListCargoWaitingRegister(Squirrel *engine) {
@@ -42,6 +44,7 @@
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) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStationListCargoRating", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationListCargoRatingRegister(Squirrel *engine) {
@@ -60,6 +63,7 @@
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) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStationListDistanceManhattanToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationListDistanceManhattanToTileRegister(Squirrel *engine) {
@@ -78,6 +82,7 @@
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) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStationListDistanceSquareToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationListDistanceSquareToTileRegister(Squirrel *engine) {
--- a/src/ai/api/ai_testmode.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_testmode.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITestMode &GetParam(ForceType<AITestMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITestMode *)instance; }
template <> const AITestMode *GetParam(ForceType<const AITestMode *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITestMode *)instance; }
template <> const AITestMode &GetParam(ForceType<const AITestMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITestMode *)instance; }
+ template <> int Return<AITestMode *>(HSQUIRRELVM vm, AITestMode *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITestMode", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITestModeRegister(Squirrel *engine) {
--- a/src/ai/api/ai_tile.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_tile.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITile &GetParam(ForceType<AITile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITile *)instance; }
template <> const AITile *GetParam(ForceType<const AITile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITile *)instance; }
template <> const AITile &GetParam(ForceType<const AITile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITile *)instance; }
+ template <> int Return<AITile *>(HSQUIRRELVM vm, AITile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileRegister(Squirrel *engine) {
--- a/src/ai/api/ai_tilelist.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_tilelist.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITileList &GetParam(ForceType<AITileList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList *)instance; }
template <> const AITileList *GetParam(ForceType<const AITileList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList *)instance; }
template <> const AITileList &GetParam(ForceType<const AITileList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList *)instance; }
+ template <> int Return<AITileList *>(HSQUIRRELVM vm, AITileList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListRegister(Squirrel *engine) {
--- a/src/ai/api/ai_tilelist_valuator.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_tilelist_valuator.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITileListBuildable &GetParam(ForceType<AITileListBuildable &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListBuildable *)instance; }
template <> const AITileListBuildable *GetParam(ForceType<const AITileListBuildable *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListBuildable *)instance; }
template <> const AITileListBuildable &GetParam(ForceType<const AITileListBuildable &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListBuildable *)instance; }
+ template <> int Return<AITileListBuildable *>(HSQUIRRELVM vm, AITileListBuildable *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListBuildable", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListBuildableRegister(Squirrel *engine) {
@@ -24,6 +25,7 @@
template <> AITileListBuildableRectangle &GetParam(ForceType<AITileListBuildableRectangle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListBuildableRectangle *)instance; }
template <> const AITileListBuildableRectangle *GetParam(ForceType<const AITileListBuildableRectangle *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListBuildableRectangle *)instance; }
template <> const AITileListBuildableRectangle &GetParam(ForceType<const AITileListBuildableRectangle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListBuildableRectangle *)instance; }
+ template <> int Return<AITileListBuildableRectangle *>(HSQUIRRELVM vm, AITileListBuildableRectangle *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListBuildableRectangle", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListBuildableRectangleRegister(Squirrel *engine) {
@@ -42,6 +44,7 @@
template <> AITileListSlope &GetParam(ForceType<AITileListSlope &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListSlope *)instance; }
template <> const AITileListSlope *GetParam(ForceType<const AITileListSlope *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListSlope *)instance; }
template <> const AITileListSlope &GetParam(ForceType<const AITileListSlope &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListSlope *)instance; }
+ template <> int Return<AITileListSlope *>(HSQUIRRELVM vm, AITileListSlope *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListSlope", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListSlopeRegister(Squirrel *engine) {
@@ -60,6 +63,7 @@
template <> AITileListNeighbourRoadCount &GetParam(ForceType<AITileListNeighbourRoadCount &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListNeighbourRoadCount *)instance; }
template <> const AITileListNeighbourRoadCount *GetParam(ForceType<const AITileListNeighbourRoadCount *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListNeighbourRoadCount *)instance; }
template <> const AITileListNeighbourRoadCount &GetParam(ForceType<const AITileListNeighbourRoadCount &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListNeighbourRoadCount *)instance; }
+ template <> int Return<AITileListNeighbourRoadCount *>(HSQUIRRELVM vm, AITileListNeighbourRoadCount *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListNeighbourRoadCount", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListNeighbourRoadCountRegister(Squirrel *engine) {
@@ -78,6 +82,7 @@
template <> AITileListRoadTile &GetParam(ForceType<AITileListRoadTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListRoadTile *)instance; }
template <> const AITileListRoadTile *GetParam(ForceType<const AITileListRoadTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListRoadTile *)instance; }
template <> const AITileListRoadTile &GetParam(ForceType<const AITileListRoadTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListRoadTile *)instance; }
+ template <> int Return<AITileListRoadTile *>(HSQUIRRELVM vm, AITileListRoadTile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListRoadTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListRoadTileRegister(Squirrel *engine) {
@@ -96,6 +101,7 @@
template <> AITileListCargoAcceptance &GetParam(ForceType<AITileListCargoAcceptance &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListCargoAcceptance *)instance; }
template <> const AITileListCargoAcceptance *GetParam(ForceType<const AITileListCargoAcceptance *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListCargoAcceptance *)instance; }
template <> const AITileListCargoAcceptance &GetParam(ForceType<const AITileListCargoAcceptance &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListCargoAcceptance *)instance; }
+ template <> int Return<AITileListCargoAcceptance *>(HSQUIRRELVM vm, AITileListCargoAcceptance *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListCargoAcceptance", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListCargoAcceptanceRegister(Squirrel *engine) {
@@ -114,6 +120,7 @@
template <> AITileListDistanceManhattanToTile &GetParam(ForceType<AITileListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListDistanceManhattanToTile *)instance; }
template <> const AITileListDistanceManhattanToTile *GetParam(ForceType<const AITileListDistanceManhattanToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListDistanceManhattanToTile *)instance; }
template <> const AITileListDistanceManhattanToTile &GetParam(ForceType<const AITileListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListDistanceManhattanToTile *)instance; }
+ template <> int Return<AITileListDistanceManhattanToTile *>(HSQUIRRELVM vm, AITileListDistanceManhattanToTile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListDistanceManhattanToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListDistanceManhattanToTileRegister(Squirrel *engine) {
@@ -132,6 +139,7 @@
template <> AITileListDistanceSquareToTile &GetParam(ForceType<AITileListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListDistanceSquareToTile *)instance; }
template <> const AITileListDistanceSquareToTile *GetParam(ForceType<const AITileListDistanceSquareToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileListDistanceSquareToTile *)instance; }
template <> const AITileListDistanceSquareToTile &GetParam(ForceType<const AITileListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileListDistanceSquareToTile *)instance; }
+ template <> int Return<AITileListDistanceSquareToTile *>(HSQUIRRELVM vm, AITileListDistanceSquareToTile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITileListDistanceSquareToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITileListDistanceSquareToTileRegister(Squirrel *engine) {
--- a/src/ai/api/ai_town.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_town.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITown &GetParam(ForceType<AITown &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITown *)instance; }
template <> const AITown *GetParam(ForceType<const AITown *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITown *)instance; }
template <> const AITown &GetParam(ForceType<const AITown &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITown *)instance; }
+ template <> int Return<AITown *>(HSQUIRRELVM vm, AITown *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITown", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITownRegister(Squirrel *engine) {
--- a/src/ai/api/ai_townlist.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_townlist.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITownList &GetParam(ForceType<AITownList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownList *)instance; }
template <> const AITownList *GetParam(ForceType<const AITownList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownList *)instance; }
template <> const AITownList &GetParam(ForceType<const AITownList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownList *)instance; }
+ template <> int Return<AITownList *>(HSQUIRRELVM vm, AITownList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITownList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITownListRegister(Squirrel *engine) {
--- a/src/ai/api/ai_townlist_valuator.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_townlist_valuator.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITownListRandomize &GetParam(ForceType<AITownListRandomize &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListRandomize *)instance; }
template <> const AITownListRandomize *GetParam(ForceType<const AITownListRandomize *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownListRandomize *)instance; }
template <> const AITownListRandomize &GetParam(ForceType<const AITownListRandomize &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListRandomize *)instance; }
+ template <> int Return<AITownListRandomize *>(HSQUIRRELVM vm, AITownListRandomize *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITownListRandomize", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITownListRandomizeRegister(Squirrel *engine) {
@@ -24,6 +25,7 @@
template <> AITownListPopulation &GetParam(ForceType<AITownListPopulation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListPopulation *)instance; }
template <> const AITownListPopulation *GetParam(ForceType<const AITownListPopulation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownListPopulation *)instance; }
template <> const AITownListPopulation &GetParam(ForceType<const AITownListPopulation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListPopulation *)instance; }
+ template <> int Return<AITownListPopulation *>(HSQUIRRELVM vm, AITownListPopulation *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITownListPopulation", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITownListPopulationRegister(Squirrel *engine) {
@@ -42,6 +44,7 @@
template <> AITownListLocation &GetParam(ForceType<AITownListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListLocation *)instance; }
template <> const AITownListLocation *GetParam(ForceType<const AITownListLocation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownListLocation *)instance; }
template <> const AITownListLocation &GetParam(ForceType<const AITownListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListLocation *)instance; }
+ template <> int Return<AITownListLocation *>(HSQUIRRELVM vm, AITownListLocation *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITownListLocation", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITownListLocationRegister(Squirrel *engine) {
@@ -60,6 +63,7 @@
template <> AITownListDistanceManhattanToTile &GetParam(ForceType<AITownListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListDistanceManhattanToTile *)instance; }
template <> const AITownListDistanceManhattanToTile *GetParam(ForceType<const AITownListDistanceManhattanToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownListDistanceManhattanToTile *)instance; }
template <> const AITownListDistanceManhattanToTile &GetParam(ForceType<const AITownListDistanceManhattanToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListDistanceManhattanToTile *)instance; }
+ template <> int Return<AITownListDistanceManhattanToTile *>(HSQUIRRELVM vm, AITownListDistanceManhattanToTile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITownListDistanceManhattanToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITownListDistanceManhattanToTileRegister(Squirrel *engine) {
@@ -78,6 +82,7 @@
template <> AITownListDistanceSquareToTile &GetParam(ForceType<AITownListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListDistanceSquareToTile *)instance; }
template <> const AITownListDistanceSquareToTile *GetParam(ForceType<const AITownListDistanceSquareToTile *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownListDistanceSquareToTile *)instance; }
template <> const AITownListDistanceSquareToTile &GetParam(ForceType<const AITownListDistanceSquareToTile &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListDistanceSquareToTile *)instance; }
+ template <> int Return<AITownListDistanceSquareToTile *>(HSQUIRRELVM vm, AITownListDistanceSquareToTile *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITownListDistanceSquareToTile", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITownListDistanceSquareToTileRegister(Squirrel *engine) {
--- a/src/ai/api/ai_transactionmode.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_transactionmode.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AITransactionMode &GetParam(ForceType<AITransactionMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITransactionMode *)instance; }
template <> const AITransactionMode *GetParam(ForceType<const AITransactionMode *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITransactionMode *)instance; }
template <> const AITransactionMode &GetParam(ForceType<const AITransactionMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITransactionMode *)instance; }
+ template <> int Return<AITransactionMode *>(HSQUIRRELVM vm, AITransactionMode *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AITransactionMode", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAITransactionModeRegister(Squirrel *engine) {
--- a/src/ai/api/ai_vehicle.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_vehicle.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIVehicle &GetParam(ForceType<AIVehicle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicle *)instance; }
template <> const AIVehicle *GetParam(ForceType<const AIVehicle *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicle *)instance; }
template <> const AIVehicle &GetParam(ForceType<const AIVehicle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicle *)instance; }
+ template <> int Return<AIVehicle *>(HSQUIRRELVM vm, AIVehicle *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicle", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleRegister(Squirrel *engine) {
--- a/src/ai/api/ai_vehiclelist.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_vehiclelist.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIVehicleList &GetParam(ForceType<AIVehicleList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleList *)instance; }
template <> const AIVehicleList *GetParam(ForceType<const AIVehicleList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleList *)instance; }
template <> const AIVehicleList &GetParam(ForceType<const AIVehicleList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleList *)instance; }
+ template <> int Return<AIVehicleList *>(HSQUIRRELVM vm, AIVehicleList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListRegister(Squirrel *engine) {
@@ -24,6 +25,7 @@
template <> AIStationVehicleList &GetParam(ForceType<AIStationVehicleList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationVehicleList *)instance; }
template <> const AIStationVehicleList *GetParam(ForceType<const AIStationVehicleList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationVehicleList *)instance; }
template <> const AIStationVehicleList &GetParam(ForceType<const AIStationVehicleList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationVehicleList *)instance; }
+ template <> int Return<AIStationVehicleList *>(HSQUIRRELVM vm, AIStationVehicleList *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIStationVehicleList", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIStationVehicleListRegister(Squirrel *engine) {
--- a/src/ai/api/ai_vehiclelist_valuator.hpp.sq Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/ai_vehiclelist_valuator.hpp.sq Wed Jul 18 14:58:37 2007 +0000
@@ -6,6 +6,7 @@
template <> AIVehicleListLocation &GetParam(ForceType<AIVehicleListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListLocation *)instance; }
template <> const AIVehicleListLocation *GetParam(ForceType<const AIVehicleListLocation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListLocation *)instance; }
template <> const AIVehicleListLocation &GetParam(ForceType<const AIVehicleListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListLocation *)instance; }
+ template <> int Return<AIVehicleListLocation *>(HSQUIRRELVM vm, AIVehicleListLocation *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListLocation", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListLocationRegister(Squirrel *engine) {
@@ -24,6 +25,7 @@
template <> AIVehicleListEngineType &GetParam(ForceType<AIVehicleListEngineType &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListEngineType *)instance; }
template <> const AIVehicleListEngineType *GetParam(ForceType<const AIVehicleListEngineType *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListEngineType *)instance; }
template <> const AIVehicleListEngineType &GetParam(ForceType<const AIVehicleListEngineType &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListEngineType *)instance; }
+ template <> int Return<AIVehicleListEngineType *>(HSQUIRRELVM vm, AIVehicleListEngineType *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListEngineType", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListEngineTypeRegister(Squirrel *engine) {
@@ -42,6 +44,7 @@
template <> AIVehicleListUnitNumber &GetParam(ForceType<AIVehicleListUnitNumber &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListUnitNumber *)instance; }
template <> const AIVehicleListUnitNumber *GetParam(ForceType<const AIVehicleListUnitNumber *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListUnitNumber *)instance; }
template <> const AIVehicleListUnitNumber &GetParam(ForceType<const AIVehicleListUnitNumber &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListUnitNumber *)instance; }
+ template <> int Return<AIVehicleListUnitNumber *>(HSQUIRRELVM vm, AIVehicleListUnitNumber *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListUnitNumber", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListUnitNumberRegister(Squirrel *engine) {
@@ -60,6 +63,7 @@
template <> AIVehicleListAge &GetParam(ForceType<AIVehicleListAge &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListAge *)instance; }
template <> const AIVehicleListAge *GetParam(ForceType<const AIVehicleListAge *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListAge *)instance; }
template <> const AIVehicleListAge &GetParam(ForceType<const AIVehicleListAge &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListAge *)instance; }
+ template <> int Return<AIVehicleListAge *>(HSQUIRRELVM vm, AIVehicleListAge *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListAge", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListAgeRegister(Squirrel *engine) {
@@ -78,6 +82,7 @@
template <> AIVehicleListMaxAge &GetParam(ForceType<AIVehicleListMaxAge &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListMaxAge *)instance; }
template <> const AIVehicleListMaxAge *GetParam(ForceType<const AIVehicleListMaxAge *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListMaxAge *)instance; }
template <> const AIVehicleListMaxAge &GetParam(ForceType<const AIVehicleListMaxAge &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListMaxAge *)instance; }
+ template <> int Return<AIVehicleListMaxAge *>(HSQUIRRELVM vm, AIVehicleListMaxAge *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListMaxAge", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListMaxAgeRegister(Squirrel *engine) {
@@ -96,6 +101,7 @@
template <> AIVehicleListAgeLeft &GetParam(ForceType<AIVehicleListAgeLeft &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListAgeLeft *)instance; }
template <> const AIVehicleListAgeLeft *GetParam(ForceType<const AIVehicleListAgeLeft *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListAgeLeft *)instance; }
template <> const AIVehicleListAgeLeft &GetParam(ForceType<const AIVehicleListAgeLeft &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListAgeLeft *)instance; }
+ template <> int Return<AIVehicleListAgeLeft *>(HSQUIRRELVM vm, AIVehicleListAgeLeft *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListAgeLeft", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListAgeLeftRegister(Squirrel *engine) {
@@ -114,6 +120,7 @@
template <> AIVehicleListProfitThisYear &GetParam(ForceType<AIVehicleListProfitThisYear &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListProfitThisYear *)instance; }
template <> const AIVehicleListProfitThisYear *GetParam(ForceType<const AIVehicleListProfitThisYear *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListProfitThisYear *)instance; }
template <> const AIVehicleListProfitThisYear &GetParam(ForceType<const AIVehicleListProfitThisYear &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListProfitThisYear *)instance; }
+ template <> int Return<AIVehicleListProfitThisYear *>(HSQUIRRELVM vm, AIVehicleListProfitThisYear *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListProfitThisYear", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListProfitThisYearRegister(Squirrel *engine) {
@@ -132,6 +139,7 @@
template <> AIVehicleListProfitLastYear &GetParam(ForceType<AIVehicleListProfitLastYear &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListProfitLastYear *)instance; }
template <> const AIVehicleListProfitLastYear *GetParam(ForceType<const AIVehicleListProfitLastYear *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIVehicleListProfitLastYear *)instance; }
template <> const AIVehicleListProfitLastYear &GetParam(ForceType<const AIVehicleListProfitLastYear &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicleListProfitLastYear *)instance; }
+ template <> int Return<AIVehicleListProfitLastYear *>(HSQUIRRELVM vm, AIVehicleListProfitLastYear *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, "AIVehicleListProfitLastYear", res, &instance); sq_pushobject(vm, instance); return 1; }
}; // namespace SQConvert
void SQAIVehicleListProfitLastYearRegister(Squirrel *engine) {
--- a/src/ai/api/squirrel_export.awk Wed Jul 18 10:53:58 2007 +0000
+++ b/src/ai/api/squirrel_export.awk Wed Jul 18 14:58:37 2007 +0000
@@ -21,6 +21,7 @@
print " template <> " name " &GetParam(ForceType<" name " &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(" name " *)instance; }"
print " template <> const " name " *GetParam(ForceType<const " name " *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (" name " *)instance; }"
print " template <> const " name " &GetParam(ForceType<const " name " &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(" name " *)instance; }"
+ print " template <> int Return<" name " *>(HSQUIRRELVM vm, " name " *res) { HSQOBJECT instance; Squirrel::CreateClassInstanceVM(vm, \"" name "\", res, &instance); sq_pushobject(vm, instance); return 1; }"
}
BEGIN {
--- a/src/squirrel.cpp Wed Jul 18 10:53:58 2007 +0000
+++ b/src/squirrel.cpp Wed Jul 18 14:58:37 2007 +0000
@@ -152,41 +152,46 @@
sq_settop(this->vm, top);
}
-bool Squirrel::CreateClassInstance(const char *class_name, void *real_instance, HSQOBJECT *instance)
+/* static */ bool Squirrel::CreateClassInstanceVM(HSQUIRRELVM vm, const char *class_name, void *real_instance, HSQOBJECT *instance)
{
- int oldtop = sq_gettop(this->vm);
+ int oldtop = sq_gettop(vm);
/* First, find the class */
- sq_pushroottable(this->vm);
- sq_pushstring(this->vm, OTTD2FS(class_name), -1);
- if (SQ_FAILED(sq_get(this->vm, -2))) {
+ sq_pushroottable(vm);
+ sq_pushstring(vm, OTTD2FS(class_name), -1);
+ if (SQ_FAILED(sq_get(vm, -2))) {
DEBUG(misc, 0, "[squirrel] Failed to find class by the name '%s'", class_name);
- sq_settop(this->vm, oldtop);
+ sq_settop(vm, oldtop);
return false;
}
/* Create the instance */
- if (SQ_FAILED(sq_createinstance(this->vm, -1))) {
+ if (SQ_FAILED(sq_createinstance(vm, -1))) {
DEBUG(misc, 0, "[squirrel] Failed to create instance for class '%s'", class_name);
- sq_settop(this->vm, oldtop);
+ sq_settop(vm, oldtop);
return false;
}
if (instance != NULL) {
/* Find our instance */
- sq_getstackobj(this->vm, -1, instance);
+ sq_getstackobj(vm, -1, instance);
/* Add a reference to it, so it survives for ever */
- sq_addref(this->vm, instance);
+ sq_addref(vm, instance);
}
/* Store it in the class */
- sq_setinstanceup(this->vm, -1, real_instance);
+ sq_setinstanceup(vm, -1, real_instance);
/* Reset the top */
- sq_settop(this->vm, oldtop);
+ sq_settop(vm, oldtop);
return true;
}
+bool Squirrel::CreateClassInstance(const char *class_name, void *real_instance, HSQOBJECT *instance)
+{
+ return Squirrel::CreateClassInstanceVM(this->vm, class_name, real_instance, instance);
+}
+
Squirrel::Squirrel()
{
this->vm = sq_open(1024);
--- a/src/squirrel.hpp Wed Jul 18 10:53:58 2007 +0000
+++ b/src/squirrel.hpp Wed Jul 18 14:58:37 2007 +0000
@@ -96,6 +96,11 @@
* @param instance Returning value with the pointer to the instance.
* @return False if creating failed.
*/
+ static bool CreateClassInstanceVM(HSQUIRRELVM vm, const char *class_name, void *real_instance, HSQOBJECT *instance);
+
+ /**
+ * Exactly the same as CreateClassInstanceVM, only callable without instance of Squirrel.
+ */
bool CreateClassInstance(const char *class_name, void *real_instance, HSQOBJECT *instance);
/**