# road_gui.cpp File Reference

GUI for building roads. More...

`#include "stdafx.h"`
`#include "openttd.h"`
`#include "gui.h"`
`#include "window_gui.h"`
`#include "station_gui.h"`
`#include "terraform_gui.h"`
`#include "viewport_func.h"`
`#include "gfx_func.h"`
`#include "command_func.h"`
`#include "road_type.h"`
`#include "road_cmd.h"`
`#include "road_map.h"`
`#include "station_func.h"`
`#include "functions.h"`
`#include "window_func.h"`
`#include "vehicle_func.h"`
`#include "sound_func.h"`
`#include "company_func.h"`
`#include "tunnelbridge.h"`
`#include "tilehighlight_func.h"`
`#include "company_base.h"`
`#include "settings_type.h"`
`#include "table/sprites.h"`
`#include "table/strings.h"`

Go to the source code of this file.

## Data Structures
struct | RoadTypeInfo
| Structure holding information per roadtype for several functions. More...
struct | BuildRoadToolbarWindow
struct | BuildRoadDepotWindow
struct | BuildRoadStationWindow
## Typedefs
typedef void | OnButtonClick (Window *w)
## Enumerations
enum | RoadFlags { RF_NONE = 0x00, RF_START_HALFROAD_Y = 0x01, RF_END_HALFROAD_Y = 0x02, RF_DIR_Y = 0x04, RF_DIR_X = RF_NONE, RF_START_HALFROAD_X = 0x08, RF_END_HALFROAD_X = 0x10 }
| Define the values of the RoadFlags. More...
enum | RoadToolbarWidgets { RTW_CLOSEBOX = 0, RTW_CAPTION, RTW_STICKY, RTW_ROAD_X, RTW_ROAD_Y, RTW_AUTOROAD, RTW_DEMOLISH, RTW_DEPOT, RTW_BUS_STATION, RTW_TRUCK_STATION, RTW_ONE_WAY, RTW_BUILD_BRIDGE, RTW_BUILD_TUNNEL, RTW_REMOVE }
| Enum referring to the widgets of the build road toolbar.
## Functions
static void | ShowRVStationPicker (Window *parent, RoadStopType rs)
static void | ShowRoadDepotPicker (Window *parent)
| DECLARE_ENUM_AS_BIT_SET (RoadFlags)
void | CcPlaySound1D (bool success, TileIndex tile, uint32 p1, uint32 p2)
static void | PlaceRoad_X_Dir (TileIndex tile)
| Set the initial flags for the road constuction.
static void | PlaceRoad_Y_Dir (TileIndex tile)
| Set the initial flags for the road constuction.
static void | PlaceRoad_AutoRoad (TileIndex tile)
| Set the initial flags for the road constuction.
static void | PlaceRoad_Bridge (TileIndex tile)
void | CcBuildRoadTunnel (bool success, TileIndex tile, uint32 p1, uint32 p2)
static void | PlaceRoad_Tunnel (TileIndex tile)
static void | BuildRoadOutsideStation (TileIndex tile, DiagDirection direction)
void | CcRoadDepot (bool success, TileIndex tile, uint32 p1, uint32 p2)
static void | PlaceRoad_Depot (TileIndex tile)
static void | PlaceRoadStop (TileIndex tile, uint32 p2, uint32 cmd)
static void | PlaceRoad_BusStation (TileIndex tile)
static void | PlaceRoad_TruckStation (TileIndex tile)
static void | ToggleRoadButton_Remove (Window *w)
| Toogles state of the Remove button of Build road toolbar.
static bool | RoadToolbar_CtrlChanged (Window *w)
| Updates the Remove button because of Ctrl state change.
static void | BuildRoadClick_X_Dir (Window *w)
| Function that handles the click on the X road placement button.
static void | BuildRoadClick_Y_Dir (Window *w)
| Function that handles the click on the Y road placement button.
static void | BuildRoadClick_AutoRoad (Window *w)
| Function that handles the click on the autoroad placement button.
static void | BuildRoadClick_Demolish (Window *w)
static void | BuildRoadClick_Depot (Window *w)
static void | BuildRoadClick_BusStation (Window *w)
static void | BuildRoadClick_TruckStation (Window *w)
static void | BuildRoadClick_OneWay (Window *w)
| Function that handles the click on the one way road button.
static void | BuildRoadClick_Bridge (Window *w)
static void | BuildRoadClick_Tunnel (Window *w)
static void | BuildRoadClick_Remove (Window *w)
void | ShowBuildRoadToolbar (RoadType roadtype)
void | ShowBuildRoadScenToolbar ()
void | InitializeRoadGui ()
## Variables
static bool | _remove_button_clicked
static bool | _one_way_button_clicked
static RoadFlags | _place_road_flag
static RoadType | _cur_roadtype
static DiagDirection | _road_depot_orientation
static DiagDirection | _road_station_picker_orientation
static const RoadTypeInfo | _road_type_infos []
| What errors/cursors must be shown for several types of roads.
static OnButtonClick *const | _build_road_button_proc []
| Array with the handlers of the button-clicks for the road-toolbar.
static const uint16 | _road_keycodes []
| Array with the keycode of the button-clicks for the road-toolbar.
static const Widget | _build_road_widgets []
| Widget definition of the build road toolbar.
static const WindowDesc | _build_road_desc
static const Widget | _build_tramway_widgets []
| Widget definition of the build tram toolbar.
static const WindowDesc | _build_tramway_desc
static const Widget | _build_road_scen_widgets []
| Widget definition of the build road toolbar in the scenario editor.
static const WindowDesc | _build_road_scen_desc
static const Widget | _build_road_depot_widgets []
| Widget definition of the build road depot window.
static const WindowDesc | _build_road_depot_desc
static const Widget | _rv_station_picker_widgets []
| Widget definition of the build raod station window.
static const WindowDesc | _rv_station_picker_desc

