1
0
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:
Matt
2019-06-19 03:20:19 +02:00
parent 0a4fa68138
commit df30d5d9bc
3 changed files with 8 additions and 1 deletions

View File

@@ -36,6 +36,7 @@ enum
enum
{
CAMPAIGN_FIRST_WEEK_FLAG = (1 << 6),
CAMPAIGN_ACTIVE_FLAG = (1 << 7)
};

View File

@@ -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;

View File

@@ -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];