#include "stdafx.h"
#include "openttd.h"
#include "train.h"
#include "roadveh.h"
#include "ship.h"
#include "aircraft.h"
#include "gui.h"
#include "textbuf_gui.h"
#include "viewport_func.h"
#include "gfx_func.h"
#include "command_func.h"
#include "depot.h"
#include "vehicle_gui.h"
#include "station_map.h"
#include "newgrf_engine.h"
#include "spritecache.h"
#include "strings_func.h"
#include "window_func.h"
#include "vehicle_func.h"
#include "player_func.h"
#include "table/strings.h"
#include "table/sprites.h"
Go to the source code of this file.
Data Structures | |
struct | GetDepotVehiclePtData |
Enumerations | |
enum | DepotWindowWidgets { DEPOT_WIDGET_CLOSEBOX = 0, DEPOT_WIDGET_CAPTION, DEPOT_WIDGET_STICKY, DEPOT_WIDGET_SELL, DEPOT_WIDGET_SELL_CHAIN, DEPOT_WIDGET_SELL_ALL, DEPOT_WIDGET_AUTOREPLACE, DEPOT_WIDGET_MATRIX, DEPOT_WIDGET_V_SCROLL, DEPOT_WIDGET_H_SCROLL, DEPOT_WIDGET_BUILD, DEPOT_WIDGET_CLONE, DEPOT_WIDGET_LOCATION, DEPOT_WIDGET_VEHICLE_LIST, DEPOT_WIDGET_STOP_ALL, DEPOT_WIDGET_START_ALL, DEPOT_WIDGET_RESIZE } |
enum | DepotGUIAction { MODE_ERROR, MODE_DRAG_VEHICLE, MODE_SHOW_VEHICLE, MODE_START_STOP } |
Functions | |
static void | DepotWndProc (Window *w, WindowEvent *e) |
int | WagonLengthToPixels (int len) |
Get the number of pixels for the given wagon length. | |
void | CcCloneVehicle (bool success, TileIndex tile, uint32 p1, uint32 p2) |
This is the Callback method after the cloning attempt of a vehicle. | |
static void | DepotSellAllConfirmationCallback (Window *w, bool confirmed) |
const Sprite * | GetAircraftSprite (EngineID engine) |
static void | DrawVehicleInDepot (Window *w, const Vehicle *v, int x, int y) |
Draw a vehicle in the depot window in the box with the top left corner at x,y. | |
static void | DrawDepotWindow (Window *w) |
static DepotGUIAction | GetVehicleFromDepotWndPt (const Window *w, int x, int y, Vehicle **veh, GetDepotVehiclePtData *d) |
static void | TrainDepotMoveVehicle (Vehicle *wagon, VehicleID sel, Vehicle *head) |
static void | DepotClick (Window *w, int x, int y) |
static void | HandleCloneVehClick (const Vehicle *v, const Window *w) |
Clones a vehicle. | |
static void | ClonePlaceObj (const Window *w) |
static void | ResizeDepotButtons (Window *w) |
static void | SetupStringsForDepotWindow (Window *w, VehicleType type) |
static void | ResizeDefaultWindowSizeForTrains () |
static void | ResizeDefaultWindowSizeForRoadVehicles () |
static void | ResizeDefaultWindowSize (VehicleType type) |
void | InitDepotWindowBlockSizes () |
static void | CreateDepotListWindow (Window *w, VehicleType type) |
void | DepotSortList (Vehicle **v, uint16 length) |
void | ShowDepotWindow (TileIndex tile, VehicleType type) |
Opens a depot window. | |
void | DeleteDepotHighlightOfVehicle (const Vehicle *v) |
Removes the highlight of a vehicle in a depot window. | |
Variables | |
static const Widget | _depot_widgets [] |
static const WindowDesc | _train_depot_desc |
static const WindowDesc | _road_depot_desc |
static const WindowDesc | _ship_depot_desc |
static const WindowDesc | _aircraft_depot_desc |
uint | _block_sizes [4][2] |
const uint | _resize_cap [][2] |
Definition in file depot_gui.cpp.
enum DepotWindowWidgets |
Definition at line 36 of file depot_gui.cpp.
void CcCloneVehicle | ( | bool | success, | |
TileIndex | tile, | |||
uint32 | p1, | |||
uint32 | p2 | |||
) |
This is the Callback method after the cloning attempt of a vehicle.
success | indicates completion (or not) of the operation | |
tile | unused | |
p1 | unused | |
p2 | unused |
Definition at line 143 of file depot_gui.cpp.
References ShowVehicleViewWindow().
Referenced by HandleCloneVehClick(), and VehicleViewWndProc().
void DeleteDepotHighlightOfVehicle | ( | const Vehicle * | v | ) |
Removes the highlight of a vehicle in a depot window.
*v | Vehicle to remove all highlights from |
Definition at line 1013 of file depot_gui.cpp.
Referenced by CmdSellRailWagon(), CmdSellRoadVeh(), and CmdSellShip().
static void DrawVehicleInDepot | ( | Window * | w, | |
const Vehicle * | v, | |||
int | x, | |||
int | y | |||
) | [static] |
Draw a vehicle in the depot window in the box with the top left corner at x,y.
*w | Window to draw in | |
*v | Vehicle to draw | |
x | Left side of the box to draw in | |
y | Top of the box to draw in |
Definition at line 169 of file depot_gui.cpp.
static void HandleCloneVehClick | ( | const Vehicle * | v, | |
const Window * | w | |||
) | [static] |
Clones a vehicle.
*v | is the original vehicle to clone | |
*w | is the window of the depot where the clone is build |
Definition at line 488 of file depot_gui.cpp.
References _ctrl_pressed, CcCloneVehicle(), CMD_CLONE_VEHICLE, CMD_MSG, DoCommandP(), error_str, and IsFrontEngine().
void ShowDepotWindow | ( | TileIndex | tile, | |
VehicleType | type | |||
) |
Opens a depot window.
tile | The tile where the depot/hangar is located | |
type | The type of vehicles in the depot |
Definition at line 988 of file depot_gui.cpp.
References AllocateWindowDescFront(), and GetTileOwner().
int WagonLengthToPixels | ( | int | len | ) |
Get the number of pixels for the given wagon length.
len | Length measured in 1/8ths of a standard wagon. |
Definition at line 68 of file train_gui.cpp.
const WindowDesc _aircraft_depot_desc [static] |
Initial value:
{ WDP_AUTO, WDP_AUTO, 36, 27, 36, 27, WC_VEHICLE_DEPOT, WC_NONE, WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE, _depot_widgets, DepotWndProc }
Definition at line 126 of file depot_gui.cpp.
const Widget _depot_widgets[] [static] |
Initial value:
{ { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, { WWT_CAPTION, RESIZE_RIGHT, 14, 11, 23, 0, 13, 0x0, STR_018C_WINDOW_TITLE_DRAG_THIS}, { WWT_STICKYBOX, RESIZE_LR, 14, 24, 35, 0, 13, 0x0, STR_STICKY_BUTTON}, { WWT_IMGBTN, RESIZE_LRB, 14, 1, 23, 14, -32, 0x0, STR_NULL}, { WWT_IMGBTN, RESIZE_LRTB, 14, 1, 23, -55, -32, SPR_SELL_CHAIN_TRAIN,STR_DRAG_WHOLE_TRAIN_TO_SELL_TIP}, { WWT_PUSHIMGBTN, RESIZE_LRTB, 14, 1, 23, -31, -9, 0x0, STR_NULL}, { WWT_PUSHIMGBTN, RESIZE_LRTB, 14, 1, 23, -8, 14, 0x0, STR_NULL}, { WWT_MATRIX, RESIZE_RB, 14, 0, 0, 14, 14, 0x0, STR_NULL}, { WWT_SCROLLBAR, RESIZE_LRB, 14, 24, 35, 14, 14, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, { WWT_HSCROLLBAR, RESIZE_RTB, 14, 0, 0, 3, 14, 0x0, STR_HSCROLL_BAR_SCROLLS_LIST}, { WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 0, 15, 26, 0x0, STR_NULL}, { WWT_TEXTBTN, RESIZE_TB, 14, 0, 0, 15, 26, 0x0, STR_NULL}, { WWT_PUSHTXTBTN, RESIZE_RTB, 14, 0, -12, 15, 26, STR_00E4_LOCATION, STR_NULL}, { WWT_PUSHTXTBTN, RESIZE_LRTB, 14, -11, 0, 15, 26, 0x0, STR_NULL}, { WWT_PUSHIMGBTN, RESIZE_LRTB, 14, 1, 11, 15, 26, SPR_FLAG_VEH_STOPPED,STR_NULL}, { WWT_PUSHIMGBTN, RESIZE_LRTB, 14, 12, 23, 15, 26, SPR_FLAG_VEH_RUNNING,STR_NULL}, { WWT_RESIZEBOX, RESIZE_LRTB, 14, 24, 35, 15, 26, 0x0, STR_RESIZE_BUTTON}, { WIDGETS_END}, }
Definition at line 72 of file depot_gui.cpp.
const uint _resize_cap[][2] |
Initial value:
{ {6, 10 * 29}, {5, 5}, {3, 3}, {3, 4}, }
Definition at line 646 of file depot_gui.cpp.
const WindowDesc _road_depot_desc [static] |
Initial value:
{ WDP_AUTO, WDP_AUTO, 36, 27, 36, 27, WC_VEHICLE_DEPOT, WC_NONE, WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE, _depot_widgets, DepotWndProc }
Definition at line 110 of file depot_gui.cpp.
const WindowDesc _ship_depot_desc [static] |
Initial value:
{ WDP_AUTO, WDP_AUTO, 36, 27, 36, 27, WC_VEHICLE_DEPOT, WC_NONE, WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE, _depot_widgets, DepotWndProc }
Definition at line 118 of file depot_gui.cpp.
const WindowDesc _train_depot_desc [static] |
Initial value:
{ WDP_AUTO, WDP_AUTO, 36, 27, 36, 27, WC_VEHICLE_DEPOT, WC_NONE, WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE, _depot_widgets, DepotWndProc }
Definition at line 102 of file depot_gui.cpp.