Merge branch 'master' into jgrpp

# Conflicts:
#	src/articulated_vehicles.cpp
#	src/articulated_vehicles.h
#	src/autoreplace_cmd.cpp
#	src/build_vehicle_gui.cpp
#	src/company_gui.cpp
#	src/core/format.hpp
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/group_gui.cpp
#	src/linkgraph/linkgraph_gui.cpp
#	src/misc/endian_buffer.hpp
#	src/music/music_driver.hpp
#	src/newgrf_gui.cpp
#	src/rail_cmd.cpp
#	src/road_gui.cpp
#	src/settings_type.h
#	src/strgen/strgen.cpp
#	src/strings.cpp
#	src/timetable_cmd.cpp
#	src/town.h
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/widget.cpp
#	src/widgets/dropdown.cpp
#	src/widgets/road_widget.h
wip-string
Jonathan G Rennison 5 months ago
commit 5ae74ecf8e

@ -182,7 +182,7 @@ elseif(UNIX)
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(LSB_RELEASE_ID)
if(LSB_RELEASE_ID STREQUAL "Ubuntu" OR LSB_RELEASE_ID STREQUAL "Debian")
if(LSB_RELEASE_ID STREQUAL "Ubuntu" OR LSB_RELEASE_ID STREQUAL "Debian" OR LSB_RELEASE_ID STREQUAL "Linuxmint")
execute_process(COMMAND ${LSB_RELEASE_EXEC} -cs
OUTPUT_VARIABLE LSB_RELEASE_CODENAME
OUTPUT_STRIP_TRAILING_WHITESPACE

@ -32,42 +32,47 @@ static const NWidgetPart _nested_ai_config_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_CAPTION_AI, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIC_BACKGROUND),
NWidget(NWID_VERTICAL), SetPIP(4, 4, 4),
NWidget(NWID_HORIZONTAL), SetPIP(7, 0, 7),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_NUMBER), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_NUMBER), SetDataTip(AWV_INCREASE, STR_NULL),
NWidget(NWID_SPACER), SetMinimalSize(6, 0),
NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_NUMBER), SetDataTip(STR_AI_CONFIG_MAX_COMPETITORS, STR_NULL), SetFill(1, 0),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_NUMBER), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_NUMBER), SetDataTip(AWV_INCREASE, STR_NULL),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_NUMBER), SetDataTip(STR_AI_CONFIG_MAX_COMPETITORS, STR_NULL), SetFill(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_INTERVAL), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_INTERVAL), SetDataTip(AWV_INCREASE, STR_NULL),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_INTERVAL), SetDataTip(STR_AI_CONFIG_COMPETITORS_INTERVAL, STR_NULL), SetFill(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_UP), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_UP, STR_AI_CONFIG_MOVE_UP_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_DOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_DOWN, STR_AI_CONFIG_MOVE_DOWN_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(7, 0, 7),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_INTERVAL), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_INTERVAL), SetDataTip(AWV_INCREASE, STR_NULL),
NWidget(NWID_SPACER), SetMinimalSize(6, 0),
NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_INTERVAL), SetDataTip(STR_AI_CONFIG_COMPETITORS_INTERVAL, STR_NULL), SetFill(1, 0),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_AI, STR_NULL),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIC_LIST), SetMinimalSize(288, 112), SetFill(1, 0), SetMatrixDataTip(1, 8, STR_AI_CONFIG_AILIST_TOOLTIP), SetScrollbar(WID_AIC_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIC_SCROLLBAR),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_UP), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_UP, STR_AI_CONFIG_MOVE_UP_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_DOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_DOWN, STR_AI_CONFIG_MOVE_DOWN_TOOLTIP),
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CHANGE), SetFill(1, 1), SetMinimalSize(93, 0), SetDataTip(STR_AI_CONFIG_CHANGE_AI, STR_AI_CONFIG_CHANGE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONFIGURE), SetFill(1, 1), SetMinimalSize(93, 0), SetDataTip(STR_AI_CONFIG_CONFIGURE, STR_AI_CONFIG_CONFIGURE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_README), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_README, STR_NULL),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CLOSE), SetFill(1, 1), SetMinimalSize(93, 0), SetDataTip(STR_AI_SETTINGS_CLOSE, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_CHANGELOG), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_LICENSE), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_NULL),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONTENT_DOWNLOAD), SetFill(1, 1), SetMinimalSize(279, 0), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
EndContainer(),
EndContainer(),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_AI, STR_NULL), SetPadding(0, 5, 0, 5),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIC_LIST), SetMinimalSize(288, 112), SetFill(1, 0), SetMatrixDataTip(1, 8, STR_AI_CONFIG_AILIST_TOOLTIP), SetScrollbar(WID_AIC_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIC_SCROLLBAR),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 9),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CHANGE), SetFill(1, 0), SetMinimalSize(93, 0), SetDataTip(STR_AI_CONFIG_CHANGE_AI, STR_AI_CONFIG_CHANGE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONFIGURE), SetFill(1, 0), SetMinimalSize(93, 0), SetDataTip(STR_AI_CONFIG_CONFIGURE, STR_AI_CONFIG_CONFIGURE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_README), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_README, STR_NULL),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CLOSE), SetFill(1, 0), SetMinimalSize(93, 0), SetDataTip(STR_AI_SETTINGS_CLOSE, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_CHANGELOG), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_LICENSE), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_NULL),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONTENT_DOWNLOAD), SetFill(1, 0), SetMinimalSize(279, 0), SetPadding(0, 7, 9, 7), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
EndContainer(),
};

@ -412,7 +412,7 @@ public:
this->DrawWidgets();
Rect r = this->GetWidget<NWidgetBase>(WID_AP_ACCEPTANCE)->GetCurrentRect();
int top = r.top + WidgetDimensions::scaled.vsep_normal;
int top = r.top;
if (_selected_airport_index != -1) {
const AirportSpec *as = AirportClass::Get(_selected_airport_class)->GetSpec(_selected_airport_index);
@ -435,7 +435,7 @@ public:
/* strings such as 'Size' and 'Coverage Area' */
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, false) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true);
}
/* Resize background if the window is too small.
@ -574,35 +574,35 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN),
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_AIRPORT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetFill(1, 0), SetPIP(2, 0, 2),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_AIRPORT_CLASS_LABEL, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_AP_CLASS_DROPDOWN), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_STATION_BUILD_AIRPORT_TOOLTIP),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_AIRPORT_SPRITE), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_AP_AIRPORT_LIST), SetFill(1, 0), SetMatrixDataTip(1, 5, STR_STATION_BUILD_AIRPORT_TOOLTIP), SetScrollbar(WID_AP_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_AP_SCROLLBAR),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_AP_LAYOUT_DECREASE), SetMinimalSize(12, 0), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_LABEL, COLOUR_GREY, WID_AP_LAYOUT_NUM), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING1, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_AP_LAYOUT_INCREASE), SetMinimalSize(12, 0), SetDataTip(AWV_INCREASE, STR_NULL),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_EXTRA_TEXT), SetFill(1, 0), SetMinimalSize(150, 0),
EndContainer(),
/* Bottom panel. */
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_AP_BOTTOMPANEL),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetPadding(WidgetDimensions::unscaled.framerect), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(14, 0), SetFill(1, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_AP_BTN_DONTHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_AP_BTN_DOHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0), SetPadding(WidgetDimensions::unscaled.picker),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_picker, 0),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_AIRPORT_CLASS_LABEL, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_AP_CLASS_DROPDOWN), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_STATION_BUILD_AIRPORT_TOOLTIP),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_AIRPORT_SPRITE), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_AP_AIRPORT_LIST), SetFill(1, 0), SetMatrixDataTip(1, 5, STR_STATION_BUILD_AIRPORT_TOOLTIP), SetScrollbar(WID_AP_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_AP_SCROLLBAR),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_ORIENTATION, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_AP_LAYOUT_DECREASE), SetMinimalSize(12, 0), SetDataTip(AWV_DECREASE, STR_NULL),
NWidget(WWT_LABEL, COLOUR_GREY, WID_AP_LAYOUT_NUM), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING1, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_AP_LAYOUT_INCREASE), SetMinimalSize(12, 0), SetDataTip(AWV_INCREASE, STR_NULL),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_EXTRA_TEXT), SetFill(1, 0), SetMinimalSize(150, 0),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIP(14, 0, 14), SetPIPRatio(1, 0, 1),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_AP_BTN_DONTHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_AP_BTN_DOHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(14, 0), SetFill(1, 0),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_ACCEPTANCE), SetResize(0, 1), SetFill(1, 0), SetMinimalTextLines(2, WidgetDimensions::unscaled.vsep_normal),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_ACCEPTANCE), SetPadding(WidgetDimensions::unscaled.framerect), SetResize(0, 1), SetFill(1, 0),
EndContainer(),
};

@ -270,6 +270,21 @@ class ReplaceVehicleWindow : public Window {
DoCommandP(0, (replace_when_old ? 1 : 0) | (this->sel_group << 16), veh_from + (veh_to << 16), CMD_SET_AUTOREPLACE);
}
/**
* Perform tasks after rail or road type is changed.
*/
void OnRailRoadTypeChange()
{
/* Reset scrollbar positions */
this->vscroll[0]->SetPosition(0);
this->vscroll[1]->SetPosition(0);
/* Rebuild the lists */
this->engines[0].ForceRebuild();
this->engines[1].ForceRebuild();
this->reset_sel_engine = true;
this->SetDirty();
}
public:
ReplaceVehicleWindow(WindowDesc *desc, VehicleType vehicletype, GroupID id_g) : Window(desc)
{
@ -294,11 +309,6 @@ public:
widget->SetLowered(this->show_hidden_engines);
this->FinishInitNested(vehicletype);
if (vehicletype == VEH_TRAIN || vehicletype == VEH_ROAD) {
widget = this->GetWidget<NWidgetCore>(WID_RV_RAIL_ROAD_TYPE_DROPDOWN);
widget->tool_tip = STR_REPLACE_HELP_RAILTYPE + vehicletype;
}
this->sort_criteria = _engine_sort_last_criteria[vehicletype];
this->descending_sort_order = _engine_sort_last_order[vehicletype];
this->owner = _local_company;
@ -357,28 +367,21 @@ public:
break;
}
case WID_RV_RAIL_ROAD_TYPE_DROPDOWN: {
case WID_RV_RAIL_TYPE_DROPDOWN: {
Dimension d = {0, 0};
switch (this->window_number) {
case VEH_TRAIN:
for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
const RailTypeInfo *rti = GetRailTypeInfo(rt);
/* Skip rail type if it has no label */
if (rti->label == 0) continue;
d = maxdim(d, GetStringBoundingBox(rti->strings.replace_text));
}
break;
case VEH_ROAD:
for (RoadType rt = ROADTYPE_BEGIN; rt < ROADTYPE_END; rt++) {
const RoadTypeInfo *rti = GetRoadTypeInfo(rt);
/* Skip road type if it has no label */
if (rti->label == 0) continue;
d = maxdim(d, GetStringBoundingBox(rti->strings.replace_text));
}
break;
for (const RailType &rt : _sorted_railtypes) {
d = maxdim(d, GetStringBoundingBox(GetRailTypeInfo(rt)->strings.replace_text));
}
d.width += padding.width;
d.height += padding.height;
*size = maxdim(*size, d);
break;
}
default: NOT_REACHED();
case WID_RV_ROAD_TYPE_DROPDOWN: {
Dimension d = {0, 0};
for (const RoadType &rt : _sorted_roadtypes) {
d = maxdim(d, GetStringBoundingBox(GetRoadTypeInfo(rt)->strings.replace_text));
}
d.width += padding.width;
d.height += padding.height;
@ -443,6 +446,14 @@ public:
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN:
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
break;
case WID_RV_RAIL_TYPE_DROPDOWN:
SetDParam(0, this->sel_railtype == INVALID_RAILTYPE ? STR_REPLACE_ALL_RAILTYPE : GetRailTypeInfo(this->sel_railtype)->strings.replace_text);
break;
case WID_RV_ROAD_TYPE_DROPDOWN:
SetDParam(0, this->sel_roadtype == INVALID_ROADTYPE ? STR_REPLACE_ALL_ROADTYPE : GetRoadTypeInfo(this->sel_roadtype)->strings.replace_text);
break;
}
}
@ -503,20 +514,6 @@ public:
* or The selected vehicle has no replacement set up */
this->SetWidgetDisabledState(WID_RV_STOP_REPLACE, this->sel_engine[0] == INVALID_ENGINE || !EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group));
switch (this->window_number) {
case VEH_TRAIN:
/* Show the selected railtype in the pulldown menu */
this->GetWidget<NWidgetCore>(WID_RV_RAIL_ROAD_TYPE_DROPDOWN)->widget_data = sel_railtype == INVALID_RAILTYPE ? STR_REPLACE_ALL_RAILTYPE : GetRailTypeInfo(sel_railtype)->strings.replace_text;
break;
case VEH_ROAD:
/* Show the selected roadtype in the pulldown menu */
this->GetWidget<NWidgetCore>(WID_RV_RAIL_ROAD_TYPE_DROPDOWN)->widget_data = sel_roadtype == INVALID_ROADTYPE ? STR_REPLACE_ALL_ROADTYPE : GetRoadTypeInfo(sel_roadtype)->strings.replace_text;
break;
default: break;
}
this->DrawWidgets();
if (!this->IsShaded()) {
@ -574,16 +571,12 @@ public:
break;
}
case WID_RV_RAIL_ROAD_TYPE_DROPDOWN: // Rail/roadtype selection dropdown menu
switch (this->window_number) {
case VEH_TRAIN:
ShowDropDownList(this, GetRailTypeDropDownList(true, true), sel_railtype, WID_RV_RAIL_ROAD_TYPE_DROPDOWN);
break;
case WID_RV_RAIL_TYPE_DROPDOWN: // Railtype selection dropdown menu
ShowDropDownList(this, GetRailTypeDropDownList(true, true), this->sel_railtype, widget);
break;
case VEH_ROAD:
ShowDropDownList(this, GetRoadTypeDropDownList(RTTB_ROAD | RTTB_TRAM, true, true), sel_roadtype, WID_RV_RAIL_ROAD_TYPE_DROPDOWN);
break;
}
case WID_RV_ROAD_TYPE_DROPDOWN: // Roadtype selection dropdown menu
ShowDropDownList(this, GetRoadTypeDropDownList(RTTB_ROAD | RTTB_TRAM, true, true), this->sel_roadtype, widget);
break;
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: {
@ -675,34 +668,21 @@ public:
}
break;
case WID_RV_RAIL_ROAD_TYPE_DROPDOWN:
switch (this->window_number) {
case VEH_TRAIN: {
RailType temp = (RailType)index;
if (temp == sel_railtype) return; // we didn't select a new one. No need to change anything
sel_railtype = temp;
break;
}
case VEH_ROAD: {
RoadType temp = (RoadType)index;
if (temp == sel_roadtype) return; // we didn't select a new one. No need to change anything
sel_roadtype = temp;
break;
}
default: NOT_REACHED();
}
case WID_RV_RAIL_TYPE_DROPDOWN: {
RailType temp = (RailType)index;
if (temp == this->sel_railtype) return; // we didn't select a new one. No need to change anything
this->sel_railtype = temp;
this->OnRailRoadTypeChange();
break;
}
/* Reset scrollbar positions */
this->vscroll[0]->SetPosition(0);
this->vscroll[1]->SetPosition(0);
/* Rebuild the lists */
this->engines[0].ForceRebuild();
this->engines[1].ForceRebuild();
this->reset_sel_engine = true;
this->SetDirty();
case WID_RV_ROAD_TYPE_DROPDOWN: {
RoadType temp = (RoadType)index;
if (temp == this->sel_roadtype) return; // we didn't select a new one. No need to change anything
this->sel_roadtype = temp;
this->OnRailRoadTypeChange();
break;
}
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: {
this->replace_engines = index != 0;
@ -772,7 +752,7 @@ static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = {
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_RAIL_ROAD_TYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(0x0, STR_REPLACE_HELP_RAILTYPE), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_RAIL_TYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(STR_JUST_STRING, STR_REPLACE_HELP_RAILTYPE), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_TRAIN_ENGINEWAGON_DROPDOWN), SetDataTip(STR_JUST_STRING, STR_REPLACE_ENGINE_WAGON_SELECT_HELP),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), EndContainer(),
@ -835,7 +815,7 @@ static const NWidgetPart _nested_replace_road_vehicle_widgets[] = {
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(NWID_VERTICAL),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_RAIL_ROAD_TYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(0x0, STR_REPLACE_HELP_RAILTYPE), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_ROAD_TYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(STR_JUST_STRING, STR_REPLACE_HELP_ROADTYPE), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), EndContainer(),
EndContainer(),
NWidget(NWID_VERTICAL),

