1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-24 00:03:11 +01:00

Merge pull request #10058 from tupaschoal/track-design-track-element

Create TrackDesignTrackElement struct
This commit is contained in:
Michael Steenbeek
2019-10-08 16:11:09 +02:00
committed by GitHub
4 changed files with 20 additions and 6 deletions

View File

@@ -266,11 +266,14 @@ private:
}
else
{
rct_td46_track_element trackElement{};
rct_td46_track_element t4TrackElement{};
for (uint8_t endFlag = _stream.ReadValue<uint8_t>(); endFlag != 0xFF; endFlag = _stream.ReadValue<uint8_t>())
{
_stream.SetPosition(_stream.GetPosition() - 1);
_stream.Read(&trackElement, sizeof(rct_td46_track_element));
_stream.Read(&t4TrackElement, sizeof(rct_td46_track_element));
TrackDesignTrackElement trackElement{};
trackElement.type = t4TrackElement.type;
trackElement.flags = trackElement.flags;
td->track_elements.push_back(trackElement);
}
}

View File

@@ -151,11 +151,14 @@ public:
}
else
{
rct_td46_track_element trackElement{};
rct_td46_track_element t4TrackElement{};
for (uint8_t endFlag = _stream.ReadValue<uint8_t>(); endFlag != 0xFF; endFlag = _stream.ReadValue<uint8_t>())
{
_stream.SetPosition(_stream.GetPosition() - 1);
_stream.Read(&trackElement, sizeof(rct_td46_track_element));
_stream.Read(&t4TrackElement, sizeof(rct_td46_track_element));
TrackDesignTrackElement trackElement{};
trackElement.type = t4TrackElement.type;
trackElement.flags = trackElement.flags;
td->track_elements.push_back(trackElement);
}

View File

@@ -201,7 +201,7 @@ rct_string_id TrackDesign::CreateTrackDesignTrack(const Ride& ride)
do
{
rct_td46_track_element track{};
TrackDesignTrackElement track{};
track.type = trackElement.element->AsTrack()->GetTrackType();
// TODO move to RCT2 limit
if (track.type == TRACK_ELEM_255)

View File

@@ -33,6 +33,14 @@ struct TrackDesignEntranceElement
/**
* Track design structure.
*/
/* Track Element entry size: 0x02 */
struct TrackDesignTrackElement
{
uint8_t type; // 0x00
uint8_t flags; // 0x01
};
struct TrackDesign
{
uint8_t type;
@@ -77,7 +85,7 @@ struct TrackDesign
uint8_t num_circuits;
std::vector<rct_td46_maze_element> maze_elements;
std::vector<rct_td46_track_element> track_elements;
std::vector<TrackDesignTrackElement> track_elements;
std::vector<TrackDesignEntranceElement> entrance_elements;
std::vector<rct_td6_scenery_element> scenery_elements;