1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 19:13:07 +01:00

Use music objects instead of IDs

This commit is contained in:
Ted John
2021-09-01 10:16:44 +02:00
committed by Gymnasiast
parent b2d0b54d13
commit 3c451a4af4
95 changed files with 223 additions and 116 deletions

View File

@@ -10,11 +10,13 @@
#include "RideCreateAction.h"
#include "../Cheats.h"
#include "../Context.h"
#include "../core/Memory.hpp"
#include "../core/MemoryStream.h"
#include "../interface/Window.h"
#include "../localisation/Date.h"
#include "../localisation/StringIds.h"
#include "../object/ObjectManager.h"
#include "../rct1/RCT1.h"
#include "../ride/Ride.h"
#include "../ride/RideData.h"
@@ -167,16 +169,25 @@ GameActions::Result::Ptr RideCreateAction::Execute() const
ride->min_waiting_time = 10;
ride->max_waiting_time = 60;
ride->depart_flags = RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH | 3;
if (ride->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT))
{
ride->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
}
ride->music = ride->GetRideTypeDescriptor().DefaultMusic;
const auto& operatingSettings = ride->GetRideTypeDescriptor().OperatingSettings;
const auto& rtd = ride->GetRideTypeDescriptor();
if (rtd.HasFlag(RIDE_TYPE_FLAG_ALLOW_MUSIC))
{
auto& objManager = OpenRCT2::GetContext()->GetObjectManager();
ride->music = objManager.GetLoadedObjectEntryIndex(rtd.DefaultMusic);
if (ride->music != OBJECT_ENTRY_INDEX_NULL)
{
if (rtd.HasFlag(RIDE_TYPE_FLAG_MUSIC_ON_DEFAULT))
{
ride->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
}
}
}
const auto& operatingSettings = rtd.OperatingSettings;
ride->operation_option = (operatingSettings.MinValue * 3 + operatingSettings.MaxValue) / 4;
ride->lift_hill_speed = ride->GetRideTypeDescriptor().LiftData.minimum_speed;
ride->lift_hill_speed = rtd.LiftData.minimum_speed;
ride->measurement = {};
ride->excitement = RIDE_RATING_UNDEFINED;
@@ -193,7 +204,7 @@ GameActions::Result::Ptr RideCreateAction::Execute() const
{
for (auto i = 0; i < NUM_SHOP_ITEMS_PER_RIDE; i++)
{
ride->price[i] = ride->GetRideTypeDescriptor().DefaultPrices[i];
ride->price[i] = rtd.DefaultPrices[i];
}
if (rideEntry->shop_item[0] == ShopItem::None)
@@ -245,7 +256,7 @@ GameActions::Result::Ptr RideCreateAction::Execute() const
}
// Set the on-ride photo price, whether the ride has one or not (except shops).
if (!ride->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_IS_SHOP) && shop_item_has_common_price(ShopItem::Photo))
if (!rtd.HasFlag(RIDE_TYPE_FLAG_IS_SHOP) && shop_item_has_common_price(ShopItem::Photo))
{
money32 price = shop_item_get_common_price(ride, ShopItem::Photo);
if (price != MONEY32_UNDEFINED)

View File

@@ -91,6 +91,26 @@ public:
return loadedObject;
}
ObjectEntryIndex GetLoadedObjectEntryIndex(std::string_view identifier) override
{
const auto* obj = GetLoadedObject(ObjectEntryDescriptor(identifier));
if (obj != nullptr)
{
return GetLoadedObjectEntryIndex(obj);
}
return OBJECT_ENTRY_INDEX_NULL;
}
ObjectEntryIndex GetLoadedObjectEntryIndex(const ObjectEntryDescriptor& descriptor) override
{
auto obj = GetLoadedObject(descriptor);
if (obj != nullptr)
{
return GetLoadedObjectEntryIndex(obj);
}
return OBJECT_ENTRY_INDEX_NULL;
}
ObjectEntryIndex GetLoadedObjectEntryIndex(const Object* object) override
{
ObjectEntryIndex result = OBJECT_ENTRY_INDEX_NULL;

View File

@@ -27,6 +27,8 @@ struct IObjectManager
virtual Object* GetLoadedObject(size_t index) abstract;
virtual Object* GetLoadedObject(ObjectType objectType, size_t index) abstract;
virtual Object* GetLoadedObject(const ObjectEntryDescriptor& entry) abstract;
virtual ObjectEntryIndex GetLoadedObjectEntryIndex(std::string_view identifier) abstract;
virtual ObjectEntryIndex GetLoadedObjectEntryIndex(const ObjectEntryDescriptor& descriptor) abstract;
virtual ObjectEntryIndex GetLoadedObjectEntryIndex(const Object* object) abstract;
virtual std::vector<rct_object_entry> GetInvalidObjects(const rct_object_entry* entries) abstract;

View File

@@ -859,25 +859,33 @@ namespace RCT1
// RCT1 used 5mph / 8 km/h for every lift hill
dst->lift_hill_speed = 5;
if (_gameVersion == FILE_VERSION_RCT1)
dst->music = OBJECT_ENTRY_INDEX_NULL;
if (GetRideTypeDescriptor(dst->type).HasFlag(RIDE_TYPE_FLAG_ALLOW_MUSIC))
{
// Original RCT had no music settings, take default style
dst->music = GetRideTypeDescriptor(dst->type).DefaultMusic;
// Only merry-go-round and dodgems had music and used
// the same flag as synchronise stations for the option to enable it
if (src->type == RCT1_RIDE_TYPE_MERRY_GO_ROUND || src->type == RCT1_RIDE_TYPE_DODGEMS)
if (_gameVersion == FILE_VERSION_RCT1)
{
if (src->depart_flags & RCT1_RIDE_DEPART_PLAY_MUSIC)
// Original RCT had no music settings, take default style
auto style = GetStyleFromMusicIdentifier(GetRideTypeDescriptor(dst->type).DefaultMusic);
if (style)
{
dst->depart_flags &= ~RCT1_RIDE_DEPART_PLAY_MUSIC;
dst->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
dst->music = *style;
}
// Only merry-go-round and dodgems had music and used
// the same flag as synchronise stations for the option to enable it
if (src->type == RCT1_RIDE_TYPE_MERRY_GO_ROUND || src->type == RCT1_RIDE_TYPE_DODGEMS)
{
if (src->depart_flags & RCT1_RIDE_DEPART_PLAY_MUSIC)
{
dst->depart_flags &= ~RCT1_RIDE_DEPART_PLAY_MUSIC;
dst->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
}
}
}
}
else
{
dst->music = src->music;
else
{
dst->music = src->music;
}
}
if (src->operating_mode == RCT1_RIDE_MODE_POWERED_LAUNCH)

View File

@@ -1366,3 +1366,49 @@ money32 OpenRCT2CompletedCompanyValueToRCT12(money64 origValue)
return ToMoney32(origValue);
}
static constexpr std::string_view _musicStyles[] = {
"rct2.music.dodgems",
"rct2.music.fairground",
"rct2.music.roman",
"rct2.music.oriental",
"rct2.music.martian",
"rct2.music.jungle",
"rct2.music.egyptian",
"rct2.music.toyland",
"", // CIRCUS
"rct2.music.space",
"rct2.music.horror",
"rct2.music.techno",
"rct2.music.gentle",
"rct2.music.summer",
"rct2.music.water",
"rct2.music.wildwest",
"rct2.music.jurassic",
"rct2.music.rock1",
"rct2.music.ragtime",
"rct2.music.fantasy",
"rct2.music.rock2",
"rct2.music.ice",
"rct2.music.snow",
"rct2.music.custom1",
"rct2.music.custom2",
"rct2.music.medieval",
"rct2.music.urban",
"rct2.music.organ",
"rct2.music.mechanical",
"rct2.music.modern",
"rct2.music.pirate",
"rct2.music.rock3",
"rct2.music.candy",
};
std::optional<uint8_t> GetStyleFromMusicIdentifier(std::string_view identifier)
{
auto it = std::find(std::begin(_musicStyles), std::end(_musicStyles), identifier);
if (it != std::end(_musicStyles))
{
return std::distance(std::begin(_musicStyles), it);
}
return {};
}