@ -106,19 +106,34 @@ struct BaseSet {
* @param isocode the isocode to search for
* @return the description
*/
const char *GetDescription(const std::string &isocode) const
const std::string &GetDescription(const std::string &isocode) const
{
if (!isocode.empty()) {
/* First the full ISO code */
auto desc = this->description.find(isocode);
if (desc != this->description.end()) return desc->second.c_str();
if (desc != this->description.end()) return desc->second;
/* Then the first two characters */
desc = this->description.find(isocode.substr(0, 2));
if (desc != this->description.end()) return desc->second.c_str();
if (desc != this->description.end()) return desc->second;
}
/* Then fall back */
return this->description.at(std::string{}).c_str();
return this->description.at(std::string{});
}
/**
* Get string to use when listing this set in the settings window.
* If there are no invalid files, then this is just the set name,
* otherwise a string is formatted including the number of invalid files.
* @return the string to display.
*/
std::string GetListLabel() const
{
if (this->GetNumInvalid() == 0) return this->name;
SetDParamStr(0, this->name);
SetDParam(1, this->GetNumInvalid());
return GetString(STR_BASESET_STATUS);
}
/**

@ -296,7 +296,7 @@ template <class Tbase_set>
{
p += seprintf(p, last, "List of " SET_TYPE " sets:\n");
for (const Tbase_set *s = BaseMedia<Tbase_set>::available_sets; s != nullptr; s = s->next) {
p += seprintf(p, last, "%18s: %s", s->name.c_str(), s->GetDescription({}));
p += seprintf(p, last, "%18s: %s", s->name.c_str(), s->GetDescription({}).c_str());
int invalid = s->GetNumInvalid();
if (invalid != 0) {
int missing = s->GetNumMissing();

@ -1398,9 +1398,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
EngineID sel_engine; ///< Currently selected engine, or #INVALID_ENGINE
EngineID rename_engine; ///< Engine being renamed.
GUIEngineList eng_list;
CargoID cargo_filter[NUM_CARGO + 3]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE or CF_ENGINES
StringID cargo_filter_texts[NUM_CARGO + 4]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID
byte cargo_filter_criteria; ///< Selected cargo filter
CargoID cargo_filter_criteria; ///< Selected cargo filter
int details_height; ///< Minimal needed height of the details panels, in text lines (found so far).
Scrollbar *vscroll;
TestedEngineDetails te; ///< Tested cost and capacity after refit.
@ -1412,8 +1410,8 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
{
NWidgetCore *widget = this->GetWidget<NWidgetCore>(WID_BV_BUILD);
bool refit = this->sel_engine != INVALID_ENGINE && this->cargo_filter[this->cargo_filter_criteria] != CF_ANY && this->cargo_filter[this->cargo_filter_criteria] != CF_NONE;
if (refit) refit = Engine::Get(this->sel_engine)->GetDefaultCargoType() != this->cargo_filter[this->cargo_filter_criteria];
bool refit = this->sel_engine != INVALID_ENGINE && this->cargo_filter_criteria != CF_ANY && this->cargo_filter_criteria != CF_NONE;
if (refit) refit = Engine::Get(this->sel_engine)->GetDefaultCargoType() != this->cargo_filter_criteria;
if (this->virtual_train_mode) {
if (refit) {
@ -1518,58 +1516,29 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
}
}
/** Populate the filter list and set the cargo filter criteria. */
void SetCargoFilterArray()
StringID GetCargoFilterLabel(CargoID cid) const
{
uint filter_items = 0;
/* Add item for disabling filtering. */
this->cargo_filter[filter_items] = CF_ANY;
this->cargo_filter_texts[filter_items] = STR_PURCHASE_INFO_ALL_TYPES;
filter_items++;
/* Specific filters for trains. */
if (this->vehicle_type == VEH_TRAIN) {
/* Add item for locomotives only in case of trains. */
this->cargo_filter[filter_items] = CF_ENGINES;
this->cargo_filter_texts[filter_items] = STR_PURCHASE_INFO_ENGINES_ONLY;
filter_items++;
/* Add item for vehicles not carrying anything, e.g. train engines.
* This could also be useful for eyecandy vehicles of other types, but is likely too confusing for joe, */
this->cargo_filter[filter_items] = CF_NONE;
this->cargo_filter_texts[filter_items] = STR_PURCHASE_INFO_NONE;
filter_items++;
}
/* Collect available cargo types for filtering. */
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
this->cargo_filter[filter_items] = cs->Index();
this->cargo_filter_texts[filter_items] = cs->name;
filter_items++;
switch (cid) {
case CF_ANY: return STR_PURCHASE_INFO_ALL_TYPES;
case CF_ENGINES: return STR_PURCHASE_INFO_ENGINES_ONLY;
case CF_NONE: return STR_PURCHASE_INFO_NONE;
default: return CargoSpec::Get(cid)->name;
}
}
/* Terminate the filter list. */
this->cargo_filter_texts[filter_items] = INVALID_STRING_ID;
/* If not found, the cargo criteria will be set to all cargoes. */
this->cargo_filter_criteria = 0;
/* Find the last cargo filter criteria. */
for (uint i = 0; i < filter_items; i++) {
if (this->cargo_filter[i] == _engine_sort_last_cargo_criteria[this->vehicle_type]) {
this->cargo_filter_criteria = i;
break;
}
}
/** Populate the filter list and set the cargo filter criteria. */
void SetCargoFilterArray()
{
/* Set the last cargo filter criteria. */
this->cargo_filter_criteria = _engine_sort_last_cargo_criteria[this->vehicle_type];
this->eng_list.SetFilterFuncs(_filter_funcs);
this->eng_list.SetFilterState(this->cargo_filter[this->cargo_filter_criteria] != CF_ANY);
this->eng_list.SetFilterState(this->cargo_filter_criteria != CF_ANY);
}
void SelectEngine(EngineID engine)
{
CargoID cargo = this->cargo_filter[this->cargo_filter_criteria];
CargoID cargo = this->cargo_filter_criteria;
if (cargo == CF_ANY || cargo == CF_ENGINES || cargo == CF_NONE) cargo = CT_INVALID;
this->sel_engine = engine;
@ -1631,7 +1600,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
/** Filter the engine list against the currently selected cargo filter */
void FilterEngineList()
{
this->eng_list.Filter(this->cargo_filter[this->cargo_filter_criteria]);
this->eng_list.Filter(this->cargo_filter_criteria);
if (0 == this->eng_list.size()) { // no engine passed through the filter, invalidate the previously selected engine
this->SelectEngine(INVALID_ENGINE);
} else if (std::find(this->eng_list.begin(), this->eng_list.end(), this->sel_engine) == this->eng_list.end()) { // previously selected engine didn't pass the filter, select the first engine of the list
@ -1642,9 +1611,8 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
/** Filter a single engine */
bool FilterSingleEngine(EngineID eid)
{
CargoID filter_type = this->cargo_filter[this->cargo_filter_criteria];
GUIEngineListItem item = {eid, eid, EngineDisplayFlags::None, 0};
return CargoAndEngineFilter(&item, filter_type);
return CargoAndEngineFilter(&item, this->cargo_filter_criteria);
}
/** Filter by name and NewGRF extra text */
@ -1866,6 +1834,29 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
this->eng_list.RebuildDone();
}
DropDownList BuildCargoDropDownList() const
{
DropDownList list;
/* Add item for disabling filtering. */
list.push_back(std::make_unique<DropDownListStringItem>(this->GetCargoFilterLabel(CF_ANY), CF_ANY, false));
/* Specific filters for trains. */
if (this->vehicle_type == VEH_TRAIN) {
/* Add item for locomotives only in case of trains. */
list.push_back(std::make_unique<DropDownListStringItem>(this->GetCargoFilterLabel(CF_ENGINES), CF_ENGINES, false));
/* Add item for vehicles not carrying anything, e.g. train engines.
* This could also be useful for eyecandy vehicles of other types, but is likely too confusing for joe, */
list.push_back(std::make_unique<DropDownListStringItem>(this->GetCargoFilterLabel(CF_NONE), CF_NONE, false));
}
/* Add cargos */
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
list.push_back(std::make_unique<DropDownListStringItem>(cs->name, cs->Index(), false));
}
return list;
}
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
{
switch (widget) {
@ -1918,7 +1909,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
break;
case WID_BV_CARGO_FILTER_DROPDOWN: // Select cargo filtering criteria dropdown menu
ShowDropDownMenu(this, this->cargo_filter_texts, this->cargo_filter_criteria, WID_BV_CARGO_FILTER_DROPDOWN, 0, 0);
ShowDropDownList(this, this->BuildCargoDropDownList(), this->cargo_filter_criteria, widget);
break;
case WID_BV_SHOW_HIDE: {
@ -1942,7 +1933,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
? CcBuildWagon : CcBuildPrimaryVehicle;
cmd = GetCmdBuildVeh(this->vehicle_type);
}
CargoID cargo = this->cargo_filter[this->cargo_filter_criteria];
CargoID cargo = this->cargo_filter_criteria;
if (cargo == CF_ANY || cargo == CF_ENGINES || cargo == CF_NONE) cargo = CT_INVALID;
DoCommandP(this->window_number, sel_eng | (cargo << 24), 0, cmd, callback);
@ -2015,7 +2006,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
break;
case WID_BV_CARGO_FILTER_DROPDOWN:
SetDParam(0, this->cargo_filter_texts[this->cargo_filter_criteria]);
SetDParam(0, this->GetCargoFilterLabel(this->cargo_filter_criteria));
break;
case WID_BV_SHOW_HIDE: {
@ -2051,6 +2042,10 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
break;
}
case WID_BV_CARGO_FILTER_DROPDOWN:
size->width = std::max(size->width, GetDropDownListDimension(this->BuildCargoDropDownList()).width + padding.width);
break;
case WID_BV_BUILD:
*size = GetStringBoundingBox(STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON + this->vehicle_type);
*size = maxdim(*size, GetStringBoundingBox(STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON + this->vehicle_type));
@ -2142,9 +2137,9 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
case WID_BV_CARGO_FILTER_DROPDOWN: // Select a cargo filter criteria
if (this->cargo_filter_criteria != index) {
this->cargo_filter_criteria = index;
_engine_sort_last_cargo_criteria[this->vehicle_type] = this->cargo_filter[this->cargo_filter_criteria];
_engine_sort_last_cargo_criteria[this->vehicle_type] = this->cargo_filter_criteria;
/* deactivate filter if criteria is 'Show All', activate it otherwise */
this->eng_list.SetFilterState(this->cargo_filter[this->cargo_filter_criteria] != CF_ANY);
this->eng_list.SetFilterState(this->cargo_filter_criteria != CF_ANY);
this->eng_list.ForceRebuild();
this->SelectEngine(this->sel_engine);
}

@ -238,7 +238,7 @@ static Money DrawYearCategory(const Rect &r, int start_y, const ExpensesList &li
}
/* Draw the total at the bottom of the category. */
GfxFillRect(r.left, y, r.right, y, PC_BLACK);
GfxFillRect(r.left, y, r.right, y + WidgetDimensions::scaled.bevel.top - 1, PC_BLACK);
y += WidgetDimensions::scaled.vsep_normal;
if (sum != 0) DrawPrice(sum, r.left, r.right, y, TC_WHITE);
@ -273,7 +273,7 @@ static void DrawYearColumn(const Rect &r, int year, const Expenses &tbl)
}
/* Total income. */
GfxFillRect(r.left, y, r.right, y, PC_BLACK);
GfxFillRect(r.left, y, r.right, y + WidgetDimensions::scaled.bevel.top - 1, PC_BLACK);
y += WidgetDimensions::scaled.vsep_normal;
DrawPrice(sum, r.left, r.right, y, TC_WHITE);
}
@ -297,32 +297,24 @@ static const NWidgetPart _nested_company_finances_widgets[] = {
EndContainer(),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect),
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.framerect), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), SetPIPRatio(0, 1, 2),
NWidget(NWID_VERTICAL), // Vertical column with 'bank balance', 'loan'
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_OWN_FUNDS_TITLE, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_LOAN_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_SPACER), SetMinimalSize(0, 2), SetFill(1, 0),
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_BANK_BALANCE_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_SPACER), SetFill(0, 1),
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_OWN_FUNDS_TITLE, STR_NULL),
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_LOAN_TITLE, STR_NULL),
NWidget(WWT_TEXT, COLOUR_GREY), SetDataTip(STR_FINANCES_BANK_BALANCE_TITLE, STR_NULL), SetPadding(WidgetDimensions::unscaled.vsep_normal, 0, 0, 0),
EndContainer(),
NWidget(NWID_SPACER), SetFill(0, 0), SetMinimalSize(30, 0),
NWidget(NWID_VERTICAL), // Vertical column with bank balance amount, loan amount, and total.
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_OWN_VALUE), SetDataTip(STR_FINANCES_TOTAL_CURRENCY, STR_NULL), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_LOAN_VALUE), SetDataTip(STR_FINANCES_TOTAL_CURRENCY, STR_NULL), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CF_BALANCE_LINE), SetMinimalSize(0, 2), SetFill(1, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CF_BALANCE_LINE), SetMinimalSize(0, WidgetDimensions::unscaled.vsep_normal),
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_BALANCE_VALUE), SetDataTip(STR_FINANCES_BANK_BALANCE, STR_NULL), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_CF_SEL_MAXLOAN),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(0, 1), SetMinimalSize(25, 0),
NWidget(NWID_VERTICAL), // Max loan information
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_INTEREST_RATE), SetDataTip(STR_FINANCES_INTEREST_RATE, STR_NULL),
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_MAXLOAN_VALUE), SetDataTip(STR_FINANCES_MAX_LOAN, STR_NULL),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIPRatio(0, 0, 1), // Max loan information
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_INTEREST_RATE), SetDataTip(STR_FINANCES_INTEREST_RATE, STR_NULL),
NWidget(WWT_TEXT, COLOUR_GREY, WID_CF_MAXLOAN_VALUE), SetDataTip(STR_FINANCES_MAX_LOAN, STR_NULL),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetFill(1, 1),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_CF_SEL_BUTTONS),
@ -440,7 +432,7 @@ struct CompanyFinancesWindow : Window {
}
case WID_CF_BALANCE_LINE:
GfxFillRect(r.left, r.top, r.right, r.top, PC_BLACK);
GfxFillRect(r.left, r.top, r.right, r.top + WidgetDimensions::scaled.bevel.top - 1, PC_BLACK);
break;
}
}
@ -1248,137 +1240,148 @@ static const NWidgetPart _nested_select_company_manager_face_widgets[] = {
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_SCMF_TOGGLE_LARGE_SMALL), SetDataTip(SPR_LARGE_SMALL_WINDOW, STR_FACE_ADVANCED_TOOLTIP),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY, WID_SCMF_SELECT_FACE),
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
NWidget(NWID_HORIZONTAL), SetPIP(2, 2, 2),
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_SCMF_FACE), SetMinimalSize(92, 119),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0), SetPadding(2),
/* Left side */
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_SCMF_FACE), SetMinimalSize(92, 119), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_RANDOM_NEW_FACE), SetFill(1, 0), SetDataTip(STR_FACE_NEW_FACE_BUTTON, STR_FACE_NEW_FACE_TOOLTIP),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SCMF_SEL_LOADSAVE), // Load/number/save buttons under the portrait in the advanced view.
NWidget(NWID_VERTICAL),
NWidget(NWID_SPACER), SetMinimalSize(0, 5), SetFill(0, 1),
NWidget(NWID_VERTICAL), SetPIP(0, 0, 0), SetPIPRatio(1, 0, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_LOAD), SetFill(1, 0), SetDataTip(STR_FACE_LOAD, STR_FACE_LOAD_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_FACECODE), SetFill(1, 0), SetDataTip(STR_FACE_FACECODE, STR_FACE_FACECODE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_SAVE), SetFill(1, 0), SetDataTip(STR_FACE_SAVE, STR_FACE_SAVE_TOOLTIP),
NWidget(NWID_SPACER), SetMinimalSize(0, 5), SetFill(0, 1),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_VERTICAL),
/* Right side */
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_TOGGLE_LARGE_SMALL_BUTTON), SetFill(1, 0), SetDataTip(STR_FACE_ADVANCED, STR_FACE_ADVANCED_TOOLTIP),
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SCMF_SEL_MALEFEMALE), // Simple male/female face setting.
NWidget(NWID_VERTICAL),
NWidget(NWID_SPACER), SetFill(0, 1),
NWidget(NWID_VERTICAL), SetPIPRatio(1, 0, 1),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_SCMF_MALE), SetFill(1, 0), SetDataTip(STR_FACE_MALE_BUTTON, STR_FACE_MALE_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_SCMF_FEMALE), SetFill(1, 0), SetDataTip(STR_FACE_FEMALE_BUTTON, STR_FACE_FEMALE_TOOLTIP),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SCMF_SEL_PARTS), // Advanced face parts setting.
NWidget(NWID_VERTICAL),
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_SCMF_MALE2), SetFill(1, 0), SetDataTip(STR_FACE_MALE_BUTTON, STR_FACE_MALE_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_SCMF_FEMALE2), SetFill(1, 0), SetDataTip(STR_FACE_FEMALE_BUTTON, STR_FACE_FEMALE_TOOLTIP),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_SCMF_ETHNICITY_EUR), SetFill(1, 0), SetDataTip(STR_FACE_EUROPEAN, STR_FACE_SELECT_EUROPEAN),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_SCMF_ETHNICITY_AFR), SetFill(1, 0), SetDataTip(STR_FACE_AFRICAN, STR_FACE_SELECT_AFRICAN),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 4),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EYECOLOUR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAS_MOUSTACHE_EARRING), SetDataTip(STR_JUST_STRING1, STR_FACE_MOUSTACHE_EARRING_TOOLTIP), SetTextStyle(TC_WHITE),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_GLASSES_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_GLASSES, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAS_GLASSES), SetDataTip(STR_JUST_STRING1, STR_FACE_GLASSES_TOOLTIP), SetTextStyle(TC_WHITE),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 2), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAIR_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_HAIR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_HAIR_L), SetDataTip(AWV_DECREASE, STR_FACE_HAIR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAIR), SetDataTip(STR_JUST_STRING1, STR_FACE_HAIR_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_HAIR_R), SetDataTip(AWV_INCREASE, STR_FACE_HAIR_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYEBROWS_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EYEBROWS, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYEBROWS_L), SetDataTip(AWV_DECREASE, STR_FACE_EYEBROWS_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_EYEBROWS), SetDataTip(STR_JUST_STRING1, STR_FACE_EYEBROWS_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYEBROWS_R), SetDataTip(AWV_INCREASE, STR_FACE_EYEBROWS_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYECOLOUR_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EYECOLOUR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR_L), SetDataTip(AWV_DECREASE, STR_FACE_EYECOLOUR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR), SetDataTip(STR_JUST_STRING1, STR_FACE_EYECOLOUR_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR_R), SetDataTip(AWV_INCREASE, STR_FACE_EYECOLOUR_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_GLASSES_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_GLASSES, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_GLASSES_L), SetDataTip(AWV_DECREASE, STR_FACE_GLASSES_TOOLTIP_2),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_GLASSES), SetDataTip(STR_JUST_STRING1, STR_FACE_GLASSES_TOOLTIP_2), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_GLASSES_R), SetDataTip(AWV_INCREASE, STR_FACE_GLASSES_TOOLTIP_2),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_NOSE_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_NOSE, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_NOSE_L), SetDataTip(AWV_DECREASE, STR_FACE_NOSE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_NOSE), SetDataTip(STR_JUST_STRING1, STR_FACE_NOSE_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_NOSE_R), SetDataTip(AWV_INCREASE, STR_FACE_NOSE_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_LIPS_MOUSTACHE_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_MOUSTACHE, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE_L), SetDataTip(AWV_DECREASE, STR_FACE_LIPS_MOUSTACHE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE), SetDataTip(STR_JUST_STRING1, STR_FACE_LIPS_MOUSTACHE_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE_R), SetDataTip(AWV_INCREASE, STR_FACE_LIPS_MOUSTACHE_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_CHIN_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_CHIN, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_CHIN_L), SetDataTip(AWV_DECREASE, STR_FACE_CHIN_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_CHIN), SetDataTip(STR_JUST_STRING1, STR_FACE_CHIN_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_CHIN_R), SetDataTip(AWV_INCREASE, STR_FACE_CHIN_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_JACKET_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_JACKET, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_JACKET_L), SetDataTip(AWV_DECREASE, STR_FACE_JACKET_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_JACKET), SetDataTip(STR_JUST_STRING1, STR_FACE_JACKET_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_JACKET_R), SetDataTip(AWV_INCREASE, STR_FACE_JACKET_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_COLLAR_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_COLLAR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_COLLAR_L), SetDataTip(AWV_DECREASE, STR_FACE_COLLAR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_COLLAR), SetDataTip(STR_JUST_STRING1, STR_FACE_COLLAR_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_COLLAR_R), SetDataTip(AWV_INCREASE, STR_FACE_COLLAR_TOOLTIP),
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_EYECOLOUR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAS_MOUSTACHE_EARRING), SetDataTip(STR_JUST_STRING1, STR_FACE_MOUSTACHE_EARRING_TOOLTIP), SetTextStyle(TC_WHITE),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAS_GLASSES_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_GLASSES, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAS_GLASSES), SetDataTip(STR_JUST_STRING1, STR_FACE_GLASSES_TOOLTIP), SetTextStyle(TC_WHITE),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_TIE_EARRING_TEXT), SetFill(1, 0), SetPadding(WidgetDimensions::unscaled.framerect),
SetDataTip(STR_FACE_EARRING, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING_L), SetDataTip(AWV_DECREASE, STR_FACE_TIE_EARRING_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING), SetDataTip(STR_JUST_STRING1, STR_FACE_TIE_EARRING_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING_R), SetDataTip(AWV_INCREASE, STR_FACE_TIE_EARRING_TOOLTIP),
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_HAIR_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_HAIR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_HAIR_L), SetDataTip(AWV_DECREASE, STR_FACE_HAIR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_HAIR), SetDataTip(STR_JUST_STRING1, STR_FACE_HAIR_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_HAIR_R), SetDataTip(AWV_INCREASE, STR_FACE_HAIR_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYEBROWS_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_EYEBROWS, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYEBROWS_L), SetDataTip(AWV_DECREASE, STR_FACE_EYEBROWS_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_EYEBROWS), SetDataTip(STR_JUST_STRING1, STR_FACE_EYEBROWS_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYEBROWS_R), SetDataTip(AWV_INCREASE, STR_FACE_EYEBROWS_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_EYECOLOUR_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_EYECOLOUR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR_L), SetDataTip(AWV_DECREASE, STR_FACE_EYECOLOUR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR), SetDataTip(STR_JUST_STRING1, STR_FACE_EYECOLOUR_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_EYECOLOUR_R), SetDataTip(AWV_INCREASE, STR_FACE_EYECOLOUR_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_GLASSES_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_GLASSES, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_GLASSES_L), SetDataTip(AWV_DECREASE, STR_FACE_GLASSES_TOOLTIP_2),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_GLASSES), SetDataTip(STR_JUST_STRING1, STR_FACE_GLASSES_TOOLTIP_2), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_GLASSES_R), SetDataTip(AWV_INCREASE, STR_FACE_GLASSES_TOOLTIP_2),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_NOSE_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_NOSE, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_NOSE_L), SetDataTip(AWV_DECREASE, STR_FACE_NOSE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_NOSE), SetDataTip(STR_JUST_STRING1, STR_FACE_NOSE_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_NOSE_R), SetDataTip(AWV_INCREASE, STR_FACE_NOSE_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_LIPS_MOUSTACHE_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_MOUSTACHE, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE_L), SetDataTip(AWV_DECREASE, STR_FACE_LIPS_MOUSTACHE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE), SetDataTip(STR_JUST_STRING1, STR_FACE_LIPS_MOUSTACHE_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_LIPS_MOUSTACHE_R), SetDataTip(AWV_INCREASE, STR_FACE_LIPS_MOUSTACHE_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_CHIN_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_CHIN, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_CHIN_L), SetDataTip(AWV_DECREASE, STR_FACE_CHIN_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_CHIN), SetDataTip(STR_JUST_STRING1, STR_FACE_CHIN_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_CHIN_R), SetDataTip(AWV_INCREASE, STR_FACE_CHIN_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_JACKET_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_JACKET, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_JACKET_L), SetDataTip(AWV_DECREASE, STR_FACE_JACKET_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_JACKET), SetDataTip(STR_JUST_STRING1, STR_FACE_JACKET_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_JACKET_R), SetDataTip(AWV_INCREASE, STR_FACE_JACKET_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_COLLAR_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_COLLAR, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_COLLAR_L), SetDataTip(AWV_DECREASE, STR_FACE_COLLAR_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_COLLAR), SetDataTip(STR_JUST_STRING1, STR_FACE_COLLAR_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_COLLAR_R), SetDataTip(AWV_INCREASE, STR_FACE_COLLAR_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, INVALID_COLOUR, WID_SCMF_TIE_EARRING_TEXT), SetFill(1, 0),
SetDataTip(STR_FACE_EARRING, STR_NULL), SetTextStyle(TC_GOLD), SetAlignment(SA_VERT_CENTER | SA_RIGHT),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING_L), SetDataTip(AWV_DECREASE, STR_FACE_TIE_EARRING_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING), SetDataTip(STR_JUST_STRING1, STR_FACE_TIE_EARRING_TOOLTIP), SetTextStyle(TC_WHITE),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_SCMF_TIE_EARRING_R), SetDataTip(AWV_INCREASE, STR_FACE_TIE_EARRING_TOOLTIP),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SCMF_CANCEL), SetFill(1, 0), SetDataTip(STR_BUTTON_CANCEL, STR_FACE_CANCEL_TOOLTIP),
@ -2159,7 +2162,7 @@ struct CompanyInfrastructureWindow : Window
if (_settings_game.economy.infrastructure_maintenance) {
y += FONT_HEIGHT_NORMAL + EXP_SPACING;
int left = _current_text_dir == TD_RTL ? width - this->total_width : 0;
GfxFillRect(left, y, left + this->total_width, y, PC_WHITE);
GfxFillRect(left, y, left + this->total_width, y + WidgetDimensions::scaled.bevel.top - 1, PC_WHITE);
y += WidgetDimensions::scaled.vsep_normal;
SetDParam(0, this->GetTotalMaintenanceCost() * 12); // Convert to per year
DrawString(left, left + this->total_width, y, STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL, TC_FROMSTRING, SA_RIGHT);
@ -2221,30 +2224,25 @@ static const NWidgetPart _nested_company_widgets[] = {
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_HORIZONTAL), SetPIP(4, 6, 4),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), SetPadding(4),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_FACE), SetMinimalSize(92, 119), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_FACE_TITLE), SetFill(1, 1), SetMinimalTextLines(2, 0),
EndContainer(),
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_VERTICAL), SetPIP(4, 5, 5),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_INAUGURATION), SetDataTip(STR_COMPANY_VIEW_INAUGURATED_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, 5, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_LABEL, COLOUR_GREY, WID_C_DESC_COLOUR_SCHEME), SetDataTip(STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE, STR_NULL),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_COLOUR_SCHEME_EXAMPLE), SetMinimalSize(30, 0), SetFill(0, 1),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_COLOUR_SCHEME_EXAMPLE), SetMinimalSize(30, 0), SetFill(1, 1),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_VEHICLE), SetDataTip(STR_COMPANY_VIEW_VEHICLES_TITLE, STR_NULL),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_VEHICLE_COUNTS), SetMinimalTextLines(4, 0),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_VEHICLE), SetDataTip(STR_COMPANY_VIEW_VEHICLES_TITLE, STR_NULL), SetAlignment(SA_LEFT | SA_TOP),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_VEHICLE_COUNTS), SetMinimalTextLines(4, 0), SetFill(1, 1),
EndContainer(),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_VIEW_BUILD_HQ),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_VIEW_HQ), SetDataTip(STR_COMPANY_VIEW_VIEW_HQ_BUTTON, STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_C_BUILD_HQ), SetDataTip(STR_COMPANY_VIEW_BUILD_HQ_BUTTON, STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP),
@ -2253,30 +2251,16 @@ static const NWidgetPart _nested_company_widgets[] = {
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_C_RELOCATE_HQ), SetDataTip(STR_COMPANY_VIEW_RELOCATE_HQ, STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS),
NWidget(NWID_SPACER),
EndContainer(),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_COMPANY_VALUE), SetDataTip(STR_COMPANY_VIEW_COMPANY_VALUE, STR_NULL), SetFill(1, 0),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE, STR_NULL),
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_INFRASTRUCTURE_COUNTS), SetMinimalTextLines(5, 0), SetFill(1, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_VIEW_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON, STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP),
NWidget(NWID_SPACER),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_HOSTILE_TAKEOVER),
NWidget(NWID_VERTICAL),
NWidget(NWID_SPACER), SetFill(0, 1), SetMinimalSize(90, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_HOSTILE_TAKEOVER), SetDataTip(STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON, STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, COLOUR_GREY, WID_C_DESC_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE, STR_NULL), SetAlignment(SA_LEFT | SA_TOP),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_DESC_INFRASTRUCTURE_COUNTS), SetMinimalTextLines(5, 0), SetFill(1, 0),
NWidget(NWID_VERTICAL), SetPIPRatio(0, 0, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_VIEW_INFRASTRUCTURE), SetDataTip(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON, STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
@ -2286,28 +2270,22 @@ static const NWidgetPart _nested_company_widgets[] = {
NWidget(NWID_SPACER), SetFill(0, 1),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_GIVE_MONEY),
NWidget(NWID_VERTICAL),
NWidget(NWID_SPACER), SetFill(0, 1), SetMinimalSize(90, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_GIVE_MONEY), SetDataTip(STR_COMPANY_VIEW_GIVE_MONEY_BUTTON, STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP),
EndContainer(),
EndContainer(),
EndContainer(),
/* Multi player buttons. */
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(NWID_VERTICAL), SetPIP(4, 2, 4),
NWidget(NWID_SPACER), SetMinimalSize(95, 0), SetFill(0, 1),
NWidget(NWID_HORIZONTAL), SetPIP(0, 5, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_C_HAS_PASSWORD),
NWidget(NWID_VERTICAL),
NWidget(NWID_SPACER), SetMinimalSize(90, 0), SetFill(0, 1),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_MULTIPLAYER),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_COMPANY_PASSWORD), SetFill(1, 0), SetDataTip(STR_COMPANY_VIEW_PASSWORD, STR_COMPANY_VIEW_PASSWORD_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_COMPANY_JOIN), SetFill(1, 0), SetDataTip(STR_COMPANY_VIEW_JOIN, STR_COMPANY_VIEW_JOIN_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0), SetPIPRatio(1, 0, 0),
NWidget(NWID_VERTICAL), SetPIPRatio(1, 0, 0),
NWidget(WWT_EMPTY, COLOUR_GREY, WID_C_HAS_PASSWORD), SetFill(0, 0),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_HOSTILE_TAKEOVER),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_HOSTILE_TAKEOVER), SetDataTip(STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON, STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_GIVE_MONEY),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_GIVE_MONEY), SetDataTip(STR_COMPANY_VIEW_GIVE_MONEY_BUTTON, STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_C_SELECT_MULTIPLAYER),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_COMPANY_PASSWORD), SetDataTip(STR_COMPANY_VIEW_PASSWORD, STR_COMPANY_VIEW_PASSWORD_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_C_COMPANY_JOIN), SetDataTip(STR_COMPANY_VIEW_JOIN, STR_COMPANY_VIEW_JOIN_TOOLTIP),
EndContainer(),
EndContainer(),
EndContainer(),
@ -2530,7 +2508,7 @@ struct CompanyWindow : Window
case WID_C_HAS_PASSWORD:
*size = maxdim(*size, GetSpriteSize(SPR_LOCK));
if (_networking) *size = maxdim(*size, GetSpriteSize(SPR_LOCK));
break;
}
}

@ -31,11 +31,13 @@ struct fmt::formatter<E, Char, std::enable_if_t<std::is_enum<E>::value>> : fmt::
using underlying_type = typename std::underlying_type<E>::type;
using parent = typename fmt::formatter<underlying_type>;
constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx) {
constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx)
{
return parent::parse(ctx);
}
fmt::format_context::iterator format(const E &e, format_context &ctx) const {
fmt::format_context::iterator format(const E &e, format_context &ctx) const
{
return parent::format(underlying_type(e), ctx);
}
};
@ -45,11 +47,13 @@ struct fmt::formatter<E, Char, std::enable_if_t<std::is_enum<E>::value>> : fmt::
// using underlying_type = typename T::Type;
// using parent = typename fmt::formatter<underlying_type>;
//
// constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx) {
// constexpr fmt::format_parse_context::iterator parse(fmt::format_parse_context &ctx)
// {
// return parent::parse(ctx);
// }
//
// fmt::format_context::iterator format(const T &t, format_context &ctx) const {
// fmt::format_context::iterator format(const T &t, format_context &ctx) const
// {
// return parent::format(underlying_type(t), ctx);
// }
//};

@ -62,5 +62,3 @@ Rect BoundingRect(const Rect &r1, const Rect &r2)
return r;
}
const RectPadding RectPadding::zero = {0, 0, 0, 0};

@ -65,6 +65,8 @@ struct RectPadding {
inline uint Vertical() const { return this->top + this->bottom; }
};
inline const RectPadding RectPadding::zero{};
/** Specification of a rectangle with absolute coordinates of all edges */
struct Rect {
int left;

@ -446,9 +446,9 @@ public:
/* strings such as 'Size' and 'Coverage Area' */
Rect r = this->GetWidget<NWidgetBase>(BDSW_ACCEPTANCE)->GetCurrentRect();
int top = r.top + WidgetDimensions::scaled.vsep_normal;
int top = r.top;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, false) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true);
/* Resize background if the window is too small.
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
* (This is the case, if making the window bigger moves the mouse into the window.) */
@ -485,12 +485,16 @@ static const NWidgetPart _nested_build_dock_station_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_DOCK_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, BDSW_BACKGROUND),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN, BDSW_INFO), SetPadding(WidgetDimensions::unscaled.framerect), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(14, 0, 14),
NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_OFF), SetMinimalSize(60, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_ON), SetMinimalSize(60, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0), SetPadding(WidgetDimensions::unscaled.picker),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_picker, 0),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN, BDSW_INFO), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(14, 0, 14),
NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_OFF), SetMinimalSize(60, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_ON), SetMinimalSize(60, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_GREY, BDSW_ACCEPTANCE), SetResize(0, 1), SetMinimalTextLines(2, WidgetDimensions::unscaled.vsep_normal),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_GREY, BDSW_ACCEPTANCE), SetPadding(WidgetDimensions::unscaled.framerect), SetResize(0, 1),
EndContainer(),
};

@ -430,7 +430,8 @@ void ShowErrorMessage(StringID summary_msg, StringID detailed_msg, WarningLevel
* Close active error message window
* @return true if a window was closed.
*/
bool HideActiveErrorMessage() {
bool HideActiveErrorMessage()
{
ErrmsgWindow *w = (ErrmsgWindow*)FindWindowById(WC_ERRMSG, 0);
if (w == nullptr) return false;
w->Close();

@ -35,27 +35,29 @@ static const NWidgetPart _nested_gs_config_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_CAPTION_GAMESCRIPT, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_DEFSIZEBOX, COLOUR_MAUVE),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_GSC_BACKGROUND), SetFill(1, 0), SetResize(1, 0),
NWidget(NWID_SPACER), SetMinimalSize(0, 3), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_GAMESCRIPT, STR_NULL), SetFill(1, 0), SetResize(1, 0), SetPadding(0, 5, 4, 5),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_GSC_GSLIST), SetMinimalSize(288, 14), SetFill(1, 0), SetResize(1, 0), SetMatrixDataTip(1, 1, STR_AI_CONFIG_GAMELIST_TOOLTIP),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_GAMESCRIPT_PARAM, STR_NULL), SetFill(1, 0), SetResize(1, 0), SetPadding(0, 5, 4, 5),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_GSC_SETTINGS), SetFill(1, 0), SetResize(1, 1), SetMinimalSize(188, 182), SetMatrixDataTip(1, 0, STR_NULL), SetScrollbar(WID_GSC_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_GSC_SCROLLBAR),
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_GSC_BACKGROUND),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_GAMESCRIPT, STR_NULL), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_GSC_GSLIST), SetMinimalSize(288, 14), SetFill(1, 1), SetResize(1, 0), SetMatrixDataTip(1, 1, STR_AI_CONFIG_GAMELIST_TOOLTIP),
EndContainer(),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_GAMESCRIPT_PARAM, STR_NULL), SetFill(1, 1), SetResize(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_GSC_SETTINGS), SetFill(1, 0), SetResize(1, 1), SetMinimalSize(188, 182), SetMatrixDataTip(1, 0, STR_NULL), SetScrollbar(WID_GSC_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_GSC_SCROLLBAR),
EndContainer(),
EndContainer(),
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_CHANGE), SetFill(1, 1), SetResize(1, 0), SetMinimalSize(93, 0), SetDataTip(STR_AI_CONFIG_CHANGE_GAMESCRIPT, STR_AI_CONFIG_CHANGE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_README), SetFill(1, 1), SetResize(1, 0), SetMinimalSize(93, 0), SetDataTip(STR_TEXTFILE_VIEW_README, STR_NULL),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_CHANGELOG), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_LICENSE), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_NULL),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_CONTENT_DOWNLOAD), SetFill(1, 1), SetResize(1, 0), SetMinimalSize(279, 0), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_CHANGE), SetFill(1, 0), SetResize(1, 0), SetMinimalSize(93, 0), SetDataTip(STR_AI_CONFIG_CHANGE_GAMESCRIPT, STR_AI_CONFIG_CHANGE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_README), SetFill(1, 0), SetResize(1, 0), SetMinimalSize(93, 0), SetDataTip(STR_TEXTFILE_VIEW_README, STR_NULL),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_CHANGELOG), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_LICENSE), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_NULL),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_CONTENT_DOWNLOAD), SetFill(1, 0), SetResize(1, 0), SetMinimalSize(279, 0), SetPadding(0, 7, 9, 7), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),

