From e94dc57d32c9e02ee03c00d53681793517c9badb Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Sat, 23 Sep 2023 06:30:47 +0200 Subject: [PATCH] Fix #20356: Cannot set tertiary colour on small scenery (#20803) --- distribution/changelog.txt | 1 + src/openrct2/actions/SmallSceneryPlaceAction.cpp | 4 +++- src/openrct2/actions/SmallScenerySetColourAction.cpp | 3 ++- src/openrct2/network/NetworkBase.cpp | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index ccad486698..9bcf5ba87c 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -3,6 +3,7 @@ - Feature: [#20141] Add additional track pieces to the Giga Coaster. - Feature: [OpenMusic#46] Added Mystic ride music style. - Change: [#20790] Default ride price set to free if park charges for entry. +- Fix: [#20356] Cannot set tertiary colour on small scenery. - Fix: [#20737] Spent money in player window underflows when getting refunds. - Fix: [#20778] [Plugin] Incorrect target api when executing custom actions. - Fix: [#19722] “Forbid tree removal” restriction doesn't forbid removal of large scenery tree items. diff --git a/src/openrct2/actions/SmallSceneryPlaceAction.cpp b/src/openrct2/actions/SmallSceneryPlaceAction.cpp index 3f084cfdd0..ca889f826a 100644 --- a/src/openrct2/actions/SmallSceneryPlaceAction.cpp +++ b/src/openrct2/actions/SmallSceneryPlaceAction.cpp @@ -49,6 +49,7 @@ void SmallSceneryPlaceAction::AcceptParameters(GameActionParameterVisitor& visit visitor.Visit("object", _sceneryType); visitor.Visit("primaryColour", _primaryColour); visitor.Visit("secondaryColour", _secondaryColour); + visitor.Visit("tertiaryColour", _tertiaryColour); } uint32_t SmallSceneryPlaceAction::GetCooldownTime() const @@ -65,7 +66,8 @@ void SmallSceneryPlaceAction::Serialise(DataSerialiser& stream) { GameAction::Serialise(stream); - stream << DS_TAG(_loc) << DS_TAG(_quadrant) << DS_TAG(_sceneryType) << DS_TAG(_primaryColour) << DS_TAG(_secondaryColour); + stream << DS_TAG(_loc) << DS_TAG(_quadrant) << DS_TAG(_sceneryType) << DS_TAG(_primaryColour) << DS_TAG(_secondaryColour) + << DS_TAG(_tertiaryColour); } GameActions::Result SmallSceneryPlaceAction::Query() const diff --git a/src/openrct2/actions/SmallScenerySetColourAction.cpp b/src/openrct2/actions/SmallScenerySetColourAction.cpp index bedc876de8..2766aacb00 100644 --- a/src/openrct2/actions/SmallScenerySetColourAction.cpp +++ b/src/openrct2/actions/SmallScenerySetColourAction.cpp @@ -55,7 +55,8 @@ void SmallScenerySetColourAction::Serialise(DataSerialiser& stream) { GameAction::Serialise(stream); - stream << DS_TAG(_loc) << DS_TAG(_quadrant) << DS_TAG(_sceneryType) << DS_TAG(_primaryColour) << DS_TAG(_secondaryColour); + stream << DS_TAG(_loc) << DS_TAG(_quadrant) << DS_TAG(_sceneryType) << DS_TAG(_primaryColour) << DS_TAG(_secondaryColour) + << DS_TAG(_tertiaryColour); } GameActions::Result SmallScenerySetColourAction::Query() const diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index f0afd9e816..39aa046969 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -43,7 +43,7 @@ // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "3" +#define NETWORK_STREAM_VERSION "4" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION