Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states

Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
This commit is contained in:
Rubidium
2023-03-12 18:14:44 +01:00
committed by rubidium42
parent 1321e48465
commit e8af8daa68
21 changed files with 64 additions and 45 deletions

View File

@@ -73,7 +73,19 @@ struct TileDesc {
* @param ti Information about the tile to draw
*/
typedef void DrawTileProc(TileInfo *ti);
typedef int GetSlopeZProc(TileIndex tile, uint x, uint y);
/**
* Tile callback function signature for obtaining the world \c Z coordinate of a given
* point of a tile.
*
* @param tile The queries tile for the Z coordinate.
* @param x World X coordinate in tile "units".
* @param y World Y coordinate in tile "units".
* @param ground_vehicle Whether to get the Z coordinate of the ground vehicle, or the ground.
* @return World Z coordinate at tile ground (vehicle) level, including slopes and foundations.
* @see GetSlopePixelZ
*/
typedef int GetSlopeZProc(TileIndex tile, uint x, uint y, bool ground_vehicle);
typedef CommandCost ClearTileProc(TileIndex tile, DoCommandFlag flags);
/**