@ -76,27 +76,21 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_MAPGEN_WORLD_GENERATION_CAPTION, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_BROWN),
NWidget(NWID_SPACER), SetMinimalSize(0, 10),
/* Landscape selection. */
NWidget(NWID_HORIZONTAL), SetPIP(10, 0, 10),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TEMPERATE), SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_ARCTIC), SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TROPICAL), SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TOYLAND), SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
NWidget(NWID_SPACER), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 11),
/* Generation options. */
NWidget(NWID_HORIZONTAL), SetPIP(10, 5, 10),
/* Left half (land generation options) */
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
/* Landscape selection. */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), SetPIPRatio(1, 1, 1),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TEMPERATE), SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_ARCTIC), SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TROPICAL), SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TOYLAND), SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
EndContainer(),
/* Generation options. */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
/* Left half (land generation options) */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
/* Labels on the left side (global column 1). */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_MAPGEN_MAPSIZE_TOOLTIP), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TERRAIN_TYPE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_VARIETY, STR_NULL), SetFill(1, 1),
@ -104,32 +98,33 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BORDER_TYPE, STR_NULL), SetFill(1, 1),
EndContainer(),
/* Widgets on the right side (global column 2). */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
/* Mapsize X * Y. */
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_MAPGEN_MAPSIZE_TOOLTIP), SetFill(1, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_MAPGEN_MAPSIZE_TOOLTIP), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_MAPGEN_MAPSIZE_TOOLTIP), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetFill(0, 1), SetAlignment(SA_CENTER),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_MAPGEN_MAPSIZE_TOOLTIP), SetFill(1, 1),
EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TERRAIN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_VARIETY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_SMOOTHNESS_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_BORDERS_RANDOM), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TERRAIN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_VARIETY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_SMOOTHNESS_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_BORDERS_RANDOM), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 1),
EndContainer(),
EndContainer(),
EndContainer(),
/* Right half (all other options) */
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
/* Right half (all other options) */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
/* Labels on the left side (global column 3). */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GL_CLIMATE_SEL_LABEL),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_COVERAGE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DESERT_COVERAGE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_RAINFOREST_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
NWidget(NWID_SPACER), SetFill(1, 1),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TOWN_NAME_LABEL, STR_NULL), SetFill(1, 1),
@ -137,20 +132,21 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_INDUSTRIES, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SEA_LEVEL, STR_NULL), SetFill(1, 1),
EndContainer(),
/* Widgets on the right side (global column 4). */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
/* Climate selector. */
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GL_CLIMATE_SEL_SELECTOR),
/* Snow coverage. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_COVERAGE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_SNOW_COVERAGE_TEXT, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_SNOW_COVERAGE_TEXT, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_COVERAGE_UP), SetFill(0, 1),
EndContainer(),
/* Desert coverage. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_DESERT_COVERAGE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_DESERT_COVERAGE_TEXT, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_DESERT_COVERAGE_TEXT, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_DESERT_COVERAGE_UP), SetFill(0, 1),
EndContainer(),
/* Snow line. */
@ -165,58 +161,49 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_TEXT), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_RAINFOREST_LINE_UP), SetFill(0, 1),
EndContainer(),
/* Temperate/Toyland spacer. */
NWidget(NWID_SPACER), SetFill(1, 1),
EndContainer(),
/* Starting date. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD), SetFill(0, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_JUST_DATE_LONG, STR_NULL), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_JUST_DATE_LONG, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_UP), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD), SetFill(0, 1),
EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWNNAME_DROPDOWN), SetDataTip(STR_JUST_STRING, STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_WATER_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWNNAME_DROPDOWN), SetDataTip(STR_JUST_STRING, STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_WATER_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 1),
EndContainer(),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 4),
/* Map borders buttons for each edge. */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(10, 0, 10),
NWidget(NWID_HORIZONTAL), SetPIP(0, 0, 3),
NWidget(NWID_SPACER), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NORTHWEST, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(0, 1),
EndContainer(),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_NW), SetDataTip(STR_JUST_STRING, STR_MAPGEN_NORTHWEST), SetFill(1, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_NE), SetDataTip(STR_JUST_STRING, STR_MAPGEN_NORTHEAST), SetFill(1, 1),
NWidget(NWID_HORIZONTAL), SetPIP(3, 0, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NORTHEAST, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(0, 1),
NWidget(NWID_SPACER), SetFill(1, 1),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(10, 0, 10),
NWidget(NWID_HORIZONTAL), SetPIP(0, 0, 3),
NWidget(NWID_SPACER), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SOUTHWEST, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(0, 1),
/* Map borders buttons for each edge. */
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NORTHWEST, STR_NULL), SetPadding(0, WidgetDimensions::unscaled.hsep_normal, 0, 0), SetFill(1, 1), SetAlignment(SA_RIGHT | SA_VERT_CENTER),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_NW), SetDataTip(STR_JUST_STRING, STR_MAPGEN_NORTHWEST), SetFill(1, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_NE), SetDataTip(STR_JUST_STRING, STR_MAPGEN_NORTHEAST), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NORTHEAST, STR_NULL), SetPadding(0, 0, 0, WidgetDimensions::unscaled.hsep_normal), SetFill(1, 1),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SOUTHWEST, STR_NULL), SetPadding(0, WidgetDimensions::unscaled.hsep_normal, 0, 0), SetFill(1, 1), SetAlignment(SA_RIGHT | SA_VERT_CENTER),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_SW), SetDataTip(STR_JUST_STRING, STR_MAPGEN_SOUTHWEST), SetFill(1, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_SE), SetDataTip(STR_JUST_STRING, STR_MAPGEN_SOUTHEAST), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SOUTHEAST, STR_NULL), SetPadding(0, 0, 0, WidgetDimensions::unscaled.hsep_normal), SetFill(1, 1),
EndContainer(),
EndContainer(),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_SW), SetDataTip(STR_JUST_STRING, STR_MAPGEN_SOUTHWEST), SetFill(1, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_WATER_SE), SetDataTip(STR_JUST_STRING, STR_MAPGEN_SOUTHEAST), SetFill(1, 1),
NWidget(NWID_HORIZONTAL), SetPIP(3, 0, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SOUTHEAST, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(0, 1),
NWidget(NWID_SPACER), SetFill(1, 1),
/* AI, GS, and NewGRF settings */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_AI_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_AI_SETTINGS, STR_MAPGEN_AI_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_GS_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_GS_SETTINGS, STR_MAPGEN_GS_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_NEWGRF_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_NEWGRF_SETTINGS, STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP), SetFill(1, 0),
EndContainer(),
/* Generate */
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 36), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6), SetFill(1, 1),
/* AI, GS, and NewGRF settings */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(10, 0, 10),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_AI_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_AI_SETTINGS, STR_MAPGEN_AI_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_GS_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_GS_SETTINGS, STR_MAPGEN_GS_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_NEWGRF_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_NEWGRF_SETTINGS, STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 7), SetFill(1, 1),
/* Generate */
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 36), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetPadding(0, 10, 0, 10), SetFill(1, 1),
NWidget(NWID_SPACER), SetMinimalSize(0, 9), SetFill(1, 1),
EndContainer(),
};
@ -228,125 +215,126 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_MAPGEN_WORLD_GENERATION_CAPTION, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_BROWN),
NWidget(NWID_SPACER), SetMinimalSize(0, 10),
/* Landscape selection. */
NWidget(NWID_HORIZONTAL), SetPIP(10, 0, 10),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TEMPERATE), SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_ARCTIC), SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TROPICAL), SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TOYLAND), SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
NWidget(NWID_SPACER), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 11), SetFill(0, 1),
/* Generation options. */
NWidget(NWID_HORIZONTAL), SetPIP(10, 3, 10),
/* Left half labels (global column 1) and heightmap name label */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
/* Heightmap name label. */
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_NAME, STR_NULL), SetFill(1, 1),
/* Land generation option labels */
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE_LABEL, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_ROTATION, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_HEIGHT, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_NULL), SetFill(1, 1),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
/* Landscape selection. */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), SetPIPRatio(1, 1, 1),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TEMPERATE), SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_ARCTIC), SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TROPICAL), SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_GL_TOYLAND), SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
EndContainer(),
/* All other columns. */
NWidget(NWID_VERTICAL), SetPIP(0, 4, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
/* Heightmap name label. */
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_NAME, STR_NULL),
NWidget(WWT_TEXT, COLOUR_ORANGE, WID_GL_HEIGHTMAP_NAME_TEXT), SetTextStyle(TC_ORANGE), SetDataTip(STR_JUST_RAW_STRING, STR_EMPTY), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, 5, 0),
EndContainer(),
/* Generation options. */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
/* Left half (land generation options) */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
/* Labels on the left side (global column 1). */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
/* Land generation option labels. */
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE_LABEL, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_ROTATION, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_HEIGHT, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_NULL), SetFill(1, 1),
EndContainer(),
/* Left half widgets (global column 2) */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE, WID_GL_HEIGHTMAP_SIZE_TEXT), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE, STR_NULL), SetFill(1, 0),
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE, WID_GL_HEIGHTMAP_SIZE_TEXT), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE, STR_NULL), SetFill(1, 1),
/* Mapsize X * Y. */
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetFill(0, 1), SetAlignment(SA_CENTER),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 1),
/* Heightmap highest peak. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_HEIGHT_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_HEIGHT_TEXT), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_HEIGHT_TEXT), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_HEIGHT_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_HEIGHTMAP_HEIGHT_UP), SetFill(0, 1),
EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 1),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(0, 4, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
/* Right half labels (global column 3) */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GL_CLIMATE_SEL_LABEL),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_COVERAGE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DESERT_COVERAGE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_RAINFOREST_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TOWN_NAME_LABEL, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_TOWNS, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_INDUSTRIES, STR_NULL), SetFill(1, 1),
EndContainer(),
/* Right half (all other options) */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
/* Right half labels (global column 3) */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GL_CLIMATE_SEL_LABEL),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_COVERAGE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DESERT_COVERAGE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_RAINFOREST_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
NWidget(NWID_SPACER), SetFill(1, 1),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TOWN_NAME_LABEL, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_TOWNS, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_INDUSTRIES, STR_NULL), SetFill(1, 1),
EndContainer(),
/* Right half widgets (global column 4) */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
/* Climate selector. */
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GL_CLIMATE_SEL_SELECTOR),
/* Snow coverage. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_COVERAGE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_SNOW_COVERAGE_TEXT, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_COVERAGE_UP), SetFill(0, 1),
EndContainer(),
/* Desert coverage. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_DESERT_COVERAGE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_DESERT_COVERAGE_TEXT, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_DESERT_COVERAGE_UP), SetFill(0, 1),
EndContainer(),
/* Right half widgets (global column 4) */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
/* Climate selector. */
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GL_CLIMATE_SEL_SELECTOR),
/* Snow coverage. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_COVERAGE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_SNOW_COVERAGE_TEXT, STR_NULL), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_COVERAGE_UP), SetFill(0, 1),
EndContainer(),
/* Desert coverage. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_DESERT_COVERAGE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_DESERT_COVERAGE_TEXT, STR_NULL), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_DESERT_COVERAGE_UP), SetFill(0, 1),
EndContainer(),
/* Snow line. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_TEXT), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1),
EndContainer(),
/* Rainforest line. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_RAINFOREST_LINE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_TEXT), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_RAINFOREST_LINE_UP), SetFill(0, 1),
EndContainer(),
/* Snow line. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_TEXT), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1),
EndContainer(),
/* Starting date. */
/* Rainforest line. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD), SetFill(0, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_JUST_DATE_LONG, STR_NULL), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_UP), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD), SetFill(0, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_RAINFOREST_LINE_DOWN), SetFill(0, 1),
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_TEXT), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_RAINFOREST_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_RAINFOREST_LINE_UP), SetFill(0, 1),
EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWNNAME_DROPDOWN), SetDataTip(STR_JUST_STRING, STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0),
EndContainer(),
/* Temperate/Toyland spacer. */
NWidget(NWID_SPACER), SetFill(1, 1),
EndContainer(),
/* Starting date. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD), SetFill(0, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_JUST_DATE_LONG, STR_NULL), SetFill(1, 1),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_GL_START_DATE_UP), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD), SetFill(0, 1),
EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWNNAME_DROPDOWN), SetDataTip(STR_JUST_STRING, STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 1),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 1),
EndContainer(),
EndContainer(),
EndContainer(),
/* AI, GS, and NewGRF settings */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_AI_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_AI_SETTINGS, STR_MAPGEN_AI_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_GS_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_GS_SETTINGS, STR_MAPGEN_GS_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_NEWGRF_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_NEWGRF_SETTINGS, STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP), SetFill(1, 0),
EndContainer(),
/* Generate */
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 36), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6), SetFill(1, 1),
/* AI, GS, and NewGRF settings */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(10, 0, 10),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_AI_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_AI_SETTINGS, STR_MAPGEN_AI_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_GS_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_GS_SETTINGS, STR_MAPGEN_GS_SETTINGS_TOOLTIP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_NEWGRF_BUTTON), SetMinimalSize(0, 24), SetDataTip(STR_MAPGEN_NEWGRF_SETTINGS, STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 7), SetFill(1, 1),
/* Generate */
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalSize(84, 36), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetPadding(0, 10, 0, 10), SetFill(1, 1),
NWidget(NWID_SPACER), SetMinimalSize(0, 9), SetFill(1, 1),
EndContainer(),
};
@ -1414,46 +1402,53 @@ static const NWidgetPart _nested_create_scenario_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_SE_MAPGEN_CAPTION, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_BROWN),
NWidget(NWID_SPACER), SetMinimalSize(0, 10),
/* Landscape style selection. */
NWidget(NWID_HORIZONTAL), SetPIP(10, 3, 10),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_TEMPERATE), SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_ARCTIC), SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_TROPICAL), SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_TOYLAND), SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(10, 8, 10),
/* Green generation type buttons: 'Flat land' and 'Random land'. */
NWidget(NWID_VERTICAL), SetPIP(10, 6, 10),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_CS_EMPTY_WORLD), SetDataTip(STR_SE_MAPGEN_FLAT_WORLD, STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP), SetFill(1, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_CS_RANDOM_WORLD), SetDataTip(STR_SE_MAPGEN_RANDOM_LAND, STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND), SetFill(1, 1),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
/* Landscape style selection. */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), SetPIPRatio(1, 1, 1),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_TEMPERATE), SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_ARCTIC), SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_TROPICAL), SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_CS_TOYLAND), SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
EndContainer(),
/* Labels + setting drop-downs */
NWidget(NWID_VERTICAL), SetPIP(10, 6, 10),
/* Map size. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_NULL), SetPadding(1, 0, 0, 0),
NWidget(NWID_SPACER), SetMinimalSize(6, 0), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_CS_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetPadding(0, 4, 0, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetPadding(1, 2, 0, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_CS_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL),
EndContainer(),
/* Date. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetPadding(1, 0, 0, 0),
NWidget(NWID_SPACER), SetMinimalSize(6, 0), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_START_DATE_DOWN), SetFill(0, 1), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CS_START_DATE_TEXT), SetDataTip(STR_JUST_DATE_LONG, STR_NULL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_START_DATE_UP), SetFill(0, 1), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
/* Green generation type buttons: 'Flat land' and 'Random land'. */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_CS_EMPTY_WORLD), SetDataTip(STR_SE_MAPGEN_FLAT_WORLD, STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP), SetFill(1, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_CS_RANDOM_WORLD), SetDataTip(STR_SE_MAPGEN_RANDOM_LAND, STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND), SetFill(1, 1),
EndContainer(),
/* Flat map height. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, COLOUR_ORANGE),
SetDataTip(STR_SE_MAPGEN_FLAT_WORLD_HEIGHT, STR_NULL), SetPadding(1, 0, 0, 0),
NWidget(NWID_SPACER), SetMinimalSize(6, 0), SetFill(1, 0),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_FLAT_LAND_HEIGHT_DOWN), SetFill(0, 1), SetDataTip(SPR_ARROW_DOWN, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CS_FLAT_LAND_HEIGHT_TEXT), SetDataTip(STR_JUST_INT, STR_NULL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_FLAT_LAND_HEIGHT_UP), SetFill(0, 1), SetDataTip(SPR_ARROW_UP, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP),
/* Labels + setting drop-downs */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
/* Labels. */
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_NULL), SetFill(0, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(0, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_SE_MAPGEN_FLAT_WORLD_HEIGHT, STR_NULL), SetFill(0, 1),
EndContainer(),
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
/* Map size. */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_CS_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetFill(0, 1), SetAlignment(SA_CENTER),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_CS_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
EndContainer(),
/* Date. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_START_DATE_DOWN), SetFill(0, 1), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CS_START_DATE_TEXT), SetFill(1, 1), SetDataTip(STR_JUST_DATE_LONG, STR_NULL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_START_DATE_UP), SetFill(0, 1), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD),
EndContainer(),
/* Flat map height. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_FLAT_LAND_HEIGHT_DOWN), SetFill(0, 1), SetDataTip(SPR_ARROW_DOWN, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CS_FLAT_LAND_HEIGHT_TEXT), SetFill(1, 1), SetDataTip(STR_JUST_INT, STR_NULL),
NWidget(WWT_IMGBTN, COLOUR_ORANGE, WID_CS_FLAT_LAND_HEIGHT_UP), SetFill(0, 1), SetDataTip(SPR_ARROW_UP, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP),
EndContainer(),
EndContainer(),
EndContainer(),
EndContainer(),
EndContainer(),

@ -659,7 +659,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left,
}
if (underline) {
GfxFillRect(left, y + h, right, y + h, ctx.string_colourremap[1]);
GfxFillRect(left, y + h, right, y + h + WidgetDimensions::scaled.bevel.top - 1, ctx.string_colourremap[1]);
}
return (align & SA_HOR_MASK) == SA_RIGHT ? left : right;
@ -733,6 +733,7 @@ int DrawString(int left, int right, int top, StringID str, TextColour colour, St
*/
int GetStringHeight(std::string_view str, int maxw, FontSize fontsize)
{
assert(maxw > 0);
Layouter layout(str, maxw, TC_FROMSTRING, fontsize);
return layout.GetBounds().height;
}

@ -154,7 +154,8 @@ ICUParagraphLayout::ICUVisualRun::ICUVisualRun(const ICURun &run, int x) :
* @param buff The buffer of which a partial (depending on start/length of the run) will be shaped.
* @param length The length of the buffer.
*/
void ICURun::Shape(UChar *buff, size_t buff_length) {
void ICURun::Shape(UChar *buff, size_t buff_length)
{
auto hbfont = hb_ft_font_create_referenced(*(static_cast<const FT_Face *>(font->fc->GetOSHandle())));
hb_font_set_scale(hbfont, this->font->fc->GetFontSize() * FONT_SCALE, this->font->fc->GetFontSize() * FONT_SCALE);

@ -492,7 +492,7 @@ public:
break;
case WID_GL_FILTER_BY_CARGO:
size->width = GetStringListWidth(this->cargo_filter_texts) + padding.width;
size->width = std::max(size->width, GetDropDownListDimension(this->BuildCargoDropDownList()).width + padding.width);
break;
case WID_GL_MANAGE_VEHICLES_DROPDOWN: {
@ -542,8 +542,9 @@ public:
switch (widget) {
case WID_GL_FILTER_BY_CARGO:
SetDParam(0, this->cargo_filter_texts[this->cargo_filter_criteria]);
SetDParam(0, this->GetCargoFilterLabel(this->cargo_filter_criteria));
break;
case WID_GL_AVAILABLE_VEHICLES:
SetDParam(0, STR_VEHICLE_LIST_AVAILABLE_TRAINS + this->vli.vtype);
break;
@ -622,8 +623,6 @@ public:
/* Set text of "sort by" dropdown widget. */
this->GetWidget<NWidgetCore>(WID_GL_SORT_BY_DROPDOWN)->widget_data = this->GetVehicleSorterNames()[this->vehgroups.SortType()];
this->GetWidget<NWidgetCore>(WID_GL_FILTER_BY_CARGO)->widget_data = this->cargo_filter_texts[this->cargo_filter_criteria];
this->DrawWidgets();
}
@ -730,7 +729,7 @@ public:
return;
case WID_GL_FILTER_BY_CARGO: // Select filtering criteria dropdown menu
ShowDropDownMenu(this, this->cargo_filter_texts, this->cargo_filter_criteria, WID_GL_FILTER_BY_CARGO, 0, 0);
ShowDropDownList(this, this->BuildCargoDropDownList(), this->cargo_filter_criteria, widget);
break;
case WID_GL_ALL_VEHICLES: // All vehicles button

@ -173,35 +173,21 @@ static const NWidgetPart _nested_helpwin_widgets[] = {
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN),
NWidget(NWID_SPACER), SetMinimalSize(0, 8),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(10, 0),
NWidget(NWID_VERTICAL), SetPIP(0, 2, 0),
NWidget(WWT_FRAME, COLOUR_DARK_GREEN), SetDataTip(STR_HELP_WINDOW_WEBSITES, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_WEBSITE), SetDataTip(STR_HELP_WINDOW_MAIN_WEBSITE, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_WIKI), SetDataTip(STR_HELP_WINDOW_MANUAL_WIKI, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_BUGTRACKER), SetDataTip(STR_HELP_WINDOW_BUGTRACKER, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_COMMUNITY), SetDataTip(STR_HELP_WINDOW_COMMUNITY, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
NWidget(WWT_FRAME, COLOUR_DARK_GREEN), SetDataTip(STR_HELP_WINDOW_WEBSITES, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_WEBSITE), SetDataTip(STR_HELP_WINDOW_MAIN_WEBSITE, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_WIKI), SetDataTip(STR_HELP_WINDOW_MANUAL_WIKI, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_BUGTRACKER), SetDataTip(STR_HELP_WINDOW_BUGTRACKER, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_COMMUNITY), SetDataTip(STR_HELP_WINDOW_COMMUNITY, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(10, 0),
NWidget(NWID_VERTICAL), SetPIP(0, 2, 0),
NWidget(WWT_FRAME, COLOUR_DARK_GREEN), SetDataTip(STR_HELP_WINDOW_DOCUMENTS, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_README), SetDataTip(STR_HELP_WINDOW_README, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_CHANGELOG), SetDataTip(STR_HELP_WINDOW_CHANGELOG, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_KNOWN_BUGS),SetDataTip(STR_HELP_WINDOW_KNOWN_BUGS, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_LICENSE), SetDataTip(STR_HELP_WINDOW_LICENSE, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
EndContainer(),
NWidget(WWT_FRAME, COLOUR_DARK_GREEN), SetDataTip(STR_HELP_WINDOW_DOCUMENTS, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_README), SetDataTip(STR_HELP_WINDOW_README, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_CHANGELOG), SetDataTip(STR_HELP_WINDOW_CHANGELOG, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_KNOWN_BUGS),SetDataTip(STR_HELP_WINDOW_KNOWN_BUGS, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_HW_LICENSE), SetDataTip(STR_HELP_WINDOW_LICENSE, STR_NULL), SetMinimalSize(128, 12), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(10, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 8),
EndContainer(),
};

@ -1323,10 +1323,8 @@ protected:
Scrollbar *vscroll;
Scrollbar *hscroll;
CargoID cargo_filter[NUM_CARGO + 2]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE
StringID cargo_filter_texts[NUM_CARGO + 3]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID
byte produced_cargo_filter_criteria; ///< Selected produced cargo filter index
byte accepted_cargo_filter_criteria; ///< Selected accepted cargo filter index
CargoID produced_cargo_filter_criteria; ///< Selected produced cargo filter index
CargoID accepted_cargo_filter_criteria; ///< Selected accepted cargo filter index
static CargoID produced_cargo_filter;
const int MAX_FILTER_LENGTH = 16; ///< The max length of the filter, in chars
@ -1349,7 +1347,7 @@ protected:
if (this->produced_cargo_filter_criteria != index) {
this->produced_cargo_filter_criteria = index;
/* deactivate filter if criteria is 'Show All', activate it otherwise */
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
bool is_filtering_necessary = this->produced_cargo_filter_criteria != CF_ANY || this->accepted_cargo_filter_criteria != CF_ANY;
this->industries.SetFilterState(is_filtering_necessary);
this->industries.SetFilterType(0);
@ -1366,7 +1364,7 @@ protected:
if (this->accepted_cargo_filter_criteria != index) {
this->accepted_cargo_filter_criteria = index;
/* deactivate filter if criteria is 'Show All', activate it otherwise */
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
bool is_filtering_necessary = this->produced_cargo_filter_criteria != CF_ANY || this->accepted_cargo_filter_criteria != CF_ANY;
this->industries.SetFilterState(is_filtering_necessary);
this->industries.SetFilterType(0);
@ -1374,38 +1372,26 @@ protected:
}
}
StringID GetCargoFilterLabel(CargoID cid) const
{
switch (cid) {
case CF_ANY: return STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES;
case CF_NONE: return STR_INDUSTRY_DIRECTORY_FILTER_NONE;
default: return CargoSpec::Get(cid)->name;
}
}
/**
* Populate the filter list and set the cargo filter criteria.
*/
void SetCargoFilterArray()
{
byte filter_items = 0;
/* Add item for disabling filtering. */
this->cargo_filter[filter_items] = CF_ANY;
this->cargo_filter_texts[filter_items] = STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES;
this->produced_cargo_filter_criteria = filter_items;
this->accepted_cargo_filter_criteria = filter_items;
filter_items++;
/* Add item for industries not producing anything, e.g. power plants */
this->cargo_filter[filter_items] = CF_NONE;
this->cargo_filter_texts[filter_items] = STR_INDUSTRY_DIRECTORY_FILTER_NONE;
filter_items++;
/* Collect available cargo types for filtering. */
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
this->cargo_filter[filter_items] = cs->Index();
this->cargo_filter_texts[filter_items] = cs->name;
filter_items++;
}
/* Terminate the filter list. */
this->cargo_filter_texts[filter_items] = INVALID_STRING_ID;
this->produced_cargo_filter_criteria = CF_ANY;
this->accepted_cargo_filter_criteria = CF_ANY;
this->industries.SetFilterFuncs(_filter_funcs);
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
bool is_filtering_necessary = this->produced_cargo_filter_criteria != CF_ANY || this->accepted_cargo_filter_criteria != CF_ANY;
this->industries.SetFilterState(is_filtering_necessary);
}
@ -1442,8 +1428,7 @@ protected:
this->industries.shrink_to_fit();
this->industries.RebuildDone();
auto filter = std::make_pair(this->cargo_filter[this->accepted_cargo_filter_criteria],
this->cargo_filter[this->produced_cargo_filter_criteria]);
auto filter = std::make_pair(this->accepted_cargo_filter_criteria, this->produced_cargo_filter_criteria);
this->industries.Filter(filter);
@ -1451,7 +1436,7 @@ protected:
this->vscroll->SetCount(this->industries.size()); // Update scrollbar as well.
}
IndustryDirectoryWindow::produced_cargo_filter = this->cargo_filter[this->produced_cargo_filter_criteria];
IndustryDirectoryWindow::produced_cargo_filter = this->produced_cargo_filter_criteria;
this->industries.Sort();
this->SetDirty();
@ -1603,7 +1588,7 @@ protected:
/* If the produced cargo filter is active then move the filtered cargo to the beginning of the list,
* because this is the one the player interested in, and that way it is not hidden in the 'n' more cargos */
const CargoID cid = this->cargo_filter[this->produced_cargo_filter_criteria];
const CargoID cid = this->produced_cargo_filter_criteria;
if (cid != CF_ANY && cid != CF_NONE) {
auto filtered_ci = std::find_if(cargos.begin(), cargos.end(), [cid](const CargoInfo &ci) -> bool {
return ci.cargo_id == cid;
@ -1674,11 +1659,11 @@ public:
break;
case WID_ID_FILTER_BY_ACC_CARGO:
SetDParam(0, this->cargo_filter_texts[this->accepted_cargo_filter_criteria]);
SetDParam(0, this->GetCargoFilterLabel(this->accepted_cargo_filter_criteria));
break;
case WID_ID_FILTER_BY_PROD_CARGO:
SetDParam(0, this->cargo_filter_texts[this->produced_cargo_filter_criteria]);
SetDParam(0, this->GetCargoFilterLabel(this->produced_cargo_filter_criteria));
break;
}
}
@ -1710,7 +1695,7 @@ public:
break;
}
int n = 0;
const CargoID acf_cid = this->cargo_filter[this->accepted_cargo_filter_criteria];
const CargoID acf_cid = this->accepted_cargo_filter_criteria;
for (uint i = this->vscroll->GetPosition(); i < this->industries.size(); i++) {
TextColour tc = TC_FROMSTRING;
if (acf_cid != CF_ANY && acf_cid != CF_NONE) {
@ -1763,6 +1748,22 @@ public:
}
}
DropDownList BuildCargoDropDownList() const
{
DropDownList list;
/* Add item for disabling filtering. */
list.push_back(std::make_unique<DropDownListStringItem>(this->GetCargoFilterLabel(CF_ANY), CF_ANY, false));
/* Add item for industries not producing anything, e.g. power plants */
list.push_back(std::make_unique<DropDownListStringItem>(this->GetCargoFilterLabel(CF_NONE), CF_NONE, false));
/* Add cargos */
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
list.push_back(std::make_unique<DropDownListStringItem>(cs->name, cs->Index(), false));
}
return list;
}
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
{
@ -1777,11 +1778,11 @@ public:
break;
case WID_ID_FILTER_BY_ACC_CARGO: // Cargo filter dropdown
ShowDropDownMenu(this, this->cargo_filter_texts, this->accepted_cargo_filter_criteria, WID_ID_FILTER_BY_ACC_CARGO, 0, 0);
ShowDropDownList(this, this->BuildCargoDropDownList(), this->accepted_cargo_filter_criteria, widget);
break;
case WID_ID_FILTER_BY_PROD_CARGO: // Cargo filter dropdown
ShowDropDownMenu(this, this->cargo_filter_texts, this->produced_cargo_filter_criteria, WID_ID_FILTER_BY_PROD_CARGO, 0, 0);
ShowDropDownList(this, this->BuildCargoDropDownList(), this->produced_cargo_filter_criteria, widget);
break;
case WID_ID_INDUSTRY_LIST: {

@ -298,33 +298,21 @@ struct SelectGameWindow : public Window {
}
}
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
void OnResize() override
{
StringID str = 0;
switch (widget) {
case WID_SGI_BASESET:
SetDParam(0, _missing_extra_graphics);
str = STR_INTRO_BASESET;
break;
bool changed = false;
case WID_SGI_TRANSLATION:
SetDParam(0, _current_language->missing);
str = STR_INTRO_TRANSLATION;
break;
if (NWidgetResizeBase *wid = this->GetWidget<NWidgetResizeBase>(WID_SGI_BASESET); wid != nullptr && wid->current_x > 0) {
SetDParam(0, _missing_extra_graphics);
changed |= wid->UpdateMultilineWidgetSize(GetString(STR_INTRO_BASESET), 3);
}
if (str != 0) {
int height = GetStringHeight(str, size->width);
if (height > 3 * FONT_HEIGHT_NORMAL) {
/* Don't let the window become too high. */
Dimension textdim = GetStringBoundingBox(str);
textdim.height *= 3;
textdim.width -= textdim.width / 2;
*size = maxdim(*size, textdim);
} else {
size->height = height + padding.height;
}
if (NWidgetResizeBase *wid = this->GetWidget<NWidgetResizeBase>(WID_SGI_TRANSLATION); wid != nullptr && wid->current_x > 0) {
SetDParam(0, _current_language->missing);
changed |= wid->UpdateMultilineWidgetSize(GetString(STR_INTRO_TRANSLATION), 3);
}
if (changed) this->ReInit(0, 0, this->flags & WF_CENTERED);
}
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
@ -382,118 +370,80 @@ struct SelectGameWindow : public Window {
static const NWidgetPart _nested_select_game_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_INTRO_CAPTION, STR_NULL),
NWidget(WWT_PANEL, COLOUR_BROWN),
NWidget(NWID_SPACER), SetMinimalSize(0, 8),
/* 'New Game' and 'Load Game' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_GENERATE_GAME), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_NEW_GAME, STR_INTRO_TOOLTIP_NEW_GAME), SetPadding(0, 0, 0, 10), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_LOAD_GAME), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_LOAD_GAME, STR_INTRO_TOOLTIP_LOAD_GAME), SetPadding(0, 10, 0, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6),
/* 'Play Scenario' and 'Play Heightmap' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_PLAY_SCENARIO), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_PLAY_SCENARIO, STR_INTRO_TOOLTIP_PLAY_SCENARIO), SetPadding(0, 0, 0, 10), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_PLAY_HEIGHTMAP), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_PLAY_HEIGHTMAP, STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP), SetPadding(0, 10, 0, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6),
/* 'Scenario Editor' and 'Multiplayer' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_EDIT_SCENARIO), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_SCENARIO_EDITOR, STR_INTRO_TOOLTIP_SCENARIO_EDITOR), SetPadding(0, 0, 0, 10), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_PLAY_NETWORK), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_MULTIPLAYER, STR_INTRO_TOOLTIP_MULTIPLAYER), SetPadding(0, 10, 0, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 7),
/* Climate selection buttons */
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(10, 0), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_TEMPERATE_LANDSCAPE), SetMinimalSize(77, 55),
SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(NWID_SPACER), SetMinimalSize(3, 0), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_ARCTIC_LANDSCAPE), SetMinimalSize(77, 55),
SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(NWID_SPACER), SetMinimalSize(3, 0), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_TROPIC_LANDSCAPE), SetMinimalSize(77, 55),
SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(NWID_SPACER), SetMinimalSize(3, 0), SetFill(1, 0),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_TOYLAND_LANDSCAPE), SetMinimalSize(77, 55),
SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
NWidget(NWID_SPACER), SetMinimalSize(10, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 7),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SGI_BASESET_SELECTION),
NWidget(NWID_VERTICAL),
NWidget(WWT_EMPTY, COLOUR_ORANGE, WID_SGI_BASESET), SetMinimalSize(316, 12), SetFill(1, 0), SetPadding(0, 10, 7, 10),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
/* 'New Game' and 'Load Game' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_GENERATE_GAME), SetDataTip(STR_INTRO_NEW_GAME, STR_INTRO_TOOLTIP_NEW_GAME), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_LOAD_GAME), SetDataTip(STR_INTRO_LOAD_GAME, STR_INTRO_TOOLTIP_LOAD_GAME), SetFill(1, 0),
EndContainer(),
/* 'Play Scenario' and 'Play Heightmap' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_PLAY_SCENARIO), SetDataTip(STR_INTRO_PLAY_SCENARIO, STR_INTRO_TOOLTIP_PLAY_SCENARIO), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_PLAY_HEIGHTMAP), SetDataTip(STR_INTRO_PLAY_HEIGHTMAP, STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP), SetFill(1, 0),
EndContainer(),
/* 'Scenario Editor' and 'Multiplayer' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_EDIT_SCENARIO), SetDataTip(STR_INTRO_SCENARIO_EDITOR, STR_INTRO_TOOLTIP_SCENARIO_EDITOR), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_PLAY_NETWORK), SetDataTip(STR_INTRO_MULTIPLAYER, STR_INTRO_TOOLTIP_MULTIPLAYER), SetFill(1, 0),
EndContainer(),
EndContainer(),
/* Climate selection buttons */
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), SetPIPRatio(1, 1, 1),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_TEMPERATE_LANDSCAPE), SetDataTip(SPR_SELECT_TEMPERATE, STR_INTRO_TOOLTIP_TEMPERATE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_ARCTIC_LANDSCAPE), SetDataTip(SPR_SELECT_SUB_ARCTIC, STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_TROPIC_LANDSCAPE), SetDataTip(SPR_SELECT_SUB_TROPICAL, STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE),
NWidget(WWT_IMGBTN_2, COLOUR_ORANGE, WID_SGI_TOYLAND_LANDSCAPE), SetDataTip(SPR_SELECT_TOYLAND, STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SGI_BASESET_SELECTION),
NWidget(NWID_VERTICAL),
NWidget(WWT_EMPTY, COLOUR_ORANGE, WID_SGI_BASESET), SetFill(1, 0),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SGI_TRANSLATION_SELECTION),
NWidget(NWID_VERTICAL),
NWidget(WWT_EMPTY, COLOUR_ORANGE, WID_SGI_TRANSLATION), SetFill(1, 0),
EndContainer(),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
/* 'Game Options' and 'Settings' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_OPTIONS), SetDataTip(STR_INTRO_GAME_OPTIONS, STR_INTRO_TOOLTIP_GAME_OPTIONS), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_SETTINGS_OPTIONS), SetDataTip(STR_INTRO_CONFIG_SETTINGS_TREE, STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE), SetFill(1, 0),
EndContainer(),
/* 'AI Settings' and 'Game Script Settings' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_AI_SETTINGS), SetDataTip(STR_INTRO_AI_SETTINGS, STR_INTRO_TOOLTIP_AI_SETTINGS), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_GS_SETTINGS), SetDataTip(STR_INTRO_GAMESCRIPT_SETTINGS, STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS), SetFill(1, 0),
EndContainer(),
/* 'Check Online Content' and 'NewGRF Settings' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_CONTENT_DOWNLOAD), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_GRF_SETTINGS), SetDataTip(STR_INTRO_NEWGRF_SETTINGS, STR_INTRO_TOOLTIP_NEWGRF_SETTINGS), SetFill(1, 0),
EndContainer(),
EndContainer(),
/* 'Help and Manuals' and 'Highscore Table' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_HELP), SetDataTip(STR_INTRO_HELP, STR_INTRO_TOOLTIP_HELP), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_HIGHSCORE), SetDataTip(STR_INTRO_HIGHSCORE, STR_INTRO_TOOLTIP_HIGHSCORE), SetFill(1, 0),
EndContainer(),
/* 'Exit' button */
NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_EXIT), SetMinimalSize(128, 0), SetDataTip(STR_INTRO_QUIT, STR_INTRO_TOOLTIP_QUIT),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SGI_TRANSLATION_SELECTION),
NWidget(NWID_VERTICAL),
NWidget(WWT_EMPTY, COLOUR_ORANGE, WID_SGI_TRANSLATION), SetMinimalSize(316, 12), SetFill(1, 0), SetPadding(0, 10, 7, 10),
EndContainer(),
EndContainer(),
/* 'Game Options' and 'Settings' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_OPTIONS), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_GAME_OPTIONS, STR_INTRO_TOOLTIP_GAME_OPTIONS), SetPadding(0, 0, 0, 10), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_SETTINGS_OPTIONS), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_CONFIG_SETTINGS_TREE, STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE), SetPadding(0, 10, 0, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6),
/* 'AI Settings' and 'Game Script Settings' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_AI_SETTINGS), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_AI_SETTINGS, STR_INTRO_TOOLTIP_AI_SETTINGS), SetPadding(0, 0, 0, 10), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_GS_SETTINGS), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_GAMESCRIPT_SETTINGS, STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS), SetPadding(0, 10, 0, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6),
/* 'Check Online Content' and 'NewGRF Settings' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_CONTENT_DOWNLOAD), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT), SetPadding(0, 0, 0, 10), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_GRF_SETTINGS), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_NEWGRF_SETTINGS, STR_INTRO_TOOLTIP_NEWGRF_SETTINGS), SetPadding(0, 10, 0, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6),
/* 'Help and Manuals' and 'Highscore Table' buttons */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_HELP), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_HELP, STR_INTRO_TOOLTIP_HELP), SetPadding(0, 0, 0, 10), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_HIGHSCORE), SetMinimalSize(158, 12),
SetDataTip(STR_INTRO_HIGHSCORE, STR_INTRO_TOOLTIP_HIGHSCORE), SetPadding(0, 10, 0, 0), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 6),
/* 'Exit' button */
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_SGI_EXIT), SetMinimalSize(128, 12),
SetDataTip(STR_INTRO_QUIT, STR_INTRO_TOOLTIP_QUIT),
NWidget(NWID_SPACER), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 8),
EndContainer(),
};
static WindowDesc _select_game_desc(__FILE__, __LINE__,

@ -977,7 +977,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :ander
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis-grafikastel
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kies die basis-grafikastel stel om te gebruik
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} verlore / korrupte ler{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Meer inligting oor die basis-grafikastel
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basis klank stel
@ -986,9 +985,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Addision
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basis musiek stel
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Kies die basis musiek stel om te gebruik
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korrupte lêer{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Addisionele informasie oor die basis musiek stel
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Kon nie 'n lys van beskikbare skermresolusies bepaal nie
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Volskerm metode gedop

@ -981,7 +981,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}قد ت
STR_GAME_OPTIONS_BASE_GRF :{BLACK} الواجهة الرسومية الاساسية
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK} اختر مجموعة الواجهة الرسومية
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ملف مفقود او غير صالح
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK} معلومات اضافية عن القاعدة الرسومية
STR_GAME_OPTIONS_BASE_SFX :{BLACK}قاعدة الاصوات الاساسية
@ -990,9 +989,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}معلو
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}قاعده الموسيقى الاساسيه
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}اختر الموسيقى الاساسية التي تود استخدامها
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ملف غير صالح
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}معلومات اضافية عن الموسيقى الاساسية
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}فشل في استرداد قائمة الدقة المدعومة
STR_ERROR_FULLSCREEN_FAILED :{WHITE}فشل تشغيل نمط الشاشة الكاملة

