Fix 35d2842d: Fix script handling of airport rotations

Adjust types/signature
This commit is contained in:
Jonathan G Rennison
2023-12-28 17:03:08 +00:00
parent b72366419b
commit 6a94f2f3e7
2 changed files with 5 additions and 5 deletions

View File

@@ -141,7 +141,7 @@ extern uint8 GetAirportNoiseLevelForDistance(const struct AirportSpec *as, uint
if (_settings_game.economy.station_noise_level) { if (_settings_game.economy.station_noise_level) {
uint dist; uint dist;
AirportGetNearestTown(as, DIR_N, tile, AirportTileTableIterator(as->table[0], tile), dist); AirportGetNearestTown(as, as->rotation[0], tile, AirportTileTableIterator(as->table[0], tile), dist);
return GetAirportNoiseLevelForDistance(as, dist); return GetAirportNoiseLevelForDistance(as, dist);
} }
@@ -157,7 +157,7 @@ extern uint8 GetAirportNoiseLevelForDistance(const struct AirportSpec *as, uint
if (!as->IsWithinMapBounds(0, tile)) return INVALID_TOWN; if (!as->IsWithinMapBounds(0, tile)) return INVALID_TOWN;
uint dist; uint dist;
return AirportGetNearestTown(as, DIR_N, 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) /* static */ SQInteger ScriptAirport::GetMaintenanceCostFactor(AirportType type)

View File

@@ -2611,8 +2611,8 @@ Town *AirportGetNearestTown(const AirportSpec *as, Direction rotation, TileIndex
Town *nearest = nullptr; Town *nearest = nullptr;
int width = as->size_x; auto width = as->size_x;
int height = as->size_y; auto height = as->size_y;
if (rotation == DIR_E || rotation == DIR_W) std::swap(width, height); if (rotation == DIR_E || rotation == DIR_W) std::swap(width, height);
uint perimeter_min_x = TileX(tile); uint perimeter_min_x = TileX(tile);
@@ -2648,7 +2648,7 @@ Town *AirportGetNearestTown(const AirportSpec *as, Direction rotation, TileIndex
* @param[out] mindist Minimum distance to town * @param[out] mindist Minimum distance to town
* @return nearest town to airport * @return nearest town to airport
*/ */
Town *AirportGetNearestTown(const Station *st, uint &mindist) static Town *AirportGetNearestTown(const Station *st, uint &mindist)
{ {
return AirportGetNearestTown(st->airport.GetSpec(), st->airport.rotation, st->airport.tile, AirportTileIterator(st), mindist); return AirportGetNearestTown(st->airport.GetSpec(), st->airport.rotation, st->airport.tile, AirportTileIterator(st), mindist);
} }