Fix #21210: Land right signs display beneath paths

Restores the +3 offset that was previously used. Compared rendering to RCT1 as well.
This commit is contained in:
Michael Steenbeek 2024-01-19 23:47:01 +01:00 committed by GitHub
parent 39a37f14eb
commit 8846760b8b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 2 deletions

View File

@ -39,6 +39,9 @@
#include <cstring>
#include <iterator>
// Needed to make the sign appear above footpaths.
static constexpr int16_t ForSaleSignZOffset = 3;
static constexpr uint8_t Byte97B444[] = {
0, 2, 1, 3, 8, 10, 9, 11, 4, 6, 5, 7, 12, 14, 13, 15, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 16, 0, 18, 15, 0,
};
@ -1007,7 +1010,7 @@ static void PaintSurfaceLandOwnership(
else if (tileElement.GetOwnership() & OWNERSHIP_AVAILABLE)
{
const auto pos = CoordsXYZ(session.MapPosition.x + 16, session.MapPosition.y + 16, aboveWaterHeight);
const auto height2 = TileElementHeight(pos, aboveWaterSurfaceShape);
const auto height2 = TileElementHeight(pos, aboveWaterSurfaceShape) + ForSaleSignZOffset;
PaintStruct* backup = session.LastPS;
PaintAddImageAsParent(session, ImageId(SPR_LAND_OWNERSHIP_AVAILABLE), { 16, 16, height2 }, { 1, 1, 0 });
@ -1041,7 +1044,7 @@ static void PaintSurfaceConstructionRights(
else if (tileElement.GetOwnership() & OWNERSHIP_CONSTRUCTION_RIGHTS_AVAILABLE)
{
const auto pos = CoordsXYZ(session.MapPosition.x + 16, session.MapPosition.y + 16, aboveWaterHeight);
const auto height2 = TileElementHeight(pos, aboveWaterSurfaceShape);
const auto height2 = TileElementHeight(pos, aboveWaterSurfaceShape) + ForSaleSignZOffset;
PaintStruct* backup = session.LastPS;
PaintAddImageAsParent(session, ImageId(SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE), { 16, 16, height2 }, { 1, 1, 0 });