View File

@@ -937,6 +937,7 @@ std::string ConvertFormattedStringToRCT2(std::string_view buffer, size_t maxLeng
std::string GetTruncatedRCT2String(std::string_view src, size_t maxLength);
track_type_t RCT12FlatTrackTypeToOpenRCT2(RCT12TrackType origTrackType);
RCT12TrackType OpenRCT2FlatTrackTypeToRCT12(track_type_t origTrackType);
std::optional<uint8_t> GetStyleFromMusicIdentifier(std::string_view identifier);
static constexpr money32 RCT12_COMPANY_VALUE_ON_FAILED_OBJECTIVE = 0x80000001;

View File

@@ -800,7 +800,12 @@ public:
}
}
dst->music = src->music;
auto musicStyle = OBJECT_ENTRY_INDEX_NULL;
if (GetRideTypeDescriptor(dst->type).HasFlag(RIDE_TYPE_FLAG_ALLOW_MUSIC))
{
musicStyle = src->music;
}
dst->music = musicStyle;
auto entranceStyle = src->entrance_style;
// In SV7, "plain" entrances are invisible.

View File

@@ -361,7 +361,7 @@ public:
money64 income_per_hour;
money64 profit;
TrackColour track_colour[NUM_COLOUR_SCHEMES];
uint8_t music;
ObjectEntryIndex music;
ObjectEntryIndex entrance_style;
uint16_t vehicle_change_timeout;
uint8_t num_block_brakes;

