From c9120cd71491f5be5c056ccde420b8d146eccb68 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 9 Aug 2015 10:21:06 +0000 Subject: [PATCH 01/62] (svn r27365) -Fix: Center settings filter warning also vertically, and also in case of multiple lines. --- src/settings_gui.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index f1af4804e4..19949671f4 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1883,13 +1883,13 @@ struct GameSettingsWindow : Window { if (this->warn_missing != WHR_NONE) { const int left = panel->pos_x; const int right = left + panel->current_x - 1; - const int top = panel->pos_y; + const int top = panel->pos_y + WD_FRAMETEXT_TOP + (SETTING_HEIGHT - FONT_HEIGHT_NORMAL) * this->warn_lines / 2; SetDParam(0, _game_settings_restrict_dropdown[this->filter.min_cat]); if (this->warn_lines == 1) { /* If the warning fits at one line, center it. */ - DrawString(left + WD_FRAMETEXT_LEFT, right - WD_FRAMETEXT_RIGHT, top + WD_FRAMETEXT_TOP, warn_str, TC_FROMSTRING, SA_HOR_CENTER); + DrawString(left + WD_FRAMETEXT_LEFT, right - WD_FRAMETEXT_RIGHT, top, warn_str, TC_FROMSTRING, SA_HOR_CENTER); } else { - DrawStringMultiLine(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top + WD_FRAMERECT_TOP, INT32_MAX, warn_str); + DrawStringMultiLine(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top, INT32_MAX, warn_str, TC_FROMSTRING, SA_HOR_CENTER); } } } From 9f72662ecc3915b8ea217c68c54257b8ad108d53 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 9 Aug 2015 10:22:51 +0000 Subject: [PATCH 02/62] (svn r27366) -Fix [FS#6358]: Clickareas in settings tree were misaligned when the filter warning was displayed, if the setting height was defined by the icons instead of the font. --- src/settings_gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 19949671f4..0652d1bd81 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1943,7 +1943,7 @@ struct GameSettingsWindow : Window { { switch (widget) { case WID_GS_OPTIONSPANEL: { - int top_pos = r.top + SETTINGTREE_TOP_OFFSET + 1 + this->warn_lines * FONT_HEIGHT_NORMAL; + int top_pos = r.top + SETTINGTREE_TOP_OFFSET + 1 + this->warn_lines * SETTING_HEIGHT; uint last_row = this->vscroll->GetPosition() + this->vscroll->GetCapacity() - this->warn_lines; int next_row = GetSettingsTree().Draw(settings_ptr, r.left + SETTINGTREE_LEFT_OFFSET, r.right - SETTINGTREE_RIGHT_OFFSET, top_pos, this->vscroll->GetPosition(), last_row, this->last_clicked); From ee700fd3b16a2f68095fe96f5d9f56aba532d608 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:33:27 +0000 Subject: [PATCH 03/62] (svn r27367) -Codechange: make a distinction between the layouting part of ICU (lx) or the sorting/collation part of ICU (i18n) --- config.lib | 2 +- src/crashlog.cpp | 15 ++++++++++----- src/gfx_layout.cpp | 10 +++++----- src/gfx_layout.h | 10 +++++----- src/language.h | 8 ++++---- src/string.cpp | 10 +++++----- src/strings.cpp | 12 ++++++------ 7 files changed, 36 insertions(+), 31 deletions(-) diff --git a/config.lib b/config.lib index 68d8b13a8e..6fed7e803b 100644 --- a/config.lib +++ b/config.lib @@ -1754,7 +1754,7 @@ make_cflags_and_ldflags() { fi if [ -n "$icu_config" ]; then - CFLAGS="$CFLAGS -DWITH_ICU" + CFLAGS="$CFLAGS -DWITH_ICU_LAYOUT -DWITH_ICU_SORT" CFLAGS="$CFLAGS `$icu_config --cppflags | tr '\n\r' ' '`" # Some icu-configs have the 'feature' of not adding a space where others do add the space diff --git a/src/crashlog.cpp b/src/crashlog.cpp index e8290a7c3f..7ddc2131f9 100644 --- a/src/crashlog.cpp +++ b/src/crashlog.cpp @@ -196,9 +196,9 @@ char *CrashLog::LogConfiguration(char *buffer, const char *last) const # include # include FT_FREETYPE_H #endif /* WITH_FREETYPE */ -#ifdef WITH_ICU +#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT) # include -#endif /* WITH_ICU */ +#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */ #ifdef WITH_LZMA # include #endif @@ -241,14 +241,19 @@ char *CrashLog::LogLibraries(char *buffer, const char *last) const buffer += seprintf(buffer, last, " FreeType: %d.%d.%d\n", major, minor, patch); #endif /* WITH_FREETYPE */ -#ifdef WITH_ICU +#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT) /* 4 times 0-255, separated by dots (.) and a trailing '\0' */ char buf[4 * 3 + 3 + 1]; UVersionInfo ver; u_getVersion(ver); u_versionToString(ver, buf); - buffer += seprintf(buffer, last, " ICU: %s\n", buf); -#endif /* WITH_ICU */ +#ifdef WITH_ICU_SORT + buffer += seprintf(buffer, last, " ICU i18n: %s\n", buf); +#endif +#ifdef WITH_ICU_LAYOUT + buffer += seprintf(buffer, last, " ICU lx: %s\n", buf); +#endif +#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */ #ifdef WITH_LZMA buffer += seprintf(buffer, last, " LZMA: %s\n", lzma_version_string()); diff --git a/src/gfx_layout.cpp b/src/gfx_layout.cpp index 2dba6a2046..f5463d4015 100644 --- a/src/gfx_layout.cpp +++ b/src/gfx_layout.cpp @@ -17,9 +17,9 @@ #include "table/control_codes.h" -#ifdef WITH_ICU +#ifdef WITH_ICU_LAYOUT #include -#endif /* WITH_ICU */ +#endif /* WITH_ICU_LAYOUT */ #include "safeguards.h" @@ -42,7 +42,7 @@ Font::Font(FontSize size, TextColour colour) : assert(size < FS_END); } -#ifdef WITH_ICU +#ifdef WITH_ICU_LAYOUT /* Implementation details of LEFontInstance */ le_int32 Font::getUnitsPerEM() const @@ -213,7 +213,7 @@ static ParagraphLayouter *GetParagraphLayout(UChar *buff, UChar *buff_end, FontM return new ICUParagraphLayout(p); } -#endif /* WITH_ICU */ +#endif /* WITH_ICU_LAYOUT */ /*** Paragraph layout ***/ /** @@ -654,7 +654,7 @@ Layouter::Layouter(const char *str, int maxw, TextColour colour, FontSize fontsi line.layout->Reflow(); } else { /* Line is new, layout it */ -#ifdef WITH_ICU +#ifdef WITH_ICU_LAYOUT FontState old_state = state; const char *old_str = str; diff --git a/src/gfx_layout.h b/src/gfx_layout.h index 7cd70ce280..0a21d9b0ca 100644 --- a/src/gfx_layout.h +++ b/src/gfx_layout.h @@ -19,12 +19,12 @@ #include #include -#ifdef WITH_ICU +#ifdef WITH_ICU_LAYOUT #include "layout/ParagraphLayout.h" #define ICU_FONTINSTANCE : public LEFontInstance -#else /* WITH_ICU */ +#else /* WITH_ICU_LAYOUT */ #define ICU_FONTINSTANCE -#endif /* WITH_ICU */ +#endif /* WITH_ICU_LAYOUT */ /** * Text drawing parameters, which can change while drawing a line, but are kept between multiple parts @@ -75,7 +75,7 @@ public: Font(FontSize size, TextColour colour); -#ifdef WITH_ICU +#ifdef WITH_ICU_LAYOUT /* Implementation details of LEFontInstance */ le_int32 getUnitsPerEM() const; @@ -91,7 +91,7 @@ public: LEGlyphID mapCharToGlyph(LEUnicode32 ch) const; void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const; le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const; -#endif /* WITH_ICU */ +#endif /* WITH_ICU_LAYOUT */ }; /** Mapping from index to font. */ diff --git a/src/language.h b/src/language.h index 694b0ca1bb..fed138e635 100644 --- a/src/language.h +++ b/src/language.h @@ -13,9 +13,9 @@ #define LANGUAGE_H #include "core/smallvec_type.hpp" -#ifdef WITH_ICU +#ifdef WITH_ICU_SORT #include -#endif /* WITH_ICU */ +#endif /* WITH_ICU_SORT */ static const uint8 CASE_GENDER_LEN = 16; ///< The (maximum) length of a case/gender string. static const uint8 MAX_NUM_GENDERS = 8; ///< Maximum number of supported genders. @@ -110,9 +110,9 @@ extern LanguageList _languages; /** The currently loaded language. */ extern const LanguageMetadata *_current_language; -#ifdef WITH_ICU +#ifdef WITH_ICU_SORT extern Collator *_current_collator; -#endif /* WITH_ICU */ +#endif /* WITH_ICU_SORT */ bool ReadLanguagePack(const LanguageMetadata *lang); const LanguageMetadata *GetLanguage(byte newgrflangid); diff --git a/src/string.cpp b/src/string.cpp index 6bc9319c1c..377fb7f98d 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -25,12 +25,12 @@ #include // required by vsnprintf implementation for MSVC #endif -#ifdef WITH_ICU +#ifdef WITH_ICU_SORT /* Required by strnatcmp. */ #include #include "language.h" #include "gfx_func.h" -#endif /* WITH_ICU */ +#endif /* WITH_ICU_SORT */ /* The function vsnprintf is used internally to perform the required formatting * tasks. As such this one must be allowed, and makes sure it's terminated. */ @@ -572,7 +572,7 @@ int strnatcmp(const char *s1, const char *s2, bool ignore_garbage_at_front) s1 = SkipGarbage(s1); s2 = SkipGarbage(s2); } -#ifdef WITH_ICU +#ifdef WITH_ICU_SORT if (_current_collator != NULL) { UErrorCode status = U_ZERO_ERROR; int result; @@ -592,13 +592,13 @@ int strnatcmp(const char *s1, const char *s2, bool ignore_garbage_at_front) if (U_SUCCESS(status)) return result; } -#endif /* WITH_ICU */ +#endif /* WITH_ICU_SORT */ /* Do a normal comparison if ICU is missing or if we cannot create a collator. */ return strcasecmp(s1, s2); } -#ifdef WITH_ICU +#ifdef WITH_ICU_SORT #include #include diff --git a/src/strings.cpp b/src/strings.cpp index 9c88b70c77..5d1059243c 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -49,9 +49,9 @@ const LanguageMetadata *_current_language = NULL; ///< The currently loaded lang TextDirection _current_text_dir; ///< Text direction of the currently selected language. -#ifdef WITH_ICU +#ifdef WITH_ICU_SORT Collator *_current_collator = NULL; ///< Collator for the language currently in use. -#endif /* WITH_ICU */ +#endif /* WITH_ICU_SORT */ static uint64 _global_string_params_data[20]; ///< Global array of string parameters. To access, use #SetDParam. static WChar _global_string_params_type[20]; ///< Type of parameters stored in #_decode_parameters @@ -1790,7 +1790,7 @@ bool ReadLanguagePack(const LanguageMetadata *lang) strecpy(_config_language_file, c_file, lastof(_config_language_file)); SetCurrentGrfLangID(_current_language->newgrflangid); -#ifdef WITH_ICU +#ifdef WITH_ICU_SORT /* Delete previous collator. */ if (_current_collator != NULL) { delete _current_collator; @@ -1807,7 +1807,7 @@ bool ReadLanguagePack(const LanguageMetadata *lang) delete _current_collator; _current_collator = NULL; } -#endif /* WITH_ICU */ +#endif /* WITH_ICU_SORT */ /* Some lists need to be sorted again after a language change. */ ReconsiderGameScriptLanguage(); @@ -2132,7 +2132,7 @@ void CheckForMissingGlyphs(bool base_font, MissingGlyphSearcher *searcher) /* Update the font with cache */ LoadStringWidthTable(searcher->Monospace()); -#if !defined(WITH_ICU) +#if !defined(WITH_ICU_LAYOUT) /* * For right-to-left languages we need the ICU library. If * we do not have support for that library we warn the user @@ -2152,5 +2152,5 @@ void CheckForMissingGlyphs(bool base_font, MissingGlyphSearcher *searcher) SetDParamStr(0, err_str); ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_ERROR); } -#endif +#endif /* !WITH_ICU_LAYOUT */ } From 625bc2e0e716e60637efa0bd556ebbb8a7c6d12d Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:37:20 +0000 Subject: [PATCH 04/62] (svn r27368) -Cleanup: undo the special case of OSX; it works fine without it --- config.lib | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/config.lib b/config.lib index 6fed7e803b..67e8704289 100644 --- a/config.lib +++ b/config.lib @@ -1708,13 +1708,7 @@ make_cflags_and_ldflags() { CFLAGS="$CFLAGS `$png_config --cflags | tr '\n\r' ' '`" if [ "$enable_static" != "0" ]; then - if [ "$os" = "OSX" ]; then - # fontconfig_config goes via pkg-config on all systems, which doesn't know --prefix - # Also, despite the reason we link to the .a file ourself (because we can't use -static), we do need to ask pkg-config about possible other deps - LIBS="$LIBS `$png_config --variable=prefix`/lib/libpng.a `$png_config --libs --static | sed s@-lpng[0-9]*@@`" - else - LIBS="$LIBS `$png_config --libs --static | tr '\n\r' ' '`" - fi + LIBS="$LIBS `$png_config --libs --static | tr '\n\r' ' '`" else LIBS="$LIBS `$png_config --libs | tr '\n\r' ' '`" fi @@ -1725,13 +1719,7 @@ make_cflags_and_ldflags() { CFLAGS="$CFLAGS `$fontconfig_config --cflags | tr '\n\r' ' '`" if [ "$enable_static" != "0" ]; then - if [ "$os" = "OSX" ]; then - # fontconfig_config goes via pkg-config on all systems, which doesn't know --prefix - # Also, despite the reason we link to the .a file ourself (because we can't use -static), we do need to ask pkg-config about possible other deps - LIBS="$LIBS `$fontconfig_config --variable=prefix`/lib/libfontconfig.a `$fontconfig_config --libs --static | sed s@-lfontconfig@@`" - else - LIBS="$LIBS `$fontconfig_config --libs --static | tr '\n\r' ' '`" - fi + LIBS="$LIBS `$fontconfig_config --libs --static | tr '\n\r' ' '`" else LIBS="$LIBS `$fontconfig_config --libs | tr '\n\r' ' '`" fi @@ -1742,12 +1730,7 @@ make_cflags_and_ldflags() { CFLAGS="$CFLAGS `$freetype_config --cflags | tr '\n\r' ' '`" if [ "$enable_static" != "0" ]; then - if [ "$os" = "OSX" ]; then - LIBS="$LIBS `$freetype_config --prefix`/lib/libfreetype.a" - else - # Is it possible to do static with freetype, if so: how? - LIBS="$LIBS `$freetype_config --libs | tr '\n\r' ' '`" - fi + LIBS="$LIBS `$freetype_config --libs --static | tr '\n\r' ' '`" else LIBS="$LIBS `$freetype_config --libs | tr '\n\r' ' '`" fi From a08d1a044f392f309ab2fcea91c49f0f7adb722e Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:39:26 +0000 Subject: [PATCH 05/62] (svn r27369) -Cleanup: there's no need to do dependency checking of libraries in OpenTTD; zlib should always be installed if libpng is because it links to zlib --- config.lib | 45 --------------------------------------------- 1 file changed, 45 deletions(-) diff --git a/config.lib b/config.lib index 67e8704289..d6181fcd78 100644 --- a/config.lib +++ b/config.lib @@ -2784,29 +2784,6 @@ detect_xdg_basedir() { } detect_png() { - # 0 means no, 1 is auto-detect, 2 is force - if [ "$with_png" = "0" ]; then - log 1 "checking libpng... disabled" - - png_config="" - return 0 - fi - - if [ "$with_zlib" = "0" ] || [ -z "$zlib" ]; then - if [ "$with_png" != "1" ]; then - log 1 "checking libpng... no zlib" - log 1 "ERROR: libpng was forced, but zlib was not detected / disabled." - log 1 "ERROR: libpng depends on zlib." - - exit 1 - fi - - log 1 "checking libpng... no zlib, skipping" - - png_config="" - return 0 - fi - detect_pkg_config "$with_png" "libpng" "png_config" "1.2" } @@ -2825,21 +2802,6 @@ detect_freetype() { return 0 fi - if [ "$with_zlib" = "0" ] || [ -z "$zlib" ]; then - if [ "$with_freetype" != "1" ]; then - log 1 "checking libfreetype... no zlib" - log 1 "ERROR: libfreetype was forced, but zlib was not detected / disabled." - log 1 "ERROR: libfreetype depends on zlib." - - exit 1 - fi - - log 1 "checking libfreetype... no zlib, skipping" - - freetype_config="" - return 0 - fi - if [ "$with_freetype" = "1" ] || [ "$with_freetype" = "" ] || [ "$with_freetype" = "2" ]; then freetype_config="freetype-config" else @@ -2883,13 +2845,6 @@ detect_fontconfig() { fontconfig_config="" return 0 fi - if [ "$with_fontconfig" != "2" ] && [ -z "$freetype_config" ]; then - log 1 "checking libfontconfig... no freetype, skipping" - - fontconfig_config="" - return 0 - fi - if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then log 1 "checking libfontconfig... WIN32, skipping" fontconfig_config="" From 2aee2899e84fa289030c08c9ab722a708accd11c Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:40:17 +0000 Subject: [PATCH 06/62] (svn r27370) -Codechange: move the "dedicated server" check into the pkg-config check routine --- config.lib | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/config.lib b/config.lib index d6181fcd78..e50839e772 100644 --- a/config.lib +++ b/config.lib @@ -2728,6 +2728,7 @@ detect_pkg_config() { # $2 - package name ('liblzma') # $3 - config name ('lzma_config', sets $lzma_config) # $4 - minimum module version ('2.3') + # $5 - check for dedicated, 1 is "skif if dedicated" # 0 means no, 1 is auto-detect, 2 is force if [ "$1" = "0" ]; then @@ -2737,6 +2738,13 @@ detect_pkg_config() { return 0 fi + if [ "$5" = "1" ] && [ "$1" = "1" ] && [ "$enable_dedicated" != "0" ]; then + log 1 "checking $2... dedicated server, skipping" + + eval "$3=\"\"" + return 0 + fi + log 2 "detecting $2" if [ "$1" = "1" ] || [ "$1" = "" ] || [ "$1" = "2" ]; then @@ -2839,12 +2847,6 @@ detect_fontconfig() { fontconfig_config="" return 0 fi - if [ "$with_fontconfig" = "1" ] && [ "$enable_dedicated" != "0" ]; then - log 1 "checking libfontconfig... dedicated server, skipping" - - fontconfig_config="" - return 0 - fi if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then log 1 "checking libfontconfig... WIN32, skipping" fontconfig_config="" @@ -2857,7 +2859,7 @@ detect_fontconfig() { return 0 fi - detect_pkg_config "$with_fontconfig" "fontconfig" "fontconfig_config" "2.3" + detect_pkg_config "$with_fontconfig" "fontconfig" "fontconfig_config" "2.3" "1" } detect_icu() { From f179a92007a5d05f722a53d2b6f69cb056982cb8 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:41:12 +0000 Subject: [PATCH 07/62] (svn r27371) -Codechange: make freetype detection and configuration use pkg-config --- config.lib | 44 ++------------------------------------------ 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/config.lib b/config.lib index e50839e772..bcc1d30645 100644 --- a/config.lib +++ b/config.lib @@ -2796,47 +2796,7 @@ detect_png() { } detect_freetype() { - # 0 means no, 1 is auto-detect, 2 is force - if [ "$with_freetype" = "0" ]; then - log 1 "checking libfreetype... disabled" - - freetype_config="" - return 0 - fi - if [ "$with_freetype" = "1" ] && [ "$enable_dedicated" != "0" ]; then - log 1 "checking libfreetype... dedicated server, skipping" - - freetype_config="" - return 0 - fi - - if [ "$with_freetype" = "1" ] || [ "$with_freetype" = "" ] || [ "$with_freetype" = "2" ]; then - freetype_config="freetype-config" - else - freetype_config="$with_freetype" - fi - - version=`$freetype_config --version 2>/dev/null` - ret=$? - log 2 "executing freetype_config --version" - log 2 " returned $version" - log 2 " exit code $ret" - - if [ -z "$version" ] || [ "$ret" != "0" ]; then - log 1 "checking libfreetype... not found" - - # It was forced, so it should be found. - if [ "$with_freetype" != "1" ]; then - log 1 "configure: error: freetype-config couldn't be found" - log 1 "configure: error: you supplied '$with_freetype', but it seems invalid" - exit 1 - fi - - freetype_config="" - return 0 - fi - - log 1 "checking libfreetype... found" + detect_pkg_config "$with_freetype" "freetype2" "freetype_config" "2.2" "1" } detect_fontconfig() { @@ -3634,7 +3594,7 @@ showhelp() { echo " enables liblzma support" echo " --with-liblzo2[=liblzo2.a] enables liblzo2 support" echo " --with-png[=libpng-config] enables libpng support" - echo " --with-freetype[=freetype-config]" + echo " --with-freetype[=\"pkg-config freetype2\"]" echo " enables libfreetype support" echo " --with-fontconfig[=\"pkg-config fontconfig\"]" echo " enables fontconfig support" From f05d71a9a6ee9a8ae9518946d7c9b50b0214a46d Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:41:35 +0000 Subject: [PATCH 08/62] (svn r27372) -Codechange: make allegro detection and configuration use pkg-config --- config.lib | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/config.lib b/config.lib index bcc1d30645..52c9aaee12 100644 --- a/config.lib +++ b/config.lib @@ -2353,7 +2353,7 @@ detect_allegro() { return 0 fi - # By default on OSX we don't use SDL. The rest is auto-detect + # By default on OSX we don't use Allegro. The rest is auto-detect if [ "$with_allegro" = "1" ] && [ "$os" = "OSX" ] && [ "$with_cocoa" != "0" ]; then log 1 "checking Allegro... OSX, skipping" @@ -2361,33 +2361,7 @@ detect_allegro() { return 0 fi - if [ "$with_allegro" = "1" ] || [ "$with_allegro" = "" ] || [ "$with_allegro" = "2" ]; then - allegro_config="allegro-config" - else - allegro_config="$with_allegro" - fi - - version=`$allegro_config --version 2>/dev/null` - ret=$? - log 2 "executing $allegro_config --version" - log 2 " returned $version" - log 2 " exit code $ret" - - if [ -z "$version" ] || [ "$ret" != "0" ]; then - log 1 "checking Allegro... not found" - - # It was forced, so it should be found. - if [ "$with_allegro" != "1" ]; then - log 1 "configure: error: allegro-config couldn't be found" - log 1 "configure: error: you supplied '$with_allegro', but it seems invalid" - exit 1 - fi - - allegro_config="" - return 0 - fi - - log 1 "checking Allegro... found" + detect_pkg_config "$with_allegro" "allegro" "allegro_config" "4.4" } @@ -3585,7 +3559,7 @@ showhelp() { echo " --with-midi-arg=arg define which args to use for the" echo " midi-player" echo " --with-libtimidity enables libtimidity support" - echo " --with-allegro[=allegro-config]" + echo " --with-allegro[=\"pkg-config allegro\"]" echo " enables Allegro video driver support" echo " --with-cocoa enables COCOA video driver (OSX ONLY)" echo " --with-sdl[=sdl-config] enables SDL video driver support" From c3715a025d575d198664e4ef94f68e791126e1f8 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:41:54 +0000 Subject: [PATCH 09/62] (svn r27373) -Codechange: make sdl detection and configuration use pkg-config --- config.lib | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/config.lib b/config.lib index 52c9aaee12..4dbf858002 100644 --- a/config.lib +++ b/config.lib @@ -2407,33 +2407,7 @@ detect_sdl() { sleep 5 fi - if [ "$with_sdl" = "1" ] || [ "$with_sdl" = "" ] || [ "$with_sdl" = "2" ]; then - sdl_config="sdl-config" - else - sdl_config="$with_sdl" - fi - - version=`$sdl_config --version 2>/dev/null` - ret=$? - log 2 "executing $sdl_config --version" - log 2 " returned $version" - log 2 " exit code $ret" - - if [ -z "$version" ] || [ "$ret" != "0" ]; then - log 1 "checking SDL... not found" - - # It was forced, so it should be found. - if [ "$with_sdl" != "1" ]; then - log 1 "configure: error: sdl-config couldn't be found" - log 1 "configure: error: you supplied '$with_sdl', but it seems invalid" - exit 1 - fi - - sdl_config="" - return 0 - fi - - log 1 "checking SDL... found" + detect_pkg_config "$with_sdl" "sdl" "sdl_config" "1.2" } detect_osx_sdk() { @@ -3562,7 +3536,7 @@ showhelp() { echo " --with-allegro[=\"pkg-config allegro\"]" echo " enables Allegro video driver support" echo " --with-cocoa enables COCOA video driver (OSX ONLY)" - echo " --with-sdl[=sdl-config] enables SDL video driver support" + echo " --with-sdl[=\"pkg-config sdl\"] enables SDL video driver support" echo " --with-zlib[=zlib.a] enables zlib support" echo " --with-liblzma[=\"pkg-config liblzma\"]" echo " enables liblzma support" From 36f77b1aa719745f19b202daab4530da2b80c985 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:42:21 +0000 Subject: [PATCH 10/62] (svn r27374) -Codechange: make zlib detection and configuration make use of pkg-config --- config.lib | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/config.lib b/config.lib index 4dbf858002..e697bd64e3 100644 --- a/config.lib +++ b/config.lib @@ -791,7 +791,7 @@ check_params() { pre_detect_with_zlib=$with_zlib detect_zlib - if [ "$with_zlib" = "0" ] || [ -z "$zlib" ]; then + if [ "$with_zlib" = "0" ] || [ -z "$zlib-config" ]; then log 1 "WARNING: zlib was not detected or disabled" log 1 "WARNING: OpenTTD doesn't require zlib, but it does mean that many features" log 1 "WARNING: (like loading most old savegames/scenarios, loading heightmaps," @@ -1657,12 +1657,13 @@ make_cflags_and_ldflags() { fi if [ "$with_zlib" != "0" ]; then - if [ "$enable_static" != "0" ] && [ "$os" != "OSX" ]; then - LIBS="$LIBS $zlib" - else - LIBS="$LIBS -lz" - fi CFLAGS="$CFLAGS -DWITH_ZLIB" + CFLAGS="$CFLAGS `$zlib_config --cflags | tr '\n\r' ' '`" + if [ "$enable_static" != "0" ]; then + LIBS="$LIBS `$zlib_config --libs --static | tr '\n\r' ' '`" + else + LIBS="$LIBS `$zlib_config --libs | tr '\n\r' ' '`" + fi fi if [ -n "$lzma_config" ]; then @@ -2660,7 +2661,7 @@ detect_library() { } detect_zlib() { - detect_library "$with_zlib" "zlib" "libz.a" "" "zlib.h" + detect_pkg_config "$with_zlib" "zlib" "zlib_config" "1.2" } detect_lzo2() { @@ -3537,7 +3538,8 @@ showhelp() { echo " enables Allegro video driver support" echo " --with-cocoa enables COCOA video driver (OSX ONLY)" echo " --with-sdl[=\"pkg-config sdl\"] enables SDL video driver support" - echo " --with-zlib[=zlib.a] enables zlib support" + echo " --with-zlib[=\"pkg-config zlib\"]" + echo " enables zlib support" echo " --with-liblzma[=\"pkg-config liblzma\"]" echo " enables liblzma support" echo " --with-liblzo2[=liblzo2.a] enables liblzo2 support" From 2011c24502bdefa3a349a08543354e7020f30ecf Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:42:52 +0000 Subject: [PATCH 11/62] (svn r27375) -Fix-ish: update help parameter for png configuration (it has used pkg-config for a long time) --- config.lib | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config.lib b/config.lib index e697bd64e3..b0cd4c6df1 100644 --- a/config.lib +++ b/config.lib @@ -3543,7 +3543,8 @@ showhelp() { echo " --with-liblzma[=\"pkg-config liblzma\"]" echo " enables liblzma support" echo " --with-liblzo2[=liblzo2.a] enables liblzo2 support" - echo " --with-png[=libpng-config] enables libpng support" + echo " --with-png[=\"pkg-config libpng\"]" + echo " enables libpng support" echo " --with-freetype[=\"pkg-config freetype2\"]" echo " enables libfreetype support" echo " --with-fontconfig[=\"pkg-config fontconfig\"]" From cc5b8ea6cb679e8c9a63f55d2556820b773d604d Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 12:43:52 +0000 Subject: [PATCH 12/62] (svn r27376) -Codechange: let libtimidity detection and configuration make use of pkg-config --- config.lib | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/config.lib b/config.lib index b0cd4c6df1..1387d45631 100644 --- a/config.lib +++ b/config.lib @@ -1760,13 +1760,15 @@ make_cflags_and_ldflags() { fi fi - if [ -n "$libtimidity" ]; then - if [ "$enable_static" != "0" ]; then - LIBS="$LIBS $libtimidity" - else - LIBS="$LIBS -ltimidity" - fi + if [ -n "$libtimidity_config" ]; then CFLAGS="$CFLAGS -DLIBTIMIDITY" + CFLAGS="$CFLAGS `$libtimidity_config --cflags | tr '\n\r' ' '`" + + if [ "$enable_static" != "0" ]; then + LIBS="$LIBS `$libtimidity_config --libs --static | tr '\n\r' ' '`" + else + LIBS="$LIBS `$libtimidity_config --libs | tr '\n\r' ' '`" + fi fi if [ "$with_iconv" != "0" ]; then @@ -2669,7 +2671,7 @@ detect_lzo2() { } detect_libtimidity() { - detect_library "$with_libtimidity" "libtimidity" "libtimidity.a" "" "timidity.h" + detect_pkg_config "$with_libtimidity" "libtimidity" "libtimidity_config" "0.1" "1" } detect_pkg_config() { @@ -3533,7 +3535,8 @@ showhelp() { echo " --with-midi=midi define which midi-player to use" echo " --with-midi-arg=arg define which args to use for the" echo " midi-player" - echo " --with-libtimidity enables libtimidity support" + echo " --with-libtimidity[=\"pkg-config libtimidity\"]" + echo " enables libtimidity support" echo " --with-allegro[=\"pkg-config allegro\"]" echo " enables Allegro video driver support" echo " --with-cocoa enables COCOA video driver (OSX ONLY)" From eb4b6a08d011cddb9a6f25e4c21af2228691167d Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 9 Aug 2015 13:54:17 +0000 Subject: [PATCH 13/62] (svn r27377) -Codechange: use the pkg-config files of ICU as well. Since they are split into separate libraries it becomes possible to split RTL support for natural sorting, although the effect will be minimal --- config.lib | 107 ++++++++++++++++++++----------------------------- src/string.cpp | 15 +------ 2 files changed, 45 insertions(+), 77 deletions(-) diff --git a/config.lib b/config.lib index 1387d45631..07985a4f83 100644 --- a/config.lib +++ b/config.lib @@ -85,7 +85,8 @@ set_default() { with_libtimidity="1" with_freetype="1" with_fontconfig="1" - with_icu="1" + with_icu_layout="1" + with_icu_sort="1" static_icu="0" with_psp_config="1" with_threads="1" @@ -161,7 +162,8 @@ set_default() { with_libtimidity with_freetype with_fontconfig - with_icu + with_icu_layout + with_icu_sort static_icu with_psp_config with_threads @@ -387,12 +389,18 @@ detect_params() { --without-libfontconfig) with_fontconfig="0";; --with-libfontconfig=*) with_fontconfig="$optarg";; - --with-icu) with_icu="2";; - --without-icu) with_icu="0";; - --with-icu=*) with_icu="$optarg";; - --with-libicu) with_icu="2";; - --without-libicu) with_icu="0";; - --with-libicu=*) with_icu="$optarg";; + --with-icu) with_icu_layout="2";with_icu_sort="2";; + --without-icu) with_icu_layout="0";with_icu_sort="0";; + --with-icu=*) with_icu_layout="$optarg";with_icu_sort="$optarg";; + --with-libicu) with_icu_layout="2";with_icu_sort="2";; + --without-libicu) with_icu_layout="0";with_icu_sort="0";; + --with-libicu=*) with_icu_layout="$optarg";with_icu_sort="$optarg";; + --with-icu-layout) with_icu_layout="2";; + --without-icu-layout) with_icu_layout="0";; + --with-icu-layout=*) with_icu_layout="$optarg";; + --with-icu-sort) with_icu_sort="2";; + --without-icu-sort) with_icu_sort="0";; + --with-icu-sort=*) with_icu_sort="$optarg";; --static-icu) static_icu="1";; --static-icu=*) static_icu="$optarg";; --static-libicu) static_icu="1";; @@ -842,7 +850,8 @@ check_params() { detect_png detect_freetype detect_fontconfig - detect_icu + detect_icu_layout + detect_icu_sort detect_pspconfig detect_libtimidity @@ -1737,15 +1746,25 @@ make_cflags_and_ldflags() { fi fi - if [ -n "$icu_config" ]; then - CFLAGS="$CFLAGS -DWITH_ICU_LAYOUT -DWITH_ICU_SORT" - CFLAGS="$CFLAGS `$icu_config --cppflags | tr '\n\r' ' '`" + if [ -n "$icu_layout_config" ]; then + CFLAGS="$CFLAGS -DWITH_ICU_LAYOUT" + CFLAGS="$CFLAGS `$icu_layout_config --cflags | tr '\n\r' ' '`" - # Some icu-configs have the 'feature' of not adding a space where others do add the space if [ "$static_icu" != "0" ]; then - LIBS="$LIBS `$icu_config --ldflags-searchpath` `($icu_config --ldflags-libsonly; $icu_config --ldflags-layout) | tr '\n\r' ' ' | sed s/licu/lsicu/g`" + LIBS="$LIBS `$icu_layout_config --libs --static | tr '\n\r' ' ' | sed s/-licu/-lsicu/g`" else - LIBS="$LIBS `$icu_config --ldflags-searchpath` `($icu_config --ldflags-libsonly; $icu_config --ldflags-layout) | tr '\n\r' ' '`" + LIBS="$LIBS `$icu_layout_config --libs | tr '\n\r' ' '`" + fi + fi + + if [ -n "$icu_sort_config" ]; then + CFLAGS="$CFLAGS -DWITH_ICU_SORT" + CFLAGS="$CFLAGS `$icu_sort_config --cflags | tr '\n\r' ' '`" + + if [ "$static_icu" != "0" ]; then + LIBS="$LIBS `$icu_sort_config --libs --static | tr '\n\r' ' ' | sed s/-licu/-lsicu/g`" + else + LIBS="$LIBS `$icu_sort_config --libs | tr '\n\r' ' '`" fi fi @@ -2773,54 +2792,12 @@ detect_fontconfig() { detect_pkg_config "$with_fontconfig" "fontconfig" "fontconfig_config" "2.3" "1" } -detect_icu() { - # 0 means no, 1 is auto-detect, 2 is force - if [ "$with_icu" = "0" ]; then - log 1 "checking libicu... disabled" +detect_icu_layout() { + detect_pkg_config "$with_icu_layout" "icu-lx" "icu_layout_config" "4.8" "1" +} - icu_config="" - return 0 - fi - if [ "$with_icu" = "1" ] && [ "$enable_dedicated" != "0" ]; then - log 1 "checking libicu... dedicated server, skipping" - - icu_config="" - return 0 - fi - - if [ "$with_icu" = "1" ] || [ "$with_icu" = "" ] || [ "$with_icu" = "2" ]; then - icu_config="icu-config" - else - icu_config="$with_icu" - fi - - version=`$icu_config --version 2>/dev/null` - ret=$? - check_version '3.6' "$version" - version_ok=$? - log 2 "executing $icu_config --version" - log 2 " returned $version" - log 2 " exit code $ret" - - if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version_ok" != "1" ]; then - if [ -n "$version" ] && [ "$version_ok" != "1" ]; then - log 1 "checking libicu... needs at least version 3.6.0, icu NOT enabled" - else - log 1 "checking libicu... not found" - fi - - # It was forced, so it should be found. - if [ "$with_icu" != "1" ]; then - log 1 "configure: error: icu-config couldn't be found" - log 1 "configure: error: you supplied '$with_icu', but it seems invalid" - exit 1 - fi - - icu_config="" - return 0 - fi - - log 1 "checking libicu... found" +detect_icu_sort() { + detect_pkg_config "$with_icu_sort" "icu-i18n" "icu_sort_config" "4.8" "1" } detect_pspconfig() { @@ -3554,7 +3531,11 @@ showhelp() { echo " enables fontconfig support" echo " --with-xdg-basedir[=\"pkg-config libxdg-basedir\"]" echo " enables XDG base directory support" - echo " --with-icu[=icu-config] enables icu (used for right-to-left support)" + echo " --with-icu enables icu components for layout and sorting" + echo " --with-icu-layout[=\"pkg-config icu-lx\"]" + echo " enables icu components for layouting (right-to-left support)" + echo " --with-icu-sort[=\"pkg-config icu-i18n\"]" + echo " enables icu components for locale specific string sorting" echo " --static-icu try to link statically (libsicu instead of" echo " libicu; can fail as the new name is guessed)" echo " --with-iconv[=iconv-path] enables iconv support" diff --git a/src/string.cpp b/src/string.cpp index 377fb7f98d..fd422ec632 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -575,20 +575,7 @@ int strnatcmp(const char *s1, const char *s2, bool ignore_garbage_at_front) #ifdef WITH_ICU_SORT if (_current_collator != NULL) { UErrorCode status = U_ZERO_ERROR; - int result; - - /* We want to use the new faster method for ICU 4.2 and higher. */ -#if U_ICU_VERSION_MAJOR_NUM > 4 || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >= 2) - /* The StringPiece parameter gets implicitly constructed from the char *. */ - result = _current_collator->compareUTF8(s1, s2, status); -#else /* The following for 4.0 and lower. */ - UChar buffer1[DRAW_STRING_BUFFER]; - u_strFromUTF8Lenient(buffer1, lengthof(buffer1), NULL, s1, -1, &status); - UChar buffer2[DRAW_STRING_BUFFER]; - u_strFromUTF8Lenient(buffer2, lengthof(buffer2), NULL, s2, -1, &status); - - result = _current_collator->compare(buffer1, buffer2, status); -#endif /* ICU version check. */ + int result = _current_collator->compareUTF8(s1, s2, status); if (U_SUCCESS(status)) return result; } From 438d7a26ccf0f8d85829c60a58c0a008d9696b4b Mon Sep 17 00:00:00 2001 From: alberth Date: Mon, 10 Aug 2015 10:04:14 +0000 Subject: [PATCH 14/62] (svn r27378) -Codechange: Fix indentation of the table values, allow Doxygen to link to the TextColour enum. --- src/table/string_colours.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/table/string_colours.h b/src/table/string_colours.h index 1e3b02bd64..ae64705a57 100644 --- a/src/table/string_colours.h +++ b/src/table/string_colours.h @@ -9,23 +9,23 @@ /** @file string_colours.h The colour translation of GRF's strings. */ -/** Colour mapping for the TextColours. */ +/** Colour mapping for #TextColour. */ static const byte _string_colourmap[17] = { - 150, // TC_BLUE - 12, // TC_SILVER - 189, // TC_GOLD - 184, // TC_RED - 174, // TC_PURPLE - 30, // TC_LIGHT_BROWN - 195, // TC_ORANGE - 209, // TC_GREEN - 68, // TC_YELLOW - 95, // TC_DARK_GREEN - 79, // TC_CREAM - 116, // TC_BROWN - 15, // TC_WHITE - 152, // TC_LIGHT_BLUE - 6, // TC_GREY - 133, // TC_DARK_BLUE - 1, // TC_BLACK + 150, // TC_BLUE + 12, // TC_SILVER + 189, // TC_GOLD + 184, // TC_RED + 174, // TC_PURPLE + 30, // TC_LIGHT_BROWN + 195, // TC_ORANGE + 209, // TC_GREEN + 68, // TC_YELLOW + 95, // TC_DARK_GREEN + 79, // TC_CREAM + 116, // TC_BROWN + 15, // TC_WHITE + 152, // TC_LIGHT_BLUE + 6, // TC_GREY + 133, // TC_DARK_BLUE + 1, // TC_BLACK }; From 63aa9f4ea8931d5e5b25222d0247e4c6aa1ac1db Mon Sep 17 00:00:00 2001 From: frosch Date: Mon, 10 Aug 2015 20:04:31 +0000 Subject: [PATCH 15/62] (svn r27379) -Codechange: Do not throw in the destructors of ScriptTest/ExecMode. --- src/misc/countedobj.cpp | 7 ++++++- src/script/api/script_execmode.cpp | 6 +++++- src/script/api/script_execmode.hpp | 2 ++ src/script/api/script_testmode.cpp | 6 +++++- src/script/api/script_testmode.hpp | 2 ++ 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/misc/countedobj.cpp b/src/misc/countedobj.cpp index 28f614afab..837d1c1770 100644 --- a/src/misc/countedobj.cpp +++ b/src/misc/countedobj.cpp @@ -25,7 +25,12 @@ int32 SimpleCountedObject::Release() int32 res = --m_ref_cnt; assert(res >= 0); if (res == 0) { - FinalRelease(); + try { + FinalRelease(); // may throw, for example ScriptTest/ExecMode + } catch (...) { + delete this; + throw; + } delete this; } return res; diff --git a/src/script/api/script_execmode.cpp b/src/script/api/script_execmode.cpp index 4fb0cc7e29..1bbce807a4 100644 --- a/src/script/api/script_execmode.cpp +++ b/src/script/api/script_execmode.cpp @@ -30,7 +30,7 @@ ScriptExecMode::ScriptExecMode() this->SetDoCommandMode(&ScriptExecMode::ModeProc, this); } -ScriptExecMode::~ScriptExecMode() +void ScriptExecMode::FinalRelease() { if (this->GetDoCommandModeInstance() != this) { /* Ignore this error if the script already died. */ @@ -38,5 +38,9 @@ ScriptExecMode::~ScriptExecMode() throw Script_FatalError("ScriptExecMode object was removed while it was not the latest *Mode object created."); } } +} + +ScriptExecMode::~ScriptExecMode() +{ this->SetDoCommandMode(this->last_mode, this->last_instance); } diff --git a/src/script/api/script_execmode.hpp b/src/script/api/script_execmode.hpp index 6591399d3f..84eda5ce26 100644 --- a/src/script/api/script_execmode.hpp +++ b/src/script/api/script_execmode.hpp @@ -46,6 +46,8 @@ public: * in when the instance was created. */ ~ScriptExecMode(); + + virtual void FinalRelease(); }; #endif /* SCRIPT_EXECMODE_HPP */ diff --git a/src/script/api/script_testmode.cpp b/src/script/api/script_testmode.cpp index 37f296de0c..ed643c2d95 100644 --- a/src/script/api/script_testmode.cpp +++ b/src/script/api/script_testmode.cpp @@ -30,7 +30,7 @@ ScriptTestMode::ScriptTestMode() this->SetDoCommandMode(&ScriptTestMode::ModeProc, this); } -ScriptTestMode::~ScriptTestMode() +void ScriptTestMode::FinalRelease() { if (this->GetDoCommandModeInstance() != this) { /* Ignore this error if the script already died. */ @@ -38,5 +38,9 @@ ScriptTestMode::~ScriptTestMode() throw Script_FatalError("Testmode object was removed while it was not the latest *Mode object created."); } } +} + +ScriptTestMode::~ScriptTestMode() +{ this->SetDoCommandMode(this->last_mode, this->last_instance); } diff --git a/src/script/api/script_testmode.hpp b/src/script/api/script_testmode.hpp index 4ca29d5dc9..25c1ddaab0 100644 --- a/src/script/api/script_testmode.hpp +++ b/src/script/api/script_testmode.hpp @@ -48,6 +48,8 @@ public: * in when the instance was created. */ ~ScriptTestMode(); + + virtual void FinalRelease(); }; #endif /* SCRIPT_TESTMODE_HPP */ From 0cd198c798c92b8a6e7aef2466d9624b2ce92ab1 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Mon, 10 Aug 2015 20:21:29 +0000 Subject: [PATCH 16/62] (svn r27380) -Fix: [Win32] Compilation with MSVC2015. --- src/music/dmusic.cpp | 1 + src/os/windows/crashlog_win.cpp | 2 ++ src/stdafx.h | 4 +++- src/strgen/strgen_base.cpp | 2 +- src/string.cpp | 2 +- 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/music/dmusic.cpp b/src/music/dmusic.cpp index 40ce69d1a0..de3bda843e 100644 --- a/src/music/dmusic.cpp +++ b/src/music/dmusic.cpp @@ -22,6 +22,7 @@ #include "dmusic.h" #include +#undef FACILITY_DIRECTMUSIC // Needed for newer Windows SDK version. #include #include #include diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp index 6e28cdba62..1abb0e725c 100644 --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -322,7 +322,9 @@ static char *PrintModuleInfo(char *output, const char *last, HMODULE mod) } #if defined(_MSC_VER) +#pragma warning(disable:4091) #include +#pragma warning(default:4091) char *CrashLogWindows::AppendDecodedStacktrace(char *buffer, const char *last) const { diff --git a/src/stdafx.h b/src/stdafx.h index d68605c196..4616212f18 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -223,7 +223,9 @@ #include // alloca() #define NORETURN __declspec(noreturn) - #define inline __forceinline + #if (_MSC_VER < 1900) + #define inline __forceinline + #endif #if !defined(WINCE) #define CDECL _cdecl diff --git a/src/strgen/strgen_base.cpp b/src/strgen/strgen_base.cpp index c41f3d9b40..385ca72b2a 100644 --- a/src/strgen/strgen_base.cpp +++ b/src/strgen/strgen_base.cpp @@ -378,7 +378,7 @@ static int TranslateArgumentIdx(int arg, int offset = 0); static void EmitWordList(Buffer *buffer, const char * const *words, uint nw) { buffer->AppendByte(nw); - for (uint i = 0; i < nw; i++) buffer->AppendByte((uint)strlen(words[i]) + 1); + for (uint i = 0; i < nw; i++) buffer->AppendByte((byte)strlen(words[i]) + 1); for (uint i = 0; i < nw; i++) { for (uint j = 0; words[i][j] != '\0'; j++) buffer->AppendByte(words[i][j]); buffer->AppendByte(0); diff --git a/src/string.cpp b/src/string.cpp index fd422ec632..6306e6f75e 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -349,7 +349,7 @@ bool IsValidChar(WChar key, CharSetFilter afilter) } #ifdef WIN32 -#ifdef _MSC_VER +#if defined(_MSC_VER) && _MSC_VER < 1900 /** * Almost POSIX compliant implementation of \c vsnprintf for VC compiler. * The difference is in the value returned on output truncation. This From 44918010df8a4a0c1d79bb7a609a129086b299d6 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Mon, 10 Aug 2015 20:24:13 +0000 Subject: [PATCH 17/62] (svn r27381) -Fix: Warnings due to C++11 requirements for explicit narrowing conversions in initializer lists. --- src/company_base.h | 2 +- src/core/pool_func.hpp | 2 +- src/gfx.cpp | 6 +++--- src/misc_gui.cpp | 2 +- src/newgrf_gui.cpp | 2 +- src/road_gui.cpp | 2 +- src/script/api/script_road.cpp | 4 ++-- src/signs_gui.cpp | 2 +- src/smallmap_gui.cpp | 4 ++-- src/station_gui.cpp | 4 ++-- src/strings.cpp | 22 +++++++++++----------- src/table/newgrf_debug_data.h | 2 +- src/terraform_cmd.cpp | 2 +- src/textfile_gui.cpp | 2 +- src/widget.cpp | 2 +- src/widgets/dropdown.cpp | 4 ++-- 16 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/company_base.h b/src/company_base.h index 6385d60495..0017761216 100644 --- a/src/company_base.h +++ b/src/company_base.h @@ -45,7 +45,7 @@ struct CompanyInfrastructure { } }; -typedef Pool CompanyPool; +typedef Pool CompanyPool; extern CompanyPool _company_pool; diff --git a/src/core/pool_func.hpp b/src/core/pool_func.hpp index 4648f50d18..5569addbd7 100644 --- a/src/core/pool_func.hpp +++ b/src/core/pool_func.hpp @@ -121,7 +121,7 @@ DEFINE_POOL_METHOD(inline void *)::AllocateItem(size_t size, size_t index) item = (Titem *)MallocT(size); } this->data[index] = item; - item->index = (uint)index; + item->index = (Tindex)(uint)index; return item; } diff --git a/src/gfx.cpp b/src/gfx.cpp index bc7f932441..f3a98461d6 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -186,7 +186,7 @@ static inline void GfxDoDrawLine(void *video, int x, int y, int x2, int y2, int int grade_x = x2 - x; /* Clipping rectangle. Slightly extended so we can ignore the width of the line. */ - uint extra = CeilDiv(3 * width, 4); // not less then "width * sqrt(2) / 2" + int extra = (int)CeilDiv(3 * width, 4); // not less then "width * sqrt(2) / 2" Rect clip = { -extra, -extra, screen_width - 1 + extra, screen_height - 1 + extra }; /* prevent integer overflows. */ @@ -586,7 +586,7 @@ int GetStringLineCount(StringID str, int maxw) */ Dimension GetStringMultiLineBoundingBox(StringID str, const Dimension &suggestion) { - Dimension box = {suggestion.width, GetStringHeight(str, suggestion.width)}; + Dimension box = {suggestion.width, (uint)GetStringHeight(str, suggestion.width)}; return box; } @@ -598,7 +598,7 @@ Dimension GetStringMultiLineBoundingBox(StringID str, const Dimension &suggestio */ Dimension GetStringMultiLineBoundingBox(const char *str, const Dimension &suggestion) { - Dimension box = {suggestion.width, GetStringHeight(str, suggestion.width)}; + Dimension box = {suggestion.width, (uint)GetStringHeight(str, suggestion.width)}; return box; } diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 62da50b966..5bb8c7e319 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -825,7 +825,7 @@ Point QueryString::GetCaretPosition(const Window *w, int wid) const int delta = min(0, (right - left) - tb->pixels - 10); if (tb->caretxoffs + delta < 0) delta = -tb->caretxoffs; - Point pt = {left + WD_FRAMERECT_LEFT + tb->caretxoffs + delta, wi->pos_y + WD_FRAMERECT_TOP}; + Point pt = {left + WD_FRAMERECT_LEFT + tb->caretxoffs + delta, (int)wi->pos_y + WD_FRAMERECT_TOP}; return pt; } diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 2945f99455..cc63f7b577 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -223,7 +223,7 @@ struct NewGRFParametersWindow : public Window { case WID_NP_DESCRIPTION: /* Minimum size of 4 lines. The 500 is the default size of the window. */ - Dimension suggestion = {500 - WD_FRAMERECT_LEFT - WD_FRAMERECT_RIGHT, FONT_HEIGHT_NORMAL * 4 + WD_TEXTPANEL_TOP + WD_TEXTPANEL_BOTTOM}; + Dimension suggestion = {500 - WD_FRAMERECT_LEFT - WD_FRAMERECT_RIGHT, (uint)FONT_HEIGHT_NORMAL * 4 + WD_TEXTPANEL_TOP + WD_TEXTPANEL_BOTTOM}; for (uint i = 0; i < this->grf_config->param_info.Length(); i++) { const GRFParameterInfo *par_info = this->grf_config->param_info[i]; if (par_info == NULL) continue; diff --git a/src/road_gui.cpp b/src/road_gui.cpp index b158482ef3..92c660e8a3 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -233,7 +233,7 @@ static void PlaceRoadStop(TileIndex start_tile, TileIndex end_tile, uint32 p2, u p2 |= ddir << 6; // Set the DiagDirecion into p2 bits 6 and 7. TileArea ta(start_tile, end_tile); - CommandContainer cmdcont = { ta.tile, ta.w | ta.h << 8, p2, cmd, CcRoadStop, "" }; + CommandContainer cmdcont = { ta.tile, (uint32)(ta.w | ta.h << 8), p2, cmd, CcRoadStop, "" }; ShowSelectStationIfNeeded(cmdcont, ta); } diff --git a/src/script/api/script_road.cpp b/src/script/api/script_road.cpp index 3a9a8ca3fd..3dd1453b68 100644 --- a/src/script/api/script_road.cpp +++ b/src/script/api/script_road.cpp @@ -371,8 +371,8 @@ static bool NormaliseTileOffset(int32 *tile) if (!::IsValidTile(tile) || !::IsValidTile(start) || !::IsValidTile(end)) return -1; if (::DistanceManhattan(tile, start) != 1 || ::DistanceManhattan(tile, end) != 1) return -1; - /* ROAD_NW ROAD_SW ROAD_SE ROAD_NE */ - static const TileIndex neighbours[] = {::TileDiffXY(0, -1), ::TileDiffXY(1, 0), ::TileDiffXY(0, 1), ::TileDiffXY(-1, 0)}; + /* ROAD_NW ROAD_SW ROAD_SE ROAD_NE */ + static const TileIndexDiff neighbours[] = {::TileDiffXY(0, -1), ::TileDiffXY(1, 0), ::TileDiffXY(0, 1), ::TileDiffXY(-1, 0)}; Array *existing = (Array*)alloca(sizeof(Array) + lengthof(neighbours) * sizeof(int32)); existing->size = 0; diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index a34f1db077..020ee1b6ea 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -268,7 +268,7 @@ struct SignListWindow : Window, SignList { Dimension spr_dim = GetSpriteSize(SPR_COMPANY_ICON); this->text_offset = WD_FRAMETEXT_LEFT + spr_dim.width + 2; // 2 pixels space between icon and the sign text. resize->height = max(FONT_HEIGHT_NORMAL, spr_dim.height); - Dimension d = {this->text_offset + WD_FRAMETEXT_RIGHT, WD_FRAMERECT_TOP + 5 * resize->height + WD_FRAMERECT_BOTTOM}; + Dimension d = {(uint)(this->text_offset + WD_FRAMETEXT_RIGHT), WD_FRAMERECT_TOP + 5 * resize->height + WD_FRAMERECT_BOTTOM}; *size = maxdim(*size, d); break; } diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 80d4ae2a89..571d8d765d 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -1076,7 +1076,7 @@ void SmallMapWindow::RebuildColourIndexIfNecessary() _heightmap_schemes[n].height_colours = ReallocT(_heightmap_schemes[n].height_colours, heights); for (int z = 0; z < heights; z++) { - uint access_index = (_heightmap_schemes[n].colour_count * z) / heights; + size_t access_index = (_heightmap_schemes[n].colour_count * z) / heights; /* Choose colour by mapping the range (0..max heightlevel) on the complete colour table. */ _heightmap_schemes[n].height_colours[z] = _heightmap_schemes[n].height_colours_base[access_index]; @@ -1401,7 +1401,7 @@ int SmallMapWindow::GetPositionOnLegend(Point pt) case WID_SM_ZOOM_IN: case WID_SM_ZOOM_OUT: { const NWidgetBase *wid = this->GetWidget(WID_SM_MAP); - Point pt = {wid->current_x / 2, wid->current_y / 2}; + Point pt = { (int)wid->current_x / 2, (int)wid->current_y / 2}; this->SetZoomLevel((widget == WID_SM_ZOOM_IN) ? ZLC_ZOOM_IN : ZLC_ZOOM_OUT, &pt); if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); break; diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 666e66d8b5..7399fe0067 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -1409,7 +1409,7 @@ struct StationViewWindow : public Window { if (!this->IsShaded()) { /* Draw 'accepted cargo' or 'cargo ratings'. */ const NWidgetBase *wid = this->GetWidget(WID_SV_ACCEPT_RATING_LIST); - const Rect r = {wid->pos_x, wid->pos_y, wid->pos_x + wid->current_x - 1, wid->pos_y + wid->current_y - 1}; + const Rect r = {(int)wid->pos_x, (int)wid->pos_y, (int)(wid->pos_x + wid->current_x - 1), (int)(wid->pos_y + wid->current_y - 1)}; if (this->GetWidget(WID_SV_ACCEPTS_RATINGS)->widget_data == STR_STATION_VIEW_RATINGS_BUTTON) { int lines = this->DrawAcceptedCargo(r); if (lines > this->accepts_lines) { // Resize the widget, and perform re-initialization of the window. @@ -1437,7 +1437,7 @@ struct StationViewWindow : public Window { /* Draw waiting cargo. */ NWidgetBase *nwi = this->GetWidget(WID_SV_WAITING); - Rect waiting_rect = {nwi->pos_x, nwi->pos_y, nwi->pos_x + nwi->current_x - 1, nwi->pos_y + nwi->current_y - 1}; + Rect waiting_rect = { (int)nwi->pos_x, (int)nwi->pos_y, (int)(nwi->pos_x + nwi->current_x - 1), (int)(nwi->pos_y + nwi->current_y - 1)}; this->DrawEntries(&cargo, waiting_rect, pos, maxrows, 0); scroll_to_row = INT_MAX; } diff --git a/src/strings.cpp b/src/strings.cpp index 5d1059243c..d2ce762b70 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1275,7 +1275,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (c == NULL) break; if (c->name != NULL) { - int64 args_array[] = {(uint64)(size_t)c->name}; + int64 args_array[] = {(int64)(size_t)c->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1301,7 +1301,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg case SCC_DEPOT_NAME: { // {DEPOT} VehicleType vt = (VehicleType)args->GetInt32(SCC_DEPOT_NAME); if (vt == VEH_AIRCRAFT) { - uint64 args_array[] = {args->GetInt32()}; + uint64 args_array[] = {(uint64)args->GetInt32()}; WChar types_array[] = {SCC_STATION_NAME}; StringParameters tmp_params(args_array, 1, types_array); buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_AIRCRAFT, &tmp_params, last); @@ -1310,7 +1310,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg const Depot *d = Depot::Get(args->GetInt32()); if (d->name != NULL) { - int64 args_array[] = {(uint64)(size_t)d->name}; + int64 args_array[] = {(int64)(size_t)d->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1326,7 +1326,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (e == NULL) break; if (e->name != NULL && e->IsEnabled()) { - int64 args_array[] = {(uint64)(size_t)e->name}; + int64 args_array[] = {(int64)(size_t)e->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1341,7 +1341,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (g == NULL) break; if (g->name != NULL) { - int64 args_array[] = {(uint64)(size_t)g->name}; + int64 args_array[] = {(int64)(size_t)g->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1378,7 +1378,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (c == NULL) break; if (c->president_name != NULL) { - int64 args_array[] = {(uint64)(size_t)c->president_name}; + int64 args_array[] = {(int64)(size_t)c->president_name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1403,7 +1403,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg } if (st->name != NULL) { - int64 args_array[] = {(uint64)(size_t)st->name}; + int64 args_array[] = {(int64)(size_t)st->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1432,7 +1432,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (t == NULL) break; if (t->name != NULL) { - int64 args_array[] = {(uint64)(size_t)t->name}; + int64 args_array[] = {(int64)(size_t)t->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1446,7 +1446,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (wp == NULL) break; if (wp->name != NULL) { - int64 args_array[] = {(uint64)(size_t)wp->name}; + int64 args_array[] = {(int64)(size_t)wp->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1464,7 +1464,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (v == NULL) break; if (v->name != NULL) { - int64 args_array[] = {(uint64)(size_t)v->name}; + int64 args_array[] = {(int64)(size_t)v->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { @@ -1490,7 +1490,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg if (si == NULL) break; if (si->name != NULL) { - int64 args_array[] = {(uint64)(size_t)si->name}; + int64 args_array[] = {(int64)(size_t)si->name}; StringParameters tmp_params(args_array); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); } else { diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index c731409341..b7d0c92024 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -13,7 +13,7 @@ #include "../newgrf_engine.h" /* Helper for filling property tables */ -#define NIP(prop, base, variable, type, name) { name, cpp_offsetof(base, variable), cpp_sizeof(base, variable), prop, type } +#define NIP(prop, base, variable, type, name) { name, (ptrdiff_t)cpp_offsetof(base, variable), cpp_sizeof(base, variable), prop, type } #define NIP_END() { NULL, 0, 0, 0, 0 } /* Helper for filling callback tables */ diff --git a/src/terraform_cmd.cpp b/src/terraform_cmd.cpp index 68ebafab94..aad9822822 100644 --- a/src/terraform_cmd.cpp +++ b/src/terraform_cmd.cpp @@ -403,7 +403,7 @@ CommandCost CmdTerraformLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uin } } - if (c != NULL) c->terraform_limit -= ts.tile_to_new_height.size() << 16; + if (c != NULL) c->terraform_limit -= (uint32)ts.tile_to_new_height.size() << 16; } return total_cost; } diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index 3efd98497e..b0f9b1125a 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -227,7 +227,7 @@ static void Gunzip(byte **bufp, size_t *sizep) memset(&z, 0, sizeof(z)); z.next_in = *bufp; - z.avail_in = *sizep; + z.avail_in = (uInt)*sizep; /* window size = 15, add 32 to enable gzip or zlib header processing */ res = inflateInit2(&z, 15 + 32); diff --git a/src/widget.cpp b/src/widget.cpp index 3b50f710d4..d59ca020e0 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -1545,7 +1545,7 @@ void NWidgetMatrix::SetupSmallestSize(Window *w, bool init_array) SB(nw->index, 16, 16, 0); this->head->SetupSmallestSize(w, init_array); - Dimension padding = {this->pip_pre + this->pip_post, this->pip_pre + this->pip_post}; + Dimension padding = { (uint)this->pip_pre + this->pip_post, (uint)this->pip_pre + this->pip_post}; Dimension size = {this->head->smallest_x + padding.width, this->head->smallest_y + padding.height}; Dimension fill = {0, 0}; Dimension resize = {this->pip_inter + this->head->smallest_x, this->pip_inter + this->head->smallest_y}; diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index aecfc6b2f0..e0ad96a87a 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -380,8 +380,8 @@ void ShowDropDownListAt(Window *w, const DropDownList *list, int selected, int b if (auto_width) width = max(width, max_item_width); - Point dw_pos = { w->left + (_current_text_dir == TD_RTL ? wi_rect.right + 1 - width : wi_rect.left), top}; - Dimension dw_size = {width, height}; + Point dw_pos = { w->left + (_current_text_dir == TD_RTL ? wi_rect.right + 1 - (int)width : wi_rect.left), top}; + Dimension dw_size = {width, (uint)height}; new DropdownWindow(w, list, selected, button, instant_close, dw_pos, dw_size, wi_colour, scroll); } From f4cd0198f4701ce47aee77a23ce85c81376a2a30 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Mon, 10 Aug 2015 20:36:57 +0000 Subject: [PATCH 18/62] (svn r27382) -Add: [Win32] Project files for Visual Studio 2015. --- projects/generate | 15 + projects/generate.vbs | 15 + projects/generate_vs140.vcxproj | 40 + projects/langs_vs140.vcxproj | 384 +++ projects/langs_vs140.vcxproj.filters | 173 ++ projects/langs_vs140.vcxproj.filters.in | 12 + projects/langs_vs140.vcxproj.in | 61 + projects/openttd_vs140.sln | 94 + projects/openttd_vs140.vcxproj | 1311 +++++++++ projects/openttd_vs140.vcxproj.filters | 3050 ++++++++++++++++++++ projects/openttd_vs140.vcxproj.filters.in | 13 + projects/openttd_vs140.vcxproj.in | 332 +++ projects/settings_vs140.vcxproj | 54 + projects/settings_vs140.vcxproj.filters | 35 + projects/settings_vs140.vcxproj.filters.in | 15 + projects/settings_vs140.vcxproj.in | 48 + projects/settingsgen_vs140.vcxproj | 83 + projects/settingsgen_vs140.vcxproj.filters | 32 + projects/strgen_vs140.vcxproj | 95 + projects/strgen_vs140.vcxproj.filters | 35 + projects/version_vs140.vcxproj | 42 + 21 files changed, 5939 insertions(+) create mode 100644 projects/generate_vs140.vcxproj create mode 100644 projects/langs_vs140.vcxproj create mode 100644 projects/langs_vs140.vcxproj.filters create mode 100644 projects/langs_vs140.vcxproj.filters.in create mode 100644 projects/langs_vs140.vcxproj.in create mode 100644 projects/openttd_vs140.sln create mode 100644 projects/openttd_vs140.vcxproj create mode 100644 projects/openttd_vs140.vcxproj.filters create mode 100644 projects/openttd_vs140.vcxproj.filters.in create mode 100644 projects/openttd_vs140.vcxproj.in create mode 100644 projects/settings_vs140.vcxproj create mode 100644 projects/settings_vs140.vcxproj.filters create mode 100644 projects/settings_vs140.vcxproj.filters.in create mode 100644 projects/settings_vs140.vcxproj.in create mode 100644 projects/settingsgen_vs140.vcxproj create mode 100644 projects/settingsgen_vs140.vcxproj.filters create mode 100644 projects/strgen_vs140.vcxproj create mode 100644 projects/strgen_vs140.vcxproj.filters create mode 100644 projects/version_vs140.vcxproj diff --git a/projects/generate b/projects/generate index 42b684d2af..bd177bf71b 100755 --- a/projects/generate +++ b/projects/generate @@ -22,6 +22,15 @@ then exit 1 fi +# openttd_vs140.sln is for MSVC 2015 +# openttd_vs140.vcxproj is for MSVC 2015 +# openttd_vs140.vcxproj.filters is for MSVC 2015 +# langs_vs140.vcxproj is for MSVC 2015 +# strgen_vs140.vcxproj is for MSVC 2015 +# strgen_vs140.vcxproj.filters is for MSVC 2015 +# generate_vs140.vcxproj is for MSVC 2015 +# version_vs140.vcxproj is for MSVC 2015 + # openttd_vs100.sln is for MSVC 2010 # openttd_vs100.vcxproj is for MSVC 2010 # openttd_vs100.vcxproj.filters is for MSVC 2010 @@ -306,11 +315,17 @@ generate "$openttd" "openttd_vs80.vcproj" generate "$openttd" "openttd_vs90.vcproj" generate "$openttdvcxproj" "openttd_vs100.vcxproj" generate "$openttdfiles" "openttd_vs100.vcxproj.filters" "$openttdfilters" +generate "$openttdvcxproj" "openttd_vs140.vcxproj" +generate "$openttdfiles" "openttd_vs140.vcxproj.filters" "$openttdfilters" generate "$lang" "langs_vs80.vcproj" generate "$lang" "langs_vs90.vcproj" generate "$langvcxproj" "langs_vs100.vcxproj" generate "$langfiles" "langs_vs100.vcxproj.filters" +generate "$langvcxproj" "langs_vs140.vcxproj" +generate "$langfiles" "langs_vs140.vcxproj.filters" generate "$settings" "settings_vs80.vcproj" "$settingscommand" generate "$settings" "settings_vs90.vcproj" "$settingscommand" generate "$settingsvcxproj" "settings_vs100.vcxproj" "$settingscommand" generate "$settingsfiles" "settings_vs100.vcxproj.filters" +generate "$settingsvcxproj" "settings_vs140.vcxproj" "$settingscommand" +generate "$settingsfiles" "settings_vs140.vcxproj.filters" diff --git a/projects/generate.vbs b/projects/generate.vbs index 4e1e886873..6692b45e7f 100755 --- a/projects/generate.vbs +++ b/projects/generate.vbs @@ -10,6 +10,15 @@ Option Explicit Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") +' openttd_vs140.sln is for MSVC 2015 +' openttd_vs140.vcxproj is for MSVC 2015 +' openttd_vs140.vcxproj.filters is for MSVC 2015 +' langs_vs140.vcxproj is for MSVC 2015 +' strgen_vs140.vcxproj is for MSVC 2015 +' strgen_vs140.vcxproj.filters is for MSVC 2015 +' generate_vs140.vcxproj is for MSVC 2015 +' version_vs140.vcxproj is for MSVC 2015 + ' openttd_vs100.sln is for MSVC 2010 ' openttd_vs100.vcxproj is for MSVC 2010 ' openttd_vs100.vcxproj.filters is for MSVC 2010 @@ -369,6 +378,8 @@ generate openttd, ROOT_DIR & "/projects/openttd_vs80.vcproj", Null generate openttd, ROOT_DIR & "/projects/openttd_vs90.vcproj", Null generate openttdvcxproj, ROOT_DIR & "/projects/openttd_vs100.vcxproj", Null generate openttdfiles, ROOT_DIR & "/projects/openttd_vs100.vcxproj.filters", openttdfilters +generate openttdvcxproj, ROOT_DIR & "/projects/openttd_vs140.vcxproj", Null +generate openttdfiles, ROOT_DIR & "/projects/openttd_vs140.vcxproj.filters", openttdfilters Dim lang, langvcxproj, langfiles lang = load_lang_data(ROOT_DIR & "/src/lang", langvcxproj, langfiles) @@ -376,6 +387,8 @@ generate lang, ROOT_DIR & "/projects/langs_vs80.vcproj", Null generate lang, ROOT_DIR & "/projects/langs_vs90.vcproj", Null generate langvcxproj, ROOT_DIR & "/projects/langs_vs100.vcxproj", Null generate langfiles, ROOT_DIR & "/projects/langs_vs100.vcxproj.filters", Null +generate langvcxproj, ROOT_DIR & "/projects/langs_vs140.vcxproj", Null +generate langfiles, ROOT_DIR & "/projects/langs_vs140.vcxproj.filters", Null Dim settings, settingsvcxproj, settingscommand, settingsfiles settings = load_settings_data(ROOT_DIR & "/src/table", settingsvcxproj, settingscommand, settingsfiles) @@ -383,3 +396,5 @@ generate settings, ROOT_DIR & "/projects/settings_vs80.vcproj", settingscommand generate settings, ROOT_DIR & "/projects/settings_vs90.vcproj", settingscommand generate settingsvcxproj, ROOT_DIR & "/projects/settings_vs100.vcxproj", settingscommand generate settingsfiles, ROOT_DIR & "/projects/settings_vs100.vcxproj.filters", Null +generate settingsvcxproj, ROOT_DIR & "/projects/settings_vs140.vcxproj", settingscommand +generate settingsfiles, ROOT_DIR & "/projects/settings_vs140.vcxproj.filters", Null diff --git a/projects/generate_vs140.vcxproj b/projects/generate_vs140.vcxproj new file mode 100644 index 0000000000..67b1b7712c --- /dev/null +++ b/projects/generate_vs140.vcxproj @@ -0,0 +1,40 @@ + + + + + Debug + Win32 + + + + generate + {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34} + generate + + + + Utility + v140 + + + + + + + + + + + + + Document + Running %27generate.vbs%27 ... + cscript "$(ProjectDir)generate.vbs" + %(FullPath);%(AdditionalInputs) + $(SolutionDir)openttd_vs80.vcproj;$(SolutionDir)openttd_vs90.vcproj;$(SolutionDir)openttd_vs100.vcxproj;$(SolutionDir)openttd_vs100.vcxproj.filters;$(SolutionDir)langs_vs80.vcproj;$(SolutionDir)langs_vs90.vcproj;$(SolutionDir)langs_vs100.vcxproj;%(Outputs) + + + + + + \ No newline at end of file diff --git a/projects/langs_vs140.vcxproj b/projects/langs_vs140.vcxproj new file mode 100644 index 0000000000..0907bfa6f5 --- /dev/null +++ b/projects/langs_vs140.vcxproj @@ -0,0 +1,384 @@ + + + + + Debug + Win32 + + + + langs + {0F066B23-18DF-4284-8265-F4A5E7E3B966} + langs + MakeFileProj + + + + Utility + false + v140 + + + + + + + + + + ..\bin\lang\ + ..\objs\langs\ + + + + Generating strings.h + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\objs\langs\table + + + ./langs.tlb + + + + + + + Generating english language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\english.lng;%(Outputs) + + + Generating afrikaans language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\afrikaans.lng;%(Outputs) + + + Generating arabic_egypt language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\arabic_egypt.lng;%(Outputs) + + + Generating basque language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\basque.lng;%(Outputs) + + + Generating belarusian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\belarusian.lng;%(Outputs) + + + Generating brazilian_portuguese language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\brazilian_portuguese.lng;%(Outputs) + + + Generating bulgarian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\bulgarian.lng;%(Outputs) + + + Generating catalan language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\catalan.lng;%(Outputs) + + + Generating croatian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\croatian.lng;%(Outputs) + + + Generating czech language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\czech.lng;%(Outputs) + + + Generating danish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\danish.lng;%(Outputs) + + + Generating dutch language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\dutch.lng;%(Outputs) + + + Generating english_AU language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\english_AU.lng;%(Outputs) + + + Generating english_US language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\english_US.lng;%(Outputs) + + + Generating esperanto language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\esperanto.lng;%(Outputs) + + + Generating estonian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\estonian.lng;%(Outputs) + + + Generating faroese language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\faroese.lng;%(Outputs) + + + Generating finnish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\finnish.lng;%(Outputs) + + + Generating french language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\french.lng;%(Outputs) + + + Generating gaelic language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\gaelic.lng;%(Outputs) + + + Generating galician language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\galician.lng;%(Outputs) + + + Generating german language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\german.lng;%(Outputs) + + + Generating greek language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\greek.lng;%(Outputs) + + + Generating hebrew language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\hebrew.lng;%(Outputs) + + + Generating hungarian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\hungarian.lng;%(Outputs) + + + Generating icelandic language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\icelandic.lng;%(Outputs) + + + Generating indonesian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\indonesian.lng;%(Outputs) + + + Generating irish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\irish.lng;%(Outputs) + + + Generating italian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\italian.lng;%(Outputs) + + + Generating japanese language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\japanese.lng;%(Outputs) + + + Generating korean language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\korean.lng;%(Outputs) + + + Generating latin language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\latin.lng;%(Outputs) + + + Generating latvian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\latvian.lng;%(Outputs) + + + Generating lithuanian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\lithuanian.lng;%(Outputs) + + + Generating luxembourgish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\luxembourgish.lng;%(Outputs) + + + Generating malay language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\malay.lng;%(Outputs) + + + Generating norwegian_bokmal language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\norwegian_bokmal.lng;%(Outputs) + + + Generating norwegian_nynorsk language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\norwegian_nynorsk.lng;%(Outputs) + + + Generating polish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\polish.lng;%(Outputs) + + + Generating portuguese language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\portuguese.lng;%(Outputs) + + + Generating romanian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\romanian.lng;%(Outputs) + + + Generating russian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\russian.lng;%(Outputs) + + + Generating serbian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\serbian.lng;%(Outputs) + + + Generating simplified_chinese language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\simplified_chinese.lng;%(Outputs) + + + Generating slovak language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\slovak.lng;%(Outputs) + + + Generating slovenian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\slovenian.lng;%(Outputs) + + + Generating spanish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\spanish.lng;%(Outputs) + + + Generating swedish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\swedish.lng;%(Outputs) + + + Generating tamil language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\tamil.lng;%(Outputs) + + + Generating thai language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\thai.lng;%(Outputs) + + + Generating traditional_chinese language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\traditional_chinese.lng;%(Outputs) + + + Generating turkish language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\turkish.lng;%(Outputs) + + + Generating ukrainian language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\ukrainian.lng;%(Outputs) + + + Generating vietnamese language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\vietnamese.lng;%(Outputs) + + + Generating welsh language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\welsh.lng;%(Outputs) + + + + + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} + false + + + + + + diff --git a/projects/langs_vs140.vcxproj.filters b/projects/langs_vs140.vcxproj.filters new file mode 100644 index 0000000000..fb16aa64e0 --- /dev/null +++ b/projects/langs_vs140.vcxproj.filters @@ -0,0 +1,173 @@ + + + + + {2a164580-9033-4a01-974b-b21da507efda} + + + + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + Translations + + + diff --git a/projects/langs_vs140.vcxproj.filters.in b/projects/langs_vs140.vcxproj.filters.in new file mode 100644 index 0000000000..0d60ee9595 --- /dev/null +++ b/projects/langs_vs140.vcxproj.filters.in @@ -0,0 +1,12 @@ + + + + + {2a164580-9033-4a01-974b-b21da507efda} + + + + +!!FILES!! + + diff --git a/projects/langs_vs140.vcxproj.in b/projects/langs_vs140.vcxproj.in new file mode 100644 index 0000000000..f75ef9d6b5 --- /dev/null +++ b/projects/langs_vs140.vcxproj.in @@ -0,0 +1,61 @@ + + + + + Debug + Win32 + + + + langs + {0F066B23-18DF-4284-8265-F4A5E7E3B966} + langs + MakeFileProj + + + + Utility + false + v140 + + + + + + + + + + ..\bin\lang\ + ..\objs\langs\ + + + + Generating strings.h + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\objs\langs\table + + + ./langs.tlb + + + + + + + Generating english language file + ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)" + ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs) + ..\bin\lang\english.lng;%(Outputs) + +!!FILES!! + + + + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} + false + + + + + + diff --git a/projects/openttd_vs140.sln b/projects/openttd_vs140.sln new file mode 100644 index 0000000000..d256cfa495 --- /dev/null +++ b/projects/openttd_vs140.sln @@ -0,0 +1,94 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openttd", "openttd_vs140.vcxproj", "{668328A0-B40E-4CDB-BD72-D0064424414A}" + ProjectSection(ProjectDependencies) = postProject + {0817F629-589E-4A3B-B81A-8647BC571E35} = {0817F629-589E-4A3B-B81A-8647BC571E35} + {E9548DE9-F089-49B7-93A6-30BE2CC311C7} = {E9548DE9-F089-49B7-93A6-30BE2CC311C7} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strgen", "strgen_vs140.vcxproj", "{A133A442-BD0A-4ADE-B117-AD7545E4BDD1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "langs", "langs_vs140.vcxproj", "{0F066B23-18DF-4284-8265-F4A5E7E3B966}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "version", "version_vs140.vcxproj", "{1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate", "generate_vs140.vcxproj", "{2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "settings", "settings_vs140.vcxproj", "{0817F629-589E-4A3B-B81A-8647BC571E35}" + ProjectSection(ProjectDependencies) = postProject + {E9548DE9-F089-49B7-93A6-30BE2CC311C7} = {E9548DE9-F089-49B7-93A6-30BE2CC311C7} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "settingsgen", "settingsgen_vs140.vcxproj", "{E9548DE9-F089-49B7-93A6-30BE2CC311C7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|Win32.ActiveCfg = Debug|Win32 + {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|Win32.Build.0 = Debug|Win32 + {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|x64.ActiveCfg = Debug|x64 + {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|x64.Build.0 = Debug|x64 + {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|Win32.ActiveCfg = Release|Win32 + {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|Win32.Build.0 = Release|Win32 + {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|x64.ActiveCfg = Release|x64 + {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|x64.Build.0 = Release|x64 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|Win32.ActiveCfg = Debug|Win32 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|Win32.Build.0 = Debug|Win32 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|x64.ActiveCfg = Debug|Win32 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|x64.Build.0 = Debug|Win32 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|Win32.ActiveCfg = Debug|Win32 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|Win32.Build.0 = Debug|Win32 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|x64.ActiveCfg = Debug|Win32 + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|x64.Build.0 = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|Win32.ActiveCfg = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|Win32.Build.0 = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|x64.ActiveCfg = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|x64.Build.0 = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|Win32.ActiveCfg = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|Win32.Build.0 = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|x64.ActiveCfg = Debug|Win32 + {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|x64.Build.0 = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|Win32.ActiveCfg = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|Win32.Build.0 = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|x64.ActiveCfg = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|x64.Build.0 = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|Win32.ActiveCfg = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|Win32.Build.0 = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|x64.ActiveCfg = Debug|Win32 + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|x64.Build.0 = Debug|Win32 + {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Debug|Win32.ActiveCfg = Debug|Win32 + {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Debug|x64.ActiveCfg = Debug|Win32 + {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Release|Win32.ActiveCfg = Debug|Win32 + {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Release|x64.ActiveCfg = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|Win32.ActiveCfg = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|Win32.Build.0 = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|x64.ActiveCfg = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|x64.Build.0 = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|Win32.ActiveCfg = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|Win32.Build.0 = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|x64.ActiveCfg = Debug|Win32 + {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|x64.Build.0 = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|Win32.ActiveCfg = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|Win32.Build.0 = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|x64.ActiveCfg = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|x64.Build.0 = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|Win32.ActiveCfg = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|Win32.Build.0 = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|x64.ActiveCfg = Debug|Win32 + {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|x64.Build.0 = Debug|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(DPCodeReviewSolutionGUID) = preSolution + DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} + EndGlobalSection +EndGlobal diff --git a/projects/openttd_vs140.vcxproj b/projects/openttd_vs140.vcxproj new file mode 100644 index 0000000000..88f7b44ddd --- /dev/null +++ b/projects/openttd_vs140.vcxproj @@ -0,0 +1,1311 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + openttd + {668328A0-B40E-4CDB-BD72-D0064424414A} + openttd + + + + Application + false + Unicode + v140 + + + Application + false + Unicode + true + v140 + + + Application + false + Unicode + v140 + + + Application + false + Unicode + true + v140 + + + + + + + + + + + + + + + + + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + false + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + false + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(ProjectDir)..\bin + + + + .\Release/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Full + AnySuitable + true + Size + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions) + true + Sync + MultiThreaded + 4Bytes + false + true + + + + + + + All + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + FastCall + Default + true + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + %(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + true + false + + + MachineX86 + true + 5.01 + + + + + .\Debug/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Disabled + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + FastCall + Default + true + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + LIBCMT.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + false + + + MachineX86 + 5.01 + + + + + X64 + .\Release/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Full + AnySuitable + true + Size + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions) + true + Sync + MultiThreaded + Default + false + true + + + + + + + All + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + FastCall + Default + true + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + %(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + true + MachineX64 + true + 5.02 + + + + + X64 + .\Debug/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Disabled + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + + + + + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + Cdecl + Default + true + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + LIBCMT.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + MachineX64 + 5.02 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {0f066b23-18df-4284-8265-f4a5e7e3b966} + false + + + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} + false + + + {1a2b3c5e-1c23-41a5-9c9b-acba2aa75fec} + false + + + + diff --git a/projects/openttd_vs140.vcxproj.filters b/projects/openttd_vs140.vcxproj.filters new file mode 100644 index 0000000000..06800ffdaf --- /dev/null +++ b/projects/openttd_vs140.vcxproj.filters @@ -0,0 +1,3050 @@ + + + + + {c76ff9f1-1e62-46d8-8d55-000000000000} + + + {c76ff9f1-1e62-46d8-8d55-000000000001} + + + {c76ff9f1-1e62-46d8-8d55-000000000002} + + + {c76ff9f1-1e62-46d8-8d55-000000000003} + + + {c76ff9f1-1e62-46d8-8d55-000000000004} + + + {c76ff9f1-1e62-46d8-8d55-000000000005} + + + {c76ff9f1-1e62-46d8-8d55-000000000006} + + + {c76ff9f1-1e62-46d8-8d55-000000000007} + + + {c76ff9f1-1e62-46d8-8d55-000000000008} + + + {c76ff9f1-1e62-46d8-8d55-000000000009} + + + {c76ff9f1-1e62-46d8-8d55-000000000010} + + + {c76ff9f1-1e62-46d8-8d55-000000000011} + + + {c76ff9f1-1e62-46d8-8d55-000000000012} + + + {c76ff9f1-1e62-46d8-8d55-000000000013} + + + {c76ff9f1-1e62-46d8-8d55-000000000014} + + + {c76ff9f1-1e62-46d8-8d55-000000000015} + + + {c76ff9f1-1e62-46d8-8d55-000000000016} + + + {c76ff9f1-1e62-46d8-8d55-000000000017} + + + {c76ff9f1-1e62-46d8-8d55-000000000018} + + + {c76ff9f1-1e62-46d8-8d55-000000000019} + + + {c76ff9f1-1e62-46d8-8d55-000000000020} + + + {c76ff9f1-1e62-46d8-8d55-000000000021} + + + {c76ff9f1-1e62-46d8-8d55-000000000022} + + + {c76ff9f1-1e62-46d8-8d55-000000000023} + + + {c76ff9f1-1e62-46d8-8d55-000000000024} + + + {c76ff9f1-1e62-46d8-8d55-000000000025} + + + {c76ff9f1-1e62-46d8-8d55-000000000026} + + + {c76ff9f1-1e62-46d8-8d55-000000000027} + + + {c76ff9f1-1e62-46d8-8d55-000000000028} + + + {c76ff9f1-1e62-46d8-8d55-000000000029} + + + {c76ff9f1-1e62-46d8-8d55-000000000030} + + + {c76ff9f1-1e62-46d8-8d55-000000000031} + + + {c76ff9f1-1e62-46d8-8d55-000000000032} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + Core Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + GUI Source Code + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Command handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Save/Load handlers + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + Tables + + + MD5 + + + MD5 + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Script + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + Squirrel headers + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI Core + + + AI API + + + Game API + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Game Core + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Script API Implementation + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Blitters + + + Drivers + + + Drivers + + + Drivers + + + Sprite loaders + + + Sprite loaders + + + Sprite loaders + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + NewGRF + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Map Accessors + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Network Core + + + Pathfinder + + + Pathfinder + + + Pathfinder + + + Pathfinder + + + Pathfinder + + + Pathfinder + + + NPF + + + NPF + + + NPF + + + NPF + + + NPF + + + NPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + YAPF + + + Video + + + Video + + + Video + + + Video + + + Music + + + Music + + + Music + + + Sound + + + Sound + + + Sound + + + Windows files + + + Windows files + + + Windows files + + + Threading + + + Threading + + + + + + + diff --git a/projects/openttd_vs140.vcxproj.filters.in b/projects/openttd_vs140.vcxproj.filters.in new file mode 100644 index 0000000000..cda491072c --- /dev/null +++ b/projects/openttd_vs140.vcxproj.filters.in @@ -0,0 +1,13 @@ + + + +!!FILTERS!! + + +!!FILES!! + + + + + + diff --git a/projects/openttd_vs140.vcxproj.in b/projects/openttd_vs140.vcxproj.in new file mode 100644 index 0000000000..8089278bff --- /dev/null +++ b/projects/openttd_vs140.vcxproj.in @@ -0,0 +1,332 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + openttd + {668328A0-B40E-4CDB-BD72-D0064424414A} + openttd + + + + Application + false + Unicode + v140 + + + Application + false + Unicode + true + v140 + + + Application + false + Unicode + v140 + + + Application + false + Unicode + true + v140 + + + + + + + + + + + + + + + + + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + false + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + false + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + $(SolutionDir)..\objs\$(Platform)\$(Configuration)\ + $(ProjectDir)..\bin + + + + .\Release/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Full + AnySuitable + true + Size + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions) + true + Sync + MultiThreaded + 4Bytes + false + true + + + + + + + All + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + FastCall + Default + true + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + %(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + true + false + + + MachineX86 + true + 5.01 + + + + + .\Debug/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Disabled + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + FastCall + Default + true + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + LIBCMT.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + false + + + MachineX86 + 5.01 + + + + + X64 + .\Release/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Full + AnySuitable + true + Size + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions) + true + Sync + MultiThreaded + Default + false + true + + + + + + + All + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + FastCall + Default + true + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + %(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + true + MachineX64 + true + 5.02 + + + + + X64 + .\Debug/openttd.tlb + + + + + /J /Zc:throwingNew %(AdditionalOptions) + Disabled + true + ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + + + + + + + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + false + true + ProgramDatabase + Cdecl + Default + true + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0809 + + + winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies) + true + LIBCMT.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + 1048576 + 1048576 + MachineX64 + 5.02 + + + +!!FILES!! + + + + + + + + {0f066b23-18df-4284-8265-f4a5e7e3b966} + false + + + {a133a442-bd0a-4ade-b117-ad7545e4bdd1} + false + + + {1a2b3c5e-1c23-41a5-9c9b-acba2aa75fec} + false + + + + diff --git a/projects/settings_vs140.vcxproj b/projects/settings_vs140.vcxproj new file mode 100644 index 0000000000..4fe07dbd64 --- /dev/null +++ b/projects/settings_vs140.vcxproj @@ -0,0 +1,54 @@ + + + + + Debug + Win32 + + + + settings + {0817F629-589E-4A3B-B81A-8647BC571E35} + settings + + + + Makefile + v140 + + + + + + + + + +..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini + + + + ..\objs\settings\table\ + ..\objs\settings\table\ + $(SettingsCommandLine) + $(SettingsCommandLine) + del ..\objs\settings\table\settings.h + ..\objs\settings\table\settings.h + + + + + + + + + + + + + + + + + + diff --git a/projects/settings_vs140.vcxproj.filters b/projects/settings_vs140.vcxproj.filters new file mode 100644 index 0000000000..8caf9fa0a6 --- /dev/null +++ b/projects/settings_vs140.vcxproj.filters @@ -0,0 +1,35 @@ + + + + + {21deca6c-8df4-4f34-9dad-17d7781cd5a0} + + + + + INI + + + INI + + + INI + + + INI + + + INI + + + INI + + + INI + + + + + + + diff --git a/projects/settings_vs140.vcxproj.filters.in b/projects/settings_vs140.vcxproj.filters.in new file mode 100644 index 0000000000..08f90670d2 --- /dev/null +++ b/projects/settings_vs140.vcxproj.filters.in @@ -0,0 +1,15 @@ + + + + + {21deca6c-8df4-4f34-9dad-17d7781cd5a0} + + + +!!FILES!! + + + + + + diff --git a/projects/settings_vs140.vcxproj.in b/projects/settings_vs140.vcxproj.in new file mode 100644 index 0000000000..71ea738dcf --- /dev/null +++ b/projects/settings_vs140.vcxproj.in @@ -0,0 +1,48 @@ + + + + + Debug + Win32 + + + + settings + {0817F629-589E-4A3B-B81A-8647BC571E35} + settings + + + + Makefile + v140 + + + + + + + + + +!!FILTERS!! + + + + ..\objs\settings\table\ + ..\objs\settings\table\ + $(SettingsCommandLine) + $(SettingsCommandLine) + del ..\objs\settings\table\settings.h + ..\objs\settings\table\settings.h + + +!!FILES!! + + + + + + + + + diff --git a/projects/settingsgen_vs140.vcxproj b/projects/settingsgen_vs140.vcxproj new file mode 100644 index 0000000000..fc6d079e8e --- /dev/null +++ b/projects/settingsgen_vs140.vcxproj @@ -0,0 +1,83 @@ + + + + + Debug + Win32 + + + + settingsgen + {E9548DE9-F089-49B7-93A6-30BE2CC311C7} + settings + + + + Application + MultiByte + v140 + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ..\objs\settings\ + ..\objs\settings\ + settings_gen + + + + + + + + %(Inputs) + + + MinSpace + Size + SETTINGSGEN;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + All + $(IntDir)$(TargetName).pdb + Level3 + true + ProgramDatabase + MultiThreadedDebug + + + $(OutDir)settings_gen.exe + true + false + + + Console + 5.01 + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/settingsgen_vs140.vcxproj.filters b/projects/settingsgen_vs140.vcxproj.filters new file mode 100644 index 0000000000..c8afe0c8ed --- /dev/null +++ b/projects/settingsgen_vs140.vcxproj.filters @@ -0,0 +1,32 @@ + + + + + {a4678737-b3b3-4be5-9db1-fa6ccd164c59} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + + + + + + diff --git a/projects/strgen_vs140.vcxproj b/projects/strgen_vs140.vcxproj new file mode 100644 index 0000000000..ebf56a4daf --- /dev/null +++ b/projects/strgen_vs140.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + Win32 + + + + strgen + {A133A442-BD0A-4ADE-B117-AD7545E4BDD1} + strgen + + + + Application + false + MultiByte + v140 + + + + + + + + + + $(SolutionDir)..\objs\strgen\ + $(SolutionDir)..\objs\strgen\ + false + AllRules.ruleset + + + + + + .\Debug/strgen.tlb + + + + + /MP %(AdditionalOptions) + MinSpace + Size + STRGEN;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + Default + MultiThreadedDebug + + + All + $(IntDir) + $(IntDir) + $(IntDir)$(TargetName).pdb + Level3 + true + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x041d + + + true + true + $(IntDir)strgen.pdb + Console + false + + + MachineX86 + 5.01 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/strgen_vs140.vcxproj.filters b/projects/strgen_vs140.vcxproj.filters new file mode 100644 index 0000000000..58864ee691 --- /dev/null +++ b/projects/strgen_vs140.vcxproj.filters @@ -0,0 +1,35 @@ + + + + + {5894294c-d4dc-41f0-be31-e56cff4e0405} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + + + + + + + + diff --git a/projects/version_vs140.vcxproj b/projects/version_vs140.vcxproj new file mode 100644 index 0000000000..baf374bca0 --- /dev/null +++ b/projects/version_vs140.vcxproj @@ -0,0 +1,42 @@ + + + + + Debug + Win32 + + + + version + {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC} + version + + + + Makefile + MultiByte + v140 + + + + + + + + + + $(SolutionDir)..\objs\version\ + $(SolutionDir)..\objs\version\ + cscript "$(ProjectDir)/determineversion.vbs" + cscript "$(ProjectDir)/determineversion.vbs" + ..\src\rev.cpp + del ..\src\rev.cpp + + + + + + + + + \ No newline at end of file From 8f711aca5349a20a5d17cc051ad4421945114dd4 Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 12 Aug 2015 20:50:10 +0000 Subject: [PATCH 19/62] (svn r27383) -Fix: win32 sound driver would not catch the exception due to constness difference --- src/sound/win32_s.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sound/win32_s.cpp b/src/sound/win32_s.cpp index 0cd632714c..45f88172a9 100644 --- a/src/sound/win32_s.cpp +++ b/src/sound/win32_s.cpp @@ -81,7 +81,7 @@ const char *SoundDriver_Win32::Start(const char * const *parm) PrepareHeader(&_wave_hdr[1]); if (NULL == (_thread = CreateThread(NULL, 8192, SoundThread, 0, 0, &_threadId))) throw "Failed to create thread"; - } catch (char *error) { + } catch (const char *error) { this->Stop(); return error; } From 70322bce595b1608ff8b00dd353700ce7b5f4119 Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 13 Aug 2015 17:45:15 +0000 Subject: [PATCH 20/62] (svn r27384) -Update from WebTranslator v3.0: catalan - 35 changes by juanjo --- src/lang/catalan.txt | 70 ++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index b9de63180f..2e8ecf97c0 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -1181,64 +1181,64 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Model d'acceler STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració de trens. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza les pujades i les corbes en funció de diverses propietats del tren, com ara la longitud i la força de tracció STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Model d'acceleració per als vehicles: {STRING} STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el model físic per l'acceleració d'automòbils. El model «original» penalitza les pujades per igual a tots els vehicles. El model «realista» penalitza els pendents en funció de les diferents propietats de la màquina, com per exemple l'esforç de tracció. -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Pendent d'inclinació per als trens: {STRING} -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una cel·la en pendent per a un tren. Els valors més alts fan que sigui més difícil escalar un turó +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Pendent de les costes per als trens: {STRING} +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :El pendent de les caselles amb costes per als trens. Els valors alts fan que sigui més difícil pujar els turons. STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Pendent d'inclinació per als automòbils: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :La inclinació d'una cel·la amb pendent per a automòbils. Els valors més alts fan que sigui més difícil escalar un turó +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Pendent de les costes per als vehicles de carretera: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :El pendent de les caselles amb costes per a vehicles de carretera. Els valors alts fan que sigui més difícil pujar els turons. STR_CONFIG_SETTING_FORBID_90_DEG :Prohibeix fer girs de 90 graus als trens i vaixells: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Els girs de 90 graus succeeixen quan una via horitzontal està seguida d'una vertical a la cel·la annexa, provocant que el tren giri 90 graus quan travessi la vora de la cel·la en lloc dels 45 graus usuals en les altres combinacions. Això també s'aplica al radi de gir dels vaixells +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Els girs de 90 graus succeeixen quan hi ha una via horitzontal seguida d'una de vertical a la cel·la annexa, provocant que el tren giri 90 graus quan travessi la vora de la cel·la en lloc dels 45 graus usuals en les altres combinacions. Això també s'aplica al gir dels vaixells. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permet ajuntar estacions no annexes: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permetre afegir parts a una estació sense contacte directe amb les parts existents. Fa falta Ctrl + Clic, mentre és col·loquen les peces noves +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Aquesta opció permet afegir parts noves a una estació existent sense estar les parts noves en contacte directe amb les existents. Cal clicar Ctrl+Clic mentre es col·loquen les parts noves. STR_CONFIG_SETTING_INFLATION :Inflació: {STRING} -STR_CONFIG_SETTING_INFLATION_HELPTEXT :Habilita la inflació a l'economia, on l'augment dels costos són una mica més ràpids que els dels pagaments -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Màxima longitud dels ponts: {STRING} +STR_CONFIG_SETTING_INFLATION_HELPTEXT :Habilita la inflació a l'economia, on l'augment dels costos són una mica més ràpids que els dels pagaments. +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Longitud màxima dels ponts: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Longitud màxima per a la construcció de ponts STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Alçada màxima dels ponts: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Alçada màxima de construcció dels ponts STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Màxima longitud dels túnels: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Longitud màxima per a la construcció de túnels -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Mètode de construcció de la indústria primària manual: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Mètode de finançament d'indústria primària. 'cap' significa que no serà possible fundar-ne cap, 'prospecció' significa que serà possible fundar-ne, però la construcció succeirà en un lloc aleatori del mapa i també podria passar que fracassi, 'com les altre indústries' significa que les indústries de matèries primeres poden ser construides a qualsevol lloc per les companyies igual que les indústries manufactureres -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Cap +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Fundació de noves indústries primàries: {STRING} +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Mètode de fundació de noves indústries primàries. «Fundació desactivada» significa que no serà possible fundar-ne cap, «Amb prospeccions» significa que serà possible fundar-ne, però la construcció succeirà en un lloc aleatori del mapa i podria fracassar. «Com les altres indústries» significa que les indústries de matèries primeres poden ser construïdes en qualsevol lloc per les companyies igual que les indústries manufactureres. +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Fundació desactivada STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Com les altres indústries -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospeccionant -STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Àrea plana al voltant de les indústries: {STRING} -STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantitat d'espai pla al voltant d'una indústira. Això assegura que quedarà espai buit al voltant de la indústria per a construir vies, etc. +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Amb prospeccions +STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Àrea anivellada al voltant de les indústries: {STRING} +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantitat d'espai pla al voltant d'una indústria. Això assegura que quedarà espai buit al voltant de la indústria per construir vies o altres infraestructures. STR_CONFIG_SETTING_MULTIPINDTOWN :Permet vàries indústries similars a cada població: {STRING} -STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalment, una població no vol més d'un tipus d'indústria de cada tipus. Amb aquest paràmetre es permetrà diverses indústries del mateix tipus a la mateixa població +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalment, una població no vol tenir més d'una indústria de cada tipus. Amb aquest paràmetre es permet la construcció de diverses indústries del mateix tipus a la mateixa població. STR_CONFIG_SETTING_SIGNALSIDE :Mostra els senyals: {STRING} -STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Selecciona a quin costat de la via s'han de posar els senyals +STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Seleccioneu a quin costat de la via s'han de posar els senyals STR_CONFIG_SETTING_SIGNALSIDE_LEFT :A l'esquerra STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Al costat de conducció STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :A la dreta STR_CONFIG_SETTING_SHOWFINANCES :Mostra la finestra de balanç al finalitzar cada any: {STRING} -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si està activat, la finestra de finances apareix al final de cada any per permetre una inspecció fàcil de l'estat financer de la companyia -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Les noves ordres predeterminades són 'sense parada': {STRING} -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalment, un vehicle pararà a cada estació que passi. Activant aquest paràmetre no pararà a cap estació fins arribar a la seu destí. Nota, aquest paràmetre només defineix el valor predeterminat per les noves ordres. De totes maneres les ordres individuals poden establir explícitament qualsevol dels comportaments -STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres del tren: parar per defecte {STRING} de la plataforma -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Situa en quin lloc de la plataforma el tren pararà per defecte. 'Extrem més proper' significa a prop del punt d'entrada, 'al mig' significa al mig de la plataforma, i 'extrem més llunyà' significa lluny del punt d'entrada. Nota, aquest paràmetre només defineix el valor predeterminat per les noves ordres. De totes maneres les ordres individuals poden establir explícitament qualsevol dels comportaments -STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :a l'extrem més proper -STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :a la meitat -STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :a l'extrem més llunyà -STR_CONFIG_SETTING_AUTOSCROLL :Finestra d'avís quan el ratolí és al marc del programa: {STRING} -STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quan està activat, les vistes començaran a desplaçar-se quan el ratolí sigui a prop la vora de la finestra +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si el paràmetre està activat, la finestra de finances apareix al final de cada any per permetre una inspecció fàcil de l'estat financer de la companyia. +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :«Sense parada» per defecte a les noves ordres : {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalment, un vehicle para a cada estació per la que passa. Activant aquest paràmetre, no pararà a cap estació fins arribar al seu destí. Nota: aquest paràmetre només defineix el valor predeterminat per a les noves ordres. Un cop creada una ordre, aquesta es pot establir manualment al comportament desitjat. +STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres de trens: parar per defecte {STRING} de la plataforma +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Estableix en quin lloc de la plataforma els trens pararan per defecte. «Extrem més proper» significa a prop del punt d'entrada, «Al mig» significa al mig de la plataforma, i «Extrem més llunyà» significa lluny del punt d'entrada. Nota: aquest paràmetre només defineix el valor predeterminat per les noves ordres. Un cop creada una ordre, es pot modificar el comportament de forma manual. +STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :A l'extrem més proper +STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :Al mig +STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :A l'extrem més llunyà +STR_CONFIG_SETTING_AUTOSCROLL :Desplaça la finestra quan el ratolí sigui prop de la vora: {STRING} +STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quan està activat, l'àrea de visualització començarà a desplaçar-se quan el ratolí sigui prop de la vora de la finestra. STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivat -STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal, només pantalla completa +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal (només pantalla completa) STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Vista principal -STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Cada vista -STR_CONFIG_SETTING_BRIBE :Permet subornar a les autoritats locals: {STRING} -STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permet a les companyies intentar subornar a l'autoritat local. Si el suborn és detectat per un inspector, la companyia no podrà actuar a la població durant sis mesos +STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Qualsevol vista +STR_CONFIG_SETTING_BRIBE :Permet subornar les autoritats locals: {STRING} +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permet a les companyies intentar subornar l'autoritat local. Si el suborn és detectat per un inspector, la companyia no podrà actuar a la població durant sis mesos. STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permet comprar els drets del transport en exclusiva: {STRING} -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una companyia compra els drets de transport en exclusiva en una població, les estacions dels oponents (passatgers i càrrega) no rebran cap càrrega durant tot l'any +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Si una companyia compra els drets de transport en exclusiva d'una població, les estacions dels oponents (passatgers i càrrega) no rebran cap càrrega durant un any sencer. STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permet finançar edificis: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permet a les companyies donar diners a les poblacions per a finançar nous edificis +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permet a les companyies donar diners a les poblacions per finançar nous edificis STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permet finançar la reconstrucció dels carrers locals: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permet a les companyies donar diners a les poblacions per a la reconstrucció de carrers i sabotejar-hi la circulació de vehicles +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permet a les companyies donar diners a les poblacions per la reconstrucció de carrers i sabotejar la circulació de vehicles. STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permet enviar diners a altres companyies: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permet transferir diners entre companyies en el mode multijugador -STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de pes per contenidor per simular trens pesats: {STRING} -STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Estableix l'impacte de transportar contenidors en trens. Un valor més alt fa que transportar contenidors sigui més exigent amb els trens, especialment als turons +STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de pes per simular trens pesats: {STRING} +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Estableix l'impacte de transportar contenidors en trens. Els valors alts fan que transportar contenidors sigui més exigent amb els trens, especialment als turons. STR_CONFIG_SETTING_PLANE_SPEED :Factor de velocitat dels avions: {STRING} STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Estableix la velocitat relativa dels avions en comparació amb els altres tipus de vehicles, per reduir la quantitat de guanys de transport dels avions STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} From 3b8aabdd9eaa13586b557812d22cad0e4ab95f85 Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 13 Aug 2015 18:13:24 +0000 Subject: [PATCH 21/62] (svn r27385) -Fix: compilation failure due #define-ing enum name of a system library before including the system library --- src/os/windows/win32.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/windows/win32.cpp b/src/os/windows/win32.cpp index f69f01f6cb..2682fa1433 100644 --- a/src/os/windows/win32.cpp +++ b/src/os/windows/win32.cpp @@ -14,13 +14,13 @@ #include "../../gfx_func.h" #include "../../textbuf_gui.h" #include "../../fileio_func.h" -#include "../../fios.h" #include #include #include #include /* SHGetFolderPath */ #include #include "win32.h" +#include "../../fios.h" #include "../../core/alloc_func.hpp" #include "../../openttd.h" #include "../../core/random_func.hpp" From 8cfc1e9d2392097538580fc7728e4b55b962d1e3 Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 14 Aug 2015 17:45:16 +0000 Subject: [PATCH 22/62] (svn r27386) -Update from WebTranslator v3.0: dutch - 3 changes by TheTycoonist --- src/lang/dutch.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 83a67773c5..c051f4fdba 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -3185,7 +3185,7 @@ STR_FINANCES_YEAR :{WHITE}{NUM} STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Bouwkosten STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nieuwe voertuigen STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Treinonderhoudskosten -STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Wegvoertuigbrandstofkosten +STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Wegvoertuigonderhoudskosten STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Vliegtuigonderhoudskosten STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Schiponderhoudskosten STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}Eigendomsonderhoud @@ -3268,7 +3268,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tramrail STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Water tegels: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanalen STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stations: -STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Station tegels +STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Stationtegels STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Vliegvelden STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/jr @@ -3350,7 +3350,7 @@ STR_GROUP_DEFAULT_SHIPS :Niet gegroepeer STR_GROUP_DEFAULT_AIRCRAFTS :Niet gegroepeerde vliegtuigen STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepen - Klik op een groep voor een lijst van alle voertuigen in deze groep. Klik en sleep om hiërarchie te beheren -STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om een groep te maken +STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om een groep te creëren STR_GROUP_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde groep STR_GROUP_RENAME_TOOLTIP :{BLACK}Hernoem de geselecteerde groep STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik om deze groep te beschermen tegen globaal automatisch vervangen From 284c9dd3422d9adbd71f4fdbf8fd59a89c0b902e Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 19 Aug 2015 17:45:15 +0000 Subject: [PATCH 23/62] (svn r27387) -Update from WebTranslator v3.0: dutch - 2 changes by TheTycoonist --- src/lang/dutch.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index c051f4fdba..a36aecba4b 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -30,7 +30,7 @@ STR_CARGO_PLURAL_NOTHING : STR_CARGO_PLURAL_PASSENGERS :Passagiers STR_CARGO_PLURAL_COAL :Kolen STR_CARGO_PLURAL_MAIL :Post -STR_CARGO_PLURAL_OIL :Olie +STR_CARGO_PLURAL_OIL :Ruwe olie STR_CARGO_PLURAL_LIVESTOCK :Vee STR_CARGO_PLURAL_GOODS :Goederen STR_CARGO_PLURAL_GRAIN :Graan @@ -4357,7 +4357,7 @@ STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kan dit STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... het is al van jou! # Group related errors -STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan groep niet maken... +STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan groep niet creëren... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan deze groep niet verwijderen... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan deze groep niet hernoemen... STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan huidige groep niet instellen... From 8f36c49ffa20707d804774f40af2bbb5ac797fcd Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 20 Aug 2015 17:45:15 +0000 Subject: [PATCH 24/62] (svn r27388) -Update from WebTranslator v3.0: dutch - 4 changes by TheTycoonist --- src/lang/dutch.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index a36aecba4b..947f0736c8 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -30,7 +30,7 @@ STR_CARGO_PLURAL_NOTHING : STR_CARGO_PLURAL_PASSENGERS :Passagiers STR_CARGO_PLURAL_COAL :Kolen STR_CARGO_PLURAL_MAIL :Post -STR_CARGO_PLURAL_OIL :Ruwe olie +STR_CARGO_PLURAL_OIL :Aardolie STR_CARGO_PLURAL_LIVESTOCK :Vee STR_CARGO_PLURAL_GOODS :Goederen STR_CARGO_PLURAL_GRAIN :Graan @@ -64,7 +64,7 @@ STR_CARGO_SINGULAR_NOTHING : STR_CARGO_SINGULAR_PASSENGER :Passagier STR_CARGO_SINGULAR_COAL :Kolen STR_CARGO_SINGULAR_MAIL :Post -STR_CARGO_SINGULAR_OIL :Olie +STR_CARGO_SINGULAR_OIL :Aardolie STR_CARGO_SINGULAR_LIVESTOCK :Vee STR_CARGO_SINGULAR_GOODS :Goederen STR_CARGO_SINGULAR_GRAIN :Graan @@ -98,7 +98,7 @@ STR_QUANTITY_NOTHING : STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} kolen STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post -STR_QUANTITY_OIL :{VOLUME_LONG} olie +STR_QUANTITY_OIL :{VOLUME_LONG} Vaten Olie STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan @@ -168,7 +168,7 @@ STR_ABBREV_ALL :{TINY_FONT}ALLE STR_PASSENGERS :{COMMA}{NBSP}passagier{P "" s} STR_BAGS :{COMMA}{NBSP}zak{P "" ken} STR_TONS :{COMMA}{NBSP}ton -STR_LITERS :{COMMA}{NBSP}liter +STR_LITERS :{COMMA}{NBSP}liter{P "" s} STR_ITEMS :{COMMA}{NBSP}stuk{P "" s} STR_CRATES :{COMMA}{NBSP}krat{P "" ten} From 8c389a2a96dd532eb6db8ce11c9b8e73a5239549 Mon Sep 17 00:00:00 2001 From: frosch Date: Thu, 20 Aug 2015 20:47:45 +0000 Subject: [PATCH 25/62] (svn r27389) -Fix: There are two different availability conditions for fdatasync in the manpage. Use them both, since at least on some MinGW versions one is not enough. --- src/ini.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ini.cpp b/src/ini.cpp index ccce192393..905ebfacf8 100644 --- a/src/ini.cpp +++ b/src/ini.cpp @@ -16,7 +16,6 @@ #include "fileio_func.h" #if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309L) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500) -# define WITH_FDATASYNC # include #endif @@ -80,7 +79,7 @@ bool IniFile::SaveToDisk(const char *filename) * APIs to do so. We only need to flush the data as the metadata itself * (modification date etc.) is not important to us; only the real data is. */ -#ifdef WITH_FDATASYNC +#if defined(_POSIX_SYNCHRONIZED_IO) && _POSIX_SYNCHRONIZED_IO > 0 int ret = fdatasync(fileno(f)); fclose(f); if (ret != 0) return false; From ee8bee5e3147d3e886aa9b12e9c8902b96b2f0aa Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 30 Aug 2015 17:45:17 +0000 Subject: [PATCH 26/62] (svn r27390) -Update from WebTranslator v3.0: korean - 1 changes by telk5093 --- src/lang/korean.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 9d3dec0d3c..45e12e60a3 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -2988,7 +2988,7 @@ STR_TOWN_VIEW_MAIL_LAST_MONTH_MAX :{BLACK}지난 STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}도시가 성장하기 위해 필요한 화물: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED}{G 0 "이" "가"} 필요함 STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :겨울에는 {ORANGE}{STRING}{BLACK}{G 0 "이" "가"} 필요함 -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} 수송됨 +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN}{G 0 "이" "가"} 수송됨 STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{RED} (더 필요함) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{1:CARGO_LONG} \ {0:CARGO_TINY}{GREEN} (수송됨) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}도시가 {ORANGE}{COMMA}{BLACK}일마다 성장합니다. From 246df66229a65066304186fc15e2f3b18a5377d0 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 31 Aug 2015 17:45:13 +0000 Subject: [PATCH 27/62] (svn r27391) -Update from WebTranslator v3.0: english_US - 2 changes by Supercheese --- src/lang/english_US.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index baa4166579..fa55f7235b 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -1901,8 +1901,8 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Change t # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Multiplayer -STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Advertized -STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Choose between an advertized (internet) and a not advertized (Local Area Network, LAN) game +STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Advertised +STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Choose between an advertised (internet) and a not advertised (Local Area Network, LAN) game STR_NETWORK_SERVER_LIST_ADVERTISED_NO :No STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Yes STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Player name: From 54eb340998408f79f27baadb5229176b19031ed1 Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 3 Sep 2015 17:45:12 +0000 Subject: [PATCH 28/62] (svn r27394) -Update from WebTranslator v3.0: frisian - 25 changes by BAJansen --- src/lang/unfinished/frisian.txt | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index b99af4e20d..fe1e9647d7 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -1258,7 +1258,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :By ynskeakeljen STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Warskôgje as in fiertúch it paad bjuster is: {STRING} STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Lit berjochten sjen at in fiertúch gjin paad nei syn bestimming fine kin STR_CONFIG_SETTING_ORDER_REVIEW :Hâld fiertúchoarders yn de gaten: {STRING} -STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :By ynkeakeljen wurde de oarder fan de fiertugen sa no en dan kontrolearre en wurde flater dy't dêrby nei boppe komme melden +STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :By ynskeakeljen wurde de oarder fan de fiertugen sa no en dan kontrolearre en wurde flater dy't dêrby nei boppe komme melden STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Nee STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Ja, mar slút stilsteande fiertugen út STR_CONFIG_SETTING_ORDER_REVIEW_ON :Fan alle fiertugen @@ -1328,7 +1328,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Grien STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Donker grien STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fiolet STR_CONFIG_SETTING_REVERSE_SCROLLING :Draai scrollrjochtig om: {STRING} -STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :By útskeakjen beweecht de mûs de kamera. By ynskeakeljen beweecht de mûs de kaart +STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :By útskeakeljen beweecht de mûs de kamera. By ynskeakeljen beweecht de mûs de kaart STR_CONFIG_SETTING_SMOOTH_SCROLLING :Loaitsfinster floeiend scrolle : {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Bepaalt hoe it haadfinster scrollt. By ynskeakeljen sil dit floeiend wêze. By útskeakeljen ljept it byld direktst nei de selektearre lokaasje STR_CONFIG_SETTING_MEASURE_TOOLTIP :Under it gebrûk fan de ferskate bou-arken diminsjes sjen litte: {STRING} @@ -3314,6 +3314,7 @@ STR_TIMETABLE_DAYS :{COMMA}{NBSP}{P STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ken} +STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Dit fiertûg is op tiid STR_TIMETABLE_CHANGE_TIME :{BLACK}Tiid Feroarje @@ -3326,6 +3327,7 @@ STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Feroarje STR_TIMETABLE_CLEAR_SPEED :{BLACK}Helje maksimum snelheid fuort STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Helje de maksimum reissnelheid fuort fan de opljochte oarder +STR_TIMETABLE_RESET_LATENESS :{BLACK}Fertragingsteller weromsette STR_TIMETABLE_EXPECTED :{BLACK}Ferwachte @@ -3373,7 +3375,9 @@ STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spulskript STR_AI_LIST_CAPTION :{WHITE}Beskikber {STRING} STR_AI_LIST_CAPTION_AI :AIs STR_AI_LIST_CAPTION_GAMESCRIPT :Spulskripten +STR_AI_LIST_TOOLTIP :{BLACK}Klik om in skript te selektearje +STR_AI_LIST_AUTHOR :{LTBLUE}Makker: {ORANGE}{STRING} STR_AI_LIST_VERSION :{LTBLUE}Ferzje: {ORANGE}{NUM} STR_AI_LIST_URL :{LTBLUE}URL: {ORANGE}{STRING} @@ -3420,6 +3424,8 @@ STR_ERROR_GAME_SAVE_FAILED :{WHITE}Opslaan STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kin bestân net fuortsmite STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden Mislearre{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne flater: {STRING} +STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Koe bestân net lêze +STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Koe net nei bestân skriuwe STR_GAME_SAVELOAD_NOT_AVAILABLE : # Map generation messages @@ -3462,13 +3468,16 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Net tast # Local authority errors STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN} gemiente stiet dit net ta STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN} gemeente lit it net ta dat der noch in fleanfjild bout wurd yn dizze stêd +STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} gemeente lit it net ta dat der in fleanfjild bout wurd fanwegen lûdoerlêst # Levelling errors STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Kin it lân hjir net ferheegje... STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Kin it lân hjir net ferleegje... +STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Kin it lân hjir net egalisearje... STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}Utgrave soe tunnel beskeadigje STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}Lân is al op seenivo STR_ERROR_TOO_HIGH :{WHITE}Te heech +STR_ERROR_ALREADY_LEVELLED :{WHITE}... is al plat # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kin bedriuwsnamme net feroarje... @@ -3479,10 +3488,12 @@ STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kin net STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... gjin liening werom te betelje STR_ERROR_CURRENCY_REQUIRED :{WHITE}...{CURRENCY_LONG} nedich STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kin liening net werombetelje... +STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Kin gjin jild dat fan de bank lient is weijaan... STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kin bedriuw net keapje... STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kin gjin haadkantoar boue STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kin net 25% oandielen fan dit bedriuw keapje... STR_ERROR_CAN_T_SELL_25_SHARE_IN :{WHITE}Kin net 25% oandielen fan dit bedriuw ferkeapje... +STR_ERROR_PROTECTED :{WHITE}Dit bedriuw is noch net âld genoch om oandielen te ferhannelje... # Town related errors STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kin gjin stêd bouwe @@ -3493,10 +3504,13 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... te t STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... te ticht by in oare stêd STR_ERROR_TOO_MANY_TOWNS :{WHITE}... te folle stêden STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... der is gjin romte mear op'e kaart +STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Wurk oan de dyk dwaande +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kin dizze stêd net fuorthelje...{}In stasjon of depôt ferwiist nei dizze stêd of in tegel dy't eigendom van dizze stêd is kin net fuorthelje wurde STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... Gjin geskikt plak fûn foar in stânbield in dizze stêd # Industry related errors STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... te folle yndustryen +STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Kin gjin yndustryen generearje... STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Kin hjir gjin {STRING} boue... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kin dit type yndustry hjir net boue... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... te ticht by in oare yndustry @@ -3506,12 +3520,15 @@ STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... kin STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... kin allinnich yn in reinwâld bout wurde STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... kin allinnich yn in woastine bout wurde STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... kin allinnich yn in stêd bout wurde (ferfangt besteande hûzen) +STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... kin allinich by it sintrum van in stêd bout wurde STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... kin allinnich yn lege plakken bout wurde STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... kin allinich pleatse wurde by de rân fan'e kaart STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... bosk kin allinich boppe snieline boud wurde STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kin allinich boppe snieline boud wurde STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kin allinich ûnder snieline boud wurde +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Der wie gjin gaadlike plak foar '{STRING}' industryen +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Feroarje de mapynstellings om in bettere kaart te krijen # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kin hjir gjin treinstasjon boue... @@ -3525,14 +3542,20 @@ STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Kin hjir STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Ferbynt mear dan ien stasjon STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... stasjon is te grut STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Te folle stasjons +STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Te folle stasjonsdielen STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Te folle bushaltes STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Te folle frachtstasjons STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Te ticht by in oar stasjon STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Te ticht by in oare haven STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Te ticht by in oar fleanfjild STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Kin namme fan stasjon net feroarje +STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... dizze dyk is eigendom fan in stêd +STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... dyk leit in ferkearde rjochting +STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... trochriidhaltes kinne gjin bochten hawwe +STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... trochriidhaltes kinne gjin krusings hawwe # Station destruction related errors +STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kin diel fan it stasjon net fourthelje... STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Treinstasjon moat earst fuorthelle wurde STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kin busstasjon net fuorthelje... STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kin frachtstasjon net fuorthelje... From 081da61d05b863644d6ae500b6ab0867ba911d2e Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 9 Sep 2015 17:45:14 +0000 Subject: [PATCH 29/62] (svn r27395) -Update from WebTranslator v3.0: frisian - 14 changes by BAJansen --- src/lang/unfinished/frisian.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index fe1e9647d7..c0ab4c6e00 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -1303,7 +1303,9 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rûch STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Tige rûch STR_CONFIG_SETTING_VARIETY :Fariaasjedistribusje: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT :Tal rivieren: {STRING} +STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Kieze hoefolle rivieren generearje moatte wurde STR_CONFIG_SETTING_TREE_PLACER :Algoritme foar pleatsing beamen: {STRING} +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Kies de spreding fan beammen op 'e kaart: 'Orizjineel' plantet beammen ferspreid oer de kaart, 'Ferbettere' plantet beammen yn kloften STR_CONFIG_SETTING_TREE_PLACER_NONE :Gjin STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Orizjineel STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Ferbettere @@ -1446,6 +1448,7 @@ STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Middel STR_CONFIG_SETTING_AI_PROFILE_HARD :Dreech STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Stea AIs ta yn multiplayer: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Kompjûterspilers tastean mei te spylje yn multyspyler spullen STR_CONFIG_SETTING_SERVINT_ISPERCENT :reperaasje skemas binne yn procenten: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS :Standert reparaasjeskema foar treinen: {STRING} @@ -3293,12 +3296,23 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Net losse en w STR_ORDER_NO_UNLOAD_NO_LOAD :(net lade of losse) STR_ORDER_AUTO_REFIT :(Ombouwe nei {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Net losse en fracht meinimme mei ombou nei {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Net losse en folslein lade mei ombou nei {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Net losse en ien fracht folslein lade mei ombou nei {STRING}) STR_ORDER_AUTO_REFIT_ANY :beskikbere fracht +STR_ORDER_STOP_LOCATION_NEAR_END :[begjin] +STR_ORDER_STOP_LOCATION_MIDDLE :[midden] +STR_ORDER_STOP_LOCATION_FAR_END :[ein] +STR_ORDER_OUT_OF_RANGE :{RED} (Folgjende bestimming is bûten berik) +STR_ORDER_CONDITIONAL_UNCONDITIONAL :Ljep nei opdracht {COMMA} +STR_ORDER_CONDITIONAL_NUM :Ljep nei opdracht {COMMA} at {STRING} {STRING} {COMMA} +STR_ORDER_CONDITIONAL_TRUE_FALSE :Ljep nei opdracht {COMMA} at {STRING} {STRING} +STR_INVALID_ORDER :{RED} (Unjildige opdracht) # Time table window STR_TIMETABLE_ORDER_VIEW :{BLACK}Opdrachten From a5355ec6c4f592363dbcd2b5736bf033d69a3e24 Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 12 Sep 2015 17:45:16 +0000 Subject: [PATCH 30/62] (svn r27396) -Update from WebTranslator v3.0: latin - 17 changes by Supercheese --- src/lang/latin.txt | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 99d88237f5..4b383df0d8 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -512,7 +512,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Monstrar STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Monstrare res fiscales societatis STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Monstrare facta generalia societatis STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Monstrare librum fabularum -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Monstrare indicem metarum +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Monstrare indicem propositorum STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Monstrare formulas graphicas STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Monstrare album foederis societatum STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Industriam novam condere vel monstrare indicem industriarum @@ -526,11 +526,11 @@ STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Struere STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Struere vias STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Struere navalia STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Struere aeroportus -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Monstrare terrae arcam ferramentorum qua potes terram augere/minuere, arbores serere, etc. +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Monstrare terrae arcam instrumentorum qua potes terram augere/minuere, arbores serere, etc. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Monstrare fenestram soni musicaeque STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Monstrare nuntium novissimum sive optiones nuntii STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Indicia terrae regionis, consola, emendatio scripti, imagines conspectus, de OpenTTD -STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Mutare inter arcas ferramentorum +STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Mutare inter arcas instrumentorum # Extra tooltips for the scenario editor toolbar STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Servare scaenarium, legere scaenarium, relinquere scriptorium scaenarii, exire @@ -1507,7 +1507,7 @@ STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Originalis STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Melior STR_CONFIG_SETTING_ROAD_SIDE :Vehicula viaria: {STRING} STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Eligere latus viae gubernandi -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Circuitus tabulae altitudinum: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotatio tabulae altitudinum: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sinistrorsus STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Dextrorsus STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitudo scaenario plano data: {STRING} @@ -1518,8 +1518,8 @@ STR_CONFIG_SETTING_STATION_SPREAD :Spatium station STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Area maxima in qua partes stationum possunt esse sita. Cave, numeris spatii magnis, ludus lentus sit STR_CONFIG_SETTING_SERVICEATHELIPAD :Ministrare helicoptera automatice in helicopterariis: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Ministrare helicoptera post quemque appulsum, etsi non est tugurium portui -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Connectere terrae arcam ferramentorum arcis ferriviariae/viariae/aquariae/aeriae ferramentorum: {STRING} -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Cum arca ferramentorum constructionis aperitur, etiam plasmationis terrae arca ferramentorum aperitur +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Connectere terrae arcam instrumentorum arcis ferriviariae/viariae/aquariae/aeriae instrumentorum: {STRING} +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Cum arca instrumentorum constructionis aperitur, etiam plasmationis terrae arca instrumentorum aperitur STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Color terrae in tabula adhibitus: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color terrae in tabula geographica parva STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Viridis @@ -1756,8 +1756,8 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE :Nulla {RED}(rum STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :Modo in silvis plivualibus STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Ubique -STR_CONFIG_SETTING_TOOLBAR_POS :Locus primariae arcae ferramentorum: {STRING} -STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Locus horizontalis arcae ferramentorum primariae apud apicem fenestrae +STR_CONFIG_SETTING_TOOLBAR_POS :Locus primariae arcae instrumentorum: {STRING} +STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Locus horizontalis arcae instrumentorum primariae apud apicem fenestrae STR_CONFIG_SETTING_STATUSBAR_POS :Locus serae status: {STRING} STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Locus horizontalis serae status apud infimam partem fenestrae STR_CONFIG_SETTING_SNAP_RADIUS :Radius fenestrae adhaerendae: {STRING} @@ -2951,7 +2951,7 @@ STR_MAPGEN_BORDER_RANDOM :{BLACK}Fortuiti STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Fortuiti STR_MAPGEN_BORDER_MANUAL :{BLACK}Manu -STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Circuitus tabulae altitudinum: +STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotatio tabulae altitudinum: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nomen tabulae altitudinum: STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Magnitudo: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} @@ -3236,16 +3236,16 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Emere m STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Largiri auctoritatem vicinalem ut tua censio augeatur, at difficultas adest: forsitan animadvertaris et graviter puniaris.{}Pretium: {CURRENCY_LONG} # Goal window -STR_GOALS_CAPTION :{WHITE}{COMPANY} Metae -STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metae Globales -STR_GOALS_GLOBAL_TITLE :{BLACK}Metae globales: +STR_GOALS_CAPTION :{WHITE}{COMPANY} Proposita +STR_GOALS_SPECTATOR_CAPTION :{WHITE}Proposita Universalia +STR_GOALS_GLOBAL_TITLE :{BLACK}Proposita universalia: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nullae - STR_GOALS_SPECTATOR_NONE :{ORANGE}- Non applicabiles - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Metae Societatis: -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in metam ut conspectus moveatur supra industriam/oppidum/tegulam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam/oppidum/tegulam +STR_GOALS_COMPANY_TITLE :{BLACK}Proposita Societatis: +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in propositum ut conspectus moveatur supra industriam/oppidum/tegulam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam/oppidum/tegulam # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :Quaestio @@ -3285,7 +3285,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Librum Fabularum -STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Librum Fabularum Globalis +STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Librum Fabularum Universale STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Pagina {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Salire ad quamdam paginam eligendo eam in hac indice @@ -3293,7 +3293,7 @@ STR_STORY_BOOK_PREV_PAGE :{BLACK}Priorem STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ire ad paginam priorem STR_STORY_BOOK_NEXT_PAGE :{BLACK}Secundam STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ire ad paginam secundam -STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Meta irrita +STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Propositum irritum # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Nomina stationum - preme in nomen ut conspectus moveatur supra stationem. Ctrl+Preme ut nova fenestra conspectus aperiatur supra stationem @@ -3555,7 +3555,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Greges - STR_GROUP_CREATE_TOOLTIP :{BLACK}Preme ut grex creatur STR_GROUP_DELETE_TOOLTIP :{BLACK}Delere gregem electam STR_GROUP_RENAME_TOOLTIP :{BLACK}Renominare gregem electam -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Preme ut vehicula huius gregis custodiantur contra autocommutationem globalem +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Preme ut vehicula huius gregis custodiantur contra autocommutationem universalem STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Gregem Delere STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Esne certus te velle delere hanc gregem eiusque descendentes? From 65db59da81166d5b4ce8f93bd71e71e18f10002d Mon Sep 17 00:00:00 2001 From: alberth Date: Sun, 13 Sep 2015 12:04:47 +0000 Subject: [PATCH 31/62] (svn r27397) -Fix(r27346)[FS#6370]: Fix object editing crash in scenario editor (based on work by adf88) --- src/terraform_gui.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index acc277249c..7a319d66fc 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -462,7 +462,7 @@ static const NWidgetPart _nested_scen_edit_land_gen_widgets[] = { NWidget(WWT_IMGBTN, COLOUR_GREY, WID_ETT_PLACE_DESERT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_DESERT, STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA), EndContainer(), - NWidget(WWT_IMGBTN, COLOUR_GREY, WID_ETT_PLACE_OBJECT), SetMinimalSize(23, 22), + NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_ETT_PLACE_OBJECT), SetMinimalSize(23, 22), SetFill(0, 1), SetDataTip(SPR_IMG_TRANSMITTER, STR_SCENEDIT_TOOLBAR_PLACE_OBJECT), NWidget(NWID_SPACER), SetFill(1, 0), EndContainer(), @@ -704,7 +704,6 @@ struct ScenarioEditorLandscapeGenerationWindow : Window { { this->RaiseButtons(); this->SetDirty(); - DeleteWindowById(WC_BUILD_OBJECT, 0); } static HotkeyList hotkeys; From 65f8b1c95e2b48e3c59156a2e9f0fcc304e129ca Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 15 Sep 2015 17:45:08 +0000 Subject: [PATCH 32/62] (svn r27398) -Update from WebTranslator v3.0: simplified_chinese - 1 changes by xiangyigao --- src/lang/simplified_chinese.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 7ce4e7f6a8..3c892a8525 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -844,7 +844,7 @@ STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE}的调度计划中有无效调度命令 STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} 有重复调度命令 STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE}的调度计划有无效的车站 -STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} 的计划列表中有机场跑道太短不足及起降 +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} 的计划列表中有一个机场的跑道太短而不能起降 STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} 即将达到报废年限 STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} 已经达到报废年限 From e4c3db0c6ac6ad62733f616e3ef060696bad8ecf Mon Sep 17 00:00:00 2001 From: planetmaker Date: Thu, 17 Sep 2015 13:12:21 +0000 Subject: [PATCH 33/62] (svn r27399) -Fix: [Makefile] game script directory and compat*.nut were never installed on *nix --- Makefile.bundle.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.bundle.in b/Makefile.bundle.in index 63edb62d97..969b2ebcf0 100644 --- a/Makefile.bundle.in +++ b/Makefile.bundle.in @@ -172,6 +172,7 @@ install: bundle $(Q)install -d "$(INSTALL_BINARY_DIR)" $(Q)install -d "$(INSTALL_ICON_DIR)" $(Q)install -d "$(INSTALL_DATA_DIR)/ai" + $(Q)install -d "$(INSTALL_DATA_DIR)/game" $(Q)install -d "$(INSTALL_DATA_DIR)/baseset" $(Q)install -d "$(INSTALL_DATA_DIR)/lang" $(Q)install -d "$(INSTALL_DATA_DIR)/scripts" @@ -182,6 +183,7 @@ else endif $(Q)install -m 644 "$(BUNDLE_DIR)/lang/"* "$(INSTALL_DATA_DIR)/lang" $(Q)install -m 644 "$(BUNDLE_DIR)/ai/"* "$(INSTALL_DATA_DIR)/ai" + $(Q)install -m 644 "$(BUNDLE_DIR)/game/"* "$(INSTALL_DATA_DIR)/game" $(Q)install -m 644 "$(BUNDLE_DIR)/baseset/"* "$(INSTALL_DATA_DIR)/baseset" $(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts" ifndef DO_NOT_INSTALL_DOCS From e8788019fa4e89851160ff6a18ab991cb6a6a197 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 19 Sep 2015 16:49:46 +0000 Subject: [PATCH 34/62] (svn r27400) -Fix [FS#6368] (r26449): when a dedicated server was paused with no clients the tick length was increased significantly, making any assumptions about the tick length used further down in the code are not true anymore. One of such assumptions was that one should readvertise every 15 minutes worth of original ticks, but due to the lengthening this timeframe would be more like 45-60 minutes. Now we'll take the operating system's millisecond counter instead --- src/network/network.cpp | 3 --- src/network/network_func.h | 1 - src/network/network_udp.cpp | 28 ++++++++++++++++++++-------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/network/network.cpp b/src/network/network.cpp index ce37aaa3fa..0bbdd0d06c 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -63,7 +63,6 @@ NetworkCompanyState *_network_company_states = NULL; ///< Statistics about some ClientID _network_own_client_id; ///< Our client identifier. ClientID _redirect_console_to_client; ///< If not invalid, redirect the console output to a client. bool _network_need_advertise; ///< Whether we need to advertise. -uint32 _network_last_advertise_frame; ///< Last time we did advertise. uint8 _network_reconnect; ///< Reconnect timeout StringList _network_bind_list; ///< The addresses to bind on. StringList _network_host_list; ///< The servers we know. @@ -759,7 +758,6 @@ bool NetworkServerStart() if (_network_dedicated) IConsoleCmdExec("exec scripts/on_dedicated.scr 0"); /* Try to register us to the master server */ - _network_last_advertise_frame = 0; _network_need_advertise = true; NetworkUDPAdvertise(); @@ -1076,7 +1074,6 @@ void NetworkStartUp() /* Network is available */ _network_available = NetworkCoreInitialize(); _network_dedicated = false; - _network_last_advertise_frame = 0; _network_need_advertise = true; _network_advertise_retries = 0; diff --git a/src/network/network_func.h b/src/network/network_func.h index 375cc3da56..4f1525b5a4 100644 --- a/src/network/network_func.h +++ b/src/network/network_func.h @@ -34,7 +34,6 @@ extern NetworkCompanyState *_network_company_states; extern ClientID _network_own_client_id; extern ClientID _redirect_console_to_client; extern bool _network_need_advertise; -extern uint32 _network_last_advertise_frame; extern uint8 _network_reconnect; extern StringList _network_bind_list; extern StringList _network_host_list; diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp index 731d51ca05..1cccbf6441 100644 --- a/src/network/network_udp.cpp +++ b/src/network/network_udp.cpp @@ -42,9 +42,9 @@ static ThreadMutex *_network_udp_mutex = ThreadMutex::New(); /** Session key to register ourselves to the master server */ static uint64 _session_key = 0; -static const uint ADVERTISE_NORMAL_INTERVAL = 30000; ///< interval between advertising in ticks (15 minutes) -static const uint ADVERTISE_RETRY_INTERVAL = 300; ///< re-advertise when no response after this many ticks (9 seconds) -static const uint ADVERTISE_RETRY_TIMES = 3; ///< give up re-advertising after this much failed retries +static const uint32 ADVERTISE_NORMAL_INTERVAL = 15 * 60 * 1000; ///< interval between advertising in ms (15 minutes) +static const uint32 ADVERTISE_RETRY_INTERVAL = 10 * 1000; ///< re-advertise when no response after this many ms (10 seconds) +static const uint32 ADVERTISE_RETRY_TIMES = 3; ///< give up re-advertising after this much failed retries NetworkUDPSocketHandler *_udp_client_socket = NULL; ///< udp client socket NetworkUDPSocketHandler *_udp_server_socket = NULL; ///< udp server socket @@ -616,25 +616,37 @@ static void NetworkUDPAdvertiseThread(void *pntr) */ void NetworkUDPAdvertise() { + static uint32 _last_advertisement = 0; ///< The time of the last advertisement (used to check for wrapping of time) + static uint32 _next_advertisement = 0; ///< The next time we should perform a normal advertisement. + static uint32 _next_retry = 0; ///< The next time we should perform a retry of an advertisement. + /* Check if we should send an advertise */ if (!_networking || !_network_server || !_network_udp_server || !_settings_client.network.server_advertise) return; - if (_network_need_advertise) { + if (_network_need_advertise || _realtime_tick < _last_advertisement) { + /* Forced advertisement, or a wrapping of time in which case we determine the advertisement/retry times again. */ _network_need_advertise = false; _network_advertise_retries = ADVERTISE_RETRY_TIMES; } else { /* Only send once every ADVERTISE_NORMAL_INTERVAL ticks */ if (_network_advertise_retries == 0) { - if ((_network_last_advertise_frame + ADVERTISE_NORMAL_INTERVAL) > _frame_counter) return; + if (_realtime_tick <= _next_advertisement) return; _network_advertise_retries = ADVERTISE_RETRY_TIMES; + } else { + /* An actual retry. */ + if (_realtime_tick <= _next_retry) return; } - - if ((_network_last_advertise_frame + ADVERTISE_RETRY_INTERVAL) > _frame_counter) return; } _network_advertise_retries--; - _network_last_advertise_frame = _frame_counter; + _last_advertisement = _realtime_tick; + _next_advertisement = _realtime_tick + ADVERTISE_NORMAL_INTERVAL; + _next_retry = _realtime_tick + ADVERTISE_RETRY_INTERVAL; + + /* Make sure we do not have an overflow when checking these; when time wraps, we simply force an advertisement. */ + if (_next_advertisement < _last_advertisement) _next_advertisement = UINT32_MAX; + if (_next_retry < _last_advertisement) _next_retry = UINT32_MAX; if (!ThreadObject::New(NetworkUDPAdvertiseThread, NULL)) { NetworkUDPAdvertiseThread(NULL); From 67b605337f3cf7ccbfa7130d6071844ee4e1662d Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 19 Sep 2015 17:45:17 +0000 Subject: [PATCH 35/62] (svn r27401) -Update from WebTranslator v3.0: frisian - 2 changes by BAJansen norwegian_bokmal - 8 changes by hafting welsh - 4 changes by kazzie --- src/lang/norwegian_bokmal.txt | 16 ++++++++-------- src/lang/unfinished/frisian.txt | 2 ++ src/lang/welsh.txt | 4 ++++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 259fd8ee68..d6a7d6bc39 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -205,16 +205,16 @@ STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonn{P "" er} -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonn{P "" er} +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}tonn +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP}tonn{P "" ""} STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l STR_UNITS_VOLUME_SHORT_SI :{COMMA} m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon{P "" er} -STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter{P "" er} +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}liter STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf @@ -1528,7 +1528,7 @@ STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prosentandel av STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Andel av inntekten gitt til de mellomliggende etapper i et overføringssystem, noe som gir mer kontroll over inntektene STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når du drar en linje, plasser signaler hver: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Angi distansen for når signaler vil bli bygget på et spor frem til neste hinder (signal, kryss), hvis signaler blir dratt -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} kartelement{P 0 "" s} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} kartelement{P 0 "" er} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Når du drar en linje, oppretthold fast avstand mellom signaler: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Velg oppførselen til signalplassering ved Ctrl + dragning av signaler. Hvis deaktivert, blir signaler plassert ved tunneler eller broer for å unngå lange strekninger uten signaler. Hvis aktivert, blir signalene plassert for hver N ruter, noe som gjør justering av signaler på parallelle spor enklere STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Bygg vingesignal automatisk før: {STRING} @@ -1577,7 +1577,7 @@ STR_CONFIG_SETTING_STATUSBAR_POS :Statusbarens po STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Horisontal posisjon av status verktøylinjen på bunnen av skjermen STR_CONFIG_SETTING_SNAP_RADIUS :Vinduers smekkeradius: {STRING} STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Avstanden mellom vinduer før vinduet som blir flyttet automatisk tilpasset nærliggende vinduer -STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} piksel{P 0 "" s} +STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} piks{P 0 el ler} STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Deaktivert STR_CONFIG_SETTING_SOFT_LIMIT :Maksimalt antall flytende vinduer: {STRING} STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Antall ikke-klebrige åpne vinduer før gamle vinduer automatisk blir lukket for å gi plass til nye vinduer @@ -3908,8 +3908,8 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(opphold i {STR STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reise for {STRING}, ikke oppsatt med rutetabell) STR_TIMETABLE_STAY_FOR :og bli værende i {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :og reis i {STRING} -STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" s} -STR_TIMETABLE_TICKS :{COMMA}{NBSP}tikk{P "" s} +STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" er} +STR_TIMETABLE_TICKS :{COMMA}{NBSP}tikk STR_TIMETABLE_TOTAL_TIME :{BLACK}Det vil ta {STRING} å fullføre rutetabellen STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Det vil ta minst {STRING} å fullføre denne rutetabellen (rutetabell ikke fullstendig) diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index c0ab4c6e00..5fb8734bad 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -1563,6 +1563,7 @@ STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :langsaam STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :gewoan STR_CONFIG_SETTING_TOWN_GROWTH_FAST :snel STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Hiel snel +STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 in {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Gjin STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Begjin stêdgrutte fermenigfuldiger: {STRING} @@ -1649,6 +1650,7 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Feroarje # Config errors STR_CONFIG_ERROR_ARRAY :{WHITE}... flater in reeks '{STRING}' STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ûnjildige wearde '{STRING}' foar '{STRING}' +STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :koe net fûn wurde STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :Dat strykt net mei dizze ferzje fan OpenTTD STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ûnbekind diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 9d3f3ec617..bc4c18db46 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -2875,6 +2875,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Corlun b STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin blaenorol, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio o'r corlun cyntaf i'r olaf STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Cynrychioliad o'r corlun a ddewiswyd. Fe anwybyddir yr aliniad wrth lunio'r corlun STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Symud y corlun, gan newid yr atredau X ac Y +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Ailosod perthyniad +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Ailosod y dodiadau perthynol +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Dodiad X: {NUM}, Dodiad Y: {NUM} (Absoliwt) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Dodiad X: {NUM}, Dodiad Y: {NUM} (Perthynol) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Dewis corlun STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Dewis corlun o ynrhyw fan ar y sgrïn From 0d0b15875f5f0b98f4bb383b3cd7e7a3a6565f70 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 21 Sep 2015 17:45:08 +0000 Subject: [PATCH 36/62] (svn r27402) -Update from WebTranslator v3.0: korean - 1 changes by telk5093 --- src/lang/korean.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 45e12e60a3..fe1d2cc881 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -3009,7 +3009,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :도시 이름 # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} 지역 당국 -STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}회사 운송 성취도: +STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}회사에 대한 이 도시의 평판: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}가능한 행동: STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}이 도시에 할 수 있는 일 목록 - 상세 정보를 보시려면 클릭하세요 From 12b35b301c257207273ae71b1c6da603713054af Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 22 Sep 2015 17:45:10 +0000 Subject: [PATCH 37/62] (svn r27403) -Update from WebTranslator v3.0: polish - 7 changes by McZapkie --- src/lang/polish.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 220114005b..68dff85102 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -4235,10 +4235,10 @@ STR_ORDER_UNLOAD :(Rozładuj i za STR_ORDER_UNLOAD_FULL_LOAD :(Rozładuj i czekaj na pełny załadunek) STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Rozładuj i czekaj na pełny załadunek któregoś z towarów) STR_ORDER_UNLOAD_NO_LOAD :(Rozładuj i pozostaw pusty) -STR_ORDER_TRANSFER :(Przeładuj i zabierz ładunek) -STR_ORDER_TRANSFER_FULL_LOAD :(Przeładuj i czekaj na pełny załadunek) -STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Przeładuj i czekaj na pełny załadunek któregoś z towarów) -STR_ORDER_TRANSFER_NO_LOAD :(Przeładuj i pozostaw pusty) +STR_ORDER_TRANSFER :(Przeładunek i zabranie ładunku) +STR_ORDER_TRANSFER_FULL_LOAD :(Przeładunek i oczekiwanie na pełny załadunek) +STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Przeładunek i oczekiwanie na pełny załadunek któregoś z towarów) +STR_ORDER_TRANSFER_NO_LOAD :(Przeładunek, pozostaw pusty) STR_ORDER_NO_UNLOAD :(Nie rozładowuj i zabierz ładunek) STR_ORDER_NO_UNLOAD_FULL_LOAD :(Nie rozładowuj i czekaj na pełny załadunek) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Nie rozładowuj i czekaj na pełny załadunek któregoś z towarów) @@ -4250,9 +4250,9 @@ STR_ORDER_FULL_LOAD_ANY_REFIT :(Przebuduj na { STR_ORDER_UNLOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i zabierz ładunek) STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek) STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Rozładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek któregoś z towarów) -STR_ORDER_TRANSFER_REFIT :(Przeładuj, przebuduj na {STRING.b} i zabierz ładunek) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Przeładuj, przebuduj na {STRING.b} i czekaj na pełny załadunek) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Przeładuj, przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek) +STR_ORDER_TRANSFER_REFIT :(Przeładunek, przebudowa na {STRING.b} i zabranie ładunku) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Przeładunek, przebudowa na {STRING.b} i oczekiwanie na pełny załadunek) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Przeładunek, przebudowa na {STRING.b} i oczekiwanie na dowolny pełny załadunek) STR_ORDER_NO_UNLOAD_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i zabierz ładunek) STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i czekaj na pełny załadunek) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Nie rozładowuj, przebuduj na {STRING.b} i czekaj na dowolny pełny załadunek) From 334b2319ef1fa6a823ed96e07594269fe731ddae Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 26 Sep 2015 17:45:17 +0000 Subject: [PATCH 38/62] (svn r27404) -Update from WebTranslator v3.0: arabic_egypt - 64 changes by abdumzn --- src/lang/arabic_egypt.txt | 117 +++++++++++++++++++++----------------- 1 file changed, 64 insertions(+), 53 deletions(-) diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index 5c55c860ee..a8187c6ea3 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -41,7 +41,7 @@ STR_CARGO_PLURAL_VALUABLES :مقتنيات STR_CARGO_PLURAL_COPPER_ORE :منجم نحاس STR_CARGO_PLURAL_MAIZE :ذرة STR_CARGO_PLURAL_FRUIT :فواكة -STR_CARGO_PLURAL_DIAMONDS :جواهر +STR_CARGO_PLURAL_DIAMONDS :ألماس STR_CARGO_PLURAL_FOOD :طعام STR_CARGO_PLURAL_PAPER :ورق STR_CARGO_PLURAL_GOLD :ذهب @@ -97,10 +97,10 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :مشروب غا STR_QUANTITY_NOTHING : STR_QUANTITY_PASSENGERS :{COMMA} راكب STR_QUANTITY_COAL :{WEIGHT_LONG} من الفحم -STR_QUANTITY_MAIL :{COMMA} صندوق من البريد +STR_QUANTITY_MAIL :{COMMA}{NBSP} كيس بريد STR_QUANTITY_OIL :{VOLUME_LONG} من النفط -STR_QUANTITY_LIVESTOCK :{COMMA}راس من الماشية -STR_QUANTITY_GOODS :{COMMA} قفص من البضائع +STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}رأس ماشية +STR_QUANTITY_GOODS :{COMMA}{NBSP} صندوق بضائع STR_QUANTITY_GRAIN :{WEIGHT_LONG} من الحبوب STR_QUANTITY_WOOD :{WEIGHT_LONG} من الخشب STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} من خام الحديد @@ -109,16 +109,16 @@ STR_QUANTITY_VALUABLES :{COMMA}صندو STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} من خام النحاس STR_QUANTITY_MAIZE :{WEIGHT_LONG} من الذرة STR_QUANTITY_FRUIT :{WEIGHT_LONG} من الفواكة -STR_QUANTITY_DIAMONDS :{COMMA}كيس من الجواهر +STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}كيس ألماس STR_QUANTITY_FOOD :{WEIGHT_LONG} من الطعام STR_QUANTITY_PAPER :{WEIGHT_LONG} من الورق -STR_QUANTITY_GOLD :{COMMA}كيس من الذهب +STR_QUANTITY_GOLD :{COMMA}{NBSP} كيس ذهب STR_QUANTITY_WATER :{VOLUME_LONG} من المياة STR_QUANTITY_WHEAT :{WEIGHT_LONG} من القمح STR_QUANTITY_RUBBER :{VOLUME_LONG} من المطاط STR_QUANTITY_SUGAR :{WEIGHT_LONG} من السكر -STR_QUANTITY_TOYS :{COMMA}الالعاب -STR_QUANTITY_SWEETS :{COMMA} كيس من الحلويات +STR_QUANTITY_TOYS :{COMMA}{NBSP} لعبة +STR_QUANTITY_SWEETS :{COMMA}{NBSP} كيس حلويات STR_QUANTITY_COLA :{VOLUME_LONG} من الكولا STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} من الحلاوة القطنية STR_QUANTITY_BUBBLES :{COMMA}فقاعات @@ -165,12 +165,12 @@ STR_ABBREV_NONE :{TINY_FONT}لا STR_ABBREV_ALL :{TINY_FONT}الكل # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} ركاب -STR_BAGS :{COMMA} صناديق -STR_TONS :{COMMA} اطنان/طن -STR_LITERS :{COMMA} لتر +STR_PASSENGERS :{COMMA}{NBSP} راكب +STR_BAGS :{COMMA}{NBSP} كيس +STR_TONS :{COMMA}{NBSP} طن +STR_LITERS :{COMMA}{NBSP} لتر STR_ITEMS :{COMMA} وحدة -STR_CRATES :{COMMA} صناديق +STR_CRATES :{COMMA}{NBSP} صندوق # Colours, do not shuffle STR_COLOUR_DARK_BLUE :ازرق غامق @@ -191,32 +191,32 @@ STR_COLOUR_GREY :رمادي STR_COLOUR_WHITE :ابيض # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{COMMA}ميل/س -STR_UNITS_VELOCITY_METRIC :{COMMA}كم/س -STR_UNITS_VELOCITY_SI :{COMMA}م/ث +STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}ميل/س +STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}كم/س +STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}م/ث -STR_UNITS_POWER_IMPERIAL :{COMMA}حصان -STR_UNITS_POWER_METRIC :{COMMA}حصان -STR_UNITS_POWER_SI :{COMMA}ك واط +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}حصان +STR_UNITS_POWER_METRIC :{COMMA}{NBSP}حصان +STR_UNITS_POWER_SI :{COMMA}{NBSP}ك واط -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}ت -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}طن -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}كجم +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP} طن +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}طن +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}كجم -STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} طن -STR_UNITS_WEIGHT_LONG_SI :{COMMA}كجم +STR_UNITS_WEIGHT_LONG_METRIC :{COMMA}{NBSP} طن +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}كجم -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}غال -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}ل -STR_UNITS_VOLUME_SHORT_SI :{COMMA}م3 +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}غال +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}ل +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}م3 -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} لتر -STR_UNITS_VOLUME_LONG_SI :{COMMA}م3 +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP} لتر +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}م3 -STR_UNITS_FORCE_SI :{COMMA} كيلو نيوتن +STR_UNITS_FORCE_SI :{COMMA}{NBSP} كيلو نيوتن -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} قدم -STR_UNITS_HEIGHT_SI :{COMMA} متر +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP} قدم +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP} متر # Common window strings STR_LIST_FILTER_OSKTITLE :{BLACK} ادخل فلتر @@ -286,7 +286,7 @@ STR_SORT_BY_ENGINE_ID :نوع المح STR_SORT_BY_COST :التكلفة STR_SORT_BY_POWER :الطاقة STR_SORT_BY_TRACTIVE_EFFORT :قوة الجذب -STR_SORT_BY_INTRO_DATE :بداية التشغيل +STR_SORT_BY_INTRO_DATE :بداية الإنتاج STR_SORT_BY_RUNNING_COST :تكلفة التشغيل STR_SORT_BY_POWER_VS_RUNNING_COST :القوة/تكلفة التشغيل STR_SORT_BY_CARGO_CAPACITY :سعة الشحن @@ -351,6 +351,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :انهاء ############ range for settings menu starts STR_SETTINGS_MENU_GAME_OPTIONS :إعدادات اللعبه +STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :الإعدادات STR_SETTINGS_MENU_SCRIPT_SETTINGS :الذكاء الصناعي/ اعدادات اللعبة STR_SETTINGS_MENU_NEWGRF_SETTINGS :إعدادات اﻹضافات STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :خيارات الشفافية @@ -941,7 +942,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}دقة STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اختر دقة الشاشة STR_GAME_OPTIONS_RESOLUTION_OTHER :اخرى +STR_GAME_OPTIONS_GUI_ZOOM_FRAME :حجم اللوحة +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :حدد العنصر المطلوب +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :تقريب عادي +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :تقريب ×2 +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :تقريب ×4 STR_GAME_OPTIONS_BASE_GRF :{BLACK} الواجهة الرسومية الاساسية STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK} اختر مجموعة الواجهة الرسومية @@ -1036,6 +1042,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :مسطح تما STR_TERRAIN_TYPE_FLAT :مسطح STR_TERRAIN_TYPE_HILLY :مرتفعات - هضاب STR_TERRAIN_TYPE_MOUNTAINOUS :جبال +STR_TERRAIN_TYPE_ALPINIST :شاهق STR_CITY_APPROVAL_PERMISSIVE :متساهل STR_CITY_APPROVAL_TOLERANT :متقبل @@ -1044,6 +1051,7 @@ STR_CITY_APPROVAL_HOSTILE :معاد STR_WARNING_NO_SUITABLE_AI :{WHITE}لايوجد ذكاء اصطناعي متاح ...{}تستطيع تجميل العديد من الذكاء الاصطناعي عن طريق اللانترنت # Settings tree window +STR_CONFIG_SETTING_TREE_CAPTION :الإعدادات STR_CONFIG_SETTING_EXPAND_ALL :مدد الكل STR_CONFIG_SETTING_COLLAPSE_ALL :إسحب الكل @@ -1053,11 +1061,11 @@ STR_CONFIG_SETTING_RESTRICT_BASIC :اﻹعدادا STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}احصر القائمة على انواع اعدادات محددة STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :كل الاعدادات -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :اعدادات العميل (غير مخزن في المحفوظات, يؤثر على كل الالعاب) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :اعدادات اللعبة (مخزن في المحفوظات, يؤثر على الالعاب الجديدة فقط) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :اعدادات اللعبة (مخزن في المحفوظات, يؤثر على اللعبة الحالية فقط) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :اعدادات الشركة (مخزن في المحفوظات, يؤثر على الالعاب الجديدة فقط) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :اعدادات الشركة (مخزن في المحفوظات: يؤثر على الشركة الحالية فقط) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :اعدادات العميل (لا يخزن في الحفظ ؛ يطبق على كل الالعاب) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :اعدادات اللعبة (يخزن في الحفظ ؛ يطبق على الالعاب الجديدة فقط) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :اعدادات اللعبة (يخزن في الحفظ ؛ يطبق على اللعبة الحالية فقط) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :اعدادات الشركة (يخزن في الحفظ ؛ يطبق على الالعاب الجديدة فقط) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :اعدادات الشركة (يخزن في الحفظ ؛ يطبق على الشركة الحالية فقط) STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}عرض جميع النتائج بالنسبة للإعداد {}{SILVER} الفئة {BLACK} إلى {WHITE}{STRING} {BLACK}و{SILVER}نوع {BLACK} إلى{WHITE} جميع انواع الإعدادات STR_CONFIG_SETTINGS_NONE :{WHITE} - بدون - @@ -1078,7 +1086,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :متوسط STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :يمين -STR_CONFIG_SETTING_AUTOSLOPE :السماح باعادة بناء التلال تحت المباني, الطرق, الخ .-الانحدار الذاتي- {STRING} +STR_CONFIG_SETTING_AUTOSLOPE :السماح بتحريك الأرض تحت المباني, الطرق, الخ : {STRING} STR_CONFIG_SETTING_CATCHMENT :السماح بحدود اكثر واقعية للمحطات بحسب الحجم: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :السماح بحذف اكثر من الطرق المملوكة للمدينة و الجسور و غيرها: {STRING} STR_CONFIG_SETTING_SMOKE_AMOUNT :كمية دخان/شرار القطارات:{STRING} @@ -1204,7 +1212,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :لا تصرف STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :الكل ما عدا عمليات البناء STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :الكل ما عدا خيارات تعديل الخريطة STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :كل تصرف -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :استخدام قائمة العربات المطورة: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :استخدام المجموعات في قائمة العربات : {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS :تفعيل مؤشر التحميل: {STRING} STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :عرض جدولة الأعمال بالمهام بدلا من الأيام: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :عرض الوصول و المغادرة في جدولة الاعمال: {STRING} @@ -1400,6 +1408,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}لعب STR_INTRO_GAME_OPTIONS :{BLACK}إعدادات اللعبه STR_INTRO_HIGHSCORE :{BLACK}قائمه المتفوقين +STR_INTRO_CONFIG_SETTINGS_TREE :الاعدادات STR_INTRO_NEWGRF_SETTINGS :{BLACK} اعدادات NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK} إبحث عن المحتوى عبر الشبكه العنكبوتيه STR_INTRO_SCRIPT_SETTINGS :{BLACK}إعدادات الذكاء الصناعى @@ -1418,6 +1427,7 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}اختي STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}اختيار نمط الألعاب STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}عرض خيارات اللعبة +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :إعدادات العرض STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}عرض إعدادات اﻹضافات STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} ابحث عن محتوى جديد او تحديث STR_INTRO_TOOLTIP_QUIT :{BLACK}اغلاق'OpenTTD' @@ -2373,6 +2383,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}اسم STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}الحجم: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM} +STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :تغيير أعلى ارتفاع للخريطة STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}غير مستوى خط الثلج STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}غير سنة البداية @@ -2592,8 +2603,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} تم توصيلة STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (مازال مطلوب) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (تم توصيلة) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK} يوم -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK} يوم{} (مول) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK}{NBSP} يوم +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}المدينة تنمو كل {ORANGE}{COMMA}{BLACK}{NBSP} يوم (ممول) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}المدينة {RED}لا{BLACK} تنمو STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}حدود الضوضاء داخل المدن: {ORANGE}{COMMA}{BLACK} القصوى: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}وسط الشاشة الاساسية على موقع المدينة @@ -2863,7 +2874,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :لاتنتمي STR_GROUP_DEFAULT_SHIPS :مركبة لاتنتمي لأي مجموعة STR_GROUP_DEFAULT_AIRCRAFTS :طائرة لاتنتمي لأي مجموعة -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}المجموعات: اضغط على اي مجموعة لعرض المركبات التابعة لها +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}المجموعات: اضغط على اي مجموعة لعرض مركباتها . اسحب للترتيب . STR_GROUP_CREATE_TOOLTIP :{BLACK}أضغط لإنشاء مجموعة STR_GROUP_DELETE_TOOLTIP :{BLACK}أحذف المجموعة المختارة STR_GROUP_RENAME_TOOLTIP :{BLACK}أعد تسمية المجموعة المختارة @@ -3158,7 +3169,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK} الس STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}مقدار التحويل: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}فترات الصيانة: {LTBLUE}{COMMA} يوم {BLACK} اخر صيانة: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}فترات الصيانة: {LTBLUE}{COMMA}{NBSP} يوم {BLACK} اخر صيانة: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}فترات الصيانة: {LTBLUE}{COMMA}% {BLACK} الصيانة الأخيرة: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}زيادة فترات الصيانة بقدر 10. ومع مفتاح كنترول بمقدار 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK} انقاص فترات الصيانة بمعدل 10. Ctrl+ الضغط الانقاص بمعدل 5. @@ -3250,8 +3261,8 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}غير STR_ORDER_REFIT :{BLACK}اعادة تهيئة STR_ORDER_REFIT_TOOLTIP :{BLACK}اختر نوع البضائع المنقولة لتهيئة العربات في هذا الامر. اضغط كنترول لازالة تعليمات التهيئة. -STR_ORDER_REFIT_AUTO :{BLACK}ملائمة ذاتية -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}اختر اي نوع من الحملة تريد ملائمتها ذاتيا. +STR_ORDER_REFIT_AUTO :{BLACK}ملائمة في محطة +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}اختر اي نوع من الحمولة تريد ملائمتها . اضغط مع ctrl لإزالة الملائمة . الملائمة في المحطات لن تكون ما لم تقبل العربة ذلك . STR_ORDER_DROP_REFIT_AUTO :شحنة ثابتة STR_ORDER_DROP_REFIT_AUTO_ANY :البضائع المتاحة @@ -3342,13 +3353,13 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(عدم انز STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :-عدم انزال الشحنة و الانتظار للحمولة القصوى لاي شحنة- STR_ORDER_NO_UNLOAD_NO_LOAD :(لا تفريغ و لا تحميل) -STR_ORDER_AUTO_REFIT :(ملائمة ذاتية ل {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(تحميل كلي مع الملائمة الذاتية لـ {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(تحميل كلي لاي بضاعة مع الملائمة الذاتية لـ {STRING}) -STR_ORDER_UNLOAD_REFIT :(تفريغ الحمولة و شحن البضائع مع الملائمة الذاتية لـ {STRING}) +STR_ORDER_AUTO_REFIT :(ملائمة لـ {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(تحميل كلي مع الملائمة لـ {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(تحميل كلي لأي بضاعة مع الملائمة لـ {STRING}) +STR_ORDER_UNLOAD_REFIT :(تفريغ الحمولة و شحن البضائع مع الملائمة لـ {STRING}) STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(تفرغ الحمولة و الانتظار للتحميل الكلي مع الملائمة لـ {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(التفريغ و الانتظار للتحميل الكلي لاي بضاعة مع الملائمة الذاتية لـ {STRING}) -STR_ORDER_TRANSFER_REFIT :(تحويل البضاعة و اخذ البضاعة مع الملائمة الذاتية لـ {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(التفريغ و الانتظار للتحميل الكلي لأي بضاعة مع الملائمة لـ {STRING}) +STR_ORDER_TRANSFER_REFIT :(تحويل البضاعة و أخذ البضاعة مع الملائمة لـ {STRING}) STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(تحويل البضاعة و الانتظار للحمولة القصوى مع الملائمة الذاتية لـ {STRING}) STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(تحويل البضاعة و الانتظار لاي حمولة كاملة مع الملائمة الذاتية لـ {STRING}) STR_ORDER_NO_UNLOAD_REFIT :(عدم التفريغ و تحميل البضائع مع الملائمة الذاتية لـ {STRING}) @@ -3620,7 +3631,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... قر STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... قريبة جدا من مدينة أخرى STR_ERROR_TOO_MANY_TOWNS :{WHITE}... المدن كثيرة جدا STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... لا يوجد فراغ في الخريطة -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}لن تبني البلدية طرق جديدة. بامكانك تمكين البلدية من بناء الطرق الجديدة عن طريق الاعدادات المتقدمة --> الاقتصاد --> المدن +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}لن تبني البلدية طرق جديدة. بإمكانك تمكين بناء الطرق الجديدة عن طريق الاعدادات --> البيئة--> المدن STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}اعمال الطرق قيد التنفيذ STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}لا يمكن ازالة هذه المدينة {}محطة او ورشة مرتبطة بالمدينة او هناك مربع مملوك للمدينة لا يمكن لزالته STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... لا يوجد مكان مناسب للمجسم بداخل هذة المدينة/البلدة From 0df4b5142c2cb0d6b9f97b9675885bbb6757aded Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 27 Sep 2015 17:45:15 +0000 Subject: [PATCH 39/62] (svn r27405) -Update from WebTranslator v3.0: latin - 2 changes by Supercheese vietnamese - 18 changes by nglekhoi --- src/lang/latin.txt | 4 ++-- src/lang/vietnamese.txt | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 4b383df0d8..016fcbcb92 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -3021,7 +3021,7 @@ STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Mutare c STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Mutare coloris tabulam huius NewGRF.{}Utere cum colores huius NewGRF videntur esse rosei STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Confirmare mutationes -STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Quaere res absentes in interrete +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Quaere res absentes in interreti STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Inspicere si res absentes in inventario Interretiale sunt STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nomen fasciculi: {SILVER}{STRING} @@ -4374,7 +4374,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... nimi STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... nimis prope aliud oppidum STR_ERROR_TOO_MANY_TOWNS :{WHITE}... nimis oppida adsunt STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... plus spatium tabulae deest -STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Oppidum non vias faciet. Potest sinere vias facere in Electionibus->Circumiecta->Oppida +STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Oppidum non vias struet. Potes hanc optionem mutare in Electionibus->Circumiecta->Oppida STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Constructio viaria agitur STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Non licet oppidum delere...{}Statio receptaculumve est oppido sive non licet tegulam oppidi removere STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... non est locus effigiei idoneus in medio oppidi diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 534f9accd5..34225d0f9d 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -1653,11 +1653,21 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metric (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Tiêu Chuẩn Đo Lường +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Đồ họa STR_CONFIG_SETTING_SOUND :{ORANGE}Âm thanh STR_CONFIG_SETTING_INTERFACE :{ORANGE}Giao Diện +STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Tổng quát +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Vùng nhìn STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Xây Dựng +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Tin tức / Cố vấn +STR_CONFIG_SETTING_COMPANY :{ORANGE}Công ty +STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Kế toán STR_CONFIG_SETTING_VEHICLES :{ORANGE}Phương Tiện +STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Vật lý STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Tìm đường +STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Giới hạn +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Thiên tai / Tai nạn +STR_CONFIG_SETTING_GENWORLD :{ORANGE}Khởi tạo bản đồ STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Môi trường STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Chính quyền STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Đô thị @@ -2684,6 +2694,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Lưu STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Lưu ván chơi hiện tại, sử dụng tên đã chọn STR_SAVELOAD_LOAD_BUTTON :{BLACK}Nạp STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Nạp ván chơi được chọn +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Nạp bản đồ địa hình đang chọn STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Chi Tiết Trò Chơi STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Không có thông tin gì cả. STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -3328,6 +3339,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Xoá nh STR_GROUP_RENAME_TOOLTIP :{BLACK}Đổi tên nhóm STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Không để nhóm này tự thay thế (thiết lập chung) khi hết hạn +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Xóa Nhóm +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Bạn có chắc chắn muốn xóa nhóm này và tất cả con của nó? STR_GROUP_ADD_SHARED_VEHICLE :Thêm phương tiện được chia sẻ STR_GROUP_REMOVE_ALL_VEHICLES :Xoá tất cả phương tiện @@ -3869,6 +3882,10 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Di chuyển (kh STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Hành trình với tốc độ tối đa là {2:VELOCITY} (chưa dựng lịch trình) STR_TIMETABLE_TRAVEL_FOR :Di chuyển trong {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Lộ trình {STRING} với tốc độ tối đa {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Lộ trình (cho {STRING}, chưa có lịch trình) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Lộ trình (cho {STRING}, chưa có lịch trình) với tốc độ đối đa {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(ở lại {STRING}, chưa có lịch trình) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(di chuyển đến {STRING}, chưa có lịch trình) STR_TIMETABLE_STAY_FOR :và ở lại trong {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :và di chuyển trong {STRING} STR_TIMETABLE_DAYS :{COMMA}{NBSP}ngày @@ -4327,6 +4344,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... bạ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Không thể tạo nhóm... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Không thể xoá bỏ nhóm... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Không thể đổi tên nhóm... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Không thể thiết đặt nhóm cha... STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Không thể bỏ các phương tiện trong nhóm này... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Không thể thêm phương tiện vào nhóm này... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Không thể thêm phương tiện được chia sẻ vào nhóm... From 0d4b84f06b4364c625b17a4c5934f0c0f61060d7 Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 30 Sep 2015 17:28:58 +0000 Subject: [PATCH 40/62] (svn r27406) -Doc: Use same start/end tile convention in CmdPlantTree as in other TileArea commands. (HackaLittleBit) --- src/tree_cmd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index 4fcda82d81..c862f0dbc1 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -325,10 +325,10 @@ void GenerateTrees() /** * Plant a tree. - * @param tile start tile of area-drag of tree plantation + * @param tile end tile of area-drag * @param flags type of operation * @param p1 tree type, TREE_INVALID means random. - * @param p2 end tile of area-drag + * @param p2 start tile of area-drag of tree plantation * @param text unused * @return the cost of this operation or an error */ From 440af97436b3488b86ea4f3e9d3b48f9e05a478a Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 5 Oct 2015 17:45:09 +0000 Subject: [PATCH 41/62] (svn r27407) -Update from WebTranslator v3.0: simplified_chinese - 6 changes by xiangyigao --- src/lang/simplified_chinese.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 3c892a8525..236f8de098 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -327,17 +327,17 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}显示 STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}显示游戏目标选单 STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}显示图表 STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}显示公司名次表 -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}建设新的工业设施 +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}工业设施列表/产业链/建立新工业设施 STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}显示公司的火车列表。按住 Ctrl 键单击可以切换组群和车辆列表。 STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}显示公司的汽车列表。按住 Ctrl 键单击可以切换组群和汽车列表。 STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}显示公司的船只列表。按住 Ctrl 键单击可以切换组群和船只列表。 STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}显示公司的飞机列表。按住 Ctrl 键单击可以切换组群和飞机列表。 STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}放大视图 STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}缩小视图 -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}建设铁路 -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}建设公路 -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}建设港口 -STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}建设机场 +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}显示铁路建设工具 +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}显示公路建设工具 +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}显示水运建设工具 +STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}显示机场建设工具 STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}打开景观美化工具栏{}以修改地形、设置地貌等 STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}显示 声音/音乐 控制菜单 STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}显示最新消息新闻,消息选项,消息历史 @@ -2424,7 +2424,7 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}货运 STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}选择货运电车车站方向 # Waterways toolbar (last two for SE only) -STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}码头建设 +STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}水运建设 STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}水运 STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}修建运河 STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}建设船闸,按住 Shift 键操作可以显示所需资金 From e9a338f9ef7f0469eaf6b4e9d4ef09d197b5965d Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 9 Oct 2015 17:45:08 +0000 Subject: [PATCH 42/62] (svn r27408) -Update from WebTranslator v3.0: simplified_chinese - 9 changes by xiangyigao --- src/lang/simplified_chinese.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 236f8de098..c85b110c57 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -661,11 +661,11 @@ STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}停止 STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}开始播放音乐 STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}拖动滑块以调节音乐和音效的音量 STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}选择全部乐曲 -STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}选择'旧的风格'音乐列表 -STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}选择'新的风格'音乐列表 -STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}选择'Ezy街头'风格的音乐列表 -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}选择'自定义1'(用户定义)的列表 -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}选择'自定义2'(用户定义)的列表 +STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}选择“老式音乐”列表 +STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}选择“新的风格”音乐列表 +STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}选择“Ezy街头”风格的音乐列表 +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}选择“自定义1”(用户定义)的列表 +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}选择“自定义2”(用户定义)的列表 STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}开启/关闭 随机播放列表中的曲目 STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}打开音乐选单窗口 @@ -1748,10 +1748,10 @@ STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}使用 STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}创建自定义的游戏场景 STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}开始联机游戏 -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}选择 '温带' 景观风格 -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}选择 '寒带' 景观风格 -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}选择 '沙漠' 景观风格 -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}选择 '玩具' 景观风格 +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}选择“温带”景观风格 +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}选择“寒带”景观风格 +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}选择“沙漠”景观风格 +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}选择 “玩具”景观风格 STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}显示游戏选项 STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}显示高分榜 From 0608ab5f810c94d15d923101efc0210c612755bb Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 13 Oct 2015 17:45:08 +0000 Subject: [PATCH 43/62] (svn r27409) -Update from WebTranslator v3.0: indonesian - 20 changes by UseYourIllusion --- src/lang/indonesian.txt | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 6a1a669d81..176504fb7d 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -197,31 +197,31 @@ STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}me STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}dk STR_UNITS_POWER_METRIC :{COMMA}{NBSP}dk -STR_UNITS_POWER_SI :{COMMA}kW +STR_UNITS_POWER_SI :{COMMA}{NBSP}kW -STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}t -STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}t -STR_UNITS_WEIGHT_SHORT_SI :{COMMA}kg +STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}t +STR_UNITS_WEIGHT_SHORT_SI :{COMMA}{NBSP}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA} ton +STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}ton STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton -STR_UNITS_WEIGHT_LONG_SI :{COMMA} kg +STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal -STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}l -STR_UNITS_VOLUME_SHORT_SI :{COMMA}m³ +STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l +STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gallon -STR_UNITS_VOLUME_LONG_METRIC :{COMMA} liter -STR_UNITS_VOLUME_LONG_SI :{COMMA} m³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gallon +STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre +STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf STR_UNITS_FORCE_METRIC :{COMMA} kgf -STR_UNITS_FORCE_SI :{COMMA} kN +STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft -STR_UNITS_HEIGHT_METRIC :{COMMA} m -STR_UNITS_HEIGHT_SI :{COMMA} m +STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m +STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Kata penyaring: @@ -1113,7 +1113,7 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Pengaturan deng STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Membatasi urutan / tabel di bawah ke setting tertentu STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Semua setting -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Setting klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Pengaturan klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan baru) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan aktif) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada permainan baru) @@ -1165,7 +1165,7 @@ STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Pilih seberapa STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Tinggi peta maksimum: {STRING} STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Atur ketinggian pegunungan maksimum yang diijinkan untuk peta ini STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Kamu tidak bisa mengubah ketinggian peta maksimum di angka itu. Setidaknya ada satu gunung di peta yang lebih tinggi -STR_CONFIG_SETTING_AUTOSLOPE :Ijinkan pembentukan slop dibawah bangunan, rel, dsb. (otomatiskan): {STRING} +STR_CONFIG_SETTING_AUTOSLOPE :Ijinkan pembentukan slop dibawah bangunan, rel, dsb.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Ijinkan pembentukan tanah dibawah bangunan dan trek tanpa merusaknya STR_CONFIG_SETTING_CATCHMENT :Ijinkan ukuran jangkauan wilayah lebih realistik: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Gunakan area penarikan berbeda untuk tipe stasiun dan airport yang berbeda @@ -1281,7 +1281,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durasi penampil STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} detik STR_CONFIG_SETTING_HOVER_DELAY :Tampilkan tooltips: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay sebelum bantuan peralatan ditampilkan saat mouse diatas sebuah ikon. Selain itu bantuan peralatan juga dapat ditampilkan dengan klik kanan -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Melayang untuk {COMMA} detik +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Melayang untuk {COMMA} mili detik STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Klik kanan STR_CONFIG_SETTING_POPULATION_IN_LABEL :Tampilkan populasi kota di label nama kota: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Tampilkan populasi kota di label nama kota pada peta @@ -1343,7 +1343,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Pergeseran pand STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Menyetel bagaimana tampilan utama menggeser posisi di peta kecil. Jika dinyalakan, peta akan bergeser secara halus. Jika dimatikan, peta langsung menuju tempat yang di klik STR_CONFIG_SETTING_MEASURE_TOOLTIP :Tampilkan ukuran ketika menggunakan alat pembangun: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Tampilkan perbedaan jarak dan tinggi ubin saat proses pembangunan -STR_CONFIG_SETTING_LIVERIES :Tampilkan warna perusahaan: {STRING} +STR_CONFIG_SETTING_LIVERIES :Tampilkan warna tergantung jenis kendaraan: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrol penggunaan tipe kendaraan spesifik untuk kendaraan (dalam perusahaan tertentu) STR_CONFIG_SETTING_LIVERIES_NONE :Tidak ada STR_CONFIG_SETTING_LIVERIES_OWN :Perusahaan milik sendiri @@ -1390,7 +1390,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Tidak ada tinda STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Semua tindakan kecuali pembangunan STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Semua kecuali mengubah dataran STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Semua tindakan -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gunakan daftar kendaraan tingkat lanjut: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gunakan grup dalam daftar kendaraan: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Mengaktifkan penggunaan daftar kendaraan lebih lanjut dalam pengelompokkan kendaraan STR_CONFIG_SETTING_LOADING_INDICATORS :Tampilkan indikator pengangkutan: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Pilih apakah petunjuk beban ditayangkan di atas kendaran yang sedang mengisi atau menurunkan beban @@ -1405,7 +1405,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Jenis rel yang STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Tersedia pertama STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Tersedia terakhir STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Sering dipakai -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Sorot rel yang akan terpakai: {STRING} +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Tampilkan rel yang akan terpakai: {STRING} STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Beri warna yang berbeda untuk jalur-jalur yang dicadangkan untuk menolong ketika terdapat kereta yang menolak masuk ke blok menurut jalurnya STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Toolbar tetap aktif setelah dipakai: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Menjagakan alat pembangunan untuk jembatan, terowongan, etc. buka setelah dipakai From 67da640e970fba4d68e81648f6de1dde0bde1d9a Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 15 Oct 2015 17:45:09 +0000 Subject: [PATCH 44/62] (svn r27410) -Update from WebTranslator v3.0: indonesian - 24 changes by UseYourIllusion --- src/lang/indonesian.txt | 48 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 176504fb7d..25936e3f9f 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -207,7 +207,7 @@ STR_UNITS_WEIGHT_LONG_IMPERIAL :{COMMA}{NBSP}to STR_UNITS_WEIGHT_LONG_METRIC :{COMMA} ton STR_UNITS_WEIGHT_LONG_SI :{COMMA}{NBSP}kg -STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}gal +STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}gal STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ @@ -215,11 +215,11 @@ STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}ga STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litre STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{COMMA} lbf -STR_UNITS_FORCE_METRIC :{COMMA} kgf +STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{COMMA} ft +STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}kaki STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m @@ -1098,7 +1098,7 @@ STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Nilai s STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipe setting: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Setting klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan) STR_CONFIG_SETTING_TYPE_GAME_MENU :Setting permainan (disimpan dalam penyimpanan; hanya mempengaruhi permainan baru) -STR_CONFIG_SETTING_TYPE_GAME_INGAME :Setting permainan (disimpan dalam penyimpanan; hanya mempengaruhi permainan saat ini)) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Pengaturan permainan (disimpan dalam penyimpanan; hanya mempengaruhi permainan saat ini) STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Setting perusahaan (disimpan dalam penyimpanan; hanya mempengaruhi permainan baru) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Setting perusahaan (disimpan dalam penyimpanan; hanya mempengaruhi permainan saat ini) @@ -1115,7 +1115,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Membatas STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Semua setting STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Pengaturan klien (tidak disimpan di penyimpanan; mempengaruhi semua permainan) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan baru) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan aktif) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Pengaturan permainan (ikut tersimpan; hanya memiliki efek pada permainan saat ini) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada permainan baru) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Pengaturan perusahaan (ikut tersimpan; hanya memiliki efek pada perusahaan aktif) STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Tampilkan semua pencarian berdasarkan pengaturan{}{SILVER}Kategori {BLACK}sampai {WHITE}{STRING} @@ -1433,11 +1433,11 @@ STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Matikan infrast STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Jika diaktifkan, infrastruktur cuma tersedia jika ada kendaraan tersedia, mencegah buang waktu dan uang di infrastruktur yang tidak bisa digunakan STR_CONFIG_SETTING_MAX_TRAINS :Maks. kereta tiap pemain: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Batas jumlah kereta yang boleh dimiliki satu perusahaan -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks. kendaraan jalan raya tiap pemain: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks. kendaraan jalan raya tiap perusahaan: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Batas jumlah kendaraan jalan raya yang boleh dimiliki satu perusahaan -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks. pesawat tiap pemain: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks. pesawat tiap perusahaan: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Batas jumlah pesawat yang boleh dimiliki satu perusahaan -STR_CONFIG_SETTING_MAX_SHIPS :Maks. kapal tiap pemain: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS :Maks. kapal tiap perusahaan: {STRING} STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Jumlah maximum kapal yang boleh dimilki sebuah perusahaan STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Non-aktifkan kereta bagi pemain komputer: {STRING} @@ -1464,7 +1464,7 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Jangka waktu pe STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Pilih apakah servis kendaraan dipicu oleh waktu terlewat sejak servis terakhir atau dari kehandalan menjatuh beberapa persentase dari kehandalan maximum STR_CONFIG_SETTING_SERVINT_TRAINS :Interval dasar untuk kereta: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Setel interval dasar untuk kereta, jika tidak ada interval tetap -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} hari/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}hari/% STR_CONFIG_SETTING_SERVINT_DISABLED :Di non-aktifkan STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Interval dasar untuk kendaraan jalan raya: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Setel Interval perbaikan untuk kendaraan jalan raya baru, jika tidak ada interval tetap @@ -1604,9 +1604,9 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Tidak ada STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Faktor kali ukuran kota awal: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Ukuran rata-rata kota besar terhadap kota kecil saat permainan dimulai -STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Perbarui grafik distribusi setiap {STRING} hari +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Perbarui grafik distribusi setiap {STRING}{NBSP}hari STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Waktu diantara dua penghitungan linkgraph berurutan. Setiap penghitungan hanya menghitung satu komponen perencanaan dari grafik. Namun, angka yang diberikan untuk seting ini bukan berarti seluruh grafik akan diperbaharui dalam angka hari yang sama, hanya beberapa bagian. Semakin sedikit semakin banyak proses CPU yang diperlukan untuk menghitung. Semakin banyak semakin lama waktu sebelum cargo distribution dimulai pada rute baru. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Ambil {STRING} hari untuk menghitung grafik distribusi +STR_CONFIG_SETTING_LINKGRAPH_TIME :Ambil {STRING}{NBSP}hari untuk menghitung grafik distribusi STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Waktu dibutuhkan untuk setiap perhitungan dari komponen 'linkgraph'. Ketika perhitungan dimulai, ada utas 'dibuat' yang boleh dijalankan untuk jumlah hari ini. Semakin pendek anda mengatur ini lebih mungkin utas ini belum selesai ketika itu seharusnya. Kemudian permainan berhenti sampai itu ("lag"). Semakin lama anda mengatur semakin lama itu untuk distribusinya untuk memperbarui ketika rute mengganti. STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetris @@ -1618,7 +1618,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"simetris" bera STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modus distribusi untuk kelas kargo BERLAPIS BAJA: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Kelas kargo BERLAPIS BAJA meliputi barang berharga pada iklim sedang, intan pada sub tropis atau emas pada iklim sub arktik. NewGRF mungkin mengubah itu. "simetris" berarti bahwa jumlah kargo kira-kira akan terkirim sama dari stasiun A ke stasiun B sebagaimana dari B ke A. "asimetris" berarti jumlah kargo terkirim bisa berbeda pada kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo itu. Disarankan untuk memilih asimetris atau manual ketika bermain sub arktik, karena bank tidak mengirim emas kembali ke tambang emas. Untuk iklim tropis dan sub tropis anda juga bisah pilih simetris karena bank akan mengirim kembali beberapa barang berharga ke bank asalnya. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modus distribusi untuk kelas kargo yang lain: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"simetris" berarti bahwa kira-kira sama jumlah kargo akan pergi dari stasiun A ke stasiun B sebagai dari B ke A. "asimetris" berarti sewenang-wenang jumlah kargo bisa pergi di kedua arah. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo. Anda mungkin mau mengaturkan ini untuk "asimetris" atau manual. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asimetris" berarti jumlah kargo yang pergi ke kedua arah bisa berbeda-beda. "manual" berarti bahwa tidak ada distribusi otomatis akan dilakukan untuk kargo. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Ketepatan distribusi: {STRING} STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Semakin tinggi anda mengatur ini semakin banyak waktu CPU perhitungan "linkgraph" akan mengambil. Jika waktu terlalu lama anda mungkin melihat "lag".Jika anda mengatur itu ke nilai rendah, tetapi, distribusi akan menjadi tidak akurat, dan anda mungkin melihat kargo tidak dikirim ke tempat anda berharap untuk pergi. STR_CONFIG_SETTING_DEMAND_DISTANCE :Efek jarak kepada permintaan : {STRING} @@ -1666,7 +1666,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisasi STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafik -STR_CONFIG_SETTING_SOUND :{ORANGE}Efek suara +STR_CONFIG_SETTING_SOUND :{ORANGE}Suara STR_CONFIG_SETTING_INTERFACE :{ORANGE}Antaramuka STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Umum STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Jendela @@ -1684,7 +1684,7 @@ STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Linkung STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Berwenang STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Kota STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Industri -STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribusi Kargo +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribusi kargo STR_CONFIG_SETTING_AI :{ORANGE}Pesaing STR_CONFIG_SETTING_AI_NPC :{ORANGE}Pemain Komputer @@ -1966,13 +1966,13 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Lindungi STR_NETWORK_START_SERVER_UNADVERTISED :Tidak STR_NETWORK_START_SERVER_ADVERTISED :Ya STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klien -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimum klien: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimum jumlah klien: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Pilih jumlah klien maksimal. Tidak semua slot harus diisi STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} Perusahaan -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimum perusahaan: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maksimum jumlah perusahaan: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Batasi jumlah perusahaan pada server STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} Penonton -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimum penonton: +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Maksimum jumlah penonton: STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Batasi jumlah penonton pada server STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Bahasa pembicaraan: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Agar pemain lain mengetahui bahasa apa yang digunakan pada sever @@ -2986,8 +2986,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} terkirim STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (masih dibutuhkan) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (terkirim) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK} hari -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK} hari (didanai) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK}{NBSP}hari +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Kota tumbuh setiap {ORANGE}{COMMA}{BLACK}{NBSP}hari (didanai) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Kota {RED}tidak{BLACK} tumbuh STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Batas kebisingan di kota : {ORANGE}{COMMA}{BLACK} maks.: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Arahkan pandangan utama pada lokasi kota. Ctrl+Click akan membuka viewport baru pada lokasi kota @@ -3196,7 +3196,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_TOTAL_CAPTION :{WHITE}Total: STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo Bank STR_FINANCES_LOAN_TITLE :{WHITE}Pinjaman -STR_FINANCES_MAX_LOAN :{WHITE}Pinjaman Maks: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Pinjaman maks.: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Pinjam {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Tambah jumlah pinjaman. Tekan Ctrl+Click untuk meminjam sebanyak mungkin. @@ -3664,7 +3664,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Daya Mua STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Nilai Transfer: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA} hari{BLACK} Perbaikan terakhir: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA}{NBSP}hari{BLACK} Perbaikan terakhir: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA} %{BLACK} Perbaikan terakhir: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Tambah jarak waktu perbaikan dengan 10. Ctrl+Click menambah jarak waktu perbaikan dengan 5. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Kurangi jarak waktu perbaikan dengan 10. Ctrl+Click mengurangi jarak waktu perbaikan dengan 5 @@ -3900,8 +3900,8 @@ STR_TIMETABLE_STAY_FOR_ESTIMATED :(menetap untuk STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(perjalan untuk {STRING}, tidak berjadwal) STR_TIMETABLE_STAY_FOR :dan tinggal selama {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :dan berjalan selama {STRING} -STR_TIMETABLE_DAYS :{COMMA} hari -STR_TIMETABLE_TICKS :{COMMA} titik +STR_TIMETABLE_DAYS :{COMMA}{NBSP}hari +STR_TIMETABLE_TICKS :{COMMA}{NBSP}titik STR_TIMETABLE_TOTAL_TIME :{BLACK}Total durasi seluruh perjalanan akan memakan waktu {STRING} STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Total durasi seluruh perjalanan akan memakan waktu kurang lebih {STRING} untuk terpenuhi (blm semuanya terjadwal) From 6155d6a3e07d6a895eebaa9bc6f005b42c33f6fb Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 24 Oct 2015 17:45:11 +0000 Subject: [PATCH 45/62] (svn r27411) -Update from WebTranslator v3.0: korean - 1 changes by telk5093 --- src/lang/korean.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/korean.txt b/src/lang/korean.txt index fe1d2cc881..a727b5233c 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -2174,7 +2174,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :게임이 아 STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :게임이 아직 일시 정지된 상태입니다. ({STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :게임이 아직 일시 정지된 상태입니다. ({STRING}, {STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :게임이 재개되었습니다. ({STRING}) -STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :충분한 플레이어가 없습니다 +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :플레이하는 사람 수 STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :접속자와 연결중 STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :수동 STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :게임 스크립트 From e156f43848352c6be01c99f3e56f54ef32723400 Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 25 Oct 2015 17:45:10 +0000 Subject: [PATCH 46/62] (svn r27412) -Update from WebTranslator v3.0: vietnamese - 16 changes by myquartz --- src/lang/vietnamese.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 34225d0f9d..d3a4ca9048 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -844,6 +844,7 @@ STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} chưa có lệnh STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} có các lệnh trùng lặp STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} có trạm bất hợp lệ trong lệnh +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} có trong lộ trình một sân bay có đường băng quá ngắn STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} đang cũ đi STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} đang xuống cấp @@ -1287,17 +1288,28 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Hiển thị d STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Độ đậm của đường kẻ trong đồ thị: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Độ đậm của đường vẽ trên đồ thị. Một đường mảnh sẽ chính xác hơn, trong khi đó đường đậm sẽ dễ nhìn hơn và màu sắc dễ phân biệt hơn +STR_CONFIG_SETTING_LANDSCAPE :Nền đất: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Nền đất là định nghĩa cơ bản của các màn chơi với các kiểu hàng hóa và yêu cầu cho sự phát triển đô thị khác nhau. NewGRF và kịch bản chơi cho phép các điều chỉnh nhỏ hơn. STR_CONFIG_SETTING_LAND_GENERATOR :Tạo nền đất: {STRING} +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Bộ khởi tạo nguyên bản chỉ dựa vào tập hợp đồ họa đối tượng cơ bản, rồi sinh ra các dạng địa hình cố đinh. Với TerraGenesis thì dựa trên có chế nhiễu loạn (noise) kiểu Perlin và cho phép các điều chỉnh nhỏ hơn. STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Nguyên Bản STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis +STR_CONFIG_SETTING_TERRAIN_TYPE :Kiểu nền đất: {STRING} +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Chỉ cho TerraGenesis) Địa hình nhiều đồi núi +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Mật độ nhà máy: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Thiết lập số nhà máy sẽ được tạo ra và mức độ dùy trì trong ván chơi STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Khoảng cách tối đa từ lề bản đồ tới nhà máy lọc dầu: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Nhà máy hóa dầu chỉ có thể xây gần rìa bản đồ, tương ứng là ven biển với những bản đồ dạng đảo STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Độ cao tuyết phủ: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Điều chỉnh độ cao của tuyết phủ đối với địa hình xứ lanh. Tuyết phủ có thể ảnh hưởng tới việc tạo ra nhà máy và các yêu cầu cho sự tăng trưởng đô thị STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Độ gồ ghề của địa chất: {STRING} +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Chỉ cho TerraGenesis) Chọn mức độ trùng điệp của núi: địa hình bằng phẳng thì ít hơn, địa hình đồi núi thì nhiều hơn. Địa hình gồ ghề có nhiều núi và trông có vẻ lặp lại STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Rất Phẳng STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Phẳng STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Gồ Ghề STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Rất Gồ Ghề +STR_CONFIG_SETTING_VARIETY :Phân bổ sự đa dạng: {STRING} +STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Chỉ cho TerraGenesis) Điều chỉnh liệu rằng bản đồ gồm cả vùng núi cao và vùng đồng bằng. Đây chỉ là điều chỉnh cho sự bằng phẳng hơn, các thiết lập khác sẽ điều chỉnh cho vùng núi. STR_CONFIG_SETTING_RIVER_AMOUNT :Số lượng sông ngòi: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Chọn số lượng sông ngòi được khởi tạo STR_CONFIG_SETTING_TREE_PLACER :Thuật toán đặt cây: {STRING} @@ -2863,6 +2875,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite t STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Xử lý sprite bình thường ở trước, bỏ qua các loại pseudo/recolour/font sprite căn theo điểm bắt đầu STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Theo những thông tin của sprite đã chọn. Thì việc căn chỉnh khi vẽ đối với sprite này sẽ bị bỏ qua STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Di chuyển sprite xung quanh, thay đổi X và Y offsets +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Đặt lại tương đối +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Đặt lại các dịch chuyển tương đối hiện tại +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK} dịch X: {NUM}, dịch Y: {NUM} (tuyệt đối) +STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}toạ độ X: {NUM}, toạ độ Y: {NUM} (tương đối) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Chọn sprite STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Chọn sprite ở bất cứ đâu trên màn hình From 3c269df00d018f0ce5121a47621b9aeef4535c73 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 26 Oct 2015 17:45:10 +0000 Subject: [PATCH 47/62] (svn r27413) -Update from WebTranslator v3.0: spanish - 12 changes by SilverSurferZzZ --- src/lang/spanish.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 3b8cb42b21..c4d5af9349 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -991,7 +991,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádru STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fichero{P "" s} perdido{P "" s} o corrupto{P "" s} -STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Información adicional acerca de este fichero de gráficos +STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre el set de gráficos base STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sonidos base STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Seleccionar conjunto de sonidos base a emplear @@ -1820,14 +1820,14 @@ STR_LIVERY_PANEL_TOOLTIP :{BLACK}Seleccio STR_LIVERY_DEFAULT :Estación normal STR_LIVERY_STEAM :Locomotora a Vapor -STR_LIVERY_DIESEL :Locomotora Diesel +STR_LIVERY_DIESEL :Locomotora Diésel STR_LIVERY_ELECTRIC :Locomotora Eléctrica STR_LIVERY_MONORAIL :Locomotora Monorraíl STR_LIVERY_MAGLEV :Locomotora Maglev STR_LIVERY_DMU :DMU STR_LIVERY_EMU :EMU STR_LIVERY_PASSENGER_WAGON_STEAM :Vagón Pasajeros (Vapor) -STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagón Pasajeros (Diesel) +STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagón Pasajeros (Diésel) STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagón Pasajeros (Eléctrico) STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagón Pasajeros (Monorraíl) STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagón Pasajeros (Maglev) @@ -2248,7 +2248,7 @@ STR_CONTENT_TYPE_GS_LIBRARY :Librería SJ # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Descargando contenido... -STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Solicitando ficheros... +STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Solicitando archivos... STR_CONTENT_DOWNLOAD_FILE :{WHITE}Descargando {STRING} ({NUM} de {NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Descarga completada STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} descargadas ({NUM} %) @@ -2257,8 +2257,8 @@ STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}No es posible conectarse al servidor de contenidos... STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Descarga errónea... STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... conexión perdida -STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... no se puede escribir en el fichero -STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}No ha sido posible descomprimir el fichero descargado +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... no se puede escribir en el archivo +STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}No ha sido posible descomprimir el archivo descargado STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos no encontrados STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD necesita gráficos para funcionar pero no se pudo encontrar ninguno. ¿Desea permitir que OpenTTD descargue e instale dichos gráficos? @@ -2918,7 +2918,7 @@ STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Precau STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Se van a modificar los NewGRF de una partida ya comenzada. Esto puede provocar un error fatal en OpenTTD o romper la partida.{}No se deben crear reportes de bugs por problemas causados por esta acción.{}¿Está completamente seguro de esto? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}No se puede añadir: GRF ID duplicado -STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Fichero no encontrado (GRF compatible cargado) +STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Archivo no encontrado (GRF compatible cargado) STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No se puede añadir fichero: Límite de ficheros NewGRF alcanzado STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatibles cargados para ficheros que faltan @@ -3921,7 +3921,7 @@ STR_TIMETABLE_STARTING_DATE :{BLACK}Fecha de STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecciona una fecha como punto de partida de este horario. Ctrl+Click permite fijar el punto de partida de este horario y distribuye todos los vehículos que lo compartan siempre y cuando el horario esté completo STR_TIMETABLE_CHANGE_TIME :{BLACK}Cambiar Horario -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la cantidad de tiempo que debe tomar una orden marcada +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la cantidad de tiempo que debe tardar una orden marcada STR_TIMETABLE_CLEAR_TIME :{BLACK}Limpiar Horario STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Limpiar la cantidad de tiempo para la orden seleccionada @@ -4068,13 +4068,13 @@ STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}El guard STR_ERROR_AUTOSAVE_FAILED :{WHITE}Error en Autoguardado STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}No es posible leer la unidad STR_ERROR_GAME_SAVE_FAILED :{WHITE}Error guardando juego{}{STRING} -STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible borrar el fichero +STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible borrar el archivo STR_ERROR_GAME_LOAD_FAILED :{WHITE}Carga de Juego Errónea{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Error interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Partida guardada corrupta - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida guardada ha sido realizada con una versión más nueva -STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :No se puede leer fichero -STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :No se puede escribir en el fichero +STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Archivo no legible +STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :No se puede escribir en el archivo STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Comprobación de integridad de los datos fallida STR_GAME_SAVELOAD_NOT_AVAILABLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}El juego ha sido guardado en una versión sin soporte para tranvías. Todos los tranvías serán eliminados @@ -4604,7 +4604,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (Vapor) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (Vapor) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (Diésel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (Diesel) From 2d684b8e762bd9e386251ce822038c77cc50c461 Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 27 Oct 2015 17:45:08 +0000 Subject: [PATCH 48/62] (svn r27414) -Update from WebTranslator v3.0: spanish - 11 changes by SilverSurferZzZ --- src/lang/spanish.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index c4d5af9349..3918bea3ce 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -942,7 +942,7 @@ STR_GAME_OPTIONS_TOWN_NAME_FRENCH :Francés STR_GAME_OPTIONS_TOWN_NAME_GERMAN :Alemán STR_GAME_OPTIONS_TOWN_NAME_ADDITIONAL_ENGLISH :Inglés (Adicional) STR_GAME_OPTIONS_TOWN_NAME_LATIN_AMERICAN :Latinoamericano -STR_GAME_OPTIONS_TOWN_NAME_SILLY :Tontos +STR_GAME_OPTIONS_TOWN_NAME_SILLY :Absurdos STR_GAME_OPTIONS_TOWN_NAME_SWEDISH :Sueco STR_GAME_OPTIONS_TOWN_NAME_DUTCH :Holandés STR_GAME_OPTIONS_TOWN_NAME_FINNISH :Finlandés @@ -2802,8 +2802,8 @@ STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Borrar STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Borrar la programación seleccionada STR_NEWGRF_SETTINGS_ADD :{BLACK}Añadir STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Añade el NewGRF seleccionado a tu configuración -STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Actualizar ficheros -STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Actualiza la lista de ficheros NewGRF disponibles +STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Actualizar archivos +STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Actualiza la lista de archivos NewGRF disponibles STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Retirar STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Retirar el NewGRF seleccionado de la lista STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Mover Arriba @@ -2812,7 +2812,7 @@ STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Mover Ab STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado abajo en la lista STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualiza STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Utiliza las versiones más nuevas de los archivos NewGRF que dispongan de diversas versiones instaladas -STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Una lista de los ficheros NewGRF instalados +STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Una lista de los archivos NewGRF instalados STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Establecer parámetros STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parámetros @@ -2823,7 +2823,7 @@ STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Encontrar contenido que falta en línea STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comprobar si el contenido que falta puede ser encontrado en línea -STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Fichero: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Archivo: {SILVER}{STRING} STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING} STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versión: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versión compatible: {SILVER}{NUM} @@ -2832,7 +2832,7 @@ STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING} STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}No tiene información disponible -STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Fichero no encontrado +STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Archivo no encontrado STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivado STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatible con esta versión de OpenTTD @@ -2921,15 +2921,15 @@ STR_NEWGRF_DUPLICATE_GRFID :{WHITE}No se pu STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Archivo no encontrado (GRF compatible cargado) STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No se puede añadir fichero: Límite de ficheros NewGRF alcanzado -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatibles cargados para ficheros que faltan -STR_NEWGRF_DISABLED_WARNING :{WHITE}Fichero(s) GRF no encontrados han sido desactivados -STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fichero(s) GRF no encontrados +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatibles cargados para archivos que faltan +STR_NEWGRF_DISABLED_WARNING :{WHITE}Archivo(s) GRF no encontrados han sido desactivados +STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Archivo(s) GRF no encontrados STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Quitar la pausa puede hacer que se cierre OpenTTD. No notifique este error.{}¿Desea realmente quitar la pausa? # NewGRF status STR_NEWGRF_LIST_NONE :Ninguno STR_NEWGRF_LIST_ALL_FOUND :Todos los ficheros presentes -STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Ficheros compatibles encontrados +STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Archivos compatibles encontrados STR_NEWGRF_LIST_MISSING :{RED}Ficheros que faltan # NewGRF 'it's broken' warnings @@ -4084,7 +4084,7 @@ STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Generaci STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... no hay municipios en el escenario STR_ERROR_PNGMAP :{WHITE}No se pudo cargar mapa de alturas PNG... -STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... fichero no encontrado +STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... archivo no encontrado STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... no se pudo convertir tipo de imagen. Se requieren imágenes PNG de 8 o 24-bits STR_ERROR_PNGMAP_MISC :{WHITE}... algo ha salido mal (es probable que el fichero esté corrupto) From 3af9438fb56e577da964a7787fa7261aab6d4f84 Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 28 Oct 2015 17:45:08 +0000 Subject: [PATCH 49/62] (svn r27415) -Update from WebTranslator v3.0: spanish - 6 changes by SilverSurferZzZ --- src/lang/spanish.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 3918bea3ce..ff69eecb75 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -434,7 +434,7 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Fundar nueva in ############ range for railway construction menu starts STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construcción de ferrocarril -STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construcción ferrocarril eléctrico +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construcción de ferrocarril eléctrico STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construcción de monorraíl STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construcción de maglev ############ range ends here @@ -625,7 +625,7 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Préstam STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total: ############ End of order list STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP :{BLACK}Cantidad de vehículos que obtuvieron beneficios el año pasado. Incluye vehículos de carretera, trenes, barcos y aeronaves -STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Cantidad de partes de estación que han tenido servicio. Las estaciones de tren, paradas de autobus, aeropuertos y demás son contabilizadas por separado incluso si pertenecen a la misma estación +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Cantidad de partes de estación que han tenido servicio. Las estaciones de tren, paradas de autobús, aeropuertos y demás son contabilizadas por separado incluso si pertenecen a la misma estación STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP :{BLACK}Beneficio del vehículo con menores ingresos (de entre todos los vehículos con más de 2 años) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Cantidad de dinero ganado en el trimestre con el beneficio más bajo de los pasados 12 trimestres STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Cantidad de dinero ganado en el trimestre con el beneficio más alto de los pasados 12 trimestres @@ -656,15 +656,15 @@ STR_MUSIC_TRACK :{TINY_FONT}{BLA STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Título STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Mezclar STR_MUSIC_PROGRAM :{TINY_FONT}{BLACK}Programa -STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Pasar a pista anterior de la selección -STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Pasar a siguiente pista de la selección +STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Saltar a la pista anterior de la selección +STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Saltar a la siguiente pista de la selección STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Detener música STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Comenzar música STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Mueva los cursores para fijar volumen de música y efectos STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Seleccionar programa 'todas las pistas' STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Seleccionar programa 'estilo antiguo' STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Seleccionar programa 'estilo moderno' -STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Elegir el programa musical de estilo 'Ezy Street' +STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Seleccionar programa 'estilo Ezy Street' STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Seleccionar programa 'Personal 1' (definido por el usuario) STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Seleccionar programa 'Personal 2' (definido por el usuario) STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Encender/apagar mezclador @@ -717,7 +717,7 @@ STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar propietarios de terrenos en el mapa STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Click en un tipo de industria para mostrarlo/ocultarlo. Ctrl+Click oculta todos los tipos excepto el seleccionado. Ctrl+Click de nuevo en el mismo tipo muestra todos los tipos de industrias STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Click en una empresa para mostrar/ocultar sus propiedades. Ctrl+Click oculta todas las empresas excepto la seleccionada. Ctrl+Click de nuevo en la misma empresa muestra todas las empresas -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Un Click en una carga permite activar o desactivar su visualización. Ctrl+Click deshabilita todas las cargas excepto la seleccionada. Un segundo Ctrl+Click habilita la visualización de todos los tipos de carga +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Click en una carga permite activar o desactivar su visualización. Ctrl+Click deshabilita todas las cargas excepto la seleccionada. Un segundo Ctrl+Click habilita la visualización de todos los tipos de carga STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Carreteras STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferrocarriles From 85b19944f437302e994820fde5e2387aa3bacb8c Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 29 Oct 2015 17:45:08 +0000 Subject: [PATCH 50/62] (svn r27416) -Update from WebTranslator v3.0: welsh - 2 changes by kazzie --- src/lang/welsh.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index bc4c18db46..d25dfff6c7 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -284,8 +284,8 @@ STR_SORT_BY_PRODUCTION :Cynyrch STR_SORT_BY_TYPE :Math STR_SORT_BY_TRANSPORTED :Wedi'i gludo STR_SORT_BY_NUMBER :Rhif -STR_SORT_BY_PROFIT_LAST_YEAR :Elw eleni -STR_SORT_BY_PROFIT_THIS_YEAR :Elw llynedd +STR_SORT_BY_PROFIT_LAST_YEAR :Elw llynedd +STR_SORT_BY_PROFIT_THIS_YEAR :Elw eleni STR_SORT_BY_AGE :Oed STR_SORT_BY_RELIABILITY :Dibynadwyedd STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Cyfanswm Gallu Cludo fesul y math o lwyth From d20a116dfdf8a43bc0f5182456863dcaa8b28c63 Mon Sep 17 00:00:00 2001 From: frosch Date: Thu, 29 Oct 2015 19:23:21 +0000 Subject: [PATCH 51/62] (svn r27417) -Doc: ScaleGUITrad (adf88) --- src/zoom_func.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/zoom_func.h b/src/zoom_func.h index 1cb3d0c486..da266e35c6 100644 --- a/src/zoom_func.h +++ b/src/zoom_func.h @@ -67,7 +67,7 @@ static inline int UnScaleByZoomLower(int value, ZoomLevel zoom) /** * Short-hand to apply GUI zoom level. * @param value Pixel amount at #ZOOM_LVL_BEGIN (full zoom in). - * @return value Pixel amount at #ZOOM_LVL_GUI. + * @return Pixel amount at #ZOOM_LVL_GUI (current interface size). */ static inline int UnScaleGUI(int value) { @@ -76,8 +76,8 @@ static inline int UnScaleGUI(int value) /** * Scale traditional pixel dimensions to GUI zoom level. - * @param value Pixel amount at 1x zoom level. - * @return value Pixel amount at #ZOOM_LVL_GUI. + * @param value Pixel amount at #ZOOM_LVL_BASE (traditional "normal" interface size). + * @return Pixel amount at #ZOOM_LVL_GUI (current interface size). */ static inline int ScaleGUITrad(int value) { From 147b53fbff263b707423080b5f09731d06b2a194 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 16:18:03 +0000 Subject: [PATCH 52/62] (svn r27418) -Fix [FS#6329] [FS#6379]: Desync due to incorrect storage of segments with different railtype in the YAPF cache. (JGR) --- src/pathfinder/follow_track.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pathfinder/follow_track.hpp b/src/pathfinder/follow_track.hpp index a16512bc06..9f19b029c0 100644 --- a/src/pathfinder/follow_track.hpp +++ b/src/pathfinder/follow_track.hpp @@ -144,7 +144,12 @@ struct CFollowTrackT * missing road bit, or inability to connect the * different bits due to slopes. */ if (IsRoadTT() && !IsTram() && TryReverse()) return true; - m_err = EC_NO_WAY; + + /* CanEnterNewTile already set a reason. + * Do NOT overwrite it (important for example for EC_RAIL_TYPE). + * Only set a reason if CanEnterNewTile was not called */ + if (m_new_td_bits == TRACKDIR_BIT_NONE) m_err = EC_NO_WAY; + return false; } if (!Allow90degTurns()) { From 51787a34655d182e9abb24057ff6add76fd1c9d9 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 16:18:39 +0000 Subject: [PATCH 53/62] (svn r27419) -Fix [FS#6369]: CmdSellRailWagon did not revert all actions properly when no orderlist could be allocated. (Juanjo) --- src/train_cmd.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 8f20973b35..6f2feeaab7 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1386,13 +1386,15 @@ CommandCost CmdSellRailWagon(DoCommandFlag flags, Vehicle *t, uint16 data, uint3 return ret; } - CommandCost cost(EXPENSES_NEW_VEHICLES); - for (Train *t = sell_head; t != NULL; t = t->Next()) cost.AddCost(-t->value); - if (first->orders.list == NULL && !OrderList::CanAllocateItem()) { + /* Restore the train we had. */ + RestoreTrainBackup(original); return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS); } + CommandCost cost(EXPENSES_NEW_VEHICLES); + for (Train *t = sell_head; t != NULL; t = t->Next()) cost.AddCost(-t->value); + /* do it? */ if (flags & DC_EXEC) { /* First normalise the sub types of the chain. */ From 49a18025f8936fdc6c2df6f6c3ada6a151bed6d4 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 16:19:09 +0000 Subject: [PATCH 54/62] (svn r27420) -Fix [FS#6362]: GrowTownAtRoad sometimes returned false, even when a house was built. (_dp_) --- src/town_cmd.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index ea44603b0c..ee2828ad7a 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1378,13 +1378,12 @@ static bool GrowTownAtRoad(Town *t, TileIndex tile) /* Try to grow the town from this point */ GrowTownInTile(&tile, cur_rb, target_dir, t); + if (_grow_town_result == GROWTH_SUCCEED) return true; /* Exclude the source position from the bitmask * and return if no more road blocks available */ if (IsValidDiagDirection(target_dir)) cur_rb &= ~DiagDirToRoadBits(ReverseDiagDir(target_dir)); - if (cur_rb == ROAD_NONE) { - return _grow_town_result == GROWTH_SUCCEED; - } + if (cur_rb == ROAD_NONE) return false; if (IsTileType(tile, MP_TUNNELBRIDGE)) { /* Only build in the direction away from the tunnel or bridge. */ @@ -1419,7 +1418,7 @@ static bool GrowTownAtRoad(Town *t, TileIndex tile) /* Max number of times is checked. */ } while (--_grow_town_result >= 0); - return _grow_town_result == GROWTH_SUCCEED - 1; + return false; } /** From 7be7851b947675dba3a6891139d207bbc16089ab Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 16:19:33 +0000 Subject: [PATCH 55/62] (svn r27421) -Fix [FS#6265]: Consider text and icon sizes when drawing the client list. (_dp_) --- src/network/network_gui.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 013b375bda..795d28e139 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1863,7 +1863,9 @@ struct NetworkClientListWindow : Window { int selected_item; uint server_client_width; - uint company_icon_width; + uint line_height; + + Dimension icon_size; NetworkClientListWindow(WindowDesc *desc, WindowNumber window_number) : Window(desc), @@ -1885,7 +1887,7 @@ struct NetworkClientListWindow : Window { if (ci->client_playas != COMPANY_INACTIVE_CLIENT) num++; } - num *= FONT_HEIGHT_NORMAL; + num *= this->line_height; int diff = (num + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM) - (this->GetWidget(WID_CL_PANEL)->current_y); /* If height is changed */ @@ -1901,7 +1903,8 @@ struct NetworkClientListWindow : Window { if (widget != WID_CL_PANEL) return; this->server_client_width = max(GetStringBoundingBox(STR_NETWORK_SERVER).width, GetStringBoundingBox(STR_NETWORK_CLIENT).width) + WD_FRAMERECT_RIGHT; - this->company_icon_width = GetSpriteSize(SPR_COMPANY_ICON).width + WD_FRAMERECT_LEFT; + this->icon_size = GetSpriteSize(SPR_COMPANY_ICON); + this->line_height = max(this->icon_size.height + 2U, (uint)FONT_HEIGHT_NORMAL); uint width = 100; // Default width const NetworkClientInfo *ci; @@ -1909,7 +1912,7 @@ struct NetworkClientListWindow : Window { width = max(width, GetStringBoundingBox(ci->client_name).width); } - size->width = WD_FRAMERECT_LEFT + this->server_client_width + this->company_icon_width + width + WD_FRAMERECT_RIGHT; + size->width = WD_FRAMERECT_LEFT + this->server_client_width + this->icon_size.width + WD_FRAMERECT_LEFT + width + WD_FRAMERECT_RIGHT; } virtual void OnPaint() @@ -1925,11 +1928,13 @@ struct NetworkClientListWindow : Window { if (widget != WID_CL_PANEL) return; bool rtl = _current_text_dir == TD_RTL; - int icon_y_offset = 1 + (FONT_HEIGHT_NORMAL - 10) / 2; + int icon_offset = (this->line_height - icon_size.height) / 2; + int text_offset = (this->line_height - FONT_HEIGHT_NORMAL) / 2; + uint y = r.top + WD_FRAMERECT_TOP; uint left = r.left + WD_FRAMERECT_LEFT; uint right = r.right - WD_FRAMERECT_RIGHT; - uint type_icon_width = this->server_client_width + this->company_icon_width; + uint type_icon_width = this->server_client_width + this->icon_size.width + WD_FRAMERECT_LEFT; uint type_left = rtl ? right - this->server_client_width : left; @@ -1943,24 +1948,24 @@ struct NetworkClientListWindow : Window { FOR_ALL_CLIENT_INFOS(ci) { TextColour colour; if (this->selected_item == i++) { // Selected item, highlight it - GfxFillRect(r.left + 1, y, r.right - 1, y + FONT_HEIGHT_NORMAL - 1, PC_BLACK); + GfxFillRect(r.left + 1, y, r.right - 1, y + this->line_height - 1, PC_BLACK); colour = TC_WHITE; } else { colour = TC_BLACK; } if (ci->client_id == CLIENT_ID_SERVER) { - DrawString(type_left, type_right, y, STR_NETWORK_SERVER, colour); + DrawString(type_left, type_right, y + text_offset, STR_NETWORK_SERVER, colour); } else { - DrawString(type_left, type_right, y, STR_NETWORK_CLIENT, colour); + DrawString(type_left, type_right, y + text_offset, STR_NETWORK_CLIENT, colour); } /* Filter out spectators */ - if (Company::IsValidID(ci->client_playas)) DrawCompanyIcon(ci->client_playas, icon_left, y + icon_y_offset); + if (Company::IsValidID(ci->client_playas)) DrawCompanyIcon(ci->client_playas, icon_left, y + icon_offset); - DrawString(name_left, name_right, y, ci->client_name, colour); + DrawString(name_left, name_right, y + text_offset, ci->client_name, colour); - y += FONT_HEIGHT_NORMAL; + y += line_height; } } @@ -1993,7 +1998,7 @@ struct NetworkClientListWindow : Window { pt.y -= this->GetWidget(WID_CL_PANEL)->pos_y; int item = -1; if (IsInsideMM(pt.y, WD_FRAMERECT_TOP, this->GetWidget(WID_CL_PANEL)->current_y - WD_FRAMERECT_BOTTOM)) { - item = (pt.y - WD_FRAMERECT_TOP) / FONT_HEIGHT_NORMAL; + item = (pt.y - WD_FRAMERECT_TOP) / this->line_height; } /* It did not change.. no update! */ From 1e897531cbc9b227a86e1f156d17bcea1cf47a2f Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 16:20:00 +0000 Subject: [PATCH 56/62] (svn r27422) -Fix [FS#6341]: Aircraft picked the wrong airport entry point, if airports were rotated by 180 degree. (marcole) --- src/aircraft_cmd.cpp | 2 +- src/direction_func.h | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 18dcbea27b..edb10af327 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -809,7 +809,7 @@ static byte AircraftGetEntryPoint(const Aircraft *v, const AirportFTAClass *apc, /* We are northwest or southeast of the airport */ dir = delta_y < 0 ? DIAGDIR_NW : DIAGDIR_SE; } - dir = ChangeDiagDir(dir, (DiagDirDiff)ReverseDiagDir(DirToDiagDir(rotation))); + dir = ChangeDiagDir(dir, DiagDirDifference(DIAGDIR_NE, DirToDiagDir(rotation))); return apc->entry_points[dir]; } diff --git a/src/direction_func.h b/src/direction_func.h index 8889485842..12aee58639 100644 --- a/src/direction_func.h +++ b/src/direction_func.h @@ -61,11 +61,11 @@ static inline Direction ReverseDir(Direction d) /** - * Calculate the difference between to directions + * Calculate the difference between two directions * * @param d0 The first direction as the base * @param d1 The second direction as the offset from the base - * @return The difference how the second directions drifts of the first one. + * @return The difference how the second direction drifts of the first one. */ static inline DirDiff DirDifference(Direction d0, Direction d1) { @@ -79,7 +79,7 @@ static inline DirDiff DirDifference(Direction d0, Direction d1) /** * Applies two differences together * - * This function adds two differences together and return the resulting + * This function adds two differences together and returns the resulting * difference. So adding two DIRDIFF_REVERSE together results in the * DIRDIFF_SAME difference. * @@ -123,6 +123,20 @@ static inline DiagDirection ReverseDiagDir(DiagDirection d) return (DiagDirection)(2 ^ d); } +/** + * Calculate the difference between two DiagDirection values + * + * @param d0 The first direction as the base + * @param d1 The second direction as the offset from the base + * @return The difference how the second direction drifts of the first one. + */ +static inline DiagDirDiff DiagDirDifference(DiagDirection d0, DiagDirection d1) +{ + assert(IsValidDiagDirection(d0)); + assert(IsValidDiagDirection(d1)); + /* Cast to uint so compiler can use bitmask. Result can never be negative. */ + return (DiagDirDiff)((uint)(d0 - d1) % 4); +} /** * Applies a difference on a DiagDirection From 34627862c65c0e245964a957894f53b087105d2d Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 17:17:54 +0000 Subject: [PATCH 57/62] (svn r27423) -Fix: When towns expanded single-bit roadtiles using a grid-layout, they used the layout position of the neighbouring tile. --- src/town_cmd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index ee2828ad7a..7479892c23 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1247,8 +1247,8 @@ static void GrowTownInTile(TileIndex *tile_ptr, RoadBits cur_rb, DiagDirection t /* FALL THROUGH */ case TL_2X2_GRID: - rcmd = GetTownRoadGridElement(t1, house_tile, target_dir); - allow_house = (rcmd == ROAD_NONE); + rcmd = GetTownRoadGridElement(t1, tile, target_dir); + allow_house = (rcmd & DiagDirToRoadBits(target_dir)) == ROAD_NONE; break; case TL_BETTER_ROADS: // Use original afterwards! From e51abf17966bdcfc278bc0802380ad0231e5ddb1 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 17:19:01 +0000 Subject: [PATCH 58/62] (svn r27424) -Fix [FS#6374]: Towns did not connect roads to existing roads, unless they had only a single roadbit. Otoh, towns also tried to connect to single roadbit tiles such as tunnels and depots, even though they were not connectable in the direction of interest. --- src/road.cpp | 57 +++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/src/road.cpp b/src/road.cpp index 57c5da5d41..f51597538d 100644 --- a/src/road.cpp +++ b/src/road.cpp @@ -57,41 +57,44 @@ RoadBits CleanUpRoadBits(const TileIndex tile, RoadBits org_rb) bool connective = false; const RoadBits mirrored_rb = MirrorRoadBits(target_rb); - switch (GetTileType(neighbor_tile)) { - /* Always connective ones */ - case MP_CLEAR: case MP_TREES: - connective = true; - break; + if (IsValidTile(neighbor_tile)) { + switch (GetTileType(neighbor_tile)) { + /* Always connective ones */ + case MP_CLEAR: case MP_TREES: + connective = true; + break; - /* The conditionally connective ones */ - case MP_TUNNELBRIDGE: - case MP_STATION: - case MP_ROAD: { - const RoadBits neighbor_rb = GetAnyRoadBits(neighbor_tile, ROADTYPE_ROAD) | GetAnyRoadBits(neighbor_tile, ROADTYPE_TRAM); + /* The conditionally connective ones */ + case MP_TUNNELBRIDGE: + case MP_STATION: + case MP_ROAD: + if (IsNormalRoadTile(neighbor_tile)) { + /* Always connective */ + connective = true; + } else { + const RoadBits neighbor_rb = GetAnyRoadBits(neighbor_tile, ROADTYPE_ROAD) | GetAnyRoadBits(neighbor_tile, ROADTYPE_TRAM); - /* Accept only connective tiles */ - connective = (neighbor_rb & mirrored_rb) || // Neighbor has got the fitting RoadBit - HasExactlyOneBit(neighbor_rb); // Neighbor has got only one Roadbit + /* Accept only connective tiles */ + connective = (neighbor_rb & mirrored_rb) != ROAD_NONE; + } + break; - break; + case MP_RAILWAY: + connective = IsPossibleCrossing(neighbor_tile, DiagDirToAxis(dir)); + break; + + case MP_WATER: + /* Check for real water tile */ + connective = !IsWater(neighbor_tile); + break; + + /* The definitely not connective ones */ + default: break; } - - case MP_RAILWAY: - connective = IsPossibleCrossing(neighbor_tile, DiagDirToAxis(dir)); - break; - - case MP_WATER: - /* Check for real water tile */ - connective = !IsWater(neighbor_tile); - break; - - /* The definitely not connective ones */ - default: break; } /* If the neighbor tile is inconnective, remove the planed road connection to it */ if (!connective) org_rb ^= target_rb; - } } From c74ffeecd19bbdb1e79ea02ecd592fc4b085211b Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 17:23:16 +0000 Subject: [PATCH 59/62] (svn r27425) -Fix [FS#5842]: Crash when switching to or taking over companies, when an order window of a vehicle of the new company was opened. Now close those windows. --- src/order_gui.cpp | 6 ++++++ src/window.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/src/order_gui.cpp b/src/order_gui.cpp index d4feae35ca..3ca29e087a 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1713,6 +1713,12 @@ void ShowOrdersWindow(const Vehicle *v) DeleteWindowById(WC_VEHICLE_TIMETABLE, v->index, false); if (BringWindowToFrontById(WC_VEHICLE_ORDERS, v->index) != NULL) return; + /* Using a different WindowDescs for _local_company causes problems. + * Due to this we have to close order windows in ChangeWindowOwner/DeleteCompanyWindows, + * because we cannot change switch the WindowDescs and keeping the old WindowDesc results + * in crashed due to missing widges. + * TODO Rewrite the order GUI to not use different WindowDescs. + */ if (v->owner != _local_company) { new OrdersWindow(&_other_orders_desc, v); } else { diff --git a/src/window.cpp b/src/window.cpp index 18e8f35881..1fce1f3a8d 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1207,6 +1207,7 @@ void ChangeWindowOwner(Owner old_owner, Owner new_owner) case WC_BUY_COMPANY: case WC_COMPANY: case WC_COMPANY_INFRASTRUCTURE: + case WC_VEHICLE_ORDERS: // Changing owner would also require changing WindowDesc, which is not possible; however keeping the old one crashes because of missing widgets etc.. See ShowOrdersWindow(). continue; default: From 0f8f73894218d44ec1edaab1302b4b754b36262c Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 17:24:05 +0000 Subject: [PATCH 60/62] (svn r27426) -Change: Round loading percentage in loading indicators and conditional orders towards 50%, so that 0% and 100% mean completely empty or full. --- src/vehicle.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 46f98fe63b..a482520f25 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1290,6 +1290,9 @@ void AgeVehicle(Vehicle *v) * @param front The front vehicle of the consist to check. * @param colour The string to show depending on if we are unloading or loading * @return A percentage of how full the Vehicle is. + * Percentages are rounded towards 50%, so that 0% and 100% are only returned + * if the vehicle is completely empty or full. + * This is useful for both display and conditional orders. */ uint8 CalcPercentVehicleFilled(const Vehicle *front, StringID *colour) { @@ -1337,7 +1340,13 @@ uint8 CalcPercentVehicleFilled(const Vehicle *front, StringID *colour) if (max == 0) return 100; /* Return the percentage */ - return (count * 100) / max; + if (count * 2 < max) { + /* Less than 50%; round up, so that 0% means really empty. */ + return CeilDiv(count * 100, max); + } else { + /* More than 50%; round down, so that 100% means really full. */ + return (count * 100) / max; + } } /** From ade25fff71f7cfb3448b2cb8480c772091f36691 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 17:24:30 +0000 Subject: [PATCH 61/62] (svn r27427) -Fix: Use the NewGRF railtype sorting order in the infrastructure window. --- src/company_gui.cpp | 6 ++++-- src/rail.h | 9 +++++++++ src/rail_cmd.cpp | 21 +++++++++++++++++++++ src/rail_gui.cpp | 17 ++--------------- 4 files changed, 36 insertions(+), 17 deletions(-) diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 1343acb91b..0be6679583 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -1764,7 +1764,8 @@ struct CompanyInfrastructureWindow : Window if (this->railtypes != RAILTYPES_NONE) { /* Draw name of each valid railtype. */ - for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) { + RailType rt; + FOR_ALL_SORTED_RAILTYPES(rt) { if (HasBit(this->railtypes, rt)) { SetDParam(0, GetRailTypeInfo(rt)->strings.name); DrawString(r.left + offs_left, r.right - offs_right, y += FONT_HEIGHT_NORMAL, STR_WHITE_STRING); @@ -1781,7 +1782,8 @@ struct CompanyInfrastructureWindow : Window case WID_CI_RAIL_COUNT: { /* Draw infrastructure count for each valid railtype. */ uint32 rail_total = c->infrastructure.GetRailTotal(); - for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) { + RailType rt; + FOR_ALL_SORTED_RAILTYPES(rt) { if (HasBit(this->railtypes, rt)) { this->DrawCountLine(r, y, c->infrastructure.rail[rt], RailMaintenanceCost(rt, c->infrastructure.rail[rt], rail_total)); } diff --git a/src/rail.h b/src/rail.h index 539a162b8e..320d24a9a0 100644 --- a/src/rail.h +++ b/src/rail.h @@ -431,4 +431,13 @@ void ResetRailTypes(); void InitRailTypes(); RailType AllocateRailType(RailTypeLabel label); +extern RailType _sorted_railtypes[RAILTYPE_END]; +extern uint8 _sorted_railtypes_size; + +/** + * Loop header for iterating over railtypes, sorted by sortorder. + * @param var Railtype. + */ +#define FOR_ALL_SORTED_RAILTYPES(var) for (uint8 index = 0; index < _sorted_railtypes_size && (var = _sorted_railtypes[index], true) ; index++) + #endif /* RAIL_H */ diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 743e6e193c..2010f9b305 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -44,6 +44,8 @@ typedef SmallVector TrainList; RailtypeInfo _railtypes[RAILTYPE_END]; +RailType _sorted_railtypes[RAILTYPE_END]; +uint8 _sorted_railtypes_size; assert_compile(sizeof(_original_railtypes) <= sizeof(_railtypes)); @@ -109,6 +111,17 @@ void ResolveRailTypeGUISprites(RailtypeInfo *rti) } } +/** + * Compare railtypes based on their sorting order. + * @param first The railtype to compare to. + * @param second The railtype to compare. + * @return True iff the first should be sorted before the second. + */ +static int CDECL CompareRailTypes(const RailType *first, const RailType *second) +{ + return GetRailTypeInfo(*first)->sorting_order - GetRailTypeInfo(*second)->sorting_order; +} + /** * Resolve sprites of custom rail types */ @@ -118,6 +131,14 @@ void InitRailTypes() RailtypeInfo *rti = &_railtypes[rt]; ResolveRailTypeGUISprites(rti); } + + _sorted_railtypes_size = 0; + for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) { + if (_railtypes[rt].label != 0) { + _sorted_railtypes[_sorted_railtypes_size++] = rt; + } + } + QSortT(_sorted_railtypes, _sorted_railtypes_size, CompareRailTypes); } /** diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index a8c2fc6b33..a48abd29cc 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -1978,17 +1978,6 @@ void InitializeRailGUI() ResetSignalVariant(); } -/** - * Compare railtypes based on their sorting order. - * @param first The railtype to compare to. - * @param second The railtype to compare. - * @return True iff the first should be sorted before the second. - */ -static int CDECL CompareRailTypes(const DropDownListItem * const *first, const DropDownListItem * const *second) -{ - return GetRailTypeInfo((RailType)(*first)->result)->sorting_order - GetRailTypeInfo((RailType)(*second)->result)->sorting_order; -} - /** * Create a drop down list for all the rail types of the local company. * @param for_replacement Whether this list is for the replacement window. @@ -2011,13 +2000,12 @@ DropDownList *GetRailTypeDropDownList(bool for_replacement) const Company *c = Company::Get(_local_company); DropDownList *list = new DropDownList(); - for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) { + RailType rt; + FOR_ALL_SORTED_RAILTYPES(rt) { /* If it's not used ever, don't show it to the user. */ if (!HasBit(used_railtypes, rt)) continue; const RailtypeInfo *rti = GetRailTypeInfo(rt); - /* Skip rail type if it has no label */ - if (rti->label == 0) continue; StringID str = for_replacement ? rti->strings.replace_text : (rti->max_speed > 0 ? STR_TOOLBAR_RAILTYPE_VELOCITY : STR_JUST_STRING); DropDownListParamStringItem *item = new DropDownListParamStringItem(str, rt, !HasBit(c->avail_railtypes, rt)); @@ -2025,6 +2013,5 @@ DropDownList *GetRailTypeDropDownList(bool for_replacement) item->SetParam(1, rti->max_speed); *list->Append() = item; } - QSortT(list->Begin(), list->Length(), CompareRailTypes); return list; } From ba955956cbceede0edcbb1a91cd6b06292dffb35 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 30 Oct 2015 17:27:21 +0000 Subject: [PATCH 62/62] (svn r27428) -Fix: When selecting a refit cargo for orders, do not check whether the vehicle is in a depot or station, and do not ask whether the vehicle currently allows station-refitting. Also hide the refit cost for orders, it is not predictable. --- src/vehicle_cmd.cpp | 15 ++++++++++++--- src/vehicle_gui.cpp | 11 +++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 72cff271a4..3b664defb6 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -358,8 +358,10 @@ static CommandCost RefitVehicle(Vehicle *v, bool only_this, uint8 num_vehicles, bool auto_refit_allowed; CommandCost refit_cost = GetRefitCost(v, v->engine_type, new_cid, actual_subtype, &auto_refit_allowed); - if (auto_refit && !auto_refit_allowed) { - /* Sorry, auto-refitting not allowed, subtract the cargo amount again from the total. */ + if (auto_refit && (flags & DC_QUERY_COST) == 0 && !auto_refit_allowed) { + /* Sorry, auto-refitting not allowed, subtract the cargo amount again from the total. + * When querrying cost/capacity (for example in order refit GUI), we always assume 'allowed'. + * It is not predictable. */ total_capacity -= amount; total_mail_capacity -= mail_capacity; @@ -446,8 +448,15 @@ CommandCost CmdRefitVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint /* Don't allow shadows and such to be refitted. */ if (v != front && (v->type == VEH_SHIP || v->type == VEH_AIRCRAFT)) return CMD_ERROR; + /* Allow auto-refitting only during loading and normal refitting only in a depot. */ - if (!free_wagon && (!auto_refit || !front->current_order.IsType(OT_LOADING)) && !front->IsStoppedInDepot()) return_cmd_error(STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT + front->type); + if ((flags & DC_QUERY_COST) == 0 && // used by the refit GUI, including the order refit GUI. + !free_wagon && // used by autoreplace/renew + (!auto_refit || !front->current_order.IsType(OT_LOADING)) && // refit inside stations + !front->IsStoppedInDepot()) { // refit inside depots + return_cmd_error(STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT + front->type); + } + if (front->vehstatus & VS_CRASHED) return_cmd_error(STR_ERROR_VEHICLE_IS_DESTROYED); /* Check cargo */ diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 4ace090dda..10f1d952da 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -701,7 +701,10 @@ struct RefitWindow : public Window { if (_returned_mail_refit_capacity > 0) { SetDParam(2, CT_MAIL); SetDParam(3, _returned_mail_refit_capacity); - if (money <= 0) { + if (this->order != INVALID_VEH_ORDER_ID) { + /* No predictable cost */ + return STR_PURCHASE_INFO_AIRCRAFT_CAPACITY; + } else if (money <= 0) { SetDParam(4, -money); return STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT; } else { @@ -709,7 +712,11 @@ struct RefitWindow : public Window { return STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT; } } else { - if (money <= 0) { + if (this->order != INVALID_VEH_ORDER_ID) { + /* No predictable cost */ + SetDParam(2, STR_EMPTY); + return STR_PURCHASE_INFO_CAPACITY; + } else if (money <= 0) { SetDParam(2, -money); return STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT; } else {