mirror of https://github.com/OpenTTD/OpenTTD
(svn r12912) -Codechange: overloaded ChangeVehicleViewWindow() so each argument can be either a Vehicle pointer or a VehicleID
parent
3f2513b5ac
commit
9f5f4e59cd
|
@ -731,40 +731,39 @@ void InitializeGUI()
|
||||||
/** Assigns an already open vehicle window to a new vehicle.
|
/** Assigns an already open vehicle window to a new vehicle.
|
||||||
* Assigns an already open vehicle window to a new vehicle. If the vehicle got
|
* 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.
|
* any sub window open (orders and so on) it will change owner too.
|
||||||
* @param *from_v the current owner of the window
|
* @param from_index the current owner of the window
|
||||||
* @param *to_v the new owner of the window
|
* @param to_index the new owner of the window
|
||||||
*/
|
*/
|
||||||
void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v)
|
void ChangeVehicleViewWindow(VehicleID from_index, VehicleID to_index)
|
||||||
{
|
{
|
||||||
Window *w;
|
Window *w = FindWindowById(WC_VEHICLE_VIEW, from_index);
|
||||||
|
|
||||||
w = FindWindowById(WC_VEHICLE_VIEW, from_v->index);
|
|
||||||
if (w != NULL) {
|
if (w != NULL) {
|
||||||
w->window_number = to_v->index;
|
w->window_number = to_index;
|
||||||
WP(w, vp_d).follow_vehicle = to_v->index;
|
WP(w, vp_d).follow_vehicle = to_index;
|
||||||
SetWindowDirty(w);
|
SetWindowDirty(w);
|
||||||
|
|
||||||
w = FindWindowById(WC_VEHICLE_ORDERS, from_v->index);
|
w = FindWindowById(WC_VEHICLE_ORDERS, from_index);
|
||||||
if (w != NULL) {
|
if (w != NULL) {
|
||||||
w->window_number = to_v->index;
|
w->window_number = to_index;
|
||||||
SetWindowDirty(w);
|
SetWindowDirty(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
w = FindWindowById(WC_VEHICLE_REFIT, from_v->index);
|
w = FindWindowById(WC_VEHICLE_REFIT, from_index);
|
||||||
if (w != NULL) {
|
if (w != NULL) {
|
||||||
w->window_number = to_v->index;
|
w->window_number = to_index;
|
||||||
SetWindowDirty(w);
|
SetWindowDirty(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
w = FindWindowById(WC_VEHICLE_DETAILS, from_v->index);
|
w = FindWindowById(WC_VEHICLE_DETAILS, from_index);
|
||||||
if (w != NULL) {
|
if (w != NULL) {
|
||||||
w->window_number = to_v->index;
|
w->window_number = to_index;
|
||||||
SetWindowDirty(w);
|
SetWindowDirty(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
w = FindWindowById(WC_VEHICLE_TIMETABLE, from_v->index);
|
w = FindWindowById(WC_VEHICLE_TIMETABLE, from_index);
|
||||||
if (w != NULL) {
|
if (w != NULL) {
|
||||||
w->window_number = to_v->index;
|
w->window_number = to_index;
|
||||||
SetWindowDirty(w);
|
SetWindowDirty(w);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "order_type.h"
|
#include "order_type.h"
|
||||||
#include "station_type.h"
|
#include "station_type.h"
|
||||||
#include "engine_type.h"
|
#include "engine_type.h"
|
||||||
|
#include "vehicle_base.h"
|
||||||
|
|
||||||
void DrawVehicleProfitButton(const Vehicle *v, int x, int y);
|
void DrawVehicleProfitButton(const Vehicle *v, int x, int y);
|
||||||
void ShowVehicleRefitWindow(const Vehicle *v, VehicleOrderID order);
|
void ShowVehicleRefitWindow(const Vehicle *v, VehicleOrderID order);
|
||||||
|
@ -80,8 +81,6 @@ void DrawAircraftImage(const Vehicle *v, int x, int y, VehicleID selection);
|
||||||
|
|
||||||
void ShowBuildVehicleWindow(TileIndex tile, VehicleType type);
|
void ShowBuildVehicleWindow(TileIndex tile, VehicleType type);
|
||||||
|
|
||||||
void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v);
|
|
||||||
|
|
||||||
uint ShowAdditionalText(int x, int y, uint w, EngineID engine);
|
uint ShowAdditionalText(int x, int y, uint w, EngineID engine);
|
||||||
uint ShowRefitOptionsList(int x, int y, uint w, EngineID engine);
|
uint ShowRefitOptionsList(int x, int y, uint w, EngineID engine);
|
||||||
|
|
||||||
|
@ -94,6 +93,26 @@ void DrawSmallOrderList(const Vehicle *v, int x, int y);
|
||||||
|
|
||||||
void DrawVehicleImage(const Vehicle *v, int x, int y, VehicleID selection, int count, int skip);
|
void DrawVehicleImage(const Vehicle *v, int x, int y, VehicleID selection, int count, int skip);
|
||||||
|
|
||||||
|
|
||||||
|
/* ChangeVehicleViewWindow() moves all windows for one vehicle to another vehicle.
|
||||||
|
* For ease of use it can be called with both Vehicle pointers and VehicleIDs. */
|
||||||
|
void ChangeVehicleViewWindow(VehicleID from_index, VehicleID to_index);
|
||||||
|
|
||||||
|
static inline void ChangeVehicleViewWindow(const Vehicle *from_v, VehicleID to_index)
|
||||||
|
{
|
||||||
|
ChangeVehicleViewWindow(from_v->index, to_index);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void ChangeVehicleViewWindow(VehicleID from_index, const Vehicle *to_v)
|
||||||
|
{
|
||||||
|
ChangeVehicleViewWindow(from_index, to_v->index);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v)
|
||||||
|
{
|
||||||
|
ChangeVehicleViewWindow(from_v->index, to_v->index);
|
||||||
|
}
|
||||||
|
|
||||||
static inline uint GetVehicleListHeight(VehicleType type)
|
static inline uint GetVehicleListHeight(VehicleType type)
|
||||||
{
|
{
|
||||||
return (type == VEH_TRAIN || type == VEH_ROAD) ? 14 : 24;
|
return (type == VEH_TRAIN || type == VEH_ROAD) ? 14 : 24;
|
||||||
|
|
Loading…
Reference in New Issue