mirror of https://github.com/OpenRCT2/OpenRCT2.git
88 lines
2.5 KiB
C
88 lines
2.5 KiB
C
/*****************************************************************************
|
|
* Copyright (c) 2014-2018 OpenRCT2 developers
|
|
*
|
|
* For a complete list of all authors, please refer to contributors.md
|
|
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
|
*
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
|
*****************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#include "../common.h"
|
|
#include "Track.h"
|
|
#include "TrackPaint.h"
|
|
|
|
// 0x009968BB, 0x009968BC, 0x009968BD, 0x009968BF, 0x009968C1, 0x009968C3
|
|
extern const rct_track_coordinates TrackCoordinates[256];
|
|
// 0x009972BB, 0x009972BC, 0x009972BD, 0x009972BF, 0x009972C1, 0x009972C3
|
|
extern const rct_track_coordinates FlatTrackCoordinates[253];
|
|
|
|
extern const uint8_t TrackSequenceProperties[256][16];
|
|
extern const uint8_t FlatRideTrackSequenceProperties[256][16];
|
|
|
|
extern const uint64_t RideTypePossibleTrackConfigurations[RIDE_TYPE_COUNT];
|
|
extern const rct_preview_track * TrackBlocks[256];
|
|
extern const rct_preview_track * FlatRideTrackBlocks[256];
|
|
|
|
extern const uint8_t TrackPieceLengths[256];
|
|
|
|
struct track_curve_chain
|
|
{
|
|
uint16_t next;
|
|
uint16_t previous;
|
|
};
|
|
|
|
extern const track_curve_chain gTrackCurveChain[256];
|
|
extern const track_curve_chain gFlatRideTrackCurveChain[256];
|
|
|
|
extern const TRACK_PAINT_FUNCTION_GETTER RideTypeTrackPaintFunctions[RIDE_TYPE_COUNT];
|
|
extern const uint32_t * RideTypeTrackPaintFunctionsOld[RIDE_TYPE_COUNT];
|
|
|
|
struct track_descriptor
|
|
{
|
|
bool starts_diagonal;
|
|
uint8_t slope_start;
|
|
uint8_t bank_start;
|
|
uint8_t track_curve;
|
|
uint8_t slope_end;
|
|
uint8_t bank_end;
|
|
uint8_t track_element;
|
|
};
|
|
|
|
extern const track_descriptor gTrackDescriptors[142];
|
|
|
|
struct rct_vehicle_info_list
|
|
{
|
|
uint16_t size;
|
|
const rct_vehicle_info * info;
|
|
};
|
|
|
|
extern const rct_vehicle_info_list * const * const gTrackVehicleInfo[17];
|
|
|
|
extern const int16_t AlternativeTrackTypes[256];
|
|
|
|
extern const money32 TrackPricing[256];
|
|
extern const money32 FlatRideTrackPricing[256];
|
|
|
|
struct dodgems_track_size
|
|
{
|
|
uint8_t left;
|
|
uint8_t top;
|
|
uint8_t right;
|
|
uint8_t bottom;
|
|
};
|
|
|
|
extern const dodgems_track_size DodgemsTrackSize[256];
|
|
|
|
extern const uint8_t TrackElementMirrorMap[256];
|
|
|
|
extern const uint32_t TrackHeightMarkerPositions[256];
|
|
|
|
extern const uint8_t TrackSequenceElementAllowedWallEdges[256][16];
|
|
extern const uint8_t FlatRideTrackSequenceElementAllowedWallEdges[256][16];
|
|
|
|
extern const uint16_t FlatTrackFlags[256];
|
|
extern const uint16_t TrackFlags[256];
|
|
|