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:
committed by
GitHub
parent
f281aa1a80
commit
b89130e0f3
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user