mirror of https://github.com/OpenRCT2/OpenRCT2.git
extract code to new method
This commit is contained in:
parent
fb192bba0e
commit
6086771988
|
@ -136,45 +136,7 @@ void S4Importer::CreateAvailableObjectMappings()
|
|||
AddAvailableEntriesFromResearchList();
|
||||
AddAvailableEntriesFromMap();
|
||||
AddAvailableEntriesFromRides();
|
||||
|
||||
// Add themes
|
||||
for (int sceneryTheme = 0; sceneryTheme <= RCT1_SCENERY_THEME_PAGODA; sceneryTheme++)
|
||||
{
|
||||
if (sceneryTheme != 0 &&
|
||||
_sceneryThemeTypeToEntryMap[sceneryTheme] == 255) continue;
|
||||
|
||||
List<const char *> objects = RCT1::GetSceneryObjects(sceneryTheme);
|
||||
for (const char * objectName : objects)
|
||||
{
|
||||
rct_object_entry * foundEntry = object_list_find_by_name(objectName);
|
||||
if (foundEntry != nullptr)
|
||||
{
|
||||
uint8 objectType = foundEntry->flags & 0x0F;
|
||||
switch (objectType) {
|
||||
case OBJECT_TYPE_SMALL_SCENERY:
|
||||
case OBJECT_TYPE_LARGE_SCENERY:
|
||||
case OBJECT_TYPE_WALLS:
|
||||
case OBJECT_TYPE_PATHS:
|
||||
case OBJECT_TYPE_PATH_BITS:
|
||||
{
|
||||
List<const char *> * entries = GetEntryList(objectType);
|
||||
|
||||
// Ran out of available entries
|
||||
if (entries->GetCount() >= (size_t)object_entry_group_counts[objectType])
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (!entries->Contains(objectName, ObjectNameComparer))
|
||||
{
|
||||
entries->Add(objectName);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
AddAvailableEntriesFromSceneryGroups();
|
||||
}
|
||||
|
||||
void S4Importer::AddAvailableEntriesFromResearchList()
|
||||
|
@ -300,6 +262,47 @@ void S4Importer::AddAvailableEntriesFromRides()
|
|||
}
|
||||
}
|
||||
|
||||
void S4Importer::AddAvailableEntriesFromSceneryGroups()
|
||||
{
|
||||
for (int sceneryTheme = 0; sceneryTheme <= RCT1_SCENERY_THEME_PAGODA; sceneryTheme++)
|
||||
{
|
||||
if (sceneryTheme != 0 &&
|
||||
_sceneryThemeTypeToEntryMap[sceneryTheme] == 255) continue;
|
||||
|
||||
List<const char *> objects = RCT1::GetSceneryObjects(sceneryTheme);
|
||||
for (const char * objectName : objects)
|
||||
{
|
||||
rct_object_entry * foundEntry = object_list_find_by_name(objectName);
|
||||
if (foundEntry != nullptr)
|
||||
{
|
||||
uint8 objectType = foundEntry->flags & 0x0F;
|
||||
switch (objectType) {
|
||||
case OBJECT_TYPE_SMALL_SCENERY:
|
||||
case OBJECT_TYPE_LARGE_SCENERY:
|
||||
case OBJECT_TYPE_WALLS:
|
||||
case OBJECT_TYPE_PATHS:
|
||||
case OBJECT_TYPE_PATH_BITS:
|
||||
{
|
||||
List<const char *> * entries = GetEntryList(objectType);
|
||||
|
||||
// Ran out of available entries
|
||||
if (entries->GetCount() >= (size_t)object_entry_group_counts[objectType])
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (!entries->Contains(objectName, ObjectNameComparer))
|
||||
{
|
||||
entries->Add(objectName);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void S4Importer::AddEntryForRideType(uint8 rideType)
|
||||
{
|
||||
if (_rideTypeToRideEntryMap[rideType] == 255)
|
||||
|
|
|
@ -56,6 +56,7 @@ private:
|
|||
void AddAvailableEntriesFromResearchList();
|
||||
void AddAvailableEntriesFromMap();
|
||||
void AddAvailableEntriesFromRides();
|
||||
void AddAvailableEntriesFromSceneryGroups();
|
||||
|
||||
void AddEntryForRideType(uint8 rideType);
|
||||
void AddEntryForVehicleType(uint8 rideType, uint8 vehicleType);
|
||||
|
|
Loading…
Reference in New Issue