Fix #11629: AirportGetNearestTown for rotated airports (#11631)

Add rotation parameter to AirportGetNearestTown
Add wrapper for existing stations
Remove unnecessary iterator cloning
This commit is contained in:
Jonathan G Rennison
2023-12-28 21:43:05 +00:00
committed by GitHub
parent 33ff64ef74
commit 3b18877b87
3 changed files with 32 additions and 21 deletions

View File

@@ -137,9 +137,8 @@
if (!as->IsWithinMapBounds(0, tile)) return -1;
if (_settings_game.economy.station_noise_level) {
AirportTileTableIterator it(as->table[0], tile);
uint dist;
AirportGetNearestTown(as, tile, it, dist);
AirportGetNearestTown(as, as->rotation[0], tile, AirportTileTableIterator(as->table[0], tile), dist);
return GetAirportNoiseLevelForDistance(as, dist);
}
@@ -155,7 +154,7 @@
if (!as->IsWithinMapBounds(0, tile)) return INVALID_TOWN;
uint dist;
return AirportGetNearestTown(as, tile, AirportTileTableIterator(as->table[0], tile), dist)->index;
return AirportGetNearestTown(as, as->rotation[0], tile, AirportTileTableIterator(as->table[0], tile), dist)->index;
}
/* static */ SQInteger ScriptAirport::GetMaintenanceCostFactor(AirportType type)