OpenTTD Source
20241120-master-g6d3adc6169
|
The base GUI for all vehicles. More...
#include "stdafx.h"
#include "debug.h"
#include "company_func.h"
#include "gui.h"
#include "textbuf_gui.h"
#include "command_func.h"
#include "vehicle_gui_base.h"
#include "viewport_func.h"
#include "newgrf_text.h"
#include "newgrf_debug.h"
#include "roadveh.h"
#include "train.h"
#include "aircraft.h"
#include "depot_map.h"
#include "group_gui.h"
#include "strings_func.h"
#include "vehicle_func.h"
#include "autoreplace_gui.h"
#include "string_func.h"
#include "dropdown_type.h"
#include "dropdown_func.h"
#include "timetable.h"
#include "articulated_vehicles.h"
#include "spritecache.h"
#include "core/geometry_func.hpp"
#include "core/container_func.hpp"
#include "company_base.h"
#include "engine_func.h"
#include "station_base.h"
#include "tilehighlight_func.h"
#include "zoom_func.h"
#include "depot_cmd.h"
#include "vehicle_cmd.h"
#include "order_cmd.h"
#include "roadveh_cmd.h"
#include "train_cmd.h"
#include "hotkeys.h"
#include "group_cmd.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | RefitOption |
Option to refit a vehicle chain. More... | |
struct | RefitWindow |
Refit cargo window. More... | |
struct | VehicleListWindow |
Window for the (old) vehicle listing. More... | |
struct | VehicleDetailsWindow |
Class for managing the vehicle details window. More... | |
struct | VehicleViewWindow |
Window manager class for viewing a vehicle. More... | |
Typedefs | |
using | RefitOptions = std::map< CargoID, std::vector< RefitOption >, CargoIDComparator > |
Available refit options (subtype and string) associated with each cargo type. | |
Enumerations | |
enum | VehicleCommandTranslation { VCT_CMD_START_STOP = 0 , VCT_CMD_CLONE_VEH , VCT_CMD_TURN_AROUND } |
Command indices for the _vehicle_command_translation_table. | |
Functions | |
template<BaseVehicleListWindow::VehicleIndividualSortFunction func> | |
static bool | VehicleIndividualToGroupSorterWrapper (GUIVehicleGroup const &a, GUIVehicleGroup const &b) |
Wrapper to convert a VehicleIndividualSortFunction to a VehicleGroupSortFunction. | |
uint | CountDigitsForAllocatingSpace (uint number) |
Get the number of digits of space required for the given number. More... | |
uint | GetUnitNumberDigits (VehicleList &vehicles) |
Get the number of digits the biggest unit number of a set of vehicles has. More... | |
static bool | CargoFilterSingle (const Vehicle *v, const CargoID cid) |
Check whether a single vehicle should pass the filter. More... | |
static bool | CargoFilter (const GUIVehicleGroup *vehgroup, const CargoID cid) |
Check whether a vehicle can carry a specific cargo. More... | |
bool | ShowCargoIconOverlay () |
Test if cargo icon overlays should be drawn. More... | |
void | AddCargoIconOverlay (std::vector< CargoIconOverlay > &overlays, int x, int width, const Vehicle *v) |
Add a cargo icon to the list of overlays. More... | |
void | DrawCargoIconOverlay (int x, int y, CargoID cid) |
Draw a cargo icon overlaying an existing sprite, with a black contrast outline. More... | |
void | DrawCargoIconOverlays (std::span< const CargoIconOverlay > overlays, int y) |
Draw a list of cargo icon overlays. More... | |
void | DepotSortList (VehicleList *list) |
static void | DrawVehicleProfitButton (TimerGameEconomy::Date age, Money display_profit_last_year, uint num_vehicles, int x, int y) |
draw the vehicle profit button in the vehicle list window. | |
uint8_t | GetBestFittingSubType (Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_type) |
Get the best fitting subtype when 'cloning'/'replacing' v_from with v_for. More... | |
static void | DrawVehicleRefitWindow (const RefitOptions &refits, const RefitOption *sel, uint pos, uint rows, uint delta, const Rect &r) |
Draw the list of available refit options for a consist and highlight the selected refit option (if any). More... | |
void | ShowVehicleRefitWindow (const Vehicle *v, VehicleOrderID order, Window *parent, bool auto_refit) |
Show the refit window for a vehicle. More... | |
uint | ShowRefitOptionsList (int left, int right, int y, EngineID engine) |
Display list of cargo types of the engine, for the purchase information window. | |
StringID | GetCargoSubtypeText (const Vehicle *v) |
Get the cargo subtype text from NewGRF for the vehicle details window. | |
static bool | VehicleGroupLengthSorter (const GUIVehicleGroup &a, const GUIVehicleGroup &b) |
Sort vehicle groups by the number of vehicles in the group. | |
static bool | VehicleGroupTotalProfitThisYearSorter (const GUIVehicleGroup &a, const GUIVehicleGroup &b) |
Sort vehicle groups by the total profit this year. | |
static bool | VehicleGroupTotalProfitLastYearSorter (const GUIVehicleGroup &a, const GUIVehicleGroup &b) |
Sort vehicle groups by the total profit last year. | |
static bool | VehicleGroupAverageProfitThisYearSorter (const GUIVehicleGroup &a, const GUIVehicleGroup &b) |
Sort vehicle groups by the average profit this year. | |
static bool | VehicleGroupAverageProfitLastYearSorter (const GUIVehicleGroup &a, const GUIVehicleGroup &b) |
Sort vehicle groups by the average profit last year. | |
static bool | VehicleNumberSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their number. | |
static bool | VehicleNameSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their name. | |
static bool | VehicleAgeSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their age. | |
static bool | VehicleProfitThisYearSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by this year profit. | |
static bool | VehicleProfitLastYearSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by last year profit. | |
static bool | VehicleCargoSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their cargo. | |
static bool | VehicleReliabilitySorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their reliability. | |
static bool | VehicleMaxSpeedSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their max speed. | |
static bool | VehicleModelSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by model. | |
static bool | VehicleValueSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their value. | |
static bool | VehicleLengthSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by their length. | |
static bool | VehicleTimeToLiveSorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by the time they can still live. | |
static bool | VehicleTimetableDelaySorter (const Vehicle *const &a, const Vehicle *const &b) |
Sort vehicles by the timetable delay. | |
void | InitializeGUI () |
static void | ChangeVehicleWindow (WindowClass window_class, VehicleID from_index, VehicleID to_index) |
Assign a vehicle window a new vehicle. More... | |
void | ChangeVehicleViewWindow (VehicleID from_index, VehicleID to_index) |
Report a change in vehicle IDs (due to autoreplace) to affected vehicle windows. More... | |
static void | DrawSmallOrderList (const Vehicle *v, int left, int right, int y, uint order_arrow_width, VehicleOrderID start) |
static void | DrawSmallOrderList (const Order *order, int left, int right, int y, uint order_arrow_width) |
Draw small order list in the vehicle GUI, but without the little black arrow. More... | |
void | DrawVehicleImage (const Vehicle *v, const Rect &r, VehicleID selection, EngineImageType image_type, int skip) |
Draws an image of a vehicle chain. More... | |
uint | GetVehicleListHeight (VehicleType type, uint divisor) |
Get the height of a vehicle in the vehicle list GUIs. More... | |
static int | GetUnitNumberWidth (int digits) |
Get width required for the formatted unit number display. More... | |
static void | ShowVehicleListWindowLocal (CompanyID company, VehicleListType vlt, VehicleType vehicle_type, uint32_t unique_number) |
void | ShowVehicleListWindow (CompanyID company, VehicleType vehicle_type) |
void | ShowVehicleListWindow (const Vehicle *v) |
void | ShowVehicleListWindow (CompanyID company, VehicleType vehicle_type, StationID station) |
void | ShowVehicleListWindow (CompanyID company, VehicleType vehicle_type, TileIndex depot_tile) |
int | GetTrainDetailsWndVScroll (VehicleID veh_id, TrainDetailsWindowTabs det_tab) |
Determines the number of lines in the train details window. More... | |
void | DrawTrainDetails (const Train *v, const Rect &r, int vscroll_pos, uint16_t vscroll_cap, TrainDetailsWindowTabs det_tab) |
Draw the details for the given vehicle at the given position. More... | |
void | DrawRoadVehDetails (const Vehicle *v, const Rect &r) |
Draw the details for the given vehicle at the given position. More... | |
void | DrawShipDetails (const Vehicle *v, const Rect &r) |
Draw the details for the given vehicle at the given position. More... | |
void | DrawAircraftDetails (const Aircraft *v, const Rect &r) |
Draw the details for the given vehicle at the given position. More... | |
static void | ShowVehicleDetailsWindow (const Vehicle *v) |
Shows the vehicle details window of the given vehicle. | |
void | CcStartStopVehicle (Commands, const CommandCost &result, VehicleID veh_id, bool) |
This is the Callback method after attempting to start/stop a vehicle. More... | |
void | StartStopVehicle (const Vehicle *v, bool texteffect) |
Executes CMD_START_STOP_VEHICLE for given vehicle. More... | |
static bool | IsVehicleRefitable (const Vehicle *v) |
Checks whether the vehicle may be refitted at the moment. | |
void | ShowVehicleViewWindow (const Vehicle *v) |
Shows the vehicle view window of the given vehicle. | |
bool | VehicleClicked (const Vehicle *v) |
Dispatch a "vehicle selected" event if any window waits for it. More... | |
bool | VehicleClicked (VehicleList::const_iterator begin, VehicleList::const_iterator end) |
Dispatch a "vehicle group selected" event if any window waits for it. More... | |
bool | VehicleClicked (const GUIVehicleGroup &vehgroup) |
Dispatch a "vehicle group selected" event if any window waits for it. More... | |
void | StopGlobalFollowVehicle (const Vehicle *v) |
void | CcBuildPrimaryVehicle (Commands, const CommandCost &result, VehicleID new_veh_id, uint, uint16_t, CargoArray) |
This is the Callback method after the construction attempt of a primary vehicle. More... | |
int | GetSingleVehicleWidth (const Vehicle *v, EngineImageType image_type) |
Get the width of a vehicle (part) in pixels. More... | |
int | GetVehicleWidth (const Vehicle *v, EngineImageType image_type) |
Get the width of a vehicle (including all parts of the consist) in pixels. More... | |
void | SetMouseCursorVehicle (const Vehicle *v, EngineImageType image_type) |
Set the mouse cursor to look like a vehicle. More... | |
Variables | |
BaseVehicleListWindow::GroupBy | _grouping [VLT_END][VEH_COMPANY_END] |
Sorting | _sorting [BaseVehicleListWindow::GB_END] |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleNumberSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleNameSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleAgeSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleProfitThisYearSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleProfitLastYearSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleCargoSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleReliabilitySorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleMaxSpeedSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleModelSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleValueSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleLengthSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleTimeToLiveSorter |
static BaseVehicleListWindow::VehicleIndividualSortFunction | VehicleTimetableDelaySorter |
static BaseVehicleListWindow::VehicleGroupSortFunction | VehicleGroupLengthSorter |
static BaseVehicleListWindow::VehicleGroupSortFunction | VehicleGroupTotalProfitThisYearSorter |
static BaseVehicleListWindow::VehicleGroupSortFunction | VehicleGroupTotalProfitLastYearSorter |
static BaseVehicleListWindow::VehicleGroupSortFunction | VehicleGroupAverageProfitThisYearSorter |
static BaseVehicleListWindow::VehicleGroupSortFunction | VehicleGroupAverageProfitLastYearSorter |
static GUIVehicleGroupList::FilterFunction *const | _vehicle_group_filter_funcs [] |
static const Vehicle * | _last_vehicle [2] = { nullptr, nullptr } |
static const uint | MAX_REFIT_CYCLE = 256 |
Maximum number of refit cycles we try, to prevent infinite loops. More... | |
static constexpr NWidgetPart | _nested_vehicle_refit_widgets [] |
static WindowDesc | _vehicle_refit_desc (WDP_AUTO, "view_vehicle_refit", 240, 174, WC_VEHICLE_REFIT, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, _nested_vehicle_refit_widgets) |
static constexpr NWidgetPart | _nested_vehicle_list [] |
static WindowDesc | _vehicle_list_other_desc (WDP_AUTO, "list_vehicles", 260, 246, WC_INVALID, WC_NONE, 0, _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) |
static constexpr NWidgetPart | _nested_nontrain_vehicle_details_widgets [] |
Vehicle details widgets (other than train). More... | |
static constexpr NWidgetPart | _nested_train_vehicle_details_widgets [] |
Train details widgets. | |
static StringID | _service_interval_dropdown_calendar [] |
static StringID | _service_interval_dropdown_wallclock [] |
static WindowDesc | _train_vehicle_details_desc (WDP_AUTO, "view_vehicle_details_train", 405, 178, WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW, 0, _nested_train_vehicle_details_widgets) |
Vehicle details window descriptor. | |
static WindowDesc | _nontrain_vehicle_details_desc (WDP_AUTO, "view_vehicle_details", 405, 113, WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW, 0, _nested_nontrain_vehicle_details_widgets) |
Vehicle details window descriptor for other vehicles than a train. | |
static constexpr NWidgetPart | _nested_vehicle_view_widgets [] |
Vehicle view widgets. | |
static const ZoomLevel | _vehicle_view_zoom_levels [] |
Zoom levels for vehicle views indexed by vehicle type. More... | |
static const int | VV_INITIAL_VIEWPORT_WIDTH = 226 |
static const int | VV_INITIAL_VIEWPORT_HEIGHT = 84 |
static const int | VV_INITIAL_VIEWPORT_HEIGHT_TRAIN = 102 |
static const StringID | _vehicle_msg_translation_table [][4] |
Command codes for the shared buttons indexed by VehicleCommandTranslation and vehicle type. More... | |
static WindowDesc | _vehicle_view_desc (WDP_AUTO, "view_vehicle", 250, 116, WC_VEHICLE_VIEW, WC_NONE, 0, _nested_vehicle_view_widgets, &VehicleViewWindow::hotkeys) |
Vehicle view window descriptor for all vehicles but trains. | |
static WindowDesc | _train_view_desc (WDP_AUTO, "view_vehicle_train", 250, 134, WC_VEHICLE_VIEW, WC_NONE, 0, _nested_vehicle_view_widgets, &VehicleViewWindow::hotkeys) |
Vehicle view window descriptor for trains. More... | |
The base GUI for all vehicles.
Definition in file vehicle_gui.cpp.
void AddCargoIconOverlay | ( | std::vector< CargoIconOverlay > & | overlays, |
int | x, | ||
int | width, | ||
const Vehicle * | v | ||
) |
Add a cargo icon to the list of overlays.
overlays | List of overlays. |
x | Horizontal position. |
width | Width available. |
v | Vehicle to add. |
Definition at line 348 of file vehicle_gui.cpp.
|
static |
Check whether a vehicle can carry a specific cargo.
vehgroup | The vehicle group which contains the vehicle to be checked |
cid | The cargo what we are looking for |
Definition at line 320 of file vehicle_gui.cpp.
References CargoFilterSingle(), GUIVehicleGroup::vehicles_begin, and GUIVehicleGroup::vehicles_end.
Check whether a single vehicle should pass the filter.
v | The vehicle to check. |
cid | The cargo to filter for. |
Definition at line 280 of file vehicle_gui.cpp.
References CC_PASSENGERS, CargoFilterCriteria::CF_ANY, CargoFilterCriteria::CF_FREIGHT, CargoFilterCriteria::CF_NONE, IsCargoInClass(), and Vehicle::Next().
Referenced by CargoFilter().
void CcBuildPrimaryVehicle | ( | Commands | , |
const CommandCost & | result, | ||
VehicleID | new_veh_id, | ||
uint | , | ||
uint16_t | , | ||
CargoArray | |||
) |
This is the Callback method after the construction attempt of a primary vehicle.
result | indicates completion (or not) of the operation |
new_veh_id | ID of the new vehicle. |
Definition at line 3567 of file vehicle_gui.cpp.
void CcStartStopVehicle | ( | Commands | cmd, |
const CommandCost & | result, | ||
VehicleID | veh_id, | ||
bool | |||
) |
This is the Callback method after attempting to start/stop a vehicle.
result | the result of the start/stop command |
veh_id | Vehicle ID. |
Definition at line 2986 of file vehicle_gui.cpp.
Report a change in vehicle IDs (due to autoreplace) to affected vehicle windows.
from_index | the old vehicle ID |
to_index | the new vehicle ID |
Definition at line 1608 of file vehicle_gui.cpp.
References ChangeVehicleWindow(), WC_VEHICLE_DETAILS, WC_VEHICLE_ORDERS, WC_VEHICLE_REFIT, WC_VEHICLE_TIMETABLE, and WC_VEHICLE_VIEW.
|
inlinestatic |
Assign a vehicle window a new vehicle.
window_class | WindowClass to search for |
from_index | the old vehicle ID |
to_index | the new vehicle ID |
Definition at line 1585 of file vehicle_gui.cpp.
References FindWindowById(), ViewportData::follow_vehicle, Window::viewport, and Window::window_number.
Referenced by ChangeVehicleViewWindow().
uint CountDigitsForAllocatingSpace | ( | uint | number | ) |
Get the number of digits of space required for the given number.
number | The number. |
Definition at line 189 of file vehicle_gui.cpp.
Referenced by GetUnitNumberDigits().
Draw the details for the given vehicle at the given position.
v | current vehicle |
r | the Rect to draw within |
Definition at line 30 of file aircraft_gui.cpp.
Referenced by VehicleDetailsWindow::DrawVehicleDetails().
void DrawCargoIconOverlay | ( | int | x, |
int | y, | ||
CargoID | cid | ||
) |
Draw a cargo icon overlaying an existing sprite, with a black contrast outline.
x | Horizontal position from left. |
y | Vertical position from top. |
cid | Cargo ID to draw icon for. |
Definition at line 371 of file vehicle_gui.cpp.
void DrawCargoIconOverlays | ( | std::span< const CargoIconOverlay > | overlays, |
int | y | ||
) |
Draw a list of cargo icon overlays.
overlays | List of overlays. |
y | Vertical position. |
Definition at line 400 of file vehicle_gui.cpp.
Draw the details for the given vehicle at the given position.
v | current vehicle |
r | the Rect to draw within |
Definition at line 29 of file roadveh_gui.cpp.
Referenced by VehicleDetailsWindow::DrawVehicleDetails().
Draw the details for the given vehicle at the given position.
v | current vehicle |
r | the Rect to draw within |
Definition at line 63 of file ship_gui.cpp.
Referenced by VehicleDetailsWindow::DrawVehicleDetails().
|
static |
Draw small order list in the vehicle GUI, but without the little black arrow.
This is used for shared order groups.
Definition at line 1709 of file vehicle_gui.cpp.
void DrawTrainDetails | ( | const Train * | v, |
const Rect & | r, | ||
int | vscroll_pos, | ||
uint16_t | vscroll_cap, | ||
TrainDetailsWindowTabs | det_tab | ||
) |
Draw the details for the given vehicle at the given position.
v | current vehicle |
r | the Rect to draw within |
vscroll_pos | Position of scrollbar |
vscroll_cap | Number of lines currently displayed |
det_tab | Selected details tab |
Definition at line 362 of file train_gui.cpp.
Referenced by VehicleDetailsWindow::DrawVehicleDetails().
void DrawVehicleImage | ( | const Vehicle * | v, |
const Rect & | r, | ||
VehicleID | selection, | ||
EngineImageType | image_type, | ||
int | skip | ||
) |
Draws an image of a vehicle chain.
v | Front vehicle |
r | Rect to draw at |
selection | Selected vehicle to draw a frame around |
skip | Number of pixels to skip at the front (for scrolling) |
Definition at line 1734 of file vehicle_gui.cpp.
References DrawAircraftImage(), DrawRoadVehImage(), DrawShipImage(), DrawTrainImage(), SpecializedVehicle< T, Type >::From(), BaseVehicle::type, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
|
static |
Draw the list of available refit options for a consist and highlight the selected refit option (if any).
refits | Available refit options for each (sorted) cargo. |
sel | Selected refit option in the window |
pos | Position of the selected item in caller widow |
rows | Number of rows(capacity) in caller window |
delta | Step height in caller window |
r | Rectangle of the matrix widget. |
Definition at line 700 of file vehicle_gui.cpp.
References _current_text_dir, GetSpriteSize(), WidgetDimensions::scaled, Rect::Shrink(), and TD_RTL.
Get the best fitting subtype when 'cloning'/'replacing' v_from with v_for.
All articulated parts of both vehicles are tested to find a possibly shared subtype. For v_for only vehicle refittable to dest_cargo_type are considered.
v_from | the vehicle to match the subtype from |
v_for | the vehicle to get the subtype for |
dest_cargo_type | Destination cargo type. |
Definition at line 599 of file vehicle_gui.cpp.
References EngineInfo::callback_mask, Engine::CanCarryCargo(), CBM_VEHICLE_CARGO_SUFFIX, GetCargoSubtypeText(), Vehicle::GetEngine(), Vehicle::GetFirstEnginePart(), Vehicle::GetNextArticulatedPart(), Vehicle::HasArticulatedPart(), HasBit(), include(), and MAX_REFIT_CYCLE.
Referenced by LinkRefresher::HandleRefit(), and RefitVehicle().
int GetSingleVehicleWidth | ( | const Vehicle * | v, |
EngineImageType | image_type | ||
) |
Get the width of a vehicle (part) in pixels.
v | Vehicle to get the width for. |
Definition at line 3580 of file vehicle_gui.cpp.
References _current_text_dir, DIR_E, DIR_W, SpecializedVehicle< T, Type >::From(), VehicleSpriteSeq::GetBounds(), Vehicle::GetImage(), TD_RTL, BaseVehicle::type, UnScaleGUI(), VEH_ROAD, VEH_TRAIN, and Rect::Width().
Referenced by GetVehicleWidth().
int GetTrainDetailsWndVScroll | ( | VehicleID | veh_id, |
TrainDetailsWindowTabs | det_tab | ||
) |
Determines the number of lines in the train details window.
veh_id | Train |
det_tab | Selected details tab |
Definition at line 328 of file train_gui.cpp.
References _cargo_summary, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Get(), SpecializedVehicle< T, Type >::Get(), GetCargoSummaryOfArticulatedVehicle(), CargoArray::GetCount(), GetLengthOfArticulatedVehicle(), ScaleSpriteTrad(), TDW_TAB_TOTALS, and TRAIN_DETAILS_MAX_INDENT.
Referenced by VehicleDetailsWindow::OnPaint().
uint GetUnitNumberDigits | ( | VehicleList & | vehicles | ) |
Get the number of digits the biggest unit number of a set of vehicles has.
vehicles | The list of vehicles. |
Definition at line 208 of file vehicle_gui.cpp.
References CountDigitsForAllocatingSpace().
Referenced by DepotWindow::OnPaint().
|
static |
Get width required for the formatted unit number display.
digits | Number of digits required for unit number. |
Definition at line 1770 of file vehicle_gui.cpp.
References GetStringBoundingBox(), and SetDParamMaxDigits().
uint GetVehicleListHeight | ( | VehicleType | type, |
uint | divisor | ||
) |
Get the height of a vehicle in the vehicle list GUIs.
type | the vehicle type to look at |
divisor | the resulting height must be dividable by this |
Definition at line 1751 of file vehicle_gui.cpp.
References FS_SMALL, GetCharacterHeight(), GetVehicleHeight(), WidgetDimensions::matrix, WidgetDimensions::scaled, ScaleGUITrad(), VEH_SHIP, and RectPadding::Vertical().
int GetVehicleWidth | ( | const Vehicle * | v, |
EngineImageType | image_type | ||
) |
Get the width of a vehicle (including all parts of the consist) in pixels.
v | Vehicle to get the width for. |
Definition at line 3604 of file vehicle_gui.cpp.
References GetSingleVehicleWidth(), SpecializedVehicle< T, Type >::Next(), BaseVehicle::type, VEH_ROAD, and VEH_TRAIN.
Referenced by RefitWindow::OnInvalidateData(), and RefitWindow::OnResize().
void SetMouseCursorVehicle | ( | const Vehicle * | v, |
EngineImageType | image_type | ||
) |
Set the mouse cursor to look like a vehicle.
v | Vehicle |
image_type | Type of vehicle image to use. |
Definition at line 3622 of file vehicle_gui.cpp.
References _current_text_dir, and TD_RTL.
bool ShowCargoIconOverlay | ( | ) |
Test if cargo icon overlays should be drawn.
Definition at line 336 of file vehicle_gui.cpp.
References _ctrl_pressed, and _shift_pressed.
Referenced by DepotWindow::OnMouseLoop(), VehicleGroupWindow::OnMouseLoop(), and VehicleListWindow::OnMouseLoop().
void ShowVehicleRefitWindow | ( | const Vehicle * | v, |
VehicleOrderID | order, | ||
Window * | parent, | ||
bool | auto_refit | ||
) |
Show the refit window for a vehicle.
*v | The vehicle to show the refit window for |
order | of the vehicle to assign refit to, or INVALID_VEH_ORDER_ID to refit the vehicle now |
parent | the parent window of the refit window |
auto_refit | Choose cargo for auto-refitting |
Definition at line 1369 of file vehicle_gui.cpp.
References CloseWindowById(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, and WC_VEHICLE_REFIT.
Referenced by OrdersWindow::OrderClick_Refit().
void StartStopVehicle | ( | const Vehicle * | v, |
bool | texteffect | ||
) |
Executes CMD_START_STOP_VEHICLE for given vehicle.
v | Vehicle to start/stop |
texteffect | Should a texteffect be shown? |
Definition at line 3003 of file vehicle_gui.cpp.
References _vehicle_msg_translation_table, and Vehicle::IsPrimaryVehicle().
bool VehicleClicked | ( | const GUIVehicleGroup & | vehgroup | ) |
Dispatch a "vehicle group selected" event if any window waits for it.
vehgroup | the GUIVehicleGroup representing the vehicle group |
Definition at line 3547 of file vehicle_gui.cpp.
References VehicleClicked(), GUIVehicleGroup::vehicles_begin, and GUIVehicleGroup::vehicles_end.
bool VehicleClicked | ( | const Vehicle * | v | ) |
Dispatch a "vehicle selected" event if any window waits for it.
v | selected vehicle; |
Definition at line 3514 of file vehicle_gui.cpp.
Referenced by VehicleClicked().
bool VehicleClicked | ( | VehicleList::const_iterator | begin, |
VehicleList::const_iterator | end | ||
) |
Dispatch a "vehicle group selected" event if any window waits for it.
begin | iterator to the start of the range of vehicles |
end | iterator to the end of the range of vehicles |
Definition at line 3531 of file vehicle_gui.cpp.
|
staticconstexpr |
Vehicle details widgets (other than train).
Definition at line 2376 of file vehicle_gui.cpp.
|
staticconstexpr |
Definition at line 1329 of file vehicle_gui.cpp.
|
static |
Definition at line 2441 of file vehicle_gui.cpp.
|
static |
Definition at line 2447 of file vehicle_gui.cpp.
|
static |
Vehicle view window descriptor for trains.
Only minimum_height and default_height are different for train view.
Referenced by ShowVehicleViewWindow().
|
static |
Definition at line 408 of file vehicle_gui.cpp.
|
static |
Command codes for the shared buttons indexed by VehicleCommandTranslation and vehicle type.
Definition at line 2960 of file vehicle_gui.cpp.
Referenced by StartStopVehicle().
|
static |
Zoom levels for vehicle views indexed by vehicle type.
Definition at line 2940 of file vehicle_gui.cpp.
|
static |
Maximum number of refit cycles we try, to prevent infinite loops.
And we store only a byte anyway
Definition at line 588 of file vehicle_gui.cpp.
Referenced by RefitWindow::BuildRefitList(), and GetBestFittingSubType().