1 /*****************************************************************************
2  * Copyright (c) 2014-2020 OpenRCT2 developers
3  *
4  * For a complete list of all authors, please refer to contributors.md
5  * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
6  *
7  * OpenRCT2 is licensed under the GNU General Public License version 3.
8  *****************************************************************************/
9 
10 #pragma once
11 
12 #include <cstdint>
13 
14 constexpr const uint16_t MAX_RIDE_OBJECTS = 128;
15 constexpr const uint16_t MAX_SMALL_SCENERY_OBJECTS = 252;
16 constexpr const uint16_t MAX_LARGE_SCENERY_OBJECTS = 128;
17 constexpr const uint16_t MAX_WALL_SCENERY_OBJECTS = 128;
18 constexpr const uint16_t MAX_BANNER_OBJECTS = 32;
19 constexpr const uint16_t MAX_PATH_OBJECTS = 16;
20 constexpr const uint16_t MAX_PATH_ADDITION_OBJECTS = 15;
21 constexpr const uint16_t MAX_SCENERY_GROUP_OBJECTS = 19;
22 constexpr const uint16_t MAX_PARK_ENTRANCE_OBJECTS = 1;
23 constexpr const uint16_t MAX_WATER_OBJECTS = 1;
24 constexpr const uint16_t MAX_SCENARIO_TEXT_OBJECTS = 1;
25 constexpr const uint16_t MAX_TERRAIN_SURFACE_OBJECTS = 18;
26 constexpr const uint16_t MAX_TERRAIN_EDGE_OBJECTS = 255;
27 constexpr const uint16_t MAX_STATION_OBJECTS = 255;
28 constexpr const uint16_t MAX_MUSIC_OBJECTS = 255;
29 constexpr const uint16_t MAX_FOOTPATH_SURFACE_OBJECTS = 255;
30 constexpr const uint16_t MAX_FOOTPATH_RAILINGS_OBJECTS = 255;
31 
32 // clang-format off
33 constexpr const uint16_t OBJECT_ENTRY_COUNT =
34     MAX_RIDE_OBJECTS +
35     MAX_SMALL_SCENERY_OBJECTS +
36     MAX_LARGE_SCENERY_OBJECTS +
37     MAX_WALL_SCENERY_OBJECTS +
38     MAX_BANNER_OBJECTS +
39     MAX_PATH_OBJECTS +
40     MAX_PATH_ADDITION_OBJECTS +
41     MAX_SCENERY_GROUP_OBJECTS +
42     MAX_PARK_ENTRANCE_OBJECTS +
43     MAX_WATER_OBJECTS +
44     MAX_SCENARIO_TEXT_OBJECTS +
45     MAX_TERRAIN_SURFACE_OBJECTS +
46     MAX_TERRAIN_EDGE_OBJECTS +
47     MAX_STATION_OBJECTS +
48     MAX_MUSIC_OBJECTS +
49     MAX_FOOTPATH_SURFACE_OBJECTS +
50     MAX_FOOTPATH_RAILINGS_OBJECTS;
51 // clang-format on
52 
53 constexpr const uint8_t DAT_NAME_LENGTH = 8;
54