src/order_cmd.cpp
changeset 8428 f8300c908bd9
parent 8425 72a71d480c5f
child 8553 66a54e0c1c4a
equal deleted inserted replaced
8427:143b0be22af1 8428:f8300c908bd9
   683 	}
   683 	}
   684 
   684 
   685 	if (flags & DC_EXEC) {
   685 	if (flags & DC_EXEC) {
   686 		switch (p2) {
   686 		switch (p2) {
   687 		case OFB_FULL_LOAD:
   687 		case OFB_FULL_LOAD:
   688 			TOGGLEBIT(order->flags, OFB_FULL_LOAD);
   688 			ToggleBit(order->flags, OFB_FULL_LOAD);
   689 			if (order->type != OT_GOTO_DEPOT) ClrBit(order->flags, OFB_UNLOAD);
   689 			if (order->type != OT_GOTO_DEPOT) ClrBit(order->flags, OFB_UNLOAD);
   690 			break;
   690 			break;
   691 		case OFB_UNLOAD:
   691 		case OFB_UNLOAD:
   692 			TOGGLEBIT(order->flags, OFB_UNLOAD);
   692 			ToggleBit(order->flags, OFB_UNLOAD);
   693 			ClrBit(order->flags, OFB_FULL_LOAD);
   693 			ClrBit(order->flags, OFB_FULL_LOAD);
   694 			break;
   694 			break;
   695 		case OFB_NON_STOP:
   695 		case OFB_NON_STOP:
   696 			TOGGLEBIT(order->flags, OFB_NON_STOP);
   696 			ToggleBit(order->flags, OFB_NON_STOP);
   697 			break;
   697 			break;
   698 		case OFB_TRANSFER:
   698 		case OFB_TRANSFER:
   699 			TOGGLEBIT(order->flags, OFB_TRANSFER);
   699 			ToggleBit(order->flags, OFB_TRANSFER);
   700 			break;
   700 			break;
   701 		default: NOT_REACHED();
   701 		default: NOT_REACHED();
   702 		}
   702 		}
   703 
   703 
   704 		/* Update the windows and full load flags, also for vehicles that share the same order list */
   704 		/* Update the windows and full load flags, also for vehicles that share the same order list */
   718 				 * when this function is called.
   718 				 * when this function is called.
   719 				 */
   719 				 */
   720 				if (sel_ord == u->cur_order_index &&
   720 				if (sel_ord == u->cur_order_index &&
   721 						u->current_order.type != OT_GOTO_DEPOT &&
   721 						u->current_order.type != OT_GOTO_DEPOT &&
   722 						HasBit(u->current_order.flags, OFB_FULL_LOAD) != HasBit(order->flags, OFB_FULL_LOAD)) {
   722 						HasBit(u->current_order.flags, OFB_FULL_LOAD) != HasBit(order->flags, OFB_FULL_LOAD)) {
   723 					TOGGLEBIT(u->current_order.flags, OFB_FULL_LOAD);
   723 					ToggleBit(u->current_order.flags, OFB_FULL_LOAD);
   724 				}
   724 				}
   725 				InvalidateVehicleOrder(u);
   725 				InvalidateVehicleOrder(u);
   726 			}
   726 			}
   727 		}
   727 		}
   728 	}
   728 	}