diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 20799ec8a1..f638dc8375 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -5300,27 +5300,8 @@ void Ride::Renew() RideClassification Ride::GetClassification() const { - switch (type) - { - case RIDE_TYPE_FOOD_STALL: - case RIDE_TYPE_1D: - case RIDE_TYPE_DRINK_STALL: - case RIDE_TYPE_1F: - case RIDE_TYPE_SHOP: - case RIDE_TYPE_22: - case RIDE_TYPE_50: - case RIDE_TYPE_52: - case RIDE_TYPE_53: - case RIDE_TYPE_54: - return RideClassification::ShopOrStall; - case RIDE_TYPE_INFORMATION_KIOSK: - case RIDE_TYPE_TOILETS: - case RIDE_TYPE_CASH_MACHINE: - case RIDE_TYPE_FIRST_AID: - return RideClassification::KioskOrFacility; - default: - return RideClassification::Ride; - } + const auto& rtd = GetRideTypeDescriptor(); + return rtd.Classification; } bool Ride::IsRide() const diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index d2eb018a4f..3351912532 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -189,6 +189,7 @@ struct RideTypeDescriptor track_colour_preset_list ColourPresets; RideColourPreview ColourPreview; RideColourKey ColourKey; + RideClassification Classification = RideClassification::Ride; bool HasFlag(uint64_t flag) const; void GetAvailableTrackPieces(RideTrackGroup& res) const; diff --git a/src/openrct2/ride/shops/meta/CashMachine.h b/src/openrct2/ride/shops/meta/CashMachine.h index b554937ea1..cd88825352 100644 --- a/src/openrct2/ride/shops/meta/CashMachine.h +++ b/src/openrct2/ride/shops/meta/CashMachine.h @@ -46,5 +46,6 @@ constexpr const RideTypeDescriptor CashMachineRTD = SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET), SET_FIELD(ColourPreview, { 0, 0 }), SET_FIELD(ColourKey, RideColourKey::CashMachine), + SET_FIELD(Classification, RideClassification::KioskOrFacility), }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/DrinkStall.h b/src/openrct2/ride/shops/meta/DrinkStall.h index 8f04a20146..554af6f876 100644 --- a/src/openrct2/ride/shops/meta/DrinkStall.h +++ b/src/openrct2/ride/shops/meta/DrinkStall.h @@ -47,5 +47,6 @@ constexpr const RideTypeDescriptor DrinkStallRTD = SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET), SET_FIELD(ColourPreview, { 0, 0 }), SET_FIELD(ColourKey, RideColourKey::Drink), + SET_FIELD(Classification, RideClassification::ShopOrStall), }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/FirstAid.h b/src/openrct2/ride/shops/meta/FirstAid.h index e1f38b8818..13cd6306fa 100644 --- a/src/openrct2/ride/shops/meta/FirstAid.h +++ b/src/openrct2/ride/shops/meta/FirstAid.h @@ -47,5 +47,6 @@ constexpr const RideTypeDescriptor FirstAidRTD = SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET), SET_FIELD(ColourPreview, { 0, 0 }), SET_FIELD(ColourKey, RideColourKey::FirstAid), + SET_FIELD(Classification, RideClassification::KioskOrFacility), }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/FoodStall.h b/src/openrct2/ride/shops/meta/FoodStall.h index 35d5cee57c..4168f665c4 100644 --- a/src/openrct2/ride/shops/meta/FoodStall.h +++ b/src/openrct2/ride/shops/meta/FoodStall.h @@ -47,5 +47,6 @@ constexpr const RideTypeDescriptor FoodStallRTD = SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET), SET_FIELD(ColourPreview, { 0, 0 }), SET_FIELD(ColourKey, RideColourKey::Food), + SET_FIELD(Classification, RideClassification::ShopOrStall), }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/InformationKiosk.h b/src/openrct2/ride/shops/meta/InformationKiosk.h index 59b5cf1807..6dbed78185 100644 --- a/src/openrct2/ride/shops/meta/InformationKiosk.h +++ b/src/openrct2/ride/shops/meta/InformationKiosk.h @@ -47,5 +47,6 @@ constexpr const RideTypeDescriptor InformationKioskRTD = SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET), SET_FIELD(ColourPreview, { 0, 0 }), SET_FIELD(ColourKey, RideColourKey::InfoKiosk), + SET_FIELD(Classification, RideClassification::KioskOrFacility), }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/Shop.h b/src/openrct2/ride/shops/meta/Shop.h index a9b00fc9fc..362641f5f8 100644 --- a/src/openrct2/ride/shops/meta/Shop.h +++ b/src/openrct2/ride/shops/meta/Shop.h @@ -47,5 +47,6 @@ constexpr const RideTypeDescriptor ShopRTD = SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET), SET_FIELD(ColourPreview, { 0, 0 }), SET_FIELD(ColourKey, RideColourKey::Shop), + SET_FIELD(Classification, RideClassification::ShopOrStall), }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/Toilets.h b/src/openrct2/ride/shops/meta/Toilets.h index 2314267276..541473d1f8 100644 --- a/src/openrct2/ride/shops/meta/Toilets.h +++ b/src/openrct2/ride/shops/meta/Toilets.h @@ -47,5 +47,6 @@ constexpr const RideTypeDescriptor ToiletsRTD = SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET), SET_FIELD(ColourPreview, { 0, 0 }), SET_FIELD(ColourKey, RideColourKey::Toilets), + SET_FIELD(Classification, RideClassification::KioskOrFacility), }; // clang-format on