diff --git a/distribution/changelog.txt b/distribution/changelog.txt index d2c88b1144..ece0b0786b 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -10,6 +10,7 @@ - Feature: [OpenMusic#50] Added Rock style 4 ride music. - Change: [#20790] Default ride price set to free if park charges for entry. - Change: [#20880] Restore removed default coaster colours. +- Change: [#21102] The money effect will now update even when the game is paused. - Fix: [#12299] Placing ride entrances/exits ignores the Disable Clearance Checks cheat. - Fix: [#13473] Guests complain that the default Circus price is too high. - Fix: [#15293] TTF fonts don’t format correctly with OpenGL. diff --git a/src/openrct2/GameState.cpp b/src/openrct2/GameState.cpp index 9a96c5cca0..5dac4347c8 100644 --- a/src/openrct2/GameState.cpp +++ b/src/openrct2/GameState.cpp @@ -173,6 +173,9 @@ void GameState::Tick() NetworkSendTick(); } + // Keep updating the money effect even when paused. + UpdateMoneyEffect(); + // Update the animation list. Note this does not // increment the map animation. MapAnimationInvalidateAll(); diff --git a/src/openrct2/entity/EntityRegistry.cpp b/src/openrct2/entity/EntityRegistry.cpp index c8af092eb1..74d263b4dd 100644 --- a/src/openrct2/entity/EntityRegistry.cpp +++ b/src/openrct2/entity/EntityRegistry.cpp @@ -409,6 +409,11 @@ void UpdateAllMiscEntities() Balloon, Duck>(); } +void UpdateMoneyEffect() +{ + MiscUpdateAllTypes(); +} + // Performs a search to ensure that insert keeps next_in_quadrant in sprite_index order static void EntitySpatialInsert(EntityBase* entity, const CoordsXY& newLoc) { diff --git a/src/openrct2/entity/EntityRegistry.h b/src/openrct2/entity/EntityRegistry.h index a0f9531b13..640797bdc2 100644 --- a/src/openrct2/entity/EntityRegistry.h +++ b/src/openrct2/entity/EntityRegistry.h @@ -50,6 +50,7 @@ template T* CreateEntityAt(const EntityId index) void ResetAllEntities(); void ResetEntitySpatialIndices(); void UpdateAllMiscEntities(); +void UpdateMoneyEffect(); void EntitySetCoordinates(const CoordsXYZ& entityPos, EntityBase* entity); void EntityRemove(EntityBase* entity); uint16_t RemoveFloatingEntities();