#pragma region Copyright (c) 2014-2016 OpenRCT2 Developers /***************************************************************************** * OpenRCT2, an open source clone of Roller Coaster Tycoon 2. * * OpenRCT2 is the work of many authors, a full list can be found in contributors.md * For more information, visit https://github.com/OpenRCT2/OpenRCT2 * * OpenRCT2 is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * A full copy of the GNU General Public License can be found in licence.txt *****************************************************************************/ #pragma endregion #include "../common.h" #include "../core/List.hpp" #include "../core/Util.hpp" #include "Tables.h" extern "C" { #include "../interface/colour.h" #include "../rct1.h" #include "../ride/ride.h" } namespace RCT1 { const char * DefaultParkEntranceObject = "PKENT1 "; colour_t GetColour(colour_t colour) { static const uint8 map[] = { COLOUR_BLACK, COLOUR_GREY, COLOUR_WHITE, COLOUR_LIGHT_PURPLE, COLOUR_BRIGHT_PURPLE, COLOUR_DARK_BLUE, COLOUR_LIGHT_BLUE, COLOUR_TEAL, COLOUR_SATURATED_GREEN, COLOUR_DARK_GREEN, COLOUR_MOSS_GREEN, COLOUR_BRIGHT_GREEN, COLOUR_OLIVE_GREEN, COLOUR_DARK_OLIVE_GREEN, COLOUR_YELLOW, COLOUR_DARK_YELLOW, COLOUR_LIGHT_ORANGE, COLOUR_DARK_ORANGE, COLOUR_LIGHT_BROWN, COLOUR_SATURATED_BROWN, COLOUR_DARK_BROWN, COLOUR_SALMON_PINK, COLOUR_BORDEAUX_RED, COLOUR_SATURATED_RED, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_PINK, COLOUR_LIGHT_PINK, COLOUR_DARK_PINK, COLOUR_DARK_PURPLE, COLOUR_AQUAMARINE, COLOUR_BRIGHT_YELLOW, COLOUR_ICY_BLUE }; return map[colour]; } uint8 GetTerrain(uint8 terrain) { static const uint8 map[] = { TERRAIN_GRASS, TERRAIN_SAND, TERRAIN_DIRT, TERRAIN_ROCK, TERRAIN_MARTIAN, TERRAIN_CHECKERBOARD, TERRAIN_GRASS_CLUMPS, TERRAIN_DIRT, // Originally TERRAIN_ROOF_BROWN TERRAIN_ICE, TERRAIN_DIRT, // Originally TERRAIN_ROOF_LOG TERRAIN_DIRT, // Originally TERRAIN_ROOF_IRON TERRAIN_ROCK, // Originally TERRAIN_ROOF_GREY TERRAIN_GRID_RED, TERRAIN_GRID_YELLOW, TERRAIN_GRID_BLUE, TERRAIN_GRID_GREEN }; return map[terrain]; } uint8 GetTerrainEdge(uint8 terrainEdge) { static const uint8 map[] = { TERRAIN_EDGE_ROCK, TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_BRICK TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_IRON TERRAIN_EDGE_WOOD_RED, TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_GREY TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_YELLOW TERRAIN_EDGE_WOOD_BLACK, TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_RED TERRAIN_EDGE_ICE, TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_PURPLE TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_GREEN TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_STONE_BROWN TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_STONE_GREY TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_SKYSCRAPER_A TERRAIN_EDGE_ROCK, // Originally TERRAIN_EDGE_SKYSCRAPER_B TERRAIN_EDGE_ROCK // Unused }; return map[terrainEdge]; } uint8 GetRideType(uint8 rideType) { static uint8 map[] = { RIDE_TYPE_WOODEN_ROLLER_COASTER, RIDE_TYPE_STAND_UP_ROLLER_COASTER, RIDE_TYPE_SUSPENDED_SWINGING_COASTER, RIDE_TYPE_INVERTED_ROLLER_COASTER, RIDE_TYPE_JUNIOR_ROLLER_COASTER, RIDE_TYPE_MINIATURE_RAILWAY, RIDE_TYPE_MONORAIL, RIDE_TYPE_MINI_SUSPENDED_COASTER, RIDE_TYPE_BOAT_RIDE, RIDE_TYPE_WOODEN_WILD_MOUSE, RIDE_TYPE_STEEPLECHASE, RIDE_TYPE_CAR_RIDE, RIDE_TYPE_LAUNCHED_FREEFALL, RIDE_TYPE_BOBSLEIGH_COASTER, RIDE_TYPE_OBSERVATION_TOWER, RIDE_TYPE_LOOPING_ROLLER_COASTER, RIDE_TYPE_DINGHY_SLIDE, RIDE_TYPE_MINE_TRAIN_COASTER, RIDE_TYPE_CHAIRLIFT, RIDE_TYPE_CORKSCREW_ROLLER_COASTER, RIDE_TYPE_MAZE, RIDE_TYPE_SPIRAL_SLIDE, RIDE_TYPE_GO_KARTS, RIDE_TYPE_LOG_FLUME, RIDE_TYPE_RIVER_RAPIDS, RIDE_TYPE_DODGEMS, RIDE_TYPE_PIRATE_SHIP, RIDE_TYPE_SWINGING_INVERTER_SHIP, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_DRINK_STALL, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_SHOP, RIDE_TYPE_MERRY_GO_ROUND, RIDE_TYPE_SHOP, RIDE_TYPE_INFORMATION_KIOSK, RIDE_TYPE_TOILETS, RIDE_TYPE_FERRIS_WHEEL, RIDE_TYPE_MOTION_SIMULATOR, RIDE_TYPE_3D_CINEMA, RIDE_TYPE_TOP_SPIN, RIDE_TYPE_SPACE_RINGS, RIDE_TYPE_REVERSE_FREEFALL_COASTER, RIDE_TYPE_SHOP, RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_TWIST, RIDE_TYPE_HAUNTED_HOUSE, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_CIRCUS_SHOW, RIDE_TYPE_GHOST_TRAIN, RIDE_TYPE_TWISTER_ROLLER_COASTER, RIDE_TYPE_WOODEN_ROLLER_COASTER, RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER, RIDE_TYPE_WILD_MOUSE, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_SHOP, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_VIRGINIA_REEL, RIDE_TYPE_SPLASH_BOATS, RIDE_TYPE_MINI_HELICOPTERS, RIDE_TYPE_LAY_DOWN_ROLLER_COASTER, RIDE_TYPE_SUSPENDED_MONORAIL, RIDE_TYPE_NULL, RIDE_TYPE_REVERSER_ROLLER_COASTER, RIDE_TYPE_HEARTLINE_TWISTER_COASTER, RIDE_TYPE_MINI_GOLF, RIDE_TYPE_NULL, RIDE_TYPE_ROTO_DROP, RIDE_TYPE_FLYING_SAUCERS, RIDE_TYPE_CROOKED_HOUSE, RIDE_TYPE_MONORAIL_CYCLES, RIDE_TYPE_COMPACT_INVERTED_COASTER, RIDE_TYPE_WATER_COASTER, RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, RIDE_TYPE_INVERTED_HAIRPIN_COASTER, RIDE_TYPE_BOAT_RIDE, RIDE_TYPE_SHOP, RIDE_TYPE_RIVER_RAFTS, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_ENTERPRISE, RIDE_TYPE_DRINK_STALL, RIDE_TYPE_FOOD_STALL, RIDE_TYPE_DRINK_STALL }; return map[rideType]; } bool RideTypeUsesVehicles(uint8 rideType) { switch (rideType) { case RCT1_RIDE_TYPE_HEDGE_MAZE: case RCT1_RIDE_TYPE_SPIRAL_SLIDE: case RCT1_RIDE_TYPE_ICE_CREAM_STALL: case RCT1_RIDE_TYPE_FRIES_STALL: case RCT1_RIDE_TYPE_DRINK_STALL: case RCT1_RIDE_TYPE_COTTON_CANDY_STALL: case RCT1_RIDE_TYPE_BURGER_BAR: case RCT1_RIDE_TYPE_BALLOON_STALL: case RCT1_RIDE_TYPE_INFORMATION_KIOSK: case RCT1_RIDE_TYPE_TOILETS: case RCT1_RIDE_TYPE_SOUVENIR_STALL: case RCT1_RIDE_TYPE_PIZZA_STALL: case RCT1_RIDE_TYPE_POPCORN_STALL: case RCT1_RIDE_TYPE_HOT_DOG_STALL: case RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL: case RCT1_RIDE_TYPE_HAT_STALL: case RCT1_RIDE_TYPE_CANDY_APPLE_STAND: case RCT1_RIDE_TYPE_40: case RCT1_RIDE_TYPE_44: case RCT1_RIDE_TYPE_T_SHIRT_STALL: case RCT1_RIDE_TYPE_DOUGHNUT_SHOP: case RCT1_RIDE_TYPE_COFFEE_SHOP: case RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL: case RCT1_RIDE_TYPE_LEMONADE_STALL: return false; default: return true; } } bool PathIsQueue(uint8 pathType) { switch (pathType) { case RCT1_FOOTPATH_TYPE_QUEUE_BLUE: case RCT1_FOOTPATH_TYPE_QUEUE_RED: case RCT1_FOOTPATH_TYPE_QUEUE_YELLOW: case RCT1_FOOTPATH_TYPE_QUEUE_GREEN: return true; } return false; } uint8 NormalisePathAddition(uint8 pathAdditionType) { switch (pathAdditionType) { case RCT1_PATH_ADDITION_BROKEN_LAMP_1: return RCT1_PATH_ADDITION_LAMP_1; case RCT1_PATH_ADDITION_BROKEN_LAMP_2: return RCT1_PATH_ADDITION_LAMP_2; case RCT1_PATH_ADDITION_BROKEN_BIN: return RCT1_PATH_ADDITION_BIN; case RCT1_PATH_ADDITION_BROKEN_BENCH: return RCT1_PATH_ADDITION_BENCH; case RCT1_PATH_ADDITION_BROKEN_LAMP_3: return RCT1_PATH_ADDITION_LAMP_3; case RCT1_PATH_ADDITION_BROKEN_LAMP_4: return RCT1_PATH_ADDITION_LAMP_4; } return pathAdditionType; } const char * GetRideTypeObject(uint8 rideType) { static const char * map[] = { "PTCT1 ", // RCT1_RIDE_TYPE_WOODEN_ROLLER_COASTER "TOGST ", // RCT1_RIDE_TYPE_STAND_UP_STEEL_ROLLER_COASTER "ARRSW1 ", // RCT1_RIDE_TYPE_SUSPENDED_ROLLER_COASTER "NEMT ", // RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER "ZLDB ", // RCT1_RIDE_TYPE_STEEL_MINI_ROLLER_COASTER "NRL ", // RCT1_RIDE_TYPE_MINIATURE_RAILROAD "MONO2 ", // RCT1_RIDE_TYPE_MONORAIL "BATFL ", // RCT1_RIDE_TYPE_SUSPENDED_SINGLE_RAIL_ROLLER_COASTER "RBOAT ", // RCT1_RIDE_TYPE_BOAT_HIRE "WMOUSE ", // RCT1_RIDE_TYPE_WOODEN_CRAZY_RODENT_ROLLER_COASTER "STEEP1 ", // RCT1_RIDE_TYPE_SINGLE_RAIL_ROLLER_COASTER "SPCAR ", // RCT1_RIDE_TYPE_CAR_RIDE "SSC1 ", // RCT1_RIDE_TYPE_LAUNCHED_FREEFALL "BOB1 ", // RCT1_RIDE_TYPE_BOBSLED_ROLLER_COASTER "OBS1 ", // RCT1_RIDE_TYPE_OBSERVATION_TOWER "SCHT1 ", // RCT1_RIDE_TYPE_STEEL_ROLLER_COASTER "DING1 ", // RCT1_RIDE_TYPE_WATER_SLIDE "AMT1 ", // RCT1_RIDE_TYPE_MINE_TRAIN_ROLLER_COASTER "CLIFT1 ", // RCT1_RIDE_TYPE_CHAIRLIFT "ARRT1 ", // RCT1_RIDE_TYPE_STEEL_CORKSCREW_ROLLER_COASTER "HMAZE ", // RCT1_RIDE_TYPE_HEDGE_MAZE "HSKELT ", // RCT1_RIDE_TYPE_SPIRAL_SLIDE "KART1 ", // RCT1_RIDE_TYPE_GO_KARTS "LFB1 ", // RCT1_RIDE_TYPE_LOG_FLUME "RAPBOAT ", // RCT1_RIDE_TYPE_RIVER_RAPIDS "DODG1 ", // RCT1_RIDE_TYPE_DODGEMS "SWSH1 ", // RCT1_RIDE_TYPE_SWINGING_SHIP "SWSH2 ", // RCT1_RIDE_TYPE_SWINGING_INVERTER_SHIP "ICECR1 ", // RCT1_RIDE_TYPE_ICE_CREAM_STALL "CHPSH ", // RCT1_RIDE_TYPE_FRIES_STALL "DRNKS ", // RCT1_RIDE_TYPE_DRINK_STALL "CNDYF ", // RCT1_RIDE_TYPE_COTTON_CANDY_STALL "BURGB ", // RCT1_RIDE_TYPE_BURGER_BAR "MGR1 ", // RCT1_RIDE_TYPE_MERRY_GO_ROUND "BALLN ", // RCT1_RIDE_TYPE_BALLOON_STALL "INFOK ", // RCT1_RIDE_TYPE_INFORMATION_KIOSK "TLT1 ", // RCT1_RIDE_TYPE_TOILETS "FWH1 ", // RCT1_RIDE_TYPE_FERRIS_WHEEL "SIMPOD ", // RCT1_RIDE_TYPE_MOTION_SIMULATOR "C3D ", // RCT1_RIDE_TYPE_3D_CINEMA "TOPSP1 ", // RCT1_RIDE_TYPE_GRAVITRON "SRINGS ", // RCT1_RIDE_TYPE_SPACE_RINGS "REVF1 ", // RCT1_RIDE_TYPE_REVERSE_WHOA_BELLY_ROLLER_COASTER "SOUVS ", // RCT1_RIDE_TYPE_SOUVENIR_STALL "BMVD ", // RCT1_RIDE_TYPE_VERTICAL_ROLLER_COASTER "PIZZS ", // RCT1_RIDE_TYPE_PIZZA_STALL "TWIST1 ", // RCT1_RIDE_TYPE_SCRAMBLED_EGGS "HHBUILD ", // RCT1_RIDE_TYPE_HAUNTED_HOUSE "POPCS ", // RCT1_RIDE_TYPE_POPCORN_STALL "CIRCUS1 ", // RCT1_RIDE_TYPE_CIRCUS_SHOW "GTC ", // RCT1_RIDE_TYPE_GHOST_TRAIN "BMSD ", // RCT1_RIDE_TYPE_STEEL_TWISTER_ROLLER_COASTER "MFT ", // RCT1_RIDE_TYPE_WOODEN_TWISTER_ROLLER_COASTER "SFRIC1 ", // RCT1_RIDE_TYPE_WOODEN_SIDE_FRICTION_ROLLER_COASTER "SMC1 ", // RCT1_RIDE_TYPE_STEEL_WILD_MOUSE_ROLLER_COASTER "HOTDS ", // RCT1_RIDE_TYPE_HOT_DOG_STALL "SQDST ", // RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL "HATST ", // RCT1_RIDE_TYPE_HAT_STALL "TOFFS ", // RCT1_RIDE_TYPE_CANDY_APPLE_STAND "VREEL ", // RCT1_RIDE_TYPE_VIRGINIA_REEL "SPBOAT ", // RCT1_RIDE_TYPE_RIVER_RIDE "MONBK ", // RCT1_RIDE_TYPE_CYCLE_MONORAIL "BMAIR ", // RCT1_RIDE_TYPE_FLYING_ROLLER_COASTER "SMONO ", // RCT1_RIDE_TYPE_SUSPENDED_MONORAIL " ", // RCT1_RIDE_TYPE_40 "REVCAR ", // RCT1_RIDE_TYPE_WOODEN_REVERSER_ROLLER_COASTER "UTCAR ", // RCT1_RIDE_TYPE_HEARTLINE_TWISTER_ROLLER_COASTER "GOLF1 ", // RCT1_RIDE_TYPE_MINIATURE_GOLF " ", // RCT1_RIDE_TYPE_44 "GDROP1 ", // RCT1_RIDE_TYPE_ROTO_DROP "FSAUC ", // RCT1_RIDE_TYPE_FLYING_SAUCERS "CHBUILD ", // RCT1_RIDE_TYPE_CROOKED_HOUSE "HELICAR ", // RCT1_RIDE_TYPE_CYCLE_RAILWAY "SLCT ", // RCT1_RIDE_TYPE_SUSPENDED_LOOPING_ROLLER_COASTER "CSTBOAT ", // RCT1_RIDE_TYPE_WATER_COASTER "THCAR ", // RCT1_RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER "IVMC1 ", // RCT1_RIDE_TYPE_INVERTED_WILD_MOUSE_COASTER "JSKI ", // RCT1_RIDE_TYPE_JET_SKIS "TSHRT ", // RCT1_RIDE_TYPE_T_SHIRT_STALL "RFTBOAT ", // RCT1_RIDE_TYPE_RAFT_RIDE "DOUGH ", // RCT1_RIDE_TYPE_DOUGHNUT_SHOP "ENTERP ", // RCT1_RIDE_TYPE_ENTERPRISE "COFFS ", // RCT1_RIDE_TYPE_COFFEE_SHOP "CHCKS ", // RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL "LEMST ", // RCT1_RIDE_TYPE_LEMONADE_STALL }; Guard::ArgumentInRange(rideType, 0, Util::CountOf(map), ""); return map[rideType]; } const char * GetVehicleObject(uint8 vehicleType) { static const char * map[] = { "SCHT1 ", // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN "SCHT1 ", // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS "PTCT1 ", // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN "SLCT ", // RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN (Not in RCT2) "ARRSW1 ", // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS "ZLDB ", // RCT1_VEHICLE_TYPE_LADYBIRD_CARS "TOGST ", // RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS "WMSPIN ", // RCT1_VEHICLE_TYPE_SPINNING_CARS "BATFL ", // RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS "SWANS ", // RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS "MONO1 ", // RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN "CBOAT ", // RCT1_VEHICLE_TYPE_CANOES "RBOAT ", // RCT1_VEHICLE_TYPE_ROWING_BOATS "NRL ", // RCT1_VEHICLE_TYPE_STEAM_TRAIN "WMOUSE ", // RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS "BBOAT ", // RCT1_VEHICLE_TYPE_BUMPER_BOATS "PTCT1 ", // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS "RCKC ", // RCT1_VEHICLE_TYPE_ROCKET_CARS "STEEP1 ", // RCT1_VEHICLE_TYPE_HORSES // Steeplechase "SPCAR ", // RCT1_VEHICLE_TYPE_SPORTSCARS "SKYTR ", // RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS (Inverted single-rail) "WMMINE ", // RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS "ARRSW2 ", // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS "MONO2 ", // RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS "TRIKE ", // RCT1_VEHICLE_TYPE_WATER_TRICYCLES "SSC1 ", // RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR "BOB1 ", // RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS "DING1 ", // RCT1_VEHICLE_TYPE_DINGHIES "OBS1 ", // RCT1_VEHICLE_TYPE_ROTATING_CABIN "AMT1 ", // RCT1_VEHICLE_TYPE_MINE_TRAIN "CLIFT1 ", // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS "ARRT1 ", // RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN "STEEP2 ", // RCT1_VEHICLE_TYPE_MOTORBIKES "RCR ", // RCT1_VEHICLE_TYPE_RACING_CARS "TRUCK1 ", // RCT1_VEHICLE_TYPE_TRUCKS "KART1 ", // RCT1_VEHICLE_TYPE_GO_KARTS "RAPBOAT ", // RCT1_VEHICLE_TYPE_RAPIDS_BOATS "LFB1 ", // RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS "DODG1 ", // RCT1_VEHICLE_TYPE_DODGEMS "SWSH1 ", // RCT1_VEHICLE_TYPE_SWINGING_SHIP "SWSH2 ", // RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP "MGR1 ", // RCT1_VEHICLE_TYPE_MERRY_GO_ROUND "FWH1 ", // RCT1_VEHICLE_TYPE_FERRIS_WHEEL "SIMPOD ", // RCT1_VEHICLE_TYPE_SIMULATOR_POD "C3D ", // RCT1_VEHICLE_TYPE_CINEMA_BUILDING "TOPSP1 ", // RCT1_VEHICLE_TYPE_TOPSPIN_CAR "SRINGS ", // RCT1_VEHICLE_TYPE_SPACE_RINGS "REVF1 ", // RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR "BMVD ", // RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS "CTCAR ", // RCT1_VEHICLE_TYPE_CAT_CARS "TWIST1 ", // RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS "HHBUILD ", // RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING "ZLOG ", // RCT1_VEHICLE_TYPE_LOG_CARS "CIRCUS1 ", // RCT1_VEHICLE_TYPE_CIRCUS_TENT "GTC ", // RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS "BMSD ", // RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN "MFT ", // RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN "SFRIC1 ", // RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS "VCR ", // RCT1_VEHICLE_TYPE_VINTAGE_CARS "NRL2 ", // RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS "BMSU ", // RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN "BMFL ", // RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN "SMC1 ", // RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS "CLIFT2 ", // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE "SMONO ", // RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN "HELICAR ", // RCT1_VEHICLE_TYPE_HELICOPTER_CARS "VREEL ", // RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS "REVCAR ", // RCT1_VEHICLE_TYPE_REVERSER_CARS "GOLF1 ", // RCT1_VEHICLE_TYPE_GOLFERS "SPBOAT ", // RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS "BMAIR ", // RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN "BMRB ", // RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN "UTCAR ", // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS "UTCARR ", // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED " ", // RCT1_VEHICLE_TYPE_RESERVED "GDROP1 ", // RCT1_VEHICLE_TYPE_ROTODROP_CAR "FSAUC ", // RCT1_VEHICLE_TYPE_FLYING_SAUCERS "CHBUILD ", // RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING "MONBK ", // RCT1_VEHICLE_TYPE_BICYCLES "ARRT2 ", // RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN "NEMT ", // RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN "CSTBOAT ", // RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS "SLCFO ", // RCT1_VEHICLE_TYPE_FACEOFF_CARS "JSKI ", // RCT1_VEHICLE_TYPE_JET_SKIS "RFTBOAT ", // RCT1_VEHICLE_TYPE_RAFT_BOATS "AML1 ", // RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN "THCAR ", // RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN "IVMC1 ", // RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS (Inverted Hairpin in RCT2) "ENTERP ", // RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL }; Guard::ArgumentInRange(vehicleType, 0, Util::CountOf(map), ""); return map[vehicleType]; } const char * GetSmallSceneryObject(uint8 smallSceneryType) { static const char * map[] = { "TL0 ", "TL1 ", "TL2 ", "TL3 ", "TM0 ", "TM1 ", "TM2 ", "TM3 ", "TS0 ", "TS1 ", "TS2 ", "TS3 ", "TS4 ", "TS5 ", "TS6 ", "TIC ", "TLC ", "TMC ", "TMP ", "TITC ", "TGHC ", "TAC ", "TGHC2 ", "TCJ ", "TMBJ ", "TCF ", "TCL ", "TRF ", "TRF2 ", "TEL ", "TAP ", "TSP ", "TMZP ", "TCRP ", "TBP ", "TLP ", "TWP ", "TAS ", "TMG ", "TWW ", "TSB ", "TVL ", "TCT ", "TEF ", "TAL ", "TSQ ", "THT ", "TCB ", "TDM ", "TSD ", "TGS ", "TUS ", "TH1 ", "TBC ", "TH2 ", "TPM ", "TSC ", "TG1 ", "TWF ", "TSH0 ", "TSH1 ", "TSH2 ", "TSH3 ", "TSH4 ", "TSH5 ", "TG2 ", "TG3 ", "TG4 ", "TG5 ", "TG6 ", "TG7 ", "TG8 ", "TG9 ", "TG10 ", "TG11 ", "TG12 ", "TG13 ", "TG14 ", "TT1 ", "TDF ", "TSH ", "THRS ", "TSTD ", "TRMS ", "TRWS ", "TRC ", "TQF ", "TES1 ", "TEN ", "TERS ", "TERB ", "TEP ", "TST1 ", "TST2 ", "TMS1 ", "TAS1 ", "TAS2 ", "TAS3 ", "TST3 ", "TST4 ", "TST5 ", "TAS4 ", "TCY ", "TBW ", "TBR1 ", "TBR2 ", "TML ", "TMW ", "TBR3 ", "TBR4 ", "TMJ ", "TBR ", "TMO1 ", "TMO2 ", "TMO3 ", "TMO4 ", "TMO5 ", "TWH1 ", "TWH2 ", "TNS ", "TP1 ", "TP2 ", "TK1 ", "TK2 ", "TR1 ", "TR2 ", "TQ1 ", "TQ2 ", "TWN ", "TCE ", "TCO ", "THL ", "TCC ", "TB1 ", "TB2 ", "TK3 ", "TK4 ", "TBN ", "TBN1 ", "TDT1 ", "TDT2 ", "TDT3 ", "TMM1 ", "TMM2 ", "TMM3 ", "TGS1 ", "TGS2 ", "TGS3 ", "TGS4 ", "TDN4 ", "TDN5 ", "TJT1 ", "TJT2 ", "TJB1 ", "TTF ", "TF1 ", "TF2 ", "TGE1 ", "TJT3 ", "TJT4 ", "TJP1 ", "TJB2 ", "TGE2 ", "TJT5 ", "TJB3 ", "TJB4 ", "TJT6 ", "TJP2 ", "TGE3 ", "TCK ", "TGE4 ", "TGE5 ", "TG15 ", "TG16 ", "TG17 ", "TG18 ", "TG19 ", "TG20 ", "TG21 ", "TSM ", "TIG ", "TCFS ", "TRFS ", "TRF3 ", "TNSS ", "TCT1 ", "TCT2 ", "TSF1 ", "TSF2 ", "TSF3 ", "TCN ", "TTG ", "TSNC ", "TSNB ", "TSCP ", "TCD ", "TSG ", "TSK ", "TGH1 ", "TGH2 ", "TSMP ", "TJF ", "TLY ", "TGC1 ", "TGC2 ", "TGG ", "TSPH ", "TOH1 ", "TOH2 ", "TOT1 ", "TOT2 ", "TOS ", "TOT3 ", "TOT4 ", "TSC2 ", "TSP1 ", "TOH3 ", "TSP2 ", "ROMROOF1", "GEOROOF1", "TNTROOF1", "JNGROOF1", "MINROOF1", "ROMROOF2", "GEOROOF2", "PAGROOF1", "SPCROOF1", "ROOF1 ", "ROOF2 ", "ROOF3 ", "ROOF4 ", "ROOF5 ", "ROOF6 ", "ROOF7 ", "ROOF8 ", "ROOF9 ", "ROOF10 ", "ROOF11 ", "ROOF12 ", "ROOF13 ", "ROOF14 ", "IGROOF ", "CORROOF ", "CORROOF2", }; return map[smallSceneryType]; } const char * GetLargeSceneryObject(uint8 largeSceneryType) { static const char * map[] = { "SCOL ", "SHS1 ", "SSPX ", "SHS2 ", "SCLN ", "SMH1 ", "SMH2 ", "SVLC ", "SPYR ", "SMN1 ", "SMB ", "SSK1 ", "SDN1 ", "SDN2 ", "SDN3 ", "SIP ", "STB1 ", "STB2 ", "STG1 ", "STG2 ", "SCT ", "SOH1 ", "SOH2 ", "SOH3 ", "SGP ", "SSR ", "STH ", "SAH ", "SPS ", "SPG ", "SOB ", "SAH2 ", "SST ", "SSH ", "SAH3 ", "SSIG1 ", "SSIG2 ", "SSIG3 ", "SSIG4 ", }; return map[largeSceneryType]; } const char * GetWallObject(uint8 wallType) { static const char * map[] = { "WMF ", "WMFG ", "WRW ", "WEW ", "WHG ", "WHGG ", "WCW1 ", "WCW2 ", "WSW ", "WSWG ", "WMW ", "WALLGL16", "WFW1 ", "WFWG ", "WPW1 ", "WPW2 ", "WPF ", "WPFG ", "WWTW ", "WMWW ", "WSW1 ", "WSW2 ", "WGW2 ", "WBW ", "WBR1 ", "WBRG ", "WALLCFAR", "WALLPOST", "WBR2 ", "WBR3 ", "WPW3 ", "WJF ", "WCH ", "WCHG ", "WC1 ", "WC2 ", "WC3 ", "WC4 ", "WC5 ", "WC6 ", "WC7 ", "WC8 ", "WC9 ", "WC10 ", "WC11 ", "WC12 ", "WC13 ", "WC14 ", "WC15 ", "WC16 ", "WC17 ", "WC18 ", "WALLBRDR", "WALLBR32", "WALLBR16", "WALLBR8 ", "WALLCF8 ", "WALLCF16", "WALLCF32", "WALLBB8 ", "WALLBB16", "WALLBB32", "WALLRS8 ", "WALLRS16", "WALLRS32", "WALLCB8 ", "WALLCB16", "WALLCB32", "WALLGL8 ", "WALLGL32", "WALLWD8 ", "WALLWD16", "WALLWD32", "WALLTN32", "WALLJN32", "WALLMN32", "WALLSP32", "WALLPG32", "WALLU132", "WALLU232", "WALLCZ32", "WALLCW32", "WALLCY32", "WALLCX32", "WBR1A ", "WBR2A ", "WRWA ", "WWTWA ", "WALLIG16", "WALLIG24", "WALLCO16", "WALLCFDR", "WALLCBDR", "WALLBRWN", "WALLCFWN", "WALLCBWN", }; return map[wallType]; } const char * GetPathObject(uint8 pathType) { static const char * map[] = { "TARMAC ", // RCT1_FOOTPATH_TYPE_QUEUE_BLUE "PATHSPCE", // RCT1_FOOTPATH_TYPE_QUEUE_RED "PATHDIRT", // RCT1_FOOTPATH_TYPE_QUEUE_YELLOW "TARMACG ", // RCT1_FOOTPATH_TYPE_QUEUE_GREEN "TARMAC ", // RCT1_FOOTPATH_TYPE_TARMAC_GRAY "PATHSPCE", // RCT1_FOOTPATH_TYPE_TARMAC_RED "TARMACB ", // RCT1_FOOTPATH_TYPE_TARMAC_BROWN "TARMACG ", // RCT1_FOOTPATH_TYPE_TARMAC_GREEN "PATHDIRT", // RCT1_FOOTPATH_TYPE_DIRT_RED "PATHASH ", // RCT1_FOOTPATH_TYPE_DIRT_BLACK " ", " ", "PATHCRZY", // RCT1_FOOTPATH_TYPE_CRAZY_PAVING " ", " ", " ", "ROAD ", // RCT1_FOOTPATH_TYPE_ROADS " ", " ", " ", "PATHCRZY", // RCT1_FOOTPATH_TYPE_TILE_PINK "PATHCRZY", // RCT1_FOOTPATH_TYPE_TILE_GRAY "PATHCRZY", // RCT1_FOOTPATH_TYPE_TILE_RED "PATHCRZY", // RCT1_FOOTPATH_TYPE_TILE_GREEN }; return map[pathType]; } const char * GetPathAddtionObject(uint8 pathAdditionType) { static const char * map[] = { " ", // RCT1_PATH_ADDITION_NONE "LAMP1 ", // RCT1_PATH_ADDITION_LAMP_1 "LAMP2 ", // RCT1_PATH_ADDITION_LAMP_2 "LITTER1 ", // RCT1_PATH_ADDITION_BIN "BENCH1 ", // RCT1_PATH_ADDITION_BENCH "JUMPFNT1", // RCT1_PATH_ADDITION_JUMPING_FOUNTAIN "LAMP3 ", // RCT1_PATH_ADDITION_LAMP_3 "LAMP4 ", // RCT1_PATH_ADDITION_LAMP_4 "LAMP1 ", // RCT1_PATH_ADDITION_BROKEN_LAMP_1 "LAMP2 ", // RCT1_PATH_ADDITION_BROKEN_LAMP_2 "LITTER1 ", // RCT1_PATH_ADDITION_BROKEN_BIN "BENCH1 ", // RCT1_PATH_ADDITION_BROKEN_BENCH "LAMP3 ", // RCT1_PATH_ADDITION_BROKEN_LAMP_3 "LAMP4 ", // RCT1_PATH_ADDITION_BROKEN_LAMP_4 "JUMPSNW1", // RCT1_PATH_ADDITION_JUMPING_SNOW }; return map[pathAdditionType]; } const char * GetSceneryGroupObject(uint8 sceneryGroupType) { static const char * map[] = { " ", // RCT1_SCENERY_THEME_GENERAL "SCGMINE ", // RCT1_SCENERY_THEME_MINE "SCGCLASS", // RCT1_SCENERY_THEME_CLASSICAL_ROMAN "SCGEGYPT", // RCT1_SCENERY_THEME_EGYPTIAN "SCGMART ", // RCT1_SCENERY_THEME_MARTIAN " ", // RCT1_SCENERY_THEME_JUMPING_FOUNTAINS "SCGWOND ", // RCT1_SCENERY_THEME_WONDERLAND "SCGJURAS", // RCT1_SCENERY_THEME_JURASSIC "SCGSPOOK", // RCT1_SCENERY_THEME_SPOOKY "SCGJUNGL", // RCT1_SCENERY_THEME_JUNGLE "SCGABSTR", // RCT1_SCENERY_THEME_ABSTRACT " ", // RCT1_SCENERY_THEME_GARDEN_CLOCK "SCGSNOW ", // RCT1_SCENERY_THEME_SNOW_ICE "SCGMEDIE", // RCT1_SCENERY_THEME_MEDIEVAL "SCGSPACE", // RCT1_SCENERY_THEME_SPACE "SCGHALLO", // RCT1_SCENERY_THEME_CREEPY "SCGURBAN", // RCT1_SCENERY_THEME_URBAN "SCGORIEN", // RCT1_SCENERY_THEME_PAGODA }; return map[sceneryGroupType]; } const char * GetWaterObject(uint8 waterType) { static const char * map[] = { "WTRCYAN ", "WTRORNG ", }; return map[waterType]; } const List GetPreferedRideEntryOrder(uint8 rideType) { static const List preferedRideEntryOrder[] = { { "SPDRCR "}, // RIDE_TYPE_SPIRAL_ROLLER_COASTER { "TOGST "}, // RIDE_TYPE_STAND_UP_ROLLER_COASTER { "ARRSW1 ", "VEKVAMP ", "ARRSW2 "}, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER { "NEMT "}, // RIDE_TYPE_INVERTED_ROLLER_COASTER { "ZLDB ", "ZLOG "}, // RIDE_TYPE_JUNIOR_ROLLER_COASTER { "NRL ", "NRL2 ", "AML1 ", "TRAM1 "}, // RIDE_TYPE_MINIATURE_RAILWAY { "MONO1 ", "MONO2 ", "MONO3 "}, // RIDE_TYPE_MONORAIL { "BATFL ", "SKYTR "}, // RIDE_TYPE_MINI_SUSPENDED_COASTER { "RBOAT ", "BBOAT ", "CBOAT ", "SWANS ", "TRIKE ", "JSKI " }, // RIDE_TYPE_BOAT_RIDE { "WMOUSE ", "WMMINE "}, // RIDE_TYPE_WOODEN_WILD_MOUSE { "STEEP1 ", "STEEP2 ", "SBOX "}, // RIDE_TYPE_STEEPLECHASE { "SPCAR ", "RCR ", "TRUCK1 ", "VCR ", "CTCAR " }, // RIDE_TYPE_CAR_RIDE { "SSC1 " }, // RIDE_TYPE_LAUNCHED_FREEFALL { "BOB1 ", "INTBOB " }, // RIDE_TYPE_BOBSLEIGH_COASTER { "OBS1 ", "OBS2 " }, // RIDE_TYPE_OBSERVATION_TOWER { "SCHT1 " }, // RIDE_TYPE_LOOPING_ROLLER_COASTER { "DING1 " }, // RIDE_TYPE_DINGHY_SLIDE { "AMT1 " }, // RIDE_TYPE_MINE_TRAIN_COASTER { "CLIFT1 ", "CLIFT2 " }, // RIDE_TYPE_CHAIRLIFT { "ARRT1 ", "ARRT2 " }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER { }, // RIDE_TYPE_MAZE { }, // RIDE_TYPE_SPIRAL_SLIDE { "KART1 " }, // RIDE_TYPE_GO_KARTS { "LFB1 " }, // RIDE_TYPE_LOG_FLUME { "RAPBOAT " }, // RIDE_TYPE_RIVER_RAPIDS { }, // RIDE_TYPE_DODGEMS { }, // RIDE_TYPE_PIRATE_SHIP { }, // RIDE_TYPE_SWINGING_INVERTER_SHIP { }, // RIDE_TYPE_FOOD_STALL { }, // RIDE_TYPE_1D { }, // RIDE_TYPE_DRINK_STALL { }, // RIDE_TYPE_1F { }, // RIDE_TYPE_SHOP { }, // RIDE_TYPE_MERRY_GO_ROUND { }, // RIDE_TYPE_22 { }, // RIDE_TYPE_INFORMATION_KIOSK { }, // RIDE_TYPE_TOILETS { }, // RIDE_TYPE_FERRIS_WHEEL { }, // RIDE_TYPE_MOTION_SIMULATOR { }, // RIDE_TYPE_3D_CINEMA { }, // RIDE_TYPE_TOP_SPIN { }, // RIDE_TYPE_SPACE_RINGS { "REVF1 " }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER { "LIFT1 " }, // RIDE_TYPE_LIFT { "BMVD " }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER { }, // RIDE_TYPE_CASH_MACHINE { }, // RIDE_TYPE_TWIST { }, // RIDE_TYPE_HAUNTED_HOUSE { }, // RIDE_TYPE_FIRST_AID { }, // RIDE_TYPE_CIRCUS_SHOW { "GTC ", "HMCAR " }, // RIDE_TYPE_GHOST_TRAIN { "BMSD ", "BMSU ", "BMFL ", "BMRB ", "GOLTR " }, // RIDE_TYPE_TWISTER_ROLLER_COASTER { "PTCT1 ", "MFT ", "PTCT2 " }, // RIDE_TYPE_WOODEN_ROLLER_COASTER { "SFRIC1 " }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER { "SMC1 ", "SMC2 ", "WMSPIN " }, // RIDE_TYPE_WILD_MOUSE { "ARRX " }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER { }, // RIDE_TYPE_38 { "BMAIR " }, // RIDE_TYPE_FLYING_ROLLER_COASTER { }, // RIDE_TYPE_3A { "VREEL " }, // RIDE_TYPE_VIRGINIA_REEL { "SPBOAT " }, // RIDE_TYPE_SPLASH_BOATS { "HELICAR " }, // RIDE_TYPE_MINI_HELICOPTERS { "VEKST " }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER { "SMONO " }, // RIDE_TYPE_SUSPENDED_MONORAIL { }, // RIDE_TYPE_40 { "REVCAR " }, // RIDE_TYPE_REVERSER_ROLLER_COASTER { "UTCAR ", "UTCARR " }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER { }, // RIDE_TYPE_MINI_GOLF { "INTST " }, // RIDE_TYPE_GIGA_COASTER { "GDROP1 " }, // RIDE_TYPE_ROTO_DROP { }, // RIDE_TYPE_FLYING_SAUCERS { }, // RIDE_TYPE_CROOKED_HOUSE { "MONBK " }, // RIDE_TYPE_MONORAIL_CYCLES { "SLCT ", "SLCFO ", "VEKDV " }, // RIDE_TYPE_COMPACT_INVERTED_COASTER { "CSTBOAT " }, // RIDE_TYPE_WATER_COASTER { "THCAR " }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER { "IVMC1 " }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER { }, // RIDE_TYPE_MAGIC_CARPET { "SUBMAR " }, // RIDE_TYPE_SUBMARINE_RIDE { "RFTBOAT " }, // RIDE_TYPE_RIVER_RAFTS { }, // RIDE_TYPE_50 { }, // RIDE_TYPE_ENTERPRISE { }, // RIDE_TYPE_52 { }, // RIDE_TYPE_53 { }, // RIDE_TYPE_54 { }, // RIDE_TYPE_55 { "INTINV " }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER { "WCATC ", "RCKC ", "JSTAR1 " }, // RIDE_TYPE_MINI_ROLLER_COASTER { "PMT1 " }, // RIDE_TYPE_MINE_RIDE { "PREMT1 " }, // RIDE_TYPE_59 }; // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER return preferedRideEntryOrder[rideType]; } const List GetSceneryObjects(uint8 sceneryType) { static const List map[] = { // RCT1_SCENERY_THEME_GENERAL (trees, shrubs, garden, walls, fence, path accessories) { "TIC ", "TLC ", "TMC ", "TMP ", "TITC ", "TGHC ", "TAC ", "TGHC2 ", "TCJ ", "TMBJ ", "TCF ", "TCL ", "TRF ", "TRF2 ", "TEL ", "TAP ", "TSP ", "TMZP ", "TCRP ", "TBP ", "TLP ", "TWP ", "TAS ", "TMG ", "TWW ", "TSB ", "TVL ", "TCY ", "TNS ", "TWN ", "TCE ", "TCO ", "THL ", "TCC ", "TF1 ", "TF2 ", "TCT ", "TH1 ", "TH2 ", "TPM ", "TROPT1 ", "TS0 ", "TS1 ", "TS2 ", "TS3 ", "TS4 ", "TS5 ", "TS6 ", "TEF ", "TAL ", "TSQ ", "THT ", "TCB ", "TDM ", "TSD ", "TORN1 ", "TORN2 ", "TGS ", "TUS ", "TBC ", "TSC ", "TWF ", "TSH0 ", "TSH1 ", "TSH2 ", "TSH3 ", "TSH4 ", "TSH5 ", "TDF ", "TSH ", "THRS ", "TSTD ", "TBR ", "TTF ", "WHG ", "WHGG ", "WCH ", "WCHG ", "TG1 ", "TG2 ", "TG3 ", "TG4 ", "TG5 ", "TG6 ", "TG7 ", "TG8 ", "TG9 ", "TG10 ", "TG11 ", "TG12 ", "TG13 ", "TG14 ", "TG15 ", "TG16 ", "TG17 ", "TG18 ", "TG19 ", "TG20 ", "TG21 ", "WBR1A ", "WBR2A ", "WALLBB34", "WALLTN32", "TNTROOF1", "WALLBB33", "WALLBB32", "WALLBB16", "WALLBB8 ", "ROOF5 ", "ROOF7 ", "WALLRS32", "WALLRS16", "WALLRS8 ", "WALLBR32", "WALLBR16", "WALLBR8 ", "WALLBRDR", "WALLBRWN", "BRBASE ", "ROOF1 ", "ROOF2 ", "ROOF3 ", "ROOF4 ", "WALLCB32", "WALLCB16", "WALLCB8 ", "WALLCBDR", "WALLCBWN", "BRBASE2 ", "CWBCRV33", "CWBCRV32", "BRCRRF1 ", "ROOF6 ", "ROOF8 ", "WALLCF32", "WALLCF16", "WALLCF8 ", "WALLCFDR", "WALLCFWN", "WALLCFAR", "BRBASE3 ", "CWFCRV33", "CWFCRV32", "BRCRRF2 ", "ROOF9 ", "ROOF11 ", "ROOF10 ", "ROOF12 ", "CORROOF2", "WALLCO16", "CORROOF ", "WALLLT32", "WALLSK16", "WALLSK32", "SKTDW2 ", "SKTDW ", "SKTBASE ", "SKTBASET", "SUPPW2 ", "SUPPW1 ", "SUPPW3 ", "SUPPLEG1", "SUPPLEG2", "SUMRF ", "WALLRH32" "WMF ", "WMFG ", "WSW ", "WSWG ", "WFW1 ", "WFWG ", "WPF ", "WPFG ", "WSW1 ", "WSW2 ", "WBR1 ", "WBRG ", "WBR2 ", "WBR3 ", "WALLMM16", "WALLMM17", "LAMP1 ", "LAMP2 ", "LITTER1 ", "BENCH1 ", "QTV1 ", "BN1 ", "WALLPOST", "WALLSIGN", "SSIG1 ", "SSIG2 ", "SSIG3 ", "SSIG4 " }, // RCT1_SCENERY_THEME_MINE { "SMH1 ", "SMH2 ", "SMN1 ", "TBW ", "TBR1 ", "TBR2 ", "TML ", "TMW ", "TBR3 ", "TBR4 ", "TMJ ", "BN5 ", "WALLWD8 ", "WALLWD16", "WALLWD32", "WALLWD33", "WALLMN32", "WDBASE ", "MINROOF1", "ROOF13 ", "LITTERMN" }, // RCT1_SCENERY_THEME_CLASSICAL_ROMAN { "SCOL ", "TT1 ", "TRMS ", "TRWS ", "TRC ", "TQF ", "WRW ", "WRWA ", "ROMROOF2", "WC3 ", "ROMROOF1", "BN3 " }, // RCT1_SCENERY_THEME_EGYPTIAN { "SSPX ", "SCLN ", "SPYR ", "TES1 ", "TEN ", "TERS ", "TERB ", "TEP ", "WEW ", "LAMP3 ", "BN4 ", "BENCHSTN" }, // RCT1_SCENERY_THEME_MARTIAN { "SMB ", "TMO1 ", "TMO2 ", "TMO3 ", "TMO4 ", "TMO5 ", "SVLC ", "WMW ", "LAMP4 " }, // RCT1_SCENERY_THEME_JUMPING_FOUNTAINS (Single researchable scenery item) { "JUMPFNT1" }, // RCT1_SCENERY_THEME_WONDERLAND { "TWH1 ", "TWH2 ", "TST1 ", "TST2 ", "TMS1 ", "TST3 ", "TST4 ", "TST5 ", "TAS1 ", "TAS2 ", "TAS3 ", "TAS4 ", "CHBBASE ", "TP1 ", "TP2 ", "TK1 ", "TK2 ", "TR1 ", "TR2 ", "TQ1 ", "TQ2 ", "TB1 ", "TB2 ", "TK3 ", "TK4 ", "WCW1 ", "WCW2 " }, // RCT1_SCENERY_THEME_JURASSIC { "TBN ", "TBN1 ", "TDN4 ", "TDN5 ", "SDN1 ", "SDN2 ", "SDN3 ", "WWTW ", "WMWW ", "WWTWA ", "WBW ", "BN6 " }, // RCT1_SCENERY_THEME_SPOOKY, { "SSK1 ", "TDT1 ", "TDT2 ", "TDT3 ", "TMM1 ", "TMM2 ", "TMM3 ", "TGS1 ", "TGS2 ", "TGS3 ", "TGS4 ", "SMSKULL ", "WALLRK32" }, // RCT1_SCENERY_THEME_JUNGLE { "TJT1 ", "TJT2 ", "TJB1 ", "TJT3 ", "TJT4 ", "TJP1 ", "TJB2 ", "TJT5 ", "TJB3 ", "TJB4 ", "TJT6 ", "TJP2 ", "TJF ", "WPW1 ", "WPW2 ", "WJF ", "BN2 ", "WALLJN32", "JNGROOF1", "ROOF14 ", "BENCHLOG" }, // RCT1_SCENERY_THEME_ABSTRACT { "TGE1 ", "TGE2 ", "TGE3 ", "TGE4 ", "TGE5 ", "TGC1 ", "TGC2 ", "WALLGL8 ", "WALLGL16", "WALLGL32", "GEOROOF1", "WGW2 ", "GEOROOF2" }, // RCT1_SCENERY_THEME_GARDEN_CLOCK (Single researchable scenery item) { "TCK " }, // RCT1_SCENERY_THEME_SNOW_ICE { "SIP ", "TSM ", "TIG ", "TSF1 ", "TSF2 ", "TSF3 ", "TSNC ", "TSNB ", "WC16 ", "WC17 ", "WC18 ", "JUMPSNW1", "TCFS ", "TRFS ", "TRF3 ", "TNSS ", "BN8 ", "WALLIG16", "WALLIG24", "IGROOF " }, // RCT1_SCENERY_THEME_MEDIEVAL { "TCT1 ", "STB1 ", "STB2 ", "WC1 ", "WC4 ", "WC5 ", "WC6 ", "WC7 ", "WC8 ", "WALLCZ32", "WALLCY32", "TCT2 ", "STG1 ", "STG2 ", "WC2 ", "WC9 ", "WC10 ", "WC11 ", "WC12 ", "WC13 ", "WALLCW32", "WALLCX32", "TCN ", "TTG ", "SCT ", "SOH1 ", "SOH2 ", "SOH3 ", "WPW3 ", "WALLCFPC", "WALLCBPC" }, // RCT1_SCENERY_THEME_SPACE { "SSR ", "SST ", "SSH ", "TSCP ", "TSPH ", "TSC2 ", "TSP1 ", "TSP2 ", "WALLSP32", "SPCROOF1", "BN9 ", "BENCHSPC", "LITTERSP" }, // RCT1_SCENERY_THEME_CREEPY { "TCD ", "TSG ", "TSK ", "TGH1 ", "TGH2 ", "TSMP ", "SGP ", "WC14 ", "WC15 ", "TL0 ", "TL1 ", "TL2 ", "TL3 ", "TM0 ", "TM1 ", "TM2 ", "TM3 " }, // RCT1_SCENERY_THEME_URBAN { "SHS1 ", "SHS2 ", "STH ", "SAH ", "SPS ", "SAH2 ", "SAH3 ", "SOB ", "WALLU132", "WALLU232" }, // RCT1_SCENERY_THEME_PAGODA { "SPG ", "TLY ", "TGG ", "TOH1 ", "TOH2 ", "TOT1 ", "TOT2 ", "TOS ", "TOT3 ", "TOT4 ", "TOH3 ", "WALLPG32", "PAGROOF1", "BN7 " } }; return map[sceneryType]; } }