mirror of https://github.com/OpenRCT2/OpenRCT2.git
Replace object_entry_get_type() with method (#10937)
This commit is contained in:
parent
c31ef8e635
commit
18ebe73dfa
|
@ -306,7 +306,7 @@ static void visible_list_refresh(rct_window* w)
|
|||
{
|
||||
uint8_t selectionFlags = _objectSelectionFlags[i];
|
||||
const ObjectRepositoryItem* item = &items[i];
|
||||
uint8_t objectType = item->ObjectEntry.flags & 0x0F;
|
||||
uint8_t objectType = item->ObjectEntry.GetType();
|
||||
if (objectType == get_selected_object_type(w) && !(selectionFlags & OBJECT_SELECTION_FLAG_6) && filter_source(item)
|
||||
&& filter_string(item) && filter_chunks(item) && filter_selected(selectionFlags))
|
||||
{
|
||||
|
@ -1292,7 +1292,7 @@ static void editor_load_selected_objects()
|
|||
else if (!(gScreenFlags & SCREEN_FLAGS_EDITOR))
|
||||
{
|
||||
// Defaults selected items to researched (if in-game)
|
||||
uint8_t objectType = object_entry_get_type(entry);
|
||||
uint8_t objectType = entry->GetType();
|
||||
uint8_t entryIndex = object_manager_get_loaded_object_entry_index(loadedObject);
|
||||
if (objectType == OBJECT_TYPE_RIDE)
|
||||
{
|
||||
|
@ -1405,7 +1405,7 @@ static bool filter_string(const ObjectRepositoryItem* item)
|
|||
|
||||
// Check if the searched string exists in the name, ride type, or filename
|
||||
bool inName = strstr(name_lower, filter_lower) != nullptr;
|
||||
bool inRideType = ((item->ObjectEntry.flags & 0x0F) == OBJECT_TYPE_RIDE) && strstr(type_lower, filter_lower) != nullptr;
|
||||
bool inRideType = (item->ObjectEntry.GetType() == OBJECT_TYPE_RIDE) && strstr(type_lower, filter_lower) != nullptr;
|
||||
bool inPath = strstr(object_path, filter_lower) != nullptr;
|
||||
|
||||
return inName || inRideType || inPath;
|
||||
|
@ -1448,7 +1448,7 @@ static bool filter_source(const ObjectRepositoryItem* item)
|
|||
|
||||
static bool filter_chunks(const ObjectRepositoryItem* item)
|
||||
{
|
||||
switch (item->ObjectEntry.flags & 0x0F)
|
||||
switch (item->ObjectEntry.GetType())
|
||||
{
|
||||
case OBJECT_TYPE_RIDE:
|
||||
|
||||
|
@ -1480,7 +1480,7 @@ static void filter_update_counts()
|
|||
const ObjectRepositoryItem* item = &items[i];
|
||||
if (filter_source(item) && filter_string(item) && filter_chunks(item) && filter_selected(selectionFlags[i]))
|
||||
{
|
||||
uint8_t objectType = item->ObjectEntry.flags & 0xF;
|
||||
uint8_t objectType = item->ObjectEntry.GetType();
|
||||
_filter_object_counts[objectType]++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -346,8 +346,7 @@ static bool _updatedListAfterDownload;
|
|||
static rct_string_id get_object_type_string(const rct_object_entry* entry)
|
||||
{
|
||||
rct_string_id result;
|
||||
uint8_t objectType = object_entry_get_type(entry);
|
||||
switch (objectType)
|
||||
switch (entry->GetType())
|
||||
{
|
||||
case OBJECT_TYPE_RIDE:
|
||||
result = STR_OBJECT_SELECTION_RIDE_VEHICLES_ATTRACTIONS;
|
||||
|
|
|
@ -49,7 +49,7 @@ static void setup_track_manager_objects()
|
|||
{
|
||||
uint8_t* selectionFlags = &_objectSelectionFlags[i];
|
||||
const ObjectRepositoryItem* item = &items[i];
|
||||
uint8_t object_type = object_entry_get_type(&item->ObjectEntry);
|
||||
uint8_t object_type = item->ObjectEntry.GetType();
|
||||
if (object_type == OBJECT_TYPE_RIDE)
|
||||
{
|
||||
*selectionFlags |= OBJECT_SELECTION_FLAG_6;
|
||||
|
@ -78,7 +78,7 @@ static void setup_track_designer_objects()
|
|||
{
|
||||
uint8_t* selectionFlags = &_objectSelectionFlags[i];
|
||||
const ObjectRepositoryItem* item = &items[i];
|
||||
uint8_t objectType = object_entry_get_type(&item->ObjectEntry);
|
||||
uint8_t objectType = item->ObjectEntry.GetType();
|
||||
if (objectType == OBJECT_TYPE_RIDE)
|
||||
{
|
||||
*selectionFlags |= OBJECT_SELECTION_FLAG_6;
|
||||
|
@ -237,7 +237,7 @@ void sub_6AB211()
|
|||
const ObjectRepositoryItem* items = object_repository_get_items();
|
||||
for (int32_t i = 0; i < numObjects; i++)
|
||||
{
|
||||
uint8_t objectType = object_entry_get_type(&items[i].ObjectEntry);
|
||||
uint8_t objectType = items[i].ObjectEntry.GetType();
|
||||
_numAvailableObjectsForType[objectType]++;
|
||||
}
|
||||
|
||||
|
@ -365,7 +365,7 @@ void reset_selected_object_count_and_size()
|
|||
const ObjectRepositoryItem* items = object_repository_get_items();
|
||||
for (int32_t i = 0; i < numObjects; i++)
|
||||
{
|
||||
uint8_t objectType = object_entry_get_type(&items[i].ObjectEntry);
|
||||
uint8_t objectType = items[i].ObjectEntry.GetType();
|
||||
if (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED)
|
||||
{
|
||||
_numSelectedObjectsForType[objectType]++;
|
||||
|
@ -430,7 +430,7 @@ int32_t window_editor_object_selection_select_object(uint8_t bh, int32_t flags,
|
|||
return 0;
|
||||
}
|
||||
|
||||
uint8_t objectType = object_entry_get_type(&item->ObjectEntry);
|
||||
uint8_t objectType = item->ObjectEntry.GetType();
|
||||
if (objectType == OBJECT_TYPE_SCENERY_GROUP && (flags & (1 << 2)))
|
||||
{
|
||||
for (const auto& sgEntry : item->SceneryGroupInfo.Entries)
|
||||
|
@ -457,7 +457,7 @@ int32_t window_editor_object_selection_select_object(uint8_t bh, int32_t flags,
|
|||
return 1;
|
||||
}
|
||||
|
||||
uint8_t objectType = object_entry_get_type(&item->ObjectEntry);
|
||||
uint8_t objectType = item->ObjectEntry.GetType();
|
||||
uint16_t maxObjects = object_entry_group_counts[objectType];
|
||||
if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER)
|
||||
{
|
||||
|
@ -510,7 +510,7 @@ bool editor_check_object_group_at_least_one_selected(int32_t checkObjectType)
|
|||
|
||||
for (int32_t i = 0; i < numObjects; i++)
|
||||
{
|
||||
uint8_t objectType = object_entry_get_type(&items[i].ObjectEntry);
|
||||
uint8_t objectType = items[i].ObjectEntry.GetType();
|
||||
if (checkObjectType == objectType && (_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_SELECTED))
|
||||
{
|
||||
return true;
|
||||
|
@ -536,7 +536,7 @@ int32_t editor_remove_unused_objects()
|
|||
&& !(_objectSelectionFlags[i] & OBJECT_SELECTION_FLAG_ALWAYS_REQUIRED))
|
||||
{
|
||||
const ObjectRepositoryItem* item = &items[i];
|
||||
uint8_t objectType = object_entry_get_type(&item->ObjectEntry);
|
||||
uint8_t objectType = item->ObjectEntry.GetType();
|
||||
|
||||
if (objectType >= OBJECT_TYPE_SCENERY_GROUP)
|
||||
{
|
||||
|
|
|
@ -1078,7 +1078,7 @@ static int32_t cc_load_object(InteractiveConsole& console, const arguments_t& ar
|
|||
}
|
||||
uint32_t groupIndex = object_manager_get_loaded_object_entry_index(loadedObject);
|
||||
|
||||
uint8_t objectType = object_entry_get_type(entry);
|
||||
uint8_t objectType = entry->GetType();
|
||||
if (objectType == OBJECT_TYPE_RIDE)
|
||||
{
|
||||
// Automatically research the ride so it's supported by the game.
|
||||
|
|
|
@ -105,6 +105,11 @@ struct rct_object_entry
|
|||
name[i] = dc;
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t GetType() const
|
||||
{
|
||||
return flags & 0x0F;
|
||||
}
|
||||
};
|
||||
assert_struct_size(rct_object_entry, 0x10);
|
||||
|
||||
|
@ -214,7 +219,7 @@ public:
|
|||
|
||||
virtual uint8_t GetObjectType() const final
|
||||
{
|
||||
return _objectEntry.flags & 0x0F;
|
||||
return _objectEntry.GetType();
|
||||
}
|
||||
virtual std::string GetName() const;
|
||||
virtual std::string GetName(int32_t language) const;
|
||||
|
|
|
@ -203,7 +203,7 @@ namespace ObjectFactory
|
|||
|
||||
rct_object_entry entry = fs.ReadValue<rct_object_entry>();
|
||||
|
||||
if (object_entry_get_type(&entry) != OBJECT_TYPE_SCENARIO_TEXT)
|
||||
if (entry.GetType() != OBJECT_TYPE_SCENARIO_TEXT)
|
||||
{
|
||||
result = CreateObject(entry);
|
||||
|
||||
|
@ -265,8 +265,7 @@ namespace ObjectFactory
|
|||
Object* CreateObject(const rct_object_entry& entry)
|
||||
{
|
||||
Object* result;
|
||||
uint8_t objectType = object_entry_get_type(&entry);
|
||||
switch (objectType)
|
||||
switch (entry.GetType())
|
||||
{
|
||||
case OBJECT_TYPE_RIDE:
|
||||
result = new RideObject(entry);
|
||||
|
|
|
@ -69,11 +69,6 @@ bool object_entry_is_empty(const rct_object_entry* entry)
|
|||
return false;
|
||||
}
|
||||
|
||||
uint8_t object_entry_get_type(const rct_object_entry* objectEntry)
|
||||
{
|
||||
return (objectEntry->flags & 0x0F);
|
||||
}
|
||||
|
||||
uint8_t object_entry_get_source_game_legacy(const rct_object_entry* objectEntry)
|
||||
{
|
||||
return (objectEntry->flags & 0xF0) >> 4;
|
||||
|
@ -96,7 +91,7 @@ void object_create_identifier_name(char* string_buffer, size_t size, const rct_o
|
|||
*/
|
||||
bool find_object_in_entry_group(const rct_object_entry* entry, uint8_t* entry_type, uint8_t* entry_index)
|
||||
{
|
||||
int32_t objectType = object_entry_get_type(entry);
|
||||
int32_t objectType = entry->GetType();
|
||||
if (objectType >= OBJECT_TYPE_COUNT)
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -105,7 +105,7 @@ public:
|
|||
loadedObject = ori->LoadedObject;
|
||||
if (loadedObject == nullptr)
|
||||
{
|
||||
uint8_t objectType = object_entry_get_type(&ori->ObjectEntry);
|
||||
uint8_t objectType = ori->ObjectEntry.GetType();
|
||||
int32_t slot = FindSpareSlot(objectType);
|
||||
if (slot != -1)
|
||||
{
|
||||
|
@ -479,7 +479,7 @@ private:
|
|||
ori = _objectRepository.FindObject(&entry);
|
||||
if (ori == nullptr)
|
||||
{
|
||||
if (object_entry_get_type(&entry) != OBJECT_TYPE_SCENARIO_TEXT)
|
||||
if (entry.GetType() != OBJECT_TYPE_SCENARIO_TEXT)
|
||||
{
|
||||
invalidEntries.push_back(entry);
|
||||
ReportMissingObject(&entry);
|
||||
|
@ -521,7 +521,7 @@ private:
|
|||
if (!object_entry_is_empty(entry))
|
||||
{
|
||||
ori = _objectRepository.FindObject(entry);
|
||||
if (ori == nullptr && object_entry_get_type(entry) != OBJECT_TYPE_SCENARIO_TEXT)
|
||||
if (ori == nullptr && entry->GetType() != OBJECT_TYPE_SCENARIO_TEXT)
|
||||
{
|
||||
missingObjects.push_back(*entry);
|
||||
ReportMissingObject(entry);
|
||||
|
|
|
@ -135,7 +135,7 @@ protected:
|
|||
stream->WriteValue(source);
|
||||
}
|
||||
|
||||
switch (object_entry_get_type(&item.ObjectEntry))
|
||||
switch (item.ObjectEntry.GetType())
|
||||
{
|
||||
case OBJECT_TYPE_RIDE:
|
||||
stream->WriteValue<uint8_t>(item.RideInfo.RideFlags);
|
||||
|
@ -173,7 +173,7 @@ protected:
|
|||
item.Sources.push_back(value);
|
||||
}
|
||||
|
||||
switch (object_entry_get_type(&item.ObjectEntry))
|
||||
switch (item.ObjectEntry.GetType())
|
||||
{
|
||||
case OBJECT_TYPE_RIDE:
|
||||
item.RideInfo.RideFlags = stream->ReadValue<uint8_t>();
|
||||
|
@ -520,7 +520,7 @@ private:
|
|||
}
|
||||
|
||||
// Encode data
|
||||
uint8_t objectType = object_entry_get_type(entry);
|
||||
uint8_t objectType = entry->GetType();
|
||||
sawyercoding_chunk_header chunkHeader;
|
||||
chunkHeader.encoding = object_entry_group_encoding[objectType];
|
||||
chunkHeader.length = (uint32_t)dataSize;
|
||||
|
@ -650,7 +650,7 @@ bool IsObjectCustom(const ObjectRepositoryItem* object)
|
|||
|
||||
// Do not count our new object types as custom yet, otherwise the game
|
||||
// will try to pack them into saved games.
|
||||
auto type = object_entry_get_type(&object->ObjectEntry);
|
||||
auto type = object->ObjectEntry.GetType();
|
||||
if (type > OBJECT_TYPE_SCENARIO_TEXT)
|
||||
{
|
||||
return false;
|
||||
|
@ -749,7 +749,7 @@ bool object_entry_compare(const rct_object_entry* a, const rct_object_entry* b)
|
|||
// If an official object don't bother checking checksum
|
||||
if ((a->flags & 0xF0) || (b->flags & 0xF0))
|
||||
{
|
||||
if (object_entry_get_type(a) != object_entry_get_type(b))
|
||||
if (a->GetType() != b->GetType())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ void SceneryGroupObject::UpdateEntryIndexes()
|
|||
uint16_t sceneryEntry = objectManager.GetLoadedObjectEntryIndex(ori->LoadedObject);
|
||||
Guard::Assert(sceneryEntry != UINT8_MAX, GUARD_LINE);
|
||||
|
||||
auto objectType = ori->ObjectEntry.flags & 0x0F;
|
||||
auto objectType = ori->ObjectEntry.GetType();
|
||||
switch (objectType)
|
||||
{
|
||||
case OBJECT_TYPE_SMALL_SCENERY:
|
||||
|
|
|
@ -513,7 +513,7 @@ private:
|
|||
auto foundObject = objectRepository.FindObject(objectName);
|
||||
if (foundObject != nullptr)
|
||||
{
|
||||
uint8_t objectType = object_entry_get_type(&foundObject->ObjectEntry);
|
||||
uint8_t objectType = foundObject->ObjectEntry.GetType();
|
||||
switch (objectType)
|
||||
{
|
||||
case OBJECT_TYPE_SMALL_SCENERY:
|
||||
|
|
|
@ -486,7 +486,7 @@ rct_string_id TrackDesign::CreateTrackDesignScenery()
|
|||
// Run an element loop
|
||||
for (auto& scenery : scenery_elements)
|
||||
{
|
||||
switch (object_entry_get_type(&scenery.scenery_object))
|
||||
switch (scenery.scenery_object.GetType())
|
||||
{
|
||||
case OBJECT_TYPE_PATHS:
|
||||
{
|
||||
|
@ -659,7 +659,7 @@ static void track_design_mirror_scenery(TrackDesign* td6)
|
|||
uint8_t entry_type{ 0 }, entry_index{ 0 };
|
||||
if (!find_object_in_entry_group(&scenery.scenery_object, &entry_type, &entry_index))
|
||||
{
|
||||
entry_type = object_entry_get_type(&scenery.scenery_object);
|
||||
entry_type = scenery.scenery_object.GetType();
|
||||
if (entry_type != OBJECT_TYPE_PATHS)
|
||||
{
|
||||
continue;
|
||||
|
@ -859,7 +859,7 @@ static bool TrackDesignPlaceSceneryElementGetEntry(
|
|||
{
|
||||
if (!find_object_in_entry_group(&scenery.scenery_object, &entry_type, &entry_index))
|
||||
{
|
||||
entry_type = object_entry_get_type(&scenery.scenery_object);
|
||||
entry_type = scenery.scenery_object.GetType();
|
||||
if (entry_type != OBJECT_TYPE_PATHS)
|
||||
{
|
||||
_trackDesignPlaceStateSceneryUnavailable = true;
|
||||
|
|
Loading…
Reference in New Issue