diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index bbed23f703..abae61bc06 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -1863,7 +1863,8 @@ static void window_top_toolbar_scenery_tool_down(int16_t x, int16_t y, rct_windo auto primaryColour = parameter_2 & 0xFF; auto secondaryColour = (parameter_2 >> 8) & 0xFF; auto largeSceneryType = parameter_3 & 0xFF; - CoordsXYZD loc = { gridX, gridY, gSceneryPlaceZ, (parameter_1 & 0xFF00) >> 8 }; + uint8_t direction = (parameter_1 & 0xFF00) >> 8; + CoordsXYZD loc = { gridX, gridY, gSceneryPlaceZ, direction }; auto sceneryPlaceAction = LargeSceneryPlaceAction(loc, largeSceneryType, primaryColour, secondaryColour); @@ -1886,7 +1887,8 @@ static void window_top_toolbar_scenery_tool_down(int16_t x, int16_t y, rct_windo auto primaryColour = parameter_2 & 0xFF; auto secondaryColour = (parameter_2 >> 8) & 0xFF; auto largeSceneryType = parameter_3 & 0xFF; - CoordsXYZD loc = { gridX, gridY, gSceneryPlaceZ, (parameter_1 & 0xFF00) >> 8 }; + uint8_t direction = (parameter_1 & 0xFF00) >> 8; + CoordsXYZD loc = { gridX, gridY, gSceneryPlaceZ, direction }; auto sceneryPlaceAction = LargeSceneryPlaceAction(loc, largeSceneryType, primaryColour, secondaryColour); sceneryPlaceAction.SetCallback([=](const GameAction* ga, const GameActionResult* result) { @@ -2562,7 +2564,8 @@ static money32 try_place_ghost_scenery( auto primaryColour = parameter_2 & 0xFF; auto secondaryColour = (parameter_2 >> 8) & 0xFF; auto sceneryType = parameter_3 & 0xFF; - CoordsXYZD loc = { map_tile.x, map_tile.y, gSceneryPlaceZ, (parameter_1 & 0xFF00) >> 8 }; + uint8_t direction = (parameter_1 & 0xFF00) >> 8; + CoordsXYZD loc = { map_tile.x, map_tile.y, gSceneryPlaceZ, direction }; auto sceneryPlaceAction = LargeSceneryPlaceAction(loc, sceneryType, primaryColour, secondaryColour); sceneryPlaceAction.SetFlags( diff --git a/src/openrct2/Game.cpp b/src/openrct2/Game.cpp index bdd54f9fd2..6f6470aee0 100644 --- a/src/openrct2/Game.cpp +++ b/src/openrct2/Game.cpp @@ -408,8 +408,7 @@ int32_t game_do_command_p( gGameCommandNestLevel++; // Remove ghost scenery so it doesn't interfere with incoming network command - if ((flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST) - && (command == GAME_COMMAND_PLACE_BANNER)) + if ((flags & GAME_COMMAND_FLAG_NETWORKED) && !(flags & GAME_COMMAND_FLAG_GHOST) && (command == GAME_COMMAND_PLACE_BANNER)) { scenery_remove_ghost_tool_placement(); } diff --git a/src/openrct2/actions/LargeSceneryPlaceAction.hpp b/src/openrct2/actions/LargeSceneryPlaceAction.hpp index ff205c7128..b72fb5161d 100644 --- a/src/openrct2/actions/LargeSceneryPlaceAction.hpp +++ b/src/openrct2/actions/LargeSceneryPlaceAction.hpp @@ -9,10 +9,13 @@ #pragma once +#include "../management/Finance.h" +#include "../object/ObjectLimits.h" #include "../ride/Ride.h" #include "../world/Banner.h" #include "../world/LargeScenery.h" #include "../world/MapAnimation.h" +#include "../world/Scenery.h" #include "GameAction.h" DEFINE_GAME_ACTION(LargeSceneryPlaceAction, GAME_COMMAND_PLACE_LARGE_SCENERY, GameActionResult) @@ -62,7 +65,9 @@ public: if (_primaryColour > TILE_ELEMENT_COLOUR_MASK || _secondaryColour > TILE_ELEMENT_COLOUR_MASK) { - log_error("Invalid game command for scenery placement, primaryColour = %u, secondaryColour = %u", _primaryColour, _secondaryColour); + log_error( + "Invalid game command for scenery placement, primaryColour = %u, secondaryColour = %u", _primaryColour, + _secondaryColour); return MakeResult(GA_ERROR::INVALID_PARAMETERS, STR_CANT_POSITION_THIS_HERE); } @@ -129,7 +134,6 @@ public: GA_ERROR::NO_CLEARANCE, STR_CANT_POSITION_THIS_HERE, gGameCommandErrorText, gCommonFormatArgs); } - int32_t tempSceneryGroundFlags = gMapGroundFlags & (ELEMENT_IS_ABOVE_GROUND | ELEMENT_IS_UNDERGROUND); if (!gCheatsDisableClearanceChecks) { diff --git a/src/openrct2/ride/TrackDesign.cpp b/src/openrct2/ride/TrackDesign.cpp index 4a529eb1f6..559c3795c2 100644 --- a/src/openrct2/ride/TrackDesign.cpp +++ b/src/openrct2/ride/TrackDesign.cpp @@ -14,8 +14,8 @@ #include "../OpenRCT2.h" #include "../actions/FootpathPlaceFromTrackAction.hpp" #include "../actions/FootpathRemoveAction.hpp" -#include "../actions/LargeSceneryRemoveAction.hpp" #include "../actions/LargeSceneryPlaceAction.hpp" +#include "../actions/LargeSceneryRemoveAction.hpp" #include "../actions/RideEntranceExitPlaceAction.hpp" #include "../actions/RideSetSetting.hpp" #include "../actions/RideSetVehiclesAction.hpp" @@ -888,7 +888,7 @@ static bool TrackDesignPlaceSceneryElement( break; } case OBJECT_TYPE_LARGE_SCENERY: - { + { if (mode != 0) { return true; @@ -927,7 +927,7 @@ static bool TrackDesignPlaceSceneryElement( cost = res->Cost; break; - } + } case OBJECT_TYPE_WALLS: { if (mode != 0)