1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-18 20:43:04 +01:00

Create scenery_group_set_invented()

This commit is contained in:
Michael Steenbeek
2018-01-10 14:26:03 +01:00
parent 0995ab9910
commit 4db3323973
2 changed files with 15 additions and 4 deletions

View File

@@ -293,10 +293,7 @@ void research_finish_item(rct_research_item * researchItem)
rct_scenery_group_entry * sceneryGroupEntry = get_scenery_group_entry(researchItem->entryIndex);
if (sceneryGroupEntry != nullptr)
{
for (sint32 i = 0; i < sceneryGroupEntry->entry_count; i++)
{
scenery_set_invented(sceneryGroupEntry->scenery_entries[i]);
}
scenery_group_set_invented(researchItem->entryIndex);
set_format_arg(0, rct_string_id, sceneryGroupEntry->name);
@@ -743,6 +740,19 @@ bool scenery_group_is_invented(sint32 sgIndex)
return invented;
}
void scenery_group_set_invented(sint32 sgIndex)
{
const auto sgEntry = get_scenery_group_entry(sgIndex);
if (sgEntry != nullptr && sgEntry->entry_count > 0)
{
for (auto i = 0; i < sgEntry->entry_count; i++)
{
auto sceneryEntryIndex = sgEntry->scenery_entries[i];
scenery_set_invented(sceneryEntryIndex);
}
}
}
void set_all_scenery_items_invented()
{
Memory::Set(_researchedSceneryItems, true, sizeof(_researchedSceneryItems));

View File

@@ -136,6 +136,7 @@ bool ride_type_is_invented(sint32 rideType);
bool ride_entry_is_invented(sint32 rideEntryIndex);
bool track_piece_is_available_for_ride_type(uint8 rideType, sint32 trackType);
bool scenery_group_is_invented(sint32 sgIndex);
void scenery_group_set_invented(sint32 sgIndex);
bool scenery_is_invented(uint16 sceneryItem);
void set_all_scenery_items_invented();
void set_all_scenery_items_not_invented();