@ -948,7 +948,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :besteak
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafiko basea markatu
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Aukeratu erabili beharreko grafiko paketea
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} galdutako/hautsitako artxiboa{P "" k}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Markatutako grafiko basearen informazio gehiago
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Base musika paketea
@ -957,9 +956,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Soinu pa
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Base musika konfiguratu
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Aukeratu erabili beharreko musika paketea
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} hautsitako artcxiboa{P "" k}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Musika paketearen informazio gehiago
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Pantaila osoko moduak huts egin du
# Custom currency window

@ -1287,7 +1287,6 @@ STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Чашч
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Набор базавай ґрафікі
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбар базавага набору ґрафічных аб'ектаў
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} адсутнічаюч{P ы ых ых}/пашкоджан{P ы ых ых} файл{P "" ы аў}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Дадатковая інфармацыя аб базавым ґрафічным наборы
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Базавы набор гукаў
@ -1296,9 +1295,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Дада
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Базавы набор музыкі
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Выберыце базавы музычны набор для выкарыстаньня
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} пашкоджан{P ы ых ых} файл{P 0 "" ы аў}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Дадатковая інфармацыя аб базавым музычным наборы
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не атрымалася атрымаць сьпіс падтрымліваемых разрозненьняў экрана
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Памылка поўнаэкраннага рэжыму

@ -1081,7 +1081,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Taxas de
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecione o conjunto de gráficos base a usar (não pode ser alterado no jogo, só a partir do menu principal)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} arquivo{P "" s} faltando/corrompido{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informações adicionais sobre o conjunto de gráficos base
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons base
@ -1090,9 +1089,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informa
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de músicas base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecionar o conjunto de músicas base para usar
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} arquivo{P "" s} corrompido{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas base
STR_BASESET_STATUS :{STRING} {RED}({NUM} arquivo{P "" s} em falta/corrompido{P "" s})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Falha ao obter a lista de resoluções suportadas
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de tela cheia falhou

@ -956,7 +956,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :друго
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базов графичен набор
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Изберете базов графичен набор
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} липсващи/повредени файлове
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Допълнителна информация за базовия графичен пакет
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Базов звуков пакет
@ -965,9 +964,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Допъ
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Пакет базова музика
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Избери пакет базова музика
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} повреден файл{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Допълнителна информация за пакетът базовата музика
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Неуспешно извличане на списък с поддържаните резолюции
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Проблем при включване на режим "цял екран"

@ -534,6 +534,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Quant a l'OpenT
STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador de sprites
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Commuta les caixes delimitadores
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Commuta l'acoloriment de blocs bruts
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Commuta les línies delimitadores dels widgets
# Place in highscore window
###length 15
@ -925,6 +926,8 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}No{G u v
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Obre la finestra del grup amb el focus en el vehicle.
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} ja no accepta: {CARGO_LIST}
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} ara accepta: {CARGO_LIST}
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subvenció caducada:{}{}El transport de {STRING} des de {STRING} fins a {STRING} no tindrà subvenció
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvenció retirada:{}{}El transport de {STRING} des de {STRING} fins a {STRING} ja no està subvencionat
@ -1078,7 +1081,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Ratis de
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunt de gràfics base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunt de gràfics base a utilitzar (no es pot canviar des de dins de la partida; s'ha de canviar des del menú principal).
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} arxiu{P "" s} absent{P "" s} o corromput{P "" s}.
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informació addicional sobre el conjunt de gràfics base
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunt de sons base
@ -1087,9 +1089,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informac
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunt de peces de música base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecciona el conjunt de peces de música base a utilitzar
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fitxer{P "" s} corromput{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informació addicional sobre el conjunt de peces de música base
STR_BASESET_STATUS :{STRING} {RED}(hi ha {NUM} fitxer{P " que fa falta o està corromput" "s que fan falta o estan corromputs"})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}No s'ha pogut obtenir la llista de resolucions permeses
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Ha fallat el mode pantalla completa
@ -2193,6 +2196,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Edita l'
STR_CHEAT_CHANGE_DATE :{LTBLUE}Canvia la data: {ORANGE}{DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Canvia l'any actual
STR_CHEAT_SETUP_PROD :{LTBLUE}Activa la modificació dels valors de producció: {ORANGE}{STRING}
STR_CHEAT_STATION_RATING :{LTBLUE}Arregla els ratis d'estació al 100{NBSP}%: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Esquema de colors nou
@ -3381,6 +3385,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Guarda
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Guarda la configuració NewGRF preestablerta amb el nom seleccionat
# NewGRF parameters window
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Canvia els paràmetres dels gràfics base
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Canvia els paràmetres NewGRF
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Tanca
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Restableix
@ -5185,6 +5190,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Impossib
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Els vehicles només poden esperar a les estacions
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Aquest vehicle no para en aquesta estació
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... l'horari està incomplet.
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... l'horari encara no ha començat.
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... massa senyals

@ -519,6 +519,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :расна
# Custom currency window

@ -1079,7 +1079,6 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni set grafike
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Odaberi osnovni grafički set za igru
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} datotek{P a e a} nedostaj{P e u e}/korumpiran{P a e o}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Dodatne informacije o osnovnom grafičkom setu
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Set osnovnih zvukova
@ -1088,9 +1087,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Dodatne
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Set osnovne glazbe
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Odaberi set osnovne glazbe za uporabu
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} neispravn{P a e ih} datotek{P a e a}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatne informacije o setu osnovne glazbe
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Povlačenje liste podržanih rezolucija nije uspjelo
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Prikaz na cijelom zaslonu nije uspio

@ -1137,7 +1137,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Obnovova
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základní sada grafiky
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zvol základní sadu grafiky
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} chybějící{P "" "" ch}/poškozen{P ý é ých} soubor{P "" y ů}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Další informace o základní sadě grafiky
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Základní sada zvuků
@ -1146,9 +1145,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Další
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Základní hudební set
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Vyberte jaký základní hudební set použít
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} poškozen{P ý é é} soubor{P "" y y}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Další informace o základním hudebním setu
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepodařilo se získat seznam podporovaných rozlišení
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Selhalo přepnutí na celou obrazovku

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Opdateri
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis-grafiksæt
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vælg det grundlæggende grafiksæt, der skal bruges
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} forsvund{P en ne}/ødelagt{P "" e} fil{P "" er}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Yderligere information om basis-grafiksættet
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basis-lydsæt
@ -1089,9 +1088,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Mere inf
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basis-musiksæt
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Vælg basismusik-sæt
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} beskadiget fil{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Yderligere information om basismusik-sættet
STR_BASESET_STATUS :{STRING} {RED}({NUM} manglende/beskadiget fil{P "" s})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Det lykkedes ikke at hente en liste over understøttede opløsninger
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fuldskærmstilstand fejlede
@ -5189,6 +5189,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Kan ikke
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Transportmidler kan kun vente ved stationer.
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Dette transportmiddel stopper ikke ved denne station.
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... tidsplanen er ufuldstændig
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... tidsplanen er ikke startet endnu
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... for mange skilte

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Verversi
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisset voor graphics
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecteer de te gebruiken basisset voor grafische elementen (kan tijdens het spel niet worden gewijzigd, alleen in het hoofdmenu)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ontbrekend{P "" e}/beschadigd{P "" e} bestand{P "" en}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Aanvullende informatie over de basisset voor graphics
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basisset voor geluidseffecten
@ -1089,9 +1088,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Aanvulle
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basisset voor muziek
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecteer de te gebruiken basisset voor muziek
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} beschadigd{P "" e} bestand{P "" en}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Aanvullende informatie over the basisset voor muziek
STR_BASESET_STATUS :{STRING} {RED}({NUM} {P "ontbrekend/beschadigd bestand" "ontbrekende/beschadigde bestanden"})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Mislukt om een lijst met ondersteunde resoluties op te halen
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modus voor volledig scherm is mislukt

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Refresh
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use (cannot be changed in-game, only from the main menu)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base graphics set
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Base sounds set
@ -1089,9 +1088,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Addition
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Base music set
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Select the base music set to use
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base music set
STR_BASESET_STATUS :{RAW_STRING} {RED}({NUM} missing/corrupted file{P "" s})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Failed to retrieve a list of supported resolutions
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullscreen mode failed

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Refresh
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use (cannot be changed in-game, only from the main menu)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base graphics set
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Base sounds set
@ -1089,9 +1088,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Addition
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Base music set
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Select the base music set to use
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base music set
STR_BASESET_STATUS :{STRING} {RED}({NUM} missing/corrupted file{P "" s})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Failed to retrieve a list of supported resolutions
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullscreen mode failed

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Refresh
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use (cannot be changed in-game, only from the main menu)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base graphics set
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Base sounds set
@ -1089,9 +1088,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Addition
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Base music set
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Select the base music set to use
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Additional information about the base music set
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Failed to retrieve a list of supported resolutions
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullscreen mode failed

@ -1128,7 +1128,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Aktualig
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Baza grafikaro
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektu la uzendan bazgrafikaron
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} mankanta{P "" j}/koruptita{P "" j} dosiero{P "" j}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Aldonaj informoj pri la baza grafikaro
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Baza sonaro
@ -1137,9 +1136,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Aldonaj
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Baza muzikaro.
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Elekti bazan muzikaron por uzi.
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} difektita{P "" j} dosiero{P "" j}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Pluaj informoj pri la baza muzikaro.
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Ne eblis akiri liston de subtenataj distingivoj
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Plenekrana moduso fiaskis

@ -1088,7 +1088,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Värsken
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Lähtegraafikakogu
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Valib kasutatava lähtegraafikakogu
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} puuduv{P "" ad}/viga{P ne sed} fail{P "" id}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Lisateave lähtegraafikakogu kohta
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Lähtehelikogu
@ -1097,9 +1096,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Lisateav
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Lähtemuusikakogu
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valib kasutatava lähtemuusikakogu
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} viga{P "ne" "sed"} fail{P "" "id"}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Rohkem teavet lähtemuusikakogu kohta
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Ei õnnestunud tuvastada toetatud resulutsioone
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Täisekraanrežiim ebaõnnestus

@ -928,7 +928,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :annað
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base grafikk sett
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vel ta base grafikk setti tú vil brúka
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} vantandi/oyðiløgd fíl{P a ir}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Meira kunning um base grafikk setti
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Base ljóð sett
@ -937,9 +936,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Meira ku
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Base tónleika sett
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Vel ta base tónleika setti tú vil brúka
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} oyðilagd{P "" ar} fíl{P a ir}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Meira kunning um base tónleika setti
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Eydnaðist ikki at brúka fullan skerm
# Custom currency window

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Yli 60 H
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Perusgrafiikat
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Valitse käytettävät perusgrafiikat (ei vaihdettavissa pelin aikana, ainoastaan päävalikosta)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} puuttuva{P "" a}/korruptoitunut{P "" ta} tiedosto{P "" a}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Lisätietoja perusgrafiikoista
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Perusäänet
@ -1089,9 +1088,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Lisätie
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Musiikkipaketti
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valitse käytettävä musiikkipaketti
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korruptoitun{P ut utta} tiedosto{P "" a}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Lisätietoja musiikkipaketista
STR_BASESET_STATUS :{STRING} {RED}({NUM} puuttuvaa tai vioittunutta tiedosto{P "" a})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Tuettujen näyttötarkkuuksien hakeminen epäonnistui
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Täyskuvatila ei toimi

@ -1081,7 +1081,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE} Les tau
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Graphiques de base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Sélectionner les graphiques de base à utiliser (ne peuvent pas être modifiés en jeu, que depuis le menu principal)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fichier{P "" s} manquant{P "" s}/corrompu{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informations additionnelles sur les graphiques de base
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Sons de base
@ -1090,9 +1089,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informat
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Musique de base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Sélectionner la musique de base à utiliser
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fichier{P "" s} corrompu{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informations additionnelles sur la musique de base
STR_BASESET_STATUS :{STRING} {RED}({NUM} fichier{P "" s} manquant{P "" s}/corrompu{P "" s})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Échec de la récupération de la liste des résolutions prises en charge
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Échec du mode plein écran

@ -975,7 +975,6 @@ STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Byldferf
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisset for ôfbyldings
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektearje de basis ôfbyldingsset om te brûken
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ûntbrekke{P "" nde}/korrupt{P "" e} bestân
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Oanfoljende ynformaasje oer de basisset foar ôfbyldings
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basisset foar lûdseffekten
@ -984,9 +983,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Oanfolje
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basisset foar musyk
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selektearje de basisset foar musyk om te brûken
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korrupt{P "" e} bestân{P "" en}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Oanfoljende ynformaasje oer de basisset foar musyk
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Koe gjin list mei brûkbere resolúsjes ophelje
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Folslein skermmodus mislearre

@ -1161,7 +1161,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :Gnàthaichte
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Seata grafaigeachd bunasach
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Tagh an seata grafaigeachd bunasach a chleachdas tu
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} {P fhaidhle fhaidhle faidhlichean faidhle} a dhìth/coirbte
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Barrachd fiosrachaidh mun t-seata ghrafaigeachd bhunasach
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Seata fhuaimean bunasach
@ -1170,9 +1169,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Barrachd
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Seata ciùil bunasach
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Tagh an seata ciùil bunasach a chleachdas tu
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} {P fhaidhle fhaidhle faidhlichean faidhle} coirbte
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Barrachd fiosrachaidh mun t-seata chiùil bhunasach
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Cha deach leinn liosta dhe na dùmhlaidhean-breacaidh ris an cuirear taic fhaighinn
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Dh'fhàillig leis a' mhodh làn-sgrìn

@ -1059,7 +1059,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}As tasas
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conxunto básico de gráficos
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona o conxunto de gráficos básico a empregar
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} arquivo{P "" s} inexistente{P "" s}/erróneo{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre o conxunto de gráficos básico
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conxunto de sons base
@ -1068,9 +1067,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informac
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conxunto de música base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecciona o conxunto de música base a empregar
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} arquivo{P "" s} corrupto{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre o conxunto de música base
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Erro ao obter a lista de resolucións soportadas
STR_ERROR_FULLSCREEN_FAILED :{WHITE}O modo de pantalla completa fallou

@ -534,6 +534,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Über OpenTTD
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite-Ausrichtung
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hüllquader anzeigen/ausblenden
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Neugezeichnete Felder farbig markieren
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Widget-Umrisse anzeigen/ausblenden
# Place in highscore window
###length 15
@ -1080,7 +1081,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Wiederho
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisgrafiken
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zu benutzendes Set an Basisgrafiken auswählen (kann nicht im Spiel geändert werden, nur im Hauptmenü)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fehlende/fehlerhafte Datei{P "" en}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Zusatzinformationen zu den Basisgrafiken
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basissounds
@ -1089,9 +1089,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Zusatzin
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basismusikset
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Ein Basismusikset auswählen
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fehlerhafte Datei{P "" en}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Zusätzliche Informationen über das Basismusikset
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Eine Liste unterstützter Auflösungen konnte nicht ermittelt werden
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Vollbildmodus nicht möglich
@ -3384,6 +3384,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Speicher
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Voreinstellung unter dem ausgewählten Namen speichern
# NewGRF parameters window
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Parameter der Basisgrafiken ändern
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF Parameter ändern
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Schließen
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Zurücksetzen
@ -5188,6 +5189,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Fahrplan
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Fahrzeuge halten nur an Stationen
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Das Fahrzeug hält nicht an dieser Station
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... Fahrplan ist unvollständig
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... Fahrplan hat noch nicht begonnen
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... zu viele Schilder

@ -1138,7 +1138,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Ρυθμ
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Βασικό σετ γραφικών
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Επιλογή του βασικού σετ γραφικών που θα χρησιμοποιηθεί
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} αρχεί{P ο α} που λείπ{P ει ουν} ή είναι κατεστραμμέν{P ο α}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Επιπλέον πληροφορίες σχετικά με το βασικό σετ γραφικών
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Σετ βασικών ήχων
@ -1147,9 +1146,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Επιπ
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Βασικό σετ μουσικής
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Επιλέξτε το βασικό σετ μουσικής για χρήση
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} κατεστραμμέν{P ο α} αρχεί{P ο α}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Επιπλέον πληροφορίες σχετικά με το βασικό σετ μουσικής
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Αποτυχία ανάκτησης λίστας υποστηριζόμενων αναλύσεων
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Θέση του παιχνιδιού σε λειτουργία πλήρης οθόνης απέτυχε

@ -987,7 +987,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}עדכו
STR_GAME_OPTIONS_BASE_GRF :{BLACK}ערכת גרפיקה בסיסית
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}בחר בערכת גרפיקה בסיסית לשימוש
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{P 0 "קובץ " ""}{NUM}{P "" " קבצים"} חסר{P 0 "" ים}/הושחט{P 0 "" ו}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}מידע נוסף אודות ערכת הגרפיקה הבסיסית
STR_GAME_OPTIONS_BASE_SFX :{BLACK}ערכת צלילים בסיסיים
@ -996,9 +995,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}מידע
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}ערכת מוזיקת בסיס
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}בחר בערכת מוזיקת הבסיס לשימוש
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} קובץ פגום{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}מידע נוסף אודות ערכת המוזיקה הבסיסית
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}שגיאה ביצירת רשימה של רזולוציות אפשריות
STR_ERROR_FULLSCREEN_FAILED :{WHITE}נכשל בשינויי למסך מלא

