mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-04 13:42:55 +01:00
Fix MarketingCampaignFlags::FIRST_WEEK not being imported/exported with sv6
This commit is contained in:
@@ -36,6 +36,7 @@ enum
|
||||
|
||||
enum
|
||||
{
|
||||
CAMPAIGN_FIRST_WEEK_FLAG = (1 << 6),
|
||||
CAMPAIGN_ACTIVE_FLAG = (1 << 7)
|
||||
};
|
||||
|
||||
|
||||
@@ -795,6 +795,8 @@ void S6Exporter::ExportMarketingCampaigns()
|
||||
for (const auto& campaign : gMarketingCampaigns)
|
||||
{
|
||||
_s6.campaign_weeks_left[campaign.Type] = campaign.WeeksLeft | CAMPAIGN_ACTIVE_FLAG;
|
||||
if ((campaign.Flags & MarketingCampaignFlags::FIRST_WEEK))
|
||||
_s6.campaign_weeks_left[campaign.Type] |= CAMPAIGN_FIRST_WEEK_FLAG;
|
||||
if (campaign.Type == ADVERTISING_CAMPAIGN_RIDE_FREE || campaign.Type == ADVERTISING_CAMPAIGN_RIDE)
|
||||
{
|
||||
_s6.campaign_ride_index[campaign.Type] = campaign.RideId;
|
||||
|
||||
@@ -1072,7 +1072,11 @@ public:
|
||||
{
|
||||
MarketingCampaign campaign{};
|
||||
campaign.Type = (uint8_t)i;
|
||||
campaign.WeeksLeft = _s6.campaign_weeks_left[i] & ~CAMPAIGN_ACTIVE_FLAG;
|
||||
campaign.WeeksLeft = _s6.campaign_weeks_left[i] & ~(CAMPAIGN_ACTIVE_FLAG | CAMPAIGN_FIRST_WEEK_FLAG);
|
||||
if ((_s6.campaign_weeks_left[i] & CAMPAIGN_FIRST_WEEK_FLAG) != 0)
|
||||
{
|
||||
campaign.Flags |= MarketingCampaignFlags::FIRST_WEEK;
|
||||
}
|
||||
if (campaign.Type == ADVERTISING_CAMPAIGN_RIDE_FREE || campaign.Type == ADVERTISING_CAMPAIGN_RIDE)
|
||||
{
|
||||
campaign.RideId = _s6.campaign_ride_index[i];
|
||||
|
||||
Reference in New Issue
Block a user