mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r14006) -Codechange: Deduplicate some code.
This commit is contained in:
parent
0eade71bde
commit
cffd5d17de
@ -630,45 +630,34 @@ void InitializeGUI()
|
||||
MemSetT(&_sorting, 0);
|
||||
}
|
||||
|
||||
/** Assigns an already open vehicle window to a new vehicle.
|
||||
* Assigns an already open vehicle window to a new vehicle. If the vehicle got
|
||||
* any sub window open (orders and so on) it will change owner too.
|
||||
* @param from_index the current owner of the window
|
||||
* @param to_index the new owner of the window
|
||||
/**
|
||||
* Assign a vehicle window a new vehicle
|
||||
* @param window_class WindowClass to search for
|
||||
* @param from_index the old vehicle ID
|
||||
* @param to_index the new vehicle ID
|
||||
*/
|
||||
static inline void ChangeVehicleWindow(WindowClass window_class, VehicleID from_index, VehicleID to_index)
|
||||
{
|
||||
Window *w = FindWindowById(window_class, from_index);
|
||||
if (w != NULL) {
|
||||
w->window_number = to_index;
|
||||
if (w->viewport != NULL) w->viewport->follow_vehicle = to_index;
|
||||
w->SetDirty();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Report a change in vehicle IDs (due to autoreplace) to affected vehicle windows.
|
||||
* @param from_index the old vehicle ID
|
||||
* @param to_index the new vehicle ID
|
||||
*/
|
||||
void ChangeVehicleViewWindow(VehicleID from_index, VehicleID to_index)
|
||||
{
|
||||
Window *w = FindWindowById(WC_VEHICLE_VIEW, from_index);
|
||||
|
||||
if (w != NULL) {
|
||||
w->window_number = to_index;
|
||||
w->viewport->follow_vehicle = to_index;
|
||||
w->SetDirty();
|
||||
|
||||
w = FindWindowById(WC_VEHICLE_ORDERS, from_index);
|
||||
if (w != NULL) {
|
||||
w->window_number = to_index;
|
||||
w->SetDirty();
|
||||
}
|
||||
|
||||
w = FindWindowById(WC_VEHICLE_REFIT, from_index);
|
||||
if (w != NULL) {
|
||||
w->window_number = to_index;
|
||||
w->SetDirty();
|
||||
}
|
||||
|
||||
w = FindWindowById(WC_VEHICLE_DETAILS, from_index);
|
||||
if (w != NULL) {
|
||||
w->window_number = to_index;
|
||||
w->SetDirty();
|
||||
}
|
||||
|
||||
w = FindWindowById(WC_VEHICLE_TIMETABLE, from_index);
|
||||
if (w != NULL) {
|
||||
w->window_number = to_index;
|
||||
w->SetDirty();
|
||||
}
|
||||
}
|
||||
ChangeVehicleWindow(WC_VEHICLE_VIEW, from_index, to_index);
|
||||
ChangeVehicleWindow(WC_VEHICLE_ORDERS, from_index, to_index);
|
||||
ChangeVehicleWindow(WC_VEHICLE_REFIT, from_index, to_index);
|
||||
ChangeVehicleWindow(WC_VEHICLE_DETAILS, from_index, to_index);
|
||||
ChangeVehicleWindow(WC_VEHICLE_TIMETABLE, from_index, to_index);
|
||||
}
|
||||
|
||||
enum VehicleListWindowWidgets {
|
||||
|
Loading…
Reference in New Issue
Block a user