changeset 2830:c24013761c37 draft

(svn r3378) - NewGRF Fix: Use order status to determine whether a vehicle is loading instead of speed, and get that state from first vehicle in a train consist.
author peter1138 <peter1138@openttd.org>
date Fri, 06 Jan 2006 22:49:00 +0000
parents 29c943af24b3
children c044e97c6846
files engine.c train_cmd.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/engine.c
+++ b/engine.c
@@ -608,7 +608,12 @@
 
 		if (capacity == 0) capacity = 1;
 		loaded = (v->cargo_count * 100) / capacity;
-		in_motion = (v->cur_speed != 0);
+
+		if (v->type == VEH_Train) {
+			in_motion = GetFirstVehicleInChain(v)->current_order.type != OT_LOADING;
+		} else {
+			in_motion = v->current_order.type != OT_LOADING;
+		}
 	}
 
 	group = GetVehicleSpriteGroup(engine, v);
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -2563,10 +2563,10 @@
 	SET_EXPENSES_TYPE(EXPENSES_TRAIN_INC);
 	if (LoadUnloadVehicle(v) != 0) {
 		InvalidateWindow(WC_TRAINS_LIST, v->owner);
-		MarkTrainDirty(v);
 		TrainCargoChanged(v);
 		UpdateTrainAcceleration(v);
 	}
+	MarkTrainDirty(v);
 	InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
 }