@ -39,11 +39,14 @@ STR_CARGO_PLURAL_VALUABLES :मूल्य
STR_CARGO_PLURAL_COPPER_ORE :ताम्र अयस्क
STR_CARGO_PLURAL_MAIZE :मक्के
STR_CARGO_PLURAL_FRUIT :फल
STR_CARGO_PLURAL_CANDYFLOSS :कैंडी के फ्लॉस
# Singular cargo name
STR_CARGO_SINGULAR_NOTHING :
STR_CARGO_SINGULAR_PASSENGER :यात्री
STR_CARGO_SINGULAR_MAIZE :मक्का
STR_CARGO_SINGULAR_SWEETS :मिठाई
STR_CARGO_SINGULAR_CANDYFLOSS :कैंडी का फ्लॉस
STR_CARGO_SINGULAR_BUBBLE :बुलबुला
STR_CARGO_SINGULAR_TOFFEE :टॉफी
@ -63,6 +66,7 @@ STR_COLOUR_PINK :गुलाब
STR_COLOUR_RED :लाल
###length 17
STR_COLOUR_SECONDARY_YELLOW :पीला
# Units used in OpenTTD
@ -78,6 +82,7 @@ STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}
# Common window strings
STR_TOOLTIP_SORT_ORDER :{BLACK}क्रमबद्धता क्रम चुनें (अवरोही/आरोही)
STR_TOOLTIP_RESIZE :{BLACK}खिड़की का आकार बदलने के लिये क्लिक करके खींचें
@ -87,6 +92,7 @@ STR_TOOLTIP_RESIZE :{BLACK}खि
###length VEHICLE_TYPES
# Query window
STR_BUTTON_CANCEL :{BLACK}रद्द करें
# On screen keyboard window
@ -99,6 +105,8 @@ STR_SORT_BY_CAPTION_DATE :{BLACK}दि
# These are used in dropdowns
STR_SORT_BY_PRODUCTION :उत्पादन
STR_SORT_BY_PROFIT_LAST_YEAR :पिछले वर्ष का लाभ
STR_SORT_BY_LIFE_TIME :शेष जीवनकाल
STR_SORT_BY_RATING_MAX :उच्चतम कार्गो रेटिंग
STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :इस वर्ष का कुल लाभ
STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :पिछले वर्ष का औसत लाभ
@ -211,6 +219,7 @@ STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}वा
STR_PERFORMANCE_DETAIL_CARGO :{BLACK}माल :
###length 10
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}सबसे कम आय में वाहन का लाभ (केवल दो वर्ष से अधिक पुराने वाहनों पर विचार किया जाता है)
# Music window
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
@ -225,15 +234,20 @@ STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHIT
###length 7
STR_SMALLMAP_TYPE_VEGETATION :वनस्पति
STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}मानचित्र पर वनस्पति दिखाएँ
STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}जहाजें
STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}ट्रक लदान वीथी
STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}बस स्टेशन
STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}खुरदरा भूमि
STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}रिक्त भूमि
STR_SMALLMAP_LEGENDA_WATER :{TINY_FONT}{BLACK}पानी
STR_SMALLMAP_LEGENDA_TOWNS :{TINY_FONT}{BLACK}नगर
STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING}
STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY}
STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN}
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}कंपनी की सभी संपत्ति को नक्शे पर प्रदर्शित करें
# Status bar messages
STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * ठहरा हुआ (संपर्क चित्र अद्यतन के लिये प्रतीक्षारत) * *
@ -270,6 +284,7 @@ STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLAC
# Extra view window
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}इस व्यूपोर्ट के स्थान को मुख्य दृश्य में कॉपी करें
# Game options window
@ -286,14 +301,18 @@ STR_GAME_OPTIONS_CURRENCY_HKD :हाँग
# Autosave dropdown
###length 5
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :हर 60 मिनट में
STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% पूर्ण)
STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}हार्डवेयर एक्सिलरेशन
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}इंटरफ़ेस का आकार
@ -312,17 +331,21 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}एक
STR_NUM_HIGH :उच्च
STR_VARIETY_MEDIUM :मध्यम
STR_VARIETY_VERY_HIGH :बहुत ऊँचा
###length 5
STR_AI_SPEED_SLOW :धीमा
STR_AI_SPEED_FAST :तेज़
###length 6
###length 4
###length 3
STR_DISASTER_NORMAL :सामान्य
###length 4
@ -331,9 +354,11 @@ STR_AI_SPEED_SLOW :धीमा
###length 7
###length 4
STR_CITY_APPROVAL_TOLERANT :सहिष्णु
# Settings tree window
STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}डिफ़ॉल्ट मान: {ORANGE}{STRING}
@ -361,6 +386,7 @@ STR_CONFIG_SETTING_COMPANIES_OFF :बन्द
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :यदि सक्षम किया गया है, तो ट्रेनें गैर-टर्मिनस स्टेशनों पर रिवर्स नहीं होंगी, भले ही रिवर्स करते समय उनके अगले गंतव्य के लिए छोटा रास्ता हो।
@ -388,6 +414,7 @@ STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :ट्रेन
###length 3
STR_CONFIG_SETTING_MULTIPINDTOWN :प्रति शहर अनेक समान उद्योगों को अनुमति दें: {STRING}
###length 3
@ -409,6 +436,7 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT :कंपनि
STR_CONFIG_SETTING_PLANE_CRASHES :विमान दुर्घटनाओं की संख्या: {STRING}
###length 3
@ -428,6 +456,7 @@ STR_CONFIG_SETTING_ORDER_REVIEW_OFF :नहीं
###length 2
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :लाल विंडो में त्रुटि संदेश प्रदर्शित करने की अवधि। ध्यान दें कि कुछ (महत्वपूर्ण) त्रुटि संदेश इस समय के बाद स्वचालित रूप से बंद नहीं होते हैं, लेकिन उन्हें मैन्युअल रूप से बंद किया जाना चाहिए
###setting-zero-is-special
@ -510,6 +539,7 @@ STR_CONFIG_SETTING_SOUND_NEWS :समाचा
STR_CONFIG_SETTING_SOUND_DISASTER :आपदाएँ/दुर्घटनाएँ: {STRING}
@ -518,8 +548,10 @@ STR_CONFIG_SETTING_SOUND_NEWS :समाचा
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :एक कंपनी के पास जहाजों की अधिकतम संख्या
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :कंप्यूटर के लिए ट्रेन अक्षम करें: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :कंप्यूटर के लिए विमान अक्षम करें: {STRING}
###length 3
@ -550,6 +582,7 @@ STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :दुर्घ
###length 3
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :रंगीन समाचार इसमें दिखाई देता है: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
###setting-zero-is-special
@ -560,13 +593,16 @@ STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
###length 2
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :केवल पथ संकेत
###length 2
###length 5
STR_CONFIG_SETTING_NOISE_LEVEL :शोर स्तर के आधार पर हवाईअड्डे पर स्थान सीमित करें: {STRING}
STR_CONFIG_SETTING_TOWN_FOUNDING :खेल में कस्बों की स्थापना: {STRING}
###length 3
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :नगर में माल उत्पादन: {STRING}
@ -575,6 +611,7 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE :नगर म
###length 4
STR_CONFIG_SETTING_TOOLBAR_POS :मुख्य टूलबार की स्थिति: {STRING}
STR_CONFIG_SETTING_SNAP_RADIUS :विंडो स्नैप त्रिज्या: {STRING}
###setting-zero-is-special
STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA}
###setting-zero-is-special
@ -585,10 +622,12 @@ STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA}
STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :२x
###length 5
STR_CONFIG_SETTING_TOWN_GROWTH_NONE :कोई नहीं
###setting-zero-is-special
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :मेल के लिए वितरण मोड: {STRING}
###length 3
@ -608,8 +647,11 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :अंतर्
###length 3
STR_CONFIG_SETTING_INTERFACE_GENERAL :सामान्य
STR_CONFIG_SETTING_COMPANY :कंपनी
STR_CONFIG_SETTING_VEHICLES_ROUTING :मार्ग
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :नौकाओं द्वारा उपयोग किया जाने वाला पथान्वेषी
STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :यदि ट्रेनें लंबे समय तक वहां प्रतीक्षा करती हैं तो उन्हें सिग्नल पर रिवर्स करने की अनुमति दें
###length 2
@ -617,13 +659,17 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :नौकाओ
# Video initalization errors
STR_VIDEO_DRIVER_ERROR :{WHITE}वीडियो विन्यास में त्रुटि...
STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}...कोई संगत जीपीयू नहीं मिला। हार्डवेयर त्वरण अक्षम किया गया
STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... GPU ड्राइवर ने गेम को क्रैश कर दिया। हार्डवेयर त्वरण अक्षम किया गया
# Intro window
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}उभार-मानचित्र खेलें
STR_INTRO_GAME_OPTIONS :{BLACK}गेम विकल्प
STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}अपनी इच्छानुसार एक क्रीड़ा-विश्व/परिदृश्य बनायें
STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}मल्टीप्लेयर गेम प्रारंभ करें
STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}'समशीतोष्ण' जलवायु वाला क्षेत्र चुनें
@ -646,6 +692,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}क्
STR_LIVERY_TRAIN_TOOLTIP :{BLACK} ट्रेन रंग योजनाएं दिखाएं
###length 23
STR_LIVERY_ELECTRIC :इलेक्ट्रिक इंजन
# Face selection window
@ -660,6 +707,7 @@ STR_FACE_COLLAR_TOOLTIP :{BLACK}कॉ
STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA}
STR_NETWORK_SERVER_LIST_MAP_SIZE :{SILVER}नक़्शे का आकार: {WHITE}{COMMA}x{COMMA}
STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}सर्वर की जानकारी अद्यतन करें
@ -680,6 +728,7 @@ STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}सर
# Network company list added strings
# Network client list
STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION :सर्वर का नाम
# Matches ConnectionType
###length 5
@ -692,15 +741,20 @@ STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}सर
# Network set password
# Network company info join/password
STR_COMPANY_VIEW_PASSWORD :{BLACK}पासवर्ड
# Network chat
# Network messages
STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}आपके खिलाड़ी का नाम सेट नहीं किया गया है. नाम मल्टीप्लेयर विंडो के शीर्ष पर सेट किया जा सकता है
STR_NETWORK_ERROR_WRONG_PASSWORD :गलत पासवर्ड
STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}संपर्क विच्छेद संभावित
###length 21
STR_NETWORK_ERROR_CLIENT_GENERAL :सामान्य त्रुटि
STR_NETWORK_ERROR_CLIENT_SAVEGAME :मानचित्र लोड नहीं हो सका
# Network related errors
@ -727,6 +781,7 @@ STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}डा
# Content downloading error messages
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}डाउनलोड असफल हुआ...
STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}अनुपलब्ध ग्राफ़िक्स
# Transparency settings window
@ -743,6 +798,7 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}डा
# Generic toolbar
STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}अक्षम है क्योंकि वर्तमान में इस बुनियादी ढांचे के लिए कोई वाहन उपलब्ध नहीं है
# Rail construction toolbar
@ -782,6 +838,7 @@ STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}नह
# Airport construction window
STR_AIRPORT_CITY :शहर
STR_AIRPORT_INTERCONTINENTAL :अंतरमहाद्वीपीय
STR_AIRPORT_CLASS_SMALL :लघु विमानतल
@ -812,11 +869,14 @@ STR_FOUND_TOWN_CITY :{BLACK}शह
STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}उद्योग चुनें
# Land area window
STR_LAND_AREA_INFORMATION_ROAD_OWNER :{BLACK}सड़क मालिक: {LTBLUE}{STRING}
# Description of land area of different tiles
STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :रिक्त भूमि
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :कॉम्बो-सिग्नल वाला रेलवे ट्रैक
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :स्ट्रीट लाइट वाली सड़क
STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :वृक्ष आच्छादित सड़क
# Houses come directly from their building names
@ -824,6 +884,7 @@ STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :वृक्ष
STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :रेलवे स्टेशन
STR_LAI_WATER_DESCRIPTION_RIVER :नदी
# Industries come directly from their industry names
@ -833,6 +894,8 @@ STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :इस्पा
STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :प्रकाशस्तंभ
STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :कंपनी के स्वामित्व वाली भूमि
# About OpenTTD window
@ -845,9 +908,12 @@ STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
###length 15
STR_FRAMETIME_CAPTION_GL_ECONOMY :माल प्रबंधन
STR_FRAMETIME_CAPTION_GL_TRAINS :ट्रेन टिक टिक
STR_FRAMETIME_CAPTION_VIDEO :वीडियो आउटपुट
# Save/load game/scenario
STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}सहेजे गए गेम के लिए वर्तमान में चयनित नाम
# World generation
@ -855,6 +921,7 @@ STR_FRAMETIME_CAPTION_GL_ECONOMY :माल प
###length 21
STR_MAPGEN_TOWN_NAME_FRENCH :फ़्रेंच
STR_MAPGEN_TOWN_NAME_POLISH :पोलिश
STR_MAPGEN_TOWN_NAME_HUNGARIAN :हंगेरी
STR_MAPGEN_TOWN_NAME_TURKISH :तुर्की
STR_MAPGEN_TOWN_NAME_ITALIAN :इटैलियन
@ -871,12 +938,15 @@ STR_MAPGEN_BORDER_RANDOM :{BLACK}या
STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM}
# NewGRF settings
STR_NEWGRF_FILTER_TITLE :{ORANGE}फ़िल्टर:
STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}चुने गये पूर्वनिश्चित समायोजन को खोलें
STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}उभाड़
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :मूल (D)
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}सूचना उपलब्ध नहीं
# NewGRF save preset window
@ -895,6 +965,7 @@ STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :मूल (D)
# NewGRF (self) generated warnings/errors
STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING}
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF फ़ाइल का अनुवाद करने के लिए इसे डिज़ाइन किया गया था
# NewGRF related 'general' warnings
@ -923,6 +994,7 @@ STR_NEWGRF_SCAN_MESSAGE :{BLACK}NewGRF
# Town view window
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (पहुंचाया गया)
STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}शहर में शोर की सीमा: {ORANGE}{COMMA}{BLACK} अधिकतम: {ORANGE}{COMMA}
STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}स्थानीय प्रशासन
STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}स्थानीय प्राधिकारी के बारे में जानकारी दिखाएँ
@ -952,6 +1024,7 @@ STR_SUBSIDIES_OFFERED_TITLE :{BLACK}इन
# Story book window
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}इस ड्रॉप डाउन सूची में इसे चुनकर किसी विशिष्ट पृष्ठ पर जाएं।
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}अगले पृष्ठ पर जाएँ
# Station list window
@ -962,6 +1035,7 @@ STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOI
# Station view window
STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES}
STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG}
STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} लोडिंग के लिए आरक्षित)
@ -970,6 +1044,7 @@ STR_STATION_VIEW_VIA :{YELLOW}{CARGO_
###length 8
STR_CARGO_RATING_VERY_POOR :बहुत गरीब
@ -996,6 +1071,7 @@ STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY
STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(प्रबन्धक)
STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}मुख्यालय देखें
STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}कंपनी का नाम
@ -1029,10 +1105,12 @@ STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING
# Group window
###length VEHICLE_TYPES
STR_GROUP_ALL_ROAD_VEHICLES :सभी सड़क वाहन
###length VEHICLE_TYPES
STR_GROUP_CREATE_TOOLTIP :{BLACK}समूह बनाने के लिए क्लिक करें
@ -1047,6 +1125,7 @@ STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :नई ट्रेनें
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}मूल्य : {GOLD}{CURRENCY_LONG}{BLACK} भार : {GOLD}{WEIGHT_SHORT}
STR_PURCHASE_INFO_SPEED :{BLACK}रफ़्तार: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}भार : {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
###length 3
@ -1089,6 +1168,7 @@ STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}
STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :{BLACK}डिपो में सभी सड़क वाहन बेचते हैं
###length VEHICLE_TYPES
STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}डिपो में सभी जहाजों को स्वतः बदलें
###length VEHICLE_TYPES
@ -1116,10 +1196,12 @@ STR_ENGINE_PREVIEW_SHIP :जहाज
# Autoreplace window
STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}उपयोग में आने वाले वाहन
###length VEHICLE_TYPES
STR_REPLACE_VEHICLES_START :{BLACK}वाहन बदलना प्रारंभ करेंवाहन बदलना प्रारंभ करें
STR_REPLACE_VEHICLES_STOP :वाहन प्रतिस्थापित करना बन्द करें
@ -1162,6 +1244,7 @@ STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}वर
###length VEHICLE_TYPES
STR_VEHICLE_INFO_MAX_SPEED_TYPE :अधिकतम रफ़्तार: {LTBLUE}{VELOCITY} {BLACK}विमान के प्रकार: {LTBLUE}{STRING}
@ -1175,6 +1258,7 @@ STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE
STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}क्षमता
# Vehicle refit
@ -1201,10 +1285,13 @@ STR_ORDER_REFIT_TOOLTIP :{BLACK}इस
# Conditional order variables, must follow order of OrderConditionVariable enum
###length 8
STR_ORDER_CONDITIONAL_RELIABILITY :विश्वसनीयता
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :हमेशा
###next-name-looks-similar
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :के बराबर है
STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}वाहन डेटा की तुलना करने का मान
@ -1236,6 +1323,7 @@ STR_ORDER_NO_LOAD :(कोई ल
# Time table window
STR_TIMETABLE_ORDER_VIEW :{BLACK}आदेश
@ -1253,6 +1341,7 @@ STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}इस
# Date window (for timetable)
STR_DATE_SET_DATE_TOOLTIP :{BLACK}समय सारिणी के लिए प्रारंभिक तिथि के रूप में चयनित तिथि का उपयोग करें
STR_DATE_MONTH_TOOLTIP :{BLACK}महीना चुनें
@ -1269,11 +1358,13 @@ STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING}
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}मिनिमैप स्क्रीनशॉट
# Script Parameters
# Textfile window
STR_TEXTFILE_JUMPLIST :{WHITE}विषयसूची
###length 5
@ -1281,6 +1372,7 @@ STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING}
# Income 'floats'
STR_INCOME_FLOAT_COST :{RED}मूल्य: {CURRENCY_LONG}
STR_INCOME_FLOAT_INCOME :{GREEN}आय: {CURRENCY_LONG}
STR_FEEDER_COST :{YELLOW}हस्तांतरण : {CURRENCY_LONG}{WHITE} / {RED}मूल्य : {CURRENCY_LONG}
# Saveload messages
@ -1289,6 +1381,7 @@ STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :फाइल
# Map generation messages
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... छवि प्रकार परिवर्तित नहीं किया जा सका
@ -1303,9 +1396,11 @@ STR_ERROR_MESSAGE_CAPTION :{YELLOW}सन
# Generic construction errors
# Local authority errors
STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} स्थानीय प्राधिकारी ने शोर की चिंताओं के कारण हवाई अड्डे के लिए अनुमति देने से इनकार कर दिया
# Levelling errors
STR_ERROR_TOO_HIGH :{WHITE}... बहुत ऊँचा
STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}बाद में इसके ऊपर का पुल बहुत ऊंचा हो जाएगा।
# Company related errors
@ -1315,6 +1410,7 @@ STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}नग
STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... मानचित्र के किनारों के बहुत समीप
# Industry related errors
STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... केवल रेगिस्तानी इलाकों में ही बनाया जा सकता है
STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... वन केवल बर्फ की सीमा के ऊपर ही लगाये जा सकते हैं।
@ -1323,6 +1419,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... व
STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}अत्यधिक स्टेशन/लादन क्षेत्र
# Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}यात्री ट्राम स्टेशन नहीं हटा सकते...
# Waypoint related errors
@ -1330,6 +1427,8 @@ STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}अत
# Depot related errors
STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}यहां सड़क वाहन डिपो नहीं बना सकते...
STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}यहां ट्राम वाहन डिपो नहीं बना सकते...
@ -1339,6 +1438,7 @@ STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE} स्
# Autoreplace related errors
STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}स्वतः नवीनीकरण/बदलाव का कोई भी नियम लागू नहीं किया गया
STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(धन सीमा)
# Rail construction errors
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}पटरियों को यहाँ से नहीं हटा सकते...
@ -1349,10 +1449,13 @@ STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE} ट्
# Waterway construction errors
STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... पानी पर बनाया जाना चाहिये।
STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... पानी पर निर्माण नहीं किया जा सकता
# Tree related errors
# Bridge related errors
STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}पहले पुल तोड़ना होगा
STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}इलाके के हिसाब से पुल बहुत नीचा है
# Tunnel related errors
@ -1365,8 +1468,10 @@ STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... प
###length VEHICLE_TYPES
###length VEHICLE_TYPES
STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}विमान उपलब्ध नहीं है
###length VEHICLE_TYPES
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}सड़क वाहन को फिर से फिट नहीं किया जा सकता...
###length VEHICLE_TYPES
STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}जहाज का नामकरण नहीं कर सकते...
@ -1387,10 +1492,12 @@ STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}रे
# Specific vehicle errors
STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}ट्रेन की दिशा उलट नहीं सकते...
# Order related errors
STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}नया ऑर्डर सम्मिलित नहीं किया जा सकता...
STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... वाहन सभी स्टेशनों तक नहीं जा सकता
@ -1409,6 +1516,8 @@ STR_BASESOUNDS_WIN_DESCRIPTION :ट्रां
##id 0x2000
# Town building names
STR_TOWN_BUILDING_NAME_FLATS_1 :फ्लैटों
STR_TOWN_BUILDING_NAME_THEATER_1 :थिएटर
##id 0x4800
# industry names
@ -1436,9 +1545,11 @@ STR_SV_STNAME_WAYPOINT :{STRING}
##id 0x8000
###length 116
# Vehicle names
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :यात्री गाड़ी
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :कोयला वाहन
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :फल वाहन
STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (विद्युतीय)
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :यात्री गाड़ी
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :खिलौनों का डब्बा
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :फ़िज़ी ड्रिंक ट्रक
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :पानी का टैंकर
@ -1477,6 +1588,7 @@ STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING}
# _SERIAL version of AIRACRAFT doesn't exist
STR_UNKNOWN_STATION :अज्ञात स्टेशन
# Viewport strings

@ -254,8 +254,22 @@ STR_COLOUR_WHITE :Fehér
STR_COLOUR_RANDOM :Véletlenszerű
###length 17
STR_COLOUR_SECONDARY_DARK_BLUE :Sötétkék
STR_COLOUR_SECONDARY_PALE_GREEN :Halványzöld
STR_COLOUR_SECONDARY_SECONDARY_PINK :Rózsaszín
STR_COLOUR_SECONDARY_YELLOW :Sárga
STR_COLOUR_SECONDARY_RED :Piros
STR_COLOUR_SECONDARY_LIGHT_BLUE :Világoskék
STR_COLOUR_SECONDARY_GREEN :Zöld
STR_COLOUR_SECONDARY_DARK_GREEN :Sötétzöld
STR_COLOUR_SECONDARY_BLUE :Kék
STR_COLOUR_SECONDARY_CREAM :Krémszín
STR_COLOUR_SECONDARY_MAUVE :Mályvaszín
STR_COLOUR_SECONDARY_PURPLE :Lila
STR_COLOUR_SECONDARY_ORANGE :Narancssárga
STR_COLOUR_SECONDARY_BROWN :Barna
STR_COLOUR_SECONDARY_GREY :Szürke
STR_COLOUR_SECONDARY_WHITE :Fehér
STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Ugyanaz mint az elsődleges
@ -582,6 +596,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Az 'OpenTTD'-r
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite elhelyező
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Befoglaló doboz ki/bekapcsolása
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Koszos épületek színezésének be/kikapcsolása
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Widget körvonalak ki/bekapcsolása
# Place in highscore window
###length 15
@ -674,7 +689,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Működ
STR_GRAPH_INCOME_CAPTION :{WHITE}Bevétel grafikon
STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Elszállított áruk mennyisége
STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Vállalatok teljesítménye (legjobb teljesítmény=1000)
STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Vállalatok értéke
STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Vállalatok értéke grafikon
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Rakományok szállítási díja
STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}ÚTON TÖLTÖTT NAPOK
@ -917,7 +932,7 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC
STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} felszámolásra került a hitelezői által és minden vagyonát elárverezték!
STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Új szállítási vállalat alakult!
STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} {TOWN} közelében kezd építkezni!
STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} felvásárlásra került {STRING} által!
STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} felvásárlásra került, egy meg nem nevezett összegért, {STRING} által!
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Elnök)
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} támogatásával új várost alapítottak {TOWN} néven!
@ -974,6 +989,8 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Új {STR
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Ide kattintva megnyílik a járműlista, kijelölve a jármű csoportját
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} többé nem fogad el: {CARGO_LIST}
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} most már elfogad: {CARGO_LIST}
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}A támogatás határideje lejárt:{}{}{STRING} szállításáért {STRING} és {STRING} között már nem jár támogatás
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Támogatás visszavonva:{}{}{STRING} szállítása {STRING} és {STRING} között már nem támogatott
@ -1018,6 +1035,7 @@ STR_GAME_OPTIONS_VOLUME_100 :100%
STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Pénznem
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}A használt pénznem kiválasztása
STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING})
###length 42
STR_GAME_OPTIONS_CURRENCY_GBP :Angol Font
@ -1125,19 +1143,18 @@ STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz
STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}A 60 Hz-nél nagyobb frekvencia befolyással lehet a teljesítményre.
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikus alapcsomag
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}A játékhoz használandó grafikus alapcsomag kiválasztása
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} hiányzó/hibás fájl
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}A játékhoz használandó grafikus alapcsomag kiválasztása (nem módosítható a játékban, csak a főmenüben)
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}További információk a grafikus alapcsomagról
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Hang alapcsomag
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Használandó hang alapcsomag kiválasztása
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Használandó hang alapcsomag kiválasztása (nem módosítható a játékban, csak a főmenüben)
STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}További információk a hang alapcsomagról
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Zenei alapcsomag
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Használandó zenei alapcsomag kiválasztása
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} hibás fájl
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}További információk a zenei alapcsomagról
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nem sikerült a támogatott felbontások lekérdezése
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Teljes képernyős módra váltás sikertelen
@ -1429,7 +1446,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Minden új utas
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Alapvetően egy jármű megáll minden útjába eső állomáson. Ezzel a beállítással a járművek a következő célpontjukig nem állnak meg egy útjukba eső állomáson sem. Ez a beállítás csak új utasítások esetén működik. Az egyes célpontok viszont beállíthatók másfajta működésmódra is természetesen
STR_CONFIG_SETTING_STOP_LOCATION :A vonatok az állomások {STRING} állnak meg új utasításokban
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :A hely, ahol a vonat az állomási peron mellett alapértelmezetten megáll. Az 'elején' jelentése, hogy a vonat a peron belépéshez legközelebbi pontján fog megállni, 'közepén' jelentése, hogy a vonat a peron közepén fog megállni, 'végén' jelentése, hogy a vonat a peron belépéshez ellentétes végén fog megállni. Ez a beállítás csak egy alapértelmezett értéket jelent új utasítások részére, az egyes utasítások viszont beállíthatóak másfajta működésmódra is természetesen
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :A hely, ahol a vonat az állomási peron mellett alapértelmezetten megáll. Az 'elején' jelentése, hogy a vonat a peron belépéshez legközelebbi pontján fog megállni, 'közepén' jelentése, hogy a vonat a peron közepén fog megállni, 'végén' jelentése, hogy a vonat a peron belépéshez ellentétes végén fog megállni. Ez a beállítás csak egy alapértelmezett értéket jelent új utasítások részére, az egyes utasítások viszont beállíthatóak másfajta működésmódra is az utasítás szövegére kattintva
###length 3
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :elején
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :közepén
@ -1633,7 +1650,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Szürkéről pi
STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Szürkeárnyalat
STR_CONFIG_SETTING_SCROLLMODE :A látkép mozgatása: {STRING}
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :A látkép mozgatásának módja
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :A látkép mozgatásának módja. Az "zárolt egérpozíció" beállítás nem működik minden rendszeren, például webes verziókon, érintőképernyőkön, Linuxon Waylanddel és másokon.
###length 4
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :A látkép mozgatása jobb egérgombbal, fix kurzorral
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :A térkép mozgatása jobb egérgombbal, fix kurzorral
@ -1815,7 +1832,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Mennyi memóri
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Javítási intervallumok százalékban: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :A járművek javítási módjának kiválasztása, hogy az utolsó javítás óta eltelt idő, vagy a maximális megbízhatósághoz képesti százalékos csökkenés alapján kerüljelek javításra
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Ha ez engedélyezve van, a járművek megpróbálnak karbantartásra menni, amikor a megbízhatóságuk a maximális megbízhatóság egy adott százalékára csökken.{}{}Például, ha egy jármű maximális megbízhatósága 90%, és a szervizintervallum 20%, akkor a jármű karbantartásra fog menni, amikor eléri a 72%-os megbízhatóságot.
STR_CONFIG_SETTING_SERVINT_TRAINS :Alapértelmezett javítási intervallum vonatoknak: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Alapértelmezett javítási intervallum beállítása új vonatoknak, ha nincs külön javítási intervallum beállítva a járműre
@ -1945,8 +1962,8 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Településekne
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :A városok építhetnek vasúti átjárókat: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Engedélyezve a települések építhetnek vasúti átjárókat
STR_CONFIG_SETTING_NOISE_LEVEL :Település által szabályzott zajszint reptereknek: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kikapcsolva településenként csak kettő repülőtér építhető. Bekapcsolva a repülőterek száma a település által megengedett zajszinttől függ, ami a lakosságszámtól és a távolságtól függ
STR_CONFIG_SETTING_NOISE_LEVEL :A repülőtér elhelyezésének korlátozása a zajszint alapján: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kikapcsolva településenként csak kettő repülőtér építhető kivéve, ha a helyi önkormányzat hozzáállása "engedékeny" értékre van állítva. Bekapcsolva a repülőterek száma a település által megengedett zajszinttől függ, ami a lakosságszámtól és a távolságtól függ
STR_CONFIG_SETTING_TOWN_FOUNDING :Város alapítása játék közben: {STRING}
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Bekapcsolva a játékosok alapíthatnak új településeket a játék során
@ -2020,7 +2037,7 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :nincs
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Kezdeti városméret-szorzó: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Átlagos városméret a normál településekhez képest a játék kezdetén
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Kapcsolatgrafikon frissítése minden {STRING}{NBSP}másodpercben{P 0:2 "" s}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Kapcsolatgrafikon frissítése minden {STRING}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :A kapcsolatgrafikon következő újrakalkulálása között eltelt idő. Minden újrakalkulálás során egy komponens tervei kerülnek kiszámításra. Ez azt jelenti, hogy az X érték beállítása nem jelenti azt, hogy az egész grafikon X másodpercenként frissül. Csak néhány komponens lesz frissítve. Minél rövidebbre van állítva, annál több CPU időre van szükség a kiszámításhoz. Ha hosszabbra van állítva, akkor hosszabb időbe telik, amíg az áruelosztás elkezdődik az új útvonalakon.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :A kapcsolatgrafikon újrakalkulálására szánt idő, {STRING}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :A kapcsolatgrafikon újrakalkulálására szánt idő. Egy újrakalkulálás megkezdésekor létrejön egy új szál ami ennyi másodpercig futhat. Minél rövidebbre állítod ezt a paramétert annál valószínűbb hogy a számítás nem készül el mire kellene. Ha ez megtörténik akkor a játék megáll amíg el nem készül a számítással ("laggol"). Minél hosszabbra állítod ezt az időt annál hosszabb idő telik el az útvonalak változása és az eloszlás frissítése között.
@ -2218,8 +2235,11 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Biztosa
STR_HELP_WINDOW_CAPTION :{BLACK}Súgó és útmutatók
STR_HELP_WINDOW_WEBSITES :{BLACK}Weboldalak
STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumentumok
STR_HELP_WINDOW_README :{BLACK}Olvassel
STR_HELP_WINDOW_CHANGELOG :{BLACK}Változtatások listája
STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Ismert hibák
STR_HELP_WINDOW_LICENSE :Licenc
STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD
STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Útmutató / Wiki
STR_HELP_WINDOW_BUGTRACKER :{BLACK}Hiba jelentése
STR_HELP_WINDOW_COMMUNITY :{BLACK}Közösség
@ -2238,6 +2258,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}A térk
STR_CHEAT_CHANGE_DATE :{LTBLUE}Dátum módosítás: {ORANGE} {DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Aktuális év megváltoztatása
STR_CHEAT_SETUP_PROD :{LTBLUE}A nyersanyagüzemek termelése változtatható: {ORANGE}{STRING}
STR_CHEAT_STATION_RATING :{LTBLUE}Az állomások értékelésének rögzítése 100%-ra: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} színsémája
@ -3007,7 +3028,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3-as h
STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Véletlenszerű
# Fund new industry window
STR_FUND_INDUSTRY_CAPTION :{WHITE}Új gazdasági épület
STR_FUND_INDUSTRY_CAPTION :{WHITE}Ipar finanszírozása
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Megfelelő gazdasági épülettípus kiválasztása a listából
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Sok véletlen gazdasági épület
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Elhelyez a térképen véletlenszerüen sok gazdasági épületet
@ -3023,14 +3044,14 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Összes
STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Biztosan el akarod távolítani az összes gazdasági épületet?
# Industry cargoes window
STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ipari láncolat {STRING} gazdasági épületnek
STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Ipari láncolat {STRING} rakománynak
STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ipari láncolat - {STRING}
STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Ipari láncolat - {STRING}
STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Termelő gazdasági épületek
STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Elfogadó gazdasági épületek
STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Házak
STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Kattints a gazdasági épületre az ellátók és a fogyasztók megjelenítéséhez
STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Kattints a rakományra az ellátók és a fogyasztók megjelenítéséhez.
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Láncolat mutatása
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Ipari láncolat
STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Rakományellátó és fogyasztó gazdasági épületek megjelenítése
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Térképre kapcsolás
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}A térképen megjelenített gazdasági épületek kiválasztása
@ -3426,6 +3447,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Mentés
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}A lista mentése a megadott névvel
# NewGRF parameters window
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Alap grafikai paraméterek módosítása
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF paraméterek megváltoztatása
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Bezárás
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Alapértelmezett
@ -3626,8 +3648,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{Y
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}A városi úthálózat felújításának támogatása.{}Hat hónapig jelentősen összezavarja a közúti forgalmat.{}{POP_COLOUR}Ára: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Szobor építése a vállalatod tiszteletére.{}Javítja az állomásaid értékelését a városban.{}{POP_COLOUR}Ára: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Új kereskedelmi épületek építésének támogatása a városban.{}A város egy ideig gyorsabban fog növekedni.{}{POP_COLOUR}Ára: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Egy éves kizárólagos szállítási jogok vásárlása a városban.{}Az önkormányzat megtiltja az utasoknak és a rakományoknak, hogy más vállalatok állomásait használják.{}{POP_COLOUR}Ára: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}A megítélésed növelése az önkormányzat megvesztegetésével, komoly büntetést kockáztatva, ha az kiderül.{}{POP_COLOUR}Ára: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Egy éves kizárólagos szállítási jogok vásárlása a városban.{}Az önkormányzat megtiltja az utasoknak és a rakományoknak, hogy más vállalatok állomásait használják. Egy versenytárs sikeres megvesztegetése felbontja ezt a szerződést.{}{POP_COLOUR}Ára: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}A megítélésed növelése az önkormányzat megvesztegetésével, komoly büntetést kockáztatva, ha az kiderül.Ezzel megszüntetheted egy versenytársad kizárólagos szállítási jogát is.{}{POP_COLOUR}Ára: {CURRENCY_LONG}
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} céljai
@ -3937,16 +3959,16 @@ STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Elérhető rep
STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Lista kezelése
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}A listán szereplő járműveknek utasítás küldése
STR_VEHICLE_LIST_REPLACE_VEHICLES :Járművek lecserélése
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Javításra küld
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Javításra küldés
STR_VEHICLE_LIST_CREATE_GROUP :Csoport létrehozása
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Idei nyereség: {CURRENCY_LONG} (Tavalyi: {CURRENCY_LONG})
STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}]
STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING}
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Elküldi járműtelepre
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Elküldi garázsba
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Elküldi dokkba
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Elküldi hangárba
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Elküldés járműtelepre
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Elküldés garázsba
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Elküldés dokkba
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Elküldés hangárba
STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Kattints ide a listán lévő összes jármű leállításához
STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Kattints ide a listán lévő összes jármű elindításához
@ -4661,6 +4683,8 @@ STR_TIMETABLE_EXPECTED :{BLACK}Várhat
STR_TIMETABLE_SCHEDULED :{BLACK}Tervezett
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Váltás a várható és a tervezett időpontok között
STR_TIMETABLE_ARRIVAL :Érk: {COLOUR}{DATE_TINY}
STR_TIMETABLE_DEPARTURE :Ind: {COLOUR}{DATE_TINY}
# Date window (for timetable)
@ -4697,8 +4721,8 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Az egyik
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Az MI / Játékszkript nyomkövetés ablak csak a szerver számára elérhető
# AI configuration window
STR_AI_CONFIG_CAPTION_AI :{WHITE}MI Konfigurálás
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Játékszkript konfiguráció
STR_AI_CONFIG_CAPTION_AI :{WHITE}MI beállítások
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Játékszkript beállítások
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}A következő játékban betöltődő játékszkript
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}A következő játékban betöltődő MI-k
STR_AI_CONFIG_HUMAN_PLAYER :Játékos
@ -4748,7 +4772,7 @@ STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minitér
# Script Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Paraméterek
STR_AI_SETTINGS_CAPTION_AI :{WHITE}MI paraméterei
STR_AI_SETTINGS_CAPTION_AI :MI
STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Játékszkript
STR_AI_SETTINGS_CLOSE :{BLACK}Bezárás
STR_AI_SETTINGS_RESET :{BLACK}Visszaállítás
@ -4758,6 +4782,7 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN
# Textfile window
STR_TEXTFILE_JUMPLIST :{WHITE}Tartalomjegyzék
STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Ugrás egy fejezetre a jelenlegi fileban ezzel a listával
STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING}
STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Lépj vissza a navigáció történetben
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Lépj előre a navigáció történetben
STR_TEXTFILE_WRAP_TEXT :{WHITE}Szöveg törése
@ -4952,7 +4977,7 @@ STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Túl sok
STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Túl közel van egy másik kikötőhöz
STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Túl közel van egy másik repülőtérhez
STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Nem nevezheted át az állomást...
STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ez egy városi tulajdonú út
STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... városi tulajdonban lévő út
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... az út a másik irányba vezet
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... áthaladó megállóhelyeken nem lehet kanyar
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... áthaladó megállóhelyeken nem lehet elágazás
@ -5227,6 +5252,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}A járm
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}A járművek csak az állomáson várakozhatnak
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Ez a jármű nem áll meg ezen az állomáson
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... menetrend befejezetlen
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... a menetrend még nincs megkezdve
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... túl sok a felirat
@ -5760,6 +5786,8 @@ STR_JUST_DATE_SHORT :{DATE_SHORT}
STR_JUST_DATE_LONG :{DATE_LONG}
STR_JUST_DATE_ISO :{DATE_ISO}
STR_JUST_STRING :{STRING}
STR_JUST_STRING1 :{STRING}
STR_JUST_STRING2 :{STRING}
STR_JUST_STRING_STRING :{STRING}{STRING}
STR_JUST_RAW_STRING :{STRING}
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}

