src/ai/api/ai_industrylist_valuator.hpp.sq
branchnoai
changeset 9680 5ed7bbfd51c7
parent 9679 788e083db48b
child 9710 ba44f8c1fd52
--- a/src/ai/api/ai_industrylist_valuator.hpp.sq	Thu Jul 19 17:13:38 2007 +0000
+++ b/src/ai/api/ai_industrylist_valuator.hpp.sq	Thu Jul 19 19:42:54 2007 +0000
@@ -6,7 +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) { res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListProduction", res, NULL, DefSQDestructorCallback<AIIndustryListProduction>); return 1; }
+	template <> int Return<AIIndustryListProduction *>(HSQUIRRELVM vm, AIIndustryListProduction *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListProduction", res, NULL, DefSQDestructorCallback<AIIndustryListProduction>); return 1; }
 }; // namespace SQConvert
 
 void SQAIIndustryListProductionRegister(Squirrel *engine) {
@@ -25,7 +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) { res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListLocation", res, NULL, DefSQDestructorCallback<AIIndustryListLocation>); return 1; }
+	template <> int Return<AIIndustryListLocation *>(HSQUIRRELVM vm, AIIndustryListLocation *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListLocation", res, NULL, DefSQDestructorCallback<AIIndustryListLocation>); return 1; }
 }; // namespace SQConvert
 
 void SQAIIndustryListLocationRegister(Squirrel *engine) {
@@ -44,7 +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) { res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListDistanceManhattanToTile", res, NULL, DefSQDestructorCallback<AIIndustryListDistanceManhattanToTile>); return 1; }
+	template <> int Return<AIIndustryListDistanceManhattanToTile *>(HSQUIRRELVM vm, AIIndustryListDistanceManhattanToTile *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListDistanceManhattanToTile", res, NULL, DefSQDestructorCallback<AIIndustryListDistanceManhattanToTile>); return 1; }
 }; // namespace SQConvert
 
 void SQAIIndustryListDistanceManhattanToTileRegister(Squirrel *engine) {
@@ -63,7 +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) { res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListDistanceSquareToTile", res, NULL, DefSQDestructorCallback<AIIndustryListDistanceSquareToTile>); return 1; }
+	template <> int Return<AIIndustryListDistanceSquareToTile *>(HSQUIRRELVM vm, AIIndustryListDistanceSquareToTile *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIIndustryListDistanceSquareToTile", res, NULL, DefSQDestructorCallback<AIIndustryListDistanceSquareToTile>); return 1; }
 }; // namespace SQConvert
 
 void SQAIIndustryListDistanceSquareToTileRegister(Squirrel *engine) {