From 4ff412dfe155c32664273d1b098d62c026a74c96 Mon Sep 17 00:00:00 2001 From: Sadret Date: Fri, 6 Nov 2020 10:40:15 +0100 Subject: [PATCH] Close #13359: Make GameAction flags optional in plugin API. (#13381) --- distribution/openrct2.d.ts | 2 +- src/openrct2/scripting/ScriptEngine.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/distribution/openrct2.d.ts b/distribution/openrct2.d.ts index 678e60e707..33582bf9fd 100644 --- a/distribution/openrct2.d.ts +++ b/distribution/openrct2.d.ts @@ -1866,7 +1866,7 @@ declare global { widgets?: Widget[]; colours?: number[]; tabs?: WindowTabDesc[]; - tabIndex: number; + tabIndex?: number; onClose?: () => void; onUpdate?: () => void; diff --git a/src/openrct2/scripting/ScriptEngine.cpp b/src/openrct2/scripting/ScriptEngine.cpp index c9720a81d4..49bf283c2a 100644 --- a/src/openrct2/scripting/ScriptEngine.cpp +++ b/src/openrct2/scripting/ScriptEngine.cpp @@ -43,7 +43,7 @@ using namespace OpenRCT2; using namespace OpenRCT2::Scripting; -static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 10; +static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 11; struct ExpressionStringifier final { @@ -1130,7 +1130,10 @@ std::unique_ptr ScriptEngine::CreateGameAction(const std::string& ac DukValue argsCopy = args; DukToGameActionParameterVisitor visitor(std::move(argsCopy)); action->AcceptParameters(visitor); - action->AcceptFlags(visitor); + if (args["flags"].type() == DukValue::Type::NUMBER) + { + action->AcceptFlags(visitor); + } return action; } else