@ -927,7 +927,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :annað
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grunngrafík
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Nota grunngrafíkina
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} týnd{P "" ar} eða ónýt{P "" ar} skrá{P "" r}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Frekari upplýsingar um grunngrafíkpakkann
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Grunn hljóðasafn
@ -936,9 +935,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Aukauppl
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Grunntónlistarsafn
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Veld grunntónlistarsafn til að nota
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ónýt{P "" ar} skrá{P "" r}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Auka upplýsingar um grunntónlistarsafnið
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Skjáfyllihamur brást
# Custom currency window

@ -502,6 +502,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :altra
# Custom currency window

@ -194,7 +194,20 @@ STR_COLOUR_RANDOM :Acak
STR_COLOUR_SECONDARY_DARK_BLUE :Biru Tua
STR_COLOUR_SECONDARY_PALE_GREEN :Hijau Pucat
STR_COLOUR_SECONDARY_SECONDARY_PINK :Merah Muda
STR_COLOUR_SECONDARY_YELLOW :Kuning
STR_COLOUR_SECONDARY_RED :Merah
STR_COLOUR_SECONDARY_LIGHT_BLUE :Biru Muda
STR_COLOUR_SECONDARY_GREEN :Hijau
STR_COLOUR_SECONDARY_DARK_GREEN :Hijau Tua
STR_COLOUR_SECONDARY_BLUE :Biru
STR_COLOUR_SECONDARY_CREAM :Krim
STR_COLOUR_SECONDARY_MAUVE :Ungu Muda
STR_COLOUR_SECONDARY_PURPLE :Ungu
STR_COLOUR_SECONDARY_ORANGE :Jingga
STR_COLOUR_SECONDARY_BROWN :Cokelat
STR_COLOUR_SECONDARY_GREY :Abu-abu
STR_COLOUR_SECONDARY_WHITE :Putih
STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Sama seperti Utama
# Units used in OpenTTD
@ -520,6 +533,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Tentang 'OpenTT
STR_ABOUT_MENU_SPRITE_ALIGNER :Penjajar Sprite
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hidup/Matikan kotak batas
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Menampilkan pewarnaan dari area kotor
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Alihkan kerangka widget
# Place in highscore window
###length 15
@ -911,6 +925,8 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}{STRING}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Membuka jendela grup yang berfokus pada rombongan kendaraan
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} tidak lagi menerima: {CARGO_LIST}
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} menerima: {CARGO_LIST}
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Penawaran subsidi berakhir:{}{}Jasa transportasi {STRING} dari {STRING} ke {STRING} mulai sekarang tidak lagi mendapat subsidi
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidi berakhir:{}{}Jasa transportasi {STRING} dari {STRING} ke {STRING} tidak lagi mendapat subsidi
@ -1048,7 +1064,10 @@ STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Survei Otomatis
STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Berpartisipasi pada survey otomatis
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Jika diaktifkan, OpenTTD akan mengirimkan survei saat meninggalkan game
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Tentang survei dan privasi
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Ini akan membuka browser dengan informasi lebih lanjut tentang survei otomatis
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Tampilkan hasil survey
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Tampilkan hasil survey pada game yang berjalan saat ini
@ -1061,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Kecepata
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set Grafik Dasar
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih grafik dasar yang digunakan (tidak dapat diubah didalam permainan, hanya dari menu utama)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} berkas hilang atau rusak
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informasi tambahan tentang set grafik dasar
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Set suara dasar
@ -1070,9 +1088,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informas
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Set Musik Dasar
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Pilih musik dasar yang akan digunakan
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} berkas rusak
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informasi tambahan tentang musik dasar
STR_BASESET_STATUS :{STRING} {RED}({NUM} file hilang/rusak
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Tidak bisa mendapatkan daftar resolusi layak
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modus layar penuh gagal
@ -1235,11 +1254,13 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Kiri
STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Tengah
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Kanan
STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}detik
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimum pinjaman awal: {STRING}
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Jumlah maksimum yang dapat dipinjam (tanpa menghitung inflasi)
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG}
###setting-zero-is-special
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Tidak ada pinjaman {RED}Memerlukan Game Script untuk menyediakan dana awal
STR_CONFIG_SETTING_INTEREST_RATE :Bunga pinjaman: {STRING}
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Bunga pinjaman; juga mengendalikan inflasi jika dinyalakan
@ -1405,6 +1426,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nihil
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Dikurangi
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal
STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Izinkan perlintasan sebidang dengan jalan atau rel milik pesaing: {STRING}
STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Izinkan pembangunan lintasan sebidang di jalan atau rel milik pesaing
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Ijinkan terminal drive-thru pada jalan milik kota: {STRING}
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Membolehkan konstruksi halte di jalan kota
@ -1418,6 +1441,8 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Jika dinyalakan
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Memulai warna perusahaan: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Pilih warna awal perusahaan
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Warna sekunder perusahaan awal: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Pilih warna sekunder awal untuk perusahaan, jika menggunakan NewGRF yang mengaktifkannya.
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Bandara tidak kedaluarsa: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Menyalakan setelan ini membuat semua jenis bandara tetap ada selamanya sejak pendesainanya
@ -1620,6 +1645,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Non-aktifkan
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Tutup jendela dengan klik kanan: {STRING}
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Menutup jendela dengan mengklik kanan di dalamnya. Menonaktifkan keterangan alat saat klik kanan!
###length 3
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Tidak
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Ya
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Ya, kecuali lekat
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gunakan format tanggal {STRING} untuk berkas simpanan
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format tanggal di nama berkas permainan tersimpan
@ -1947,6 +1975,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Faktor kali uku
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Ukuran rata-rata kota besar terhadap kota kecil saat permainan dimulai
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Pembaruan grafik distribusi setiap {STRING}{NBSP} detikP 0:2 "" }
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Waktu antara penghitungan ulang berikutnya dari grafik tautan. Setiap perhitungan ulang menghitung rencana untuk satu komponen grafik. Artinya, nilai X untuk pengaturan ini tidak berarti keseluruhan grafik akan diperbarui setiap X detik. Hanya beberapa komponen yang akan melakukannya. Semakin pendek Anda mengaturnya, semakin banyak waktu CPU yang diperlukan untuk menghitungnya. Semakin lama Anda mengaturnya, semakin lama waktu yang dibutuhkan hingga distribusi kargo dimulai pada rute baru.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Ambil {STRING} untuk menghitung ulang grafik distribusi
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Waktu yang dibutuhkan untuk setiap penghitungan ulang komponen grafik tautan. Ketika penghitungan ulang dimulai, sebuah thread muncul yang diizinkan berjalan selama beberapa detik ini. Semakin pendek Anda mengaturnya, semakin besar kemungkinan bahwa thread tersebut tidak selesai sebagaimana mestinya. Kemudian permainan dihentikan sampai (“lag”). Semakin lama Anda mengaturnya, semakin lama waktu yang diperlukan untuk memperbarui distribusi ketika rute berubah.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modus distribusi untuk penumpang: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetris" berarti kira-kira jumlah penumpang sama akan pergi dari stasiun A ke stasiun B sebagaimana dari B ke A. "Asimetris" berarti jumlah penumpang pergi pada kedua arah bisa berbeda-beda. "Manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk penumpang.
@ -2079,6 +2110,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Mengalok
# Video initalization errors
STR_VIDEO_DRIVER_ERROR :{WHITE}Kesalahan dengan pengaturan video...
STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... tidak ditemukan GPU yang kompatibel. Akselerasi perangkat keras dinonaktifkan
STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... Driver GPU membuat game crash. Akselerasi perangkat keras dinonaktifkan
# Intro window
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
@ -2114,6 +2146,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Pilih ga
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Tampilkan opsi permainan
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Tampilkan tabel nilai tertinggi
STR_INTRO_TOOLTIP_HELP :{BLACK}Dapatkan izin dokumentasi dan sumber daya online
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Tampilkan pengaturan
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Tampilkan pengaturan NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Cari konten baru dan pembaruan untuk diunduh
@ -2136,8 +2169,16 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Apakah
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Apakah anda yakin untuk mengabaikan skenario ini ?
# Help window
STR_HELP_WINDOW_CAPTION :{WHITE}Bantuan & Petunjuk
STR_HELP_WINDOW_WEBSITES :{BLACK}Situs web
STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumen
STR_HELP_WINDOW_README :{BLACK}Readme
STR_HELP_WINDOW_CHANGELOG :{BLACK}Log Perubahan
STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Bug yang diketahui
STR_HELP_WINDOW_LICENSE :{BLACK}Lisensi
STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD
STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Manual/ Wiki
STR_HELP_WINDOW_BUGTRACKER :{BLACK}Laporkan Bug
STR_HELP_WINDOW_COMMUNITY :{BLACK}Komunitas
# Cheat window
@ -2154,6 +2195,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Ubah ket
STR_CHEAT_CHANGE_DATE :{LTBLUE}Ganti tanggal: {ORANGE} {DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Ubah tahun sekarang
STR_CHEAT_SETUP_PROD :{LTBLUE}Aktifkan modifikasi nilai produksi: {ORANGE}{STRING}
STR_CHEAT_STATION_RATING :{LTBLUE}Memperbaiki rating stasiun pada 100%: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Skema Warna
@ -2388,6 +2430,7 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Ciptakan
STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Ini adalah Anda
STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Ini adalah hos permainan
STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} klien{P ""} - {NUM}/{NUM} perusahaan{P ""}
STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Jumlah klien yang terhubung saat ini, jumlah perusahaan dan jumlah maksimum perusahaan yang diizinkan oleh administrator server
# Matches ConnectionType
###length 5
@ -2414,6 +2457,8 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Tidak
STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Ya, kali ini
STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Iya, Jangan tanya lagi
STR_NETWORK_ASK_SURVEY_CAPTION :Berpartisipasi pada survey otomatis?
STR_NETWORK_ASK_SURVEY_TEXT :Apakah Anda ingin berpartisipasi dalam survei otomatis?{}OpenTTD akan mengirimkan survei saat keluar dari game.{}Anda bisa mengubahnya kapan saja di "Pengaturan Game".
STR_NETWORK_ASK_SURVEY_PREVIEW :Tampilkan hasil survey
STR_NETWORK_ASK_SURVEY_LINK :Tentang survei dan privasi
STR_NETWORK_ASK_SURVEY_NO :Tidak
@ -2624,6 +2669,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Hidup/ma
STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Hidup/matikan transparansi jembatan. CTRL+klik untuk mengunci
STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Hidup/matikan transparansi struktur bangunan semacam mercusuar dan antena. CTRL+klik untuk mengunci
STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Hidup/matikan transparansi katenari CTRL+klik untuk mengunci
STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Alihkan transparansi untuk pemuatan dan teks biaya/pendapatan. Ctrl+Klik untuk mengunci
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Atur obyek menjadi sama sekali tidak nampak daripada transparan.
# Linkgraph legend window
@ -2711,6 +2757,7 @@ STR_STATION_CLASS_DFLT :Standar
STR_STATION_CLASS_DFLT_STATION :Stasiun standar
STR_STATION_CLASS_DFLT_ROADSTOP :Pemberhentian jalan standar
STR_STATION_CLASS_WAYP :Waypoint
STR_STATION_CLASS_WAYP_WAYPOINT :Waypoint bawaan
# Signal window
STR_BUILD_SIGNAL_CAPTION :{WHITE}Pemilihan Sinyal
@ -3078,7 +3125,7 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Tim OpenTTD
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}laju bingkai
STR_FRAMERATE_CAPTION :{WHITE}Laju bingkai
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Rata simulasi: {STRING}
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Jumlah detak permainan tersimulasi per detik.
@ -3337,6 +3384,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Menyimpa
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Menyimpan presetnya pada nama yang sedang dipilih
# NewGRF parameters window
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Ubah parameter grafik dasar
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Ubah parameter NewGRF
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Tutup
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Reset
@ -3353,6 +3401,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Periksa
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} pada {HEX}
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Obyek
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Tipe rel
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Tipe jalan
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Variabel NewGRF harus 60+x (hexadecimal)
@ -3759,6 +3808,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detail
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Lihat jumlah infrastruktur lebih detail
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Berikan uang
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Berikan uang kepada perusahaan ini
STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Pengambilalihan secara bermusuhan
STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Lakukan perseteruan untuk mengambil alih perusahaan ini
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Ganti Wajah
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Pilih wajah baru pimpinan
@ -3854,7 +3905,7 @@ STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRIN
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Perintahkan ke bengkel
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Perintahkan ke Bengkel
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Perintahkan ke Galangan
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Perintahkan ke Hangar
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Perintahkan ke Hanggar
STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Klik untuk menghentikan semua kendaraan dalam daftar
STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Klik untuk menjalankan semua kendaraan dalam daftar
@ -4616,6 +4667,7 @@ STR_AI_CONFIG_RANDOM_AI :AI Acak
STR_AI_CONFIG_NONE :(tidak ada)
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Jumlah pesaing maksimal: {ORANGE}{COMMA}
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Interval antara permulaan kompetitor: {ORANGE}{COMMA} menit
STR_AI_CONFIG_MOVE_UP :{BLACK}Naikkan
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Naikkan AI terpilih dalam daftar
@ -4665,7 +4717,11 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN
# Textfile window
STR_TEXTFILE_JUMPLIST :{WHITE}Daftar Isi
STR_TEXTFILE_JUMPLIST_TOOLTIP :Loncat ke halaman yang ditampilkan melalui daftar ini
STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING}
STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Kembali ke riwayat navigasi
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Kembali ke awal dalam riwayat navigasi
STR_TEXTFILE_WRAP_TEXT :{WHITE}Mengebatkan teks
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Mengebatkan teks dari jendela sehingga akan muat tanpa menggulir
STR_TEXTFILE_VIEW_README :{BLACK}Lihat readme
@ -4676,6 +4732,7 @@ STR_TEXTFILE_README_CAPTION :{WHITE}keterang
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Catatan perubahan {STRING} dari {STRING}
STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Lisensi {STRING} dari {STRING}
STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Tanpilan hasil survei
STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE} dokumen OpenTTD '{STRING}'
# Vehicle loading indicators
@ -5117,16 +5174,22 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... pesa
STR_ERROR_NO_RAIL_STATION :{WHITE}Tidak ada stasiun kereta
STR_ERROR_NO_BUS_STATION :{WHITE}Tidak ada stasiun bis
STR_ERROR_NO_TRUCK_STATION :{WHITE}Tidak ada stasiun lori
STR_ERROR_NO_DOCK :{WHITE}Tidak ada dermaga
STR_ERROR_NO_AIRPORT :{WHITE}Tidak ada bandara/heliport
STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Tidak ada pemberhentian dengan kompatibilitas tipe jalan
STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Tidak ada pemberhentian yang kompatibel dengan tipe tram
STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Tidak ada perhentian yang cocok untuk kendaraan jalan gandeng.{}Kendaraan jalan gandeng memerlukan perhentian drive-through, bukan perhentian teluk
STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Pesawat ini tidak dapat mendarat di heliport ini
STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Helikopter ini tidak dapat mendarat di bandara
STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Tidak ada titik jalan kereta api
STR_ERROR_NO_BUOY :{WHITE}Tidak ada pelampung
# Timetable related errors
STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Tidak dapat membuat jadwal keberangkatan kendaraan...
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Kendaran hanya dapat menunggu di stasiun
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Kendaraan tidak berhenti pada stasiun ini
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... Jadway tidak kompatibel
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... Jadwal tidak kompatibel
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... jadwal belum dimulai
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... terlalu banyak tanda

@ -1009,7 +1009,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}D'fhéad
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Sraith graifice bunaidh
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Roghnaigh an sraith grafaice bunaidh le húsáid
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} {P ch ch ch gc c}omhad ar iarraidh/truaillithe
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Faisnéis breise faoin sraith grafaice bunaidh
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Sraith fuaimeanna bunaidh
@ -1018,9 +1017,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Faisnéi
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Sraith ceoil bunaidh
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Roghnaigh an tsraith ceoil bunaidh le húsáid
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} {P ch ch ch gc c}omhad truaillithe
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Faisnéis breise faoin tsraith ceoil bunaidh
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Teipeadh liosta de na taifigh a dtacaítear leo a fháil
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Theip ar an mód lánscáileáin

@ -535,6 +535,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Informazioni su
STR_ABOUT_MENU_SPRITE_ALIGNER :Strumento allineamento sprite
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Attiva/disattiva bounding box
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Attiva/disattiva colorazione blocchi invalidati
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Alterna i contorni dei widget
# Place in highscore window
###length 15
@ -926,6 +927,8 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nuov{G o
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Apri la finestra del gruppo focalizzata sul gruppo del veicolo
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} non accetta più: {CARGO_LIST}
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} Accetta: {CARGO_LIST}
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Offerta di sussidio scaduta:{}{}Il trasporto di {STRING} da {STRING} a {STRING} non darà più diritto a sovvenzioni
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Sussidio terminato:{}{}Il trasporto di {STRING} da {STRING} a {STRING} non è più sovvenzionato
@ -1079,7 +1082,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Frequenz
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Pacchetto grafico di base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selezionare il pacchetto grafico di base da utilizzare (non può essere modificato in gioco, solo dal menu principale).
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} file mancant{P e i}/corrott{P o i}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informazioni aggiuntive sul pacchetto grafico di base
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Pacchetto sonoro di base
@ -1088,9 +1090,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informaz
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Pacchetto musicale di base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Seleziona il pacchetto musicale di base da utilizzare
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} file corrott{P o i}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informazioni aggiuntive sul pacchetto musicale di base
STR_BASESET_STATUS :{STRING} {RED}({NUM} file{P "" s} mancant{P e i}/corrott{P o i})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Errore nel recupero della lista delle risoluzioni supportate
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Attivazione modalità schermo intero non riuscita
@ -2227,6 +2230,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Modifica
STR_CHEAT_CHANGE_DATE :{LTBLUE}Cambia data: {ORANGE} {DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Cambia l'anno corrente
STR_CHEAT_SETUP_PROD :{LTBLUE}Permetti la modifica dei valori di produzione: {ORANGE}{STRING}
STR_CHEAT_STATION_RATING :{LTBLUE}Fissa le valutazioni delle stazioni al 100%: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Schema colori
@ -3421,6 +3425,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Salva
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salva il profilo utilizzando il nome inserito
# NewGRF parameters window
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Modifica dei parametri grafici di base
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Cambia parametri NewGRF
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Chiudi
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Reimposta
@ -5225,6 +5230,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Impossib
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}I veicoli possono attendere solo alle stazioni
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Il veicolo non ferma a questa stazione
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... l'orario è incompleto
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... l'orario non è ancora partito
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... troppi cartelli

@ -1051,7 +1051,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}60Hzを
STR_GAME_OPTIONS_BASE_GRF :{BLACK}基本グラフィックセット
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}使用するグラフィックセットを選択します
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}見つからないか破損しているファイルが{NUM}個あります
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}基本グラフィックセットについての追加情報
STR_GAME_OPTIONS_BASE_SFX :{BLACK}基本効果音セット
@ -1060,9 +1059,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}基本
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}基本音楽セット
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}使用する音楽セットを選択します
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM}個の破損ファイルがあります
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}基本音楽セットについての追加情報
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}サポートされている解像度リストの回復に失敗しました
STR_ERROR_FULLSCREEN_FAILED :{WHITE}フルスクリーンモードでの実行に失敗しました

@ -1081,7 +1081,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}60Hz를
STR_GAME_OPTIONS_BASE_GRF :{BLACK}기본 그래픽 세트
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}게임에 사용할 기본 그래픽 세트를 선택하세요 (플레이 도중에는 변경할 수 없고 메인 메뉴에서만 변경 가능합니다)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM}개 파일 손실
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}기본 그래픽 세트에 대한 추가 정보를 봅니다.
STR_GAME_OPTIONS_BASE_SFX :{BLACK}기본 효과음 세트
@ -1090,9 +1089,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}기본
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}기본 배경 음악 세트
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}게임에 사용할 기본 배경 음악 세트를 선택하세요
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM}개의 파일이 손상되었습니다.
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}기본 배경 음악 세트에 대한 추가 정보를 봅니다.
STR_BASESET_STATUS :{STRING} {RED}({NUM}개의 파일이 빠졌거나 손상되었습니다)
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}지원되는 해상도 목록을 불러오는데 실패하였습니다.
STR_ERROR_FULLSCREEN_FAILED :{WHITE}전체화면 모드 실패

@ -1153,7 +1153,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :alia
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Fundamentum graphicum
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Eligere fundamentum graphicum adhibendum
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fascicul{P us i} absen{P s tes}/corrupt{P us i}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Indicia additicia de hoc fundamento graphico
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Fundamentum sonicum
@ -1162,9 +1161,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Indicia
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Fundamentum musicum
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Eligere fundamentum musicum adhibendum
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fascicul{P us i} corrupt{P us i}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Indicia additicia de hoc fundamento musico
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Non potuit repperire indicem resolutionum
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Mutatio ad cunctum scrinium defecit

@ -1034,7 +1034,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Atsvaidz
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Pamata grafikas kopa
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Atlasīt lietošanai pamata grafikas kopu
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} iztrūkstošs/bojāts fail{P s i ""}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Papildinformācija par pamata grafikas kopu
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Pamata skaņas kopa
@ -1043,9 +1042,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Papildin
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Pamata mūzikas kopa
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Atlasīt lietošanai pamata mūzikas kopu
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} bojāt{P s i u} fail{P s i u}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Papildinformācija par pamata mūzikas kopu
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Neizdevās saņemt sarakstu ar atbalstītajām izšķirtspējām
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Pilnekrāna spēles iestatīšana neizdevās

@ -1227,7 +1227,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Didesnis
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Bazinis grafikos rinkinys
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pasirinkti naudojimui bazinę grafikos rinkinį
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} trūkstam{P a ų os}/sugadint{P a ų os} byl{P a ų os}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Papildoma informacija apie bazinės grafikos rinkinį
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Bazinis garsų rinkinys
@ -1236,9 +1235,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Papildom
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Bazinis muzikos rinkinys
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Pasirinkti naudojimui bazinę muziką
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} sugadint{P a ų os} bylos
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Papildoma informacija apie bazinę muziką
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepavyko gauti palaikomų ekrano raiškų sąrašo
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Viso ekrano nustatymas nepavyko

@ -1032,7 +1032,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Bildfreq
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis Grafikset
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Wielt de Basis Grafikset dee soll benotzt ginn
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fehlend/korrupt Datei{P "" en}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Méi Infos iwwert de Basis Grafikset
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basis Soundset
@ -1041,9 +1040,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Méi Inf
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basis Musikset
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Wiel de Basis Musikset dee soll benotzt ginn
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} korrupt Datei{P "" en}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Méi Informatiounen iwwer de Basis Musikset
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Konnt keng Lëscht vun supportéierten Opléisunge fannen
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fehler beim Vollbild