## Detailed Description

GUI for building roads.

Definition in file road_gui.cpp.

## Enumeration Type Documentation

enum RoadFlags

Define the values of the RoadFlags.

See also:
  CmdBuildLongRoad

Definition at line 41 of file road_gui.cpp.

## Function Documentation

static void BuildRoadClick_AutoRoad | ( | Window * | w | ) | `[static]`

Function that handles the click on the autoroad placement button.

Parameters:

  | w | The current window

Definition at line 316 of file road_gui.cpp.

References HandlePlacePushButton(), PlaceRoad_AutoRoad(), and VHM_RECT.

static void BuildRoadClick_OneWay | ( | Window * | w | ) | `[static]`

Function that handles the click on the one way road button.

Parameters:

  | w | The current window

Definition at line 350 of file road_gui.cpp.

References Window::IsWidgetDisabled(), Window::SetDirty(), and Window::ToggleWidgetLoweredState().

static void BuildRoadClick_X_Dir | ( | Window * | w | ) | `[static]`

Function that handles the click on the X road placement button.

Parameters:

  | w | The current window

Definition at line 294 of file road_gui.cpp.

References HandlePlacePushButton(), PlaceRoad_X_Dir(), and VHM_RECT.

static void BuildRoadClick_Y_Dir | ( | Window * | w | ) | `[static]`

Function that handles the click on the Y road placement button.

Parameters:

  | w | The current window

Definition at line 305 of file road_gui.cpp.

References HandlePlacePushButton(), PlaceRoad_Y_Dir(), and VHM_RECT.

static void PlaceRoad_AutoRoad | ( | TileIndex | tile | ) | `[static]`

Set the initial flags for the road constuction.

The flags are:

- The direction is not set.
- The first tile has a partitial RoadBit (true or false)

Parameters:

  | tile | The start tile

Definition at line 102 of file road_gui.cpp.

References VPM_X_OR_Y, VpStartPlaceSizing(), Point::x, and Point::y.

Referenced by BuildRoadClick_AutoRoad().

static void PlaceRoad_X_Dir | ( | TileIndex | tile | ) | `[static]`

Set the initial flags for the road constuction.

The flags are:

- The direction is the X-dir
- The first tile has a partitial RoadBit (true or false)

Parameters:

  | tile | The start tile

Definition at line 72 of file road_gui.cpp.

References VPM_FIX_Y, VpStartPlaceSizing(), and Point::x.

Referenced by BuildRoadClick_X_Dir().

static void PlaceRoad_Y_Dir | ( | TileIndex | tile | ) | `[static]`

Set the initial flags for the road constuction.

The flags are:

- The direction is the Y-dir
- The first tile has a partitial RoadBit (true or false)

Parameters:

  | tile | The start tile

Definition at line 87 of file road_gui.cpp.

References VPM_FIX_X, VpStartPlaceSizing(), and Point::y.

