Part of #13874: replace height markers positions tables

This commit is contained in:
frutiemax 2021-08-22 10:01:30 -04:00
parent 1bfa26e4c5
commit 72e6f9a694
3 changed files with 5 additions and 4 deletions

View File

@ -4316,7 +4316,7 @@ const track_type_t TrackElementMirrorMap[TrackElemType::Count] = {
};
/** rct2: 0x00999694 */
const uint32_t TrackHeightMarkerPositions[TrackElemType::Count] = {
const static uint32_t TrackHeightMarkerPositions[TrackElemType::Count] = {
(1 << 0), // TrackElemType::Flat
(1 << 0), // TrackElemType::EndStation
(1 << 0), // TrackElemType::BeginStation

View File

@ -64,8 +64,6 @@ constexpr const dodgems_track_size DodgemsTrackSize(track_type_t type)
}
extern const track_type_t TrackElementMirrorMap[TrackElemType::Count];
extern const uint32_t TrackHeightMarkerPositions[TrackElemType::Count];
extern const uint8_t TrackSequenceElementAllowedWallEdges[TrackElemType::Count][16];
struct TrackElementDescriptor

View File

@ -27,6 +27,8 @@
#include "TrackData.h"
#include "TrackDesign.h"
using namespace OpenRCT2::TrackMetaData;
// clang-format off
/* rct2: 0x007667AC */
static constexpr TileCoordsXY EntranceOffsetEdgeNE[] = {
@ -2202,7 +2204,8 @@ void PaintTrack(paint_session* session, Direction direction, int32_t height, con
if (PaintShouldShowHeightMarkers(session, VIEWPORT_FLAG_TRACK_HEIGHTS))
{
session->InteractionType = ViewportInteractionItem::None;
if (TrackHeightMarkerPositions[trackType] & (1 << trackSequence))
const auto& teDescriptor = GetTrackElementDescriptor(trackType);
if (teDescriptor.HeightMarkerPositions & (1 << trackSequence))
{
uint16_t ax = ride->GetRideTypeDescriptor().Heights.VehicleZOffset;
// 0x1689 represents 0 height there are -127 to 128 heights above and below it