changeset 17940:47b3cffe2782 draft

(svn r22745) -Fix: [NewGRF] SAT_CARGO_TAKEN and AAT_STATION_CARGO_TAKEN shall only be triggered when all cargo was taken.
author frosch <frosch@openttd.org>
date Sun, 14 Aug 2011 13:45:36 +0000
parents 5da57f628072
children 1cac4486290e
files src/economy.cpp src/newgrf_animation_type.h
diffstat 2 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/economy.cpp
+++ b/src/economy.cpp
@@ -1329,8 +1329,10 @@
 			st->time_since_load = 0;
 			st->last_vehicle_type = v->type;
 
-			TriggerStationAnimation(st, st->xy, SAT_CARGO_TAKEN, v->cargo_type);
-			AirportAnimationTrigger(st, AAT_STATION_CARGO_TAKEN, v->cargo_type);
+			if (ge->cargo.Empty()) {
+				TriggerStationAnimation(st, st->xy, SAT_CARGO_TAKEN, v->cargo_type);
+				AirportAnimationTrigger(st, AAT_STATION_CARGO_TAKEN, v->cargo_type);
+			}
 
 			unloading_time += cap;
 
--- a/src/newgrf_animation_type.h
+++ b/src/newgrf_animation_type.h
@@ -28,7 +28,7 @@
 enum StationAnimationTrigger {
 	SAT_BUILT,         ///< Trigger tile when built.
 	SAT_NEW_CARGO,     ///< Trigger station on new cargo arrival.
-	SAT_CARGO_TAKEN,   ///< Trigger station when cargo is taken.
+	SAT_CARGO_TAKEN,   ///< Trigger station when cargo is completely taken.
 	SAT_TRAIN_ARRIVES, ///< Trigger platform when train arrives.
 	SAT_TRAIN_DEPARTS, ///< Trigger platform when train leaves.
 	SAT_TRAIN_LOADS,   ///< Trigger platform when train loads/unloads.