Merge branch 'auto_timetables-sx' into jgrpp
This commit is contained in:
@@ -1714,7 +1714,11 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
|
|||||||
/* Set automation bit if target has it. */
|
/* Set automation bit if target has it. */
|
||||||
if (HasBit(src->vehicle_flags, VF_AUTOMATE_TIMETABLE)) {
|
if (HasBit(src->vehicle_flags, VF_AUTOMATE_TIMETABLE)) {
|
||||||
SetBit(dst->vehicle_flags, VF_AUTOMATE_TIMETABLE);
|
SetBit(dst->vehicle_flags, VF_AUTOMATE_TIMETABLE);
|
||||||
|
} else {
|
||||||
|
ClrBit(dst->vehicle_flags, VF_AUTOMATE_TIMETABLE);
|
||||||
}
|
}
|
||||||
|
ClrBit(dst->vehicle_flags, VF_AUTOFILL_TIMETABLE);
|
||||||
|
ClrBit(dst->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME);
|
||||||
|
|
||||||
dst->ClearSeparation();
|
dst->ClearSeparation();
|
||||||
if (_settings_game.order.timetable_separation) ClrBit(dst->vehicle_flags, VF_TIMETABLE_STARTED);
|
if (_settings_game.order.timetable_separation) ClrBit(dst->vehicle_flags, VF_TIMETABLE_STARTED);
|
||||||
@@ -1783,6 +1787,15 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
|
|||||||
dst->orders.list = new OrderList(first, dst);
|
dst->orders.list = new OrderList(first, dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set automation bit if target has it. */
|
||||||
|
if (HasBit(src->vehicle_flags, VF_AUTOMATE_TIMETABLE)) {
|
||||||
|
SetBit(dst->vehicle_flags, VF_AUTOMATE_TIMETABLE);
|
||||||
|
ClrBit(dst->vehicle_flags, VF_AUTOFILL_TIMETABLE);
|
||||||
|
ClrBit(dst->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME);
|
||||||
|
} else {
|
||||||
|
ClrBit(dst->vehicle_flags, VF_AUTOMATE_TIMETABLE);
|
||||||
|
}
|
||||||
|
|
||||||
InvalidateVehicleOrder(dst, VIWD_REMOVE_ALL_ORDERS);
|
InvalidateVehicleOrder(dst, VIWD_REMOVE_ALL_ORDERS);
|
||||||
|
|
||||||
InvalidateWindowClassesData(GetWindowClassForVehicleType(dst->type), 0);
|
InvalidateWindowClassesData(GetWindowClassForVehicleType(dst->type), 0);
|
||||||
|
@@ -323,11 +323,7 @@ CommandCost CmdSetTimetableStart(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
|||||||
w->lateness_counter = 0;
|
w->lateness_counter = 0;
|
||||||
ClrBit(w->vehicle_flags, VF_TIMETABLE_STARTED);
|
ClrBit(w->vehicle_flags, VF_TIMETABLE_STARTED);
|
||||||
/* Do multiplication, then division to reduce rounding errors. */
|
/* Do multiplication, then division to reduce rounding errors. */
|
||||||
#if WALLCLOCK_NETWORK_COMPATIBLE
|
|
||||||
w->timetable_start = start_date + idx * total_duration / num_vehs / DAY_TICKS;
|
w->timetable_start = start_date + idx * total_duration / num_vehs / DAY_TICKS;
|
||||||
#else
|
|
||||||
w->timetable_start = start_date + idx * total_duration / num_vehs;
|
|
||||||
#endif
|
|
||||||
SetWindowDirty(WC_VEHICLE_TIMETABLE, w->index);
|
SetWindowDirty(WC_VEHICLE_TIMETABLE, w->index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user