diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 634b9f7ea3..4ba00020a1 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,5 +1,6 @@ 0.3.0+ (in development) ------------------------------------------------------------------------ +- Fix: [#7037] Unable to save tracks starting with a sloped turn or helix. - Fix: [#12691] Ride graph tooltip incorrectly used count instead of number string. - Fix: [#12694] Crash when switching ride types with construction window open. - Fix: [#12701] Silent NSIS setup flag /S isn't silent, upgrade pop-up appears anyway. diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index a00ca9e787..00b4710f39 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -5366,9 +5366,12 @@ void ride_get_start_of_track(CoordsXYE* output) bool moveSlowIt = true; do { + // Because we are working backwards, begin_element is the section at the end of a piece of track, whereas + // begin_x and begin_y are the coordinates at the start of a piece of track, so we need to pass end_x and + // end_y CoordsXYE lastGood = { - /* .x = */ trackBeginEnd.begin_x, - /* .y = */ trackBeginEnd.begin_y, + /* .x = */ trackBeginEnd.end_x, + /* .y = */ trackBeginEnd.end_y, /* .element = */ trackBeginEnd.begin_element, };