Skip to content

Commit

Permalink
Merge pull request #10057 from kodmord/ISSUE-10052
Browse files Browse the repository at this point in the history
Fix #10052: Create a TrackDesignEntranceElement struct to replace rct_td6_entrance_element
  • Loading branch information
duncanspumpkin committed Oct 8, 2019
2 parents 7df9344 + c614532 commit 2afead2
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 4 deletions.
1 change: 1 addition & 0 deletions contributors.md
Expand Up @@ -135,6 +135,7 @@ The following people are not part of the development team, but have been contrib
* Kenny Castro-Monroy (kennycastro007)
* Joseph Atkins-Turkish (Spacerat)
* Tulio Paschoalin Leao (tupaschoal)
* Denis Khabenkov (kodmord)

## Toolchain
* (Balletie) - macOS
Expand Down
9 changes: 7 additions & 2 deletions src/openrct2/rct2/T6Importer.cpp
Expand Up @@ -159,11 +159,16 @@ class TD6Importer final : public ITrackImporter
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>())
{
_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);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/openrct2/ride/TrackDesign.cpp
Expand Up @@ -300,7 +300,7 @@ rct_string_id TrackDesign::CreateTrackDesignTrack(const Ride& ride)
entranceDirection -= _saveDirection;
entranceDirection &= TILE_ELEMENT_DIRECTION_MASK;

rct_td6_entrance_element entrance{};
TrackDesignEntranceElement entrance{};
entrance.direction = entranceDirection;

x -= gTrackPreviewOrigin.x;
Expand Down
11 changes: 10 additions & 1 deletion src/openrct2/ride/TrackDesign.h
Expand Up @@ -21,6 +21,15 @@ struct Ride;

#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.
*/
Expand Down Expand Up @@ -69,7 +78,7 @@ struct TrackDesign

std::vector<rct_td46_maze_element> maze_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::string name;
Expand Down

0 comments on commit 2afead2

Please sign in to comment.