1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-24 08:12:53 +01:00

Use ObjectEntryIndex in more places (#11440)

This commit is contained in:
Michael Steenbeek
2020-04-25 00:10:47 +02:00
committed by GitHub
parent f281aa1a80
commit b89130e0f3
12 changed files with 26 additions and 25 deletions

View File

@@ -196,7 +196,7 @@ void research_finish_item(ResearchItem* researchItem)
{
// Ride
uint32_t base_ride_type = researchItem->baseRideType;
int32_t rideEntryIndex = researchItem->entryIndex;
ObjectEntryIndex rideEntryIndex = researchItem->entryIndex;
rct_ride_entry* rideEntry = get_ride_entry(rideEntryIndex);
if (rideEntry != nullptr && base_ride_type != RIDE_TYPE_NULL)
@@ -224,12 +224,12 @@ void research_finish_item(ResearchItem* researchItem)
bool seenRideEntry[MAX_RIDE_OBJECTS]{};
for (auto const& researchItem3 : gResearchItemsUninvented)
{
uint8_t index = researchItem3.entryIndex;
ObjectEntryIndex index = researchItem3.entryIndex;
seenRideEntry[index] = true;
}
for (auto const& researchItem3 : gResearchItemsInvented)
{
uint8_t index = researchItem3.entryIndex;
ObjectEntryIndex index = researchItem3.entryIndex;
seenRideEntry[index] = true;
}

View File

@@ -282,5 +282,5 @@ const rct_object_entry* object_list_find(rct_object_entry* entry);
void object_entry_get_name_fixed(utf8* buffer, size_t bufferSize, const rct_object_entry* entry);
void* object_entry_get_chunk(int32_t objectType, size_t index);
const rct_object_entry* object_entry_get_entry(int32_t objectType, size_t index);
void* object_entry_get_chunk(int32_t objectType, ObjectEntryIndex index);
const rct_object_entry* object_entry_get_entry(int32_t objectType, ObjectEntryIndex index);

View File

@@ -162,9 +162,9 @@ void object_entry_get_name_fixed(utf8* buffer, size_t bufferSize, const rct_obje
buffer[bufferSize - 1] = 0;
}
void* object_entry_get_chunk(int32_t objectType, size_t index)
void* object_entry_get_chunk(int32_t objectType, ObjectEntryIndex index)
{
size_t objectIndex = index;
ObjectEntryIndex objectIndex = index;
for (int32_t i = 0; i < objectType; i++)
{
objectIndex += object_entry_group_counts[i];
@@ -180,7 +180,7 @@ void* object_entry_get_chunk(int32_t objectType, size_t index)
return result;
}
const rct_object_entry* object_entry_get_entry(int32_t objectType, size_t index)
const rct_object_entry* object_entry_get_entry(int32_t objectType, ObjectEntryIndex index)
{
const rct_object_entry* result = nullptr;
auto& objectMgr = OpenRCT2::GetContext()->GetObjectManager();

View File

@@ -49,6 +49,7 @@ constexpr uint16_t const RCT12_MAX_GOLF_HOLES = 31;
constexpr uint16_t const RCT12_MAX_HELICES = 31;
constexpr uint8_t RCT12_BANNER_INDEX_NULL = std::numeric_limits<uint8_t>::max();
constexpr const uint8_t RCT12_OBJECT_ENTRY_INDEX_NULL = 255;
constexpr const uint8_t RCT12_TILE_ELEMENT_SURFACE_EDGE_STYLE_MASK = 0xE0; // in RCT12TileElement.properties.surface.slope
constexpr const uint8_t RCT12_TILE_ELEMENT_SURFACE_WATER_HEIGHT_MASK = 0x1F; // in RCT12TileElement.properties.surface.terrain

View File

@@ -208,7 +208,7 @@ Ride* get_ride(ride_id_t index)
return nullptr;
}
rct_ride_entry* get_ride_entry(int32_t index)
rct_ride_entry* get_ride_entry(ObjectEntryIndex index)
{
rct_ride_entry* result = nullptr;
auto& objMgr = OpenRCT2::GetContext()->GetObjectManager();
@@ -222,9 +222,9 @@ rct_ride_entry* get_ride_entry(int32_t index)
return result;
}
std::string_view get_ride_entry_name(size_t index)
std::string_view get_ride_entry_name(ObjectEntryIndex index)
{
if (index >= static_cast<size_t>(object_entry_group_counts[OBJECT_TYPE_RIDE]))
if (index >= object_entry_group_counts[OBJECT_TYPE_RIDE])
{
log_error("invalid index %d for ride type", index);
return {};

View File

@@ -222,7 +222,7 @@ struct Ride
uint8_t type = RIDE_TYPE_NULL;
// pointer to static info. for example, wild mouse type is 0x36, subtype is
// 0x4c.
uint8_t subtype;
ObjectEntryIndex subtype;
uint8_t mode;
uint8_t colour_scheme_type;
VehicleColour vehicle_colours[MAX_CARS_PER_TRAIN];
@@ -1048,8 +1048,8 @@ struct RideManager
RideManager GetRideManager();
ride_id_t GetNextFreeRideId();
Ride* GetOrAllocateRide(ride_id_t index);
rct_ride_entry* get_ride_entry(int32_t index);
std::string_view get_ride_entry_name(size_t index);
rct_ride_entry* get_ride_entry(ObjectEntryIndex index);
std::string_view get_ride_entry_name(ObjectEntryIndex index);
RideMeasurement* get_ride_measurement(int32_t index);
extern money16 gTotalRideValueForMoney;

View File

@@ -69,7 +69,7 @@ void LargeSceneryElement::SetIsAccounted(bool isAccounted)
}
}
uint16_t LargeSceneryElement::GetEntryIndex() const
ObjectEntryIndex LargeSceneryElement::GetEntryIndex() const
{
return EntryIndex;
}
@@ -84,7 +84,7 @@ uint8_t LargeSceneryElement::GetSequenceIndex() const
return SequenceIndex;
}
void LargeSceneryElement::SetEntryIndex(uint16_t newIndex)
void LargeSceneryElement::SetEntryIndex(ObjectEntryIndex newIndex)
{
EntryIndex = newIndex;
}
@@ -94,7 +94,7 @@ void LargeSceneryElement::SetSequenceIndex(uint8_t sequence)
SequenceIndex = sequence;
}
rct_scenery_entry* get_large_scenery_entry(int32_t entryIndex)
rct_scenery_entry* get_large_scenery_entry(ObjectEntryIndex entryIndex)
{
rct_scenery_entry* result = nullptr;
auto& objMgr = OpenRCT2::GetContext()->GetObjectManager();

View File

@@ -13,7 +13,7 @@
#include "Map.h"
#include "TileElement.h"
rct_scenery_entry* get_large_scenery_entry(int32_t entryIndex);
rct_scenery_entry* get_large_scenery_entry(ObjectEntryIndex entryIndex);
enum
{

View File

@@ -173,7 +173,7 @@ rct_scenery_entry* SmallSceneryElement::GetEntry() const
return get_small_scenery_entry(entryIndex);
}
rct_scenery_entry* get_small_scenery_entry(int32_t entryIndex)
rct_scenery_entry* get_small_scenery_entry(ObjectEntryIndex entryIndex)
{
rct_scenery_entry* result = nullptr;
auto& objMgr = OpenRCT2::GetContext()->GetObjectManager();

View File

@@ -54,4 +54,4 @@ enum
};
bool scenery_small_entry_has_flag(const rct_scenery_entry* sceneryEntry, uint32_t flags);
rct_scenery_entry* get_small_scenery_entry(int32_t entryIndex);
rct_scenery_entry* get_small_scenery_entry(ObjectEntryIndex entryIndex);

View File

@@ -405,7 +405,7 @@ assert_struct_size(SmallSceneryElement, 16);
struct LargeSceneryElement : TileElementBase
{
private:
uint16_t EntryIndex;
ObjectEntryIndex EntryIndex;
::BannerIndex BannerIndex;
uint8_t SequenceIndex;
uint8_t Colour[3];
@@ -416,8 +416,8 @@ private:
#pragma clang diagnostic pop
public:
uint16_t GetEntryIndex() const;
void SetEntryIndex(uint16_t newIndex);
ObjectEntryIndex GetEntryIndex() const;
void SetEntryIndex(ObjectEntryIndex newIndex);
rct_scenery_entry* GetEntry() const;
uint8_t GetSequenceIndex() const;

View File

@@ -124,9 +124,9 @@ Ride* get_ride(ride_id_t index)
return &gRideList[index];
}
rct_ride_entry* get_ride_entry(int index)
rct_ride_entry* get_ride_entry(ObjectEntryIndex index)
{
if (index < 0 || index >= object_entry_group_counts[OBJECT_TYPE_RIDE])
if (index >= object_entry_group_counts[OBJECT_TYPE_RIDE])
{
log_error("invalid index %d for ride type", index);
return nullptr;