mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-06 06:32:56 +01:00
Remove rct_object_entry_extended
This commit is contained in:
@@ -690,7 +690,7 @@ static void window_editor_inventions_list_paint(rct_window *w, rct_drawpixelinfo
|
||||
if (chunk == nullptr)
|
||||
return;
|
||||
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(objectEntryType, researchItem->entryIndex);
|
||||
auto entry = object_entry_get_entry(objectEntryType, researchItem->entryIndex);
|
||||
|
||||
// Draw preview
|
||||
widget = &w->widgets[WIDX_PREVIEW];
|
||||
|
||||
@@ -88,26 +88,9 @@ typedef struct rct_object_entry {
|
||||
} rct_object_entry;
|
||||
assert_struct_size(rct_object_entry, 0x10);
|
||||
|
||||
/**
|
||||
* Object entry structure extended.
|
||||
* size: 0x14
|
||||
*/
|
||||
typedef struct rct_object_entry_extended {
|
||||
union {
|
||||
rct_object_entry entry;
|
||||
struct {
|
||||
uint32 flags;
|
||||
char name[8];
|
||||
uint32 checksum;
|
||||
uint32 chunk_size;
|
||||
};
|
||||
};
|
||||
} rct_object_entry_extended;
|
||||
assert_struct_size(rct_object_entry_extended, 0x14);
|
||||
|
||||
typedef struct rct_object_entry_group {
|
||||
void **chunks;
|
||||
rct_object_entry_extended *entries;
|
||||
rct_object_entry *entries;
|
||||
} rct_object_entry_group;
|
||||
#ifdef PLATFORM_32BIT
|
||||
assert_struct_size(rct_object_entry_group, 8);
|
||||
@@ -235,4 +218,4 @@ 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(sint32 objectType, size_t index);
|
||||
rct_object_entry_extended * object_entry_get_entry(sint32 objectType, size_t index);
|
||||
rct_object_entry * object_entry_get_entry(sint32 objectType, size_t index);
|
||||
|
||||
@@ -66,17 +66,17 @@ sint32 object_entry_group_encoding[] = {
|
||||
rct_water_type *gWaterEntries[MAX_WATER_OBJECTS];
|
||||
rct_stex_entry *gStexEntries[MAX_SCENARIO_TEXT_OBJECTS];
|
||||
|
||||
static rct_object_entry_extended _objectEntriesRides[MAX_RIDE_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesSmallScenery[MAX_SMALL_SCENERY_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesLargeScenery[MAX_LARGE_SCENERY_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesWalls[MAX_WALL_SCENERY_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesBanners[MAX_BANNER_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesFootpaths[MAX_PATH_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesFootpathAdditions[MAX_PATH_ADDITION_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesSceneryGroups[MAX_SCENERY_GROUP_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesParkEntrances[MAX_PARK_ENTRANCE_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesWaters[MAX_WATER_OBJECTS];
|
||||
static rct_object_entry_extended _objectEntriesStexs[MAX_SCENARIO_TEXT_OBJECTS];
|
||||
static rct_object_entry _objectEntriesRides[MAX_RIDE_OBJECTS];
|
||||
static rct_object_entry _objectEntriesSmallScenery[MAX_SMALL_SCENERY_OBJECTS];
|
||||
static rct_object_entry _objectEntriesLargeScenery[MAX_LARGE_SCENERY_OBJECTS];
|
||||
static rct_object_entry _objectEntriesWalls[MAX_WALL_SCENERY_OBJECTS];
|
||||
static rct_object_entry _objectEntriesBanners[MAX_BANNER_OBJECTS];
|
||||
static rct_object_entry _objectEntriesFootpaths[MAX_PATH_OBJECTS];
|
||||
static rct_object_entry _objectEntriesFootpathAdditions[MAX_PATH_ADDITION_OBJECTS];
|
||||
static rct_object_entry _objectEntriesSceneryGroups[MAX_SCENERY_GROUP_OBJECTS];
|
||||
static rct_object_entry _objectEntriesParkEntrances[MAX_PARK_ENTRANCE_OBJECTS];
|
||||
static rct_object_entry _objectEntriesWaters[MAX_WATER_OBJECTS];
|
||||
static rct_object_entry _objectEntriesStexs[MAX_SCENARIO_TEXT_OBJECTS];
|
||||
|
||||
|
||||
// 0x98D97C chunk address', 0x98D980 object_entries
|
||||
@@ -144,7 +144,7 @@ bool find_object_in_entry_group(const rct_object_entry * entry, uint8 * entry_ty
|
||||
{
|
||||
if (object_entry_get_chunk(objectType, i) != nullptr)
|
||||
{
|
||||
auto thisEntry = (rct_object_entry *)object_entry_get_entry(*entry_type, i);
|
||||
auto thisEntry = object_entry_get_entry(*entry_type, i);
|
||||
if (object_entry_compare(thisEntry, entry))
|
||||
{
|
||||
*entry_type = objectType;
|
||||
@@ -178,7 +178,7 @@ const rct_object_entry * get_loaded_object_entry(size_t index)
|
||||
uint8 objectType, entryIndex;
|
||||
get_type_entry_index(index, &objectType, &entryIndex);
|
||||
|
||||
return (rct_object_entry *)object_entry_get_entry(objectType, entryIndex);
|
||||
return object_entry_get_entry(objectType, entryIndex);
|
||||
}
|
||||
|
||||
void * get_loaded_object_chunk(size_t index)
|
||||
@@ -200,7 +200,7 @@ void * object_entry_get_chunk(sint32 objectType, size_t index)
|
||||
return object_entry_groups[objectType].chunks[index];
|
||||
}
|
||||
|
||||
rct_object_entry_extended * object_entry_get_entry(sint32 objectType, size_t index)
|
||||
rct_object_entry * object_entry_get_entry(sint32 objectType, size_t index)
|
||||
{
|
||||
return &object_entry_groups[objectType].entries[index];
|
||||
}
|
||||
|
||||
@@ -385,7 +385,7 @@ private:
|
||||
uint8 objectType, entryIndex;
|
||||
get_type_entry_index(i, &objectType, &entryIndex);
|
||||
|
||||
rct_object_entry_extended * legacyEntry = object_entry_get_entry(objectType, entryIndex);
|
||||
auto legacyEntry = object_entry_get_entry(objectType, entryIndex);
|
||||
void * * legacyChunk = &object_entry_groups[objectType].chunks[entryIndex];
|
||||
if (loadedObject == nullptr)
|
||||
{
|
||||
@@ -394,8 +394,7 @@ private:
|
||||
}
|
||||
else
|
||||
{
|
||||
legacyEntry->entry = *loadedObject->GetObjectEntry();
|
||||
legacyEntry->chunk_size = 0;
|
||||
*legacyEntry = *loadedObject->GetObjectEntry();
|
||||
*legacyChunk = loadedObject->GetLegacyData();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@ static void track_design_save_push_tile_element_desc(rct_object_entry *entry, si
|
||||
static void track_design_save_add_scenery(sint32 x, sint32 y, rct_tile_element *tileElement)
|
||||
{
|
||||
sint32 entryType = tileElement->properties.scenery.type;
|
||||
rct_object_entry *entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_SMALL_SCENERY, entryType);
|
||||
rct_object_entry *entry = object_entry_get_entry(OBJECT_TYPE_SMALL_SCENERY, entryType);
|
||||
|
||||
uint8 flags = 0;
|
||||
flags |= tileElement->type & 3;
|
||||
@@ -296,7 +296,7 @@ static void track_design_save_add_large_scenery(sint32 x, sint32 y, rct_tile_ele
|
||||
sint32 direction, sequence;
|
||||
|
||||
sint32 entryType = scenery_large_get_type(tileElement);
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_LARGE_SCENERY, entryType);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_LARGE_SCENERY, entryType);
|
||||
sceneryTiles = get_large_scenery_entry(entryType)->large_scenery.tiles;
|
||||
|
||||
z = tileElement->base_height;
|
||||
@@ -336,7 +336,7 @@ static void track_design_save_add_large_scenery(sint32 x, sint32 y, rct_tile_ele
|
||||
static void track_design_save_add_wall(sint32 x, sint32 y, rct_tile_element *tileElement)
|
||||
{
|
||||
sint32 entryType = tileElement->properties.wall.type;
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_WALLS, entryType);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_WALLS, entryType);
|
||||
|
||||
uint8 flags = 0;
|
||||
flags |= tileElement->type & 3;
|
||||
@@ -352,7 +352,7 @@ static void track_design_save_add_wall(sint32 x, sint32 y, rct_tile_element *til
|
||||
static void track_design_save_add_footpath(sint32 x, sint32 y, rct_tile_element *tileElement)
|
||||
{
|
||||
sint32 entryType = tileElement->properties.path.type >> 4;
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_PATHS, entryType);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_PATHS, entryType);
|
||||
|
||||
uint8 flags = 0;
|
||||
flags |= tileElement->properties.path.edges & FOOTPATH_PROPERTIES_EDGES_EDGES_MASK;
|
||||
@@ -457,7 +457,7 @@ static void track_design_save_pop_tile_element_desc(rct_object_entry *entry, sin
|
||||
static void track_design_save_remove_scenery(sint32 x, sint32 y, rct_tile_element *tileElement)
|
||||
{
|
||||
sint32 entryType = tileElement->properties.scenery.type;
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_SMALL_SCENERY, entryType);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_SMALL_SCENERY, entryType);
|
||||
|
||||
uint8 flags = 0;
|
||||
flags |= tileElement->type & 3;
|
||||
@@ -477,7 +477,7 @@ static void track_design_save_remove_large_scenery(sint32 x, sint32 y, rct_tile_
|
||||
sint32 direction, sequence;
|
||||
|
||||
sint32 entryType = scenery_large_get_type(tileElement);
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_LARGE_SCENERY, entryType);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_LARGE_SCENERY, entryType);
|
||||
sceneryTiles = get_large_scenery_entry(entryType)->large_scenery.tiles;
|
||||
|
||||
z = tileElement->base_height;
|
||||
@@ -517,7 +517,7 @@ static void track_design_save_remove_large_scenery(sint32 x, sint32 y, rct_tile_
|
||||
static void track_design_save_remove_wall(sint32 x, sint32 y, rct_tile_element *tileElement)
|
||||
{
|
||||
sint32 entryType = tileElement->properties.wall.type;
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_WALLS, entryType);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_WALLS, entryType);
|
||||
|
||||
uint8 flags = 0;
|
||||
flags |= tileElement->type & 3;
|
||||
@@ -533,7 +533,7 @@ static void track_design_save_remove_wall(sint32 x, sint32 y, rct_tile_element *
|
||||
static void track_design_save_remove_footpath(sint32 x, sint32 y, rct_tile_element *tileElement)
|
||||
{
|
||||
sint32 entryType = tileElement->properties.path.type >> 4;
|
||||
auto entry = (rct_object_entry *)object_entry_get_entry(OBJECT_TYPE_PATHS, entryType);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_PATHS, entryType);
|
||||
|
||||
uint8 flags = 0;
|
||||
flags |= tileElement->properties.path.edges & FOOTPATH_PROPERTIES_EDGES_EDGES_MASK;
|
||||
|
||||
@@ -269,8 +269,8 @@ static void mapgen_place_trees()
|
||||
|
||||
for (sint32 i = 0; i < object_entry_group_counts[OBJECT_TYPE_SMALL_SCENERY]; i++)
|
||||
{
|
||||
rct_scenery_entry * sceneryEntry = get_small_scenery_entry(i);
|
||||
rct_object_entry_extended * entry = object_entry_get_entry(OBJECT_TYPE_SMALL_SCENERY, i);
|
||||
auto sceneryEntry = get_small_scenery_entry(i);
|
||||
auto entry = object_entry_get_entry(OBJECT_TYPE_SMALL_SCENERY, i);
|
||||
|
||||
if (sceneryEntry == nullptr)
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user