1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Merge pull request #11747 from IntelOrca/plugin/small-additions

[Plugin] Add language and split peep into guest and staff
This commit is contained in:
Michael Steenbeek
2020-05-20 10:24:24 +02:00
committed by GitHub
10 changed files with 551 additions and 71 deletions

View File

@@ -390,6 +390,8 @@ void ScriptEngine::Initialise()
ScTileElement::Register(ctx);
ScEntity::Register(ctx);
ScPeep::Register(ctx);
ScGuest::Register(ctx);
ScStaff::Register(ctx);
dukglue_register_global(ctx, std::make_shared<ScCheats>(), "cheats");
dukglue_register_global(ctx, std::make_shared<ScConsole>(_console), "console");
@@ -773,20 +775,6 @@ std::unique_ptr<GameActionResult> ScriptEngine::DukToGameActionResult(const DukV
return result;
}
DukValue ScriptEngine::PositionToDuk(const CoordsXYZ& position)
{
DukStackFrame frame(_context);
duk_context* ctx = _context;
auto obj = duk_push_object(ctx);
duk_push_int(ctx, position.x);
duk_put_prop_string(ctx, obj, "x");
duk_push_int(ctx, position.y);
duk_put_prop_string(ctx, obj, "y");
duk_push_int(ctx, position.z);
duk_put_prop_string(ctx, obj, "z");
return DukValue::take_from_stack(ctx);
}
constexpr static const char* ExpenditureTypes[] = {
"ride_construction",
"ride_runningcosts",
@@ -840,7 +828,7 @@ DukValue ScriptEngine::GameActionResultToDuk(const GameAction& action, const std
}
if (!result->Position.isNull())
{
obj.Set("position", PositionToDuk(result->Position));
obj.Set("position", ToDuk(_context, result->Position));
}
if (result->Expenditure != ExpenditureType::Count)