Merge branch 'master' into jgrpp
# Conflicts: # .github/workflows/ci-build.yml # src/ai/ai_gui.cpp # src/blitter/32bpp_optimized.cpp # src/blitter/32bpp_simple.cpp # src/blitter/32bpp_sse2.cpp # src/blitter/8bpp_optimized.cpp # src/blitter/8bpp_simple.cpp # src/blitter/null.cpp # src/blitter/null.hpp # src/company_gui.cpp # src/game/game_gui.cpp # src/genworld_gui.cpp # src/gfx.cpp # src/gfx_func.h # src/graph_gui.cpp # src/industry_gui.cpp # src/linkgraph/linkgraphjob.cpp # src/network/network_gui.cpp # src/newgrf_debug_gui.cpp # src/openttd.cpp # src/pathfinder/npf/aystar.h # src/road_gui.cpp # src/saveload/order_sl.cpp # src/saveload/saveload.cpp # src/saveload/saveload.h # src/script/api/script_log.cpp # src/script/api/script_town.cpp # src/script/script_gui.cpp # src/settings.cpp # src/settings_gui.cpp # src/settings_table.cpp # src/settings_type.h # src/smallmap_gui.cpp # src/sortlist_type.h # src/spritecache.cpp # src/spriteloader/grf.cpp # src/spriteloader/grf.hpp # src/spriteloader/spriteloader.hpp # src/station_cmd.cpp # src/station_cmd.h # src/station_gui.cpp # src/strings.cpp # src/toolbar_gui.cpp # src/town_cmd.cpp # src/town_gui.cpp # src/vehicle_gui.cpp # src/vehicle_gui_base.h # src/video/opengl.cpp # src/video/opengl.h # src/widgets/dropdown.cpp # src/widgets/dropdown_type.h # src/window_gui.h
This commit is contained in:
6
.github/workflows/ci-build.yml
vendored
6
.github/workflows/ci-build.yml
vendored
@@ -106,7 +106,8 @@ jobs:
|
||||
- name: GCC - Dedicated
|
||||
compiler: gcc
|
||||
cxxcompiler: g++
|
||||
extra-cmake-parameters: -DOPTION_DEDICATED=ON -DCMAKE_CXX_FLAGS_INIT="-DRANDOM_DEBUG"
|
||||
libraries: grfcodec
|
||||
extra-cmake-parameters: -DOPTION_DEDICATED=ON -DCMAKE_CXX_FLAGS_INIT="-DRANDOM_DEBUG" -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
|
||||
# Compile without SDL / SDL2, as that should compile fine too.
|
||||
|
||||
name: Linux (${{ matrix.name }})
|
||||
@@ -187,6 +188,9 @@ jobs:
|
||||
cd build
|
||||
ctest -j $(nproc) --timeout 120
|
||||
|
||||
# Check no tracked files have been modified
|
||||
git diff --exit-code
|
||||
|
||||
macos:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
@@ -529,8 +529,9 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
add_definitions(-DPOINTER_IS_64BIT)
|
||||
endif()
|
||||
|
||||
include(CreateRegression)
|
||||
create_regression()
|
||||
enable_testing()
|
||||
|
||||
add_subdirectory(regression)
|
||||
|
||||
if(APPLE OR WIN32)
|
||||
find_package(Pandoc)
|
||||
|
@@ -38,7 +38,7 @@ OpenTTD needs the Platform SDK, if it isn't installed already. This can be
|
||||
done during installing Visual Studio, by selecting
|
||||
`Visual C++ MFC for x86 and x64` (and possibly
|
||||
`Visual C++ ATL for x86 and x64` depending on your version). If not, you
|
||||
can get download it as [MS Windows Platform SDK](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk).
|
||||
can get download it as [MS Windows Platform SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk).
|
||||
|
||||
Install the SDK by following the instructions as given.
|
||||
|
||||
|
@@ -112,7 +112,7 @@ Every pull request should have a clear scope, with no unrelated commits.
|
||||
|
||||
Adhering to the following process is the best way to get your work included in the project:
|
||||
|
||||
1. [Fork](https://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes:
|
||||
1. [Fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) the project, clone your fork, and configure the remotes:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/<your-username>/OpenTTD.git openttd
|
||||
@@ -266,7 +266,7 @@ This is inevitable, because it is a main feature of git.
|
||||
If you are concerned about your privacy, we strongly recommend to use "Anonymous <anonymous@openttd.org>" as the git commit author. We might refuse anonymous contributions if malicious intent is suspected.
|
||||
|
||||
Please note that the contributor identity, once given, is used for copyright verification and to provide proof should a malicious commit be made.
|
||||
As such, the [EU GDPR](https://www.eugdpr.org/key-changes.html) "right to be forgotten" does not apply, as this is an overriding legitimate interest.
|
||||
As such, the [EU GDPR](https://gdpr.eu) "right to be forgotten" does not apply, as this is an overriding legitimate interest.
|
||||
|
||||
Please also note that your commit is public and as such will potentially be processed by many third-parties.
|
||||
Git's distributed nature makes it impossible to track where exactly your commit, and thus your personal data, will be stored and be processed.
|
||||
|
@@ -1,16 +1,13 @@
|
||||
# Macro which contains all bits and pieces to create a single grf file based
|
||||
# on NFO and PNG files.
|
||||
#
|
||||
# create_grf_command()
|
||||
# create_grf_command(NFO_SOURCE_FILES nfo_file1 ... PNG_SOURCE_FILES png_file1 ...)
|
||||
#
|
||||
function(create_grf_command)
|
||||
set(EXTRA_PNG_SOURCE_FILES ${ARGV})
|
||||
cmake_parse_arguments(GRF "" "" "NFO_SOURCE_FILES;PNG_SOURCE_FILES" ${ARGN})
|
||||
|
||||
get_filename_component(GRF_SOURCE_FOLDER_NAME "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
|
||||
get_filename_component(GRF_BINARY_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../${GRF_SOURCE_FOLDER_NAME}.grf ABSOLUTE)
|
||||
file(GLOB_RECURSE GRF_PNG_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.png)
|
||||
file(GLOB_RECURSE GRF_NFO_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.nfo)
|
||||
set(GRF_PNG_SOURCE_FILES ${GRF_PNG_SOURCE_FILES} ${EXTRA_PNG_SOURCE_FILES})
|
||||
|
||||
# Copy over all the PNG files to the correct folder
|
||||
foreach(GRF_PNG_SOURCE_FILE IN LISTS GRF_PNG_SOURCE_FILES)
|
||||
|
@@ -3,20 +3,15 @@
|
||||
# 'ctest'. The first is prefered, as it is more verbose, and takes care of
|
||||
# dependencies correctly.
|
||||
#
|
||||
# create_regression()
|
||||
# create_regression(file1 ...)
|
||||
#
|
||||
macro(create_regression)
|
||||
# Find all the files in the regression folder; they need to be copied to the
|
||||
# build folder before we can run the regression
|
||||
file(GLOB_RECURSE REGRESSION_SOURCE_FILES ${CMAKE_SOURCE_DIR}/regression/*)
|
||||
set(REGRESSION_SOURCE_FILES ${ARGN})
|
||||
|
||||
foreach(REGRESSION_SOURCE_FILE IN LISTS REGRESSION_SOURCE_FILES)
|
||||
string(REPLACE "${CMAKE_SOURCE_DIR}/regression/" "" REGRESSION_SOURCE_FILE_NAME "${REGRESSION_SOURCE_FILE}")
|
||||
string(CONCAT REGRESSION_BINARY_FILE "${CMAKE_BINARY_DIR}/ai/" "${REGRESSION_SOURCE_FILE_NAME}")
|
||||
|
||||
if("${REGRESSION_SOURCE_FILE_NAME}" STREQUAL "regression.cfg")
|
||||
continue()
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ${REGRESSION_BINARY_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${REGRESSION_SOURCE_FILE}
|
||||
@@ -28,34 +23,15 @@ macro(create_regression)
|
||||
list(APPEND REGRESSION_BINARY_FILES ${REGRESSION_BINARY_FILE})
|
||||
endforeach()
|
||||
|
||||
# Copy the regression configuration in a special folder, so all autogenerated
|
||||
# folders end up in the same place after running regression.
|
||||
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/regression/regression.cfg
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${CMAKE_SOURCE_DIR}/regression/regression.cfg
|
||||
${CMAKE_BINARY_DIR}/regression/regression.cfg
|
||||
MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/regression/regression.cfg
|
||||
COMMENT "Copying ${REGRESSION_SOURCE_FILE_NAME} regression file"
|
||||
)
|
||||
list(APPEND REGRESSION_BINARY_FILES ${CMAKE_BINARY_DIR}/regression/regression.cfg)
|
||||
get_filename_component(REGRESSION_TEST_NAME "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
|
||||
|
||||
# Create a new target which copies all regression files
|
||||
add_custom_target(regression_files
|
||||
ALL # this is needed because 'make test' doesn't resolve dependencies, and otherwise this is never executed
|
||||
# Create a new target which copies regression files
|
||||
add_custom_target(regression_${REGRESSION_TEST_NAME}_files
|
||||
DEPENDS
|
||||
${REGRESSION_BINARY_FILES}
|
||||
)
|
||||
|
||||
enable_testing()
|
||||
|
||||
# Find all the tests we have, and create a target for them
|
||||
file(GLOB REGRESSION_TESTS ${CMAKE_SOURCE_DIR}/regression/*)
|
||||
foreach(REGRESSION_TEST IN LISTS REGRESSION_TESTS)
|
||||
get_filename_component(REGRESSION_TEST_NAME "${REGRESSION_TEST}" NAME)
|
||||
|
||||
if("${REGRESSION_TEST_NAME}" STREQUAL "regression.cfg")
|
||||
continue()
|
||||
endif()
|
||||
add_dependencies(regression_files regression_${REGRESSION_TEST_NAME}_files)
|
||||
|
||||
add_custom_target(regression_${REGRESSION_TEST_NAME}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
@@ -63,7 +39,7 @@ macro(create_regression)
|
||||
-DEDITBIN_EXECUTABLE=${EDITBIN_EXECUTABLE}
|
||||
-DREGRESSION_TEST=${REGRESSION_TEST_NAME}
|
||||
-P "${CMAKE_SOURCE_DIR}/cmake/scripts/Regression.cmake"
|
||||
DEPENDS openttd regression_files
|
||||
DEPENDS openttd regression_${REGRESSION_TEST_NAME}_files
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMENT "Running regression test ${REGRESSION_TEST_NAME}"
|
||||
)
|
||||
@@ -75,12 +51,8 @@ macro(create_regression)
|
||||
-DEDITBIN_EXECUTABLE=${EDITBIN_EXECUTABLE}
|
||||
-DREGRESSION_TEST=${REGRESSION_TEST_NAME}
|
||||
-P "${CMAKE_SOURCE_DIR}/cmake/scripts/Regression.cmake"
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
list(APPEND REGRESSION_TARGETS regression_${REGRESSION_TEST_NAME})
|
||||
endforeach()
|
||||
|
||||
# Create a new target which runs the regression
|
||||
add_custom_target(regression
|
||||
DEPENDS ${REGRESSION_TARGETS})
|
||||
add_dependencies(regression regression_${REGRESSION_TEST_NAME})
|
||||
endmacro()
|
||||
|
@@ -21,6 +21,9 @@ if(NOT GRF_BINARY_FILE)
|
||||
message(FATAL_ERROR "Script needs GRF_BINARY_FILE defined")
|
||||
endif()
|
||||
|
||||
# Remove the existing output so failures never go unnoticed
|
||||
file(REMOVE ${GRF_BINARY_FILE} ${GRF_BINARY_FILE}.hash)
|
||||
|
||||
get_filename_component(GRF_SOURCE_FOLDER_NAME "${GRF_SOURCE_FOLDER}" NAME)
|
||||
|
||||
file(WRITE sprites/${GRF_SOURCE_FOLDER_NAME}.nfo "")
|
||||
|
@@ -5,5 +5,47 @@
|
||||
# working on it / have the tools installed.
|
||||
if(GRFCODEC_FOUND)
|
||||
include(CreateGrfCommand)
|
||||
create_grf_command()
|
||||
create_grf_command(
|
||||
NFO_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/airports.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/airport_preview.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/aqueduct.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/autorail.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/canals.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/chars.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/elrails.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/foundations.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/mono.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/oneway.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openttd.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openttdgui.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/palette.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/roadstops.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/signals.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/sloped_tracks.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tramtracks.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tunnel_portals.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/2ccmap.nfo
|
||||
PNG_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/airports.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/airport_preview.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/aqueduct.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/autorail.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/canals.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/canal_locks.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/chars.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/elrails.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/foundations.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/mono.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/oneway.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openttdgui.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openttdgui_build_tram.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openttdgui_convert_road.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openttdgui_convert_tram.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/openttdgui_group_livery.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/roadstops.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/signals.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/sloped_tracks.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tramtracks.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tramtracks_bare_depot.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tunnel_portals.png
|
||||
)
|
||||
endif()
|
||||
|
@@ -6,6 +6,29 @@
|
||||
if(GRFCODEC_FOUND)
|
||||
include(CreateGrfCommand)
|
||||
create_grf_command(
|
||||
NFO_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/rivers/arctic.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/rapids.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/temperate.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/toyland.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/tropic.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/airports_orig_extra.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/canals_extra.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/chars_orig_extra.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/fix_graphics.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/fix_gui_icons.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/orig_extra.nfo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/shore.nfo
|
||||
PNG_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/rivers/arctic_brown.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/arctic_snowy.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/rapids.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/rapids_shading.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/temperate.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/toyland.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/tropic_desert.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rivers/tropic_forest.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/fix_graphics.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/fix_gui_icons.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/shore.png
|
||||
# We share some files with 'openttd' grf
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/airports.png
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/canals.png
|
||||
|
24
regression/CMakeLists.txt
Normal file
24
regression/CMakeLists.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
# Copy the regression configuration in a special folder, so all autogenerated
|
||||
# folders end up in the same place after running regression.
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/regression.cfg
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/regression.cfg
|
||||
${CMAKE_CURRENT_BINARY_DIR}/regression.cfg
|
||||
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/regression.cfg
|
||||
COMMENT "Copying regression.cfg regression file"
|
||||
)
|
||||
|
||||
# Create a new target which copies all regression files
|
||||
# Subdirectory targets will add themselves as dependencies
|
||||
add_custom_target(regression_files
|
||||
ALL # this is needed because 'make test' doesn't resolve dependencies, and otherwise this is never executed
|
||||
DEPENDS
|
||||
${CMAKE_BINARY_DIR}/regression/regression.cfg
|
||||
)
|
||||
|
||||
# Create a new target which runs the regression
|
||||
# Subdirectory targets will add themselves as dependencies
|
||||
add_custom_target(regression)
|
||||
|
||||
add_subdirectory(regression)
|
||||
add_subdirectory(stationlist)
|
8
regression/regression/CMakeLists.txt
Normal file
8
regression/regression/CMakeLists.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
include(CreateRegression)
|
||||
create_regression(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/info.nut
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/main.nut
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/require.nut
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/result.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test.sav
|
||||
)
|
7
regression/stationlist/CMakeLists.txt
Normal file
7
regression/stationlist/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
include(CreateRegression)
|
||||
create_regression(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/info.nut
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/main.nut
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/result.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test.sav
|
||||
)
|
@@ -64,7 +64,7 @@
|
||||
|
||||
cur_company.Restore();
|
||||
|
||||
InvalidateWindowData(WC_SCRIPT_DEBUG, 0, -1);
|
||||
InvalidateWindowClassesData(WC_SCRIPT_DEBUG, -1);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
|
||||
cur_company.Restore();
|
||||
|
||||
InvalidateWindowData(WC_SCRIPT_DEBUG, 0, -1);
|
||||
InvalidateWindowClassesData(WC_SCRIPT_DEBUG, -1);
|
||||
CloseWindowById(WC_SCRIPT_SETTINGS, company);
|
||||
}
|
||||
|
||||
|
@@ -53,24 +53,28 @@ static const NWidgetPart _nested_ai_config_widgets[] = {
|
||||
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(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_AI, STR_NULL),
|
||||
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_AI, STR_NULL), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 0),
|
||||
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(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONFIGURE), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_CONFIGURE, STR_AI_CONFIG_CONFIGURE_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CHANGE), SetFill(1, 1), SetDataTip(STR_AI_CONFIG_CHANGE_AI, STR_AI_CONFIG_CHANGE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONTENT_DOWNLOAD), SetFill(1, 1), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
|
||||
EndContainer(),
|
||||
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),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_OPEN_URL), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_CONTENT_OPEN_URL, STR_CONTENT_OPEN_URL_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_README), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_README, STR_TEXTFILE_VIEW_README_TOOLTIP),
|
||||
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),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_CHANGELOG), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_TEXTFILE + TFT_LICENSE), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_TEXTFILE_VIEW_LICENCE_TOOLTIP),
|
||||
EndContainer(),
|
||||
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(),
|
||||
EndContainer(),
|
||||
@@ -246,6 +250,13 @@ struct AIConfigWindow : public Window {
|
||||
}
|
||||
break;
|
||||
|
||||
case WID_AIC_OPEN_URL: {
|
||||
const AIConfig *config = AIConfig::GetConfig(this->selected_slot);
|
||||
if (this->selected_slot == INVALID_COMPANY || config == nullptr || config->GetInfo() == nullptr) return;
|
||||
OpenBrowser(config->GetInfo()->GetURL());
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_AIC_CHANGE: // choose other AI
|
||||
ShowScriptListWindow((CompanyID)this->selected_slot, _ctrl_pressed);
|
||||
break;
|
||||
@@ -254,10 +265,6 @@ struct AIConfigWindow : public Window {
|
||||
ShowScriptSettingsWindow((CompanyID)this->selected_slot);
|
||||
break;
|
||||
|
||||
case WID_AIC_CLOSE:
|
||||
this->Close();
|
||||
break;
|
||||
|
||||
case WID_AIC_CONTENT_DOWNLOAD:
|
||||
if (!_network_available) {
|
||||
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
|
||||
@@ -281,17 +288,20 @@ struct AIConfigWindow : public Window {
|
||||
|
||||
if (!gui_scope) return;
|
||||
|
||||
AIConfig *config = AIConfig::GetConfig(this->selected_slot);
|
||||
|
||||
this->SetWidgetDisabledState(WID_AIC_DECREASE_NUMBER, GetGameSettings().difficulty.max_no_competitors == 0);
|
||||
this->SetWidgetDisabledState(WID_AIC_INCREASE_NUMBER, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
|
||||
this->SetWidgetDisabledState(WID_AIC_DECREASE_INTERVAL, GetGameSettings().difficulty.competitors_interval == MIN_COMPETITORS_INTERVAL);
|
||||
this->SetWidgetDisabledState(WID_AIC_INCREASE_INTERVAL, GetGameSettings().difficulty.competitors_interval == MAX_COMPETITORS_INTERVAL);
|
||||
this->SetWidgetDisabledState(WID_AIC_CHANGE, this->selected_slot == INVALID_COMPANY);
|
||||
this->SetWidgetDisabledState(WID_AIC_CONFIGURE, this->selected_slot == INVALID_COMPANY || AIConfig::GetConfig(this->selected_slot)->GetConfigList()->empty());
|
||||
this->SetWidgetDisabledState(WID_AIC_CONFIGURE, this->selected_slot == INVALID_COMPANY || config->GetConfigList()->empty());
|
||||
this->SetWidgetDisabledState(WID_AIC_MOVE_UP, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot - 1)));
|
||||
this->SetWidgetDisabledState(WID_AIC_MOVE_DOWN, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot + 1)));
|
||||
|
||||
this->SetWidgetDisabledState(WID_AIC_OPEN_URL, this->selected_slot == INVALID_COMPANY || config->GetInfo() == nullptr || config->GetInfo()->GetURL().empty());
|
||||
for (TextfileType tft = TFT_CONTENT_BEGIN; tft < TFT_CONTENT_END; tft++) {
|
||||
this->SetWidgetDisabledState(WID_AIC_TEXTFILE + tft, this->selected_slot == INVALID_COMPANY || (AIConfig::GetConfig(this->selected_slot)->GetTextfile(tft, this->selected_slot) == nullptr));
|
||||
this->SetWidgetDisabledState(WID_AIC_TEXTFILE + tft, this->selected_slot == INVALID_COMPANY || (config->GetTextfile(tft, this->selected_slot) == nullptr));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@@ -59,6 +59,7 @@ struct BaseSet {
|
||||
static const char * const *file_names;
|
||||
|
||||
std::string name; ///< The name of the base set
|
||||
std::string url; ///< URL for information about the base set
|
||||
TranslatedStrings description; ///< Description of the base set
|
||||
uint32 shortname; ///< Four letter short variant of the name
|
||||
uint32 version; ///< The version of this base set
|
||||
|
@@ -54,6 +54,9 @@ bool BaseSet<T, Tnum_files, Tsearch_in_tars>::FillSetDetails(const IniFile &ini,
|
||||
fetch_metadata("description");
|
||||
this->description[std::string{}] = *item->value;
|
||||
|
||||
item = metadata->GetItem("url");
|
||||
if (item != nullptr) this->url = *item->value;
|
||||
|
||||
/* Add the translations of the descriptions too. */
|
||||
for (const IniItem &titem : metadata->items) {
|
||||
if (titem.name.compare(0, 12, "description.") != 0) continue;
|
||||
|
@@ -45,7 +45,7 @@ public:
|
||||
template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last, bool translucent, bool animated>
|
||||
void Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom);
|
||||
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override;
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override {
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override {
|
||||
return Blitter_32bppSSE_Base::Encode(sprite, allocator);
|
||||
}
|
||||
const char *GetName() override { return "32bpp-sse4-anim"; }
|
||||
|
@@ -282,7 +282,7 @@ void Blitter_32bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode,
|
||||
this->Draw<false>(bp, mode, zoom);
|
||||
}
|
||||
|
||||
template <bool Tpal_to_rgb> Sprite *Blitter_32bppOptimized::EncodeInternal(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
template <bool Tpal_to_rgb> Sprite *Blitter_32bppOptimized::EncodeInternal(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
/* streams of pixels (a, r, g, b channels)
|
||||
*
|
||||
@@ -304,7 +304,7 @@ template <bool Tpal_to_rgb> Sprite *Blitter_32bppOptimized::EncodeInternal(const
|
||||
ZoomLevel zoom_max;
|
||||
uint8 missing_zoom_levels = 0;
|
||||
|
||||
if (sprite->type == SpriteType::Font) {
|
||||
if (sprite[ZOOM_LVL_NORMAL].type == SpriteType::Font) {
|
||||
zoom_min = ZOOM_LVL_NORMAL;
|
||||
zoom_max = ZOOM_LVL_NORMAL;
|
||||
} else {
|
||||
@@ -465,10 +465,10 @@ template <bool Tpal_to_rgb> Sprite *Blitter_32bppOptimized::EncodeInternal(const
|
||||
missing_zoom_levels = UINT8_MAX;
|
||||
}
|
||||
|
||||
dest_sprite->height = sprite->height;
|
||||
dest_sprite->width = sprite->width;
|
||||
dest_sprite->x_offs = sprite->x_offs;
|
||||
dest_sprite->y_offs = sprite->y_offs;
|
||||
dest_sprite->height = sprite[ZOOM_LVL_NORMAL].height;
|
||||
dest_sprite->width = sprite[ZOOM_LVL_NORMAL].width;
|
||||
dest_sprite->x_offs = sprite[ZOOM_LVL_NORMAL].x_offs;
|
||||
dest_sprite->y_offs = sprite[ZOOM_LVL_NORMAL].y_offs;
|
||||
dest_sprite->next = nullptr;
|
||||
dest_sprite->missing_zoom_levels = missing_zoom_levels;
|
||||
|
||||
@@ -494,10 +494,10 @@ template <bool Tpal_to_rgb> Sprite *Blitter_32bppOptimized::EncodeInternal(const
|
||||
return dest_sprite;
|
||||
}
|
||||
|
||||
template Sprite *Blitter_32bppOptimized::EncodeInternal<true>(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
|
||||
template Sprite *Blitter_32bppOptimized::EncodeInternal<false>(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
|
||||
template Sprite *Blitter_32bppOptimized::EncodeInternal<true>(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator);
|
||||
template Sprite *Blitter_32bppOptimized::EncodeInternal<false>(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator);
|
||||
|
||||
Sprite *Blitter_32bppOptimized::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
Sprite *Blitter_32bppOptimized::Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
return this->EncodeInternal<true>(sprite, allocator);
|
||||
}
|
||||
|
@@ -28,7 +28,7 @@ public:
|
||||
}
|
||||
|
||||
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override;
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override;
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override;
|
||||
|
||||
const char *GetName() override { return "32bpp-optimized"; }
|
||||
|
||||
@@ -36,7 +36,7 @@ public:
|
||||
|
||||
protected:
|
||||
template <bool Tpal_to_rgb> void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
|
||||
template <bool Tpal_to_rgb> Sprite *EncodeInternal(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
|
||||
template <bool Tpal_to_rgb> Sprite *EncodeInternal(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator);
|
||||
};
|
||||
|
||||
/** Factory for the optimised 32 bpp blitter (without palette animation). */
|
||||
|
@@ -128,22 +128,22 @@ void Blitter_32bppSimple::DrawColourMappingRect(void *dst, int width, int height
|
||||
DEBUG(misc, 0, "32bpp blitter doesn't know how to draw this colour table ('%d')", pal);
|
||||
}
|
||||
|
||||
Sprite *Blitter_32bppSimple::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
Sprite *Blitter_32bppSimple::Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
Blitter_32bppSimple::Pixel *dst;
|
||||
Sprite *dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + (size_t)sprite->height * (size_t)sprite->width * sizeof(*dst));
|
||||
Sprite *dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + (size_t)sprite[ZOOM_LVL_NORMAL].height * (size_t)sprite[ZOOM_LVL_NORMAL].width * sizeof(*dst));
|
||||
|
||||
dest_sprite->height = sprite->height;
|
||||
dest_sprite->width = sprite->width;
|
||||
dest_sprite->x_offs = sprite->x_offs;
|
||||
dest_sprite->y_offs = sprite->y_offs;
|
||||
dest_sprite->height = sprite[ZOOM_LVL_NORMAL].height;
|
||||
dest_sprite->width = sprite[ZOOM_LVL_NORMAL].width;
|
||||
dest_sprite->x_offs = sprite[ZOOM_LVL_NORMAL].x_offs;
|
||||
dest_sprite->y_offs = sprite[ZOOM_LVL_NORMAL].y_offs;
|
||||
dest_sprite->next = nullptr;
|
||||
dest_sprite->missing_zoom_levels = 0;
|
||||
|
||||
dst = (Blitter_32bppSimple::Pixel *)dest_sprite->data;
|
||||
SpriteLoader::CommonPixel *src = (SpriteLoader::CommonPixel *)sprite->data;
|
||||
SpriteLoader::CommonPixel *src = (SpriteLoader::CommonPixel *)sprite[ZOOM_LVL_NORMAL].data;
|
||||
|
||||
for (int i = 0; i < sprite->height * sprite->width; i++) {
|
||||
for (int i = 0; i < sprite[ZOOM_LVL_NORMAL].height * sprite[ZOOM_LVL_NORMAL].width; i++) {
|
||||
if (src->m == 0) {
|
||||
dst[i].r = src->r;
|
||||
dst[i].g = src->g;
|
||||
|
@@ -26,7 +26,7 @@ class Blitter_32bppSimple : public Blitter_32bppBase {
|
||||
public:
|
||||
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override;
|
||||
void DrawColourMappingRect(void *dst, int width, int height, PaletteID pal) override;
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override;
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override;
|
||||
|
||||
const char *GetName() override { return "32bpp-simple"; }
|
||||
};
|
||||
|
@@ -20,7 +20,7 @@
|
||||
/** Instantiation of the SSE2 32bpp blitter factory. */
|
||||
static FBlitter_32bppSSE2 iFBlitter_32bppSSE2;
|
||||
|
||||
Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
/* First uint32 of a line = the number of transparent pixels from the left.
|
||||
* Second uint32 of a line = the number of transparent pixels from the right.
|
||||
@@ -29,7 +29,7 @@ Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::Sprite *sprite, Alloca
|
||||
ZoomLevel zoom_min = ZOOM_LVL_NORMAL;
|
||||
ZoomLevel zoom_max = ZOOM_LVL_NORMAL;
|
||||
uint8 missing_zoom_levels = 0;
|
||||
if (sprite->type != SpriteType::Font) {
|
||||
if (sprite[ZOOM_LVL_NORMAL].type != SpriteType::Font) {
|
||||
zoom_min = _settings_client.gui.zoom_min;
|
||||
zoom_max = (ZoomLevel) std::min(_settings_client.gui.zoom_max, ZOOM_LVL_DRAW_SPR);
|
||||
if (zoom_max == zoom_min) zoom_max = ZOOM_LVL_DRAW_SPR;
|
||||
@@ -62,10 +62,10 @@ Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::Sprite *sprite, Alloca
|
||||
}
|
||||
|
||||
Sprite *dst_sprite = (Sprite *) allocator(sizeof(Sprite) + sizeof(SpriteData) + all_sprites_size);
|
||||
dst_sprite->height = sprite->height;
|
||||
dst_sprite->width = sprite->width;
|
||||
dst_sprite->x_offs = sprite->x_offs;
|
||||
dst_sprite->y_offs = sprite->y_offs;
|
||||
dst_sprite->height = sprite[ZOOM_LVL_NORMAL].height;
|
||||
dst_sprite->width = sprite[ZOOM_LVL_NORMAL].width;
|
||||
dst_sprite->x_offs = sprite[ZOOM_LVL_NORMAL].x_offs;
|
||||
dst_sprite->y_offs = sprite[ZOOM_LVL_NORMAL].y_offs;
|
||||
dst_sprite->next = nullptr;
|
||||
dst_sprite->missing_zoom_levels = missing_zoom_levels;
|
||||
memcpy(dst_sprite->data, &sd, sizeof(SpriteData));
|
||||
|
@@ -64,7 +64,7 @@ public:
|
||||
byte data[]; ///< Data, all zoomlevels.
|
||||
};
|
||||
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator);
|
||||
};
|
||||
|
||||
/** The SSE2 32 bpp blitter (without palette animation). */
|
||||
@@ -79,7 +79,7 @@ public:
|
||||
template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last, bool translucent>
|
||||
void Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom);
|
||||
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override {
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override {
|
||||
return Blitter_32bppSSE_Base::Encode(sprite, allocator);
|
||||
}
|
||||
|
||||
|
@@ -445,7 +445,7 @@ void Blitter_40bppAnim::DrawColourMappingRect(void *dst, int width, int height,
|
||||
}
|
||||
}
|
||||
|
||||
Sprite *Blitter_40bppAnim::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
Sprite *Blitter_40bppAnim::Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
return this->EncodeInternal<false>(sprite, allocator);
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@ public:
|
||||
void ScrollBuffer(void *video, int left, int top, int width, int height, int scroll_x, int scroll_y) override;
|
||||
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override;
|
||||
void DrawColourMappingRect(void *dst, int width, int height, PaletteID pal) override;
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override;
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override;
|
||||
size_t BufferSize(uint width, uint height) override;
|
||||
Blitter::PaletteAnimation UsePaletteAnimation() override;
|
||||
bool NeedsAnimationBuffer() override;
|
||||
|
@@ -120,7 +120,7 @@ void Blitter_8bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Z
|
||||
}
|
||||
}
|
||||
|
||||
Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
/* Make memory for all zoom-levels */
|
||||
uint memory = sizeof(SpriteData);
|
||||
@@ -128,7 +128,7 @@ Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::Sprite *sprite, Alloca
|
||||
ZoomLevel zoom_min;
|
||||
ZoomLevel zoom_max;
|
||||
|
||||
if (sprite->type == SpriteType::Font) {
|
||||
if (sprite[ZOOM_LVL_NORMAL].type == SpriteType::Font) {
|
||||
zoom_min = ZOOM_LVL_NORMAL;
|
||||
zoom_max = ZOOM_LVL_NORMAL;
|
||||
} else {
|
||||
@@ -221,10 +221,10 @@ Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::Sprite *sprite, Alloca
|
||||
/* Allocate the exact amount of memory we need */
|
||||
Sprite *dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + size);
|
||||
|
||||
dest_sprite->height = sprite->height;
|
||||
dest_sprite->width = sprite->width;
|
||||
dest_sprite->x_offs = sprite->x_offs;
|
||||
dest_sprite->y_offs = sprite->y_offs;
|
||||
dest_sprite->height = sprite[ZOOM_LVL_NORMAL].height;
|
||||
dest_sprite->width = sprite[ZOOM_LVL_NORMAL].width;
|
||||
dest_sprite->x_offs = sprite[ZOOM_LVL_NORMAL].x_offs;
|
||||
dest_sprite->y_offs = sprite[ZOOM_LVL_NORMAL].y_offs;
|
||||
dest_sprite->next = nullptr;
|
||||
dest_sprite->missing_zoom_levels = 0;
|
||||
memcpy(dest_sprite->data, temp_dst, size);
|
||||
|
@@ -23,7 +23,7 @@ public:
|
||||
};
|
||||
|
||||
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override;
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override;
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override;
|
||||
|
||||
const char *GetName() override { return "8bpp-optimized"; }
|
||||
};
|
||||
|
@@ -61,21 +61,21 @@ void Blitter_8bppSimple::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Zoom
|
||||
}
|
||||
}
|
||||
|
||||
Sprite *Blitter_8bppSimple::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
Sprite *Blitter_8bppSimple::Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
Sprite *dest_sprite;
|
||||
dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + (size_t)sprite->height * (size_t)sprite->width);
|
||||
dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + (size_t)sprite[ZOOM_LVL_NORMAL].height * (size_t)sprite[ZOOM_LVL_NORMAL].width);
|
||||
|
||||
dest_sprite->height = sprite->height;
|
||||
dest_sprite->width = sprite->width;
|
||||
dest_sprite->x_offs = sprite->x_offs;
|
||||
dest_sprite->y_offs = sprite->y_offs;
|
||||
dest_sprite->height = sprite[ZOOM_LVL_NORMAL].height;
|
||||
dest_sprite->width = sprite[ZOOM_LVL_NORMAL].width;
|
||||
dest_sprite->x_offs = sprite[ZOOM_LVL_NORMAL].x_offs;
|
||||
dest_sprite->y_offs = sprite[ZOOM_LVL_NORMAL].y_offs;
|
||||
dest_sprite->next = nullptr;
|
||||
dest_sprite->missing_zoom_levels = 0;
|
||||
|
||||
/* Copy over only the 'remap' channel, as that is what we care about in 8bpp */
|
||||
for (int i = 0; i < sprite->height * sprite->width; i++) {
|
||||
dest_sprite->data[i] = sprite->data[i].m;
|
||||
for (int i = 0; i < sprite[ZOOM_LVL_NORMAL].height * sprite[ZOOM_LVL_NORMAL].width; i++) {
|
||||
dest_sprite->data[i] = sprite[ZOOM_LVL_NORMAL].data[i].m;
|
||||
}
|
||||
|
||||
return dest_sprite;
|
||||
|
@@ -17,7 +17,7 @@
|
||||
class Blitter_8bppSimple FINAL : public Blitter_8bppBase {
|
||||
public:
|
||||
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override;
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override;
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override;
|
||||
|
||||
const char *GetName() override { return "8bpp-simple"; }
|
||||
};
|
||||
|
@@ -15,15 +15,15 @@
|
||||
/** Instantiation of the null blitter factory. */
|
||||
static FBlitter_Null iFBlitter_Null;
|
||||
|
||||
Sprite *Blitter_Null::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
|
||||
Sprite *Blitter_Null::Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator)
|
||||
{
|
||||
Sprite *dest_sprite;
|
||||
dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite));
|
||||
|
||||
dest_sprite->height = sprite->height;
|
||||
dest_sprite->width = sprite->width;
|
||||
dest_sprite->x_offs = sprite->x_offs;
|
||||
dest_sprite->y_offs = sprite->y_offs;
|
||||
dest_sprite->height = sprite[ZOOM_LVL_NORMAL].height;
|
||||
dest_sprite->width = sprite[ZOOM_LVL_NORMAL].width;
|
||||
dest_sprite->x_offs = sprite[ZOOM_LVL_NORMAL].x_offs;
|
||||
dest_sprite->y_offs = sprite[ZOOM_LVL_NORMAL].y_offs;
|
||||
dest_sprite->next = nullptr;
|
||||
dest_sprite->missing_zoom_levels = 0;
|
||||
|
||||
|
@@ -23,7 +23,7 @@ public:
|
||||
|
||||
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override {};
|
||||
void DrawColourMappingRect(void *dst, int width, int height, PaletteID pal) override {};
|
||||
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override;
|
||||
Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator) override;
|
||||
void *MoveTo(void *video, int x, int y) override { return nullptr; };
|
||||
void SetPixel(void *video, int x, int y, uint8 colour) override {};
|
||||
void SetPixel32(void *video, int x, int y, uint8 colour, uint32 colour32) override {};
|
||||
|
@@ -249,7 +249,7 @@ public:
|
||||
for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < (int)this->bridges.size(); i++) {
|
||||
const BuildBridgeData &bridge_data = this->bridges.at(i);
|
||||
const BridgeSpec *b = bridge_data.spec;
|
||||
DrawSpriteIgnorePadding(b->sprite, b->pal, tr.WithWidth(this->icon_width, rtl), false, SA_HOR_CENTER | SA_BOTTOM);
|
||||
DrawSpriteIgnorePadding(b->sprite, b->pal, tr.WithWidth(this->icon_width, rtl), SA_HOR_CENTER | SA_BOTTOM);
|
||||
DrawStringMultiLine(tr.Indent(this->icon_width + WidgetDimensions::scaled.hsep_normal, rtl), GetBridgeSelectString(bridge_data));
|
||||
tr = tr.Translate(0, this->resize.step_height);
|
||||
}
|
||||
|
@@ -1293,7 +1293,7 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li
|
||||
}
|
||||
if (has_variants) {
|
||||
Rect fr = ir.Indent(indent, rtl).WithWidth(circle_width, rtl);
|
||||
DrawSpriteIgnorePadding(is_folded ? SPR_CIRCLE_FOLDED : SPR_CIRCLE_UNFOLDED, PAL_NONE, {fr.left, y, fr.right, y + ir.Height() - 1}, false, SA_CENTER);
|
||||
DrawSpriteIgnorePadding(is_folded ? SPR_CIRCLE_FOLDED : SPR_CIRCLE_UNFOLDED, PAL_NONE, {fr.left, y, fr.right, y + ir.Height() - 1}, SA_CENTER);
|
||||
}
|
||||
if (indent > 0) {
|
||||
/* Draw tree lines */
|
||||
@@ -1851,8 +1851,9 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
|
||||
}
|
||||
|
||||
/* Add cargos */
|
||||
Dimension d = GetLargestCargoIconSize();
|
||||
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
|
||||
list.push_back(std::make_unique<DropDownListStringItem>(cs->name, cs->Index(), false));
|
||||
list.push_back(std::make_unique<DropDownListIconItem>(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false));
|
||||
}
|
||||
|
||||
return list;
|
||||
|
@@ -9,6 +9,8 @@
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "cargotype.h"
|
||||
#include "core/geometry_func.hpp"
|
||||
#include "gfx_func.h"
|
||||
#include "newgrf_cargo.h"
|
||||
#include "string_func.h"
|
||||
#include "strings_func.h"
|
||||
@@ -70,6 +72,19 @@ void SetupCargoForClimate(LandscapeID l)
|
||||
std::fill(insert, std::end(CargoSpec::array), CargoSpec{});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get dimensions of largest cargo icon.
|
||||
* @return Dimensions of largest cargo icon.
|
||||
*/
|
||||
Dimension GetLargestCargoIconSize()
|
||||
{
|
||||
Dimension size = {0, 0};
|
||||
for (const CargoSpec *cs : _sorted_cargo_specs) {
|
||||
size = maxdim(size, GetSpriteSize(cs->GetCargoIcon()));
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cargo ID of a default cargo, if present.
|
||||
* @param l Landscape
|
||||
@@ -179,7 +194,7 @@ static bool CargoSpecClassSorter(const CargoSpec * const &a, const CargoSpec * c
|
||||
void InitializeSortedCargoSpecs()
|
||||
{
|
||||
_sorted_cargo_specs.clear();
|
||||
/* Add each cargo spec to the list. */
|
||||
/* Add each cargo spec to the list, and determine the largest cargo icon size. */
|
||||
for (const CargoSpec *cargo : CargoSpec::Iterate()) {
|
||||
_sorted_cargo_specs.push_back(cargo);
|
||||
}
|
||||
|
@@ -195,6 +195,7 @@ void SetupCargoForClimate(LandscapeID l);
|
||||
CargoID GetCargoIDByLabel(CargoLabel cl);
|
||||
CargoID GetCargoIDByBitnum(uint8 bitnum);
|
||||
CargoID GetDefaultCargoID(LandscapeID l, CargoType ct);
|
||||
Dimension GetLargestCargoIconSize();
|
||||
|
||||
void InitializeSortedCargoSpecs();
|
||||
extern std::array<uint8_t, NUM_CARGO> _sorted_cargo_types;
|
||||
|
@@ -621,36 +621,15 @@ static const LiveryClass _livery_class[LS_END] = {
|
||||
LC_ROAD, LC_ROAD,
|
||||
};
|
||||
|
||||
class DropDownListColourItem : public DropDownListStringItem {
|
||||
/**
|
||||
* Colour selection list item, with icon and string components.
|
||||
* @tparam TSprite Recolourable sprite to draw as icon.
|
||||
*/
|
||||
template <SpriteID TSprite = SPR_SQUARE>
|
||||
class DropDownListColourItem : public DropDownIcon<DropDownString<DropDownListItem>> {
|
||||
public:
|
||||
DropDownListColourItem(int result, bool masked) : DropDownListStringItem(result >= COLOUR_END ? STR_COLOUR_DEFAULT : _colour_dropdown[result], result, masked) {}
|
||||
|
||||
uint Width() const override
|
||||
DropDownListColourItem(int colour, bool masked) : DropDownIcon<DropDownString<DropDownListItem>>(TSprite, PALETTE_RECOLOUR_START + (colour % COLOUR_END), colour < COLOUR_END ? _colour_dropdown[colour] : STR_COLOUR_DEFAULT, colour, masked)
|
||||
{
|
||||
return ScaleGUITrad(28) + WidgetDimensions::scaled.hsep_normal + GetStringBoundingBox(this->String()).width + WidgetDimensions::scaled.dropdowntext.Horizontal();
|
||||
}
|
||||
|
||||
uint Height() const override
|
||||
{
|
||||
return std::max(GetCharacterHeight(FS_NORMAL), ScaleGUITrad(12) + WidgetDimensions::scaled.vsep_normal);
|
||||
}
|
||||
|
||||
bool Selectable() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void Draw(const Rect &r, bool sel, Colours) const override
|
||||
{
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
int icon_y = CenterBounds(r.top, r.bottom, 0);
|
||||
int text_y = CenterBounds(r.top, r.bottom, GetCharacterHeight(FS_NORMAL));
|
||||
Rect tr = r.Shrink(WidgetDimensions::scaled.dropdowntext);
|
||||
DrawSprite(SPR_VEH_BUS_SIDE_VIEW, PALETTE_RECOLOUR_START + (this->result % COLOUR_END),
|
||||
rtl ? tr.right - ScaleGUITrad(14) : tr.left + ScaleGUITrad(14),
|
||||
icon_y);
|
||||
tr = tr.Indent(ScaleGUITrad(28) + WidgetDimensions::scaled.hsep_normal, rtl);
|
||||
DrawString(tr.left, tr.right, text_y, this->String(), sel ? TC_WHITE : TC_BLACK);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -706,10 +685,10 @@ private:
|
||||
if (default_livery != nullptr) {
|
||||
/* Add COLOUR_END to put the colour out of range, but also allow us to show what the default is */
|
||||
default_col = (primary ? default_livery->colour1 : default_livery->colour2) + COLOUR_END;
|
||||
list.push_back(std::make_unique<DropDownListColourItem>(default_col, false));
|
||||
list.push_back(std::make_unique<DropDownListColourItem<>>(default_col, false));
|
||||
}
|
||||
for (uint i = 0; i < lengthof(_colour_dropdown); i++) {
|
||||
list.push_back(std::make_unique<DropDownListColourItem>(i, HasBit(used_colours, i)));
|
||||
list.push_back(std::make_unique<DropDownListColourItem<>>(i, HasBit(used_colours, i)));
|
||||
}
|
||||
|
||||
byte sel = (default_livery == nullptr || HasBit(livery->in_use, primary ? 0 : 1)) ? (primary ? livery->colour1 : livery->colour2) : default_col;
|
||||
@@ -969,9 +948,10 @@ public:
|
||||
y += this->line_height;
|
||||
};
|
||||
|
||||
const Company *c = Company::Get((CompanyID)this->window_number);
|
||||
|
||||
if (livery_class < LC_GROUP_RAIL) {
|
||||
int pos = this->vscroll->GetPosition();
|
||||
const Company *c = Company::Get((CompanyID)this->window_number);
|
||||
for (LiveryScheme scheme = LS_DEFAULT; scheme < LS_END; scheme++) {
|
||||
if (_livery_class[scheme] == this->livery_class && HasBit(_loaded_newgrf_features.used_liveries, scheme)) {
|
||||
if (pos-- > 0) continue;
|
||||
@@ -982,8 +962,9 @@ public:
|
||||
uint max = static_cast<uint>(std::min<size_t>(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->groups.size()));
|
||||
for (uint i = this->vscroll->GetPosition(); i < max; ++i) {
|
||||
const Group *g = this->groups[i];
|
||||
const bool livery_set = HasBit(g->livery.in_use, 0);
|
||||
SetDParam(0, g->index);
|
||||
draw_livery(STR_GROUP_NAME, g->livery, this->sel == g->index, false, this->indents[i] * WidgetDimensions::scaled.hsep_indent);
|
||||
draw_livery(STR_GROUP_NAME, livery_set ? g->livery : c->livery[LS_DEFAULT], this->sel == g->index, livery_set, this->indents[i] * WidgetDimensions::scaled.hsep_indent);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1511,12 +1492,9 @@ public:
|
||||
*size = maxdim(*size, GetStringBoundingBox(STR_FACE_MOUSTACHE));
|
||||
break;
|
||||
|
||||
case WID_SCMF_FACE: {
|
||||
Dimension face_size = GetScaledSpriteSize(SPR_GRADIENT);
|
||||
size->width = std::max(size->width, face_size.width);
|
||||
size->height = std::max(size->height, face_size.height);
|
||||
case WID_SCMF_FACE:
|
||||
*size = maxdim(*size, GetScaledSpriteSize(SPR_GRADIENT));
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_SCMF_HAS_MOUSTACHE_EARRING:
|
||||
case WID_SCMF_HAS_GLASSES:
|
||||
@@ -2362,68 +2340,37 @@ struct CompanyWindow : Window
|
||||
bool reinit = false;
|
||||
|
||||
/* Button bar selection. */
|
||||
int plane = local ? CWP_BUTTONS_LOCAL : CWP_BUTTONS_OTHER;
|
||||
NWidgetStacked *wi = this->GetWidget<NWidgetStacked>(WID_C_SELECT_BUTTONS);
|
||||
if (plane != wi->shown_plane) {
|
||||
wi->SetDisplayedPlane(plane);
|
||||
this->InvalidateData();
|
||||
reinit = true;
|
||||
}
|
||||
reinit |= this->GetWidget<NWidgetStacked>(WID_C_SELECT_BUTTONS)->SetDisplayedPlane(local ? CWP_BUTTONS_LOCAL : CWP_BUTTONS_OTHER);
|
||||
|
||||
/* Build HQ button handling. */
|
||||
plane = (local && c->location_of_HQ == INVALID_TILE) ? CWP_VB_BUILD : CWP_VB_VIEW;
|
||||
wi = this->GetWidget<NWidgetStacked>(WID_C_SELECT_VIEW_BUILD_HQ);
|
||||
if (plane != wi->shown_plane) {
|
||||
wi->SetDisplayedPlane(plane);
|
||||
reinit = true;
|
||||
}
|
||||
reinit |= this->GetWidget<NWidgetStacked>(WID_C_SELECT_VIEW_BUILD_HQ)->SetDisplayedPlane((local && c->location_of_HQ == INVALID_TILE) ? CWP_VB_BUILD : CWP_VB_VIEW);
|
||||
|
||||
this->SetWidgetDisabledState(WID_C_VIEW_HQ, c->location_of_HQ == INVALID_TILE);
|
||||
|
||||
/* Enable/disable 'Relocate HQ' button. */
|
||||
plane = (!local || c->location_of_HQ == INVALID_TILE) ? CWP_RELOCATE_HIDE : CWP_RELOCATE_SHOW;
|
||||
wi = this->GetWidget<NWidgetStacked>(WID_C_SELECT_RELOCATE);
|
||||
if (plane != wi->shown_plane) {
|
||||
wi->SetDisplayedPlane(plane);
|
||||
reinit = true;
|
||||
}
|
||||
reinit |= this->GetWidget<NWidgetStacked>(WID_C_SELECT_RELOCATE)->SetDisplayedPlane((!local || c->location_of_HQ == INVALID_TILE) ? CWP_RELOCATE_HIDE : CWP_RELOCATE_SHOW);
|
||||
|
||||
/* Owners of company */
|
||||
plane = SZSP_HORIZONTAL;
|
||||
{
|
||||
int plane = SZSP_HORIZONTAL;
|
||||
for (uint i = 0; i < lengthof(c->share_owners); i++) {
|
||||
if (c->share_owners[i] != INVALID_COMPANY) {
|
||||
plane = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
wi = this->GetWidget<NWidgetStacked>(WID_C_SELECT_DESC_OWNERS);
|
||||
if (plane != wi->shown_plane) {
|
||||
wi->SetDisplayedPlane(plane);
|
||||
reinit = true;
|
||||
reinit |= this->GetWidget<NWidgetStacked>(WID_C_SELECT_DESC_OWNERS)->SetDisplayedPlane(plane);
|
||||
}
|
||||
|
||||
/* Enable/disable 'Give money' button. */
|
||||
plane = ((local || (_local_company == COMPANY_SPECTATOR)) ? SZSP_NONE : 0);
|
||||
wi = this->GetWidget<NWidgetStacked>(WID_C_SELECT_GIVE_MONEY);
|
||||
if (plane != wi->shown_plane) {
|
||||
wi->SetDisplayedPlane(plane);
|
||||
reinit = true;
|
||||
}
|
||||
reinit |= this->GetWidget<NWidgetStacked>(WID_C_SELECT_GIVE_MONEY)->SetDisplayedPlane((local || _local_company == COMPANY_SPECTATOR || !_settings_game.economy.give_money) ? SZSP_NONE : 0);
|
||||
|
||||
/* Enable/disable 'Hostile Takeover' button. */
|
||||
plane = ((local || _local_company == COMPANY_SPECTATOR || !c->is_ai || _networking || _settings_game.economy.allow_shares) ? SZSP_NONE : 0);
|
||||
wi = this->GetWidget<NWidgetStacked>(WID_C_SELECT_HOSTILE_TAKEOVER);
|
||||
if (plane != wi->shown_plane) {
|
||||
wi->SetDisplayedPlane(plane);
|
||||
reinit = true;
|
||||
}
|
||||
reinit |= this->GetWidget<NWidgetStacked>(WID_C_SELECT_HOSTILE_TAKEOVER)->SetDisplayedPlane((local || _local_company == COMPANY_SPECTATOR || !c->is_ai || _networking || _settings_game.economy.allow_shares) ? SZSP_NONE : 0);
|
||||
|
||||
/* Multiplayer buttons. */
|
||||
plane = ((!_networking) ? (int)SZSP_NONE : (int)(local ? CWP_MP_C_PWD : CWP_MP_C_JOIN));
|
||||
wi = this->GetWidget<NWidgetStacked>(WID_C_SELECT_MULTIPLAYER);
|
||||
if (plane != wi->shown_plane) {
|
||||
wi->SetDisplayedPlane(plane);
|
||||
reinit = true;
|
||||
}
|
||||
reinit |= this->GetWidget<NWidgetStacked>(WID_C_SELECT_MULTIPLAYER)->SetDisplayedPlane((!_networking) ? (int)SZSP_NONE : (int)(local ? CWP_MP_C_PWD : CWP_MP_C_JOIN));
|
||||
|
||||
this->SetWidgetDisabledState(WID_C_COMPANY_JOIN, c->is_ai);
|
||||
|
||||
if (reinit) {
|
||||
@@ -2438,12 +2385,9 @@ struct CompanyWindow : Window
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_C_FACE: {
|
||||
Dimension face_size = GetScaledSpriteSize(SPR_GRADIENT);
|
||||
size->width = std::max(size->width, face_size.width);
|
||||
size->height = std::max(size->height, face_size.height);
|
||||
case WID_C_FACE:
|
||||
*size = maxdim(*size, GetScaledSpriteSize(SPR_GRADIENT));
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_C_DESC_COLOUR_SCHEME_EXAMPLE: {
|
||||
Point offset;
|
||||
|
@@ -28,7 +28,8 @@ struct Dimension {
|
||||
uint width;
|
||||
uint height;
|
||||
|
||||
Dimension(uint w = 0, uint h = 0) : width(w), height(h) {};
|
||||
constexpr Dimension() : width(0), height(0) {}
|
||||
constexpr Dimension(uint w, uint h) : width(w), height(h) {}
|
||||
|
||||
bool operator< (const Dimension &other) const
|
||||
{
|
||||
@@ -214,7 +215,7 @@ struct Rect {
|
||||
/**
|
||||
* Test if a point falls inside this Rect.
|
||||
* @param pt the point to test.
|
||||
* @return true iif the point falls inside the Rect.
|
||||
* @return true iff the point falls inside the Rect.
|
||||
*/
|
||||
inline bool Contains(const Point &pt) const
|
||||
{
|
||||
|
@@ -358,7 +358,7 @@ struct DepotWindow : Window {
|
||||
DrawString(text, STR_DEPOT_NO_ENGINE);
|
||||
} else {
|
||||
Rect flag = r.WithWidth(this->flag_size.width, rtl).WithHeight(this->flag_size.height).Translate(0, diff_y);
|
||||
DrawSpriteIgnorePadding((v->vehstatus & VS_STOPPED) ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING, PAL_NONE, flag, false, SA_CENTER);
|
||||
DrawSpriteIgnorePadding((v->vehstatus & VS_STOPPED) ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING, PAL_NONE, flag, SA_CENTER);
|
||||
|
||||
SetDParam(0, v->unitnumber);
|
||||
DrawString(text, STR_JUST_COMMA, (v->max_age - DAYS_IN_LEAP_YEAR) >= v->age ? TC_BLACK : TC_RED);
|
||||
|
@@ -549,10 +549,11 @@ public:
|
||||
case WID_BDD_Y: {
|
||||
Axis axis = widget == WID_BDD_X ? AXIS_X : AXIS_Y;
|
||||
|
||||
if (FillDrawPixelInfo(&tmp_dpi, r.left, r.top, r.Width(), r.Height())) {
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
||||
if (FillDrawPixelInfo(&tmp_dpi, ir)) {
|
||||
AutoRestoreBackup dpi_backup(_cur_dpi, &tmp_dpi);
|
||||
int x = (r.Width() - ScaleSpriteTrad(96)) / 2;
|
||||
int y = (r.Height() - ScaleSpriteTrad(64)) / 2;
|
||||
int x = (ir.Width() - ScaleSpriteTrad(96)) / 2;
|
||||
int y = (ir.Height() - ScaleSpriteTrad(64)) / 2;
|
||||
int x1 = ScaleSpriteTrad(63);
|
||||
int x2 = ScaleSpriteTrad(31);
|
||||
DrawShipDepotSprite(x + (axis == AXIS_X ? x1 : x2), y + ScaleSpriteTrad(17), axis, DEPOT_PART_NORTH);
|
||||
|
@@ -29,7 +29,7 @@ struct GUIEngineListItem {
|
||||
bool operator == (const EngineID &other) const { return this->engine_id == other; }
|
||||
};
|
||||
|
||||
typedef GUIList<GUIEngineListItem, CargoID> GUIEngineList;
|
||||
typedef GUIList<GUIEngineListItem, std::nullptr_t, CargoID> GUIEngineList;
|
||||
|
||||
typedef bool EngList_SortTypeFunction(const GUIEngineListItem&, const GUIEngineListItem&); ///< argument type for #EngList_Sort.
|
||||
void EngList_Sort(GUIEngineList &el, EngList_SortTypeFunction compare);
|
||||
|
@@ -8,6 +8,7 @@
|
||||
/** @file error_gui.cpp GUI related to errors. */
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "core/geometry_func.hpp"
|
||||
#include "core/mem_func.hpp"
|
||||
#include "landscape.h"
|
||||
#include "newgrf_text.h"
|
||||
@@ -196,14 +197,11 @@ public:
|
||||
size->height = std::max(size->height, panel_height);
|
||||
break;
|
||||
}
|
||||
case WID_EM_FACE: {
|
||||
Dimension face_size = GetScaledSpriteSize(SPR_GRADIENT);
|
||||
size->width = std::max(size->width, face_size.width);
|
||||
size->height = std::max(size->height, face_size.height);
|
||||
case WID_EM_FACE:
|
||||
*size = maxdim(*size, GetScaledSpriteSize(SPR_GRADIENT));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Point OnInitialPosition(int16 sm_width, int16 sm_height, int window_number) override
|
||||
{
|
||||
|
@@ -237,7 +237,8 @@ const Sprite *FreeTypeFontCache::InternalGetGlyph(GlyphID key, bool aa)
|
||||
if (width > MAX_GLYPH_DIM || height > MAX_GLYPH_DIM) usererror("Font glyph is too large");
|
||||
|
||||
/* FreeType has rendered the glyph, now we allocate a sprite and copy the image into it */
|
||||
SpriteLoader::Sprite sprite;
|
||||
SpriteLoader::SpriteCollection spritecollection;
|
||||
SpriteLoader::Sprite &sprite = spritecollection[ZOOM_LVL_NORMAL];
|
||||
sprite.AllocateData(ZOOM_LVL_NORMAL, static_cast<size_t>(width) * height);
|
||||
sprite.type = SpriteType::Font;
|
||||
sprite.colours = (aa ? SCC_PAL | SCC_ALPHA : SCC_PAL);
|
||||
@@ -268,7 +269,7 @@ const Sprite *FreeTypeFontCache::InternalGetGlyph(GlyphID key, bool aa)
|
||||
}
|
||||
|
||||
GlyphEntry new_glyph;
|
||||
new_glyph.sprite = BlitterFactory::GetCurrentBlitter()->Encode(&sprite, SimpleSpriteAlloc);
|
||||
new_glyph.sprite = BlitterFactory::GetCurrentBlitter()->Encode(spritecollection, SimpleSpriteAlloc);
|
||||
new_glyph.width = slot->advance.x >> 6;
|
||||
|
||||
this->SetGlyphPtr(key, &new_glyph);
|
||||
|
@@ -136,7 +136,7 @@ const Sprite *TrueTypeFontCache::GetGlyph(GlyphID key)
|
||||
};
|
||||
#undef CPSET
|
||||
#undef CP___
|
||||
static const SpriteLoader::Sprite builtin_questionmark = {
|
||||
static const SpriteLoader::SpriteCollection builtin_questionmark = {{ {
|
||||
10, // height
|
||||
8, // width
|
||||
0, // x_offs
|
||||
@@ -144,9 +144,9 @@ const Sprite *TrueTypeFontCache::GetGlyph(GlyphID key)
|
||||
SpriteType::Font,
|
||||
SCC_PAL,
|
||||
builtin_questionmark_data
|
||||
};
|
||||
} }};
|
||||
|
||||
Sprite *spr = BlitterFactory::GetCurrentBlitter()->Encode(&builtin_questionmark, SimpleSpriteAlloc);
|
||||
Sprite *spr = BlitterFactory::GetCurrentBlitter()->Encode(builtin_questionmark, SimpleSpriteAlloc);
|
||||
assert(spr != nullptr);
|
||||
GlyphEntry new_glyph;
|
||||
new_glyph.sprite = spr;
|
||||
|
@@ -96,7 +96,7 @@
|
||||
|
||||
cur_company.Restore();
|
||||
|
||||
InvalidateWindowData(WC_SCRIPT_DEBUG, 0, -1);
|
||||
InvalidateWindowClassesData(WC_SCRIPT_DEBUG, -1);
|
||||
}
|
||||
|
||||
/* static */ void Game::Uninitialize(bool keepConfig)
|
||||
|
@@ -36,35 +36,38 @@ static const NWidgetPart _nested_gs_config_widgets[] = {
|
||||
NWidget(WWT_DEFSIZEBOX, COLOUR_MAUVE),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_GSC_BACKGROUND),
|
||||
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse),
|
||||
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.sparse_resize),
|
||||
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(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_GAMESCRIPT_PARAM, STR_NULL), SetFill(1, 1), SetResize(1, 0), SetPIP(0, WidgetDimensions::unscaled.vsep_sparse, 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(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_RESET), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_AI_SETTINGS_RESET, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_CHANGE), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_AI_CONFIG_CHANGE_GAMESCRIPT, STR_AI_CONFIG_CHANGE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_CONTENT_DOWNLOAD), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
|
||||
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),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_OPEN_URL), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_CONTENT_OPEN_URL, STR_CONTENT_OPEN_URL_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_TEXTFILE_VIEW_README_TOOLTIP),
|
||||
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),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_CHANGELOG), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_CHANGELOG, STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_GSC_TEXTFILE + TFT_LICENSE), SetFill(1, 1), SetResize(1, 0), SetDataTip(STR_TEXTFILE_VIEW_LICENCE, STR_TEXTFILE_VIEW_LICENCE_TOOLTIP),
|
||||
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(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_GSC_ACCEPT), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_AI_SETTINGS_CLOSE, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_GSC_RESET), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_AI_SETTINGS_RESET, STR_NULL),
|
||||
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_MAUVE), SetDataTip(RWV_HIDE_BEVEL, STR_TOOLTIP_RESIZE),
|
||||
EndContainer(),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_MAUVE),
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
@@ -356,9 +359,12 @@ struct GSConfigWindow : public Window {
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_GSC_ACCEPT:
|
||||
this->Close();
|
||||
case WID_GSC_OPEN_URL: {
|
||||
const GameConfig *config = GameConfig::GetConfig();
|
||||
if (config == nullptr || config->GetInfo() == nullptr) return;
|
||||
OpenBrowser(config->GetInfo()->GetURL());
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_GSC_RESET:
|
||||
this->gs_config->ResetEditableSettings(_game_mode == GM_MENU);
|
||||
@@ -419,8 +425,10 @@ struct GSConfigWindow : public Window {
|
||||
|
||||
this->SetWidgetDisabledState(WID_GSC_CHANGE, !UserIsAllowedToChangeGameScript() || !IsEditable());
|
||||
|
||||
const GameConfig *config = GameConfig::GetConfig();
|
||||
this->SetWidgetDisabledState(WID_GSC_OPEN_URL, config->GetInfo() == nullptr || config->GetInfo()->GetURL().empty());
|
||||
for (TextfileType tft = TFT_CONTENT_BEGIN; tft < TFT_CONTENT_END; tft++) {
|
||||
this->SetWidgetDisabledState(WID_GSC_TEXTFILE + tft, GameConfig::GetConfig()->GetTextfile(tft, (CompanyID)OWNER_DEITY) == nullptr);
|
||||
this->SetWidgetDisabledState(WID_GSC_TEXTFILE + tft, config->GetTextfile(tft, (CompanyID)OWNER_DEITY) == nullptr);
|
||||
}
|
||||
this->RebuildVisibleSettings();
|
||||
HideDropDownMenu(this);
|
||||
|
@@ -92,11 +92,11 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
|
||||
/* Labels on the left side (global column 1). */
|
||||
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),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SMOOTHNESS, STR_NULL), SetFill(1, 1),
|
||||
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),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TERRAIN_TYPE, STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_VARIETY, STR_CONFIG_SETTING_VARIETY_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SMOOTHNESS, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BORDER_TYPE, STR_MAPGEN_BORDER_TYPE_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
|
||||
/* Widgets on the right side (global column 2). */
|
||||
@@ -107,11 +107,11 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
|
||||
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, 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),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TERRAIN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_VARIETY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_CONFIG_SETTING_VARIETY_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_SMOOTHNESS_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_BORDERS_RANDOM), SetDataTip(STR_JUST_STRING, STR_MAPGEN_BORDER_TYPE_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
||||
@@ -120,17 +120,17 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
|
||||
/* Labels on the left side (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_COVERAGE, STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DESERT_COVERAGE, STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT), 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),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SEA_LEVEL, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_MAPGEN_DATE_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TOWN_NAME_LABEL, STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_TOWNS, STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_INDUSTRIES, STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SEA_LEVEL, STR_MAPGEN_SEA_LEVEL_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
|
||||
/* Widgets on the right side (global column 4). */
|
||||
@@ -140,13 +140,13 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
|
||||
/* 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_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_SNOW_COVERAGE_TEXT, STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT), 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_TEXTBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_DESERT_COVERAGE_TEXT, STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT), 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. */
|
||||
@@ -167,13 +167,13 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
|
||||
/* 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_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_JUST_DATE_LONG, STR_MAPGEN_DATE_TOOLTIP), 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),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_WATER_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_WATER_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_MAPGEN_SEA_LEVEL_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
@@ -202,7 +202,7 @@ static const NWidgetPart _nested_generate_landscape_widgets[] = {
|
||||
EndContainer(),
|
||||
|
||||
/* Generate */
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalTextLines(3, 0), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalTextLines(3, 0), SetDataTip(STR_MAPGEN_GENERATE, STR_MAPGEN_GENERATE_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
};
|
||||
@@ -226,8 +226,8 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
|
||||
|
||||
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_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_NAME, STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE, WID_GL_HEIGHTMAP_NAME_TEXT), SetTextStyle(TC_ORANGE), SetDataTip(STR_JUST_RAW_STRING, STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
|
||||
/* Generation options. */
|
||||
@@ -237,30 +237,30 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
|
||||
/* 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),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE_LABEL, STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_MAPGEN_MAPSIZE_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_ROTATION, STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_HEIGHT, STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_QUANTITY_OF_RIVERS, STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
|
||||
/* Left half widgets (global column 2) */
|
||||
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),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE, WID_GL_HEIGHTMAP_SIZE_TEXT), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE, STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP), SetFill(1, 1),
|
||||
/* Mapsize X * Y. */
|
||||
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_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_NULL), SetFill(1, 1),
|
||||
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_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP), 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, 1),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, WID_GL_HEIGHTMAP_HEIGHT_TEXT), SetDataTip(STR_JUST_INT, STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP), 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, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_RIVER_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
||||
@@ -269,16 +269,16 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
|
||||
/* 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_COVERAGE, STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DESERT_COVERAGE, STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT), 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),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_MAPGEN_DATE_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_TOWN_NAME_LABEL, STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_TOWNS, STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_NUMBER_OF_INDUSTRIES, STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
|
||||
/* Right half widgets (global column 4) */
|
||||
@@ -288,13 +288,13 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
|
||||
/* 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_TEXTBTN, COLOUR_ORANGE, WID_GL_SNOW_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_SNOW_COVERAGE_TEXT, STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT), 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_TEXTBTN, COLOUR_ORANGE, WID_GL_DESERT_COVERAGE_TEXT), SetDataTip(STR_MAPGEN_DESERT_COVERAGE_TEXT, STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT), 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. */
|
||||
@@ -315,12 +315,12 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
|
||||
/* 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_PUSHTXTBTN, COLOUR_ORANGE, WID_GL_START_DATE_TEXT), SetDataTip(STR_JUST_DATE_LONG, STR_MAPGEN_DATE_TOOLTIP), 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),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_GL_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING1, STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
@@ -333,7 +333,7 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
|
||||
EndContainer(),
|
||||
|
||||
/* Generate */
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalTextLines(3, 0), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GL_GENERATE_BUTTON), SetMinimalTextLines(3, 0), SetDataTip(STR_MAPGEN_GENERATE, STR_MAPGEN_GENERATE_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
};
|
||||
@@ -412,7 +412,7 @@ static DropDownList BuildTownNameDropDown()
|
||||
size_t newgrf_size = list.size();
|
||||
/* Insert newgrf_names at the top of the list */
|
||||
if (newgrf_size > 0) {
|
||||
list.push_back(std::make_unique<DropDownListItem>(-1, false)); // separator line
|
||||
list.push_back(std::make_unique<DropDownListDividerItem>(-1, false)); // separator line
|
||||
newgrf_size++;
|
||||
}
|
||||
|
||||
@@ -1434,30 +1434,30 @@ static const NWidgetPart _nested_create_scenario_widgets[] = {
|
||||
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),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_MAPSIZE, STR_MAPGEN_MAPSIZE_TOOLTIP), SetFill(0, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_MAPGEN_DATE_TOOLTIP), SetFill(0, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_SE_MAPGEN_FLAT_WORLD_HEIGHT, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP), 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_DROPDOWN, COLOUR_ORANGE, WID_CS_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_CS_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_CS_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_MAPGEN_MAPSIZE_TOOLTIP), 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_PUSHTXTBTN, COLOUR_ORANGE, WID_CS_START_DATE_TEXT), SetFill(1, 1), SetDataTip(STR_JUST_DATE_LONG, STR_MAPGEN_DATE_TOOLTIP),
|
||||
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_PUSHTXTBTN, COLOUR_ORANGE, WID_CS_FLAT_LAND_HEIGHT_TEXT), SetFill(1, 1), SetDataTip(STR_JUST_INT, STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP),
|
||||
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(),
|
||||
|
16
src/gfx.cpp
16
src/gfx.cpp
@@ -2345,22 +2345,22 @@ bool AdjustGUIZoom(AdjustGUIZoomMode mode)
|
||||
ZoomLevel old_font_zoom = _font_zoom;
|
||||
int old_scale = _gui_scale;
|
||||
UpdateGUIZoom();
|
||||
if (old_scale == _gui_scale) return false;
|
||||
if (old_scale == _gui_scale && old_gui_zoom == _gui_zoom) return false;
|
||||
|
||||
/* Reload sprites if sprite zoom level has changed. */
|
||||
/* Update cursors if sprite zoom level has changed. */
|
||||
if (old_gui_zoom != _gui_zoom) {
|
||||
GfxClearSpriteCache();
|
||||
VideoDriver::GetInstance()->ClearSystemSprites();
|
||||
UpdateCursorSize();
|
||||
if (mode != AGZM_STARTUP) UpdateRouteStepSpriteSize();
|
||||
} else if (old_font_zoom != _font_zoom) {
|
||||
}
|
||||
if (old_font_zoom != _font_zoom) {
|
||||
GfxClearFontSpriteCache();
|
||||
}
|
||||
|
||||
ClearFontCache();
|
||||
UpdateFontHeightCache();
|
||||
LoadStringWidthTable();
|
||||
ReInitAllWindows(false);
|
||||
|
||||
SetupWidgetDimensions();
|
||||
UpdateAllVirtCoords();
|
||||
if (mode != AGZM_STARTUP) FixTitleGameZoom();
|
||||
|
||||
@@ -2374,11 +2374,9 @@ bool AdjustGUIZoom(AdjustGUIZoomMode mode)
|
||||
if (mode == AGZM_AUTOMATIC) {
|
||||
w->left = (w->left * _gui_scale) / old_scale;
|
||||
w->top = (w->top * _gui_scale) / old_scale;
|
||||
w->width = (w->width * _gui_scale) / old_scale;
|
||||
w->height = (w->height * _gui_scale) / old_scale;
|
||||
}
|
||||
if (w->viewport != nullptr) {
|
||||
w->viewport->zoom = Clamp(ZoomLevel(w->viewport->zoom - zoom_shift), _settings_client.gui.zoom_min, _settings_client.gui.zoom_max);
|
||||
w->viewport->zoom = static_cast<ZoomLevel>(Clamp(w->viewport->zoom - zoom_shift, _settings_client.gui.zoom_min, _settings_client.gui.zoom_max));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -107,8 +107,8 @@ struct SpritePointerHolder;
|
||||
void DrawSpriteViewport(const SpritePointerHolder &sprite_store, const DrawPixelInfo *dpi, SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub = nullptr);
|
||||
void PrepareDrawSpriteViewportSpriteStore(SpritePointerHolder &sprite_store, const DrawPixelInfo *dpi, SpriteID img, PaletteID pal);
|
||||
void DrawSprite(SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub = nullptr, ZoomLevel zoom = ZOOM_LVL_GUI);
|
||||
void DrawSpriteIgnorePadding(SpriteID img, PaletteID pal, const Rect &r, bool clicked, StringAlignment align); /* widget.cpp */
|
||||
std::unique_ptr<uint32[]> DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel zoom = ZOOM_LVL_GUI);
|
||||
void DrawSpriteIgnorePadding(SpriteID img, PaletteID pal, const Rect &r, StringAlignment align); /* widget.cpp */
|
||||
std::unique_ptr<uint32_t[]> DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel zoom = ZOOM_LVL_GUI);
|
||||
|
||||
int DrawString(int left, int right, int top, std::string_view str, TextColour colour = TC_FROMSTRING, StringAlignment align = SA_LEFT, bool underline = false, FontSize fontsize = FS_NORMAL);
|
||||
int DrawString(int left, int right, int top, StringID str, TextColour colour = TC_FROMSTRING, StringAlignment align = SA_LEFT, bool underline = false, FontSize fontsize = FS_NORMAL);
|
||||
@@ -174,6 +174,11 @@ void CheckBlitter();
|
||||
|
||||
bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int height);
|
||||
|
||||
static inline bool FillDrawPixelInfo(DrawPixelInfo *n, const Rect &r)
|
||||
{
|
||||
return FillDrawPixelInfo(n, r.left, r.top, r.Width(), r.Height());
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine where to draw a centred object inside a widget.
|
||||
* @param min The top or left coordinate.
|
||||
|
@@ -285,8 +285,8 @@ static const NWidgetPart _nested_goals_list_widgets[] = {
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_CAPTION, COLOUR_BROWN, WID_GOAL_CAPTION), SetDataTip(STR_JUST_STRING1, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GOAL_SELECT_BUTTONS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_GLOBAL_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.captiontext.Vertical()), SetDataTip(STR_GOALS_GLOBAL_BUTTON, STR_GOALS_GLOBAL_BUTTON_HELPTEXT),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_COMPANY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.captiontext.Vertical()), SetDataTip(STR_GOALS_COMPANY_BUTTON, STR_GOALS_COMPANY_BUTTON_HELPTEXT),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_GLOBAL_BUTTON), SetMinimalSize(50, 0), SetDataTip(STR_GOALS_GLOBAL_BUTTON, STR_GOALS_GLOBAL_BUTTON_HELPTEXT),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_COMPANY_BUTTON), SetMinimalSize(50, 0), SetDataTip(STR_GOALS_COMPANY_BUTTON, STR_GOALS_COMPANY_BUTTON_HELPTEXT),
|
||||
EndContainer(),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
|
||||
|
@@ -658,7 +658,7 @@ static const NWidgetPart _nested_operating_profit_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_OPERATING_PROFIT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
|
||||
@@ -668,7 +668,7 @@ static const NWidgetPart _nested_operating_profit_widgets[] = {
|
||||
NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CV_GRAPH), SetMinimalSize(576, 160), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), SetDataTip(RWV_HIDE_BEVEL, STR_TOOLTIP_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
@@ -709,7 +709,7 @@ static const NWidgetPart _nested_income_graph_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_INCOME_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
|
||||
@@ -719,7 +719,7 @@ static const NWidgetPart _nested_income_graph_widgets[] = {
|
||||
NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CV_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), SetDataTip(RWV_HIDE_BEVEL, STR_TOOLTIP_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
@@ -801,7 +801,7 @@ struct ExcludingCargoBaseGraphWindow : BaseGraphWindow {
|
||||
/* Redraw frame if lowered */
|
||||
if (lowered) DrawFrameRect(line, COLOUR_BROWN, FR_LOWERED);
|
||||
|
||||
const Rect text = line.Shrink(WidgetDimensions::scaled.framerect).Translate(lowered ? WidgetDimensions::scaled.pressed : 0, lowered ? WidgetDimensions::scaled.pressed : 0);
|
||||
const Rect text = line.Shrink(WidgetDimensions::scaled.framerect);
|
||||
|
||||
/* Cargo-colour box with outline */
|
||||
const Rect cargo = text.WithWidth(this->legend_width, rtl);
|
||||
@@ -1002,7 +1002,7 @@ static const NWidgetPart _nested_delivered_cargo_graph_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_CARGO_DELIVERED_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
|
||||
@@ -1025,7 +1025,7 @@ static const NWidgetPart _nested_delivered_cargo_graph_widgets[] = {
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 4),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), SetDataTip(RWV_HIDE_BEVEL, STR_TOOLTIP_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
@@ -1071,8 +1071,8 @@ static const NWidgetPart _nested_performance_history_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_KEY), SetMinimalSize(50, 0), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
|
||||
@@ -1082,7 +1082,7 @@ static const NWidgetPart _nested_performance_history_widgets[] = {
|
||||
NWidget(WWT_EMPTY, COLOUR_BROWN, WID_PHG_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_PHG_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_PHG_RESIZE), SetDataTip(RWV_HIDE_BEVEL, STR_TOOLTIP_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
@@ -1121,7 +1121,7 @@ static const NWidgetPart _nested_company_value_graph_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_COMPANY_VALUES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical() + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
|
||||
@@ -1131,7 +1131,7 @@ static const NWidgetPart _nested_company_value_graph_widgets[] = {
|
||||
NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CV_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), SetDataTip(RWV_HIDE_BEVEL, STR_TOOLTIP_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
@@ -1312,7 +1312,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
||||
/* Redraw frame if lowered */
|
||||
if (lowered) DrawFrameRect(line, COLOUR_BROWN, FR_LOWERED);
|
||||
|
||||
const Rect text = line.Shrink(WidgetDimensions::scaled.framerect).Translate(lowered ? WidgetDimensions::scaled.pressed : 0, lowered ? WidgetDimensions::scaled.pressed : 0);
|
||||
const Rect text = line.Shrink(WidgetDimensions::scaled.framerect);
|
||||
|
||||
/* Cargo-colour box with outline */
|
||||
const Rect cargo = text.WithWidth(this->legend_width, rtl);
|
||||
@@ -1480,7 +1480,7 @@ static const NWidgetPart _nested_cargo_payment_rates_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(12, 0), SetFill(0, 0), SetResize(0, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_BROWN, WID_CPR_FOOTER), SetMinimalSize(0, 6), SetAlignment(SA_CENTER), SetPadding(2, 0, 2, 0), SetDataTip(STR_JUST_STRING1, STR_NULL), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CPR_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CPR_RESIZE), SetDataTip(RWV_HIDE_BEVEL, STR_TOOLTIP_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
};
|
||||
@@ -1600,9 +1600,8 @@ struct PerformanceRatingDetailWindow : Window {
|
||||
if (IsInsideMM(widget, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST + 1)) {
|
||||
if (this->IsWidgetDisabled(widget)) return;
|
||||
CompanyID cid = (CompanyID)(widget - WID_PRD_COMPANY_FIRST);
|
||||
int offset = (cid == this->company) ? WidgetDimensions::scaled.pressed : 0;
|
||||
Dimension sprite_size = GetSpriteSize(SPR_COMPANY_ICON);
|
||||
DrawCompanyIcon(cid, CenterBounds(r.left, r.right, sprite_size.width) + offset, CenterBounds(r.top, r.bottom, sprite_size.height) + offset);
|
||||
DrawCompanyIcon(cid, CenterBounds(r.left, r.right, sprite_size.width), CenterBounds(r.top, r.bottom, sprite_size.height));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -490,7 +490,7 @@ public:
|
||||
break;
|
||||
|
||||
case WID_GL_FILTER_BY_CARGO:
|
||||
size->width = std::max(size->width, GetDropDownListDimension(this->BuildCargoDropDownList()).width + padding.width);
|
||||
size->width = std::max(size->width, GetDropDownListDimension(this->BuildCargoDropDownList(true)).width + padding.width);
|
||||
break;
|
||||
|
||||
case WID_GL_MANAGE_VEHICLES_DROPDOWN: {
|
||||
@@ -725,7 +725,7 @@ public:
|
||||
return;
|
||||
|
||||
case WID_GL_FILTER_BY_CARGO: // Select filtering criteria dropdown menu
|
||||
ShowDropDownList(this, this->BuildCargoDropDownList(), this->cargo_filter_criteria, widget);
|
||||
ShowDropDownList(this, this->BuildCargoDropDownList(false), this->cargo_filter_criteria, widget);
|
||||
break;
|
||||
|
||||
case WID_GL_ALL_VEHICLES: // All vehicles button
|
||||
@@ -1048,7 +1048,7 @@ public:
|
||||
this->UpdateSortingInterval();
|
||||
break;
|
||||
case WID_GL_FILTER_BY_CARGO: // Select a cargo filter criteria
|
||||
this->SetCargoFilterIndex(index);
|
||||
this->SetCargoFilter(index);
|
||||
break;
|
||||
case WID_GL_MANAGE_VEHICLES_DROPDOWN:
|
||||
assert(this->ShouldShowActionDropdownList());
|
||||
|
@@ -186,8 +186,8 @@ struct HighScoreWindow : EndGameHighScoreBaseWindow {
|
||||
this->SetupHighScoreEndWindow();
|
||||
Point pt = this->GetTopLeft(ScaleSpriteTrad(640), ScaleSpriteTrad(480));
|
||||
|
||||
SetDParam(0, _settings_game.game_creation.ending_year);
|
||||
DrawStringMultiLine(pt.x + ScaleSpriteTrad(70), pt.x + ScaleSpriteTrad(570), pt.y, pt.y + ScaleSpriteTrad(140), !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER);
|
||||
/* Draw the title. */
|
||||
DrawStringMultiLine(pt.x + ScaleSpriteTrad(70), pt.x + ScaleSpriteTrad(570), pt.y, pt.y + ScaleSpriteTrad(140), STR_HIGHSCORE_TOP_COMPANIES, TC_FROMSTRING, SA_CENTER);
|
||||
|
||||
/* Draw Highscore peepz */
|
||||
for (uint8_t i = 0; i < ClampTo<uint8_t>(hs.size()); i++) {
|
||||
|
@@ -41,6 +41,7 @@
|
||||
#include "zoom_func.h"
|
||||
#include "querystring_gui.h"
|
||||
#include "stringfilter_type.h"
|
||||
#include "hotkeys.h"
|
||||
|
||||
#include "table/strings.h"
|
||||
|
||||
@@ -409,16 +410,13 @@ public:
|
||||
|
||||
this->CreateNestedTree();
|
||||
this->vscroll = this->GetScrollbar(WID_DPI_SCROLLBAR);
|
||||
/* Show scenario editor tools in editor. */
|
||||
if (_game_mode != GM_EDITOR) {
|
||||
this->GetWidget<NWidgetStacked>(WID_DPI_SCENARIO_EDITOR_PANE)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
}
|
||||
this->FinishInitNested(0);
|
||||
|
||||
this->SetButtons();
|
||||
|
||||
/* Show scenario editor tools in editor. */
|
||||
if (_game_mode != GM_EDITOR) {
|
||||
auto *se_tools = this->GetWidget<NWidgetStacked>(WID_DPI_SCENARIO_EDITOR_PANE);
|
||||
se_tools->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
this->ReInit();
|
||||
}
|
||||
}
|
||||
|
||||
void OnInit() override
|
||||
@@ -1249,7 +1247,7 @@ static const NWidgetPart _nested_industry_directory_widgets[] = {
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
typedef GUIList<const Industry *, const std::pair<CargoID, CargoID> &> GUIIndustryList;
|
||||
typedef GUIList<const Industry *, const CargoID &, const std::pair<CargoID, CargoID> &> GUIIndustryList;
|
||||
|
||||
/** Special cargo filter criteria */
|
||||
enum CargoFilterSpecialType {
|
||||
@@ -1306,7 +1304,10 @@ static bool CargoFilter(const Industry * const *industry, const std::pair<CargoI
|
||||
|
||||
static GUIIndustryList::FilterFunction * const _filter_funcs[] = { &CargoFilter };
|
||||
|
||||
|
||||
/** Enum referring to the Hotkeys in the industry directory window */
|
||||
enum IndustryDirectoryHotkeys {
|
||||
IDHK_FOCUS_FILTER_BOX, ///< Focus the filter box
|
||||
};
|
||||
/**
|
||||
* The list of industries.
|
||||
*/
|
||||
@@ -1319,7 +1320,7 @@ protected:
|
||||
static const StringID sorter_names[];
|
||||
static GUIIndustryList::SortFunction * const sorter_funcs[];
|
||||
|
||||
GUIIndustryList industries;
|
||||
GUIIndustryList industries{IndustryDirectoryWindow::produced_cargo_filter};
|
||||
Scrollbar *vscroll;
|
||||
Scrollbar *hscroll;
|
||||
|
||||
@@ -1339,13 +1340,13 @@ protected:
|
||||
};
|
||||
|
||||
/**
|
||||
* Set cargo filter list item index.
|
||||
* @param index The index of the cargo to be set
|
||||
* Set produced cargo filter for the industry list.
|
||||
* @param cid The cargo to be set
|
||||
*/
|
||||
void SetProducedCargoFilterIndex(byte index)
|
||||
void SetProducedCargoFilter(CargoID cid)
|
||||
{
|
||||
if (this->produced_cargo_filter_criteria != index) {
|
||||
this->produced_cargo_filter_criteria = index;
|
||||
if (this->produced_cargo_filter_criteria != cid) {
|
||||
this->produced_cargo_filter_criteria = cid;
|
||||
/* deactivate filter if criteria is 'Show All', activate it otherwise */
|
||||
bool is_filtering_necessary = this->produced_cargo_filter_criteria != CF_ANY || this->accepted_cargo_filter_criteria != CF_ANY;
|
||||
|
||||
@@ -1356,13 +1357,13 @@ protected:
|
||||
}
|
||||
|
||||
/**
|
||||
* Set cargo filter list item index.
|
||||
* @param index The index of the cargo to be set
|
||||
* Set accepted cargo filter for the industry list.
|
||||
* @param index The cargo to be set
|
||||
*/
|
||||
void SetAcceptedCargoFilterIndex(byte index)
|
||||
void SetAcceptedCargoFilter(CargoID cid)
|
||||
{
|
||||
if (this->accepted_cargo_filter_criteria != index) {
|
||||
this->accepted_cargo_filter_criteria = index;
|
||||
if (this->accepted_cargo_filter_criteria != cid) {
|
||||
this->accepted_cargo_filter_criteria = cid;
|
||||
/* deactivate filter if criteria is 'Show All', activate it otherwise */
|
||||
bool is_filtering_necessary = this->produced_cargo_filter_criteria != CF_ANY || this->accepted_cargo_filter_criteria != CF_ANY;
|
||||
|
||||
@@ -1490,7 +1491,7 @@ protected:
|
||||
}
|
||||
|
||||
/** Sort industries by name */
|
||||
static bool IndustryNameSorter(const Industry * const &a, const Industry * const &b)
|
||||
static bool IndustryNameSorter(const Industry * const &a, const Industry * const &b, const CargoID &)
|
||||
{
|
||||
int r = StrNaturalCompare(a->GetCachedName(), b->GetCachedName()); // Sort by name (natural sorting).
|
||||
if (r == 0) return a->index < b->index;
|
||||
@@ -1498,21 +1499,20 @@ protected:
|
||||
}
|
||||
|
||||
/** Sort industries by type and name */
|
||||
static bool IndustryTypeSorter(const Industry * const &a, const Industry * const &b)
|
||||
static bool IndustryTypeSorter(const Industry * const &a, const Industry * const &b, const CargoID &filter)
|
||||
{
|
||||
int it_a = 0;
|
||||
while (it_a != NUM_INDUSTRYTYPES && a->type != _sorted_industry_types[it_a]) it_a++;
|
||||
int it_b = 0;
|
||||
while (it_b != NUM_INDUSTRYTYPES && b->type != _sorted_industry_types[it_b]) it_b++;
|
||||
int r = it_a - it_b;
|
||||
return (r == 0) ? IndustryNameSorter(a, b) : r < 0;
|
||||
return (r == 0) ? IndustryNameSorter(a, b, filter) : r < 0;
|
||||
}
|
||||
|
||||
/** Sort industries by production and name */
|
||||
static bool IndustryProductionSorter(const Industry * const &a, const Industry * const &b)
|
||||
static bool IndustryProductionSorter(const Industry * const &a, const Industry * const &b, const CargoID &filter)
|
||||
{
|
||||
CargoID filter = IndustryDirectoryWindow::produced_cargo_filter;
|
||||
if (filter == CF_NONE) return IndustryTypeSorter(a, b);
|
||||
if (filter == CF_NONE) return IndustryTypeSorter(a, b, filter);
|
||||
|
||||
uint prod_a = 0, prod_b = 0;
|
||||
for (uint i = 0; i < lengthof(a->produced_cargo); i++) {
|
||||
@@ -1526,14 +1526,14 @@ protected:
|
||||
}
|
||||
int r = prod_a - prod_b;
|
||||
|
||||
return (r == 0) ? IndustryTypeSorter(a, b) : r < 0;
|
||||
return (r == 0) ? IndustryTypeSorter(a, b, filter) : r < 0;
|
||||
}
|
||||
|
||||
/** Sort industries by transported cargo and name */
|
||||
static bool IndustryTransportedCargoSorter(const Industry * const &a, const Industry * const &b)
|
||||
static bool IndustryTransportedCargoSorter(const Industry * const &a, const Industry * const &b, const CargoID &filter)
|
||||
{
|
||||
int r = GetCargoTransportedSortValue(a) - GetCargoTransportedSortValue(b);
|
||||
return (r == 0) ? IndustryNameSorter(a, b) : r < 0;
|
||||
return (r == 0) ? IndustryNameSorter(a, b, filter) : r < 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1680,7 +1680,7 @@ public:
|
||||
|
||||
/* Setup a clipping rectangle... */
|
||||
DrawPixelInfo tmp_dpi;
|
||||
if (!FillDrawPixelInfo(&tmp_dpi, ir.left, ir.top, ir.Width(), ir.Height())) return;
|
||||
if (!FillDrawPixelInfo(&tmp_dpi, ir)) return;
|
||||
/* ...but keep coordinates relative to the window. */
|
||||
tmp_dpi.left += ir.left;
|
||||
tmp_dpi.top += ir.top;
|
||||
@@ -1758,8 +1758,9 @@ public:
|
||||
list.push_back(std::make_unique<DropDownListStringItem>(this->GetCargoFilterLabel(CF_NONE), CF_NONE, false));
|
||||
|
||||
/* Add cargos */
|
||||
Dimension d = GetLargestCargoIconSize();
|
||||
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
|
||||
list.push_back(std::make_unique<DropDownListStringItem>(cs->name, cs->Index(), false));
|
||||
list.push_back(std::make_unique<DropDownListIconItem>(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false));
|
||||
}
|
||||
|
||||
return list;
|
||||
@@ -1811,13 +1812,13 @@ public:
|
||||
}
|
||||
|
||||
case WID_ID_FILTER_BY_ACC_CARGO: {
|
||||
this->SetAcceptedCargoFilterIndex(index);
|
||||
this->SetAcceptedCargoFilter(index);
|
||||
this->BuildSortIndustriesList();
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_ID_FILTER_BY_PROD_CARGO: {
|
||||
this->SetProducedCargoFilterIndex(index);
|
||||
this->SetProducedCargoFilter(index);
|
||||
this->BuildSortIndustriesList();
|
||||
break;
|
||||
}
|
||||
@@ -1872,8 +1873,29 @@ public:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
EventState OnHotkey(int hotkey) override
|
||||
{
|
||||
switch (hotkey) {
|
||||
case IDHK_FOCUS_FILTER_BOX:
|
||||
this->SetFocusedWidget(WID_ID_FILTER);
|
||||
SetFocusedWindow(this); // The user has asked to give focus to the text box, so make sure this window is focused.
|
||||
break;
|
||||
default:
|
||||
return ES_NOT_HANDLED;
|
||||
}
|
||||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
static HotkeyList hotkeys;
|
||||
};
|
||||
|
||||
static Hotkey industrydirectory_hotkeys[] = {
|
||||
Hotkey('F', "focus_filter_box", IDHK_FOCUS_FILTER_BOX),
|
||||
HOTKEY_LIST_END
|
||||
};
|
||||
HotkeyList IndustryDirectoryWindow::hotkeys("industrydirectory", industrydirectory_hotkeys);
|
||||
|
||||
Listing IndustryDirectoryWindow::last_sorting = {false, 0};
|
||||
|
||||
/* Available station sorting functions. */
|
||||
@@ -1901,7 +1923,8 @@ static WindowDesc _industry_directory_desc(__FILE__, __LINE__,
|
||||
WDP_AUTO, "list_industries", 428, 190,
|
||||
WC_INDUSTRY_DIRECTORY, WC_NONE,
|
||||
0,
|
||||
std::begin(_nested_industry_directory_widgets), std::end(_nested_industry_directory_widgets)
|
||||
std::begin(_nested_industry_directory_widgets), std::end(_nested_industry_directory_widgets),
|
||||
&IndustryDirectoryWindow::hotkeys
|
||||
);
|
||||
|
||||
void ShowIndustryDirectory()
|
||||
@@ -2985,7 +3008,7 @@ struct IndustryCargoesWindow : public Window {
|
||||
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
||||
DrawPixelInfo tmp_dpi;
|
||||
if (!FillDrawPixelInfo(&tmp_dpi, ir.left, ir.top, ir.Width(), ir.Height())) return;
|
||||
if (!FillDrawPixelInfo(&tmp_dpi, ir)) return;
|
||||
AutoRestoreBackup dpi_backup(_cur_dpi, &tmp_dpi);
|
||||
|
||||
int left_pos = WidgetDimensions::scaled.frametext.left - WidgetDimensions::scaled.bevel.left;
|
||||
@@ -3125,8 +3148,9 @@ struct IndustryCargoesWindow : public Window {
|
||||
|
||||
case WID_IC_CARGO_DROPDOWN: {
|
||||
DropDownList lst;
|
||||
Dimension d = GetLargestCargoIconSize();
|
||||
for (const CargoSpec *cs : _sorted_standard_cargo_specs) {
|
||||
lst.push_back(std::make_unique<DropDownListStringItem>(cs->name, cs->Index(), false));
|
||||
lst.push_back(std::make_unique<DropDownListIconItem>(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false));
|
||||
}
|
||||
if (!lst.empty()) {
|
||||
int selected = (this->ind_cargo >= NUM_INDUSTRYTYPES) ? (int)(this->ind_cargo - NUM_INDUSTRYTYPES) : -1;
|
||||
|
@@ -228,6 +228,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filter string:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Sleutel filter string in
|
||||
@@ -678,8 +679,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klik op
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klik op musiek lied om te verwyder van huidige program (Slegs Gewoonte1 of Gewoonte2)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top maatskappye wat {NUM} bereik het
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Maatskappy Liga Tafel in {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Sakeman
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entrepreneur
|
||||
@@ -1502,8 +1501,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiveer die ge
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Gebruik laai aanwysers: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Kies of die ladingswaardes vertoon word wanneer voertuie vrag op- en aflaai
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vertoon rooster in "ticks" liewer as dae: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Wys die rystye in tydroosters in speletjie "ticks" inplaas van dae
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Toon aankoms en vertrek in tydroosters: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Vertoon verwagte aankoms en vertrek tye in tydroosters
|
||||
@@ -4135,8 +4133,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(wag vir {STRIN
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reis vir {STRING}, nie volgens tydrooster nie)
|
||||
STR_TIMETABLE_STAY_FOR :en bly vir {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :en reis vir {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}da{P g e}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ke}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Die rooster sal {STRING} neem om te voltooi
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Die rooster sal te minste {STRING} vat om te voltooi (nie alles gerooster nie)
|
||||
@@ -4145,10 +4141,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Die voer
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Die voertuig loop tans {STRING} laat
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Die voertuig loop tans {STRING} vroeg
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Hierdie rooster het nog nie begin nie
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Hierdie tydrooster sal begin by {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Begin datum
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Kies 'n datum as 'n beginpunt vir hierdie rooster. Ctrl+klik stel die begindatum van hierdie rooster en versprei al die voertuie wat hierdie rooster deel eweredig vir 'n volledige rooster.
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Verander Tyd
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Verander die bedrag van tyd die verlig opdrag moes vat
|
||||
|
@@ -228,6 +228,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}م
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} متر
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}تصفية القائمة:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK} ادخل فلتر
|
||||
@@ -674,8 +675,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}اضغط
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}اضغط على المسار لازالته من القائمة
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}الشركات الكبرى التي وصلت لـ {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}ترتيب الشركات {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :رجل اعمال
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :مغامر
|
||||
@@ -1407,7 +1406,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :استخدام
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :تفعيل مؤشر التحميل: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :حدد ما إذا كانت مؤشرات التحميل معروضة فوق تحميل المركبات أو تفريغها
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :عرض جدولة الأعمال بالمهام بدلا من الأيام: {STRING}
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :عرض الوصول و المغادرة في جدولة الاعمال: {STRING}
|
||||
|
||||
@@ -3864,8 +3863,6 @@ STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :سافر (إل
|
||||
STR_TIMETABLE_STAY_FOR_ESTIMATED :(البقاء ل{STRING}، ليس مجدول)
|
||||
STR_TIMETABLE_STAY_FOR :ويبقى لـ {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :ويسافر لـ {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}يوم
|
||||
STR_TIMETABLE_TICKS :{COMMA} علامة
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}جدولة الاوامر هذه ستأخذ {STRING} لنهاية
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}جدولة الاوامر هذه ستأخذ على الاقل {STRING} لتكتمل (لايشمل كل الجدولة)
|
||||
@@ -3874,10 +3871,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}هذه
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}هذه العربه {STRING} مُتاخِرة حاليا عن الجدوله
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}هذه العربه {STRING} مُتَقَدِمه عن الجدوله
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}جدولة الاعمال لم تبدأ بعد
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}جدولة الاعمال ستبدأ فى {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}تاريخ البدأ
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}حدد تاريخًا كنقطة بداية لهذا الجدول الزمني. Ctrl + Click يوزع جميع المركبات التي تشارك هذا الطلب بالتساوي من التاريخ المحدد بناءً على ترتيبها النسبي ، إذا كان الطلب محددًا بجدول زمني كامل
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}غير الوقت
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}غير مقدار الزمن الذي يستغرقه هذا الامر
|
||||
|
@@ -226,6 +226,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Lokarri iragazkia:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Sartu lokarri iragazkia
|
||||
@@ -660,8 +661,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Musika k
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Musika kantan clik egin uneko programatik ezabatzeko (Perstonala1 edo Pertsonala2 bakarrik)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top companiak {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Konpainien Ligaren Tabla {NUM}-tan
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Negozio gizona
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Empresaria
|
||||
@@ -1445,8 +1444,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Gaitu ibilgailu
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Zama adierazleak erabili: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Aukeratu ibilgailuen zama lanen adierazlea ikusgai dagoen ibilgailuen gainean
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Ordutegiak tick-etan erakutsi egunetan erakutsi ordez: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Erakutsi denbora tauletako denbora jokoaren uniteetan egunak erabili ordez
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Iritsierak eta irteerak ordutegietan erakutsi: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Erakutsi aurreikusitako iritsiera eta irteera denborak denbora tauletan
|
||||
@@ -3894,8 +3892,6 @@ STR_TIMETABLE_TRAVEL_FOR :{STRING} bidaia
|
||||
STR_TIMETABLE_TRAVEL_FOR_SPEED :{STRING}-ra bidaiatu gehienez {VELOCITY}ra
|
||||
STR_TIMETABLE_STAY_FOR :{STRING} gelditu
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :{STRING} bidaiatu
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}egun{P "" ak}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" ak}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Ordutegi honek {STRING} beharko du betetzeko
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Ordutegi honek gutxienez {STRING} beharko du (ez ordutegi guztiak)
|
||||
@@ -3904,9 +3900,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Ibilgail
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Ibilgailu hau {STRING} berandu dabil
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Ibilgailu hau {STRING} aurreratua dabil
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ordutegia ez da hasi
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK} {STRING} hasiko da ordutegia
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Hasiera data
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Denbora aldatu
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Piztutako agindua betzeko denbora aldatu
|
||||
|
@@ -539,6 +539,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}м
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}м
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Фільтар:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Увядзіце радок фільтра
|
||||
@@ -987,8 +988,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Клік
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Клікніце па назьве трэка, каб выдаліць яго з уласнай праґрамы
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Найбуйнейшыя кампаніі, якія дасягнулі {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Табліца кампаніяў у {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Бізнэсоўца
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Прадпрымальнік
|
||||
@@ -1821,8 +1820,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Дазволі
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Паказваць індыкатар загрузкі: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Выбраць, ці будуць паказвацца індыкатары загрузкі над транспартам, які грузіцца ці разгружаецца.
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Паказваць расклад ў «ціках» замест дзён: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Паказваць у раскладзе час падарожжа ў гульнёвых "ціках" замест дзён.
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Паказваць у раскладах час прыбыцьця й адпраўленьня: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Паказваць верагодны час прыбыцьця й адпраўленьня ў раскладах.
|
||||
@@ -4497,8 +4495,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(чакаць {
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(у дарозе {STRING}, графік не складзены)
|
||||
STR_TIMETABLE_STAY_FOR :і чакаць {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :і рухацца да {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}д{P зень нi зён}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}цiк{P "" i аў}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Увесь маршрут зойме {STRING}
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Рух па маршруце зойме {STRING} (ня ўсё ўлічана)
|
||||
@@ -4507,10 +4503,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Гэты
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Гэты транспарт спазьняецца на {STRING}
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Гэты транспарт апярэджвае ґрафік на {STRING}
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ґрафік руху яшчэ не ўсталяваны
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Адлік часу пачнецца з {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Пачатковая дата
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Выберыце пачатковую дату для гэтага ґрафіка. Ctrl+пстрычка ўсталюе пачатковую дату і раўнамерна разьмяркуе ўсе транспартныя сродкі, якія рухаюцца па гэтым маршруце, калі час руху па ім цалкам разьлічаны.
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Зьмяніць час
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Зьмяніць час для вылучанага заданьня
|
||||
|
@@ -256,6 +256,10 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}dia{P "" s}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}sedundo{P "" s}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tique{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtro:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Insira uma ou mais palavras-chave para filtrar a lista
|
||||
@@ -719,8 +723,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique n
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clique na faixa de música para remover do programa atual (apenas Personalizado 1 ou Personalizado 2)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}As maiores empresas que alcançaram{NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tabela da Liga das Empresas em {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Melhores empresas
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Empresário
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Empreendedor
|
||||
@@ -1489,7 +1492,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis apenas) O quão acidentado é o terreno
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Apenas TerraGenesis) Relevo do terreno
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e o nível que deve ser mantido durante o jogo
|
||||
@@ -1498,18 +1501,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Dist máx da bo
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Refinarias são construídas apenas nas bordas, ou no litoral, para ilhas
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controla a que altitude a neve começa nos climas sub-árticos. Neve também afeta geração de indústrias e necessidades para o crescimento das cidades. Só pode ser modificado por meio do Editor de cenário ou é de outra forma calculado por meio de "cobertura de neve"
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controla a que altura começa a neve no clima sub-ártico. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve"
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Controla a quantidade aproximada de neve no terreno subártico. A neve também afeta os requisitos de geração de indústria e crescimento de cidades. Usado apenas durante a geração de mapas. Terreno logo acima do nível do mar é sempre sem neve
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Controla a quantidade aproximada de neve no clima sub-ártico. A neve também afeta a geração das indústrias e os requisitos de crescimento das localidades. Usado apenas durante a geração do mapa. O terreno logo acima do nível do mar nunca terá neve.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Controla a quantidade aproximada de deserto no terreno tropical. O deserto também afeta a geração de indústrias. Usado apenas durante a geração do mapa
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Controla a quantidade aproximada de deserto no clima tropical. O deserto também afeta a geração das indústrias. Usado apenas durante a geração do mapa
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidade do terreno: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis apenas) Escolhe a frequência de colinas: Terrenos planos têm menos colinas, mais espalhadas. Montanhosos tem mais colinas, que pode se tornar repetitivo
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Apenas TerraGenesis) Escolhe a frequência de montes: paisagens macias têm menos montes e mais espalhados. Paisagens duras têm muitos montes, que podem parecer repetitivos
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muito Regular
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Regular
|
||||
@@ -1517,7 +1520,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Irregular
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito Irregular
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis apenas) Controla se o mapa contém tanto áreas montanhosas como planas. Como isso apenas torna o mapa mais plano, as outras configurações devem ser mantidas em montanhoso
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Apenas TerraGenesis) Controla se o mapa contém áreas planas e montanhosas. Como isto apenas torna o mapa mais plano, outras definições devem ser definidas como montanhosas
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolha quantos rios a serem gerados
|
||||
@@ -1537,6 +1540,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Dirigem na esqu
|
||||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Dirigem na direita
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação do mapa topográfico: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolher como a imagem do mapa topográfico será rotacionado para se ajustar ao mapa do jogo
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido Anti-Horário
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido Horário
|
||||
@@ -1657,8 +1661,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativa o uso da
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Seleciona se os indicadores de carga são exibidos sobre os veículos (des)carregando
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Exibir plano de horário em tiques ao invés de dias: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra tempos de viagem, nos planos de horário, em tiques, ao invés de dias. Um tique equivale a 1/74 dia, ou 1/30 segundo.
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Unidades de tempo para as ordens: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Selecionar as unidades de tempo usadas nas ordens dos veículos
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dias
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Segundos
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tiques
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostrar chegada e saída nos planos de horário: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Exibe tempos de chegada e partida anticipados nos planos de horário
|
||||
@@ -2246,9 +2254,9 @@ STR_FACE_SAVE :{BLACK}Salvar
|
||||
STR_FACE_SAVE_TOOLTIP :{BLACK}Salvar face favorita
|
||||
STR_FACE_SAVE_DONE :{WHITE}Este rosto irá ser salvo como seu rosto favorito no arquivo de configuração do OpenTTD
|
||||
STR_FACE_EUROPEAN :{BLACK}Europeu
|
||||
STR_FACE_SELECT_EUROPEAN :{BLACK}Selecione faces Européias
|
||||
STR_FACE_SELECT_EUROPEAN :{BLACK}Selecionar faces Européias
|
||||
STR_FACE_AFRICAN :{BLACK}Africano
|
||||
STR_FACE_SELECT_AFRICAN :{BLACK}Selecione faces Africanas
|
||||
STR_FACE_SELECT_AFRICAN :{BLACK}Selecionar faces Africanas
|
||||
STR_FACE_YES :Sim
|
||||
STR_FACE_NO :Não
|
||||
STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Ativar bigode ou brinco
|
||||
@@ -2582,7 +2590,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Conteúd
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Você está saindo do OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições ao baixar conteúdo de fontes externas pode varias.{}Você deverá consultar as fontes para obter instruções de como instalar o conteúdo no OpenTTD.{} Deseja continuar?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Tag/nome do filtro:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visitar website
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visitar a página web
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar o site desse conteúdo
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Baixar
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Baixa o conteúdo selecionado
|
||||
@@ -2592,7 +2600,7 @@ STR_CONTENT_DETAIL_TITLE :{SILVER}INFORMA
|
||||
###length 5
|
||||
STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Você não selecionou para ser baixado
|
||||
STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Você selecionou para ser baixado
|
||||
STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Esse dependente será baixado
|
||||
STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Esta dependência foi seleccionada para ser baixada
|
||||
STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Você já baixou isso
|
||||
STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Esse conteúdo é desconhecido e não pode ser baixado pelo OpenTTD
|
||||
|
||||
@@ -2660,7 +2668,7 @@ STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Definir
|
||||
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legenda do Fluxo de Carga
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Todas
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Nenhuma
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Selecione companhias a serem exibidas
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Selecionar as empresas a serem exibidas
|
||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
@@ -2941,7 +2949,7 @@ STR_FOUND_TOWN_CITY :{BLACK}Cidade
|
||||
STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades grandes cresem mais rápido que as cidades normais{}Dependendo das configs. são maiores quando fundadas.
|
||||
|
||||
STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Disposição das ruas das cidades
|
||||
STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Selecione a disposição de ruas a ser utilizada nessa cidade
|
||||
STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Seleccionar disposição das estradas utilizada para esta localidade
|
||||
STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Original
|
||||
STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Melhorado
|
||||
STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Quadras 2x2
|
||||
@@ -2950,7 +2958,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Randômi
|
||||
|
||||
# Fund new industry window
|
||||
STR_FUND_INDUSTRY_CAPTION :{WHITE}Financiar Indústria
|
||||
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Escolha a indústria apropriada
|
||||
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Escolher a indústria apropriada desta lista
|
||||
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Criar indústrias aleatórias
|
||||
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Cobrir o mapa com indústrias colocadas aleatoriamente
|
||||
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Criar indústrias aleatórias
|
||||
@@ -2976,10 +2984,10 @@ STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Cadeia d
|
||||
STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Exibe indústrias que suprem e aceitam carga
|
||||
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Exiba também no minimapa
|
||||
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selecione as indústrias exibidas no minimapa também
|
||||
STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Seleciona carga
|
||||
STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Seleciona a carga que você deseja exibir
|
||||
STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Seleciona indústria
|
||||
STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Seleciona a indústria que você deseja exibir
|
||||
STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Selecionar carga
|
||||
STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Selecionar a carga que você deseja exibir
|
||||
STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Selecionar a indústria
|
||||
STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Selecionar a indústria que você deseja exibir
|
||||
|
||||
# Land area window
|
||||
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informações do Terreno
|
||||
@@ -3202,13 +3210,17 @@ STR_MAPGEN_MAPSIZE :{BLACK}Dimensõ
|
||||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Seleciona o tamanho do mapa em quadrados. O número de quadrados disponíveis será um pouco menor
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. de cidades:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Selecionar a densidade de cidades ou fornecer um número
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Nome das cidades:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Selecionar o estilo dos nomes das cidades
|
||||
STR_MAPGEN_DATE :{BLACK}Data:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Selecionar a data inicial
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. de indústrias:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Selecione a densidade de indústrias ou forneça um número
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Pico mais alto:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Escolher o pico mais alto que o jogo tentará criar, medido em elevação acima do nível do mar
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Aumentar a altura máxima do pico mais alto no mapa por um
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Diminuir a altura máxima do pico mais alto no mapa por um
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Diminuir de uma unidade a altura máxima do pico mais alto no mapa
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}Cobertura de neve:
|
||||
STR_MAPGEN_SNOW_COVERAGE_UP :{BLACK}Aumentar em dez porcento a cobertura de neve
|
||||
STR_MAPGEN_SNOW_COVERAGE_DOWN :{BLACK}Reduzir em dez porcento a cobertura de neve
|
||||
@@ -3219,10 +3231,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Diminuir
|
||||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Nível do mar:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Selecionar o nível do mar
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rios:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Regularidade
|
||||
STR_MAPGEN_VARIETY :{BLACK}Distribuição da variedade
|
||||
STR_MAPGEN_GENERATE :{WHITE}Gerar
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Criar o mapa e jogar o OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Definições de NewGRF
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de NewGRF
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}Definições de IA
|
||||
@@ -3255,6 +3269,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalão
|
||||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}Bordas do mapa:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Escolher as bordas do mapa do jogo
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}Noroeste
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Nordeste
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Sudeste
|
||||
@@ -3267,7 +3282,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
||||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotação do mapa topográfico:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa topográfico:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}O nome do arquivo de imagem do mapa topográfico
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem do mapa topográfico original. Para melhores resultados, cada lado deve ser igual a um comprimento de lado de mapa disponível no OpenTTD, como 256, 512, 1024, etc.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura alvo do pico
|
||||
@@ -3282,6 +3299,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Terra pl
|
||||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Gera uma terra plana
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Terra randômica
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altitude da terra plana
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Escolher a elevação do terreno acima do nível do mar
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mover a altitude da terra plana em uma unidade a menos
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Mover a altitude da terra plana em uma unidade a mais
|
||||
|
||||
@@ -3309,7 +3327,7 @@ STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Configur
|
||||
STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Informação detalhada de NewGRF
|
||||
STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Arquivos NewGRF ativos
|
||||
STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Arquivos NewGRF inativos
|
||||
STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Selecione um modelo:
|
||||
STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Seleccionar predefinição:
|
||||
STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtro:
|
||||
STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Carrega o padrão selecionado
|
||||
STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Salvar padrão
|
||||
@@ -4365,7 +4383,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova cap
|
||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Lucro vindo da adaptação: {GREEN}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo da adaptação: {RED}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Lucro da adaptação: {GREEN}{CURRENCY_LONG}
|
||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecione os veículos para recuperar. Arrastar com o mouse permite a seleção de vários veículos. Clicar em espaço vazio selecionará todo o veículo. Ctrl+Clique selecionará um veículo e a lista de construção em seguida
|
||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para recuperar. Arrastar com o mouse permite a seleção de vários veículos. Clicar em espaço vazio selecionará todo o veículo. Ctrl+Clique selecionará um veículo e a lista de construção em seguida
|
||||
|
||||
###length VEHICLE_TYPES
|
||||
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Selecionar tipo de carga para o trem
|
||||
@@ -4567,8 +4585,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(aguardar por {
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar para {STRING}, sem horário marcado)
|
||||
STR_TIMETABLE_STAY_FOR :e ficar durante {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}dia{P "" s}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tique{P "" s}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para completar
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará no mínimo {STRING} para completar (nem todos com horário marcado)
|
||||
@@ -4577,10 +4593,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este ve
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Este veículo está atualmente circulando {STRING} atrasado
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Este veículo está atualmente circulando {STRING} adiantado
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este horário ainda não começou
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Este horário começará em{STRING}
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Essa ordem irá iniciar às {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Essa ordem irá iniciar em {COMMA} segundos
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Data de início
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Seleciona uma data como ponto de partida para esse horário. Ctrl+Clique define o ponto de partida desse horário e distribui todos os veículos que compartilham essa ordem igualmente, baseados na sua ordem relativa, mesmo que a ordem esteja totalmente tabelada
|
||||
STR_TIMETABLE_START :{BLACK}Iniciar Ordem
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecionar quando essa ordem inicia. Ctrl+Click distribui igualmente a partida de todos os veículos que compartilham essa ordem com base em sua ordem relativa, se a ordem for totalmente programada
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Segundos até a ordem iniciar
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Mudar horário
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Mudar a duração do tempo que a ordem em destaque deve durar. Ctrl+Clique define o tempo para todas as ordens
|
||||
@@ -4604,8 +4623,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Esperado
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Agendado
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Trocar entre esperado e agendado
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :C: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :P: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} segundos
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} segundos
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
@@ -4708,9 +4729,12 @@ STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Retornar
|
||||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Retornar adiante no histórico de navegação
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Quebra de linha
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :[BLACK}Quebra linhas automaticamente para que o texto caiba na janela
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Ver o leia-me
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Ver o arquivo Leia-me
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :Ver o arquivo Leia-me para este conteúdo
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Log de mudanças
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Ver o registro de modificações para este conteúdo
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licença
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver a licença para este conteúdo
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} Leia-me de {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} log de mudanças de {STRING}
|
||||
|
@@ -228,6 +228,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}м
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}м
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Филтриращ низ:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Въведете филтър
|
||||
@@ -666,8 +667,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Нати
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Натиснете върху парче за да го премахнете от програмата (Custom1 и Custom2 само)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Първите компании достигнали {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Таблица Лига на компании в {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Бизнесмен
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Предприемач
|
||||
@@ -1468,8 +1467,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Разреша
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Товарни индикатори: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Изберете дали индикаторът за зареждане се показва над превозните средства, които товарят и разтоварват
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Разписанието в цикли вместо дни: {STRING.n}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Показва времената за придвижване в таблиците в игрови единици, вместо в дни
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Покажи пристигането и заминаването в расписанията: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Показвай очакваните времена за пристигане и заминаване в таблиците
|
||||
@@ -3971,8 +3969,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(престой
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(Пътувай към {STRING}, без разписание)
|
||||
STR_TIMETABLE_STAY_FOR :и остани за {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :и отпътувай към {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}ден{P "" а}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}щракане{P "" та}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Ще трябва {STRING} за това разписание да бъде приключено
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Това разписание ще вземе най-малко {STRING} за да приклучи (не всичко е планирано)
|
||||
@@ -3981,10 +3977,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Това
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Това превозно средство е в момента с {STRING} закъснение
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Това превозно средство е в момента с {STRING} по-рано
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Това разписание още не е започнало
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Това разписание ще започне на {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Дата на започване
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK} Изберете начална дата на това разписание. Ctrl + Click задава началната дата и равномерно разпределя всички превозни средства, които споделят тази поръчка, на базата на тяхната относителна поръчка, ако поръчката е изцяло по разписание
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Промени времето
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Промени времетраенето на маркираната заповед
|
||||
|
@@ -256,6 +256,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{G=Masculin}{DECIMAL}{NBSP}m
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtre:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Introduïu una o més paraules per a filtrar la llista de
|
||||
@@ -719,8 +720,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clica la
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clica la pista de música per treure-la de la llista actual (només en llistes personalitzables)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Principals companyies que han arribat al {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Taula de la lliga de companyies a {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Empresari
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Emprenedor
|
||||
@@ -1657,8 +1656,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa la utili
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Utilitza indicadors de càrrega: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecciona si els indicadors de càrrega seran mostrats sobre els vehicles en càrrega o descàrrega
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostra horaris amb marques en lloc de dies: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra els temps de viatge als horaris en marques en lloc de dies
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostra l'arribada i la sortida als horaris: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostra als horaris l'arribada anticipadament i les hores de sortida
|
||||
@@ -2582,7 +2580,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Cerca co
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Esteu sortint de l'OpenTTD.
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Els termes i condicions per descarregar contingut des de webs externes varia.{}Haureu d'adreçar-vos a les webs externes per trobar instruccions sobre com instal·lar contingut a l'OpenTTD.{}Voleu continuar?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Marca/anomena filtre:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visita la web
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Lloc web
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visita la web per accedir a aquest contingut
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Descarrega
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Comença a descarregar el contingut seleccionat
|
||||
@@ -4567,8 +4565,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(quedar-s'hi du
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viatja durant {STRING}, sense horari)
|
||||
STR_TIMETABLE_STAY_FOR :i estigues {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :i viatge per {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}di{P a es}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}mar{P ca ques}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}L'horari tardarà {STRING} a complir-se
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}L'horari tardarà almenys {STRING} a complir-se (no tot està planificat)
|
||||
@@ -4577,10 +4573,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Actualme
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Actualment aquest vehicle va {STRING} tard
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Actualment aquest vehicle va {STRING} d'hora
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Aquest horari encara no ha començat
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Aquest horari començarpa a {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Data de partida
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Seleccioneu una data com a punt de partida d'aquest horari. Amb Ctrl+Clic, distribueix els vehicles que comparteixen aquesta ruta a partir de la data establerta i la seva ordre relativa, sempre que la ruta tingui l'horari complet.
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Canvia Temps
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Canvia el emps que l'ordre marcada hauria de prendre. Amb Ctrl+clic estableix el temps per a totes les ordres.
|
||||
@@ -4604,8 +4598,6 @@ STR_TIMETABLE_EXPECTED :{BLACK}Esperat
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Planificat
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Canvia entre esperat i planificat
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :S: {COLOUR}{DATE_TINY}
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
@@ -4708,9 +4700,12 @@ STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Torneu e
|
||||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Aneu avant segons l'historial de navegació.
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Ajusta text
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajusta el text afegint-hi canvis de línia, de manera que sigui més fàcil desplaçar-se pel text
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Veure llegeix-me
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Llegeix-me
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :Mostra el fitxer d'informació d'aquest contingut
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Registre de canvis
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Mostra el registre de canvis d'aquest contingut
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Llicència
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Mostra la llicència d'aquest contingut
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}Llegeix-me del {STRING} de {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Registre de canvis del {STRING} de {STRING}
|
||||
|
@@ -167,6 +167,7 @@ STR_UNITS_POWER_SI :{DECIMAL}кВт
|
||||
|
||||
|
||||
|
||||
|
||||
# Common window strings
|
||||
|
||||
|
||||
@@ -715,6 +716,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31
|
||||
|
||||
|
||||
|
||||
###length 3
|
||||
|
||||
|
||||
|
||||
@@ -1571,6 +1573,7 @@ STR_ORDER_GO_TO_STATION :{STRING} {STATI
|
||||
|
||||
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
|
||||
|
||||
|
@@ -323,6 +323,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtriraj niz:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Unesi znak za filter
|
||||
@@ -776,8 +777,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klikni n
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikni na glazbenu traku kako bi ju uklonio iz trenutnog programa (samo Proizvoljno 1 ili Proizvoljno 2)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Najbolje tvrtke do {NUM}. godine
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tablica tvrtki u {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Privrednik
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Poduzetnik
|
||||
@@ -1613,8 +1612,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Uključi koriš
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Koristi pokazatelje ukrcaja: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Odaberi hoće li oznake za ukrcaj biti prikazane iznad vozila koja se ukrcavaju ili iskrcavaju
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Pokaži vozni red u otkucajima rađe nego u danima: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Prikaži trajanje putovanja u voznim redovima u otkucajima igre umjesto u danima
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Pokaži dolaske i odlaske u voznim redovima: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Prikaži predviđena vremena dolaska i odlaska u voznim redovima
|
||||
@@ -4321,8 +4319,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(stajanje za {S
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(putovanje za {STRING}, nije mjereno)
|
||||
STR_TIMETABLE_STAY_FOR :i boravak za {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :i putovanje za {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}dan{P "" a a}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}otkucaj{P "" a a}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Ovaj vozni red trebat će {STRING} za završetak
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Ovaj vozni red trebat će najmanje {STRING} za završetak (nije sve raspoređeno)
|
||||
@@ -4331,10 +4327,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Ovo vozi
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Ovo vozilo trenutno {STRING} kasni
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Ovo vozilo trenutno stiže {STRING} ranije
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ovaj vozni red još nije započeo
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Ovaj će vozni red početi u {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Početni datum
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Odaberi datum za početak ovog voznog reda. Ctrl+Klik odabire početnu točku ovog voznog reda i ravnomjerno raspodjeljuje sva vozila koja dijele ovu naredbu prema njihovoj relativnoj naredbi, ako je raspored naredbe potpuno određen
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Promijeni vrijeme
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Promijeni količinu vremena koju bi označena naredba trebala uzeti
|
||||
|
@@ -316,6 +316,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtrovat řetězec:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Vložte jedno nebo více klíčových slov pro filtr seznamu
|
||||
@@ -789,8 +790,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Skladba
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Hudební stopu odstraníš ze současného programu (pouze u vlastního) kliknutím na ni
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Nejlepší společnosti, které dosáhly {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tabulka společností v roce {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Obchodník
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Manažer
|
||||
@@ -1705,8 +1704,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Umožňuje pou
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Používat ukazatele naložení: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Vyber jestli budou zobrazovány ukazatele naložení nad nakládajícími a vykládajícími vozidly.
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Zobrazit jízdní řády v cyklech místo ve dnech: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Ukazuje cestovní časy v jízdních řádech
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Ukazovat v jízdním řádu příjezdy a odjezdy: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Zobrazit předpokládané časy příjezdu a odjezdu v jízdních řádech.
|
||||
@@ -4597,8 +4595,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(zůstaň {STRI
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(jet {STRING}, mimo jízdní řád)
|
||||
STR_TIMETABLE_STAY_FOR :a zůstat {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :a jet {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}d{P en ny ní}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}cykl{P us y ů}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Tento jízdní řád bude trvat {STRING}
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Tento jízdní řád bude trvat nejméně {STRING} (vozidla mimo jízdní řád)
|
||||
@@ -4607,10 +4603,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Vozidlo
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Vozidlo má {STRING} zpoždění
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Vozidlo jede {STRING} napřed
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Tento jízdní řád ještě nezačal
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Tento jízdní řád začne v {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Datum začátku
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Vyber počáteční datum tohoto jízdního řádu. Ctrl+Klik rovnoměrně rozloží odjezdy jednotlivých vozidel sdílejích příkazy s ohledem na současný jízdní řád.
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Změnit čas
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Změnit čas pro splnění jízdního příkazu. Ctrl+klik změní čas pro všechny příkazy.
|
||||
@@ -4634,7 +4628,6 @@ STR_TIMETABLE_EXPECTED :{BLACK}Očekáv
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Plánovaný
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Přepnout mezi očekávaným a plánovaným
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :P: {COLOUR}{DATE_TINY}
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
|
@@ -255,6 +255,8 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL} fod
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL} m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL} m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}dag{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtrer udtryk:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Indtast filterstreng
|
||||
@@ -718,8 +720,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klik på
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klik på et musiknummer for at fjerne det fra programlisten (kun for Custom1/Custom2)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Bedste virksomheder, som har nået {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Selskabsoversigt i {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Top virksomheder
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Forretningsmand
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entreprenør
|
||||
@@ -1536,6 +1537,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Kør i venstre
|
||||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Kør i højre side
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotér højdekort: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Vælg, hvilken vej højdekortets billede skal roteres for at passe ind i spilverdenen
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Mod uret
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Med uret
|
||||
@@ -1656,8 +1658,10 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver brug af
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Benyt laste-indikatorer: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Vælg om lastnings-indikatorer vises ved pålæsning og aflæsning af køretøjer
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vis køreplan i tik i stedet for dage: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Vis rejsetider i køreplaner i spil ticks i stedet for dage
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Vælg de tidsenheder, der skal bruges til køreplaner
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dage
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Sekunder
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Vis ankomst og afgang i tidsplaner: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Vis forventede ankomst-og afgangstider i tidsplaner
|
||||
@@ -2346,7 +2350,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Navnet v
|
||||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Sæt kodeord
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Beskyt dit spil med et kodeord hvis du ikke vil have fremmede med
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Synlighed
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Synlighed:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Hvorvidt andre kan se din server i den offentlige liste
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" er}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimalt antal tilladte klienter:
|
||||
@@ -3201,9 +3205,11 @@ STR_MAPGEN_MAPSIZE :{BLACK}Kortstø
|
||||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Vælg kortets størrelse i fliser. Antallet af tilgængelige fliser vil være en anelse mindre
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Antal byer:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Vælg tætheden af byer eller et brugerdefineret nummer
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Bynavne:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Vælg stil for bynavne
|
||||
STR_MAPGEN_DATE :{BLACK}Dato:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Vælg startdato
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Antal industrier:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Højeste bjergtop:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Forøger den maksimale højde på højeste bjergtop på kortet med én
|
||||
@@ -3222,6 +3228,7 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Floder:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Blødhed:
|
||||
STR_MAPGEN_VARIETY :{BLACK}Varietet af distributionen:
|
||||
STR_MAPGEN_GENERATE :{WHITE}Generer
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Skab en verden og spil OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF indstillinger
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Vis indstillinger for NewGRF
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}AI indstillinger
|
||||
@@ -4566,8 +4573,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(ophold for {ST
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(rejse for {STRING}, ikke skemalagt)
|
||||
STR_TIMETABLE_STAY_FOR :og vent i {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :og rejs i {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA} dag{P "" e}
|
||||
STR_TIMETABLE_TICKS :{COMMA} tik
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Denne køreplan vil tage {STRING} at fuldføre
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Denne køreplan vil tage mindst {STRING} at fuldføre (ikke alt indført i køreplan)
|
||||
@@ -4576,10 +4581,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Dette tr
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Dette transportmiddel er nu {STRING} forsinket
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Dette transportmiddel er nu {STRING} foran køreplanen
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Denne tidsplan er endnu ikke begyndt.
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Denne tidsplan vil starte på {STRING}
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Denne tidsplan starter kl {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Denne tidsplan starter om {COMMA} Sekunder
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Startdato
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Vælg en dato som starttidspunkt for denne køreplan. Ctrl+Klik sætter starttidspunkt for denne køreplan, og distribuerer alle køretøjer der deler denne ordre ligeligt baseret på deres relative rækkefølge, hvis ordren er fuldstændigt tidsplanlagt
|
||||
STR_TIMETABLE_START :{BLACK}Start tidsplan
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Vælg, hvornår denne tidsplan starter. Ctrl+klik fordeler starten af alle køretøjer, der deler denne rækkefølge, jævnt baseret på deres relative rækkefølge, hvis ordren er fuldstændig tidsplanlagt
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Sekunder til tidsplanen starter
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Ændre tid
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ændre den tid, som den fremhævede rækkefølge skal tage. Ctrl+Click angiver tidspunktet for alle ordrer
|
||||
@@ -4603,8 +4611,9 @@ STR_TIMETABLE_EXPECTED :{BLACK}Forvente
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Planlagt
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Skift mellem forventet og tidslagt
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sek
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
@@ -4708,8 +4717,11 @@ STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Vend til
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Ombryd tekst
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ombryd teksten i vinduet, så det hele passer uden at skulle rulle
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Se readme
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :Se readme for dette indhold
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Ændringslog
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Se ændringslog for dette indhold
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licens
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Se licens til dette indhold
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} readme for {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} ændringslog for {STRING}
|
||||
|
@@ -255,6 +255,10 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}dag{P "" en}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}seconde{P "" n}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tik{P "" ken}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filter:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Voer een of meer woorden in waarop de lijst wordt gefilterd
|
||||
@@ -718,8 +722,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klik op
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klik op een nummer om dit uit het programma te verwijderen (alleen Aangepast1 en Aangepast2)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Best presterende bedrijven die {NUM} bereikt hebben
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Bedrijfsscoretabel in {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Hoogst genoteerde bedrijven
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :ZZP'er
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Ondernemer
|
||||
@@ -1656,8 +1659,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Schakelt het ge
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Laadpercentages gebruiken: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Geef aan of laadindicatoren worden weergegeven boven ladende of lossende voertuigen
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Dienstregeling in tikken weergeven i.p.v. in dagen: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Reistijden in tijdtabellen in speltikken weergeven in plaats van dagen
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Tijdeenheid voor dienstregelingen: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Selecteer de tijdeenheid voor dienstregelingen
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dagen
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Seconden
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tikken
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Aankomst- en vertrektijden in dienstregeling weergeven: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Geef de verwachte aankomst-en vertrektijden in de dienstregeling weer
|
||||
@@ -2346,7 +2353,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}De speln
|
||||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Wachtwoord instellen
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Beveilig je spel met een wachtwoord als je niet wilt dat dit algemeen toegankelijk is
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Zichtbaarheid
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Zichtbaarheid:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Bepaalt of andere mensen je server kunnen zien in de openbare lijst
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} speler{P "" s}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximumaantal spelers:
|
||||
@@ -2581,7 +2588,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Zoek inh
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Je verlaat OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}De voorwaarden voor het downloaden van inhoud van externe websites variëren.{}Ga naar de externe website voor instructies over het installeren van de inhoud in OpenTTD.{}Wil je doorgaan?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Tag-/naamfilter:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Website bezoeken
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Website
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Bezoek de website voor deze inhoud
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Start met het downloaden van de geselecteerde inhoud
|
||||
@@ -4566,8 +4573,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(wacht gedurend
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reis gedurende {STRING}, geen dienstregeling)
|
||||
STR_TIMETABLE_STAY_FOR :en blijf gedurende {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :en rijd {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" en}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ken}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Deze dienstregeling duurt {STRING}
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Deze dienstregeling duurt minstens {STRING} (niet alles ingeroosterd)
|
||||
@@ -4576,10 +4581,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Dit voer
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Dit voertuig heeft {STRING} vertraging
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Dit voertuig is {STRING} te vroeg
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Deze dienstregeling is nog niet gestart
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Deze dienstregeling begint op {STRING}
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Deze dienstregeling begint om {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Deze dienstregeling start over {COMMA} seconden
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Startdatum
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecteer een datum als startpunt voor deze dienstregeling. Ctrl+klik verdeelt alle voertuigen die deze orders delen gelijkmatig vanaf deze datum op basis van hun relatieve volgorde, als de order volledig is ingeroosterd
|
||||
STR_TIMETABLE_START :{BLACK}Start dienstregeling
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecteer wanneer deze dienstregeling start. Ctrl+klik verdeelt de start van alle voertuigen met deze orders op basis van hun relatieve volgorde, mits de order een volledige dienstregeling heeft
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Seconden tot de dienstregeling start
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Tijd wijzigen
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Verander de tijdsduur die de geselecteerde order mag duren. Met Ctrl+klik stel je de tijd voor alle orders in
|
||||
@@ -4603,8 +4611,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Verwacht
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Volgens dienstregeling
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Wissel tussen verwacht en volgens dienstregeling
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :V: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sec
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :V: {COLOUR}{COMMA} sec
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
@@ -4707,9 +4717,12 @@ STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Terug in
|
||||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Vooruit in de bladergeschiedenis
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Tekst afbreken
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Tekst aanpassen aan venster zodat je niet hoeft te bladeren
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Leesmij-bestand bekijken
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Leesmij-bestand
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :Leesmij-bestand bekijken
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Wijzigingen
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Overzicht van wijzigingen bekijken
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licentie
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Licentie bekijken
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} leesmij van {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} wijzigingen van {STRING}
|
||||
|
@@ -255,6 +255,10 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}day{P "" s}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}second{P "" s}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filter:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Enter one or more keywords to filter the list for
|
||||
@@ -718,8 +722,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Click on
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Click on music track to remove it from current programme (Custom1 or Custom2 only)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top companies who reached {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Company League Table in {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Top companies
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Businessperson
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entrepreneur
|
||||
@@ -1488,7 +1491,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {STRING2}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness of the landscape
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Choose the height of hills and mountains of the landscape
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry density: {STRING2}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game
|
||||
@@ -1497,18 +1500,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distanc
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up.
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING2}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controls at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage"
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Choose at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage"
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :Snow coverage: {STRING2}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Controls the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Land just above sea level is always without snow
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :Desert coverage: {STRING2}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Control the approximate amount of desert on the tropical landscape. Desert also affects industry generation. Only used during map generation
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Choose the approximate amount of desert on the tropical landscape. Desert also affects industry generation and town growth requirements. Only used during map generation
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING2}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Choose the frequency of hills: Smooth landscapes have fewer, more wide-spread hills. Rough landscapes have many hills, which may look repetitive
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills.
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth
|
||||
@@ -1516,7 +1519,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING2}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only) Control whether the map contains both mountainous and flat areas. Since this only makes the map flatter, other settings should be set to mountainous
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas.
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING2}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate
|
||||
@@ -1536,6 +1539,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Drive on left
|
||||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Drive on right
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Heightmap rotation: {STRING2}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Choose which way the heightmap image is rotated to fit into the game world
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Counter clockwise
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clockwise
|
||||
@@ -1656,8 +1660,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Enable usage of
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Use loading indicators: {STRING2}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Select whether loading indicators are displayed above loading or unloading vehicles
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Show timetable in ticks rather than days: {STRING2}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Show travel times in time tables in game ticks instead of days
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Time units for timetables: {STRING2}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Select the time units used for vehicle timetables
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Days
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Seconds
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Ticks
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Show arrival and departure in timetables: {STRING2}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Display anticipated arrival and departure times in timetables
|
||||
@@ -2346,7 +2354,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}The game
|
||||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Set password
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protect your game with a password if you don't want it to be publicly accessible
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibility
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibility:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Whether other people can see your server in the public listing
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximum number of clients:
|
||||
@@ -2581,7 +2589,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Search c
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}You are leaving OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}The terms and conditions for downloading content from external websites vary.{}You will have to refer to the external sites for instructions how to install the content into OpenTTD.{}Do you want to continue?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Tag/name filter:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visit website
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Website
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visit the website for this content
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Start downloading the selected content
|
||||
@@ -3201,11 +3209,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}Map size
|
||||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Select the size of the map in tiles. The number of available tiles will be slightly smaller
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. of towns:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Select the density of towns, or a custom number
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Town names:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Select style of town names
|
||||
STR_MAPGEN_DATE :{BLACK}Date:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Select starting date
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. of industries:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Select the density of industries, or a custom number
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Highest peak:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Choose the highest peak that the game will attempt to create, measured in elevation above sea level
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Increase the maximum height of highest peak on the map by one
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Decrease the maximum height of highest peak on the map by one
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}Snow coverage:
|
||||
@@ -3218,10 +3230,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Decrease
|
||||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrain type:
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Sea level:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Select the sea level
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rivers:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Smoothness:
|
||||
STR_MAPGEN_VARIETY :{BLACK}Variety distribution:
|
||||
STR_MAPGEN_GENERATE :{WHITE}Generate
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Create the world and play OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Settings
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Display NewGRF settings
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}AI Settings
|
||||
@@ -3254,6 +3268,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalan
|
||||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}Map edges:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Choose the borders of the game world
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}Northwest
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Northeast
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Southeast
|
||||
@@ -3266,7 +3281,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
||||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Heightmap rotation:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Heightmap name:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}The name of the heightmap image file
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Size:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}The size of the source heightmap image. For best results, each edge should match an available map edge length in OpenTTD, such as 256, 512, 1024, etc.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Target peak height
|
||||
@@ -3281,6 +3298,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Flat lan
|
||||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generate a flat land
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Random land
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Height of flat land:
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Choose the height of the land above sea level
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Move the height of flat land one down
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Move the height of flat land one up
|
||||
|
||||
@@ -4566,8 +4584,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(stay for {STRI
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(travel for {STRING1}, not timetabled)
|
||||
STR_TIMETABLE_STAY_FOR :and stay for {STRING1}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :and travel for {STRING1}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING1} to complete
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING1} to complete (not all timetabled)
|
||||
@@ -4576,10 +4592,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}This veh
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}This vehicle is currently running {STRING1} late
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}This vehicle is currently running {STRING1} early
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}This timetable has not yet started
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}This timetable will start at {STRING1}
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}This timetable will start at {STRING1}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}This timetable will start in {COMMA} seconds
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Start date
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Select a date as starting point of this timetable. Ctrl+Click distributes all vehicles sharing this order evenly from the given date based on their relative order, if the order is completely timetabled
|
||||
STR_TIMETABLE_START :{BLACK}Start Timetable
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Select when this timetable starts. Ctrl+Click evenly distributes the start of all vehicles sharing this order based on their relative order, if the order is completely timetabled
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Seconds until timetable starts
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Change Time
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Change the amount of time that the highlighted order should take. Ctrl+Click sets the time for all orders
|
||||
@@ -4603,8 +4622,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Expected
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Scheduled
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Switch between expected and scheduled
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sec
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} sec
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
@@ -4632,9 +4653,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Match ca
|
||||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Toggle matching case when comparing AI log messages against the break string
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Continue
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Unpause and continue the AI
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}View debug output of this AI
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}View debug output of this AI. Ctrl-Click to open in a new window
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Game Script
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check the Game Script log
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check the Game Script log. Ctrl-Click to open in a new window
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :No suitable AI found to load.{}This AI is a dummy AI and won't do anything.{}You can download several AIs via the 'Online Content' system
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running scripts crashed. Please report this to the script author with a screenshot of the AI/Game Script Debug Window
|
||||
@@ -4707,9 +4728,12 @@ STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Go back
|
||||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Return forward in navigation history
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Wrap text
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Wrap the text of the window so it all fits without having to scroll
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}View readme
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Readme
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :View readme for this content
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Changelog
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :View changelog for this content
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licence
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :View licence for this content
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} readme of {RAW_STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} changelog of {RAW_STRING}
|
||||
|
@@ -255,6 +255,10 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}day{P "" s}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}second{P "" s}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filter:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Enter one or more keywords to filter the list for
|
||||
@@ -718,8 +722,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Click on
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Click on music track to remove it from current programme (Custom1 or Custom2 only)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top companies who reached {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Company League Table in {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Top companies
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Businessperson
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entrepreneur
|
||||
@@ -1488,7 +1491,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {STRING}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness of the landscape
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Choose the height of hills and mountains of the landscape
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry density: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game
|
||||
@@ -1497,18 +1500,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distanc
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oil refineries are only constructed near the map border, that is at the coast for island maps
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controls at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage"
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Choose at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage"
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :Snow coverage: {STRING}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Controls the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Land just above sea level is always without snow
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :Desert coverage: {STRING}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Control the approximate amount of desert on the tropical landscape. Desert also affects industry generation. Only used during map generation
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Choose the approximate amount of desert on the tropical landscape. Desert also affects industry generation and town growth requirements. Only used during map generation
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Choose the frequency of hills: Smooth landscapes have fewer, more wide-spread hills. Rough landscapes have many hills, which may look repetitive
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills.
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth
|
||||
@@ -1516,7 +1519,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only) Control whether the map contains both mountainous and flat areas. Since this only makes the map flatter, other settings should be set to mountainous
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas.
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate
|
||||
@@ -1536,6 +1539,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Drive on left
|
||||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Drive on right
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Heightmap rotation: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Choose which way the heightmap image is rotated to fit into the game world
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Counter clockwise
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clockwise
|
||||
@@ -1656,8 +1660,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Enable usage of
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Use loading indicators: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Select whether loading indicators are displayed above loading or unloading vehicles
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Show timetable in ticks rather than days: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Show travel times in time tables in game ticks instead of days
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Time units for timetables: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Select the time units used for vehicle timetables
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Days
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Seconds
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Ticks
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Show arrival and departure in timetables: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Display anticipated arrival and departure times in timetables
|
||||
@@ -2346,7 +2354,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}The game
|
||||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Set password
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protect your game with a password if you don't want it to be publicly accessible
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibility
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibility:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Whether other people can see your server in the public listing
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximum number of clients:
|
||||
@@ -2581,7 +2589,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Search c
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}You are leaving OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}The terms and conditions for downloading content from external websites vary.{}You will have to refer to the external sites for instructions how to install the content into OpenTTD.{}Do you want to continue?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Tag/name filter:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visit website
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Website
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visit the website for this content
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Start downloading the selected content
|
||||
@@ -3201,11 +3209,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}Map size
|
||||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Select the size of the map in tiles. The number of available tiles will be slightly smaller
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. of towns:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Select the density of towns, or a custom number
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Town names:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Select style of town names
|
||||
STR_MAPGEN_DATE :{BLACK}Date:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Select starting date
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. of industries:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Select the density of industries, or a custom number
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Highest peak:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Choose the highest peak that the game will attempt to create, measured in elevation above sea level
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Increase the maximum height of highest peak on the map by one
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Decrease the maximum height of highest peak on the map by one
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}Snow coverage:
|
||||
@@ -3218,10 +3230,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Decrease
|
||||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrain type:
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Sea level:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Select the sea level
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rivers:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Smoothness:
|
||||
STR_MAPGEN_VARIETY :{BLACK}Variety distribution:
|
||||
STR_MAPGEN_GENERATE :{WHITE}Generate
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Create the world and play OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Settings
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Display NewGRF settings
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}AI Settings
|
||||
@@ -3254,6 +3268,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalan
|
||||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}Map edges:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Choose the borders of the game world
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}Northwest
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Northeast
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Southeast
|
||||
@@ -3266,7 +3281,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
||||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Heightmap rotation:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Heightmap name:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}The name of the heightmap image file
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Size:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}The size of the source heightmap image. For best results, each edge should match an available map edge length in OpenTTD, such as 256, 512, 1024, etc.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Target peak height
|
||||
@@ -3281,6 +3298,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Flat lan
|
||||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generate a flat land
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Random land
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Height of flat land:
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Choose the height of the land above sea level
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Move the height of flat land one down
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Move the height of flat land one up
|
||||
|
||||
@@ -4566,8 +4584,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(stay for {STRI
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(travel for {STRING}, not timetabled)
|
||||
STR_TIMETABLE_STAY_FOR :and stay for {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :and travel for {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING} to complete
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING} to complete (not all timetabled)
|
||||
@@ -4576,10 +4592,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}This veh
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}This vehicle is currently running {STRING} late
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}This vehicle is currently running {STRING} early
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}This timetable has not yet started
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}This timetable will start at {STRING}
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}This timetable will start at {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}This timetable will start in {COMMA} seconds
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Start date
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Select a date as starting point of this timetable. Ctrl+Click distributes all vehicles sharing this order evenly from the given date based on their relative order, if the order is completely timetabled
|
||||
STR_TIMETABLE_START :{BLACK}Start Timetable
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Select when this timetable starts. Ctrl+Click evenly distributes the start of all vehicles sharing this order based on their relative order, if the order is completely timetabled
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Seconds until timetable starts
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Change Time
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Change the amount of time that the highlighted order should take. Ctrl+Click sets the time for all orders
|
||||
@@ -4603,8 +4622,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Expected
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Scheduled
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Switch between expected and scheduled
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sec
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} sec
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
@@ -4707,9 +4728,12 @@ STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Go back
|
||||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Return forward in navigation history
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Wrap text
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Wrap the text of the window so it all fits without having to scroll
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}View readme
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Readme
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :View readme for this content
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Changelog
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :View changelog for this content
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}License
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :View licence for this content
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} readme of {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} changelog of {STRING}
|
||||
|
@@ -255,6 +255,10 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}day{P "" s}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}second{P "" s}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filter:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Enter one or more keywords to filter the list for
|
||||
@@ -718,8 +722,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Click on
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Click on music track to remove it from current program (Custom1 or Custom2 only)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top companies who reached {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Company League Table in {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Top companies
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Businessperson
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entrepreneur
|
||||
@@ -1488,7 +1491,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {STRING}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness of the landscape
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Choose the height of hills and mountains of the landscape
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry density: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game
|
||||
@@ -1497,18 +1500,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distanc
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up.
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controls at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage"
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Choose at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage"
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :Snow coverage: {STRING}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Controls the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Land just above sea level is always without snow
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :Desert coverage: {STRING}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Control the approximate amount of desert on the tropical landscape. Desert also affects industry generation. Only used during map generation
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Choose the approximate amount of desert on the tropical landscape. Desert also affects industry generation and town growth requirements. Only used during map generation
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only) Choose the frequency of hills: Smooth landscapes have fewer, more wide-spread hills. Rough landscapes have many hills, which may look repetitive
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills.
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth
|
||||
@@ -1516,7 +1519,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis only) Control whether the map contains both mountainous and flat areas. Since this only makes the map flatter, other settings should be set to mountainous
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas.
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate
|
||||
@@ -1536,6 +1539,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Drive on left
|
||||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Drive on right
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Heightmap rotation: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Choose which way the heightmap image is rotated to fit into the game world
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Counter-clockwise
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clockwise
|
||||
@@ -1656,8 +1660,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Enable usage of
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Use loading indicators: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Select whether loading indicators are displayed above loading or unloading vehicles
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Show timetable in ticks rather than days: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Show travel times in time tables in game ticks instead of days
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Time units for timetables: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Select the time units used for vehicle timetables
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Days
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Seconds
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Ticks
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Show arrival and departure in timetables: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Display anticipated arrival and departure times in timetables
|
||||
@@ -2346,7 +2354,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}The game
|
||||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Set password
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protect your game with a password if you don't want it to be publicly accessible
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibility
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibility:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Whether other people can see your server in the public listing
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximum number of clients:
|
||||
@@ -2581,7 +2589,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Search c
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}You are leaving OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}The terms and conditions for downloading content from external websites vary.{}You will have to refer to the external sites for instructions how to install the content into OpenTTD.{}Do you want to continue?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Tag/name filter:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visit website
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Website
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visit the website for this content
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Start downloading the selected content
|
||||
@@ -3201,11 +3209,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}Map size
|
||||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Select the size of the map in tiles. The number of available tiles will be slightly smaller
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}No. of towns:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Select the density of towns, or a custom number
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Town names:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Select style of town names
|
||||
STR_MAPGEN_DATE :{BLACK}Date:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Select starting date
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}No. of industries:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Select the density of industries, or a custom number
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Highest peak:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Choose the highest peak that the game will attempt to create, measured in elevation above sea level
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Increase the maximum height of highest peak on the map by one
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Decrease the maximum height of highest peak on the map by one
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}Snow coverage:
|
||||
@@ -3218,10 +3230,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Decrease
|
||||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrain type:
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Sea level:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Select the sea level
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rivers:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Smoothness:
|
||||
STR_MAPGEN_VARIETY :{BLACK}Variety distribution:
|
||||
STR_MAPGEN_GENERATE :{WHITE}Generate
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Create the world and play OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Settings
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Display NewGRF settings
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}AI Settings
|
||||
@@ -3254,6 +3268,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalan
|
||||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}Map edges:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Choose the borders of the game world
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}Northwest
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Northeast
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Southeast
|
||||
@@ -3266,7 +3281,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
||||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Heightmap rotation:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Heightmap name:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}The name of the heightmap image file
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Size:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}The size of the source heightmap image. For best results, each edge should match an available map edge length in OpenTTD, such as 256, 512, 1024, etc.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Target peak height
|
||||
@@ -3281,6 +3298,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Flat lan
|
||||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generate a flat land
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Random land
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Height of flat land:
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Choose the height of the land above sea level
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Move the height of flat land down one
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Move the height of flat land up one
|
||||
|
||||
@@ -4566,8 +4584,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(stay for {STRI
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(travel for {STRING}, not timetabled)
|
||||
STR_TIMETABLE_STAY_FOR :and stay for {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :and travel for {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}day{P "" s}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}This timetable will take {STRING} to complete
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}This timetable will take at least {STRING} to complete (not all timetabled)
|
||||
@@ -4576,10 +4592,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}This veh
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}This vehicle is currently running {STRING} late
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}This vehicle is currently running {STRING} early
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}This timetable has not yet started
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}This timetable will start at {STRING}
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}This timetable will start at {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}This timetable will start in {COMMA} seconds
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Start Date
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Select a date as starting point of this timetable. Ctrl+Click distributes all vehicles sharing this order evenly from the given date based on their relative order, if the order is completely timetabled
|
||||
STR_TIMETABLE_START :{BLACK}Start Timetable
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Select when this timetable starts. Ctrl+Click evenly distributes the start of all vehicles sharing this order based on their relative order, if the order is completely timetabled
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Seconds until timetable starts
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Change Time
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Change the amount of time that the highlighted order should take. Ctrl+Click sets the time for all orders
|
||||
@@ -4603,8 +4622,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Expected
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Scheduled
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Switch between expected and scheduled
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sec
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} sec
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
@@ -4707,9 +4728,12 @@ STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Go back
|
||||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Return forward in navigation history
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Wrap text
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Wrap the text of the window so it all fits without having to scroll
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}View readme
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Readme
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :View readme for this content
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Changelog
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :View changelog for this content
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}License
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :View license for this content
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} readme of {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} changelog of {STRING}
|
||||
|
@@ -321,6 +321,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtroteksto:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Entajpu filtrotekston.
|
||||
@@ -778,8 +779,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Alklaku
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Alklaku muzikeron por viŝi el la nuna programo (nur propra)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Superkompanioj kiuj atingis {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Kompania tabelo en {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Komercisto
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entreprenisto
|
||||
@@ -1677,7 +1676,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ebligu uzadon d
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Uzu ŝarg-indikilojn: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Elektu ĉu ŝarĝ-indikiloj estas montrataj sub ŝarĝataj aŭ malŝarĝataj veturiloj
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Montru horaron laŭ tikoj anstataŭ laŭ tagoj: {STRING}
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Montru alvenojn kaj forirojn sur horaroj: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Montru antaŭvidatajn alven- kaj forir-tempojn en horaroj
|
||||
@@ -4471,9 +4470,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(haltu dum {STR
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(veturos dum {STRING}, sen horaro)
|
||||
STR_TIMETABLE_STAY_FOR :kaj restu dum {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :kaj veturu dum {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}tago{P "" j}
|
||||
STR_TIMETABLE_DAYS.n :{COMMA}{NBSP}tago{P "" j}n
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tiko{P "" j}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Plenumi ĉi tiun horaron postulos {STRING.n}
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Ĉi tio horaro postulos alemnaŭ {STRING} plenigi (ne ĉiu horarita)
|
||||
@@ -4482,9 +4478,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Ĉi tiu
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Ĉi tiu veturilo nun malfruas je {STRING}
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Ĉi tiu veturilo nun fruas je {STRING}
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ĉi tiu horaro ankoraŭ ne komenciĝas.
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Ĉi tiu horaro komenciĝos je {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Komencodato
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Ŝanĝu tempon
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ŝanĝu kiom da tempo devus postuli la markita ordono. Stir+Klak ŝanĝas la tempon por ĉiuj ordonoj
|
||||
@@ -4508,8 +4503,6 @@ STR_TIMETABLE_EXPECTED :{BLACK}Atendite
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Planite
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Ŝalti inter atendite kaj planite
|
||||
|
||||
STR_TIMETABLE_ARRIVAL :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE :E: {COLOUR}{DATE_TINY}
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
|
@@ -294,6 +294,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL} meete
|
||||
STR_UNITS_HEIGHT_METRIC :{DECIMAL} m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL} m
|
||||
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Märksõna:
|
||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Sisesta üks või enam märksõna mille järgi nimekirja filtreerida
|
||||
@@ -755,8 +756,6 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Vajuta l
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Vajuta laulule, et see eemaldada praegusest progammist (Custom1 või Custom2 ainult)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Parimad ettevõtted aastal {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Ettevõtete edetabelis {NUM} kohal
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Äriinimene
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Ettevõtja
|
||||
@@ -1654,8 +1653,7 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Laseb kasutada
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Kasuta laadimisnäidikuid: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Vali, kas koorma laadimisel ja tühjendamisel näidatakse laadimisnäidikuid
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Graafik on sammudes, mitte päevades: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Graafikus on ajad märgitud mitte päevades, vaid sammudes
|
||||
###length 3
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Graafikus on saabumis- ja väljumisajad: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Sõiduki graafikus esitatakse eeldatavaid saabumis- ja väljumisaegu
|
||||
@@ -4524,8 +4522,6 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(Oode {STRING},
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :({STRING} sõidukestus, ajastamata)
|
||||
STR_TIMETABLE_STAY_FOR :ja oota {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :ja sõida {STRING} jaoks
|
||||
STR_TIMETABLE_DAYS :{COMMA} päev{P "" a}
|
||||
STR_TIMETABLE_TICKS :{COMMA} samm{P "" u}
|
||||
|
||||
STR_TIMETABLE_TOTAL_TIME :{BLACK}Selle graafiku läbimine võtab {STRING}
|
||||
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Selle graafiku läbimine võtab vähemalt {STRING} (kõik ei ole planeeritud)
|
||||
@@ -4534,10 +4530,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Sõiduk
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}See sõiduk on {STRING} hiljaks jäämas
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}See sõiduk on {STRING} varajane
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Graafikuga pole veel alustatud
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Graafikuga alustatakse {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Alguskuupäev
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Vali graafiku alguskuupäev. Ctrl-klõps määrab graafiku alguskuupäeva ja jaotab sõidukid ühtlaselt, kasutades järjestust, kui sihid on planeeritud
|
||||
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Muuda aega
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Muuda märgitud korraldusele määratud aega. Ctrl+klõps seab aja kõigile korraldustele
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Vliegtuie
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Outostoor: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Tyd tussen outomatiese spelstore
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vertoon rooster in "ticks" liewer as dae: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Wys die rystye in tydroosters in speletjie "ticks" inplaas van dae
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Wissel deursigtigheid vir laai aanwysers. Ctrl+klik om te sluit
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,8 @@ STR_VEHICLE_TYPE_AIRCRAFT :طائرات
|
||||
STR_CONFIG_SETTING_AUTOSAVE :حفظ تلقائي : {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :اختر الوقت بين كل عملية حفظ اتوماتيكية
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :عرض جدولة الأعمال بالمهام بدلا من الأيام: {STRING}
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}غير الشفافية لنسبة التحميل. مفتاح كنترول للاغلاق.
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Hegazkinak
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Auto-gordea: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Partida gordetze automatikoaren bitartea aukeratu
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Ordutegiak tick-etan erakutsi egunetan erakutsi ordez: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Erakutsi denbora tauletako denbora jokoaren uniteetan egunak erabili ordez
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Zama adierazleen gardentasuna aldatu. Ktrl+Klik blokeatzeko
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Авіятра
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Аўтазахаваньні: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Азначце інтэрвал паміж аўтаматычнымі захаваньнямі
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Паказваць расклад ў «ціках» замест дзён: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Паказваць у раскладзе час падарожжа ў гульнёвых "ціках" замест дзён.
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Пераключыць празрыстасьць для індыкатараў загрузкі. Ctrl+клік — заблякаваць.
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Aeronaves
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Auto-salvar: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecione intervalo entre jogos salvos automaticamente
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Exibir plano de horário em tiques ao invés de dias: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra tempos de viagem, nos planos de horário, em tiques, ao invés de dias. Um tique equivale a 1/74 dia, ou 1/30 segundo.
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Altera transparência para os indicadores de carga. Ctrl+Clique para travar
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -8,6 +8,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Самолет
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Автоматично запазване: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Изберете интервал между автоматично запаметяване на играта
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Разписанието в цикли вместо дни: {STRING.n}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Показва времената за придвижване в таблиците в игрови единици, вместо в дни
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Вклучи прозрачност за товарещи указатели. Ctrl+Click за заключване
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Avions
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Desada automàtica: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona l'interval entre desades automàtiques de les partides.
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostra horaris amb marques en lloc de dies: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra els temps de viatge als horaris en marques en lloc de dies
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Commuta la transparència dels indicadors de càrrega. Ctrl+Clic per bloquejar
|
||||
|
||||
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION_GENERAL :{}Temps de viatge mitjà: {STRING}
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Zrakoplov
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Automatsko snimanje: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Odaberite interval između automatskog snimanja igre
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Pokaži vozni red u otkucajima rađe nego u danima: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Prikaži trajanje putovanja u voznim redovima u otkucajima igre umjesto u danima
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Namjesti prozirnost za indikatore učitavanja. Ctrl+klik za zaključavanje
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -680,6 +680,9 @@ STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES_ANYWHERE :všude
|
||||
STR_CONFIG_SETTING_NETWORK_CHANGE_NOT_ALLOWED :{WHITE}Nelze změnit nastavení...
|
||||
STR_CONFIG_SETTING_NETWORK_CHANGE_NOT_ALLOWED_NEWGRF :{WHITE}...nastavení je sledováno souborem NewGRF
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Zobrazit jízdní řády v cyklech místo ve dnech: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Ukazuje cestovní časy v jízdních řádech
|
||||
|
||||
STR_CHEAT_EDIT_MONEY_QUERY_CAPT :{WHITE}Přidat nebo odebrat peníze
|
||||
STR_CHEAT_INFLATION_COST :{LTBLUE}Změnit faktor inflace nákladů: {ORANGE}{DECIMAL}
|
||||
STR_CHEAT_INFLATION_COST_QUERY_CAPT :{WHITE}Změnit faktor inflace nákladů
|
||||
|
@@ -14,6 +14,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Fly
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Auto gem: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vælg interval mellem automatisk gemte spil
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vis køreplan i tik i stedet for dage: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Vis rejsetider i køreplaner i spil ticks i stedet for dage
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Slå gennemsigtighed til/fra for laste-indikatorer. CTRL+Klik for at låse værdi.
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Vliegtuigen
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Automatisch opslaan: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Tijdsduur kiezen voor automatische spelopslag
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Dienstregeling in tikken weergeven i.p.v. in dagen: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Reistijden in tijdtabellen in speltikken weergeven in plaats van dagen
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Transparantie voor laadpercentages aan-uit. Ctrl+klik om vast te zetten.
|
||||
|
||||
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION_GENERAL :{}Gemiddelde reistijd: {STRING}
|
||||
|
@@ -759,6 +759,9 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_SKIP_STATIONS_HELPTEXT :Select the beha
|
||||
STR_CONFIG_SETTING_NETWORK_CHANGE_NOT_ALLOWED :{WHITE}Can't change setting...
|
||||
STR_CONFIG_SETTING_NETWORK_CHANGE_NOT_ALLOWED_NEWGRF :{WHITE}...setting is observed by a NewGRF
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Show timetable in ticks rather than days: {STRING2}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Show travel times in time tables in game ticks instead of days
|
||||
|
||||
STR_CHEAT_EDIT_MONEY_QUERY_CAPT :{WHITE}Increase or decrease money
|
||||
STR_CHEAT_INFLATION_COST :{LTBLUE}Change inflation cost factor: {ORANGE}{DECIMAL}
|
||||
STR_CHEAT_INFLATION_COST_QUERY_CAPT :{WHITE}Change inflation cost factor
|
||||
|
@@ -37,6 +37,9 @@ STR_CONFIG_SETTING_CITY_ZONE_3_MULT_HELPTEXT :Multiplier for
|
||||
STR_CONFIG_SETTING_CITY_ZONE_4_MULT :Multiplier for City Zone 4: {STRING}
|
||||
STR_CONFIG_SETTING_CITY_ZONE_4_MULT_HELPTEXT :Multiplier for the size of City Zone 4 (Innermost roads with street lights). This setting works best with minor alterations.
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Show timetable in ticks rather than days: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Show travel times in time tables in game ticks instead of days
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Toggle transparency for loading indicators. Ctrl+Click to lock
|
||||
|
||||
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION_GENERAL :{}Average travel time: {STRING}
|
||||
|
@@ -39,6 +39,9 @@ STR_CONFIG_SETTING_CITY_ZONE_3_MULT_HELPTEXT :Multiplier for
|
||||
STR_CONFIG_SETTING_CITY_ZONE_4_MULT :Multiplier for City Zone 4: {STRING}
|
||||
STR_CONFIG_SETTING_CITY_ZONE_4_MULT_HELPTEXT :Multiplier for the size of City Zone 4 (Innermost roads with street lights). This setting works best with minor alterations.
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Show timetable in ticks rather than days: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Show travel times in time tables in game ticks instead of days
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Toggle transparency for loading indicators. Ctrl+Click to lock
|
||||
|
||||
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION_GENERAL :{}Average travel time: {STRING}
|
||||
|
@@ -12,6 +12,8 @@ STR_VEHICLE_TYPE_AIRCRAFT :Aviadiloj
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Aŭtomata konservado: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Elektu intervalon inter aŭtomataj konservadoj de la ludo
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Montru horaron laŭ tikoj anstataŭ laŭ tagoj: {STRING}
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Baskuligi travideblecon de ŝarĝindikiloj. Ctrl+Klaku por ŝlosi
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Õhusõidukid
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Salvestusväłp: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vali välpsalvestuste vaheline ajavahemik
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Graafik on sammudes, mitte päevades: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Graafikus on ajad märgitud mitte päevades, vaid sammudes
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Vaheta laadimisnäidikute läbipaistvust. Ctrl+klõps lukustab
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -9,6 +9,9 @@ STR_VEHICLE_TYPE_ROAD_VEHICLES :Akfør
|
||||
STR_VEHICLE_TYPE_SHIPS :Skip
|
||||
STR_VEHICLE_TYPE_AIRCRAFT :Flogfør
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vís tíðarætlan í klikkum heldur enn døgum: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Vís koyri tíðir í tíðarætlanum við 'spæli klikkum' í staðin fyri við døgum
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Tendra/sløkk gjøgnumskygni fyri lessingar vísarar. Ctrl+trýst fyri at læsa
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Ilma-alukset
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Automaattitallennus: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Valitse aikaväli automaattisille pelitallennuksille
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Näytä aikataulu askelina päivien sijaan: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Näytä aikataulun ajat päivien sijasta askelina
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Muuta lastausilmaisimien läpinäkyvyyttä. Ctrl+napsautus lukitsee.
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Aéronefs
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Sauvegarde automatique{NBSP}: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Sélectionner l'intervalle de temps entre les sauvegardes automatiques
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Afficher l'horaire en ticks plutôt qu'en jours{NBSP}: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Affiche les temps de trajets dans les horaires en ticks plutôt qu'en jours
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Transparence des indicateurs de chargement.{}Ctrl-clic pour verrouiller.
|
||||
|
||||
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION_GENERAL :{}Temps de trajet moyen{NBSP}: {STRING}
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Fleantugen
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Automatysk bewarje: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selektearje de tiid tusken automatysk bewarje fan it spul
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Toan tsjinstregeling yn tikken yn stee fan yn dagen: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Lit reistiden sjen in tikken yn stee fan yn dagen op tsjinstregelings
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
||||
# Programmable Pre-Signals
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Carbadan-adhair
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Fèin-sàbhaladh: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Tagh dè cho tric ’s a thèid geamannan a shàbhaladh gu fèin-obrachail
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Seall an clàr-ama ann an diogan seach làithean: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Seall na h-ùinean siubhail ann an clàran-ama le diogan geama seach làithean
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Toglaich trìd-shoillearachd nan comharraidhean luchdaidh. Ctrl+Briogadh airson glasadh
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -704,6 +704,9 @@ STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES_ANYWHERE :En calquer luga
|
||||
STR_CONFIG_SETTING_NETWORK_CHANGE_NOT_ALLOWED :{WHITE}Non se pode modificar a opción...
|
||||
STR_CONFIG_SETTING_NETWORK_CHANGE_NOT_ALLOWED_NEWGRF :{WHITE}...o axuste está controlado por un NewGRF
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostra-lo horario en ticks en lugar de en días: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra-los tempos de viaxe nos horarios en ticks en vez de en días
|
||||
|
||||
STR_CHEAT_EDIT_MONEY_QUERY_CAPT :{WHITE}Aumentar ou disminuir os cartos
|
||||
STR_CHEAT_INFLATION_COST :{LTBLUE}Modificar o factor da inflación de custos: {ORANGE}{DECIMAL}
|
||||
STR_CHEAT_INFLATION_COST_QUERY_CAPT :{WHITE}Modificar o factor da inflación de custos
|
||||
|
@@ -597,6 +597,9 @@ STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES_OFF :Aus
|
||||
STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES_WITHIN_TOWN :Innerhalb des Einzugsgebiets
|
||||
STR_CONFIG_SETTING_SCENARIO_HOUSE_IGNORE_ZONES_ANYWHERE :Überall
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Fahrpläne in Ticks anstatt in Tagen anzeigen: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Zeige Fahrtzeiten in Fahrplänen in Ticks statt Tagen
|
||||
|
||||
STR_CHEAT_EDIT_MONEY_QUERY_CAPT :{WHITE}Erhöhe oder verringere das verfügbare Geld
|
||||
STR_CHEAT_INFLATION_COST :{LTBLUE}Ändere Inflationsfaktor der Kosten: {ORANGE}{DECIMAL}
|
||||
STR_CHEAT_INFLATION_COST_QUERY_CAPT :{WHITE}Ändert den Faktor der Inflation der Kosten
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Αεροσκά
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Αυτόματο σώσιμο: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Επιλέξτε το διάστημα ανάμεσα σε δυο διαδοχικά σωσίματα του παιχνιδιου
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Εμφάνιση δρομολογίων σε στιγμές αντί για ημέρες: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Εμφάνιση χρόνων ταξιδιού στα χρονοδιαγράμματα σε στιγμές αντί σε ημέρες
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για τις ενδείξεις φόρτωσης. Ctrl+Κλικ για να την κλειδώσετε
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :כלי טייס
|
||||
STR_CONFIG_SETTING_AUTOSAVE :שמירה אוטומטית: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :בחר פרק זמן בין שמירות אוטומטיות
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :{STRING} :הצג לוח זמנים בפעימות במקום בימים
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :הצג זמני נסיעה בלוחות זמנים בפעימות משחק במקום בימים
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}שנה שקיפות עבור מצביעי הטענה. Ctrl+לחיצה לנעילה
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Repülőgép
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Automatikus mentés: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Az automatikus mentések között eltelő idő
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Menetrendi idő-alapegység tick a nap helyett: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Az utazási idők megjelenítése napok helyett tickekben
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Átlátszó rakodásjelző bekapcsolása. Ctrl+kattintással zárolható
|
||||
|
||||
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION_GENERAL :{}Átlagos utazási idő: {STRING}
|
||||
|
@@ -9,6 +9,9 @@ STR_VEHICLE_TYPE_ROAD_VEHICLES :Bifreiðir
|
||||
STR_VEHICLE_TYPE_SHIPS :Skip
|
||||
STR_VEHICLE_TYPE_AIRCRAFT :Flugvélar
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Birta áætlanir í slögum frekar en dögum: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Sýna ferðatíma í áætlun í slögum frekar en dögum
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Virkja/afvirkja gegnsæji hleðslumæla. Ctrl+smella til að læsa
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Pesawat
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Simpan otomatis: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Memilih jarak waktu antara menyimpan data game
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Penjadwalan menggunakan satuan titik , bukan satuan hari: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Menunjukan waktu perjalanan dalam titik permainan daripada dalam hari
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Hidup/matikan indikator proses pemuatan kargo. CTRL+klik untuk mengunci
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -12,6 +12,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Aerárthaigh
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Uathshábháil: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Roghnaigh an t-eatramh idir uathshábhálacha cluichí
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Taispeáin an t-amchlár i dticeanna seachas i laethanta: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Taispeáin amanna taistil i dtáblaí ama i dticeanna cluiche seachas laethanta
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Scoránaigh trédhearcacht do tháscairí lódála. Ctrl+Cliceáil le glasáil.
|
||||
|
||||
# Tracerestrict GUI
|
||||
|
@@ -13,6 +13,9 @@ STR_VEHICLE_TYPE_AIRCRAFT :Aeromobili
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Salvataggi automatici: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Seleziona l'intervallo fra i salvataggi automatici della partita
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostra le tabelle orarie in tick piuttosto che in giorni: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra il tempo di viaggio in tick del simulatore invece che in giorni
|
||||
|
||||
STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza degli indicatori di caricamento. CTRL+clic per bloccare
|
||||
|
||||
STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION_GENERAL :{}tempo medio di percorrenza: {STRING}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user