From bff7c33aa909d00428f81e6b5f89b236343fc13b Mon Sep 17 00:00:00 2001 From: truebrain Date: Tue, 29 Nov 2011 22:23:33 +0000 Subject: (svn r23350) -Add: support different ScriptTypes in the helper functions for GetClassName (Rubidium) --- src/script/squirrel.hpp | 5 +++++ src/script/squirrel_class.hpp | 8 ++++---- src/script/squirrel_helper.hpp | 10 +++++----- 3 files changed, 14 insertions(+), 9 deletions(-) (limited to 'src/script') diff --git a/src/script/squirrel.hpp b/src/script/squirrel.hpp index 163d9b655..44ab21650 100644 --- a/src/script/squirrel.hpp +++ b/src/script/squirrel.hpp @@ -14,6 +14,11 @@ #include +/** The type of script we're working with, i.e. for who is it? */ +enum ScriptType { + ST_AI, ///< The script is for the AI. +}; + class Squirrel { private: typedef void (SQPrintFunc)(bool error_msg, const SQChar *message); diff --git a/src/script/squirrel_class.hpp b/src/script/squirrel_class.hpp index a08d8b3a6..73117b60a 100644 --- a/src/script/squirrel_class.hpp +++ b/src/script/squirrel_class.hpp @@ -18,7 +18,7 @@ * The template to define classes in Squirrel. It takes care of the creation * and calling of such classes, to minimize the API layer. */ -template +template class DefSQClass { private: const char *classname; @@ -35,7 +35,7 @@ public: void DefSQMethod(Squirrel *engine, Func function_proc, const char *function_name) { using namespace SQConvert; - engine->AddMethod(function_name, DefSQNonStaticCallback, 0, NULL, &function_proc, sizeof(function_proc)); + engine->AddMethod(function_name, DefSQNonStaticCallback, 0, NULL, &function_proc, sizeof(function_proc)); } /** @@ -45,7 +45,7 @@ public: void DefSQAdvancedMethod(Squirrel *engine, Func function_proc, const char *function_name) { using namespace SQConvert; - engine->AddMethod(function_name, DefSQAdvancedNonStaticCallback, 0, NULL, &function_proc, sizeof(function_proc)); + engine->AddMethod(function_name, DefSQAdvancedNonStaticCallback, 0, NULL, &function_proc, sizeof(function_proc)); } /** @@ -58,7 +58,7 @@ public: void DefSQMethod(Squirrel *engine, Func function_proc, const char *function_name, int nparam, const char *params) { using namespace SQConvert; - engine->AddMethod(function_name, DefSQNonStaticCallback, nparam, params, &function_proc, sizeof(function_proc)); + engine->AddMethod(function_name, DefSQNonStaticCallback, nparam, params, &function_proc, sizeof(function_proc)); } /** diff --git a/src/script/squirrel_helper.hpp b/src/script/squirrel_helper.hpp index a5a242539..03f1315fa 100644 --- a/src/script/squirrel_helper.hpp +++ b/src/script/squirrel_helper.hpp @@ -19,7 +19,7 @@ #include "../string_func.h" #include "squirrel_helper_type.hpp" -template const char *GetClassName(); +template const char *GetClassName(); /** * The Squirrel convert routines @@ -731,7 +731,7 @@ namespace SQConvert { * In here the function_proc is recovered, and the SQCall is called that * can handle this exact amount of params. */ - template + template inline SQInteger DefSQNonStaticCallback(HSQUIRRELVM vm) { /* Find the amount of params we got */ @@ -745,7 +745,7 @@ namespace SQConvert { /* Protect against calls to a non-static method in a static way */ sq_pushroottable(vm); - const char *className = GetClassName(); + const char *className = GetClassName(); sq_pushstring(vm, OTTD2SQ(className), -1); sq_get(vm, -2); sq_pushobject(vm, instance); @@ -773,7 +773,7 @@ namespace SQConvert { * In here the function_proc is recovered, and the SQCall is called that * can handle this exact amount of params. */ - template + template inline SQInteger DefSQAdvancedNonStaticCallback(HSQUIRRELVM vm) { /* Find the amount of params we got */ @@ -787,7 +787,7 @@ namespace SQConvert { /* Protect against calls to a non-static method in a static way */ sq_pushroottable(vm); - const char *className = GetClassName(); + const char *className = GetClassName(); sq_pushstring(vm, OTTD2SQ(className), -1); sq_get(vm, -2); sq_pushobject(vm, instance); -- cgit v1.2.3-70-g09d2