diff options
Diffstat (limited to 'src/script/api')
-rw-r--r-- | src/script/api/game/game_sign.hpp.sq | 39 | ||||
-rw-r--r-- | src/script/api/script_sign.cpp | 2 | ||||
-rw-r--r-- | src/script/api/script_sign.hpp | 2 |
3 files changed, 41 insertions, 2 deletions
diff --git a/src/script/api/game/game_sign.hpp.sq b/src/script/api/game/game_sign.hpp.sq new file mode 100644 index 000000000..20eb52ec2 --- /dev/null +++ b/src/script/api/game/game_sign.hpp.sq @@ -0,0 +1,39 @@ +/* $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_sign.hpp" +#include "../template/template_sign.hpp.sq" + + +template <> const char *GetClassName<ScriptSign, ST_GS>() { return "GSSign"; } + +void SQGSSign_Register(Squirrel *engine) +{ + DefSQClass<ScriptSign, ST_GS> SQGSSign("GSSign"); + SQGSSign.PreRegister(engine); + SQGSSign.AddConstructor<void (ScriptSign::*)(), 1>(engine, "x"); + + SQGSSign.DefSQConst(engine, ScriptSign::ERR_SIGN_BASE, "ERR_SIGN_BASE"); + SQGSSign.DefSQConst(engine, ScriptSign::ERR_SIGN_TOO_MANY_SIGNS, "ERR_SIGN_TOO_MANY_SIGNS"); + + ScriptError::RegisterErrorMap(STR_ERROR_TOO_MANY_SIGNS, ScriptSign::ERR_SIGN_TOO_MANY_SIGNS); + + ScriptError::RegisterErrorMapString(ScriptSign::ERR_SIGN_TOO_MANY_SIGNS, "ERR_SIGN_TOO_MANY_SIGNS"); + + SQGSSign.DefSQStaticMethod(engine, &ScriptSign::IsValidSign, "IsValidSign", 2, ".i"); + SQGSSign.DefSQStaticMethod(engine, &ScriptSign::SetName, "SetName", 3, ".i."); + SQGSSign.DefSQStaticMethod(engine, &ScriptSign::GetName, "GetName", 2, ".i"); + SQGSSign.DefSQStaticMethod(engine, &ScriptSign::GetLocation, "GetLocation", 2, ".i"); + SQGSSign.DefSQStaticMethod(engine, &ScriptSign::BuildSign, "BuildSign", 3, ".i."); + SQGSSign.DefSQStaticMethod(engine, &ScriptSign::RemoveSign, "RemoveSign", 2, ".i"); + + SQGSSign.PostRegister(engine); +} diff --git a/src/script/api/script_sign.cpp b/src/script/api/script_sign.cpp index 051fb983d..ab7988cc1 100644 --- a/src/script/api/script_sign.cpp +++ b/src/script/api/script_sign.cpp @@ -24,7 +24,7 @@ /* static */ bool ScriptSign::IsValidSign(SignID sign_id) { const Sign *si = ::Sign::GetIfValid(sign_id); - return si != NULL && si->owner == _current_company; + return si != NULL && (si->owner == _current_company || si->owner == OWNER_DEITY); } /* static */ bool ScriptSign::SetName(SignID sign_id, const char *name) diff --git a/src/script/api/script_sign.hpp b/src/script/api/script_sign.hpp index a4f2ba0b2..ee235615d 100644 --- a/src/script/api/script_sign.hpp +++ b/src/script/api/script_sign.hpp @@ -16,7 +16,7 @@ /** * Class that handles all sign related functions. - * @api ai + * @api ai game */ class ScriptSign : public ScriptObject { public: |