src/road_gui.cpp
changeset 9278 b81f5b869a90
parent 9273 35e0224ea8f1
child 9293 96e818608056
equal deleted inserted replaced
9277:dc4132fe3f8e 9278:b81f5b869a90
   712 {
   712 {
   713 	_cur_roadtype = ROADTYPE_ROAD;
   713 	_cur_roadtype = ROADTYPE_ROAD;
   714 	AllocateWindowDescFront<Window>(&_build_road_scen_desc, 0);
   714 	AllocateWindowDescFront<Window>(&_build_road_scen_desc, 0);
   715 }
   715 }
   716 
   716 
   717 /** Enum referring to the widgets of the build road depot window */
   717 struct BuildRoadDepotWindow : public PickerWindowBase {
   718 enum BuildRoadDepotWidgets {
   718 private:
   719 	BRDW_CLOSEBOX = 0,
   719 	/** Enum referring to the widgets of the build road depot window */
   720 	BRDW_CAPTION,
   720 	enum BuildRoadDepotWidgets {
   721 	BRDW_BACKGROUND,
   721 		BRDW_CLOSEBOX = 0,
   722 	BRDW_DEPOT_NE,
   722 		BRDW_CAPTION,
   723 	BRDW_DEPOT_SE,
   723 		BRDW_BACKGROUND,
   724 	BRDW_DEPOT_SW,
   724 		BRDW_DEPOT_NE,
   725 	BRDW_DEPOT_NW,
   725 		BRDW_DEPOT_SE,
   726 };
   726 		BRDW_DEPOT_SW,
   727 
   727 		BRDW_DEPOT_NW,
   728 static void BuildRoadDepotWndProc(Window *w, WindowEvent *e)
   728 	};
   729 {
   729 
   730 	switch (e->event) {
   730 public:
   731 		case WE_CREATE:
   731 	BuildRoadDepotWindow(const WindowDesc *desc) : PickerWindowBase(desc)
   732 			w->LowerWidget(_road_depot_orientation + BRDW_DEPOT_NE);
   732 	{
   733 			break;
   733 		this->LowerWidget(_road_depot_orientation + BRDW_DEPOT_NE);
   734 
   734 		if ( _cur_roadtype == ROADTYPE_TRAM) {
   735 		case WE_PAINT:
   735 			this->widget[BRDW_CAPTION].data = STR_TRAM_DEPOT_ORIENTATION;
   736 			w->DrawWidgets();
   736 			for (int i = BRDW_DEPOT_NE; i <= BRDW_DEPOT_NW; i++) this->widget[i].tooltips = STR_SELECT_TRAM_VEHICLE_DEPOT;
   737 
   737 		}
   738 			DrawRoadDepotSprite(70, 17, DIAGDIR_NE, _cur_roadtype);
   738 		this->FindWindowPlacementAndResize(desc);
   739 			DrawRoadDepotSprite(70, 69, DIAGDIR_SE, _cur_roadtype);
   739 	}
   740 			DrawRoadDepotSprite( 2, 69, DIAGDIR_SW, _cur_roadtype);
   740 
   741 			DrawRoadDepotSprite( 2, 17, DIAGDIR_NW, _cur_roadtype);
   741 	virtual void OnPaint()
   742 			break;
   742 	{
   743 
   743 		this->DrawWidgets();
   744 		case WE_CLICK:
   744 
   745 			switch (e->we.click.widget) {
   745 		DrawRoadDepotSprite(70, 17, DIAGDIR_NE, _cur_roadtype);
   746 				case BRDW_DEPOT_NW:
   746 		DrawRoadDepotSprite(70, 69, DIAGDIR_SE, _cur_roadtype);
   747 				case BRDW_DEPOT_NE:
   747 		DrawRoadDepotSprite( 2, 69, DIAGDIR_SW, _cur_roadtype);
   748 				case BRDW_DEPOT_SW:
   748 		DrawRoadDepotSprite( 2, 17, DIAGDIR_NW, _cur_roadtype);
   749 				case BRDW_DEPOT_SE:
   749 	}
   750 					w->RaiseWidget(_road_depot_orientation + BRDW_DEPOT_NE);
   750 
   751 					_road_depot_orientation = (DiagDirection)(e->we.click.widget - BRDW_DEPOT_NE);
   751 	virtual void OnClick(Point pt, int widget)
   752 					w->LowerWidget(_road_depot_orientation + BRDW_DEPOT_NE);
   752 	{
   753 					SndPlayFx(SND_15_BEEP);
   753 		switch (widget) {
   754 					w->SetDirty();
   754 			case BRDW_DEPOT_NW:
   755 					break;
   755 			case BRDW_DEPOT_NE:
   756 
   756 			case BRDW_DEPOT_SW:
   757 				default:
   757 			case BRDW_DEPOT_SE:
   758 					break;
   758 				this->RaiseWidget(_road_depot_orientation + BRDW_DEPOT_NE);
   759 			}
   759 				_road_depot_orientation = (DiagDirection)(widget - BRDW_DEPOT_NE);
   760 			break;
   760 				this->LowerWidget(_road_depot_orientation + BRDW_DEPOT_NE);
   761 
   761 				SndPlayFx(SND_15_BEEP);
   762 		case WE_DESTROY:
   762 				this->SetDirty();
   763 			ResetObjectToPlace();
   763 				break;
   764 			break;
   764 
   765 
   765 			default:
   766 		default:
   766 				break;
   767 			break;
   767 		}
   768 	}
   768 	}
   769 }
   769 };
   770 
   770 
   771 /** Widget definition of the build road depot window */
   771 /** Widget definition of the build road depot window */
   772 static const Widget _build_road_depot_widgets[] = {
   772 static const Widget _build_road_depot_widgets[] = {
   773 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                        STR_018B_CLOSE_WINDOW},              // BRDW_CLOSEBOX
   773 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                        STR_018B_CLOSE_WINDOW},              // BRDW_CLOSEBOX
   774 {    WWT_CAPTION,   RESIZE_NONE,     7,    11,   139,     0,    13, STR_1806_ROAD_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},    // BRDW_CAPTION
   774 {    WWT_CAPTION,   RESIZE_NONE,     7,    11,   139,     0,    13, STR_1806_ROAD_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},    // BRDW_CAPTION
   778 {      WWT_PANEL,   RESIZE_NONE,    14,     3,    68,    69,   118, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT}, // BRDW_DEPOT_SW
   778 {      WWT_PANEL,   RESIZE_NONE,    14,     3,    68,    69,   118, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT}, // BRDW_DEPOT_SW
   779 {      WWT_PANEL,   RESIZE_NONE,    14,     3,    68,    17,    66, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT}, // BRDW_DEPOT_NW
   779 {      WWT_PANEL,   RESIZE_NONE,    14,     3,    68,    17,    66, 0x0,                             STR_1813_SELECT_ROAD_VEHICLE_DEPOT}, // BRDW_DEPOT_NW
   780 {   WIDGETS_END},
   780 {   WIDGETS_END},
   781 };
   781 };
   782 
   782 
   783 /** Widget definition of the build tram depot window */
       
   784 static const Widget _build_tram_depot_widgets[] = {
       
   785 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                        STR_018B_CLOSE_WINDOW},              // BRDW_CLOSEBOX
       
   786 {    WWT_CAPTION,   RESIZE_NONE,     7,    11,   139,     0,    13, STR_TRAM_DEPOT_ORIENTATION,      STR_018C_WINDOW_TITLE_DRAG_THIS},    // BRDW_CAPTION
       
   787 {      WWT_PANEL,   RESIZE_NONE,     7,     0,   139,    14,   121, 0x0,                             STR_NULL},                           // BRDW_BACKGROUND
       
   788 {      WWT_PANEL,   RESIZE_NONE,    14,    71,   136,    17,    66, 0x0,                             STR_SELECT_TRAM_VEHICLE_DEPOT},      // BRDW_DEPOT_NE
       
   789 {      WWT_PANEL,   RESIZE_NONE,    14,    71,   136,    69,   118, 0x0,                             STR_SELECT_TRAM_VEHICLE_DEPOT},      // BRDW_DEPOT_SE
       
   790 {      WWT_PANEL,   RESIZE_NONE,    14,     3,    68,    69,   118, 0x0,                             STR_SELECT_TRAM_VEHICLE_DEPOT},      // BRDW_DEPOT_SW
       
   791 {      WWT_PANEL,   RESIZE_NONE,    14,     3,    68,    17,    66, 0x0,                             STR_SELECT_TRAM_VEHICLE_DEPOT},      // BRDW_DEPOT_NW
       
   792 {   WIDGETS_END},
       
   793 };
       
   794 
       
   795 static const WindowDesc _build_road_depot_desc = {
   783 static const WindowDesc _build_road_depot_desc = {
   796 	WDP_AUTO, WDP_AUTO, 140, 122, 140, 122,
   784 	WDP_AUTO, WDP_AUTO, 140, 122, 140, 122,
   797 	WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
   785 	WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
   798 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
   786 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
   799 	_build_road_depot_widgets,
   787 	_build_road_depot_widgets,
   800 	BuildRoadDepotWndProc
   788 	NULL
   801 };
       
   802 
       
   803 static const WindowDesc _build_tram_depot_desc = {
       
   804 	WDP_AUTO, WDP_AUTO, 140, 122, 140, 122,
       
   805 	WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
       
   806 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
       
   807 	_build_tram_depot_widgets,
       
   808 	BuildRoadDepotWndProc
       
   809 };
   789 };
   810 
   790 
   811 static void ShowRoadDepotPicker()
   791 static void ShowRoadDepotPicker()
   812 {
   792 {
   813 	new Window(_cur_roadtype == ROADTYPE_ROAD ? &_build_road_depot_desc : &_build_tram_depot_desc);
   793 	new BuildRoadDepotWindow(&_build_road_depot_desc);
   814 }
   794 }
   815 
   795 
   816 /** Enum referring to the widgets of the build road station window */
   796 struct BuildRoadStationWindow : public PickerWindowBase {
   817 enum BuildRoadStationWidgets {
   797 private:
   818 	BRSW_CLOSEBOX = 0,
   798 	/** Enum referring to the widgets of the build road station window */
   819 	BRSW_CAPTION,
   799 	enum BuildRoadStationWidgets {
   820 	BRSW_BACKGROUND,
   800 		BRSW_CLOSEBOX = 0,
   821 	BRSW_STATION_NE,
   801 		BRSW_CAPTION,
   822 	BRSW_STATION_SE,
   802 		BRSW_BACKGROUND,
   823 	BRSW_STATION_SW,
   803 		BRSW_STATION_NE,
   824 	BRSW_STATION_NW,
   804 		BRSW_STATION_SE,
   825 	BRSW_STATION_X,
   805 		BRSW_STATION_SW,
   826 	BRSW_STATION_Y,
   806 		BRSW_STATION_NW,
   827 	BRSW_LT_OFF,
   807 		BRSW_STATION_X,
   828 	BRSW_LT_ON,
   808 		BRSW_STATION_Y,
   829 	BRSW_INFO,
   809 		BRSW_LT_OFF,
   830 };
   810 		BRSW_LT_ON,
   831 
   811 		BRSW_INFO,
   832 static void RoadStationPickerWndProc(Window *w, WindowEvent *e)
   812 	};
   833 {
   813 
   834 	switch (e->event) {
   814 public:
   835 		case WE_CREATE:
   815 	BuildRoadStationWindow(const WindowDesc *desc, RoadStopType rs) : PickerWindowBase(desc)
   836 			/* Trams don't have non-drivethrough stations */
   816 	{
   837 			if (_cur_roadtype == ROADTYPE_TRAM && _road_station_picker_orientation < DIAGDIR_END) {
   817 		/* Trams don't have non-drivethrough stations */
   838 				_road_station_picker_orientation = DIAGDIR_END;
   818 		if (_cur_roadtype == ROADTYPE_TRAM && _road_station_picker_orientation < DIAGDIR_END) {
   839 			}
   819 			_road_station_picker_orientation = DIAGDIR_END;
   840 			w->SetWidgetsDisabledState(_cur_roadtype == ROADTYPE_TRAM,
   820 		}
   841 				BRSW_STATION_NE,
   821 		this->SetWidgetsDisabledState(_cur_roadtype == ROADTYPE_TRAM,
   842 				BRSW_STATION_SE,
   822 			BRSW_STATION_NE,
   843 				BRSW_STATION_SW,
   823 			BRSW_STATION_SE,
   844 				BRSW_STATION_NW,
   824 			BRSW_STATION_SW,
   845 				WIDGET_LIST_END);
   825 			BRSW_STATION_NW,
   846 
   826 			WIDGET_LIST_END);
   847 			w->LowerWidget(_road_station_picker_orientation + BRSW_STATION_NE);
   827 
   848 			w->LowerWidget(_station_show_coverage + BRSW_LT_OFF);
   828 		this->window_class = (rs == ROADSTOP_BUS) ? WC_BUS_STATION : WC_TRUCK_STATION;
   849 			break;
   829 		this->widget[BRSW_CAPTION].data = _road_type_infos[_cur_roadtype].picker_title[rs];
   850 
   830 		for (uint i = BRSW_STATION_NE; i < BRSW_LT_OFF; i++) this->widget[i].tooltips = _road_type_infos[_cur_roadtype].picker_tooltip[rs];
   851 		case WE_PAINT: {
   831 
   852 			w->DrawWidgets();
   832 		this->LowerWidget(_road_station_picker_orientation + BRSW_STATION_NE);
   853 
   833 		this->LowerWidget(_station_show_coverage + BRSW_LT_OFF);
   854 			if (_station_show_coverage) {
   834 		this->FindWindowPlacementAndResize(desc);
   855 				int rad = _patches.modified_catchment ? CA_TRUCK /* = CA_BUS */ : CA_UNMODIFIED;
   835 	}
   856 				SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad);
   836 
   857 			} else {
   837 	virtual void OnPaint()
   858 				SetTileSelectSize(1, 1);
   838 	{
   859 			}
   839 		this->DrawWidgets();
   860 
   840 
   861 			StationType st = (w->window_class == WC_BUS_STATION) ? STATION_BUS : STATION_TRUCK;
   841 		if (_station_show_coverage) {
   862 
   842 			int rad = _patches.modified_catchment ? CA_TRUCK /* = CA_BUS */ : CA_UNMODIFIED;
   863 			StationPickerDrawSprite(103, 35, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 0);
   843 			SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad);
   864 			StationPickerDrawSprite(103, 85, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 1);
   844 		} else {
   865 			StationPickerDrawSprite( 35, 85, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 2);
   845 			SetTileSelectSize(1, 1);
   866 			StationPickerDrawSprite( 35, 35, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 3);
   846 		}
   867 
   847 
   868 			StationPickerDrawSprite(171, 35, st, INVALID_RAILTYPE, _cur_roadtype, 4);
   848 		StationType st = (this->window_class == WC_BUS_STATION) ? STATION_BUS : STATION_TRUCK;
   869 			StationPickerDrawSprite(171, 85, st, INVALID_RAILTYPE, _cur_roadtype, 5);
   849 
   870 
   850 		StationPickerDrawSprite(103, 35, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 0);
   871 			int text_end = DrawStationCoverageAreaText(2, 146,
   851 		StationPickerDrawSprite(103, 85, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 1);
   872 				(w->window_class == WC_BUS_STATION) ? SCT_PASSENGERS_ONLY : SCT_NON_PASSENGERS_ONLY,
   852 		StationPickerDrawSprite( 35, 85, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 2);
   873 				3, false);
   853 		StationPickerDrawSprite( 35, 35, st, INVALID_RAILTYPE, ROADTYPE_ROAD, 3);
   874 			text_end = DrawStationCoverageAreaText(2, text_end + 4,
   854 
   875 				(w->window_class == WC_BUS_STATION) ? SCT_PASSENGERS_ONLY : SCT_NON_PASSENGERS_ONLY,
   855 		StationPickerDrawSprite(171, 35, st, INVALID_RAILTYPE, _cur_roadtype, 4);
   876 				3, true) + 4;
   856 		StationPickerDrawSprite(171, 85, st, INVALID_RAILTYPE, _cur_roadtype, 5);
   877 			if (text_end > w->widget[BRSW_BACKGROUND].bottom) {
   857 
   878 				w->SetDirty();
   858 		int text_end = DrawStationCoverageAreaText(2, 146,
   879 				ResizeWindowForWidget(w, BRSW_BACKGROUND, 0, text_end - w->widget[BRSW_BACKGROUND].bottom);
   859 			(this->window_class == WC_BUS_STATION) ? SCT_PASSENGERS_ONLY : SCT_NON_PASSENGERS_ONLY,
   880 				w->SetDirty();
   860 			3, false);
   881 			}
   861 		text_end = DrawStationCoverageAreaText(2, text_end + 4,
   882 		} break;
   862 			(this->window_class == WC_BUS_STATION) ? SCT_PASSENGERS_ONLY : SCT_NON_PASSENGERS_ONLY,
   883 
   863 			3, true) + 4;
   884 		case WE_CLICK:
   864 		if (text_end > this->widget[BRSW_BACKGROUND].bottom) {
   885 			switch (e->we.click.widget) {
   865 			this->SetDirty();
   886 				case BRSW_STATION_NE:
   866 			ResizeWindowForWidget(this, BRSW_BACKGROUND, 0, text_end - this->widget[BRSW_BACKGROUND].bottom);
   887 				case BRSW_STATION_SE:
   867 			this->SetDirty();
   888 				case BRSW_STATION_SW:
   868 		}
   889 				case BRSW_STATION_NW:
   869 	}
   890 				case BRSW_STATION_X:
   870 
   891 				case BRSW_STATION_Y:
   871 	virtual void OnClick(Point pt, int widget)
   892 					w->RaiseWidget(_road_station_picker_orientation + BRSW_STATION_NE);
   872 	{
   893 					_road_station_picker_orientation = (DiagDirection)(e->we.click.widget - BRSW_STATION_NE);
   873 		switch (widget) {
   894 					w->LowerWidget(_road_station_picker_orientation + BRSW_STATION_NE);
   874 			case BRSW_STATION_NE:
   895 					SndPlayFx(SND_15_BEEP);
   875 			case BRSW_STATION_SE:
   896 					w->SetDirty();
   876 			case BRSW_STATION_SW:
   897 					break;
   877 			case BRSW_STATION_NW:
   898 
   878 			case BRSW_STATION_X:
   899 				case BRSW_LT_OFF:
   879 			case BRSW_STATION_Y:
   900 				case BRSW_LT_ON:
   880 				this->RaiseWidget(_road_station_picker_orientation + BRSW_STATION_NE);
   901 					w->RaiseWidget(_station_show_coverage + BRSW_LT_OFF);
   881 				_road_station_picker_orientation = (DiagDirection)(widget - BRSW_STATION_NE);
   902 					_station_show_coverage = (e->we.click.widget != BRSW_LT_OFF);
   882 				this->LowerWidget(_road_station_picker_orientation + BRSW_STATION_NE);
   903 					w->LowerWidget(_station_show_coverage + BRSW_LT_OFF);
   883 				SndPlayFx(SND_15_BEEP);
   904 					SndPlayFx(SND_15_BEEP);
   884 				this->SetDirty();
   905 					w->SetDirty();
   885 				break;
   906 					break;
   886 
   907 
   887 			case BRSW_LT_OFF:
   908 				default:
   888 			case BRSW_LT_ON:
   909 					break;
   889 				this->RaiseWidget(_station_show_coverage + BRSW_LT_OFF);
   910 			}
   890 				_station_show_coverage = (widget != BRSW_LT_OFF);
   911 			break;
   891 				this->LowerWidget(_station_show_coverage + BRSW_LT_OFF);
   912 
   892 				SndPlayFx(SND_15_BEEP);
   913 		case WE_TICK:
   893 				this->SetDirty();
   914 			CheckRedrawStationCoverage(w);
   894 				break;
   915 			break;
   895 
   916 
   896 			default:
   917 		case WE_DESTROY:
   897 				break;
   918 			ResetObjectToPlace();
   898 		}
   919 			break;
   899 	}
   920 
   900 
   921 		default:
   901 	virtual void OnTick()
   922 			break;
   902 	{
   923 	}
   903 		CheckRedrawStationCoverage(this);
   924 }
   904 	}
       
   905 };
   925 
   906 
   926 /** Widget definition of the build raod station window */
   907 /** Widget definition of the build raod station window */
   927 static const Widget _rv_station_picker_widgets[] = {
   908 static const Widget _rv_station_picker_widgets[] = {
   928 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                         STR_018B_CLOSE_WINDOW},             // BRSW_CLOSEBOX
   909 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                         STR_018B_CLOSE_WINDOW},             // BRSW_CLOSEBOX
   929 {    WWT_CAPTION,   RESIZE_NONE,     7,    11,   206,     0,    13, STR_NULL,                         STR_018C_WINDOW_TITLE_DRAG_THIS},   // BRSW_CAPTION
   910 {    WWT_CAPTION,   RESIZE_NONE,     7,    11,   206,     0,    13, STR_NULL,                         STR_018C_WINDOW_TITLE_DRAG_THIS},   // BRSW_CAPTION
   945 static const WindowDesc _rv_station_picker_desc = {
   926 static const WindowDesc _rv_station_picker_desc = {
   946 	WDP_AUTO, WDP_AUTO, 207, 177, 207, 177,
   927 	WDP_AUTO, WDP_AUTO, 207, 177, 207, 177,
   947 	WC_BUS_STATION, WC_BUILD_TOOLBAR,
   928 	WC_BUS_STATION, WC_BUILD_TOOLBAR,
   948 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
   929 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
   949 	_rv_station_picker_widgets,
   930 	_rv_station_picker_widgets,
   950 	RoadStationPickerWndProc
   931 	NULL
   951 };
   932 };
   952 
   933 
   953 static void ShowRVStationPicker(RoadStopType rs)
   934 static void ShowRVStationPicker(RoadStopType rs)
   954 {
   935 {
   955 	Window *w = new Window(&_rv_station_picker_desc);
   936 	new BuildRoadStationWindow(&_rv_station_picker_desc, rs);
   956 	if (w == NULL) return;
       
   957 
       
   958 	w->window_class = (rs == ROADSTOP_BUS) ? WC_BUS_STATION : WC_TRUCK_STATION;
       
   959 	w->widget[BRSW_CAPTION].data = _road_type_infos[_cur_roadtype].picker_title[rs];
       
   960 	for (uint i = BRSW_STATION_NE; i < BRSW_LT_OFF; i++) w->widget[i].tooltips = _road_type_infos[_cur_roadtype].picker_tooltip[rs];
       
   961 }
   937 }
   962 
   938 
   963 void InitializeRoadGui()
   939 void InitializeRoadGui()
   964 {
   940 {
   965 	_road_depot_orientation = DIAGDIR_NW;
   941 	_road_depot_orientation = DIAGDIR_NW;