equal
deleted
inserted
replaced
536 mail = (new_cid != CT_PASSENGERS) ? 0 : avi->mail_capacity; |
536 mail = (new_cid != CT_PASSENGERS) ? 0 : avi->mail_capacity; |
537 u->cargo_cap = mail; |
537 u->cargo_cap = mail; |
538 v->cargo_count = u->cargo_count = 0; |
538 v->cargo_count = u->cargo_count = 0; |
539 v->cargo_type = new_cid; |
539 v->cargo_type = new_cid; |
540 InvalidateWindow(WC_VEHICLE_DETAILS, v->index); |
540 InvalidateWindow(WC_VEHICLE_DETAILS, v->index); |
|
541 InvalidateWindow(WC_VEHICLE_DEPOT, v->tile); |
|
542 RebuildVehicleLists(); |
541 } |
543 } |
542 |
544 |
543 return cost; |
545 return cost; |
544 } |
546 } |
545 |
547 |
1111 InvalidateVehicleOrder(v); |
1113 InvalidateVehicleOrder(v); |
1112 |
1114 |
1113 InvalidateWindowClasses(WC_AIRCRAFT_LIST); |
1115 InvalidateWindowClasses(WC_AIRCRAFT_LIST); |
1114 } |
1116 } |
1115 |
1117 |
|
1118 /** Mark all views dirty for an aircraft. |
|
1119 * @param v vehicle to be redrawn. |
|
1120 */ |
|
1121 static void MarkAircraftDirty(Vehicle *v) |
|
1122 { |
|
1123 v->cur_image = GetAircraftImage(v, v->direction); |
|
1124 if (v->subtype == 0) { |
|
1125 v->next->next->cur_image = GetRotorImage(v); |
|
1126 } |
|
1127 MarkAllViewportsDirty(v->left_coord, v->top_coord, v->right_coord + 1, v->bottom_coord + 1); |
|
1128 } |
|
1129 |
1116 static void HandleAircraftLoading(Vehicle *v, int mode) |
1130 static void HandleAircraftLoading(Vehicle *v, int mode) |
1117 { |
1131 { |
1118 if (v->current_order.type == OT_NOTHING) return; |
1132 if (v->current_order.type == OT_NOTHING) return; |
1119 |
1133 |
1120 if (v->current_order.type != OT_DUMMY) { |
1134 if (v->current_order.type != OT_DUMMY) { |
1122 if (mode != 0) return; |
1136 if (mode != 0) return; |
1123 if (--v->load_unload_time_rem != 0) return; |
1137 if (--v->load_unload_time_rem != 0) return; |
1124 |
1138 |
1125 if (v->current_order.flags & OF_FULL_LOAD && CanFillVehicle(v)) { |
1139 if (v->current_order.flags & OF_FULL_LOAD && CanFillVehicle(v)) { |
1126 SET_EXPENSES_TYPE(EXPENSES_AIRCRAFT_INC); |
1140 SET_EXPENSES_TYPE(EXPENSES_AIRCRAFT_INC); |
1127 LoadUnloadVehicle(v); |
1141 if (LoadUnloadVehicle(v)) { |
|
1142 InvalidateWindow(WC_AIRCRAFT_LIST, v->owner); |
|
1143 MarkAircraftDirty(v); |
|
1144 } |
1128 return; |
1145 return; |
1129 } |
1146 } |
1130 |
1147 |
1131 { |
1148 { |
1132 Order b = v->current_order; |
1149 Order b = v->current_order; |
1133 v->current_order.type = OT_NOTHING; |
1150 v->current_order.type = OT_NOTHING; |
1134 v->current_order.flags = 0; |
1151 v->current_order.flags = 0; |
|
1152 MarkAircraftDirty(v); |
1135 if (!(b.flags & OF_NON_STOP)) return; |
1153 if (!(b.flags & OF_NON_STOP)) return; |
1136 } |
1154 } |
1137 } |
1155 } |
1138 v->cur_order_index++; |
1156 v->cur_order_index++; |
1139 InvalidateVehicleOrder(v); |
1157 InvalidateVehicleOrder(v); |
1236 (old_order.flags & (OF_FULL_LOAD | OF_UNLOAD)) | OF_NON_STOP; |
1254 (old_order.flags & (OF_FULL_LOAD | OF_UNLOAD)) | OF_NON_STOP; |
1237 } |
1255 } |
1238 |
1256 |
1239 SET_EXPENSES_TYPE(EXPENSES_AIRCRAFT_INC); |
1257 SET_EXPENSES_TYPE(EXPENSES_AIRCRAFT_INC); |
1240 LoadUnloadVehicle(v); |
1258 LoadUnloadVehicle(v); |
|
1259 MarkAircraftDirty(v); |
1241 InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR); |
1260 InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR); |
1242 InvalidateWindowClasses(WC_AIRCRAFT_LIST); |
1261 InvalidateWindowClasses(WC_AIRCRAFT_LIST); |
1243 } |
1262 } |
1244 |
1263 |
1245 |
1264 |