diff --git a/src/openrct2-ui/windows/Research.cpp b/src/openrct2-ui/windows/Research.cpp index 0d881d6d57..2801ebc474 100644 --- a/src/openrct2-ui/windows/Research.cpp +++ b/src/openrct2-ui/windows/Research.cpp @@ -291,58 +291,58 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL) { - { - auto ft = Formatter(); - ft.Add(STR_RESEARCH_UNKNOWN); - DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_TYPE_LABEL, ft); - screenCoords.y += 25; - } - // Progress - { - auto ft = Formatter(); - ft.Add(STR_RESEARCH_COMPLETED_AL); - DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft); - screenCoords.y += 15; - } + // Research type + auto ft = Formatter(); + ft.Add(STR_RESEARCH_UNKNOWN); + DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_TYPE_LABEL, ft); + screenCoords.y += 25; - { - auto ft = Formatter(); - ft.Add(STR_RESEARCH_STAGE_UNKNOWN); - DrawTextBasic(dpi, screenCoords, STR_RESEARCH_EXPECTED_LABEL, ft); - } + // Progress + ft = Formatter(); + ft.Add(STR_RESEARCH_COMPLETED_AL); + DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft); + screenCoords.y += 15; + + // Expected + ft = Formatter(); + ft.Add(STR_RESEARCH_STAGE_UNKNOWN); + DrawTextBasic(dpi, screenCoords, STR_RESEARCH_EXPECTED_LABEL, ft); } else { // Research type - std::array strings = { STR_RESEARCH_UNKNOWN, 0 }; + auto ft = Formatter(); rct_string_id label = STR_RESEARCH_TYPE_LABEL; - if (gResearchProgressStage != RESEARCH_STAGE_INITIAL_RESEARCH) + if (gResearchProgressStage == RESEARCH_STAGE_INITIAL_RESEARCH) { - strings[0] = gResearchNextItem->GetCategoryName(); - if (gResearchProgressStage != RESEARCH_STAGE_DESIGNING) + ft.Add(STR_RESEARCH_UNKNOWN); + } + else if (gResearchProgressStage == RESEARCH_STAGE_DESIGNING) + { + ft.Add(gResearchNextItem->GetCategoryName()); + } + else if (gResearchNextItem->type == Research::EntryType::Ride) + { + const auto& rtd = GetRideTypeDescriptor(gResearchNextItem->baseRideType); + if (rtd.HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { - strings[0] = gResearchNextItem->GetName(); - if (gResearchNextItem->type == Research::EntryType::Ride) - { - auto rtd = GetRideTypeDescriptor(gResearchNextItem->baseRideType); - if (!rtd.HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) - { - if (gResearchNextItem->flags & RESEARCH_ENTRY_FLAG_FIRST_OF_TYPE) - { - strings[0] = rtd.Naming.Name; - } - else - { - strings[1] = rtd.Naming.Name; - label = STR_RESEARCH_TYPE_LABEL_VEHICLE; - } - } - } + ft.Add(gResearchNextItem->GetName()); + } + else if (gResearchNextItem->flags & RESEARCH_ENTRY_FLAG_FIRST_OF_TYPE) + { + ft.Add(rtd.Naming.Name); + } + else + { + ft.Add(gResearchNextItem->GetName()); + ft.Add(rtd.Naming.Name); + label = STR_RESEARCH_TYPE_LABEL_VEHICLE; } } - auto ft = Formatter(); - ft.Add(strings[0]); - ft.Add(strings[1]); + else + { + ft.Add(gResearchNextItem->GetName()); + } DrawTextWrapped(dpi, screenCoords, 296, label, ft); screenCoords.y += 25; @@ -374,33 +374,32 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp if (gResearchLastItem.has_value()) { rct_string_id lastDevelopmentFormat = STR_EMPTY; - std::array strings = { gResearchLastItem->GetName(), 0 }; - auto type = gResearchLastItem->type; - if (type == Research::EntryType::Scenery) + auto ft = Formatter(); + if (gResearchLastItem->type == Research::EntryType::Scenery) { lastDevelopmentFormat = STR_RESEARCH_SCENERY_LABEL; + ft.Add(gResearchLastItem->GetName()); } else { lastDevelopmentFormat = STR_RESEARCH_RIDE_LABEL; - auto rtd = GetRideTypeDescriptor(gResearchLastItem->baseRideType); - if (!rtd.HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) + const auto& rtd = GetRideTypeDescriptor(gResearchLastItem->baseRideType); + if (rtd.HasFlag(RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY)) { - if (gResearchLastItem->flags & RESEARCH_ENTRY_FLAG_FIRST_OF_TYPE) - { - strings[0] = rtd.Naming.Name; - } - else - { - strings[1] = rtd.Naming.Name; - lastDevelopmentFormat = STR_RESEARCH_VEHICLE_LABEL; - } + ft.Add(gResearchLastItem->GetName()); + } + else if (gResearchLastItem->flags & RESEARCH_ENTRY_FLAG_FIRST_OF_TYPE) + { + ft.Add(rtd.Naming.Name); + } + else + { + ft.Add(gResearchLastItem->GetName()); + ft.Add(rtd.Naming.Name); + lastDevelopmentFormat = STR_RESEARCH_VEHICLE_LABEL; } } - auto ft = Formatter(); - ft.Add(strings[0]); - ft.Add(strings[1]); DrawTextWrapped(dpi, screenCoords, 266, lastDevelopmentFormat, ft); } } diff --git a/src/openrct2/paint/sprite/Paint.Misc.cpp b/src/openrct2/paint/sprite/Paint.Misc.cpp index 61352ae456..4e119ace7e 100644 --- a/src/openrct2/paint/sprite/Paint.Misc.cpp +++ b/src/openrct2/paint/sprite/Paint.Misc.cpp @@ -122,8 +122,14 @@ template<> void PaintEntity(paint_session* session, const JumpingFountain* jumpi uint32_t baseImageId = (jumpingFountain->FountainType == JumpingFountainType::Snow) ? JumpingFountainSnowBaseImage : JumpingFountainWaterBaseImage; uint32_t imageId = baseImageId + ebx * 16 + jumpingFountain->frame; - constexpr std::array antiClockWiseBoundingBoxes = { CoordsXY{ -COORDS_XY_STEP, -3 }, CoordsXY{ 0, -3 } }; - constexpr std::array clockWiseBoundingBoxes = { CoordsXY{ -COORDS_XY_STEP, 3 }, CoordsXY{ 0, 3 } }; + constexpr std::array antiClockWiseBoundingBoxes = { + CoordsXY{ -COORDS_XY_STEP, -3 }, + CoordsXY{ 0, -3 }, + }; + constexpr std::array clockWiseBoundingBoxes = { + CoordsXY{ -COORDS_XY_STEP, 3 }, + CoordsXY{ 0, 3 }, + }; auto bb = isAntiClockwise ? antiClockWiseBoundingBoxes : clockWiseBoundingBoxes; diff --git a/src/openrct2/platform/Shared.cpp b/src/openrct2/platform/Shared.cpp index ba4f591b7d..c0244401e1 100644 --- a/src/openrct2/platform/Shared.cpp +++ b/src/openrct2/platform/Shared.cpp @@ -237,7 +237,7 @@ CurrencyType platform_get_currency_value(const char* currCode) #ifndef _WIN32 std::string platform_sanitise_filename(const std::string& path) { - static const std::array prohibited = { '/' }; + static constexpr std::array prohibited = { '/' }; auto sanitised = path; std::replace_if( sanitised.begin(), sanitised.end(), diff --git a/src/openrct2/platform/Windows.cpp b/src/openrct2/platform/Windows.cpp index 594dcdf7e1..04c70360e1 100644 --- a/src/openrct2/platform/Windows.cpp +++ b/src/openrct2/platform/Windows.cpp @@ -196,7 +196,7 @@ std::string platform_get_rct2_steam_dir() std::string platform_sanitise_filename(const std::string& path) { - static const std::array prohibited = { '<', '>', '*', '\\', ':', '|', '?', '"', '/' }; + static constexpr std::array prohibited = { '<', '>', '*', '\\', ':', '|', '?', '"', '/' }; auto sanitised = path; std::replace_if( sanitised.begin(), sanitised.end(), diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 8044cdcd9a..0a23876093 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -7262,7 +7262,7 @@ void Vehicle::UpdateAnimationAnimalFlying() Invalidate(); } // number of frames to skip before updating again - constexpr std::array frameWaitTimes = { 5, 3, 5, 3 }; + constexpr std::array frameWaitTimes = { 5, 3, 5, 3 }; animationState = frameWaitTimes[animation_frame]; } diff --git a/src/openrct2/ride/gentle/GhostTrain.cpp b/src/openrct2/ride/gentle/GhostTrain.cpp index 521ade0e6d..3e40b4847b 100644 --- a/src/openrct2/ride/gentle/GhostTrain.cpp +++ b/src/openrct2/ride/gentle/GhostTrain.cpp @@ -361,7 +361,7 @@ static void paint_ghost_train_station( { uint32_t imageId; - static constexpr const std::array imageIds = { + static constexpr const std::array imageIds = { SPR_STATION_BASE_B_SW_NE, SPR_STATION_BASE_B_NW_SE, SPR_STATION_BASE_B_SW_NE, diff --git a/src/openrct2/world/Banner.cpp b/src/openrct2/world/Banner.cpp index fa590e5a72..ce9993d6b4 100644 --- a/src/openrct2/world/Banner.cpp +++ b/src/openrct2/world/Banner.cpp @@ -194,15 +194,17 @@ WallElement* banner_get_scrolling_wall_tile_element(BannerIndex bannerIndex) */ ride_id_t banner_get_closest_ride_index(const CoordsXYZ& mapPos) { - static constexpr const std::array NeighbourCheckOrder = { CoordsXY{ COORDS_XY_STEP, 0 }, - CoordsXY{ -COORDS_XY_STEP, 0 }, - { 0, COORDS_XY_STEP }, - CoordsXY{ 0, -COORDS_XY_STEP }, - CoordsXY{ -COORDS_XY_STEP, +COORDS_XY_STEP }, - CoordsXY{ +COORDS_XY_STEP, -COORDS_XY_STEP }, - CoordsXY{ +COORDS_XY_STEP, +COORDS_XY_STEP }, - CoordsXY{ -COORDS_XY_STEP, +COORDS_XY_STEP }, - CoordsXY{ 0, 0 } }; + static constexpr const std::array NeighbourCheckOrder = { + CoordsXY{ COORDS_XY_STEP, 0 }, + CoordsXY{ -COORDS_XY_STEP, 0 }, + CoordsXY{ 0, COORDS_XY_STEP }, + CoordsXY{ 0, -COORDS_XY_STEP }, + CoordsXY{ -COORDS_XY_STEP, +COORDS_XY_STEP }, + CoordsXY{ +COORDS_XY_STEP, -COORDS_XY_STEP }, + CoordsXY{ +COORDS_XY_STEP, +COORDS_XY_STEP }, + CoordsXY{ -COORDS_XY_STEP, +COORDS_XY_STEP }, + CoordsXY{ 0, 0 }, + }; for (const auto& neighhbourCoords : NeighbourCheckOrder) { diff --git a/src/openrct2/world/Fountain.cpp b/src/openrct2/world/Fountain.cpp index 977e8e3ab7..c4466504a3 100644 --- a/src/openrct2/world/Fountain.cpp +++ b/src/openrct2/world/Fountain.cpp @@ -28,7 +28,7 @@ enum class PATTERN FAST_RANDOM_CHASERS, }; -static constexpr const std::array _fountainDirectionsNegative = { +static constexpr const std::array _fountainDirectionsNegative = { CoordsXY{ -COORDS_XY_STEP, 0 }, CoordsXY{ -COORDS_XY_STEP, -COORDS_XY_STEP }, CoordsXY{ 0, 0 }, @@ -39,14 +39,16 @@ static constexpr const std::array _fountainDirectionsNegative = { CoordsXY{ -COORDS_XY_STEP, -COORDS_XY_STEP }, }; -static constexpr const std::array _fountainDirectionsPositive = { CoordsXY{ COORDS_XY_STEP, 0 }, - CoordsXY{ 0, 0 }, - CoordsXY{ 0, COORDS_XY_STEP }, - CoordsXY{ COORDS_XY_STEP, COORDS_XY_STEP }, - CoordsXY{ COORDS_XY_STEP, COORDS_XY_STEP }, - CoordsXY{ COORDS_XY_STEP, 0 }, - CoordsXY{ 0, 0 }, - CoordsXY{ 0, COORDS_XY_STEP } }; +static constexpr const std::array _fountainDirectionsPositive = { + CoordsXY{ COORDS_XY_STEP, 0 }, + CoordsXY{ 0, 0 }, + CoordsXY{ 0, COORDS_XY_STEP }, + CoordsXY{ COORDS_XY_STEP, COORDS_XY_STEP }, + CoordsXY{ COORDS_XY_STEP, COORDS_XY_STEP }, + CoordsXY{ COORDS_XY_STEP, 0 }, + CoordsXY{ 0, 0 }, + CoordsXY{ 0, COORDS_XY_STEP }, +}; constexpr auto _FountainChanceOfStoppingEdgeMode = 0x3333; // 0.200 constexpr auto _FountainChanceOfStoppingRandomMode = 0x2000; // 0.125 diff --git a/src/openrct2/world/Map.cpp b/src/openrct2/world/Map.cpp index 8b90b8d3e0..64d49fad9b 100644 --- a/src/openrct2/world/Map.cpp +++ b/src/openrct2/world/Map.cpp @@ -1077,10 +1077,12 @@ void map_invalidate_map_selection_tiles() static void map_get_bounding_box(const MapRange& _range, int32_t* left, int32_t* top, int32_t* right, int32_t* bottom) { uint32_t rotation = get_current_rotation(); - std::array corners{ CoordsXY{ _range.GetLeft(), _range.GetTop() }, - CoordsXY{ _range.GetRight(), _range.GetTop() }, - CoordsXY{ _range.GetRight(), _range.GetBottom() }, - CoordsXY{ _range.GetLeft(), _range.GetBottom() } }; + const std::array corners{ + CoordsXY{ _range.GetLeft(), _range.GetTop() }, + CoordsXY{ _range.GetRight(), _range.GetTop() }, + CoordsXY{ _range.GetRight(), _range.GetBottom() }, + CoordsXY{ _range.GetLeft(), _range.GetBottom() }, + }; *left = std::numeric_limits::max(); *top = std::numeric_limits::max();