diff options
author | peter1138 <peter1138@openttd.org> | 2008-04-24 07:44:21 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2008-04-24 07:44:21 +0000 |
commit | 60eb3c034fc80b80d4b117a807ada6feb2cb1ce1 (patch) | |
tree | a2e290da014fce01babeca764e6aeb0a95bbf5be | |
parent | 9c675afb9119cb6a1a78f368f2b5c68e00bdfa45 (diff) | |
download | openttd-60eb3c034fc80b80d4b117a807ada6feb2cb1ce1.tar.xz |
(svn r12860) -Fix [FS#1947]: Train depart animation trigger was not called in some cases.
-rw-r--r-- | src/train_cmd.cpp | 2 | ||||
-rw-r--r-- | src/vehicle.cpp | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 681f369cc..26a5134aa 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2231,8 +2231,6 @@ void Train::PlayLeaveStationSound() const SND_41_MAGLEV }; - if (IsTileType(this->tile, MP_STATION)) StationAnimationTrigger(NULL, this->tile, STAT_ANIM_TRAIN_DEPARTS); - if (PlayVehicleSound(this, VSE_START)) return; EngineID engtype = this->engine_type; diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 54526ddc0..092ef72e7 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -30,6 +30,7 @@ #include "newgrf_callbacks.h" #include "newgrf_engine.h" #include "newgrf_sound.h" +#include "newgrf_station.h" #include "group.h" #include "order_func.h" #include "strings_func.h" @@ -2562,10 +2563,14 @@ void Vehicle::LeaveStation() if (current_order.GetNonStopType() != ONSF_STOP_EVERYWHERE) UpdateVehicleTimetable(this, false); current_order.MakeLeaveStation(); - GetStation(this->last_station_visited)->loading_vehicles.remove(this); + Station *st = GetStation(this->last_station_visited); + st->loading_vehicles.remove(this); HideFillingPercent(this->fill_percent_te_id); this->fill_percent_te_id = INVALID_TE_ID; + + /* Trigger station animation for trains only */ + if (this->type == VEH_TRAIN && IsTileType(this->tile, MP_STATION)) StationAnimationTrigger(st, this->tile, STAT_ANIM_TRAIN_DEPARTS); } |