Referenced by BuildRoadClick_Y_Dir().

static bool RoadToolbar_CtrlChanged | ( | Window * | w | ) | `[static]`

Updates the Remove button because of Ctrl state change.

Parameters:

  | w | window the button belongs to

Returns:
  true iff the remove buton was changed

Definition at line 272 of file road_gui.cpp.

References Window::IsWidgetDisabled(), Window::IsWidgetLowered(), and ToggleRoadButton_Remove().

static void ToggleRoadButton_Remove | ( | Window * | w | ) | `[static]`

Toogles state of the Remove button of Build road toolbar.

Parameters:

  | w | window the button belongs to

Definition at line 260 of file road_gui.cpp.

References _remove_button_clicked, Window::InvalidateWidget(), Window::IsWidgetLowered(), and Window::ToggleWidgetLoweredState().

Referenced by RoadToolbar_CtrlChanged().

## Variable Documentation

OnButtonClick* const _build_road_button_proc[]`[static]`

Initial value:

     {
      BuildRoadClick_X_Dir,
      BuildRoadClick_Y_Dir,
      BuildRoadClick_AutoRoad,
      BuildRoadClick_Demolish,
      BuildRoadClick_Depot,
      BuildRoadClick_BusStation,
      BuildRoadClick_TruckStation,
      BuildRoadClick_OneWay,
      BuildRoadClick_Bridge,
      BuildRoadClick_Tunnel,
      BuildRoadClick_Remove
    }

Array with the handlers of the button-clicks for the road-toolbar.

Definition at line 378 of file road_gui.cpp.

const WindowDesc _build_road_depot_desc`[static]`

Initial value:

     {
      WDP_AUTO, WDP_AUTO, 140, 122, 140, 122,
      WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
      WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
      _build_road_depot_widgets,
    }

Definition at line 790 of file road_gui.cpp.

const Widget _build_road_depot_widgets[]`[static]`

Initial value:

     {
    {   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,    0,    10,     0,    13, STR_00C5,                        STR_018B_CLOSE_WINDOW},
    {    WWT_CAPTION,   RESIZE_NONE,  COLOUR_DARK_GREEN,   11,   139,     0,    13, STR_1806_ROAD_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_DARK_GREEN,    0,   139,    14,   121, 0x0,                             STR_NULL},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,         71,   136,    17,    66, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,         71,   136,    69,   118, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,          3,    68,    69,   118, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,          3,    68,    17,    66, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
    {   WIDGETS_END},
    }

Widget definition of the build road depot window.

Definition at line 779 of file road_gui.cpp.

const WindowDesc _build_road_desc`[static]`

Initial value:

     {
      WDP_ALIGN_TBR, 22, 263, 36, 263, 36,
      WC_BUILD_TOOLBAR, WC_NONE,
      WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
      _build_road_widgets,
    }

Definition at line 647 of file road_gui.cpp.

const WindowDesc _build_road_scen_desc`[static]`

Initial value:

     {
      WDP_AUTO, WDP_AUTO, 197, 36, 197, 36,
      WC_SCEN_BUILD_TOOLBAR, WC_NONE,
      WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
      _build_road_scen_widgets,
    }

Definition at line 711 of file road_gui.cpp.

const Widget _build_road_scen_widgets[]`[static]`

Initial value:

     {
    {   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},
    {    WWT_CAPTION,   RESIZE_NONE,  COLOUR_DARK_GREEN,    11,   184,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
    {  WWT_STICKYBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,   185,   196,     0,    13, 0x0,                        STR_STICKY_BUTTON},

    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,    21,    14,    35, SPR_IMG_ROAD_X_DIR,         STR_180B_BUILD_ROAD_SECTION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    22,    43,    14,    35, SPR_IMG_ROAD_Y_DIR,         STR_180B_BUILD_ROAD_SECTION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    44,    65,    14,    35, SPR_IMG_AUTOROAD,           STR_BUILD_AUTOROAD_TIP},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    66,    87,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},
    {      WWT_EMPTY,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,     0,     0,     0, 0x0,                        STR_NULL},
    {      WWT_EMPTY,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,     0,     0,     0, 0x0,                        STR_NULL},
    {      WWT_EMPTY,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,     0,     0,     0, 0x0,                        STR_NULL},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    88,   109,    14,    35, SPR_IMG_ROAD_ONE_WAY,       STR_TOGGLE_ONE_WAY_ROAD},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   110,   152,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   153,   174,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   175,   196,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR},
    {   WIDGETS_END},
    }

