OpenRCT2/src/object_list.h

42 lines
2.1 KiB
C

#pragma once
#include "addresses.h"
#include "ride/ride.h"
#include "world/banner.h"
#include "world/entrance.h"
#include "world/footpath.h"
#include "world/scenery.h"
#include "world/water.h"
#ifdef NO_RCT2
extern rct_ride_entry *gRideEntries[128];
extern rct_small_scenery_entry *gSmallSceneryEntries[252];
extern rct_large_scenery_entry *gLargeSceneryEntries[128];
extern rct_wall_scenery_entry *gWallSceneryEntries[128];
extern rct_banner *gBannerSceneryEntries[32];
extern rct_footpath_entry *gFootpathEntries[16];
extern rct_path_bit_scenery_entry *gFootpathAdditionEntries[15];
extern rct_scenery_set_entry *gSceneryGroupEntries[19];
extern rct_entrance_type *gParkEntranceEntries[1];
extern rct_water_type *gWaterEntries[1];
extern rct_stex_entry *gStexEntries[1];
#else
#define gRideEntries RCT2_ADDRESS(RCT2_ADDRESS_RIDE_ENTRIES, rct_ride_entry*)
#define gSmallSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_SMALL_SCENERY_ENTRIES, rct_small_scenery_entry*)
#define gLargeSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_LARGE_SCENERY_ENTRIES, rct_large_scenery_entry*)
#define gWallSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_WALL_SCENERY_ENTRIES, rct_wall_scenery_entry*)
#define gBannerSceneryEntries RCT2_ADDRESS(RCT2_ADDRESS_BANNER_SCENERY_ENTRIES, rct_banner*)
#define gFootpathEntries RCT2_ADDRESS(RCT2_ADDRESS_PATH_TYPES, rct_footpath_entry*)
#define gFootpathAdditionEntries RCT2_ADDRESS(RCT2_ADDRESS_PATH_BIT_SCENERY_ENTRIES, rct_path_bit_scenery_entry*)
#define gSceneryGroupEntries RCT2_ADDRESS(RCT2_ADDRESS_SCENERY_SET_ENTRIES, rct_scenery_set_entry*)
#define gParkEntranceEntries RCT2_ADDRESS(RCT2_ADDRESS_PARK_ENTRANCE_ENTRIES, rct_entrance_type*)
#define gWaterEntries RCT2_ADDRESS(RCT2_ADDRESS_WATER_ENTRIES, rct_water_type*)
#define gStexEntries RCT2_ADDRESS(RCT2_ADDRESS_SCENARIO_TEXT_ENTRIES, rct_stex_entry*)
#endif
void get_type_entry_index(size_t index, uint8 * outObjectType, uint8 * outEntryIndex);
const rct_object_entry * get_loaded_object_entry(size_t index);
void * get_loaded_object_chunk(size_t index);