diff --git a/src/openrct2-ui/windows/Finances.cpp b/src/openrct2-ui/windows/Finances.cpp index c8c7f0bfbb..eda22faa2f 100644 --- a/src/openrct2-ui/windows/Finances.cpp +++ b/src/openrct2-ui/windows/Finances.cpp @@ -873,7 +873,7 @@ static Widget _windowFinancesResearchWidgets[] = } } // Advertisement - DrawTextEllipsised(dpi, screenCoords + ScreenCoordsXY{ 4, 0 }, 296, MarketingCampaignNames[i][1], ft); + DrawTextEllipsised(dpi, screenCoords + ScreenCoordsXY{ 4, 0 }, 296, kMarketingCampaignNames[i][1], ft); // Duration uint16_t weeksRemaining = marketingCampaign->WeeksLeft; @@ -900,7 +900,7 @@ static Widget _windowFinancesResearchWidgets[] = if (campaignButton->type != WindowWidgetType::Empty) { // Draw button text - DrawTextBasic(dpi, screenCoords + ScreenCoordsXY{ 4, 0 }, MarketingCampaignNames[i][0]); + DrawTextBasic(dpi, screenCoords + ScreenCoordsXY{ 4, 0 }, kMarketingCampaignNames[i][0]); auto ft = Formatter(); ft.Add(AdvertisingCampaignPricePerWeek[i]); DrawTextBasic(dpi, screenCoords + ScreenCoordsXY{ WH_SUMMARY, 0 }, STR_MARKETING_PER_WEEK, ft); diff --git a/src/openrct2-ui/windows/NewCampaign.cpp b/src/openrct2-ui/windows/NewCampaign.cpp index 7fe8428455..bd7aa0b38c 100644 --- a/src/openrct2-ui/windows/NewCampaign.cpp +++ b/src/openrct2-ui/windows/NewCampaign.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include @@ -171,7 +171,7 @@ static Widget window_new_campaign_widgets[] = { void SetCampaign(int16_t campaignType) { - widgets[WIDX_TITLE].text = MarketingCampaignNames[campaignType][0]; + widgets[WIDX_TITLE].text = kMarketingCampaignNames[campaignType][0]; // Campaign type Campaign.campaign_type = campaignType; diff --git a/src/openrct2/localisation/Localisation.cpp b/src/openrct2/localisation/Localisation.cpp index dc12e91a82..302584d683 100644 --- a/src/openrct2/localisation/Localisation.cpp +++ b/src/openrct2/localisation/Localisation.cpp @@ -36,15 +36,6 @@ const StringId ResearchFundingLevelNames[] = { STR_RESEARCH_FUNDING_MAXIMUM, }; -const StringId MarketingCampaignNames[ADVERTISING_CAMPAIGN_COUNT][3] = { - { STR_MARKETING_VOUCHERS_FOR_FREE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_FREE_ENTRY_TO, STR_MARKETING_FINISHED_FREE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE, - { STR_MARKETING_VOUCHERS_FOR_FREE_RIDES_ON_A_PARTICULAR_RIDE, STR_VOUCHERS_FOR_FREE_RIDE_ON, STR_MARKETING_FINISHED_FREE_RIDES }, // ADVERTISING_CAMPAIGN_RIDE_FREE, - { STR_MARKETING_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO, STR_MARKETING_FINISHED_HALF_PRICE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE, - { STR_MARKETING_VOUCHERS_FOR_FREE_FOOD_OR_DRINK, STR_VOUCHERS_FOR_FREE, STR_MARKETING_FINISHED_FREE_RIDE }, // ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE, - { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_THE_PARK, STR_ADVERTISING_CAMPAIGN_FOR_1, STR_MARKETING_FINISHED_PARK_ADS }, // ADVERTISING_CAMPAIGN_PARK, - { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_A_PARTICULAR_RIDE, STR_ADVERTISING_CAMPAIGN_FOR_2, STR_MARKETING_FINISHED_RIDE_ADS }, // ADVERTISING_CAMPAIGN_RIDE, -}; - const StringId RideInspectionIntervalNames[] = { STR_EVERY_10_MINUTES, STR_EVERY_20_MINUTES, diff --git a/src/openrct2/localisation/Localisation.h b/src/openrct2/localisation/Localisation.h index a996d4a3fb..e78d2e6e08 100644 --- a/src/openrct2/localisation/Localisation.h +++ b/src/openrct2/localisation/Localisation.h @@ -9,7 +9,6 @@ #pragma once -#include "../management/Marketing.h" #include "StringIdType.h" #include @@ -24,6 +23,5 @@ constexpr size_t CommonTextBufferSize = 512; extern thread_local char gCommonStringFormatBuffer[CommonTextBufferSize]; extern const StringId ResearchFundingLevelNames[4]; -extern const StringId MarketingCampaignNames[ADVERTISING_CAMPAIGN_COUNT][3]; extern const StringId RideInspectionIntervalNames[]; extern const StringId PeepThoughts[174]; diff --git a/src/openrct2/management/Marketing.cpp b/src/openrct2/management/Marketing.cpp index 848ffc2f75..d651bd51c8 100644 --- a/src/openrct2/management/Marketing.cpp +++ b/src/openrct2/management/Marketing.cpp @@ -36,6 +36,17 @@ const money64 AdvertisingCampaignPricePerWeek[] = { 200.00_GBP, // RIDE }; +// clang-format off +const StringId kMarketingCampaignNames[ADVERTISING_CAMPAIGN_COUNT][3] = { + { STR_MARKETING_VOUCHERS_FOR_FREE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_FREE_ENTRY_TO, STR_MARKETING_FINISHED_FREE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_FREE, + { STR_MARKETING_VOUCHERS_FOR_FREE_RIDES_ON_A_PARTICULAR_RIDE, STR_VOUCHERS_FOR_FREE_RIDE_ON, STR_MARKETING_FINISHED_FREE_RIDES }, // ADVERTISING_CAMPAIGN_RIDE_FREE, + { STR_MARKETING_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO_THE_PARK, STR_VOUCHERS_FOR_HALF_PRICE_ENTRY_TO, STR_MARKETING_FINISHED_HALF_PRICE_ENTRY }, // ADVERTISING_CAMPAIGN_PARK_ENTRY_HALF_PRICE, + { STR_MARKETING_VOUCHERS_FOR_FREE_FOOD_OR_DRINK, STR_VOUCHERS_FOR_FREE, STR_MARKETING_FINISHED_FREE_RIDE }, // ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE, + { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_THE_PARK, STR_ADVERTISING_CAMPAIGN_FOR_1, STR_MARKETING_FINISHED_PARK_ADS }, // ADVERTISING_CAMPAIGN_PARK, + { STR_MARKETING_ADVERTISING_CAMPAIGN_FOR_A_PARTICULAR_RIDE, STR_ADVERTISING_CAMPAIGN_FOR_2, STR_MARKETING_FINISHED_RIDE_ADS }, // ADVERTISING_CAMPAIGN_RIDE, +}; +// clang-format on + static constexpr uint16_t AdvertisingCampaignGuestGenerationProbabilities[] = { 400, 300, 200, 200, 250, 200, }; @@ -89,7 +100,7 @@ static void MarketingRaiseFinishedNotification(const MarketingCampaign& campaign ft.Add(GetShopItemDescriptor(campaign.ShopItemType).Naming.Plural); } - News::AddItemToQueue(News::ItemType::Campaign, MarketingCampaignNames[campaign.Type][2], 0, ft); + News::AddItemToQueue(News::ItemType::Campaign, kMarketingCampaignNames[campaign.Type][2], 0, ft); } } diff --git a/src/openrct2/management/Marketing.h b/src/openrct2/management/Marketing.h index 62be7325ca..08c97bb47e 100644 --- a/src/openrct2/management/Marketing.h +++ b/src/openrct2/management/Marketing.h @@ -10,6 +10,7 @@ #pragma once #include "../Cheats.h" +#include "../localisation/StringIdType.h" #include "../ride/RideTypes.h" #include "../ride/ShopItem.h" @@ -59,6 +60,8 @@ namespace MarketingCampaignFlags extern const money64 AdvertisingCampaignPricePerWeek[ADVERTISING_CAMPAIGN_COUNT]; +extern const StringId kMarketingCampaignNames[ADVERTISING_CAMPAIGN_COUNT][3]; + uint16_t MarketingGetCampaignGuestGenerationProbability(int32_t campaign); void MarketingUpdate(); void MarketingSetGuestCampaign(Guest* peep, int32_t campaign); diff --git a/src/openrct2/scripting/bindings/entity/ScGuest.hpp b/src/openrct2/scripting/bindings/entity/ScGuest.hpp index 3f37303da9..593d30de74 100644 --- a/src/openrct2/scripting/bindings/entity/ScGuest.hpp +++ b/src/openrct2/scripting/bindings/entity/ScGuest.hpp @@ -12,6 +12,7 @@ #ifdef ENABLE_SCRIPTING # include "../../../entity/Guest.h" +# include "../../../management/Marketing.h" # include "ScPeep.hpp" enum class PeepActionSpriteType : uint8_t;