summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vehicle_gui.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp
index cfff95480..ff8719c07 100644
--- a/src/vehicle_gui.cpp
+++ b/src/vehicle_gui.cpp
@@ -1456,8 +1456,6 @@ public:
this->FinishInitNested(window_number);
if (this->vli.company != OWNER_NONE) this->owner = this->vli.company;
-
- if (this->vli.vtype == VEH_TRAIN) ResizeWindow(this, 65, 0);
}
~VehicleListWindow()
@@ -1696,19 +1694,31 @@ public:
}
};
-static WindowDesc _vehicle_list_desc(
+static WindowDesc _vehicle_list_other_desc(
WDP_AUTO, "list_vehicles", 260, 246,
WC_INVALID, WC_NONE,
0,
_nested_vehicle_list, lengthof(_nested_vehicle_list)
);
+static WindowDesc _vehicle_list_train_desc(
+ WDP_AUTO, "list_vehicles_train", 325, 246,
+ WC_TRAINS_LIST, WC_NONE,
+ 0,
+ _nested_vehicle_list, lengthof(_nested_vehicle_list)
+);
+
static void ShowVehicleListWindowLocal(CompanyID company, VehicleListType vlt, VehicleType vehicle_type, uint16 unique_number)
{
if (!Company::IsValidID(company) && company != OWNER_NONE) return;
- _vehicle_list_desc.cls = GetWindowClassForVehicleType(vehicle_type);
- AllocateWindowDescFront<VehicleListWindow>(&_vehicle_list_desc, VehicleListIdentifier(vlt, vehicle_type, company, unique_number).Pack());
+ WindowNumber num = VehicleListIdentifier(vlt, vehicle_type, company, unique_number).Pack();
+ if (vehicle_type == VEH_TRAIN) {
+ AllocateWindowDescFront<VehicleListWindow>(&_vehicle_list_train_desc, num);
+ } else {
+ _vehicle_list_other_desc.cls = GetWindowClassForVehicleType(vehicle_type);
+ AllocateWindowDescFront<VehicleListWindow>(&_vehicle_list_other_desc, num);
+ }
}
void ShowVehicleListWindow(CompanyID company, VehicleType vehicle_type)