2014-11-02 04:37:56 +01:00
|
|
|
/*****************************************************************************
|
2019-03-17 08:16:15 +01:00
|
|
|
* Copyright (c) 2014-2019 OpenRCT2 developers
|
2014-11-02 04:37:56 +01:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* For a complete list of all authors, please refer to contributors.md
|
|
|
|
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
2014-11-02 04:37:56 +01:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
2014-11-02 04:37:56 +01:00
|
|
|
*****************************************************************************/
|
|
|
|
|
2017-10-23 14:47:12 +02:00
|
|
|
#pragma once
|
2014-11-02 04:37:56 +01:00
|
|
|
|
|
|
|
#include "../common.h"
|
2020-03-04 18:43:09 +01:00
|
|
|
#include "../world/Location.hpp"
|
|
|
|
|
|
|
|
struct Ride;
|
|
|
|
|
|
|
|
using StationIndex = uint8_t;
|
2014-11-02 04:37:56 +01:00
|
|
|
|
2020-03-21 15:11:50 +01:00
|
|
|
constexpr const StationIndex STATION_INDEX_NULL = 0xFF;
|
2017-07-18 13:39:12 +02:00
|
|
|
|
2020-03-21 15:11:50 +01:00
|
|
|
void ride_update_station(Ride* ride, StationIndex stationIndex);
|
|
|
|
StationIndex ride_get_first_valid_station_exit(Ride* ride);
|
|
|
|
StationIndex ride_get_first_valid_station_start(const Ride* ride);
|
|
|
|
StationIndex ride_get_first_empty_station_start(const Ride* ride);
|
2018-02-19 13:12:33 +01:00
|
|
|
|
2020-03-21 15:11:50 +01:00
|
|
|
TileCoordsXYZD ride_get_entrance_location(const Ride* ride, const StationIndex stationIndex);
|
|
|
|
TileCoordsXYZD ride_get_exit_location(const Ride* ride, const StationIndex stationIndex);
|
2018-03-07 19:10:50 +01:00
|
|
|
|
2020-03-21 15:11:50 +01:00
|
|
|
void ride_clear_entrance_location(Ride* ride, const StationIndex stationIndex);
|
|
|
|
void ride_clear_exit_location(Ride* ride, const StationIndex stationIndex);
|
|
|
|
|
|
|
|
void ride_set_entrance_location(Ride* ride, const StationIndex stationIndex, const TileCoordsXYZD& location);
|
|
|
|
void ride_set_exit_location(Ride* ride, const StationIndex stationIndex, const TileCoordsXYZD& location);
|