Widget definition of the build road toolbar in the scenario editor.

Definition at line 692 of file road_gui.cpp.

const Widget _build_road_widgets[]`[static]`

Initial value:

     {
    {   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},
    {    WWT_CAPTION,   RESIZE_NONE,  COLOUR_DARK_GREEN,    11,   250,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
    {  WWT_STICKYBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,   251,   262,     0,    13, 0x0,                        STR_STICKY_BUTTON},

    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,    21,    14,    35, SPR_IMG_ROAD_X_DIR,         STR_180B_BUILD_ROAD_SECTION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    22,    43,    14,    35, SPR_IMG_ROAD_Y_DIR,         STR_180B_BUILD_ROAD_SECTION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    44,    65,    14,    35, SPR_IMG_AUTOROAD,           STR_BUILD_AUTOROAD_TIP},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    66,    87,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    88,   109,    14,    35, SPR_IMG_ROAD_DEPOT,         STR_180C_BUILD_ROAD_VEHICLE_DEPOT},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   110,   131,    14,    35, SPR_IMG_BUS_STATION,        STR_180D_BUILD_BUS_STATION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   132,   153,    14,    35, SPR_IMG_TRUCK_BAY,          STR_180E_BUILD_TRUCK_LOADING_BAY},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   154,   175,    14,    35, SPR_IMG_ROAD_ONE_WAY,       STR_TOGGLE_ONE_WAY_ROAD},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   176,   218,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   219,   240,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   241,   262,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR},

    {   WIDGETS_END},
    }

Widget definition of the build road toolbar.

Definition at line 627 of file road_gui.cpp.

const WindowDesc _build_tramway_desc`[static]`

Initial value:

     {
      WDP_ALIGN_TBR, 22, 241, 36, 241, 36,
      WC_BUILD_TOOLBAR, WC_NONE,
      WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
      _build_tramway_widgets,
    }

Definition at line 675 of file road_gui.cpp.

const Widget _build_tramway_widgets[]`[static]`

Initial value:

     {
    {   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
    {    WWT_CAPTION,   RESIZE_NONE,  COLOUR_DARK_GREEN,    11,   228,     0,    13, STR_WHITE_TRAMWAY_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
    {  WWT_STICKYBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,   229,   240,     0,    13, 0x0,                            STR_STICKY_BUTTON},

    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,    21,    14,    35, SPR_IMG_TRAMWAY_X_DIR,          STR_BUILD_TRAMWAY_SECTION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    22,    43,    14,    35, SPR_IMG_TRAMWAY_Y_DIR,          STR_BUILD_TRAMWAY_SECTION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    44,    65,    14,    35, SPR_IMG_AUTOTRAM,               STR_BUILD_AUTOTRAM_TIP},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    66,    87,    14,    35, SPR_IMG_DYNAMITE,               STR_018D_DEMOLISH_BUILDINGS_ETC},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,    88,   109,    14,    35, SPR_IMG_ROAD_DEPOT,             STR_BUILD_TRAM_VEHICLE_DEPOT},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   110,   131,    14,    35, SPR_IMG_BUS_STATION,            STR_BUILD_PASSENGER_TRAM_STATION},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   132,   153,    14,    35, SPR_IMG_TRUCK_BAY,              STR_BUILD_CARGO_TRAM_STATION},
    {      WWT_EMPTY,   RESIZE_NONE,  COLOUR_DARK_GREEN,     0,     0,     0,     0, 0x0,                            STR_NULL},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   154,   196,    14,    35, SPR_IMG_BRIDGE,                 STR_BUILD_TRAMWAY_BRIDGE},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   197,   218,    14,    35, SPR_IMG_ROAD_TUNNEL,            STR_BUILD_TRAMWAY_TUNNEL},
    {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_DARK_GREEN,   219,   240,    14,    35, SPR_IMG_REMOVE,                 STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS},

    {   WIDGETS_END},
    }

Widget definition of the build tram toolbar.

Definition at line 655 of file road_gui.cpp.

const uint16 _road_keycodes[]`[static]`

Initial value:

     {
      '1',
      '2',
      '3',
      '4',
      '5',
      '6',
      '7',
      '8',
      'B',
      'T',
      'R',
    }