View File

@@ -167,7 +167,7 @@ struct RideTypeDescriptor
// rct2: 0x0097DD78
RideBuildCost BuildCosts;
money16 DefaultPrices[NUM_SHOP_ITEMS_PER_RIDE];
uint8_t DefaultMusic;
std::string_view DefaultMusic;
/** rct2: 0x0097D7CB */
ShopItemIndex PhotoItem;
/** rct2: 0x0097D21E */
@@ -295,6 +295,20 @@ constexpr const RideComponentName RideComponentNames[] =
};
// clang-format on
constexpr std::string_view MUSIC_OBJECT_DODGEMS = "rct2.music.dodgems";
constexpr std::string_view MUSIC_OBJECT_EGYPTIAN = "rct2.music.egyptian";
constexpr std::string_view MUSIC_OBJECT_FAIRGROUND = "rct2.music.fairground";
constexpr std::string_view MUSIC_OBJECT_GENTLE = "rct2.music.gentle";
constexpr std::string_view MUSIC_OBJECT_HORROR = "rct2.music.horror";
constexpr std::string_view MUSIC_OBJECT_PIRATE = "rct2.music.pirate";
constexpr std::string_view MUSIC_OBJECT_ROCK_1 = "rct2.music.rock1";
constexpr std::string_view MUSIC_OBJECT_ROCK_2 = "rct2.music.rock2";
constexpr std::string_view MUSIC_OBJECT_ROCK_3 = "rct2.music.rock3";
constexpr std::string_view MUSIC_OBJECT_SUMMER = "rct2.music.summer";
constexpr std::string_view MUSIC_OBJECT_TECHNO = "rct2.music.techno";
constexpr std::string_view MUSIC_OBJECT_WATER = "rct2.music.water";
constexpr std::string_view MUSIC_OBJECT_WILD_WEST = "rct2.music.wildwest";
constexpr const RideComponentName& GetRideComponentName(const RideComponentType type)
{
return RideComponentNames[EnumValue(type)];
@@ -343,7 +357,7 @@ constexpr const RideTypeDescriptor DummyRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 0, 0, 1 }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 0),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor AirPoweredVerticalCoasterRTD =
SET_FIELD(UpkeepCosts, { 90, 20, 0, 0, 0, 10 }),
SET_FIELD(BuildCosts, { 200, 0, 45, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_2),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 70),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor BobsleighCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 80, 5, 45, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 75),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor ClassicMiniRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 45, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 60),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor CompactInvertedCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 13, 3, 10 }),
SET_FIELD(BuildCosts, { 100, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 80),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -47,7 +47,7 @@ constexpr const RideTypeDescriptor CorkscrewRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 105, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 125, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(
@@ -84,7 +84,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD =
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 125, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor GigaCoasterRTD =
SET_FIELD(UpkeepCosts, { 10, 20, 80, 12, 3, 40 }),
SET_FIELD(BuildCosts, { 120, 5, 55, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 120),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor HeartlineTwisterCoasterRTD =
SET_FIELD(UpkeepCosts, { 47, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 135, 7, 30, }),
SET_FIELD(DefaultPrices, { 15, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 35),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor HybridCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 110, 7, 55}),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_2),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 120),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -46,7 +46,7 @@ constexpr const RideTypeDescriptor HyperTwisterRTD =
SET_FIELD(UpkeepCosts, { 43, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 120, 5, 55, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 120),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor HypercoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 105, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor InvertedHairpinCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 67, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_2),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor InvertedImpulseCoasterRTD =
SET_FIELD(UpkeepCosts, { 180, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 125, 5, 25, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 75),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 13, 3, 10 }),
SET_FIELD(BuildCosts, { 110, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets,TRACK_COLOUR_PRESETS(

View File

@@ -46,7 +46,7 @@ constexpr const RideTypeDescriptor JuniorRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 45, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 60),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor LIMLaunchedRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 42, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 95, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 107, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(
@@ -80,7 +80,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD =
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 107, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor LoopingRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 90, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 95),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor MineRideRTD =
SET_FIELD(UpkeepCosts, { 50, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 85, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 70),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor MineTrainCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 82, 6, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 85),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor MiniRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 35, 20, 80, 8, 3, 10 }),
SET_FIELD(BuildCosts, { 65, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 60),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor MiniSuspendedCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 60, 5, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 50),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 75, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 180, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(
@@ -81,7 +81,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD =
SET_FIELD(UpkeepCosts, { 75, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 180, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 100),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor ReverseFreefallCoasterRTD =
SET_FIELD(UpkeepCosts, { 80, 20, 0, 0, 0, 10 }),
SET_FIELD(BuildCosts, { 200, 0, 45, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 70),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor ReverserRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 39, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 6, 37, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo3),
SET_FIELD(BonusValue, 65),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor SideFrictionRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 39, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 6, 37, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo3),
SET_FIELD(BonusValue, 65),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor SingleRailRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 75, 5, 50}),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 80),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor SpinningWildMouseRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor SpiralRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 41, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 70, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 85),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor StandUpRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 100, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 90),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor SteelWildMouseRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor SteeplechaseRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 57, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 60),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor SuspendedSwingingCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 20, 3, 10 }),
SET_FIELD(BuildCosts, { 95, 5, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
SET_FIELD(BonusValue, 90),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -50,7 +50,7 @@ constexpr const RideTypeDescriptor TwisterRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 43, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 120, 5, 55, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 120),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor VerticalDropCoasterRTD =
SET_FIELD(UpkeepCosts, { 44, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 120, 5, 42, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 95),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor VirginiaReelRTD =
SET_FIELD(UpkeepCosts, { 39, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 53, 6, 25, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo3),
SET_FIELD(BonusValue, 50),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor WaterCoasterRTD =
SET_FIELD(UpkeepCosts, { 60, 20, 80, 8, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),
SET_FIELD(BonusValue, 60),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor WoodenRollerCoasterRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 75, 7, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo3),
SET_FIELD(BonusValue, 105),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor WoodenWildMouseRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 50, 6, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo3),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -46,7 +46,7 @@ constexpr const RideTypeDescriptor CarRideRTD =
SET_FIELD(UpkeepCosts, { 70, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 25, 5, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 50),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor CircusRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 125, 2, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_CIRCUS_SHOW),
SET_FIELD(DefaultMusic, {}),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 39),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor CrookedHouseRTD =
SET_FIELD(UpkeepCosts, { 30, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 65, 2, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 22),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor DodgemsRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 5, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 2, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_DODGEMS_BEAT),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_DODGEMS),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 35),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor FerrisWheelRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 225, 2, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor FlyingSaucersRTD =
SET_FIELD(UpkeepCosts, { 90, 1, 0, 5, 0, 0 }),
SET_FIELD(BuildCosts, { 70, 4, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 35),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -46,7 +46,7 @@ constexpr const RideTypeDescriptor GhostTrainRTD =
SET_FIELD(UpkeepCosts, { 80, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 26, 5, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_HORROR),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_HORROR),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 50),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor HauntedHouseRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 85, 2, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_HORROR),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_HORROR),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 22),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor MazeRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 2, 8, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 40),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor MerryGoRoundRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 115, 2, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_FAIRGROUND_ORGAN),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_FAIRGROUND),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor MiniGolfRTD =
SET_FIELD(UpkeepCosts, { 30, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 50, 7, 20, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 23),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor MiniHelicoptersRTD =
SET_FIELD(UpkeepCosts, { 70, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 25, 5, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor MonorailCyclesRTD =
SET_FIELD(UpkeepCosts, { 47, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 20, 5, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor MonsterTrucksRTD =
SET_FIELD(UpkeepCosts, { 70, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 25, 5, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 50),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor ObservationTowerRTD =
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 37, 0, 4, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor SpaceRingsRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 72, 2, 1, }),
SET_FIELD(DefaultPrices, { 5, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 30),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor SpiralSlideRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 165, 2, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 40),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor CashMachineRTD =
SET_FIELD(UpkeepCosts, { 40, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 400, 0, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 5),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor DrinkStallRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 500, 0, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 15),
SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor FirstAidRTD =
SET_FIELD(UpkeepCosts, { 45, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 500, 0, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 5),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor FoodStallRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 600, 0, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 15),
SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor InformationKioskRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 500, 0, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 15),
SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor ShopRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 400, 0, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 15),
SET_FIELD(ColourPresets, DEFAULT_STALL_COLOUR_PRESET),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor ToiletsRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 450, 0, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 5),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor CinemaRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 140, 2, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor EnterpriseRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 100, 2, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_2),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor GoKartsRTD =
SET_FIELD(UpkeepCosts, { 50, 20, 0, 8, 0, 0 }),
SET_FIELD(BuildCosts, { 62, 4, 20, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor LaunchedFreefallRTD =
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 50, 0, 4, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 65),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor MagicCarpetRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 198, 2, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_EGYPTIAN),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_EGYPTIAN),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 35),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor MotionSimulatorRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 220, 2, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor RotoDropRTD =
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 0, 4, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor SwingingInverterShipRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 212, 2, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 35),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor SwingingShipRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 155, 2, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_PIRATES),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_PIRATE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 35),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor TopSpinRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 145, 2, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor TwistRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 90, 2, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 40),
SET_FIELD(ColourPresets, DEFAULT_FLAT_RIDE_COLOUR_PRESET),

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor ChairliftRTD =
SET_FIELD(UpkeepCosts, { 60, 20, 0, 4, 3, 10 }),
SET_FIELD(BuildCosts, { 65, 1, 30, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor LiftRTD =
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 39, 0, 4, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 45),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor MiniatureRailwayRTD =
SET_FIELD(UpkeepCosts, { 60, 20, 0, 10, 3, 5 }),
SET_FIELD(BuildCosts, { 35, 6, 50, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 50),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor MonorailRTD =
SET_FIELD(UpkeepCosts, { 65, 20, 0, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 42, 5, 50, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 60),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -46,7 +46,7 @@ constexpr const RideTypeDescriptor SuspendedMonorailRTD =
SET_FIELD(UpkeepCosts, { 70, 20, 0, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 65, 5, 50, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 60),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor BoatHireRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 4, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 5, 5, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 40),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -54,7 +54,7 @@ constexpr const RideTypeDescriptor DinghySlideRTD =
SET_FIELD(UpkeepCosts, { 40, 20, 80, 4, 3, 10 }),
SET_FIELD(BuildCosts, { 40, 4, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),
SET_FIELD(BonusValue, 55),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor LogFlumeRTD =
SET_FIELD(UpkeepCosts, { 80, 20, 0, 9, 0, 10 }),
SET_FIELD(BuildCosts, { 45, 5, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),
SET_FIELD(BonusValue, 65),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor RiverRaftsRTD =
SET_FIELD(UpkeepCosts, { 50, 20, 0, 9, 0, 10 }),
SET_FIELD(BuildCosts, { 40, 5, 30, }),
SET_FIELD(DefaultPrices, { 10, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo4),
SET_FIELD(BonusValue, 65),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -46,7 +46,7 @@ constexpr const RideTypeDescriptor RiverRapidsRTD =
SET_FIELD(UpkeepCosts, { 82, 20, 0, 10, 0, 10 }),
SET_FIELD(BuildCosts, { 62, 6, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),
SET_FIELD(BonusValue, 70),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -45,7 +45,7 @@ constexpr const RideTypeDescriptor SplashBoatsRTD =
SET_FIELD(UpkeepCosts, { 70, 20, 0, 9, 0, 10 }),
SET_FIELD(BuildCosts, { 57, 5, 30, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),
SET_FIELD(BonusValue, 65),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor SubmarineRideRTD =
SET_FIELD(UpkeepCosts, { 50, 1, 0, 4, 0, 0 }),
SET_FIELD(BuildCosts, { 70, 0, 5, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo),
SET_FIELD(BonusValue, 40),
SET_FIELD(ColourPresets, TRACK_COLOUR_PRESETS(