Fix calculating wide path status (#22827)

* Fix calculating wide path status

* Increment kNetworkStreamVersion

* Add comment regarding excluded tile ratio

* Add changelog entry
This commit is contained in:
Aaron van Geffen 2024-09-26 23:15:21 +02:00 committed by GitHub
parent 6f4be3c059
commit 978f38fdd5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 1 deletions

View file

@ -9,6 +9,7 @@
- Change: [#22740] Add virtual floor to shifted track design placement.
- Change: [#22795] Replace Giga Coaster and Twister Roller Coaster booster images.
- Fix: [#2614] The colour tab of the ride window does not hide invisible cars (original bug).
- Fix: [#7672] Wide path status is set to all wide paths, instead of only a quarter, impeding pathfinding.
- Fix: [#15406] Tunnels on steep Side-Friction track are drawn too low.
- Fix: [#21959] “Save this before...?” message does not appear when selecting “New Game”.
- Fix: [#22231] Invalid object version can cause a crash.

View file

@ -49,7 +49,7 @@ using namespace OpenRCT2;
// It is used for making sure only compatible builds get connected, even within
// single OpenRCT2 version.
constexpr uint8_t kNetworkStreamVersion = 0;
constexpr uint8_t kNetworkStreamVersion = 1;
const std::string kNetworkStreamID = std::string(OPENRCT2_VERSION) + "-" + std::to_string(kNetworkStreamVersion);

View file

@ -1596,6 +1596,11 @@ void FootpathUpdatePathWideFlags(const CoordsXY& footpathPos)
// FootpathClearWide(x, y);
// y -= 0x20;
// Only consider approx. 1/8 of tiles for wide path status
// (NB: the other 7/8 do get cleared above!)
if (!(footpathPos.x & 0xE0) || (!(footpathPos.y & 0xE0)))
return;
TileElement* tileElement = MapGetFirstElementAt(footpathPos);
if (tileElement == nullptr)
return;