@ -820,6 +820,7 @@ STR_GAME_OPTIONS_CAPTION :{WHITE}Опци
# Custom currency window

@ -931,7 +931,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :lain
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set grafik asas
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih set grafik asas untuk digunakan
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fail hilang/rosak
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Maklumat tambahan tentang set grafik asas ini
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Set bunyi asas
@ -940,9 +939,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Maklumat
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Set muzik asas
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Pilih set muzik asas yang akan digunakan
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fail sudah rosak
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Maklumat lebih tentang set muzik asas
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Gagal untuk mendapat senarai resolusi yang disokong
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Mod skrin penuh gagal dilakukan

@ -435,6 +435,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :oħrajn
# Custom currency window

@ -754,6 +754,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :अन्य
# Custom currency window

@ -1015,7 +1015,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Oppdater
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikksett
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Velg grafikksett som skal brukes
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} manglende/ødelagt{P "" e} fil{P "" er}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Tilleggsinformasjon om grafikksettet
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Lydsett
@ -1024,9 +1023,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Tilleggs
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Musikksett
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Velg musikksett som skal brukes
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ødelagt{P "" e} fil{P "" er}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Ytterligere informasjon om det originale musikksettet
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Mislyktes med å hente en liste over støttede oppløsninger
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullskjermmodus mislyktes

@ -958,7 +958,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :anna
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikksett
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vel grafikksett som skal nyttast
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} manglande/øydelagd{P "" e} fil{P "" er}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Tilleggsinformasjon om grafikksettet
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Lydsett
@ -967,9 +966,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Tilleggs
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Musikksett
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Vel musikksett som skal nyttast
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} øydelagd{P "" e} fil{P "" er}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Tilleggsinformasjon om musikksettet
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Kunne ikkje henta liste over støtta oppløysingar
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullskjermvising feila

@ -948,7 +948,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر
STR_GAME_OPTIONS_BASE_GRF :{BLACK}بسته گرافیک پایه
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}بسته گرافیک پایه را انتخاب کنید
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} فایل وجود ندارد یا خراب است
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK} اطلاعات اضافه در مورد بسته ی گرافیکی پایه
STR_GAME_OPTIONS_BASE_SFX :{BLACK}بسته صدای پایه را انتخاب کنید
@ -957,9 +956,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}اطلا
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}بسته موسیقی پایه
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}بسته موسیقی پایه را انتخاب کنید
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} فایل خراب است
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}اطلاعات اضافه درباره بسته ی موسیقی پایه
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}ناتوان در گرفتن تنظیمات نمایش
STR_ERROR_FULLSCREEN_FAILED :{WHITE}حالت تمام صفحه با شکست مواجه شد

@ -1460,7 +1460,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Częstot
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Podstawowy zestaw grafik
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Wybierz podstawowy zestaw grafik (nie można tego zmienić w trakcie gry, jedynie w menu głównym)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} brak/uszkodzony plik{P "" i ów}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Dodatkowe informacje o grafice
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Podstawowy zestaw dźwięków
@ -1469,9 +1468,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Dodatkow
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Podstawowy zestaw muzyki
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Wybierz podstawowy zestaw muzyki do użycia
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} plik{P "" i ów} uszkodzony
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatkowe informacje o muzyce podstawowej
STR_BASESET_STATUS :{STRING} {RED}({NUM} brakując{P y e ych}/uszkodzon{P y e ych} plik{P "" i ów})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nie udało się pobrać listy obsługiwanych rozdzielczości
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Uruchomienie trybu pełnoekranowego nie powiodło się

@ -1081,7 +1081,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Taxas de
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecione o conjunto de gráficos base a usar (não pode ser alterado no jogo, só a partir do menu principal)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ficheiro{P "" s} que falta{P "" m} / corrupto{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de gráficos base
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons base
@ -1090,9 +1089,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informa
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de música base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Seleccione o conjunto de música base a usar
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ficheiro corrompido{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de música base
STR_BASESET_STATUS :{STRING} {RED}({NUM} ficheiro{P "" s} em falta/corrompido{P "" s})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Erro ao obter uma lista de resoluções suportadas
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de ecrã inteiro falhou

@ -533,6 +533,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Despre 'OpenTTD
STR_ABOUT_MENU_SPRITE_ALIGNER :Aliniere imagini
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Afişează/ascunde casetele de încadrare
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Comutator pentru colorarea secțiunilor murdare
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Comutați contururile widgetului
# Place in highscore window
###length 15
@ -924,6 +925,8 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Un nou t
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Deschide fereastra grupului fixată pe grupul vehiculului
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} nu mai acceptă: {CARGO_LIST}
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} acceptă acum: {CARGO_LIST}
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Ofertă expirată:{}{}Transportul de {STRING} de la {STRING} la {STRING} nu va mai fi subvenţionat
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Ofertă retrasă:{}{}Transportul de {STRING} de la {STRING} la {STRING} nu va mai fi subvenţionat
@ -1077,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Ratele d
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set grafic de bază
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selectați setul de grafică de bază pe care să îl utilizați (nu poate fi schimbat în joc, doar din meniul principal)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} {P fișier fișiere "de fișiere"} lipsă/corupt{P "" e e}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informaţii adiţionale despre setul grafic de bază
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Set sunete de bază
@ -1086,9 +1088,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informa
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Setul de muzică de bază
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selectaţi setul de muzică de bază
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} {P fișier fișiere "de fișiere"} corupt{P "" e e}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informaţii adiţionale despre setul de muzică de bază
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nu s-a putut obține lista de rezoluții suportate
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Comutarea pe întreg ecranul a eşuat
@ -2191,6 +2193,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Schimbă
STR_CHEAT_CHANGE_DATE :{LTBLUE}Schimbă data: {ORANGE}{DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Schimbă anul curent
STR_CHEAT_SETUP_PROD :{LTBLUE}Activează accesul la valorile de producţie: {ORANGE}{STRING}
STR_CHEAT_STATION_RATING :{LTBLUE}Remediați evaluările staţiei la 100%: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Schemă de culori
@ -3379,6 +3382,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Salveaz
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salvează setarea pe numele selectat
# NewGRF parameters window
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Schimbați parametrii grafici de bază
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Schimbă parametrii NewGRF
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Închide
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Resetează
@ -5183,6 +5187,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Nu pot p
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vehiculele pot aştepta numai în staţii
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Acest vehicul nu are oprire în această staţie
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... orarul este incomplet
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... orarul nu a început încă
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... prea multe semne

@ -1225,7 +1225,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Част
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Основной графический пакет
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбор основного графического пакета (его нельзя сменить в игре; только в главном меню)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} отсутствующи{P й х х}/повреждённы{P й х х} файл{P "" а ов}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Дополнительная информация о выбранном графическом пакете
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Основной звуковой пакет
@ -1234,9 +1233,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Допо
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Основной музыкальный пакет
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Выбор основного музыкального пакета
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} повреждённы{P й х х} файл{P "" а ов}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Дополнительная информация о выбранном музыкальном пакете
STR_BASESET_STATUS :{STRING} {RED}({NUM} отсутствующи{P й х х}/повреждённы{P й х х} файл{P "" а ов})
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не удалось получить список поддерживаемых разрешений экрана
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Сбой полноэкранного режима

@ -1227,7 +1227,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Frekvenc
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni skup grafika
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Odaberi željeni skup osnovnih grafika
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} datotek{P a e a} nedostaj{P e u e}/neispravn{P a o o}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Dodatni podaci o osnovnom skupu grafika
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Osnovni skup zvukova
@ -1236,9 +1235,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Dodatni
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Osnovni skup muzike
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Odaberi željeni skup osnovne muzike
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} oštećen{P a e ih} datotek{P a e a}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatni podaci o osnovnom skupu muzike
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Neuspešno dobijanje spiska podržanih rezolucija
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Neuspešno prebacivanje u ceo ekran

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}高于 6
STR_GAME_OPTIONS_BASE_GRF :{BLACK}基础图形组
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}选择要使用的基础图形组(只能在主菜单更改,不能在游戏中更改)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} 文件{}未找到或不正确
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}关于基本图组的额外信息
STR_GAME_OPTIONS_BASE_SFX :{BLACK}基础音效组
@ -1089,9 +1088,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}有关
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}基础音乐组
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}选择要使用的基础音乐组
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} 文件已损坏
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}有关基础音乐组的附加信息
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}无法撷取可用的屏幕分辨率清单
STR_ERROR_FULLSCREEN_FAILED :{WHITE}无法切换到全屏模式{}尝试使用不同的分辨率
@ -5189,6 +5188,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}不能
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}车辆只能在站内等候。
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}此车辆将不停靠本站。
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... 时间表不完整
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}……时间表尚未开始
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}……标志太多了

@ -1136,7 +1136,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Obnovova
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základná sada grafiky
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Výber sady grafiky, ktorá má byť použitá (nie je možné zmeniť v hre, iba z hlavného menu)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} chýbajúci/poškodený súbor{P "" "y" "ov"}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Dodatočné informácie o základnej sade grafiky
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Základná sada zvukov
@ -1145,9 +1144,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Dodatoč
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Základná sada hudby
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Výber sady hudby, ktorá má byť použitá
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} poškoden{P ý é ých} súbor{P "" y ov}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatočné informácie o základnej sade hudby
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepodarilo sa načítať zoznam podporovaných rozlíšení
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Zobrazovanie na celú obrazovku zlyhalo

@ -1113,7 +1113,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :drugo
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni komplet grafik
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Izberi osnovni komplet grafik za uporabo
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} manjkajoč{P a i e ih}/okvarjen{P a i e ih} datotek{P a i e ""}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Dodatne informacije o osnovnem kompletu grafik
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Osnovni komplet zvokov
@ -1122,9 +1121,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Dodatne
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Osnovni komplet glasbe
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Izberi osnovni komplet glasbe za uporabo
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} poškodovan{P a i e ih} datotek{P a i e ""}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatne informacije o osnovnem kompletu glasbe
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nalaganje seznama podprtih resolucij ni uspelo
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Celozaslonski način spodletel

@ -1033,7 +1033,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Las frec
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} archivo{P "" s} perdido{P "" s} o corrupto{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre el set de gráficos base
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sonidos base
@ -1042,9 +1041,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informac
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de música base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Seleccionar conjunto de música base a usar
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} archivo{P "" s} corrupto{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre el conjunto de música base
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}No se ha podido obtener una lista de resoluciones soportadas
STR_ERROR_FULLSCREEN_FAILED :{WHITE}El modo de pantalla completa ha fallado

@ -1033,7 +1033,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Las frec
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Gráficos base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Elegir los gráficos base
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} archivo{P "" s} perdido{P "" s} o con errores
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre los gráficos base
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Sonidos base
@ -1042,9 +1041,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informac
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Música base
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Elegir música base
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} archivo{P "" s} con errores
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre música base
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}No se pudo obtener una lista de resoluciones compatibles
STR_ERROR_FULLSCREEN_FAILED :{WHITE}El modo de pantalla completa falló

@ -1076,7 +1076,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}uppdater
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikpaket som standard
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Välj vilket grafikpaket som ska användas som standard (kan ej ändras under spel, utan endast från huvudmenyn)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} saknad{P "" e}/trasig{P "" a} fil{P "" er}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Ytterligare information om basgrafik-settet
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Grundljudspaket
@ -1085,9 +1084,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Ytterlig
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Musikpaket valt
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Välj vilket musikpaket som ska användas
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} fil{P "" er} korrupt{P "" a}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Yttligare information om musikpaketet
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Det gick inte att hämta en lista över upplösningar som stöds
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullskärmsläge misslyckades

@ -979,7 +979,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz
STR_GAME_OPTIONS_BASE_GRF :{BLACK}அடிப்படை அசைவூட்டம்
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}பயன்படுத்தப்போகும் அடிப்படை அசைவூட்டத்தினை தேர்ந்தெடுக்கவும்
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} இல்லாத/பிழையான கோப்பு{P "" கள்}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}அடிப்படை அசைவூட்டத்தினை பற்றிய கூடுதல் தகவல்
STR_GAME_OPTIONS_BASE_SFX :{BLACK}அடிப்படை ஒலிகள் தொகுப்பு
@ -988,9 +987,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}அட
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}அடிப்படை இசைத் தொகுப்பு
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}பயன்படுத்தப்போகும் அடிப்படை இசைத் தொகுப்பினைத் தேர்ந்தெடுக்கவும்
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} பிழையான கோப்பு{P "" கள்}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}அடிப்படை இசைத் தொகுப்பு பற்றிய கூடுதல் தகவல்கள்
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}ஆதரிக்கப்பட்ட திரைத் தெளிவுத்திரங்களின் வரிசை பெற முடியவில்லை
STR_ERROR_FULLSCREEN_FAILED :{WHITE}முழுத்திரை நிலை தோல்வியடைந்தது
@ -3256,6 +3255,7 @@ STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}இரய
STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}சாலை வாகனங்களை இயக்கும் செலவுகள்
STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}விமானங்களை இயக்கும் செலவுகள்
STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}கப்பல்களை இயக்கும் செலவுகள்
STR_FINANCES_SECTION_ROAD_VEHICLE_REVENUE :{GOLD}சாலை வாகனங்கள்
STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}கப்பல்கள்
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}கடன் வட்டி
STR_FINANCES_SECTION_OTHER :{GOLD}மற்றவை
@ -3303,6 +3303,7 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}வி
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}விவரமான கட்டட எண்ணிக்கைகளை காட்டு
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}பணத்தை வழங்கு
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}இந்த நிறுவனத்திற்கு பணம் கொடு
STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}இந்த நிறுவனத்தை விரோதமாகக் கையகப்படுத்துங்கள்
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}புதிய முகம்
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}மேலாளருக்கு புதிய முகத்தினைத் தேர்ந்தெடு
@ -4182,6 +4183,7 @@ STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :புதிய
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :கோப்பினை படிக்க இயலவில்லை
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :கோப்பில் எழுத இயலவில்லை
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :தகவல் முழுமை சரிபார்த்தல் தோல்வியடைந்தது
STR_GAME_SAVELOAD_ERROR_PATCHPACK :பதிவுஆட்டம் மாற்றியமைக்கப்பட்ட பதிப்புடன் தயாரிக்கப்பட்டுள்ளது
STR_GAME_SAVELOAD_NOT_AVAILABLE :<கிடைக்கவில்லை>
STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}ஆட்டம் ட்ராம் துணையில்லாத பதிப்புடன் பதிவு செய்யப்பட்டது. ஆதலால் அனைத்து ட்ராம்களும் நீக்கப்பட்டுள்ளன.

@ -975,7 +975,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}หา
STR_GAME_OPTIONS_BASE_GRF :{BLACK}ตั้งค่า Graphic พื้นฐาน
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}เลือกและตั้งค่าฐานกราฟิกที่จะใช้
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ไฟล์สูญหายหรือไม่สมบูรณ์
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}ข้อมูลเพิ่มเติมเกี่ยวกับชุดกราฟฟิคพื้นฐาน
STR_GAME_OPTIONS_BASE_SFX :{BLACK}เลือกชุด Effect เสียงประกอบ
@ -984,9 +983,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}ปร
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}ชุดเพลงประกอบพื้นฐาน
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}เลือกเพลงประกอบพื้นฐานเพื่อใช้งาน
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ไฟล์ไม่สมบูรณ์
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}ข้อมูลเพิ่มเติมเกี่ยวกับชุดเพลงประกอบพื้นฐาน
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullscreen โหมดล้มเหลว
# Custom currency window

@ -1072,7 +1072,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}高於60
STR_GAME_OPTIONS_BASE_GRF :{BLACK}基本圖形集
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}選擇要使用的基本圖形集
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} 檔案遺失/損毀
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}關於基本圖形集的額外資訊
STR_GAME_OPTIONS_BASE_SFX :{BLACK}基本音效集
@ -1081,9 +1080,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}關於
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}基本音樂集
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}選擇要使用的基本音樂集
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} 檔案已損毀
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}關於基本音樂集的額外資訊
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}無法擷取可用的螢幕解析度清單
STR_ERROR_FULLSCREEN_FAILED :{WHITE}無法切換全螢幕模式

@ -1080,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}60Hz'den
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Temel grafik kümesi
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kullanılacak temel grafik kümesini seçin (oyun içinde değiştirlemez sadece ana menüde değiştirebilinir)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} kayıp/bozuk dosya
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Temel grafik setiyle ilgili ilave bilgiler
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Temel ses kümesi
@ -1089,9 +1088,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Temel se
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Temel müzik kümesi
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Kullanılacak temel müzik kümesini seçin
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} adet bozuk dosya var
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Temel müzik hakkında daha fazla bilgi
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Desteklenen çözünürlük listesi alınamadı
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Tam ekran kipi başarısız

@ -1180,7 +1180,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Онов
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базовий набір графіки
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Оберіть, яку основну графіку використовувати
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} відсутн{P ій іх іх}/пошкоджен{P ий их их} файл{P "" а ів}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Додаткова інформація про базовий набір графіки
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Базовий набір звуків
@ -1189,9 +1188,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Дода
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Базовий музичний набір
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Оберіть базовий музичний набір для використання
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} зіпсовани{P й х х} файл{P "" а ів}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Допоміжна інформація про базовий музичний набір
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не вдалося отримати список підтримуваних дозволів
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Повноекранний режим не працює

@ -923,7 +923,6 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر
STR_GAME_OPTIONS_BASE_GRF :{BLACK}بُنیادی گرافک سیٹ
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}بُنیادی گرافک سیٹ اختیار کریں
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}بُنیادی گرافک سیٹ کے بارے میں اضافی معلومات
STR_GAME_OPTIONS_BASE_SFX :{BLACK}بُنیادی صوتی سیٹ
@ -932,9 +931,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}بُنی
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}بُنیادی موسیقی سیٹ
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}بُنیادی موسیقی سیٹ اختیار کریں
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupted file{P "" s}
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}بُنیادی موسیقی سیٹ کے بارے میں اضافی معلومات
STR_ERROR_FULLSCREEN_FAILED :{WHITE}مُکمل اسکرین موڈ ناکام ہوگیا
# Custom currency window

@ -533,6 +533,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Giới thiệu
STR_ABOUT_MENU_SPRITE_ALIGNER :Trình điều chỉnh sprite
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Bật/tắt hiển thị khối nhà
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Bật/tắt màu sắc trên các ô 'bẩn'
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Bật/tắt đường viền của tiện ích
# Place in highscore window
###length 15
@ -924,6 +925,8 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}{STRING}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Mở cửa sổ gom nhóm và hiện nhóm của phương tiện
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} không còn chấp nhận: {CARGO_LIST}
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} đã chấp nhận: {CARGO_LIST}
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Lời đề nghị trợ cấp đã hết hạn:{}{}{STRING} từ {STRING} đến {STRING} bây giờ sẽ không có trợ cấp.
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Trợ cấp đã hết:{}{}Dịch vụ vận chuyển {STRING} từ {STRING} đến {STRING} sẽ không được trợ cấp nữa.
@ -1077,7 +1080,6 @@ STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Tần s
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Gói đồ họa
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Chọn gói đồ họa để sử dụng (không thể thay đổi khi trong ván chơi, chỉ đổi được khi ở menu chính)
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} thiếu/hỏng file
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Thông tin thêm về gói đồ họa
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Bộ âm thanh chuẩn
@ -1086,9 +1088,10 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Thông t
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Gói nhạc chuẩn
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Chọn gói nhạc để sử dụng
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} file bị hỏng
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Thông tin thêm về gói nhạc chuẩn
STR_BASESET_STATUS :{STRING} {RED}({NUM} file bị hỏng/thiếu
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Không thể lấy danh sách độ phân giải được hỗ trợ
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Thất bại khi bật chế độ fullscreen
@ -2192,6 +2195,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Thay đ
STR_CHEAT_CHANGE_DATE :{LTBLUE}Sửa thời gian: {ORANGE}{DATE_SHORT}
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Thay đổi thời gian hiện tại
STR_CHEAT_SETUP_PROD :{LTBLUE}Cho phép khả năng sửa giá trị sản xuất: {ORANGE}{STRING}
STR_CHEAT_STATION_RATING :{LTBLUE}Cố định uy tín 100% cho các ga bến cảng: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Cách Phối Màu Mới
@ -3380,6 +3384,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Lưu
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Lưu thiết lập bằng tên được chọn
# NewGRF parameters window
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Thay đổi các thông số của gói đồ họa chuẩn
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Thay Đổi Tham Số NewGRF
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Đóng
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Đặt mặc định
@ -5184,6 +5189,7 @@ STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Không t
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Phương tiện chỉ có thể chờ ở nhà ga, bến, cảng.
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Phương tiện này không dừng lại tại ga, bến này theo lộ trình.
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... lịch trình chưa hoàn thiện
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... bảng lịch trình chưa bắt đầu
# Sign related errors
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... quá nhiều biển hiệu

@ -992,7 +992,6 @@ STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graffeg
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set raffeg sylfaenol
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Dewiswch y set raffeg sylfaenol i'w defnyddio
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ffeil ar goll/llygredig
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Gwybodaeth ychwanegol am y set graffeg sylfaenol
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Set sain sylfaenol
@ -1001,9 +1000,9 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Gwybodae
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Set cerddoriaeth sylfaenol
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Dewisiwch y set cerddoriaeth sylfaenol i'w ddefnyddio
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} ffeil llygredig
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Gwybodaeth bellach am y set gerddoriaeth sylfaenol
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Methu nôl rhestr o cydraniadau cydnaws
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Methodd y modd sgrin llawn

