(svn r2264) - Fix: [ 1060686 1187655 ] Changing the full-load flag on the current order doesn't take effect immediately. (glx)
authormatthijs
Tue, 03 May 2005 22:18:40 +0000
changeset 1760 0aaab0007731
parent 1759 ea38d6193887
child 1761 00d296fcdc76
(svn r2264) - Fix: [ 1060686 1187655 ] Changing the full-load flag on the current order doesn't take effect immediately. (glx)
order_cmd.c
--- a/order_cmd.c	Tue May 03 22:05:34 2005 +0000
+++ b/order_cmd.c	Tue May 03 22:18:40 2005 +0000
@@ -534,7 +534,7 @@
 
 /**
  *
- * Add an order to the orderlist of a vehicle
+ * Modify an order in the orderlist of a vehicle
  *
  * @param veh_sel      First 16 bits are the ID of the vehicle. The next 16 are the selected order (if any)
  *                       If the lastone is given, order will be inserted above thatone
@@ -580,10 +580,14 @@
 				return CMD_ERROR;
 		}
 
-		/* Update the windows, also for vehicles that share the same order list */
+		/* Update the windows and full load flags, also for vehicles that share the same order list */
 		{
 			Vehicle *u = GetFirstVehicleFromSharedList(v);
 			while (u != NULL) {
+				/* toggle u->current_order "Full load" flag if it changed */
+				if (sel == u->cur_order_index &&
+						HASBIT(u->current_order.flags, OFB_FULL_LOAD) != HASBIT(order->flags, OFB_FULL_LOAD))
+					TOGGLEBIT(u->current_order.flags, OFB_FULL_LOAD);
 				InvalidateVehicleOrder(u);
 				u = u->next_shared;
 			}