1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-23 20:24:12 +01:00

Add: [NewGRF] Station/roadstop animation-triggers 'tile loop' (bit 7) and 'path reservation' (bit 8). (#14080)

This commit is contained in:
frosch
2025-04-26 14:44:55 +02:00
committed by GitHub
parent d3ae6bc9a8
commit 1ea1dbd19e
5 changed files with 30 additions and 2 deletions

View File

@@ -3601,9 +3601,15 @@ static TrackStatus GetTileTrackStatus_Station(TileIndex tile, TransportType mode
static void TileLoop_Station(TileIndex tile)
{
auto *st = BaseStation::GetByTile(tile);
switch (GetStationType(tile)) {
case StationType::Airport:
TriggerAirportTileAnimation(Station::GetByTile(tile), tile, AirportAnimationTrigger::TileLoop);
TriggerAirportTileAnimation(Station::From(st), tile, AirportAnimationTrigger::TileLoop);
break;
case StationType::Rail:
case StationType::RailWaypoint:
TriggerStationAnimation(st, tile, StationAnimationTrigger::TileLoop);
break;
case StationType::Dock:
@@ -3615,6 +3621,11 @@ static void TileLoop_Station(TileIndex tile)
TileLoop_Water(tile);
break;
case StationType::Truck:
case StationType::Bus:
TriggerRoadStopAnimation(st, tile, StationAnimationTrigger::TileLoop);
break;
case StationType::RoadWaypoint: {
switch (_settings_game.game_creation.landscape) {
case LandscapeType::Arctic:
@@ -3648,6 +3659,8 @@ static void TileLoop_Station(TileIndex tile)
SetRoadWaypointRoadside(tile, cur_rs == ROADSIDE_BARREN ? new_rs : ROADSIDE_BARREN);
MarkTileDirtyByTile(tile);
}
TriggerRoadStopAnimation(st, tile, StationAnimationTrigger::TileLoop);
break;
}