From 13fb0b43da62183c3da91abeb90b3f263c8e3105 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 17 Oct 2020 13:27:02 -0700 Subject: [PATCH] Refactor legacy GetSourceGame() to method --- src/openrct2-ui/windows/ObjectLoadError.cpp | 3 +-- src/openrct2/object/Object.h | 5 +++++ src/openrct2/object/ObjectFactory.cpp | 4 ++-- src/openrct2/object/ObjectList.cpp | 5 ----- src/openrct2/object/ObjectList.h | 1 - 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/openrct2-ui/windows/ObjectLoadError.cpp b/src/openrct2-ui/windows/ObjectLoadError.cpp index 08411ebe19..956630edf7 100644 --- a/src/openrct2-ui/windows/ObjectLoadError.cpp +++ b/src/openrct2-ui/windows/ObjectLoadError.cpp @@ -580,8 +580,7 @@ static void window_object_load_error_scrollpaint(rct_window* w, rct_drawpixelinf gfx_draw_string(dpi, strndup(_invalid_entries[i].name, 8), COLOUR_DARK_GREEN, screenCoords); // ... source game ... - rct_string_id sourceStringId = object_manager_get_source_game_string( - object_entry_get_source_game_legacy(&_invalid_entries[i])); + rct_string_id sourceStringId = object_manager_get_source_game_string(_invalid_entries[i].GetSourceGame()); gfx_draw_string_left(dpi, sourceStringId, nullptr, COLOUR_DARK_GREEN, { SOURCE_COL_LEFT - 3, screenCoords.y }); // ... and type diff --git a/src/openrct2/object/Object.h b/src/openrct2/object/Object.h index c072e8e423..3595882aee 100644 --- a/src/openrct2/object/Object.h +++ b/src/openrct2/object/Object.h @@ -106,6 +106,11 @@ struct rct_object_entry } std::optional GetSceneryType() const; + + ObjectSourceGame GetSourceGame() const + { + return static_cast((flags & 0xF0) >> 4); + } }; assert_struct_size(rct_object_entry, 0x10); diff --git a/src/openrct2/object/ObjectFactory.cpp b/src/openrct2/object/ObjectFactory.cpp index 3cc282a014..e4e3f400ed 100644 --- a/src/openrct2/object/ObjectFactory.cpp +++ b/src/openrct2/object/ObjectFactory.cpp @@ -230,7 +230,7 @@ namespace ObjectFactory { throw std::runtime_error("Object has errors"); } - result->SetSourceGames({ object_entry_get_source_game_legacy(&entry) }); + result->SetSourceGames({ entry.GetSourceGame() }); } } catch (const std::exception& e) @@ -262,7 +262,7 @@ namespace ObjectFactory } else { - result->SetSourceGames({ object_entry_get_source_game_legacy(entry) }); + result->SetSourceGames({ entry->GetSourceGame() }); } } return result; diff --git a/src/openrct2/object/ObjectList.cpp b/src/openrct2/object/ObjectList.cpp index c1475c4e54..7d83c41ad0 100644 --- a/src/openrct2/object/ObjectList.cpp +++ b/src/openrct2/object/ObjectList.cpp @@ -69,11 +69,6 @@ bool object_entry_is_empty(const rct_object_entry* entry) return false; } -ObjectSourceGame object_entry_get_source_game_legacy(const rct_object_entry* objectEntry) -{ - return static_cast((objectEntry->flags & 0xF0) >> 4); -} - /** * * rct2: 0x006AB344 diff --git a/src/openrct2/object/ObjectList.h b/src/openrct2/object/ObjectList.h index 5cd2ecc44e..bcc0db9f7c 100644 --- a/src/openrct2/object/ObjectList.h +++ b/src/openrct2/object/ObjectList.h @@ -21,4 +21,3 @@ void get_type_entry_index(size_t index, uint8_t* outObjectType, ObjectEntryIndex const rct_object_entry* get_loaded_object_entry(size_t index); void* get_loaded_object_chunk(size_t index); uint8_t object_entry_get_type(const rct_object_entry* objectEntry); -ObjectSourceGame object_entry_get_source_game_legacy(const rct_object_entry* objectEntry);