@ -278,7 +278,7 @@ private:
this->title = lt->title;
std::vector<const LeagueTableElement *> elements;
for(LeagueTableElement *lte : LeagueTableElement::Iterate()) {
for (LeagueTableElement *lte : LeagueTableElement::Iterate()) {
if (lte->table == this->table) {
elements.push_back(lte);
}

@ -757,7 +757,8 @@ LinkGraphLegendWindow::LinkGraphLegendWindow(WindowDesc *desc, int window_number
* Set the overlay belonging to this menu and import its company/cargo settings.
* @param overlay New overlay for this menu.
*/
void LinkGraphLegendWindow::SetOverlay(LinkGraphOverlay *overlay) {
void LinkGraphLegendWindow::SetOverlay(LinkGraphOverlay *overlay)
{
this->overlay = overlay;
CompanyMask companies = this->overlay->GetCompanyMask();
for (uint c = 0; c < MAX_COMPANIES; c++) {

@ -71,7 +71,8 @@ struct DLSFile {
WSMPL wave_sample;
std::vector<WLOOP> wave_loops;
bool operator ==(long offset) const {
bool operator ==(long offset) const
{
return this->file_offset == offset;
}
};

@ -62,7 +62,8 @@ public:
/**
* Get the currently active instance of the music driver.
*/
static MusicDriver *GetInstance() {
static MusicDriver *GetInstance()
{
std::unique_lock<std::mutex> lock(_music_driver_mutex);
return static_cast<MusicDriver*>(*DriverFactoryBase::GetActiveDriver(Driver::DT_MUSIC));

@ -1010,9 +1010,9 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
}
switch (tracktype) {
case 0: _gted[e->index].railtypelabel = rvi->engclass >= 2 ? RAILTYPE_ELECTRIC_LABEL : RAILTYPE_RAIL_LABEL; break;
case 1: _gted[e->index].railtypelabel = RAILTYPE_MONO_LABEL; break;
case 2: _gted[e->index].railtypelabel = RAILTYPE_MAGLEV_LABEL; break;
case 0: _gted[e->index].railtypelabel = rvi->engclass >= 2 ? RAILTYPE_LABEL_ELECTRIC : RAILTYPE_LABEL_RAIL; break;
case 1: _gted[e->index].railtypelabel = RAILTYPE_LABEL_MONO; break;
case 2: _gted[e->index].railtypelabel = RAILTYPE_LABEL_MAGLEV; break;
default:
grfmsg(1, "RailVehicleChangeInfo: Invalid track type %d specified, ignoring", tracktype);
break;
@ -1149,8 +1149,8 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
if (_cur.grffile->railtype_list.empty()) {
/* Use traction type to select between normal and electrified
* rail only when no translation list is in place. */
if (_gted[e->index].railtypelabel == RAILTYPE_RAIL_LABEL && engclass >= EC_ELECTRIC) _gted[e->index].railtypelabel = RAILTYPE_ELECTRIC_LABEL;
if (_gted[e->index].railtypelabel == RAILTYPE_ELECTRIC_LABEL && engclass < EC_ELECTRIC) _gted[e->index].railtypelabel = RAILTYPE_RAIL_LABEL;
if (_gted[e->index].railtypelabel == RAILTYPE_LABEL_RAIL && engclass >= EC_ELECTRIC) _gted[e->index].railtypelabel = RAILTYPE_LABEL_ELECTRIC;
if (_gted[e->index].railtypelabel == RAILTYPE_LABEL_ELECTRIC && engclass < EC_ELECTRIC) _gted[e->index].railtypelabel = RAILTYPE_LABEL_RAIL;
}
rvi->engclass = engclass;

@ -30,6 +30,7 @@
#include "tilehighlight_func.h"
#include "fios.h"
#include "guitimer_func.h"
#include "zoom_func.h"
#include "widgets/newgrf_widget.h"
#include "widgets/misc_widget.h"
@ -1623,8 +1624,6 @@ NewGRFWindow::GUIGRFConfigList::FilterFunction * const NewGRFWindow::filter_func
*/
class NWidgetNewGRFDisplay : public NWidgetContainer {
public:
static const uint INTER_LIST_SPACING; ///< Empty vertical space between both lists in the 2 column mode.
static const uint INTER_COLUMN_SPACING; ///< Empty horizontal space between two columns.
static const uint MAX_EXTRA_INFO_WIDTH; ///< Maximal additional width given to the panel.
static const uint MIN_EXTRA_FOR_3_COLUMNS; ///< Minimal additional width needed before switching to 3 columns.
@ -1666,8 +1665,8 @@ public:
uint min_inf_height = this->inf->smallest_y + this->inf->padding.Vertical();
/* Smallest window is in two column mode. */
this->smallest_x = std::max(min_avs_width, min_acs_width) + INTER_COLUMN_SPACING + min_inf_width;
this->smallest_y = std::max(min_inf_height, min_acs_height + INTER_LIST_SPACING + min_avs_height);
this->smallest_x = std::max(min_avs_width, min_acs_width) + WidgetDimensions::scaled.hsep_wide + min_inf_width;
this->smallest_y = std::max(min_inf_height, min_acs_height + WidgetDimensions::scaled.vsep_wide + min_avs_height);
/* Filling. */
this->fill_x = LeastCommonMultiple(this->avs->fill_x, this->acs->fill_x);
@ -1702,18 +1701,18 @@ public:
uint acs_extra_width = min_list_width - min_acs_width; // Additional width needed for acs to reach min_list_width.
/* Use 2 or 3 columns? */
uint min_three_columns = min_avs_width + min_acs_width + min_inf_width + 2 * INTER_COLUMN_SPACING;
uint min_two_columns = min_list_width + min_inf_width + INTER_COLUMN_SPACING;
bool use_three_columns = this->editable && (min_three_columns + MIN_EXTRA_FOR_3_COLUMNS <= given_width);
uint min_three_columns = min_avs_width + min_acs_width + min_inf_width + 2 * WidgetDimensions::scaled.hsep_wide;
uint min_two_columns = min_list_width + min_inf_width + WidgetDimensions::scaled.hsep_wide;
bool use_three_columns = this->editable && (min_three_columns + ScaleGUITrad(MIN_EXTRA_FOR_3_COLUMNS) <= given_width);
/* Info panel is a separate column in both modes. Compute its width first. */
uint extra_width, inf_width;
if (use_three_columns) {
extra_width = given_width - min_three_columns;
inf_width = std::min(MAX_EXTRA_INFO_WIDTH, extra_width / 2);
inf_width = std::min<uint>(ScaleGUITrad(MAX_EXTRA_INFO_WIDTH), extra_width / 2);
} else {
extra_width = given_width - min_two_columns;
inf_width = std::min(MAX_EXTRA_INFO_WIDTH, extra_width / 2);
inf_width = std::min<uint>(ScaleGUITrad(MAX_EXTRA_INFO_WIDTH), extra_width / 2);
}
inf_width = ComputeMaxSize(this->inf->smallest_x, this->inf->smallest_x + inf_width, this->inf->GetHorizontalStepSize(sizing));
extra_width -= inf_width - this->inf->smallest_x;
@ -1732,7 +1731,7 @@ public:
uint acs_width = given_width - // Remaining space, including horizontal padding.
inf_width - this->inf->padding.Horizontal() -
avs_width - this->avs->padding.Horizontal() - 2 * INTER_COLUMN_SPACING;
avs_width - this->avs->padding.Horizontal() - 2 * WidgetDimensions::scaled.hsep_wide;
acs_width = ComputeMaxSize(min_acs_width, acs_width, this->acs->GetHorizontalStepSize(sizing)) -
this->acs->padding.Horizontal();
@ -1744,16 +1743,16 @@ public:
if (rtl) {
x += this->inf->padding.left;
this->inf->AssignSizePosition(sizing, x, y + this->inf->padding.top, inf_width, inf_height, rtl);
x += inf_width + this->inf->padding.right + INTER_COLUMN_SPACING;
x += inf_width + this->inf->padding.right + WidgetDimensions::scaled.hsep_wide;
} else {
x += this->avs->padding.left;
this->avs->AssignSizePosition(sizing, x, y + this->avs->padding.top, avs_width, avs_height, rtl);
x += avs_width + this->avs->padding.right + INTER_COLUMN_SPACING;
x += avs_width + this->avs->padding.right + WidgetDimensions::scaled.hsep_wide;
}
x += this->acs->padding.left;
this->acs->AssignSizePosition(sizing, x, y + this->acs->padding.top, acs_width, acs_height, rtl);
x += acs_width + this->acs->padding.right + INTER_COLUMN_SPACING;
x += acs_width + this->acs->padding.right + WidgetDimensions::scaled.hsep_wide;
if (rtl) {
x += this->avs->padding.left;
@ -1770,11 +1769,11 @@ public:
uint acs_width = ComputeMaxSize(this->acs->smallest_x, this->acs->smallest_x + acs_extra_width + extra_width,
this->acs->GetHorizontalStepSize(sizing));
uint min_avs_height = (!this->editable) ? 0 : this->avs->smallest_y + this->avs->padding.Vertical() + INTER_LIST_SPACING;
uint min_avs_height = (!this->editable) ? 0 : this->avs->smallest_y + this->avs->padding.Vertical() + WidgetDimensions::scaled.vsep_wide;
uint min_acs_height = this->acs->smallest_y + this->acs->padding.Vertical();
uint extra_height = given_height - min_acs_height - min_avs_height;
/* Never use fill_y on these; instead use the INTER_LIST_SPACING as filler */
/* Never use fill_y on these; instead use WidgetDimensions::scaled.vsep_wide as filler */
uint avs_height = ComputeMaxSize(this->avs->smallest_y, this->avs->smallest_y + extra_height / 2, this->avs->resize_y);
if (this->editable) extra_height -= avs_height - this->avs->smallest_y;
uint acs_height = ComputeMaxSize(this->acs->smallest_y, this->acs->smallest_y + extra_height, this->acs->resize_y);
@ -1783,7 +1782,7 @@ public:
if (rtl) {
x += this->inf->padding.left;
this->inf->AssignSizePosition(sizing, x, y + this->inf->padding.top, inf_width, inf_height, rtl);
x += inf_width + this->inf->padding.right + INTER_COLUMN_SPACING;
x += inf_width + this->inf->padding.right + WidgetDimensions::scaled.hsep_wide;
this->acs->AssignSizePosition(sizing, x + this->acs->padding.left, y + this->acs->padding.top, acs_width, acs_height, rtl);
if (this->editable) {
@ -1802,7 +1801,7 @@ public:
if (this->editable) {
dx = std::max(dx, this->avs->current_x + this->avs->padding.Horizontal());
}
x += dx + INTER_COLUMN_SPACING + this->inf->padding.left;
x += dx + WidgetDimensions::scaled.hsep_wide + this->inf->padding.left;
this->inf->AssignSizePosition(sizing, x, y + this->inf->padding.top, inf_width, inf_height, rtl);
}
}
@ -1837,86 +1836,85 @@ public:
}
};
const uint NWidgetNewGRFDisplay::INTER_COLUMN_SPACING = 12;
const uint NWidgetNewGRFDisplay::INTER_LIST_SPACING = NWidgetNewGRFDisplay::INTER_COLUMN_SPACING + 1;
const uint NWidgetNewGRFDisplay::MAX_EXTRA_INFO_WIDTH = 150;
const uint NWidgetNewGRFDisplay::MIN_EXTRA_FOR_3_COLUMNS = 50;
static const NWidgetPart _nested_newgrf_actives_widgets[] = {
/* Left side, presets. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, COLOUR_MAUVE), SetDataTip(STR_NEWGRF_SETTINGS_SELECT_PRESET, STR_NULL),
SetPadding(0, WidgetDimensions::unscaled.frametext.right, 0, 0),
NWidget(WWT_DROPDOWN, COLOUR_YELLOW, WID_NS_PRESET_LIST), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_JUST_STRING1, STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_PRESET_SAVE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_PRESET_SAVE, STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_PRESET_DELETE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_PRESET_DELETE, STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, NWidgetNewGRFDisplay::INTER_COLUMN_SPACING), SetResize(1, 0), SetFill(1, 0),
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidget(WWT_LABEL, COLOUR_MAUVE), SetDataTip(STR_NEWGRF_SETTINGS_ACTIVE_LIST, STR_NULL),
SetFill(1, 0), SetResize(1, 0), SetPadding(3, WidgetDimensions::unscaled.frametext.right, 0, WidgetDimensions::unscaled.frametext.left),
/* Left side, active grfs. */
NWidget(NWID_HORIZONTAL), SetPadding(0, 2, 0, 2),
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidget(WWT_INSET, COLOUR_MAUVE, WID_NS_FILE_LIST), SetMinimalSize(100, 1), SetPadding(2, 2, 2, 2),
SetFill(1, 1), SetResize(1, 1), SetScrollbar(WID_NS_SCROLLBAR), SetDataTip(STR_NULL, STR_NEWGRF_SETTINGS_FILE_TOOLTIP),
EndContainer(),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0),
/* Left side, presets. */
NWidget(NWID_VERTICAL),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, COLOUR_MAUVE), SetDataTip(STR_NEWGRF_SETTINGS_SELECT_PRESET, STR_NULL),
SetPadding(0, WidgetDimensions::unscaled.hsep_wide, 0, 0),
NWidget(WWT_DROPDOWN, COLOUR_YELLOW, WID_NS_PRESET_LIST), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_JUST_STRING1, STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_PRESET_SAVE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_PRESET_SAVE, STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_PRESET_DELETE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_PRESET_DELETE, STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP),
EndContainer(),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_NS_SCROLLBAR),
EndContainer(),
/* Buttons. */
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_NS_SHOW_REMOVE),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPadding(2, 2, 2, 2), SetPIP(0, NWidgetNewGRFDisplay::INTER_COLUMN_SPACING, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_REMOVE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_REMOVE, STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP),
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_MOVE_UP), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_MOVEUP, STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_MOVE_DOWN), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_MOVEDOWN, STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_NEWGRF_SETTINGS_ACTIVE_LIST, STR_NULL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0),
/* Left side, active grfs. */
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidget(WWT_INSET, COLOUR_MAUVE, WID_NS_FILE_LIST), SetMinimalSize(100, 1), SetPadding(2),
SetFill(1, 1), SetResize(1, 1), SetScrollbar(WID_NS_SCROLLBAR), SetDataTip(STR_NULL, STR_NEWGRF_SETTINGS_FILE_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_UPGRADE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_UPGRADE, STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_NS_SCROLLBAR),
EndContainer(),
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPadding(2, 2, 2, 2),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_RESCAN_FILES2), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_RESCAN_FILES, STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_CONTENT_DOWNLOAD2), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
/* Buttons. */
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_NS_SHOW_REMOVE),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_REMOVE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_REMOVE, STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP),
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_MOVE_UP), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_MOVEUP, STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_MOVE_DOWN), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_MOVEDOWN, STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_UPGRADE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_UPGRADE, STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP),
EndContainer(),
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_RESCAN_FILES2), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_RESCAN_FILES, STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_CONTENT_DOWNLOAD2), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
EndContainer(),
EndContainer(),
EndContainer(),
EndContainer(),
};
static const NWidgetPart _nested_newgrf_availables_widgets[] = {
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidget(WWT_LABEL, COLOUR_MAUVE), SetDataTip(STR_NEWGRF_SETTINGS_INACTIVE_LIST, STR_NULL),
SetFill(1, 0), SetResize(1, 0), SetPadding(3, WidgetDimensions::unscaled.frametext.right, 0, WidgetDimensions::unscaled.frametext.left),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_NEWGRF_SETTINGS_INACTIVE_LIST, STR_NULL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0),
/* Left side, available grfs, filter edit box. */
NWidget(NWID_HORIZONTAL), SetPadding(WidgetDimensions::unscaled.frametext.top, 0, WidgetDimensions::unscaled.frametext.bottom, 0),
SetPIP(WidgetDimensions::unscaled.frametext.left, WidgetDimensions::unscaled.frametext.right, WidgetDimensions::unscaled.frametext.right),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_TEXT, COLOUR_MAUVE), SetFill(0, 1), SetDataTip(STR_NEWGRF_FILTER_TITLE, STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_MAUVE, WID_NS_FILTER), SetFill(1, 0), SetMinimalSize(50, 12), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
EndContainer(),
/* Left side, available grfs. */
NWidget(NWID_HORIZONTAL), SetPadding(0, 2, 0, 2),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidget(WWT_INSET, COLOUR_MAUVE, WID_NS_AVAIL_LIST), SetMinimalSize(100, 1), SetPadding(2, 2, 2, 2),
NWidget(WWT_INSET, COLOUR_MAUVE, WID_NS_AVAIL_LIST), SetMinimalSize(100, 1), SetPadding(2),
SetFill(1, 1), SetResize(1, 1), SetScrollbar(WID_NS_SCROLL2BAR),
EndContainer(),
EndContainer(),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_NS_SCROLL2BAR),
EndContainer(),
/* Left side, available grfs, buttons. */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPadding(2, 2, 2, 2), SetPIP(0, NWidgetNewGRFDisplay::INTER_COLUMN_SPACING, 0),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_ADD), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_ADD, STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP),
NWidget(NWID_VERTICAL),
@ -1930,37 +1928,42 @@ static const NWidgetPart _nested_newgrf_availables_widgets[] = {
};
static const NWidgetPart _nested_newgrf_infopanel_widgets[] = {
/* Right side, info panel. */
NWidget(NWID_VERTICAL), SetPadding(0, 0, 2, 0),
NWidget(WWT_PANEL, COLOUR_MAUVE), SetPadding(0, 0, 2, 0),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0),
/* Right side, info panel. */
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidget(WWT_EMPTY, COLOUR_MAUVE, WID_NS_NEWGRF_INFO_TITLE), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_EMPTY, COLOUR_MAUVE, WID_NS_NEWGRF_INFO), SetFill(1, 1), SetResize(1, 1), SetMinimalSize(150, 100),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_OPEN_URL), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_CONTENT_OPEN_URL, STR_CONTENT_OPEN_URL_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_NEWGRF_TEXTFILE + TFT_README), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_TEXTFILE_VIEW_README, STR_NULL),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_NEWGRF_TEXTFILE + TFT_CHANGELOG), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_NEWGRF_TEXTFILE + TFT_LICENSE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_NULL),
/* Right side, info buttons. */
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_OPEN_URL), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_CONTENT_OPEN_URL, STR_CONTENT_OPEN_URL_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_NEWGRF_TEXTFILE + TFT_README), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_TEXTFILE_VIEW_README, STR_NULL),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_NEWGRF_TEXTFILE + TFT_CHANGELOG), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_NEWGRF_TEXTFILE + TFT_LICENSE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_NULL),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_NS_SHOW_APPLY),
/* Right side, buttons. */
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(0, NWidgetNewGRFDisplay::INTER_COLUMN_SPACING, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_SET_PARAMETERS), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_SET_PARAMETERS, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_TOGGLE_PALETTE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_TOGGLE_PALETTE, STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP),
/* Right side, config buttons. */
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_NS_SHOW_APPLY),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_SET_PARAMETERS), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_SET_PARAMETERS, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_TOGGLE_PALETTE), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_TOGGLE_PALETTE, STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_APPLY_CHANGES), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_APPLY_CHANGES, STR_NULL),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_APPLY_CHANGES), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_APPLY_CHANGES, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_VIEW_PARAMETERS), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_SHOW_PARAMETERS, STR_NULL),
EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NS_VIEW_PARAMETERS), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_NEWGRF_SETTINGS_SHOW_PARAMETERS, STR_NULL),
EndContainer(),
};
@ -1987,7 +1990,7 @@ static const NWidgetPart _nested_newgrf_widgets[] = {
NWidget(WWT_DEFSIZEBOX, COLOUR_MAUVE),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidgetFunction(NewGRFDisplay), SetPadding(NWidgetNewGRFDisplay::INTER_COLUMN_SPACING, NWidgetNewGRFDisplay::INTER_COLUMN_SPACING, 2, NWidgetNewGRFDisplay::INTER_COLUMN_SPACING),
NWidgetFunction(NewGRFDisplay), SetPadding(WidgetDimensions::unscaled.sparse_resize),
/* Resize button. */
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),

@ -1051,7 +1051,8 @@ static void ShowNewsMessage(const NewsItem *ni)
* Close active news message window
* @return true if a window was closed.
*/
bool HideActiveNewsMessage() {
bool HideActiveNewsMessage()
{
NewsWindow *w = (NewsWindow*)FindWindowById(WC_NEWS_WINDOW, 0);
if (w == nullptr) return false;
w->Close();

@ -711,43 +711,41 @@ static const NWidgetPart _nested_build_object_widgets[] = {
NWidget(WWT_DEFSIZEBOX, COLOUR_DARK_GREEN),
NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN),
NWidget(NWID_HORIZONTAL), SetPadding(2, 0, 0, 2),
NWidget(NWID_VERTICAL), SetPadding(0, 5, 2, 0), SetPIP(0, 2, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN), SetFill(0, 1), SetDataTip(STR_LIST_FILTER_TITLE, STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_BO_FILTER), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_BO_CLASS_LIST), SetFill(1, 0), SetMatrixDataTip(1, 0, STR_OBJECT_BUILD_CLASS_TOOLTIP), SetScrollbar(WID_BO_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_BO_SCROLLBAR),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_MATRIX, COLOUR_DARK_GREEN, WID_BO_OBJECT_MATRIX), SetPIP(0, 2, 0),
NWidget(WWT_PANEL, COLOUR_GREY, WID_BO_OBJECT_SPRITE), SetDataTip(0x0, STR_OBJECT_BUILD_PREVIEW_TOOLTIP), EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0), SetPadding(WidgetDimensions::unscaled.picker),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_picker, 0),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN), SetFill(0, 1), SetDataTip(STR_LIST_FILTER_TITLE, STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_BO_FILTER), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_BO_CLASS_LIST), SetFill(1, 0), SetMatrixDataTip(1, 0, STR_OBJECT_BUILD_CLASS_TOOLTIP), SetScrollbar(WID_BO_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_BO_SCROLLBAR),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_ORIENTATION, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1),
NWidget(NWID_MATRIX, COLOUR_DARK_GREEN, WID_BO_OBJECT_MATRIX), SetPIP(0, 2, 0),
NWidget(WWT_PANEL, COLOUR_GREY, WID_BO_OBJECT_SPRITE), SetDataTip(0x0, STR_OBJECT_BUILD_PREVIEW_TOOLTIP), EndContainer(),
EndContainer(),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN, WID_BO_OBJECT_NAME), SetDataTip(STR_JUST_STRING, STR_NULL), SetTextStyle(TC_ORANGE), SetAlignment(SA_CENTER),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN, WID_BO_OBJECT_SIZE), SetDataTip(STR_OBJECT_BUILD_SIZE, STR_NULL), SetAlignment(SA_CENTER),
EndContainer(),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN, WID_BO_OBJECT_NAME), SetDataTip(STR_JUST_STRING, STR_NULL), SetTextStyle(TC_ORANGE),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN, WID_BO_OBJECT_SIZE), SetDataTip(STR_OBJECT_BUILD_SIZE, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetScrollbar(WID_BO_SELECT_SCROLL),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetScrollbar(WID_BO_SELECT_SCROLL),
NWidget(NWID_MATRIX, COLOUR_DARK_GREEN, WID_BO_SELECT_MATRIX), SetPIP(0, 2, 0),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BO_SELECT_IMAGE), SetMinimalSize(66, 60), SetDataTip(0x0, STR_OBJECT_BUILD_TOOLTIP),
SetFill(0, 0), SetResize(0, 0), SetScrollbar(WID_BO_SELECT_SCROLL),
EndContainer(),
EndContainer(),
NWidget(NWID_VSCROLLBAR, COLOUR_DARK_GREEN, WID_BO_SELECT_SCROLL),
EndContainer(),
EndContainer(),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_BO_INFO), SetPadding(WidgetDimensions::unscaled.framerect), SetFill(1, 0), SetResize(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_BO_INFO), SetPadding(0, 5, 2, 2), SetFill(1, 0), SetResize(1, 0),
NWidget(NWID_VERTICAL),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetFill(0, 1), EndContainer(),
NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN),
EndContainer(),
NWidget(NWID_VERTICAL),
NWidget(NWID_VSCROLLBAR, COLOUR_DARK_GREEN, WID_BO_SELECT_SCROLL),
NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN),
EndContainer(),
EndContainer(),
};

@ -1888,7 +1888,7 @@ public:
if (_settings_client.gui.quick_goto && v->owner == _local_company) {
/* If there are less than 2 station, make Go To active. */
int station_orders = 0;
for(const Order *order : v->Orders()) {
for (const Order *order : v->Orders()) {
if (order->IsType(OT_GOTO_STATION)) station_orders++;
}

@ -328,7 +328,7 @@ void LoadCoreTextFont(FontSize fs)
path.reset(CFStringCreateWithCString(kCFAllocatorDefault, settings->font.c_str(), kCFStringEncodingUTF8));
} else {
/* Scan the search-paths to see if it can be found. */
std::string full_font = FioFindFullPath(BASE_DIR, settings->font.c_str());
std::string full_font = FioFindFullPath(BASE_DIR, settings->font);
if (!full_font.empty()) {
path.reset(CFStringCreateWithCString(kCFAllocatorDefault, full_font.c_str(), kCFStringEncodingUTF8));
}

@ -265,7 +265,8 @@ void OSOpenBrowser(const char *url)
}
#endif /* __APPLE__ */
void SetCurrentThreadName([[maybe_unused]] const char *threadName) {
void SetCurrentThreadName([[maybe_unused]] const char *threadName)
{
#if defined(__GLIBC__)
if (threadName) pthread_setname_np(pthread_self(), threadName);
#endif /* defined(__GLIBC__) */

@ -37,7 +37,8 @@ struct EFCParam {
MissingGlyphSearcher *callback;
std::vector<std::wstring> fonts;
bool Add(const std::wstring_view &font) {
bool Add(const std::wstring_view &font)
{
for (const auto &entry : this->fonts) {
if (font.compare(entry) == 0) return false;
}

@ -1188,7 +1188,7 @@ private:
public:
BuildRailStationWindow(WindowDesc *desc, Window *parent, bool newstation) : PickerWindowBase(desc, parent), filter_editbox(EDITBOX_MAX_SIZE * MAX_CHAR_LENGTH, EDITBOX_MAX_SIZE)
{
this->coverage_height = 2 * FONT_HEIGHT_NORMAL + 3 * WidgetDimensions::scaled.vsep_normal;
this->coverage_height = 2 * FONT_HEIGHT_NORMAL + WidgetDimensions::scaled.vsep_normal;
this->vscroll = nullptr;
_railstation.newstations = newstation;
@ -1393,9 +1393,9 @@ public:
if (this->IsShaded()) return;
/* 'Accepts' and 'Supplies' texts. */
Rect r = this->GetWidget<NWidgetBase>(WID_BRAS_COVERAGE_TEXTS)->GetCurrentRect();
int top = r.top + WidgetDimensions::scaled.vsep_normal;
int top = r.top;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, false) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true) + WidgetDimensions::scaled.vsep_normal;
top = DrawStationCoverageAreaText(r.left, r.right, top, SCT_ALL, rad, true);
/* Resize background if the window is too small.
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
* (This is the case, if making the window bigger moves the mouse into the window.) */
@ -1753,93 +1753,80 @@ static const NWidgetPart _nested_station_builder_widgets[] = {
NWidget(WWT_DEFSIZEBOX, COLOUR_DARK_GREEN),
EndContainer(),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN),
NWidget(NWID_HORIZONTAL), SetPadding(2, 0, 0, 2),
NWidget(NWID_VERTICAL),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_FILTER_CONTAINER),
NWidget(NWID_HORIZONTAL), SetPadding(0, 5, 2, 0),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN), SetFill(0, 1), SetDataTip(STR_LIST_FILTER_TITLE, STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_BRAS_FILTER_EDITBOX), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_SHOW_NEWST_ADDITIONS),
NWidget(NWID_HORIZONTAL), SetPadding(0, 5, 2, 0),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_BRAS_NEWST_LIST), SetMinimalSize(122, 71), SetFill(1, 0),
SetMatrixDataTip(1, 0, STR_STATION_BUILD_STATION_CLASS_TOOLTIP), SetScrollbar(WID_BRAS_NEWST_SCROLL),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_BRAS_NEWST_SCROLL),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0), SetPadding(WidgetDimensions::unscaled.picker),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_picker, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_FILTER_CONTAINER),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
NWidget(WWT_TEXT, COLOUR_DARK_GREEN), SetFill(0, 1), SetDataTip(STR_LIST_FILTER_TITLE, STR_NULL),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_BRAS_FILTER_EDITBOX), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_SHOW_NEWST_ADDITIONS),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_BRAS_NEWST_LIST), SetMinimalSize(122, 71), SetFill(1, 0),
SetMatrixDataTip(1, 0, STR_STATION_BUILD_STATION_CLASS_TOOLTIP), SetScrollbar(WID_BRAS_NEWST_SCROLL),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_BRAS_NEWST_SCROLL),
EndContainer(),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetMinimalSize(144, 11), SetDataTip(STR_STATION_BUILD_ORIENTATION, STR_NULL),
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0), SetPIPRatio(1, 0, 1),
NWidget(WWT_PANEL, COLOUR_GREY, WID_BRAS_PLATFORM_DIR_X), SetMinimalSize(66, 60), SetFill(0, 0), SetDataTip(0x0, STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP), EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY, WID_BRAS_PLATFORM_DIR_Y), SetMinimalSize(66, 60), SetFill(0, 0), SetDataTip(0x0, STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP), EndContainer(),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN, WID_BRAS_SHOW_NEWST_TYPE), SetMinimalSize(144, 11), SetDataTip(STR_JUST_STRING, STR_NULL), SetTextStyle(TC_ORANGE),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetMinimalSize(144, 11), SetDataTip(STR_STATION_BUILD_NUMBER_OF_TRACKS, STR_NULL),
NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_1), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_1, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_2), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_2, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_3), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_3, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_4), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_4, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_5), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_5, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_6), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_6, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_7), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_7, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetMinimalSize(144, 11), SetDataTip(STR_STATION_BUILD_PLATFORM_LENGTH, STR_NULL),
NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_1), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_1, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_2), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_2, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_3), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_3, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_4), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_4, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_5), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_5, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_6), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_6, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_7), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_7, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_DRAG_N_DROP), SetMinimalSize(75, 12), SetDataTip(STR_STATION_BUILD_DRAG_DROP, STR_STATION_BUILD_DRAG_DROP_TOOLTIP),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_HIGHLIGHT_OFF), SetMinimalSize(60, 12),
SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_HIGHLIGHT_ON), SetMinimalSize(60, 12),
SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetMinimalSize(144, 11), SetDataTip(STR_STATION_BUILD_ORIENTATION, STR_NULL), SetPadding(1, 2, 0, 0),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(7, 0), SetFill(1, 0),
NWidget(WWT_PANEL, COLOUR_GREY, WID_BRAS_PLATFORM_DIR_X), SetMinimalSize(66, 60), SetFill(0, 0), SetDataTip(0x0, STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP), EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(2, 0), SetFill(1, 0),
NWidget(WWT_PANEL, COLOUR_GREY, WID_BRAS_PLATFORM_DIR_Y), SetMinimalSize(66, 60), SetFill(0, 0), SetDataTip(0x0, STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP), EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(7, 0), SetFill(1, 0),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN, WID_BRAS_SHOW_NEWST_TYPE), SetMinimalSize(144, 11), SetDataTip(STR_JUST_STRING, STR_NULL), SetTextStyle(TC_ORANGE), SetPadding(1, 2, 4, 2),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetMinimalSize(144, 11), SetDataTip(STR_STATION_BUILD_NUMBER_OF_TRACKS, STR_NULL), SetPadding(0, 2, 0, 2),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_1), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_1, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_2), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_2, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_3), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_3, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_4), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_4, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_5), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_5, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_6), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_6, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_NUM_7), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_7, STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP),
NWidget(NWID_SPACER), SetFill(1, 0),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetMinimalSize(144, 11), SetDataTip(STR_STATION_BUILD_PLATFORM_LENGTH, STR_NULL), SetPadding(2, 2, 0, 2),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_1), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_1, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_2), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_2, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_3), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_3, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_4), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_4, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_5), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_5, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_6), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_6, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_LEN_7), SetMinimalSize(15, 12), SetDataTip(STR_BLACK_7, STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP),
NWidget(NWID_SPACER), SetFill(1, 0),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(2, 0), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_PLATFORM_DRAG_N_DROP), SetMinimalSize(75, 12), SetDataTip(STR_STATION_BUILD_DRAG_DROP, STR_STATION_BUILD_DRAG_DROP_TOOLTIP),
NWidget(NWID_SPACER), SetMinimalSize(2, 0), SetFill(1, 0),
EndContainer(),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetPadding(WidgetDimensions::unscaled.framerect), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetMinimalSize(2, 0), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_HIGHLIGHT_OFF), SetMinimalSize(60, 12),
SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_BRAS_HIGHLIGHT_ON), SetMinimalSize(60, 12),
SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
NWidget(NWID_SPACER), SetMinimalSize(2, 0), SetFill(1, 0),
EndContainer(),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_SHOW_NEWST_MATRIX),
/* We need an additional background for the matrix, as the matrix cannot handle the scrollbar due to not being an NWidgetCore. */
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetScrollbar(WID_BRAS_MATRIX_SCROLL),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_MATRIX, COLOUR_DARK_GREEN, WID_BRAS_MATRIX), SetPIP(0, 2, 0),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BRAS_IMAGE), SetMinimalSize(66, 60),
SetFill(0, 0), SetResize(0, 0), SetDataTip(0x0, STR_STATION_BUILD_STATION_TYPE_TOOLTIP), SetScrollbar(WID_BRAS_MATRIX_SCROLL),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_SHOW_NEWST_MATRIX),
/* We need an additional background for the matrix, as the matrix cannot handle the scrollbar due to not being an NWidgetCore. */
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetScrollbar(WID_BRAS_MATRIX_SCROLL),
NWidget(NWID_MATRIX, COLOUR_DARK_GREEN, WID_BRAS_MATRIX), SetPIP(0, 2, 0),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BRAS_IMAGE), SetMinimalSize(66, 60),
SetFill(0, 0), SetResize(0, 0), SetDataTip(0x0, STR_STATION_BUILD_STATION_TYPE_TOOLTIP), SetScrollbar(WID_BRAS_MATRIX_SCROLL),
EndContainer(),
EndContainer(),
EndContainer(),
NWidget(NWID_VSCROLLBAR, COLOUR_DARK_GREEN, WID_BRAS_MATRIX_SCROLL),
EndContainer(),
EndContainer(),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_BRAS_COVERAGE_TEXTS), SetFill(1, 1), SetResize(1, 0), SetMinimalTextLines(2, WidgetDimensions::unscaled.vsep_normal),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_BRAS_COVERAGE_TEXTS), SetPadding(WidgetDimensions::unscaled.framerect), SetFill(1, 1), SetResize(1, 0),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_SHOW_NEWST_RESIZE),
NWidget(NWID_VERTICAL),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetFill(0, 1), EndContainer(),
NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN),
EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_SHOW_NEWST_RESIZE),
NWidget(NWID_VERTICAL),
NWidget(NWID_VSCROLLBAR, COLOUR_DARK_GREEN, WID_BRAS_MATRIX_SCROLL),
NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN),
EndContainer(),
EndContainer(),
EndContainer(),
@ -2644,7 +2631,7 @@ static const NWidgetPart _nested_build_waypoint_widgets[] = {
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetScrollbar(WID_BRW_SCROLL),
NWidget(NWID_MATRIX, COLOUR_DARK_GREEN, WID_BRW_WAYPOINT_MATRIX), SetPIP(0, 2, 0), SetPadding(3),
NWidget(NWID_MATRIX, COLOUR_DARK_GREEN, WID_BRW_WAYPOINT_MATRIX), SetPIP(0, 2, 0), SetPadding(WidgetDimensions::unscaled.picker),
NWidget(WWT_PANEL, COLOUR_GREY, WID_BRW_WAYPOINT), SetDataTip(0x0, STR_WAYPOINT_GRAPHICS_TOOLTIP), SetScrollbar(WID_BRW_SCROLL), EndContainer(),
EndContainer(),
EndContainer(),

@ -14,10 +14,10 @@
typedef uint32 RailTypeLabel;
static const RailTypeLabel RAILTYPE_RAIL_LABEL = 'RAIL';
static const RailTypeLabel RAILTYPE_ELECTRIC_LABEL = 'ELRL';
static const RailTypeLabel RAILTYPE_MONO_LABEL = 'MONO';
static const RailTypeLabel RAILTYPE_MAGLEV_LABEL = 'MGLV';
static const RailTypeLabel RAILTYPE_LABEL_RAIL = 'RAIL';
static const RailTypeLabel RAILTYPE_LABEL_ELECTRIC = 'ELRL';
static const RailTypeLabel RAILTYPE_LABEL_MONO = 'MONO';
static const RailTypeLabel RAILTYPE_LABEL_MAGLEV = 'MGLV';
/**
* Enumeration for all possible railtypes.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save