Expose whether the game is paused to the plugin API

This commit is contained in:
Katherine Norton 2024-05-03 10:59:57 -05:00 committed by GitHub
parent accbd799ee
commit cd528665e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 13 additions and 1 deletions

View File

@ -2,6 +2,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Feature: [#11512] Coloured usernames by group on multiplayer servers. - Feature: [#11512] Coloured usernames by group on multiplayer servers.
- Feature: [#21734] Park admittance price can now be set via text input. - Feature: [#21734] Park admittance price can now be set via text input.
- Feature: [#21957] [Plugin] Expose whether the game is paused to the plugin API.
- Improved: [#21728] “Fix all rides” cheat now also works if a mechanic is already fixing the ride. - Improved: [#21728] “Fix all rides” cheat now also works if a mechanic is already fixing the ride.
- Improved: [#21769] Expose “animation is backwards” wall property in Tile Inspector. - Improved: [#21769] Expose “animation is backwards” wall property in Tile Inspector.
- Improved: [#21855] Add a separator between “Load Game” and “Save Game”, to avoid accidental overwriting. - Improved: [#21855] Add a separator between “Load Game” and “Save Game”, to avoid accidental overwriting.

View File

@ -216,6 +216,11 @@ declare global {
*/ */
readonly mode: GameMode; readonly mode: GameMode;
/**
* Whether the game is currently paused or not.
*/
readonly paused: boolean;
/** /**
* Render the current state of the map and save to disc. * Render the current state of the map and save to disc.
* Useful for server administration and timelapse creation. * Useful for server administration and timelapse creation.

View File

@ -47,7 +47,7 @@ namespace OpenRCT2
namespace OpenRCT2::Scripting namespace OpenRCT2::Scripting
{ {
static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 84; static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 85;
// Versions marking breaking changes. // Versions marking breaking changes.
static constexpr int32_t API_VERSION_33_PEEP_DEPRECATION = 33; static constexpr int32_t API_VERSION_33_PEEP_DEPRECATION = 33;

View File

@ -126,6 +126,11 @@ namespace OpenRCT2::Scripting
return "normal"; return "normal";
} }
bool paused_get()
{
return GameIsPaused();
}
void captureImage(const DukValue& options) void captureImage(const DukValue& options)
{ {
auto ctx = GetContext()->GetScriptEngine().GetContext(); auto ctx = GetContext()->GetScriptEngine().GetContext();
@ -433,6 +438,7 @@ namespace OpenRCT2::Scripting
dukglue_register_property(ctx, &ScContext::sharedStorage_get, nullptr, "sharedStorage"); dukglue_register_property(ctx, &ScContext::sharedStorage_get, nullptr, "sharedStorage");
dukglue_register_method(ctx, &ScContext::getParkStorage, "getParkStorage"); dukglue_register_method(ctx, &ScContext::getParkStorage, "getParkStorage");
dukglue_register_property(ctx, &ScContext::mode_get, nullptr, "mode"); dukglue_register_property(ctx, &ScContext::mode_get, nullptr, "mode");
dukglue_register_property(ctx, &ScContext::paused_get, nullptr, "paused");
dukglue_register_method(ctx, &ScContext::captureImage, "captureImage"); dukglue_register_method(ctx, &ScContext::captureImage, "captureImage");
dukglue_register_method(ctx, &ScContext::getObject, "getObject"); dukglue_register_method(ctx, &ScContext::getObject, "getObject");
dukglue_register_method(ctx, &ScContext::getAllObjects, "getAllObjects"); dukglue_register_method(ctx, &ScContext::getAllObjects, "getAllObjects");