1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Close #12418: Refactor RESEARCH_CATEGORY_* to use strong enum (#13216)

This commit is contained in:
Łukasz Pękalski
2020-10-17 22:15:46 +02:00
committed by GitHub
parent d287653cb5
commit 384e0ee718
5 changed files with 21 additions and 21 deletions

View File

@@ -519,7 +519,7 @@ bool research_insert_scenery_group_entry(ObjectEntryIndex entryIndex, bool resea
if (entryIndex != OBJECT_ENTRY_INDEX_NULL)
{
auto tmpItem = ResearchItem(
Research::EntryType::Scenery, entryIndex, RIDE_TYPE_NULL, RESEARCH_CATEGORY_SCENERY_GROUP, 0);
Research::EntryType::Scenery, entryIndex, RIDE_TYPE_NULL, EnumToFlag(ResearchCategory::Group), 0);
research_insert(tmpItem, researched);
return true;
}

View File

@@ -138,15 +138,15 @@ enum
RESEARCH_STAGE_FINISHED_ALL
};
enum : uint8_t
enum class ResearchCategory : uint8_t
{
RESEARCH_CATEGORY_TRANSPORT,
RESEARCH_CATEGORY_GENTLE,
RESEARCH_CATEGORY_ROLLERCOASTER,
RESEARCH_CATEGORY_THRILL,
RESEARCH_CATEGORY_WATER,
RESEARCH_CATEGORY_SHOP,
RESEARCH_CATEGORY_SCENERY_GROUP
Transport,
Gentle,
Rollercoaster,
Thrill,
Water,
Shop,
Group
};
extern uint8_t gResearchFundingLevel;

View File

@@ -2407,25 +2407,25 @@ private:
uint8_t activeResearchTypes = 0;
if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_ROLLERCOASTERS)
{
activeResearchTypes |= (1 << RESEARCH_CATEGORY_ROLLERCOASTER);
activeResearchTypes |= EnumToFlag(ResearchCategory::Rollercoaster);
}
if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_THRILL_RIDES)
{
activeResearchTypes |= (1 << RESEARCH_CATEGORY_THRILL);
activeResearchTypes |= (1 << RESEARCH_CATEGORY_WATER);
activeResearchTypes |= EnumToFlag(ResearchCategory::Thrill);
activeResearchTypes |= EnumToFlag(ResearchCategory::Water);
}
if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_GENTLE_TRANSPORT_RIDES)
{
activeResearchTypes |= (1 << RESEARCH_CATEGORY_GENTLE);
activeResearchTypes |= (1 << RESEARCH_CATEGORY_TRANSPORT);
activeResearchTypes |= EnumToFlag(ResearchCategory::Gentle);
activeResearchTypes |= EnumToFlag(ResearchCategory::Transport);
}
if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_SHOPS)
{
activeResearchTypes |= (1 << RESEARCH_CATEGORY_SHOP);
activeResearchTypes |= EnumToFlag(ResearchCategory::Shop);
}
if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_SCENERY_THEMEING)
{
activeResearchTypes |= (1 << RESEARCH_CATEGORY_SCENERY_GROUP);
activeResearchTypes |= EnumToFlag(ResearchCategory::Group);
}
gResearchPriorities = activeResearchTypes;
gResearchFundingLevel = _s4.research_level;
@@ -2663,7 +2663,7 @@ private:
{
dst->entryIndex = entryIndex;
dst->type = Research::EntryType::Scenery;
dst->category = RESEARCH_CATEGORY_SCENERY_GROUP;
dst->category = EnumToFlag(ResearchCategory::Group);
dst->flags = 0;
}
}

View File

@@ -272,7 +272,7 @@ public:
gResearchProgressStage = _s6.research_progress_stage;
if (_s6.last_researched_item_subject != RCT12_RESEARCHED_ITEMS_SEPARATOR)
gResearchLastItem = ResearchItem(
RCT12ResearchItem{ _s6.last_researched_item_subject, RESEARCH_CATEGORY_TRANSPORT });
RCT12ResearchItem{ _s6.last_researched_item_subject, EnumToFlag(ResearchCategory::Transport) });
else
gResearchLastItem = std::nullopt;
// pad_01357CF8

View File

@@ -284,9 +284,9 @@ void Park::Initialise()
gPeepSpawns.clear();
reset_park_entrance();
gResearchPriorities = (1 << RESEARCH_CATEGORY_TRANSPORT) | (1 << RESEARCH_CATEGORY_GENTLE)
| (1 << RESEARCH_CATEGORY_ROLLERCOASTER) | (1 << RESEARCH_CATEGORY_THRILL) | (1 << RESEARCH_CATEGORY_WATER)
| (1 << RESEARCH_CATEGORY_SHOP) | (1 << RESEARCH_CATEGORY_SCENERY_GROUP);
gResearchPriorities = EnumsToFlags(
ResearchCategory::Transport, ResearchCategory::Gentle, ResearchCategory::Rollercoaster, ResearchCategory::Thrill,
ResearchCategory::Water, ResearchCategory::Shop, ResearchCategory::Group);
gResearchFundingLevel = RESEARCH_FUNDING_NORMAL;
gGuestInitialCash = MONEY(50, 00);