2016-10-17 11:57:41 +02:00
|
|
|
/*****************************************************************************
|
2018-06-15 14:07:34 +02:00
|
|
|
* Copyright (c) 2014-2018 OpenRCT2 developers
|
2016-10-17 11:57:41 +02: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
|
2016-10-17 11:57:41 +02:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
2016-10-17 11:57:41 +02:00
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2016-12-28 14:16:15 +01:00
|
|
|
#include <openrct2/common.h>
|
2017-12-14 10:34:12 +01:00
|
|
|
#include <openrct2/paint/Paint.h>
|
2016-10-17 11:57:41 +02:00
|
|
|
|
2018-06-22 22:29:03 +02:00
|
|
|
enum
|
|
|
|
{
|
2016-10-17 11:57:41 +02:00
|
|
|
TUNNELCALL_SKIPPED,
|
|
|
|
TUNNELCALL_NONE,
|
|
|
|
TUNNELCALL_CALL,
|
|
|
|
};
|
|
|
|
|
2018-06-22 22:29:03 +02:00
|
|
|
struct TunnelCall
|
|
|
|
{
|
2018-06-20 17:28:51 +02:00
|
|
|
uint8_t call;
|
|
|
|
int16_t offset;
|
|
|
|
uint8_t type;
|
2016-10-17 11:57:41 +02:00
|
|
|
};
|
|
|
|
|
2018-06-22 22:29:03 +02:00
|
|
|
namespace SideTunnelCall
|
|
|
|
{
|
2018-06-20 17:28:51 +02:00
|
|
|
int16_t GetTunnelOffset(uint32_t baseHeight, tunnel_entry calls[3]);
|
2018-06-22 22:29:03 +02:00
|
|
|
TunnelCall ExtractTunnelCalls(tunnel_entry* list, uint8_t count, uint16_t baseHeight, bool* error);
|
2016-10-17 11:57:41 +02:00
|
|
|
|
|
|
|
bool TunnelPatternsMatch(TunnelCall expected[4], TunnelCall actual[4]);
|
|
|
|
void GetTunnelCallReferencePattern(TunnelCall tunnelCalls[4][4], TunnelCall (*out)[4]);
|
|
|
|
bool TunnelCallsLineUp(TunnelCall tunnelCalls[4][4]);
|
2018-06-22 22:29:03 +02:00
|
|
|
}; // namespace SideTunnelCall
|