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);
|
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
|
* Assign a vehicle window a new vehicle
|
||||||
* any sub window open (orders and so on) it will change owner too.
|
* @param window_class WindowClass to search for
|
||||||
* @param from_index the current owner of the window
|
* @param from_index the old vehicle ID
|
||||||
* @param to_index the new owner of the window
|
* @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)
|
void ChangeVehicleViewWindow(VehicleID from_index, VehicleID to_index)
|
||||||
{
|
{
|
||||||
Window *w = FindWindowById(WC_VEHICLE_VIEW, from_index);
|
ChangeVehicleWindow(WC_VEHICLE_VIEW, from_index, to_index);
|
||||||
|
ChangeVehicleWindow(WC_VEHICLE_ORDERS, from_index, to_index);
|
||||||
if (w != NULL) {
|
ChangeVehicleWindow(WC_VEHICLE_REFIT, from_index, to_index);
|
||||||
w->window_number = to_index;
|
ChangeVehicleWindow(WC_VEHICLE_DETAILS, from_index, to_index);
|
||||||
w->viewport->follow_vehicle = to_index;
|
ChangeVehicleWindow(WC_VEHICLE_TIMETABLE, from_index, 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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum VehicleListWindowWidgets {
|
enum VehicleListWindowWidgets {
|
||||||
|
Loading…
Reference in New Issue
Block a user