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 "Location.hpp"
13 
14 #include <cstdint>
15 #include <vector>
16 
17 struct MapAnimation
18 {
19     uint8_t type{};
20     CoordsXYZ location{};
21 };
22 
23 enum
24 {
25     MAP_ANIMATION_TYPE_RIDE_ENTRANCE,
26     MAP_ANIMATION_TYPE_QUEUE_BANNER,
27     MAP_ANIMATION_TYPE_SMALL_SCENERY,
28     MAP_ANIMATION_TYPE_PARK_ENTRANCE,
29     MAP_ANIMATION_TYPE_TRACK_WATERFALL,
30     MAP_ANIMATION_TYPE_TRACK_RAPIDS,
31     MAP_ANIMATION_TYPE_TRACK_ONRIDEPHOTO,
32     MAP_ANIMATION_TYPE_TRACK_WHIRLPOOL,
33     MAP_ANIMATION_TYPE_TRACK_SPINNINGTUNNEL,
34     MAP_ANIMATION_TYPE_REMOVE,
35     MAP_ANIMATION_TYPE_BANNER,
36     MAP_ANIMATION_TYPE_LARGE_SCENERY,
37     MAP_ANIMATION_TYPE_WALL_DOOR,
38     MAP_ANIMATION_TYPE_WALL,
39     MAP_ANIMATION_TYPE_COUNT
40 };
41 
42 void map_animation_create(int32_t type, const CoordsXYZ& loc);
43 void map_animation_invalidate_all();
44 const std::vector<MapAnimation>& GetMapAnimations();
45 void AutoCreateMapAnimations();
46