Create TrackDesignTrackElement struct

Closes #10054
This commit is contained in:
Tulio Leao 2019-10-07 21:30:24 -03:00
parent ee0025987a
commit ff57f43996
2 changed files with 16 additions and 2 deletions

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,20 @@ struct TrackDesignEntranceElement
/**
* Track design structure.
*/
/* Track Element entry size: 0x02 */
struct TrackDesignTrackElement
{
uint8_t type; // 0x00
uint8_t flags; // 0x01
TrackDesignTrackElement() = default;
TrackDesignTrackElement(const rct_td46_track_element& formerTrackElement)
: type(formerTrackElement.type)
, flags(formerTrackElement.flags)
{
}
};
struct TrackDesign
{
uint8_t type;
@ -77,7 +91,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;