Array with the keycode of the button-clicks for the road-toolbar.

Definition at line 393 of file road_gui.cpp.

const RoadTypeInfo _road_type_infos[]`[static]`

Initial value:

     {
      {
        STR_1804_CAN_T_BUILD_ROAD_HERE,
        STR_1805_CAN_T_REMOVE_ROAD_FROM,
        STR_1807_CAN_T_BUILD_ROAD_VEHICLE,
        { STR_1808_CAN_T_BUILD_BUS_STATION,        STR_1809_CAN_T_BUILD_TRUCK_STATION },
        { STR_CAN_T_REMOVE_BUS_STATION,            STR_CAN_T_REMOVE_TRUCK_STATION     },
        { STR_3042_BUS_STATION_ORIENTATION,        STR_3043_TRUCK_STATION_ORIENT      },
        { STR_3051_SELECT_BUS_STATION_ORIENTATION, STR_3052_SELECT_TRUCK_LOADING_BAY  },

        SPR_CURSOR_ROAD_NESW,
        SPR_CURSOR_ROAD_NWSE,
        SPR_CURSOR_AUTOROAD,
      },
      {
        STR_CAN_T_BUILD_TRAMWAY_HERE,
        STR_CAN_T_REMOVE_TRAMWAY_FROM,
        STR_CAN_T_BUILD_TRAM_VEHICLE,
        { STR_CAN_T_BUILD_PASSENGER_TRAM_STATION,        STR_CAN_T_BUILD_CARGO_TRAM_STATION        },
        { STR_CAN_T_REMOVE_PASSENGER_TRAM_STATION,       STR_CAN_T_REMOVE_CARGO_TRAM_STATION       },
        { STR_PASSENGER_TRAM_STATION_ORIENTATION,        STR_CARGO_TRAM_STATION_ORIENT             },
        { STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION, STR_SELECT_CARGO_TRAM_STATION_ORIENTATION },

        SPR_CURSOR_TRAMWAY_NESW,
        SPR_CURSOR_TRAMWAY_NWSE,
        SPR_CURSOR_AUTOTRAM,
      },
    }

What errors/cursors must be shown for several types of roads.

Definition at line 143 of file road_gui.cpp.

const WindowDesc _rv_station_picker_desc`[static]`

Initial value:

     {
      WDP_AUTO, WDP_AUTO, 207, 177, 207, 177,
      WC_BUS_STATION, WC_BUILD_TOOLBAR,
      WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
      _rv_station_picker_widgets,
    }

Definition at line 938 of file road_gui.cpp.

const Widget _rv_station_picker_widgets[]`[static]`

Initial value:

     {
    {   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_DARK_GREEN,   0,    10,     0,    13, STR_00C5,                         STR_018B_CLOSE_WINDOW},
    {    WWT_CAPTION,   RESIZE_NONE,  COLOUR_DARK_GREEN,  11,   206,     0,    13, STR_NULL,                         STR_018C_WINDOW_TITLE_DRAG_THIS},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_DARK_GREEN,   0,   206,    14,   176, 0x0,                              STR_NULL},

    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,        71,   136,    17,    66, 0x0,                              STR_NULL},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,        71,   136,    69,   118, 0x0,                              STR_NULL},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,         3,    68,    69,   118, 0x0,                              STR_NULL},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,         3,    68,    17,    66, 0x0,                              STR_NULL},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,       139,   204,    17,    66, 0x0,                              STR_NULL},
    {      WWT_PANEL,   RESIZE_NONE,  COLOUR_GREY,       139,   204,    69,   118, 0x0,                              STR_NULL},

    {    WWT_TEXTBTN,   RESIZE_NONE,  COLOUR_GREY,        10,    69,   133,   144, STR_02DB_OFF,                     STR_3065_DON_T_HIGHLIGHT_COVERAGE},
    {    WWT_TEXTBTN,   RESIZE_NONE,  COLOUR_GREY,        70,   129,   133,   144, STR_02DA_ON,                      STR_3064_HIGHLIGHT_COVERAGE_AREA},
    {      WWT_LABEL,   RESIZE_NONE,  COLOUR_DARK_GREEN,   0,   139,   120,   133, STR_3066_COVERAGE_AREA_HIGHLIGHT, STR_NULL},
    {   WIDGETS_END},
    }

Widget definition of the build raod station window.

Definition at line 920 of file road_gui.cpp.