diff options
author | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:57 +0000 |
---|---|---|
committer | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:57 +0000 |
commit | b0ac529a6ff4e087520a14d2a0169f445952e7e0 (patch) | |
tree | f545f15ff52b6c1ad6279f7e028f2a058465d672 /src/script/api/template | |
parent | 2ae87e72131a8e88327dbb0b5b286accddafe05d (diff) | |
download | openttd-b0ac529a6ff4e087520a14d2a0169f445952e7e0.tar.xz |
(svn r23635) -Add: introduce GSText, to allow translating GameScript text, even over network
Diffstat (limited to 'src/script/api/template')
-rw-r--r-- | src/script/api/template/template_text.hpp.sq | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/script/api/template/template_text.hpp.sq b/src/script/api/template/template_text.hpp.sq new file mode 100644 index 000000000..7a44daf16 --- /dev/null +++ b/src/script/api/template/template_text.hpp.sq @@ -0,0 +1,30 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. + */ + +/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */ + +#include "../script_text.hpp" + +namespace SQConvert { + /* Allow ScriptText to be used as Squirrel parameter */ + template <> inline ScriptText *GetParam(ForceType<ScriptText *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptText *)instance; } + template <> inline ScriptText &GetParam(ForceType<ScriptText &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptText *)instance; } + template <> inline const ScriptText *GetParam(ForceType<const ScriptText *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptText *)instance; } + template <> inline const ScriptText &GetParam(ForceType<const ScriptText &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptText *)instance; } + + template <> inline Text *GetParam(ForceType<Text *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { + if (sq_gettype(vm, index) == OT_INSTANCE) { + return GetParam(ForceType<ScriptText *>(), vm, index, ptr); + } + if (sq_gettype(vm, index) == OT_STRING) { + return new RawText(GetParam(ForceType<const char *>(), vm, index, ptr)); + } + return NULL; + } +} // namespace SQConvert |