# HG changeset patch # User peter1138 # Date 1209023061 0 # Node ID 2e64f7dc7a48a279f11db440048a0eb79fc9e4dd # Parent 05467c606a0e20dadbfc4f4e3fe3eb6d177109f1 (svn r12860) -Fix [FS#1947]: Train depart animation trigger was not called in some cases. diff -r 05467c606a0e -r 2e64f7dc7a48 src/train_cmd.cpp --- a/src/train_cmd.cpp Wed Apr 23 22:55:11 2008 +0000 +++ b/src/train_cmd.cpp Thu Apr 24 07:44:21 2008 +0000 @@ -2231,8 +2231,6 @@ 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 -r 05467c606a0e -r 2e64f7dc7a48 src/vehicle.cpp --- a/src/vehicle.cpp Wed Apr 23 22:55:11 2008 +0000 +++ b/src/vehicle.cpp Thu Apr 24 07:44:21 2008 +0000 @@ -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 @@ 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); }