1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-21 14:53:02 +01:00

Merge pull request #10057 from kodmord/ISSUE-10052

Fix #10052: Create a TrackDesignEntranceElement struct to replace rct_td6_entrance_element
This commit is contained in:
Duncan
2019-10-08 07:17:18 +01:00
committed by GitHub
4 changed files with 19 additions and 4 deletions

View File

@@ -135,6 +135,7 @@ The following people are not part of the development team, but have been contrib
* Kenny Castro-Monroy (kennycastro007) * Kenny Castro-Monroy (kennycastro007)
* Joseph Atkins-Turkish (Spacerat) * Joseph Atkins-Turkish (Spacerat)
* Tulio Paschoalin Leao (tupaschoal) * Tulio Paschoalin Leao (tupaschoal)
* Denis Khabenkov (kodmord)
## Toolchain ## Toolchain
* (Balletie) - macOS * (Balletie) - macOS

View File

@@ -159,11 +159,16 @@ public:
td->track_elements.push_back(trackElement); td->track_elements.push_back(trackElement);
} }
rct_td6_entrance_element entranceElement{}; rct_td6_entrance_element t6EntranceElement{};
for (uint8_t endFlag = _stream.ReadValue<uint8_t>(); endFlag != 0xFF; endFlag = _stream.ReadValue<uint8_t>()) for (uint8_t endFlag = _stream.ReadValue<uint8_t>(); endFlag != 0xFF; endFlag = _stream.ReadValue<uint8_t>())
{ {
_stream.SetPosition(_stream.GetPosition() - 1); _stream.SetPosition(_stream.GetPosition() - 1);
_stream.Read(&entranceElement, sizeof(rct_td6_entrance_element)); _stream.Read(&t6EntranceElement, sizeof(rct_td6_entrance_element));
TrackDesignEntranceElement entranceElement{};
entranceElement.z = t6EntranceElement.z;
entranceElement.direction = t6EntranceElement.direction;
entranceElement.x = t6EntranceElement.x;
entranceElement.y = t6EntranceElement.y;
td->entrance_elements.push_back(entranceElement); td->entrance_elements.push_back(entranceElement);
} }
} }

View File

@@ -300,7 +300,7 @@ rct_string_id TrackDesign::CreateTrackDesignTrack(const Ride& ride)
entranceDirection -= _saveDirection; entranceDirection -= _saveDirection;
entranceDirection &= TILE_ELEMENT_DIRECTION_MASK; entranceDirection &= TILE_ELEMENT_DIRECTION_MASK;
rct_td6_entrance_element entrance{}; TrackDesignEntranceElement entrance{};
entrance.direction = entranceDirection; entrance.direction = entranceDirection;
x -= gTrackPreviewOrigin.x; x -= gTrackPreviewOrigin.x;

View File

@@ -21,6 +21,15 @@ struct Ride;
#define TRACK_PREVIEW_IMAGE_SIZE (370 * 217) #define TRACK_PREVIEW_IMAGE_SIZE (370 * 217)
/* Track Entrance entry */
struct TrackDesignEntranceElement
{
int8_t z;
uint8_t direction;
int16_t x;
int16_t y;
};
/** /**
* Track design structure. * Track design structure.
*/ */
@@ -69,7 +78,7 @@ struct TrackDesign
std::vector<rct_td46_maze_element> maze_elements; std::vector<rct_td46_maze_element> maze_elements;
std::vector<rct_td46_track_element> track_elements; std::vector<rct_td46_track_element> track_elements;
std::vector<rct_td6_entrance_element> entrance_elements; std::vector<TrackDesignEntranceElement> entrance_elements;
std::vector<rct_td6_scenery_element> scenery_elements; std::vector<rct_td6_scenery_element> scenery_elements;
std::string name; std::string name;