Merge branch 'cpp-11' into crashlog_improvements
# Conflicts: # src/stdafx.h
This commit is contained in:
2
Doxyfile
2
Doxyfile
@@ -195,7 +195,7 @@ EXPAND_ONLY_PREDEF = YES
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED = ENABLE_NETWORK WITH_ZLIB WITH_LZO WITH_LZMA WITH_SDL WITH_PNG WITH_FONTCONFIG WITH_FREETYPE WITH_ICU UNICODE _UNICODE _GNU_SOURCE FINAL=
|
||||
PREDEFINED = ENABLE_NETWORK WITH_ZLIB WITH_LZO WITH_LZMA WITH_SDL WITH_PNG WITH_FONTCONFIG WITH_FREETYPE WITH_ICU_SORT WITH_ICU_LAYOUT UNICODE _UNICODE _GNU_SOURCE FINAL=
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
|
@@ -84,7 +84,7 @@ endif
|
||||
$(Q)cp "$(BIN_DIR)/scripts/"* "$(BUNDLE_DIR)/scripts/"
|
||||
ifdef MENU_DIR
|
||||
$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
|
||||
$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | $(SORT) | $(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.filter.awk" >> "$(BUNDLE_DIR)/media/openttd.desktop"
|
||||
$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | LC_ALL=C $(SORT) | $(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.filter.awk" >> "$(BUNDLE_DIR)/media/openttd.desktop"
|
||||
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
|
||||
endif
|
||||
ifeq ($(TTD), openttd.exe)
|
||||
|
@@ -214,7 +214,7 @@ endif
|
||||
{ \
|
||||
print $$0 \
|
||||
} \
|
||||
' < Makefile.dep.tmp | sed 's@ *@ @g;s@ $$@@' | $(SORT) > Makefile.dep
|
||||
' < Makefile.dep.tmp | sed 's@ *@ @g;s@ $$@@' | LC_ALL=C $(SORT) > Makefile.dep
|
||||
|
||||
$(Q)rm -f Makefile.dep.tmp Makefile.dep.tmp.bak
|
||||
|
||||
|
@@ -6,3 +6,5 @@
|
||||
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
AILog.Info("1.6 API compatibility in effect.");
|
||||
|
8
bin/ai/compat_1.7.nut
Normal file
8
bin/ai/compat_1.7.nut
Normal file
@@ -0,0 +1,8 @@
|
||||
/* $Id$ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
@@ -6,7 +6,7 @@ class Regression extends AIInfo {
|
||||
function GetShortName() { return "REGR"; }
|
||||
function GetDescription() { return "This runs regression-tests on some commands. On the same map the result should always be the same."; }
|
||||
function GetVersion() { return 1; }
|
||||
function GetAPIVersion() { return "1.6"; }
|
||||
function GetAPIVersion() { return "1.7"; }
|
||||
function GetDate() { return "2007-03-18"; }
|
||||
function CreateInstance() { return "Regression"; }
|
||||
}
|
||||
|
@@ -21,12 +21,14 @@ description.el_GR = Ένα πάκετο μουσικής χωρίς πραγμα
|
||||
description.en_AU = A music pack without actual music.
|
||||
description.en_US = A music pack without actual music.
|
||||
description.es_ES = Un conjunto de música vacío.
|
||||
description.es_MX = Paquete de música vacío
|
||||
description.et_EE = Muusikakogu ilma muusikata.
|
||||
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
|
||||
description.fr_FR = Un pack de musiques sans musiques.
|
||||
description.ga_IE = Pacáiste ceoil gan aon cheol iarbhír ann.
|
||||
description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith.
|
||||
description.gl_ES = Un conxunto de músicas sen ningunha música.
|
||||
description.he_IL = אוסף מנגינות ללא מנגינות.
|
||||
description.hr_HR = Glazbeni paket bez ikakve glazbe.
|
||||
description.hu_HU = Zenei alapcsomag zene nélkül.
|
||||
description.id_ID = Paket musik tanpa musik sungguhan.
|
||||
|
@@ -21,6 +21,7 @@ description.el_GR = Ένα πάκετο ήχων χώρις ήχους.
|
||||
description.en_AU = A sound pack without any sounds.
|
||||
description.en_US = A sound pack without any sounds.
|
||||
description.es_ES = Un conjunto de sonidos vacío.
|
||||
description.es_MX = Paquete de sonidos vacío
|
||||
description.et_EE = Helikogu ilma helideta.
|
||||
description.eu_ES = Soinurik gabeko soinu pakete bat
|
||||
description.fi_FI = Äänipaketti, jossa ei ole ääniä.
|
||||
@@ -28,6 +29,7 @@ description.fr_FR = Un pack de sons sans sons.
|
||||
description.ga_IE = Pacáiste fuaimeanna gan aon fhuaimeanna ann.
|
||||
description.gd_GB = Pacaid fhuaimean anns nach eil fuaim sam bith.
|
||||
description.gl_ES = Un conxunto de sons sen ningún son
|
||||
description.he_IL = אוסף צלילים ללא צלילים.
|
||||
description.hr_HR = Zvučni paket bez ikakvih zvukova.
|
||||
description.hu_HU = Hang alapcsomag hangok nélkül.
|
||||
description.id_ID = Paket efek suara tanpa suara apapun.
|
||||
@@ -38,6 +40,7 @@ description.ko_KR = 아무런 효과음도 없는 효과음 팩입니다.
|
||||
description.la_VA = Sarcina sonorum sine ullis sonis.
|
||||
description.lb_LU = E Soundpack ouni iergendee Sound.
|
||||
description.lt_LT = Garsų pakas be jokių garsų.
|
||||
description.lv_LV = Skaņu kopa bez skaņas.
|
||||
description.nb_NO = En lydpakke uten noen lyder.
|
||||
description.nl_NL = Een geluidset zonder geluid.
|
||||
description.nn_NO = Ei lydpakke utan nokon lydar.
|
||||
|
@@ -22,12 +22,14 @@ description.el_GR = Αρχικά γραφικά από το Transport Tycoon Del
|
||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition graphics.
|
||||
description.en_US = Original Transport Tycoon Deluxe DOS edition graphics.
|
||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS.
|
||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS.
|
||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version grafiikat.
|
||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS).
|
||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS.
|
||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para DOS.
|
||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS.
|
||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának grafikája.
|
||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS.
|
||||
@@ -38,6 +40,8 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에
|
||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS.
|
||||
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Grafik.
|
||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS leidimo grafika.
|
||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe DOS izdevuma grafika.
|
||||
description.ms_MY = Grafik asal Transport Tycoon Deluxe DOS edition.
|
||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS.
|
||||
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe DOS-versie.
|
||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS.
|
||||
|
@@ -21,12 +21,14 @@ description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe
|
||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition sounds.
|
||||
description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
|
||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
|
||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para DOS.
|
||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version äänet.
|
||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
|
||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán DOS.
|
||||
description.gd_GB = Fuaimean aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para DOS.
|
||||
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת DOS.
|
||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának hangjai.
|
||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
|
||||
|
@@ -22,12 +22,14 @@ description.el_GR = Αρχικά γραφικά από το Transport Tycoon Del
|
||||
description.en_AU = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
||||
description.en_US = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS (Alemán).
|
||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS (en alemán).
|
||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika.
|
||||
description.fi_FI = Alkuperäiset Saksassa julkaistun Transport Tycoon Deluxen DOS-version grafiikat.
|
||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
|
||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS (Gearmánach).
|
||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS (Gearmailteach) tùsail aig Transport Tycoon Deluxe.
|
||||
description.gl_ES = Graficos da edición orixinal (alemá) de Transport Tycoon Deluxe para DOS.
|
||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS (גרמנית).
|
||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS (német) verziójának grafikája.
|
||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS (Jerman).
|
||||
@@ -38,6 +40,7 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에
|
||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS (Germanica).
|
||||
description.lb_LU = Original Transport Tycoon Deluxe DOS (Däitsch) Editioun Grafik.
|
||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS (Vokiečių) leidimo grafika.
|
||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe DOS (vācu) izdevuma grafika.
|
||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS (tysk).
|
||||
description.nl_NL = Originele graphics van de Duitse Transport Tycoon Deluxe DOS-versie.
|
||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS (tysk).
|
||||
|
@@ -22,12 +22,14 @@ description.el_GR = Αρχικά γραφικά από το Transport Tycoon Del
|
||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition graphics.
|
||||
description.en_US = Original Transport Tycoon Deluxe Windows edition graphics.
|
||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión Windows.
|
||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para Windows.
|
||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni graafika.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version grafiikat.
|
||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows).
|
||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán Windows.
|
||||
description.gd_GB = Grafaigeachd aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para Windows.
|
||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának grafikája.
|
||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
|
||||
@@ -38,6 +40,8 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에
|
||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe Windows.
|
||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Grafik.
|
||||
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo grafika.
|
||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma grafika.
|
||||
description.ms_MY = Grafik asal Transport Tycoon Deluxe edisi Windows.
|
||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for Windows.
|
||||
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe Windows-versie.
|
||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for Windows.
|
||||
|
@@ -21,12 +21,14 @@ description.el_GR = Αρχική μουσική από το Transport Tycoon Del
|
||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition music.
|
||||
description.en_US = Original Transport Tycoon Deluxe Windows edition music.
|
||||
description.es_ES = Música original de Transport Tycoon Deluxe versión Windows.
|
||||
description.es_MX = Música original de Transport Tycoon Deluxe para Windows.
|
||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni muusika.
|
||||
description.fi_FI = Alkuperäinen Transport Tycoon Deluxen Windows-version musiikki.
|
||||
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows).
|
||||
description.ga_IE = Ceol bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
||||
description.gd_GB = Ceòl aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
||||
description.gl_ES = Música da edición orixinal de Transport Tycoon Deluxe para Windows.
|
||||
description.he_IL = מנגינות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||
description.hr_HR = Originalna glazba za Transport Tycoon Deluxe Windows izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
|
||||
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
|
||||
|
@@ -21,12 +21,14 @@ description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe
|
||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition sounds.
|
||||
description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
|
||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
|
||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para Windows.
|
||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
|
||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version äänet.
|
||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
|
||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
||||
description.gd_GB = Fuaimean aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para Windows.
|
||||
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje.
|
||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának hangjai.
|
||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
|
||||
|
@@ -6,3 +6,5 @@
|
||||
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
GSLog.Info("1.6 API compatibility in effect.");
|
||||
|
8
bin/game/compat_1.7.nut
Normal file
8
bin/game/compat_1.7.nut
Normal file
@@ -0,0 +1,8 @@
|
||||
/* $Id$ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
71
config.lib
71
config.lib
@@ -1289,7 +1289,12 @@ make_compiler_cflags() {
|
||||
# remark #2259: non-pointer conversion from ... to ... may lose significant bits
|
||||
flags="$flags -wd2259"
|
||||
# Use c++0x mode so static_assert() is available
|
||||
cxxflags="$cxxflags -std=c++0x"
|
||||
cxxflags="$cxxflags -std=c++11"
|
||||
fi
|
||||
|
||||
if [ $cc_version -lt 140 ]; then
|
||||
log 1 "configure: error: ICC version is too old: `$1 -dumpversion`, minumum: 14.0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$enable_lto" != "0" ]; then
|
||||
@@ -1309,7 +1314,7 @@ make_compiler_cflags() {
|
||||
|
||||
# -W alone doesn't enable all warnings enabled by -Wall; on the other hand,
|
||||
# -Weverything enables too many useless warnings that can't be disabled (as of 3.0)
|
||||
flags="$flags -Wall -W"
|
||||
flags="$flags -Wall -W -Wextra"
|
||||
|
||||
# warning: unused parameter '...'
|
||||
flags="$flags -Wno-unused-parameter"
|
||||
@@ -1350,13 +1355,23 @@ make_compiler_cflags() {
|
||||
flags="$flags -Wno-unused-variable"
|
||||
fi
|
||||
|
||||
if [ "$cc_version" -ge "33" ]; then
|
||||
# clang completed C++11 support in version 3.3
|
||||
flags="$flags -std=c++11"
|
||||
else
|
||||
log 1 "configure: error: clang version is too old: `$1 -v 2>&1 | head -n 1`, minumum: 3.3"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# rdynamic is used to get useful stack traces from crash reports.
|
||||
ldflags="$ldflags -rdynamic"
|
||||
else
|
||||
# Enable some things only for certain GCC versions
|
||||
cc_version=`$1 -dumpversion | cut -c 1,3`
|
||||
# cc_version = major_version * 100 + minor_version
|
||||
# For example: "3.3" -> 303, "4.9.2" -> 409, "6" -> 600, "23.5" -> 2305
|
||||
cc_version=`$1 -dumpversion | $awk -F . '{printf "%d%02d", $1, $2}'`
|
||||
|
||||
if [ $cc_version -lt 33 ]; then
|
||||
if [ $cc_version -lt 303 ]; then
|
||||
log 1 "configure: error: gcc older than 3.3 can't compile OpenTTD because of its poor template support"
|
||||
exit 1
|
||||
fi
|
||||
@@ -1369,20 +1384,20 @@ make_compiler_cflags() {
|
||||
if [ $enable_assert -eq 0 ]; then
|
||||
# Do not warn about unused variables when building without asserts
|
||||
flags="$flags -Wno-unused-variable"
|
||||
if [ $cc_version -ge 46 ]; then
|
||||
if [ $cc_version -ge 406 ]; then
|
||||
# GCC 4.6 gives more warnings, disable them too
|
||||
flags="$flags -Wno-unused-but-set-variable"
|
||||
flags="$flags -Wno-unused-but-set-parameter"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 34 ]; then
|
||||
if [ $cc_version -ge 304 ]; then
|
||||
# Warn when a variable is used to initialise itself:
|
||||
# int a = a;
|
||||
flags="$flags -Winit-self"
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 40 ]; then
|
||||
if [ $cc_version -ge 400 ]; then
|
||||
# GCC 4.0+ complains about that we break strict-aliasing.
|
||||
# On most places we don't see how to fix it, and it doesn't
|
||||
# break anything. So disable strict-aliasing to make the
|
||||
@@ -1393,7 +1408,7 @@ make_compiler_cflags() {
|
||||
flags="$flags -Wcast-qual"
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 42 ]; then
|
||||
if [ $cc_version -ge 402 ]; then
|
||||
# GCC 4.2+ automatically assumes that signed overflows do
|
||||
# not occur in signed arithmetics, whereas we are not
|
||||
# sure that they will not happen. It furthermore complains
|
||||
@@ -1404,25 +1419,34 @@ make_compiler_cflags() {
|
||||
flags="$flags -Wnon-virtual-dtor"
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 43 ]; then
|
||||
if [ $cc_version -ge 403 ] && [ $cc_version -lt 600 ]; then
|
||||
# Use gnu++0x mode so static_assert() is available.
|
||||
# Don't use c++0x, it breaks mingw (with gcc 4.4.0).
|
||||
cxxflags="$cxxflags -std=gnu++0x"
|
||||
cxxflags="$cxxflags -std=gnu++11"
|
||||
fi
|
||||
|
||||
if [ $cc_version -eq 45 ]; then
|
||||
if [ $cc_version -eq 405 ]; then
|
||||
# Prevent optimisation supposing enums are in a range specified by the standard
|
||||
# For details, see http://gcc.gnu.org/PR43680
|
||||
flags="$flags -fno-tree-vrp"
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 47 ]; then
|
||||
if [ $cc_version -ge 407 ]; then
|
||||
# Disable -Wnarrowing which gives many warnings, such as:
|
||||
# warning: narrowing conversion of '...' from 'unsigned int' to 'int' inside { } [-Wnarrowing]
|
||||
# They are valid according to the C++ standard, but useless.
|
||||
cxxflags="$cxxflags -Wno-narrowing"
|
||||
# Disable bogus 'attempt to free a non-heap object' warning
|
||||
flags="$flags -Wno-free-nonheap-object"
|
||||
else
|
||||
log 1 "configure: error: GCC version is too old: `$1 -dumpversion`, minumum: 4.7"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 600 ]; then
|
||||
# -flifetime-dse=2 (default since GCC 6) doesn't play
|
||||
# well with our custom pool item allocator
|
||||
cxxflags="$cxxflags -flifetime-dse=1 -std=gnu++14"
|
||||
fi
|
||||
|
||||
if [ "$enable_lto" != "0" ]; then
|
||||
@@ -1430,7 +1454,7 @@ make_compiler_cflags() {
|
||||
has_lto=`$1 -dumpspecs | grep '\%{flto'`
|
||||
if [ -n "$has_lto" ]; then
|
||||
# Use LTO only if we see LTO exists and is requested
|
||||
if [ $cc_version -lt 46 ]; then
|
||||
if [ $cc_version -lt 406 ]; then
|
||||
flags="$flags -flto"
|
||||
else
|
||||
flags="$flags -flto=jobserver"
|
||||
@@ -1542,7 +1566,7 @@ make_cflags_and_ldflags() {
|
||||
fi
|
||||
|
||||
if [ $enable_debug -le 2 ]; then
|
||||
cc_host_is_gcc=`basename "$cc_host" | grep "gcc" &>/dev/null`
|
||||
cc_host_is_gcc=`basename "$cc_host" | grep "gcc" 2>/dev/null`
|
||||
if [ -n "$cc_host_is_gcc" ]; then
|
||||
# Define only when compiling with GCC. Some GLIBC versions use GNU
|
||||
# extensions in a way that breaks build with at least ICC.
|
||||
@@ -1550,14 +1574,17 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
|
||||
fi
|
||||
|
||||
cc_build_is_gcc=`basename "$cc_build" | grep "gcc" &>/dev/null`
|
||||
cc_build_is_gcc=`basename "$cc_build" | grep "gcc" 2>/dev/null`
|
||||
if [ -n "$cc_build_is_gcc" ]; then
|
||||
# Just add -O1 to the tools needed for building.
|
||||
# Add -O1 and fortify source to the tools needed for building, on gcc
|
||||
CFLAGS_BUILD="$CFLAGS_BUILD -D_FORTIFY_SOURCE=2 -O1"
|
||||
elif [ -n "`basename "$cc_build" | grep "clang" 2>/dev/null`" ]; then
|
||||
# Add -O1 to the tools needed for building, on clang
|
||||
CFLAGS_BUILD="$CFLAGS_BUILD -O1"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$os" = "OSX" ] && [ $cc_version -eq 40 ]; then
|
||||
if [ "$os" = "OSX" ] && [ $cc_version -eq 400 ]; then
|
||||
# Apple's GCC 4.0 has a compiler bug for x86_64 with (higher) optimization,
|
||||
# wrongly optimizing ^= in loops. This disables the failing optimisation.
|
||||
CFLAGS="$CFLAGS -fno-expensive-optimizations"
|
||||
@@ -1581,7 +1608,7 @@ make_cflags_and_ldflags() {
|
||||
LDFLAGS="$LDFLAGS -mwin32"
|
||||
fi
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]; then
|
||||
if [ $cc_version -lt 46 ]; then
|
||||
if [ $cc_version -lt 406 ]; then
|
||||
flags="$flags -mno-cygwin"
|
||||
LDFLAGS="$LDFLAGS -mno-cygwin"
|
||||
fi
|
||||
@@ -1594,10 +1621,10 @@ make_cflags_and_ldflags() {
|
||||
|
||||
LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32 -limm32"
|
||||
|
||||
if [ $cc_version -ge 44 ]; then
|
||||
if [ $cc_version -ge 404 ]; then
|
||||
LDFLAGS_BUILD="$LDFLAGS_BUILD -static-libgcc -static-libstdc++"
|
||||
fi
|
||||
if [ $cc_version -ge 47 ]; then
|
||||
if [ $cc_version -ge 407 ]; then
|
||||
CFLAGS="$CFLAGS -mno-ms-bitfields"
|
||||
fi
|
||||
fi
|
||||
@@ -1851,7 +1878,7 @@ EOL
|
||||
LDFLAGS="$OSX_LD_SYSROOT $LDFLAGS"
|
||||
fi
|
||||
|
||||
if [ "$enable_universal" = "0" ] && [ $cc_version -gt 40 ]; then
|
||||
if [ "$enable_universal" = "0" ] && [ $cc_version -gt 400 ]; then
|
||||
# Only set the min version when not doing an universal build.
|
||||
# Universal builds set the version elsewhere.
|
||||
if [ "$cpu_type" = "64" ]; then
|
||||
@@ -2029,7 +2056,7 @@ EOL
|
||||
# GCC 4.0+ doesn't like the DirectX includes (gives tons of
|
||||
# warnings on it we won't be able to fix). For now just
|
||||
# suppress those warnings.
|
||||
if [ $cc_version -ge 40 ]; then
|
||||
if [ $cc_version -ge 400 ]; then
|
||||
CFLAGS="$CFLAGS -Wno-non-virtual-dtor"
|
||||
fi
|
||||
fi
|
||||
|
2
configure
vendored
2
configure
vendored
@@ -149,7 +149,7 @@ AWKCOMMAND='
|
||||
|
||||
# Read the source.list and process it
|
||||
# Please escape ALL " within ` because e.g. "" terminates the string in some sh implementations
|
||||
SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk \"$AWKCOMMAND\" | $PIPE_SORT`"
|
||||
SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk \"$AWKCOMMAND\" | LC_ALL=C $PIPE_SORT`"
|
||||
|
||||
OBJS_C="` echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.c$/ { gsub(\".c$\", \".o\", $0); print $0; }'`"
|
||||
OBJS_CPP="`echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.cpp$/ { gsub(\".cpp$\", \".o\", $0); print $0; }'`"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
|
||||
set OPENTTD_VERSION=1.6.0
|
||||
set OPENTTD_VERSION=1.7.0
|
||||
set OPENSFX_VERSION=0.8.0
|
||||
set NOSOUND_VERSION=0.8.0
|
||||
set OPENGFX_VERSION=1.2.0
|
||||
|
@@ -17,9 +17,9 @@
|
||||
#
|
||||
|
||||
Name: openttd
|
||||
Version: 1.6.beta1
|
||||
Version: 1.7.beta1
|
||||
Release: 0
|
||||
%define srcver 1.6.0-beta1
|
||||
%define srcver 1.7.0-beta1
|
||||
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
||||
License: GPL-2.0
|
||||
Group: Amusements/Games/Strategy/Other
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Version numbers to update
|
||||
!define APPV_MAJOR 1
|
||||
!define APPV_MINOR 6
|
||||
!define APPV_MINOR 7
|
||||
!define APPV_MAINT 0
|
||||
!define APPV_BUILD 0
|
||||
!define APPV_EXTRA "-beta1"
|
||||
|
@@ -317,6 +317,12 @@
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\slovenian.lng;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish_MX language file</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\spanish_MX.lng;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish language file</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||
|
@@ -142,6 +142,9 @@
|
||||
<CustomBuild Include="..\src\lang\slovenian.txt">
|
||||
<Filter>Translations</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||
<Filter>Translations</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||
<Filter>Translations</Filter>
|
||||
</CustomBuild>
|
||||
|
@@ -317,6 +317,12 @@
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\slovenian.lng;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish_MX language file</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\spanish_MX.lng;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish language file</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||
|
@@ -142,6 +142,9 @@
|
||||
<CustomBuild Include="..\src\lang\slovenian.txt">
|
||||
<Filter>Translations</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||
<Filter>Translations</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||
<Filter>Translations</Filter>
|
||||
</CustomBuild>
|
||||
|
@@ -738,6 +738,21 @@
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\spanish_MX.txt"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating spanish_MX language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\spanish_MX.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\spanish.txt"
|
||||
>
|
||||
|
@@ -739,6 +739,21 @@
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\spanish_MX.txt"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Generating spanish_MX language file"
|
||||
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||
Outputs="..\bin\lang\spanish_MX.lng"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\lang\spanish.txt"
|
||||
>
|
||||
|
@@ -102,7 +102,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -156,7 +156,7 @@
|
||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@@ -204,7 +204,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -256,7 +256,7 @@
|
||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@@ -571,6 +571,7 @@
|
||||
<ClInclude Include="..\src\roadstop_base.h" />
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\scope.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\sdl.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
|
@@ -942,6 +942,9 @@
|
||||
<ClInclude Include="..\src\safeguards.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\scope.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
@@ -102,7 +102,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -156,7 +156,7 @@
|
||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@@ -204,7 +204,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -256,7 +256,7 @@
|
||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
|
@@ -105,7 +105,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -163,7 +163,7 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@@ -214,7 +214,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -270,7 +270,7 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@@ -588,6 +588,7 @@
|
||||
<ClInclude Include="..\src\roadstop_base.h" />
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\scope.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\sdl.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
|
@@ -942,6 +942,9 @@
|
||||
<ClInclude Include="..\src\safeguards.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\scope.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
@@ -105,7 +105,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -163,7 +163,7 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@@ -214,7 +214,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -270,7 +270,7 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>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)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
|
@@ -52,7 +52,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -156,7 +156,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -257,7 +257,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -362,7 +362,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -1558,6 +1558,10 @@
|
||||
RelativePath=".\..\src\safeguards.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\scope.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\screenshot.h"
|
||||
>
|
||||
|
@@ -52,7 +52,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -156,7 +156,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -257,7 +257,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -362,7 +362,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@@ -53,7 +53,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -155,7 +155,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -255,7 +255,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -359,7 +359,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -1555,6 +1555,10 @@
|
||||
RelativePath=".\..\src\safeguards.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\scope.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\screenshot.h"
|
||||
>
|
||||
|
@@ -53,7 +53,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -155,7 +155,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -255,7 +255,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -359,7 +359,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="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="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@@ -311,6 +311,7 @@ road_type.h
|
||||
roadstop_base.h
|
||||
roadveh.h
|
||||
safeguards.h
|
||||
scope.h
|
||||
screenshot.h
|
||||
sdl.h
|
||||
sound/sdl_s.h
|
||||
|
4
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
4
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
@@ -119,10 +119,10 @@ static SQInteger _sqstd_aux_printerror(HSQUIRRELVM v)
|
||||
const SQChar *sErr = 0;
|
||||
if(sq_gettop(v)>=1) {
|
||||
if(SQ_SUCCEEDED(sq_getstring(v,2,&sErr))) {
|
||||
pf(v,"\nAN ERROR HAS OCCURED [%s]\n",sErr);
|
||||
pf(v,"\nAN ERROR HAS OCCURRED [%s]\n",sErr);
|
||||
}
|
||||
else{
|
||||
pf(v,"\nAN ERROR HAS OCCURED [unknown]\n");
|
||||
pf(v,"\nAN ERROR HAS OCCURRED [unknown]\n");
|
||||
}
|
||||
sqstd_printcallstack(v);
|
||||
}
|
||||
|
3
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
3
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
@@ -798,7 +798,8 @@ SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx)
|
||||
switch(type) {
|
||||
case OT_TABLE:
|
||||
if(type(mt) == OT_TABLE) {
|
||||
if(!_table(self)->SetDelegate(_table(mt))) return sq_throwerror(v, "delagate cycle"); v->Pop();}
|
||||
if(!_table(self)->SetDelegate(_table(mt))) return sq_throwerror(v, "delagate cycle");
|
||||
v->Pop();}
|
||||
else if(type(mt)==OT_NULL) {
|
||||
_table(self)->SetDelegate(NULL); v->Pop(); }
|
||||
else return sq_aux_invalidtype(v,type);
|
||||
|
2
src/3rdparty/squirrel/squirrel/sqdebug.cpp
vendored
2
src/3rdparty/squirrel/squirrel/sqdebug.cpp
vendored
@@ -105,7 +105,7 @@ void SQVM::Raise_IdxError(const SQObject &o)
|
||||
void SQVM::Raise_CompareError(const SQObject &o1, const SQObject &o2)
|
||||
{
|
||||
SQObjectPtr oval1 = PrintObjVal(o1), oval2 = PrintObjVal(o2);
|
||||
Raise_Error("comparsion between '%.50s' and '%.50s'", _stringval(oval1), _stringval(oval2));
|
||||
Raise_Error("comparison between '%.50s' and '%.50s'", _stringval(oval1), _stringval(oval2));
|
||||
}
|
||||
|
||||
|
||||
|
@@ -28,6 +28,7 @@
|
||||
#include "../widgets/dropdown_type.h"
|
||||
#include "../widgets/dropdown_func.h"
|
||||
#include "../hotkeys.h"
|
||||
#include "../core/geometry_func.hpp"
|
||||
|
||||
#include "ai.hpp"
|
||||
#include "ai_gui.hpp"
|
||||
@@ -766,6 +767,22 @@ struct AIConfigWindow : public Window {
|
||||
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
|
||||
size->height = 8 * this->line_height;
|
||||
break;
|
||||
|
||||
case WID_AIC_CHANGE: {
|
||||
SetDParam(0, STR_AI_CONFIG_CHANGE_GAMESCRIPT);
|
||||
Dimension dim = GetStringBoundingBox(STR_AI_CONFIG_CHANGE);
|
||||
|
||||
SetDParam(0, STR_AI_CONFIG_CHANGE_NONE);
|
||||
dim = maxdim(dim, GetStringBoundingBox(STR_AI_CONFIG_CHANGE));
|
||||
|
||||
SetDParam(0, STR_AI_CONFIG_CHANGE_AI);
|
||||
dim = maxdim(dim, GetStringBoundingBox(STR_AI_CONFIG_CHANGE));
|
||||
|
||||
dim.width += padding.width;
|
||||
dim.height += padding.height;
|
||||
*size = maxdim(*size, dim);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -28,7 +28,7 @@ static bool CheckAPIVersion(const char *api_version)
|
||||
{
|
||||
return strcmp(api_version, "0.7") == 0 || strcmp(api_version, "1.0") == 0 || strcmp(api_version, "1.1") == 0 ||
|
||||
strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
|
||||
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0;
|
||||
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0;
|
||||
}
|
||||
|
||||
#if defined(WIN32)
|
||||
|
@@ -433,6 +433,7 @@ void AddArticulatedParts(Vehicle *first)
|
||||
v->x_pos = first->x_pos;
|
||||
v->y_pos = first->y_pos;
|
||||
v->z_pos = first->z_pos;
|
||||
v->date_of_last_service = first->date_of_last_service;
|
||||
v->build_year = first->build_year;
|
||||
v->vehstatus = first->vehstatus & ~VS_STOPPED;
|
||||
|
||||
|
@@ -20,6 +20,11 @@
|
||||
/** Instantiation of the 32bpp with animation blitter factory. */
|
||||
static FBlitter_32bppAnim iFBlitter_32bppAnim;
|
||||
|
||||
Blitter_32bppAnim::~Blitter_32bppAnim()
|
||||
{
|
||||
free(this->anim_buf);
|
||||
}
|
||||
|
||||
template <BlitterMode mode>
|
||||
inline void Blitter_32bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
|
||||
{
|
||||
|
@@ -29,6 +29,8 @@ public:
|
||||
anim_buf_height(0)
|
||||
{}
|
||||
|
||||
~Blitter_32bppAnim();
|
||||
|
||||
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
|
||||
/* virtual */ void DrawColourMappingRect(void *dst, int width, int height, PaletteID pal);
|
||||
/* virtual */ void SetPixel(void *video, int x, int y, uint8 colour);
|
||||
|
@@ -81,7 +81,7 @@ CommandCallback CcBuildBridge;
|
||||
|
||||
/* dock_gui.cpp */
|
||||
CommandCallback CcBuildDocks;
|
||||
CommandCallback CcBuildCanal;
|
||||
CommandCallback CcPlaySound_SPLAT_WATER;
|
||||
|
||||
/* depot_gui.cpp */
|
||||
CommandCallback CcCloneVehicle;
|
||||
@@ -97,19 +97,19 @@ CommandCallback CcAddVehicleNewGroup;
|
||||
CommandCallback CcBuildIndustry;
|
||||
|
||||
/* main_gui.cpp */
|
||||
CommandCallback CcPlaySound10;
|
||||
CommandCallback CcPlaySound_EXPLOSION;
|
||||
CommandCallback CcPlaceSign;
|
||||
CommandCallback CcTerraform;
|
||||
CommandCallback CcGiveMoney;
|
||||
|
||||
/* rail_gui.cpp */
|
||||
CommandCallback CcPlaySound1E;
|
||||
CommandCallback CcPlaySound_SPLAT_RAIL;
|
||||
CommandCallback CcRailDepot;
|
||||
CommandCallback CcStation;
|
||||
CommandCallback CcBuildRailTunnel;
|
||||
|
||||
/* road_gui.cpp */
|
||||
CommandCallback CcPlaySound1D;
|
||||
CommandCallback CcPlaySound_SPLAT_OTHER;
|
||||
CommandCallback CcBuildRoadTunnel;
|
||||
CommandCallback CcRoadDepot;
|
||||
CommandCallback CcRoadStop;
|
||||
|
@@ -45,6 +45,38 @@
|
||||
/* scriptfile handling */
|
||||
static bool _script_running; ///< Script is running (used to abort execution when #ConReturn is encountered).
|
||||
|
||||
/** File list storage for the console, for caching the last 'ls' command. */
|
||||
class ConsoleFileList : public FileList {
|
||||
public:
|
||||
ConsoleFileList() : FileList()
|
||||
{
|
||||
this->file_list_valid = false;
|
||||
}
|
||||
|
||||
/** Declare the file storage cache as being invalid, also clears all stored files. */
|
||||
void InvalidateFileList()
|
||||
{
|
||||
this->Clear();
|
||||
this->file_list_valid = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Re-)validate the file storage cache. Only makes a change if the storage was invalid, or if \a force_reload.
|
||||
* @param Always reload the file storage cache.
|
||||
*/
|
||||
void ValidateFileList(bool force_reload = false)
|
||||
{
|
||||
if (force_reload || !this->file_list_valid) {
|
||||
this->BuildFileList(FT_SAVEGAME, SLO_LOAD);
|
||||
this->file_list_valid = true;
|
||||
}
|
||||
}
|
||||
|
||||
bool file_list_valid; ///< If set, the file list is valid.
|
||||
};
|
||||
|
||||
static ConsoleFileList _console_file_list; ///< File storage cache for the console.
|
||||
|
||||
/* console command defines */
|
||||
#define DEF_CONSOLE_CMD(function) static bool function(byte argc, char *argv[])
|
||||
#define DEF_CONSOLE_HOOK(function) static ConsoleHookResult function(bool echo)
|
||||
@@ -286,7 +318,7 @@ DEF_CONSOLE_CMD(ConSave)
|
||||
char *filename = str_fmt("%s.sav", argv[1]);
|
||||
IConsolePrint(CC_DEFAULT, "Saving map...");
|
||||
|
||||
if (SaveOrLoad(filename, SL_SAVE, SAVE_DIR) != SL_OK) {
|
||||
if (SaveOrLoad(filename, SLO_SAVE, DFT_GAME_FILE, SAVE_DIR) != SL_OK) {
|
||||
IConsolePrint(CC_ERROR, "Saving map failed");
|
||||
} else {
|
||||
IConsolePrintF(CC_DEFAULT, "Map successfully saved to %s", filename);
|
||||
@@ -315,42 +347,6 @@ DEF_CONSOLE_CMD(ConSaveConfig)
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get savegame file informations.
|
||||
* @param file The savegame filename to return information about. Can be the actual name
|
||||
* or a numbered entry into the filename list.
|
||||
* @return FiosItem The information on the file.
|
||||
*/
|
||||
static const FiosItem *GetFiosItem(const char *file)
|
||||
{
|
||||
_saveload_mode = SLD_LOAD_GAME;
|
||||
BuildFileList();
|
||||
|
||||
for (const FiosItem *item = _fios_items.Begin(); item != _fios_items.End(); item++) {
|
||||
if (strcmp(file, item->name) == 0) return item;
|
||||
if (strcmp(file, item->title) == 0) return item;
|
||||
}
|
||||
|
||||
/* If no name matches, try to parse it as number */
|
||||
char *endptr;
|
||||
int i = strtol(file, &endptr, 10);
|
||||
if (file == endptr || *endptr != '\0') i = -1;
|
||||
|
||||
if (IsInsideMM(i, 0, _fios_items.Length())) return _fios_items.Get(i);
|
||||
|
||||
/* As a last effort assume it is an OpenTTD savegame and
|
||||
* that the ".sav" part was not given. */
|
||||
char long_file[MAX_PATH];
|
||||
seprintf(long_file, lastof(long_file), "%s.sav", file);
|
||||
for (const FiosItem *item = _fios_items.Begin(); item != _fios_items.End(); item++) {
|
||||
if (strcmp(long_file, item->name) == 0) return item;
|
||||
if (strcmp(long_file, item->title) == 0) return item;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
DEF_CONSOLE_CMD(ConLoad)
|
||||
{
|
||||
if (argc == 0) {
|
||||
@@ -361,24 +357,21 @@ DEF_CONSOLE_CMD(ConLoad)
|
||||
if (argc != 2) return false;
|
||||
|
||||
const char *file = argv[1];
|
||||
const FiosItem *item = GetFiosItem(file);
|
||||
_console_file_list.ValidateFileList();
|
||||
const FiosItem *item = _console_file_list.FindItem(file);
|
||||
if (item != NULL) {
|
||||
switch (item->type) {
|
||||
case FIOS_TYPE_FILE: case FIOS_TYPE_OLDFILE: {
|
||||
if (GetAbstractFileType(item->type) == FT_SAVEGAME) {
|
||||
_switch_mode = SM_LOAD_GAME;
|
||||
SetFiosType(item->type);
|
||||
|
||||
strecpy(_file_to_saveload.name, FiosBrowseTo(item), lastof(_file_to_saveload.name));
|
||||
strecpy(_file_to_saveload.title, item->title, lastof(_file_to_saveload.title));
|
||||
break;
|
||||
}
|
||||
default: IConsolePrintF(CC_ERROR, "%s: Not a savegame.", file);
|
||||
_file_to_saveload.SetMode(item->type);
|
||||
_file_to_saveload.SetName(FiosBrowseTo(item));
|
||||
_file_to_saveload.SetTitle(item->title);
|
||||
} else {
|
||||
IConsolePrintF(CC_ERROR, "%s: Not a savegame.", file);
|
||||
}
|
||||
} else {
|
||||
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
||||
}
|
||||
|
||||
FiosFreeSavegameList();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -393,7 +386,8 @@ DEF_CONSOLE_CMD(ConRemove)
|
||||
if (argc != 2) return false;
|
||||
|
||||
const char *file = argv[1];
|
||||
const FiosItem *item = GetFiosItem(file);
|
||||
_console_file_list.ValidateFileList();
|
||||
const FiosItem *item = _console_file_list.FindItem(file);
|
||||
if (item != NULL) {
|
||||
if (!FiosDelete(item->name)) {
|
||||
IConsolePrintF(CC_ERROR, "%s: Failed to delete file", file);
|
||||
@@ -402,7 +396,7 @@ DEF_CONSOLE_CMD(ConRemove)
|
||||
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
||||
}
|
||||
|
||||
FiosFreeSavegameList();
|
||||
_console_file_list.InvalidateFileList();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -415,13 +409,11 @@ DEF_CONSOLE_CMD(ConListFiles)
|
||||
return true;
|
||||
}
|
||||
|
||||
BuildFileList();
|
||||
|
||||
for (uint i = 0; i < _fios_items.Length(); i++) {
|
||||
IConsolePrintF(CC_DEFAULT, "%d) %s", i, _fios_items[i].title);
|
||||
_console_file_list.ValidateFileList(true);
|
||||
for (uint i = 0; i < _console_file_list.Length(); i++) {
|
||||
IConsolePrintF(CC_DEFAULT, "%d) %s", i, _console_file_list[i].title);
|
||||
}
|
||||
|
||||
FiosFreeSavegameList();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -436,7 +428,8 @@ DEF_CONSOLE_CMD(ConChangeDirectory)
|
||||
if (argc != 2) return false;
|
||||
|
||||
const char *file = argv[1];
|
||||
const FiosItem *item = GetFiosItem(file);
|
||||
_console_file_list.ValidateFileList(true);
|
||||
const FiosItem *item = _console_file_list.FindItem(file);
|
||||
if (item != NULL) {
|
||||
switch (item->type) {
|
||||
case FIOS_TYPE_DIR: case FIOS_TYPE_DRIVE: case FIOS_TYPE_PARENT:
|
||||
@@ -448,7 +441,7 @@ DEF_CONSOLE_CMD(ConChangeDirectory)
|
||||
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
||||
}
|
||||
|
||||
FiosFreeSavegameList();
|
||||
_console_file_list.InvalidateFileList();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -462,8 +455,8 @@ DEF_CONSOLE_CMD(ConPrintWorkingDirectory)
|
||||
}
|
||||
|
||||
/* XXX - Workaround for broken file handling */
|
||||
FiosGetSavegameList(SLD_LOAD_GAME);
|
||||
FiosFreeSavegameList();
|
||||
_console_file_list.ValidateFileList(true);
|
||||
_console_file_list.InvalidateFileList();
|
||||
|
||||
FiosGetDescText(&path, NULL);
|
||||
IConsolePrint(CC_DEFAULT, path);
|
||||
|
@@ -256,6 +256,8 @@ public:
|
||||
|
||||
/**
|
||||
* Get the number of items in the list.
|
||||
*
|
||||
* @return The number of items in the list.
|
||||
*/
|
||||
inline uint Length() const
|
||||
{
|
||||
|
@@ -39,6 +39,38 @@
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#ifdef WITH_ALLEGRO
|
||||
# include <allegro.h>
|
||||
#endif /* WITH_ALLEGRO */
|
||||
#ifdef WITH_FONTCONFIG
|
||||
# include <fontconfig/fontconfig.h>
|
||||
#endif /* WITH_FONTCONFIG */
|
||||
#ifdef WITH_PNG
|
||||
/* pngconf.h, included by png.h doesn't like something in the
|
||||
* freetype headers. As such it's not alphabetically sorted. */
|
||||
# include <png.h>
|
||||
#endif /* WITH_PNG */
|
||||
#ifdef WITH_FREETYPE
|
||||
# include <ft2build.h>
|
||||
# include FT_FREETYPE_H
|
||||
#endif /* WITH_FREETYPE */
|
||||
#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT)
|
||||
# include <unicode/uversion.h>
|
||||
#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */
|
||||
#ifdef WITH_LZMA
|
||||
# include <lzma.h>
|
||||
#endif
|
||||
#ifdef WITH_LZO
|
||||
#include <lzo/lzo1x.h>
|
||||
#endif
|
||||
#ifdef WITH_SDL
|
||||
# include "sdl.h"
|
||||
# include <SDL.h>
|
||||
#endif /* WITH_SDL */
|
||||
#ifdef WITH_ZLIB
|
||||
# include <zlib.h>
|
||||
#endif
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
/* static */ const char *CrashLog::message = NULL;
|
||||
@@ -198,39 +230,6 @@ char *CrashLog::LogConfiguration(char *buffer, const char *last) const
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/* Include these here so it's close to where it's actually used. */
|
||||
#ifdef WITH_ALLEGRO
|
||||
# include <allegro.h>
|
||||
#endif /* WITH_ALLEGRO */
|
||||
#ifdef WITH_FONTCONFIG
|
||||
# include <fontconfig/fontconfig.h>
|
||||
#endif /* WITH_FONTCONFIG */
|
||||
#ifdef WITH_PNG
|
||||
/* pngconf.h, included by png.h doesn't like something in the
|
||||
* freetype headers. As such it's not alphabetically sorted. */
|
||||
# include <png.h>
|
||||
#endif /* WITH_PNG */
|
||||
#ifdef WITH_FREETYPE
|
||||
# include <ft2build.h>
|
||||
# include FT_FREETYPE_H
|
||||
#endif /* WITH_FREETYPE */
|
||||
#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT)
|
||||
# include <unicode/uversion.h>
|
||||
#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */
|
||||
#ifdef WITH_LZMA
|
||||
# include <lzma.h>
|
||||
#endif
|
||||
#ifdef WITH_LZO
|
||||
#include <lzo/lzo1x.h>
|
||||
#endif
|
||||
#ifdef WITH_SDL
|
||||
# include "sdl.h"
|
||||
# include <SDL.h>
|
||||
#endif /* WITH_SDL */
|
||||
#ifdef WITH_ZLIB
|
||||
# include <zlib.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Writes information (versions) of the used libraries.
|
||||
* @param buffer The begin where to write at.
|
||||
@@ -415,7 +414,7 @@ bool CrashLog::WriteSavegame(char *filename, const char *filename_last) const
|
||||
seprintf(filename, filename_last, "%scrash.sav", _personal_dir);
|
||||
|
||||
/* Don't do a threaded saveload. */
|
||||
return SaveOrLoad(filename, SL_SAVE, NO_DIRECTORY, false) == SL_OK;
|
||||
return SaveOrLoad(filename, SLO_SAVE, DFT_GAME_FILE, NO_DIRECTORY, false) == SL_OK;
|
||||
} catch (...) {
|
||||
return false;
|
||||
}
|
||||
|
@@ -505,15 +505,12 @@ struct DepotWindow : Window {
|
||||
this->sel = INVALID_VEHICLE;
|
||||
TrainDepotMoveVehicle(v, sel, gdvp.head);
|
||||
} else if (v != NULL) {
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
int image = v->GetImage(rtl ? DIR_E : DIR_W, EIT_IN_DEPOT);
|
||||
SetObjectToPlaceWnd(image, GetVehiclePalette(v), HT_DRAG, this);
|
||||
SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
|
||||
SetMouseCursorVehicle(v, EIT_IN_DEPOT);
|
||||
_cursor.vehchain = _ctrl_pressed;
|
||||
|
||||
this->sel = v->index;
|
||||
this->SetDirty();
|
||||
|
||||
_cursor.short_vehicle_offset = v->IsGroundVehicle() ? (16 - v->GetGroundVehicleCache()->cached_veh_length * 2) * (rtl ? -1 : 1) : 0;
|
||||
_cursor.vehchain = _ctrl_pressed;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -663,7 +660,8 @@ struct DepotWindow : Window {
|
||||
DepotSortList(&this->vehicle_list);
|
||||
|
||||
uint new_unitnumber_digits = GetUnitNumberDigits(this->vehicle_list);
|
||||
if (this->unitnumber_digits != new_unitnumber_digits) {
|
||||
/* Only increase the size; do not decrease to prevent constant changes */
|
||||
if (this->unitnumber_digits < new_unitnumber_digits) {
|
||||
this->unitnumber_digits = new_unitnumber_digits;
|
||||
this->ReInit();
|
||||
}
|
||||
|
@@ -48,7 +48,7 @@ void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p
|
||||
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
|
||||
}
|
||||
|
||||
void CcBuildCanal(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
||||
void CcPlaySound_SPLAT_WATER(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
||||
{
|
||||
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_02_SPLAT_WATER, tile);
|
||||
}
|
||||
@@ -235,10 +235,10 @@ struct BuildDocksToolbarWindow : Window {
|
||||
GUIPlaceProcDragXY(select_proc, start_tile, end_tile);
|
||||
break;
|
||||
case DDSP_CREATE_WATER:
|
||||
DoCommandP(end_tile, start_tile, (_game_mode == GM_EDITOR && _ctrl_pressed) ? WATER_CLASS_SEA : WATER_CLASS_CANAL, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_BUILD_CANALS), CcBuildCanal);
|
||||
DoCommandP(end_tile, start_tile, (_game_mode == GM_EDITOR && _ctrl_pressed) ? WATER_CLASS_SEA : WATER_CLASS_CANAL, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_BUILD_CANALS), CcPlaySound_SPLAT_WATER);
|
||||
break;
|
||||
case DDSP_CREATE_RIVER:
|
||||
DoCommandP(end_tile, start_tile, WATER_CLASS_RIVER, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_PLACE_RIVERS), CcBuildCanal);
|
||||
DoCommandP(end_tile, start_tile, WATER_CLASS_RIVER, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_PLACE_RIVERS), CcPlaySound_SPLAT_WATER);
|
||||
break;
|
||||
|
||||
default: break;
|
||||
@@ -433,7 +433,7 @@ public:
|
||||
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
|
||||
* (This is the case, if making the window bigger moves the mouse into the window.) */
|
||||
if (top > bottom) {
|
||||
ResizeWindow(this, 0, top - bottom);
|
||||
ResizeWindow(this, 0, top - bottom, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1317,7 +1317,8 @@ static uint GetLoadAmount(Vehicle *v)
|
||||
/* Scale load amount the same as capacity */
|
||||
if (HasBit(e->info.misc_flags, EF_NO_DEFAULT_CARGO_MULTIPLIER) && !air_mail) load_amount = CeilDiv(load_amount * CargoSpec::Get(v->cargo_type)->multiplier, 0x100);
|
||||
|
||||
return load_amount;
|
||||
/* Zero load amount breaks a lot of things. */
|
||||
return max(1u, load_amount);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1651,6 +1652,7 @@ static void LoadUnloadVehicle(Vehicle *front)
|
||||
uint amount_unloaded = _settings_game.order.gradual_loading ? min(cargo_count, load_amount) : cargo_count;
|
||||
bool remaining = false; // Are there cargo entities in this vehicle that can still be unloaded here?
|
||||
|
||||
assert(payment != NULL);
|
||||
payment->SetCargo(v->cargo_type);
|
||||
|
||||
if (!HasBit(ge->status, GoodsEntry::GES_ACCEPTANCE) && v->cargo.ActionCount(VehicleCargoList::MTA_DELIVER) > 0) {
|
||||
|
@@ -85,6 +85,7 @@ Engine::Engine(VehicleType type, EngineID base)
|
||||
this->type = type;
|
||||
this->grf_prop.local_id = base;
|
||||
this->list_position = base;
|
||||
this->preview_company = INVALID_COMPANY;
|
||||
|
||||
/* Check if this base engine is within the original engine data range */
|
||||
if (base >= _engine_counts[type]) {
|
||||
@@ -879,7 +880,7 @@ CommandCost CmdSetVehicleVisibility(TileIndex tile, DoCommandFlag flags, uint32
|
||||
{
|
||||
Engine *e = Engine::GetIfValid(GB(p2, 0, 31));
|
||||
if (e == NULL || _current_company >= MAX_COMPANIES) return CMD_ERROR;
|
||||
if ((e->flags & ENGINE_AVAILABLE) == 0 || !HasBit(e->company_avail, _current_company)) return CMD_ERROR;
|
||||
if (!IsEngineBuildable(e->index, e->type, _current_company)) return CMD_ERROR;
|
||||
|
||||
if ((flags & DC_EXEC) != 0) {
|
||||
SB(e->company_hidden, _current_company, 1, GB(p2, 31, 1));
|
||||
@@ -902,7 +903,7 @@ CommandCost CmdSetVehicleVisibility(TileIndex tile, DoCommandFlag flags, uint32
|
||||
CommandCost CmdWantEnginePreview(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
||||
{
|
||||
Engine *e = Engine::GetIfValid(p1);
|
||||
if (e == NULL || e->preview_company != _current_company) return CMD_ERROR;
|
||||
if (e == NULL || !(e->flags & ENGINE_EXCLUSIVE_PREVIEW) || e->preview_company != _current_company) return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_company);
|
||||
|
||||
|
@@ -14,6 +14,96 @@
|
||||
|
||||
#include "core/enum_type.hpp"
|
||||
|
||||
/** The different abstract types of files that the system knows about. */
|
||||
enum AbstractFileType {
|
||||
FT_NONE, ///< nothing to do
|
||||
FT_SAVEGAME, ///< old or new savegame
|
||||
FT_SCENARIO, ///< old or new scenario
|
||||
FT_HEIGHTMAP, ///< heightmap file
|
||||
|
||||
FT_INVALID = 7, ///< Invalid or unknown file type.
|
||||
FT_NUMBITS = 3, ///< Number of bits required for storing a #AbstractFileType value.
|
||||
FT_MASK = (1 << FT_NUMBITS) - 1, ///< Bitmask for extracting an abstract file type.
|
||||
};
|
||||
|
||||
/** Kinds of files in each #AbstractFileType. */
|
||||
enum DetailedFileType {
|
||||
/* Save game and scenario files. */
|
||||
DFT_OLD_GAME_FILE, ///< Old save game or scenario file.
|
||||
DFT_GAME_FILE, ///< Save game or scenario file.
|
||||
|
||||
/* Heightmap files. */
|
||||
DFT_HEIGHTMAP_BMP, ///< BMP file.
|
||||
DFT_HEIGHTMAP_PNG, ///< PNG file.
|
||||
|
||||
/* fios 'files' */
|
||||
DFT_FIOS_DRIVE, ///< A drive (letter) entry.
|
||||
DFT_FIOS_PARENT, ///< A parent directory entry.
|
||||
DFT_FIOS_DIR, ///< A directory entry.
|
||||
DFT_FIOS_DIRECT, ///< Direct filename.
|
||||
|
||||
DFT_INVALID = 255, ///< Unknown or invalid file.
|
||||
};
|
||||
|
||||
/** Operation performed on the file. */
|
||||
enum SaveLoadOperation {
|
||||
SLO_CHECK, ///< Load file for checking and/or preview.
|
||||
SLO_LOAD, ///< File is being loaded.
|
||||
SLO_SAVE, ///< File is being saved.
|
||||
|
||||
SLO_INVALID, ///< Unknown file operation.
|
||||
};
|
||||
|
||||
/**
|
||||
* Construct an enum value for #FiosType as a combination of an abstract and a detailed file type.
|
||||
* @param abstract Abstract file type (one of #AbstractFileType).
|
||||
* @param detailed Detailed file type (one of #DetailedFileType).
|
||||
*/
|
||||
#define MAKE_FIOS_TYPE(abstract, detailed) ((abstract) | ((detailed) << FT_NUMBITS))
|
||||
|
||||
/**
|
||||
* Elements of a file system that are recognized.
|
||||
* Values are a combination of #AbstractFileType and #DetailedFileType.
|
||||
* @see GetAbstractFileType GetDetailedFileType
|
||||
*/
|
||||
enum FiosType {
|
||||
FIOS_TYPE_DRIVE = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_DRIVE),
|
||||
FIOS_TYPE_PARENT = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_PARENT),
|
||||
FIOS_TYPE_DIR = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_DIR),
|
||||
FIOS_TYPE_DIRECT = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_DIRECT),
|
||||
|
||||
FIOS_TYPE_FILE = MAKE_FIOS_TYPE(FT_SAVEGAME, DFT_GAME_FILE),
|
||||
FIOS_TYPE_OLDFILE = MAKE_FIOS_TYPE(FT_SAVEGAME, DFT_OLD_GAME_FILE),
|
||||
FIOS_TYPE_SCENARIO = MAKE_FIOS_TYPE(FT_SCENARIO, DFT_GAME_FILE),
|
||||
FIOS_TYPE_OLD_SCENARIO = MAKE_FIOS_TYPE(FT_SCENARIO, DFT_OLD_GAME_FILE),
|
||||
FIOS_TYPE_PNG = MAKE_FIOS_TYPE(FT_HEIGHTMAP, DFT_HEIGHTMAP_PNG),
|
||||
FIOS_TYPE_BMP = MAKE_FIOS_TYPE(FT_HEIGHTMAP, DFT_HEIGHTMAP_BMP),
|
||||
|
||||
FIOS_TYPE_INVALID = MAKE_FIOS_TYPE(FT_INVALID, DFT_INVALID),
|
||||
};
|
||||
|
||||
#undef MAKE_FIOS_TYPE
|
||||
|
||||
/**
|
||||
* Extract the abstract file type from a #FiosType.
|
||||
* @param fios_type Type to query.
|
||||
* @return The Abstract file type of the \a fios_type.
|
||||
*/
|
||||
inline AbstractFileType GetAbstractFileType(FiosType fios_type)
|
||||
{
|
||||
return static_cast<AbstractFileType>(fios_type & FT_MASK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the detailed file type from a #FiosType.
|
||||
* @param fios_type Type to query.
|
||||
* @return The Detailed file type of the \a fios_type.
|
||||
*/
|
||||
inline DetailedFileType GetDetailedFileType(FiosType fios_type)
|
||||
{
|
||||
return static_cast<DetailedFileType>(fios_type >> FT_NUMBITS);
|
||||
}
|
||||
|
||||
/**
|
||||
* The different kinds of subdirectories OpenTTD uses
|
||||
*/
|
||||
|
152
src/fios.cpp
152
src/fios.cpp
@@ -29,17 +29,15 @@
|
||||
#include "safeguards.h"
|
||||
|
||||
/* Variables to display file lists */
|
||||
SmallVector<FiosItem, 32> _fios_items;
|
||||
static char *_fios_path;
|
||||
static const char *_fios_path_last;
|
||||
SmallFiosItem _file_to_saveload;
|
||||
SortingBits _savegame_sort_order = SORT_BY_DATE | SORT_DESCENDING;
|
||||
|
||||
/* OS-specific functions are taken from their respective files (win32/unix/os2 .c) */
|
||||
extern bool FiosIsRoot(const char *path);
|
||||
extern bool FiosIsValidFile(const char *path, const struct dirent *ent, struct stat *sb);
|
||||
extern bool FiosIsHiddenFile(const struct dirent *ent);
|
||||
extern void FiosGetDrives();
|
||||
extern void FiosGetDrives(FileList &file_list);
|
||||
extern bool FiosGetDiskFreeSpace(const char *path, uint64 *tot);
|
||||
|
||||
/* get the name of an oldstyle savegame */
|
||||
@@ -65,11 +63,72 @@ int CDECL CompareFiosItems(const FiosItem *da, const FiosItem *db)
|
||||
return r;
|
||||
}
|
||||
|
||||
/** Free the list of savegames. */
|
||||
void FiosFreeSavegameList()
|
||||
FileList::~FileList()
|
||||
{
|
||||
_fios_items.Clear();
|
||||
_fios_items.Compact();
|
||||
this->Clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a file list with the given kind of files, for the stated purpose.
|
||||
* @param abstract_filetype Kind of files to collect.
|
||||
* @param fop Purpose of the collection, either #SLO_LOAD or #SLO_SAVE.
|
||||
*/
|
||||
void FileList::BuildFileList(AbstractFileType abstract_filetype, SaveLoadOperation fop)
|
||||
{
|
||||
this->Clear();
|
||||
|
||||
assert(fop == SLO_LOAD || SLO_SAVE);
|
||||
switch (abstract_filetype) {
|
||||
case FT_NONE:
|
||||
break;
|
||||
|
||||
case FT_SAVEGAME:
|
||||
FiosGetSavegameList(fop, *this);
|
||||
break;
|
||||
|
||||
case FT_SCENARIO:
|
||||
FiosGetScenarioList(fop, *this);
|
||||
break;
|
||||
|
||||
case FT_HEIGHTMAP:
|
||||
FiosGetHeightmapList(fop, *this);
|
||||
break;
|
||||
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find file information of a file by its name from the file list.
|
||||
* @param file The filename to return information about. Can be the actual name
|
||||
* or a numbered entry into the filename list.
|
||||
* @return The information on the file, or \c NULL if the file is not available.
|
||||
*/
|
||||
const FiosItem *FileList::FindItem(const char *file)
|
||||
{
|
||||
for (const FiosItem *item = this->Begin(); item != this->End(); item++) {
|
||||
if (strcmp(file, item->name) == 0) return item;
|
||||
if (strcmp(file, item->title) == 0) return item;
|
||||
}
|
||||
|
||||
/* If no name matches, try to parse it as number */
|
||||
char *endptr;
|
||||
int i = strtol(file, &endptr, 10);
|
||||
if (file == endptr || *endptr != '\0') i = -1;
|
||||
|
||||
if (IsInsideMM(i, 0, this->Length())) return this->Get(i);
|
||||
|
||||
/* As a last effort assume it is an OpenTTD savegame and
|
||||
* that the ".sav" part was not given. */
|
||||
char long_file[MAX_PATH];
|
||||
seprintf(long_file, lastof(long_file), "%s.sav", file);
|
||||
for (const FiosItem *item = this->Begin(); item != this->End(); item++) {
|
||||
if (strcmp(long_file, item->name) == 0) return item;
|
||||
if (strcmp(long_file, item->title) == 0) return item;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,23 +274,24 @@ bool FiosDelete(const char *name)
|
||||
return unlink(filename) == 0;
|
||||
}
|
||||
|
||||
typedef FiosType fios_getlist_callback_proc(SaveLoadDialogMode mode, const char *filename, const char *ext, char *title, const char *last);
|
||||
typedef FiosType fios_getlist_callback_proc(SaveLoadOperation fop, const char *filename, const char *ext, char *title, const char *last);
|
||||
|
||||
/**
|
||||
* Scanner to scan for a particular type of FIOS file.
|
||||
*/
|
||||
class FiosFileScanner : public FileScanner {
|
||||
SaveLoadDialogMode mode; ///< The mode we want to search for
|
||||
SaveLoadOperation fop; ///< The kind of file we are looking for.
|
||||
fios_getlist_callback_proc *callback_proc; ///< Callback to check whether the file may be added
|
||||
FileList &file_list; ///< Destination of the found files.
|
||||
public:
|
||||
/**
|
||||
* Create the scanner
|
||||
* @param mode The mode we are in. Some modes don't allow 'parent'.
|
||||
* @param fop Purpose of collecting the list.
|
||||
* @param callback_proc The function that is called where you need to do the filtering.
|
||||
* @param file_list Destination of the found files.
|
||||
*/
|
||||
FiosFileScanner(SaveLoadDialogMode mode, fios_getlist_callback_proc *callback_proc) :
|
||||
mode(mode),
|
||||
callback_proc(callback_proc)
|
||||
FiosFileScanner(SaveLoadOperation fop, fios_getlist_callback_proc *callback_proc, FileList &file_list) :
|
||||
fop(fop), callback_proc(callback_proc), file_list(file_list)
|
||||
{}
|
||||
|
||||
/* virtual */ bool AddFile(const char *filename, size_t basepath_length, const char *tar_filename);
|
||||
@@ -251,14 +311,14 @@ bool FiosFileScanner::AddFile(const char *filename, size_t basepath_length, cons
|
||||
char fios_title[64];
|
||||
fios_title[0] = '\0'; // reset the title;
|
||||
|
||||
FiosType type = this->callback_proc(this->mode, filename, ext, fios_title, lastof(fios_title));
|
||||
FiosType type = this->callback_proc(this->fop, filename, ext, fios_title, lastof(fios_title));
|
||||
if (type == FIOS_TYPE_INVALID) return false;
|
||||
|
||||
for (const FiosItem *fios = _fios_items.Begin(); fios != _fios_items.End(); fios++) {
|
||||
for (const FiosItem *fios = file_list.Begin(); fios != file_list.End(); fios++) {
|
||||
if (strcmp(fios->name, filename) == 0) return false;
|
||||
}
|
||||
|
||||
FiosItem *fios = _fios_items.Append();
|
||||
FiosItem *fios = file_list.Append();
|
||||
#ifdef WIN32
|
||||
struct _stat sb;
|
||||
if (_tstat(OTTD2FS(filename), &sb) == 0) {
|
||||
@@ -289,11 +349,12 @@ bool FiosFileScanner::AddFile(const char *filename, size_t basepath_length, cons
|
||||
|
||||
/**
|
||||
* Fill the list of the files in a directory, according to some arbitrary rule.
|
||||
* @param mode The mode we are in. Some modes don't allow 'parent'.
|
||||
* @param fop Purpose of collecting the list.
|
||||
* @param callback_proc The function that is called where you need to do the filtering.
|
||||
* @param subdir The directory from where to start (global) searching.
|
||||
* @param file_list Destination of the found files.
|
||||
*/
|
||||
static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc *callback_proc, Subdirectory subdir)
|
||||
static void FiosGetFileList(SaveLoadOperation fop, fios_getlist_callback_proc *callback_proc, Subdirectory subdir, FileList &file_list)
|
||||
{
|
||||
struct stat sb;
|
||||
struct dirent *dirent;
|
||||
@@ -302,11 +363,11 @@ static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc
|
||||
int sort_start;
|
||||
char d_name[sizeof(fios->name)];
|
||||
|
||||
_fios_items.Clear();
|
||||
file_list.Clear();
|
||||
|
||||
/* A parent directory link exists if we are not in the root directory */
|
||||
if (!FiosIsRoot(_fios_path)) {
|
||||
fios = _fios_items.Append();
|
||||
fios = file_list.Append();
|
||||
fios->type = FIOS_TYPE_PARENT;
|
||||
fios->mtime = 0;
|
||||
strecpy(fios->name, "..", lastof(fios->name));
|
||||
@@ -322,7 +383,7 @@ static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc
|
||||
if (FiosIsValidFile(_fios_path, dirent, &sb) && S_ISDIR(sb.st_mode) &&
|
||||
(!FiosIsHiddenFile(dirent) || strncasecmp(d_name, PERSONAL_DIR, strlen(d_name)) == 0) &&
|
||||
strcmp(d_name, ".") != 0 && strcmp(d_name, "..") != 0) {
|
||||
fios = _fios_items.Append();
|
||||
fios = file_list.Append();
|
||||
fios->type = FIOS_TYPE_DIR;
|
||||
fios->mtime = 0;
|
||||
strecpy(fios->name, d_name, lastof(fios->name));
|
||||
@@ -337,27 +398,27 @@ static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc
|
||||
{
|
||||
SortingBits order = _savegame_sort_order;
|
||||
_savegame_sort_order = SORT_BY_NAME | SORT_ASCENDING;
|
||||
QSortT(_fios_items.Begin(), _fios_items.Length(), CompareFiosItems);
|
||||
QSortT(file_list.files.Begin(), file_list.files.Length(), CompareFiosItems);
|
||||
_savegame_sort_order = order;
|
||||
}
|
||||
|
||||
/* This is where to start sorting for the filenames */
|
||||
sort_start = _fios_items.Length();
|
||||
sort_start = file_list.Length();
|
||||
|
||||
/* Show files */
|
||||
FiosFileScanner scanner(mode, callback_proc);
|
||||
FiosFileScanner scanner(fop, callback_proc, file_list);
|
||||
if (subdir == NO_DIRECTORY) {
|
||||
scanner.Scan(NULL, _fios_path, false);
|
||||
} else {
|
||||
scanner.Scan(NULL, subdir, true, true);
|
||||
}
|
||||
|
||||
QSortT(_fios_items.Get(sort_start), _fios_items.Length() - sort_start, CompareFiosItems);
|
||||
QSortT(file_list.Get(sort_start), file_list.Length() - sort_start, CompareFiosItems);
|
||||
|
||||
/* Show drives */
|
||||
FiosGetDrives();
|
||||
FiosGetDrives(file_list);
|
||||
|
||||
_fios_items.Compact();
|
||||
file_list.Compact();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -386,7 +447,7 @@ static void GetFileTitle(const char *file, char *title, const char *last, Subdir
|
||||
|
||||
/**
|
||||
* Callback for FiosGetFileList. It tells if a file is a savegame or not.
|
||||
* @param mode Save/load mode.
|
||||
* @param fop Purpose of collecting the list.
|
||||
* @param file Name of the file to check.
|
||||
* @param ext A pointer to the extension identifier inside file
|
||||
* @param title Buffer if a callback wants to lookup the title of the file; NULL to skip the lookup
|
||||
@@ -395,7 +456,7 @@ static void GetFileTitle(const char *file, char *title, const char *last, Subdir
|
||||
* @see FiosGetFileList
|
||||
* @see FiosGetSavegameList
|
||||
*/
|
||||
FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
||||
FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
||||
{
|
||||
/* Show savegame files
|
||||
* .SAV OpenTTD saved game
|
||||
@@ -411,7 +472,7 @@ FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file,
|
||||
return FIOS_TYPE_FILE;
|
||||
}
|
||||
|
||||
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
||||
if (fop == SLO_LOAD) {
|
||||
if (strcasecmp(ext, ".ss1") == 0 || strcasecmp(ext, ".sv1") == 0 ||
|
||||
strcasecmp(ext, ".sv2") == 0) {
|
||||
if (title != NULL) GetOldSaveGameName(file, title, last);
|
||||
@@ -424,10 +485,11 @@ FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file,
|
||||
|
||||
/**
|
||||
* Get a list of savegames.
|
||||
* @param mode Save/load mode.
|
||||
* @param fop Purpose of collecting the list.
|
||||
* @param file_list Destination of the found files.
|
||||
* @see FiosGetFileList
|
||||
*/
|
||||
void FiosGetSavegameList(SaveLoadDialogMode mode)
|
||||
void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list)
|
||||
{
|
||||
static char *fios_save_path = NULL;
|
||||
static char *fios_save_path_last = NULL;
|
||||
@@ -441,12 +503,12 @@ void FiosGetSavegameList(SaveLoadDialogMode mode)
|
||||
_fios_path = fios_save_path;
|
||||
_fios_path_last = fios_save_path_last;
|
||||
|
||||
FiosGetFileList(mode, &FiosGetSavegameListCallback, NO_DIRECTORY);
|
||||
FiosGetFileList(fop, &FiosGetSavegameListCallback, NO_DIRECTORY, file_list);
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for FiosGetFileList. It tells if a file is a scenario or not.
|
||||
* @param mode Save/load mode.
|
||||
* @param fop Purpose of collecting the list.
|
||||
* @param file Name of the file to check.
|
||||
* @param ext A pointer to the extension identifier inside file
|
||||
* @param title Buffer if a callback wants to lookup the title of the file
|
||||
@@ -455,7 +517,7 @@ void FiosGetSavegameList(SaveLoadDialogMode mode)
|
||||
* @see FiosGetFileList
|
||||
* @see FiosGetScenarioList
|
||||
*/
|
||||
static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
||||
static FiosType FiosGetScenarioListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
||||
{
|
||||
/* Show scenario files
|
||||
* .SCN OpenTTD style scenario file
|
||||
@@ -466,7 +528,7 @@ static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char
|
||||
return FIOS_TYPE_SCENARIO;
|
||||
}
|
||||
|
||||
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
||||
if (fop == SLO_LOAD) {
|
||||
if (strcasecmp(ext, ".sv0") == 0 || strcasecmp(ext, ".ss0") == 0 ) {
|
||||
GetOldSaveGameName(file, title, last);
|
||||
return FIOS_TYPE_OLD_SCENARIO;
|
||||
@@ -478,10 +540,11 @@ static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char
|
||||
|
||||
/**
|
||||
* Get a list of scenarios.
|
||||
* @param mode Save/load mode.
|
||||
* @param fop Purpose of collecting the list.
|
||||
* @param file_list Destination of the found files.
|
||||
* @see FiosGetFileList
|
||||
*/
|
||||
void FiosGetScenarioList(SaveLoadDialogMode mode)
|
||||
void FiosGetScenarioList(SaveLoadOperation fop, FileList &file_list)
|
||||
{
|
||||
static char *fios_scn_path = NULL;
|
||||
static char *fios_scn_path_last = NULL;
|
||||
@@ -499,10 +562,11 @@ void FiosGetScenarioList(SaveLoadDialogMode mode)
|
||||
char base_path[MAX_PATH];
|
||||
FioGetDirectory(base_path, lastof(base_path), SCENARIO_DIR);
|
||||
|
||||
FiosGetFileList(mode, &FiosGetScenarioListCallback, (mode == SLD_LOAD_SCENARIO && strcmp(base_path, _fios_path) == 0) ? SCENARIO_DIR : NO_DIRECTORY);
|
||||
Subdirectory subdir = (fop == SLO_LOAD && strcmp(base_path, _fios_path) == 0) ? SCENARIO_DIR : NO_DIRECTORY;
|
||||
FiosGetFileList(fop, &FiosGetScenarioListCallback, subdir, file_list);
|
||||
}
|
||||
|
||||
static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
||||
static FiosType FiosGetHeightmapListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
||||
{
|
||||
/* Show heightmap files
|
||||
* .PNG PNG Based heightmap files
|
||||
@@ -548,9 +612,10 @@ static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char
|
||||
|
||||
/**
|
||||
* Get a list of heightmaps.
|
||||
* @param mode Save/load mode.
|
||||
* @param fop Purpose of collecting the list.
|
||||
* @param file_list Destination of the found files.
|
||||
*/
|
||||
void FiosGetHeightmapList(SaveLoadDialogMode mode)
|
||||
void FiosGetHeightmapList(SaveLoadOperation fop, FileList &file_list)
|
||||
{
|
||||
static char *fios_hmap_path = NULL;
|
||||
static char *fios_hmap_path_last = NULL;
|
||||
@@ -567,7 +632,8 @@ void FiosGetHeightmapList(SaveLoadDialogMode mode)
|
||||
char base_path[MAX_PATH];
|
||||
FioGetDirectory(base_path, lastof(base_path), HEIGHTMAP_DIR);
|
||||
|
||||
FiosGetFileList(mode, &FiosGetHeightmapListCallback, strcmp(base_path, _fios_path) == 0 ? HEIGHTMAP_DIR : NO_DIRECTORY);
|
||||
Subdirectory subdir = strcmp(base_path, _fios_path) == 0 ? HEIGHTMAP_DIR : NO_DIRECTORY;
|
||||
FiosGetFileList(fop, &FiosGetHeightmapListCallback, subdir, file_list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
146
src/fios.h
146
src/fios.h
@@ -97,38 +97,6 @@ enum FileSlots {
|
||||
MAX_FILE_SLOTS = 64
|
||||
};
|
||||
|
||||
/** Mode of the file dialogue window. */
|
||||
enum SaveLoadDialogMode {
|
||||
SLD_LOAD_GAME, ///< Load a game.
|
||||
SLD_LOAD_SCENARIO, ///< Load a scenario.
|
||||
SLD_SAVE_GAME, ///< Save a game.
|
||||
SLD_SAVE_SCENARIO, ///< Save a scenario.
|
||||
SLD_LOAD_HEIGHTMAP, ///< Load a heightmap.
|
||||
SLD_SAVE_HEIGHTMAP, ///< Save a heightmap.
|
||||
};
|
||||
|
||||
/** The different types of files that the system knows about. */
|
||||
enum FileType {
|
||||
FT_NONE, ///< nothing to do
|
||||
FT_SAVEGAME, ///< old or new savegame
|
||||
FT_SCENARIO, ///< old or new scenario
|
||||
FT_HEIGHTMAP, ///< heightmap file
|
||||
};
|
||||
|
||||
enum FiosType {
|
||||
FIOS_TYPE_DRIVE,
|
||||
FIOS_TYPE_PARENT,
|
||||
FIOS_TYPE_DIR,
|
||||
FIOS_TYPE_FILE,
|
||||
FIOS_TYPE_OLDFILE,
|
||||
FIOS_TYPE_SCENARIO,
|
||||
FIOS_TYPE_OLD_SCENARIO,
|
||||
FIOS_TYPE_DIRECT,
|
||||
FIOS_TYPE_PNG,
|
||||
FIOS_TYPE_BMP,
|
||||
FIOS_TYPE_INVALID = 255,
|
||||
};
|
||||
|
||||
/** Deals with finding savegames */
|
||||
struct FiosItem {
|
||||
FiosType type;
|
||||
@@ -137,12 +105,95 @@ struct FiosItem {
|
||||
char name[MAX_PATH];
|
||||
};
|
||||
|
||||
/** Deals with the type of the savegame, independent of extension */
|
||||
struct SmallFiosItem {
|
||||
int mode; ///< savegame/scenario type (old, new)
|
||||
FileType filetype; ///< what type of file are we dealing with
|
||||
char name[MAX_PATH]; ///< name
|
||||
char title[255]; ///< internal name of the game
|
||||
/** List of file information. */
|
||||
class FileList {
|
||||
public:
|
||||
~FileList();
|
||||
|
||||
/**
|
||||
* Construct a new entry in the file list.
|
||||
* @return Pointer to the new items to be initialized.
|
||||
*/
|
||||
inline FiosItem *Append()
|
||||
{
|
||||
return this->files.Append();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the number of files in the list.
|
||||
* @return The number of files stored in the list.
|
||||
*/
|
||||
inline uint Length() const
|
||||
{
|
||||
return this->files.Length();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a pointer to the first file information.
|
||||
* @return Address of the first file information.
|
||||
*/
|
||||
inline const FiosItem *Begin() const
|
||||
{
|
||||
return this->files.Begin();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a pointer behind the last file information.
|
||||
* @return Address behind the last file information.
|
||||
*/
|
||||
inline const FiosItem *End() const
|
||||
{
|
||||
return this->files.End();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a pointer to the indicated file information. File information must exist.
|
||||
* @return Address of the indicated existing file information.
|
||||
*/
|
||||
inline const FiosItem *Get(uint index) const
|
||||
{
|
||||
return this->files.Get(index);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a pointer to the indicated file information. File information must exist.
|
||||
* @return Address of the indicated existing file information.
|
||||
*/
|
||||
inline FiosItem *Get(uint index)
|
||||
{
|
||||
return this->files.Get(index);
|
||||
}
|
||||
|
||||
inline const FiosItem &operator[](uint index) const
|
||||
{
|
||||
return this->files[index];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a reference to the indicated file information. File information must exist.
|
||||
* @return The requested file information.
|
||||
*/
|
||||
inline FiosItem &operator[](uint index)
|
||||
{
|
||||
return this->files[index];
|
||||
}
|
||||
|
||||
/** Remove all items from the list. */
|
||||
inline void Clear()
|
||||
{
|
||||
this->files.Clear();
|
||||
}
|
||||
|
||||
/** Compact the list down to the smallest block size boundary. */
|
||||
inline void Compact()
|
||||
{
|
||||
this->files.Compact();
|
||||
}
|
||||
|
||||
void BuildFileList(AbstractFileType abstract_filetype, SaveLoadOperation fop);
|
||||
const FiosItem *FindItem(const char *file);
|
||||
|
||||
SmallVector<FiosItem, 32> files; ///< The list of files.
|
||||
};
|
||||
|
||||
enum SortingBits {
|
||||
@@ -154,18 +205,14 @@ enum SortingBits {
|
||||
DECLARE_ENUM_AS_BIT_SET(SortingBits)
|
||||
|
||||
/* Variables to display file lists */
|
||||
extern SmallVector<FiosItem, 32> _fios_items;
|
||||
extern SmallFiosItem _file_to_saveload;
|
||||
extern SaveLoadDialogMode _saveload_mode;
|
||||
extern SortingBits _savegame_sort_order;
|
||||
|
||||
void ShowSaveLoadDialog(SaveLoadDialogMode mode);
|
||||
void ShowSaveLoadDialog(AbstractFileType abstract_filetype, SaveLoadOperation fop);
|
||||
|
||||
void FiosGetSavegameList(SaveLoadDialogMode mode);
|
||||
void FiosGetScenarioList(SaveLoadDialogMode mode);
|
||||
void FiosGetHeightmapList(SaveLoadDialogMode mode);
|
||||
void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list);
|
||||
void FiosGetScenarioList(SaveLoadOperation fop, FileList &file_list);
|
||||
void FiosGetHeightmapList(SaveLoadOperation fop, FileList &file_list);
|
||||
|
||||
void FiosFreeSavegameList();
|
||||
const char *FiosBrowseTo(const FiosItem *item);
|
||||
|
||||
StringID FiosGetDescText(const char **path, uint64 *total_free);
|
||||
@@ -173,13 +220,8 @@ bool FiosDelete(const char *name);
|
||||
void FiosMakeHeightmapName(char *buf, const char *name, const char *last);
|
||||
void FiosMakeSavegameName(char *buf, const char *name, const char *last);
|
||||
|
||||
FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last);
|
||||
FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last);
|
||||
|
||||
int CDECL CompareFiosItems(const FiosItem *a, const FiosItem *b);
|
||||
|
||||
extern const TextColour _fios_colours[];
|
||||
|
||||
void BuildFileList();
|
||||
void SetFiosType(const byte fiostype);
|
||||
|
||||
#endif /* FIOS_H */
|
||||
|
299
src/fios_gui.cpp
299
src/fios_gui.cpp
@@ -36,7 +36,6 @@
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
SaveLoadDialogMode _saveload_mode;
|
||||
LoadCheckData _load_check_data; ///< Data loaded from save during SL_LOAD_CHECK.
|
||||
|
||||
static bool _fios_path_changed;
|
||||
@@ -187,33 +186,24 @@ static const NWidgetPart _nested_save_dialog_widgets[] = {
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
/** Colours for fios types, indexed by #FiosType. */
|
||||
const TextColour _fios_colours[] = {
|
||||
TC_LIGHT_BLUE, TC_DARK_GREEN, TC_DARK_GREEN, TC_ORANGE, TC_LIGHT_BROWN,
|
||||
TC_ORANGE, TC_LIGHT_BROWN, TC_ORANGE, TC_ORANGE, TC_YELLOW
|
||||
/** Text colours of #DetailedFileType fios entries in the window. */
|
||||
static const TextColour _fios_colours[] = {
|
||||
TC_LIGHT_BROWN, // DFT_OLD_GAME_FILE
|
||||
TC_ORANGE, // DFT_GAME_FILE
|
||||
TC_YELLOW, // DFT_HEIGHTMAP_BMP
|
||||
TC_ORANGE, // DFT_HEIGHTMAP_PNG
|
||||
TC_LIGHT_BLUE, // DFT_FIOS_DRIVE
|
||||
TC_DARK_GREEN, // DFT_FIOS_PARENT
|
||||
TC_DARK_GREEN, // DFT_FIOS_DIR
|
||||
TC_ORANGE, // DFT_FIOS_DIRECT
|
||||
};
|
||||
|
||||
void BuildFileList()
|
||||
{
|
||||
_fios_path_changed = true;
|
||||
FiosFreeSavegameList();
|
||||
|
||||
switch (_saveload_mode) {
|
||||
case SLD_LOAD_SCENARIO:
|
||||
case SLD_SAVE_SCENARIO:
|
||||
FiosGetScenarioList(_saveload_mode); break;
|
||||
case SLD_SAVE_HEIGHTMAP:
|
||||
case SLD_LOAD_HEIGHTMAP:
|
||||
FiosGetHeightmapList(_saveload_mode); break;
|
||||
|
||||
default: FiosGetSavegameList(_saveload_mode); break;
|
||||
}
|
||||
|
||||
/* Invalidate saveload window */
|
||||
InvalidateWindowData(WC_SAVELOAD, 0, 2, true);
|
||||
}
|
||||
|
||||
static void MakeSortedSaveGameList()
|
||||
/**
|
||||
* Sort the collected list save games prior to displaying it in the save/load gui.
|
||||
* @param [inout] file_list List of save game files found in the directory.
|
||||
*/
|
||||
static void SortSaveGameList(FileList &file_list)
|
||||
{
|
||||
uint sort_start = 0;
|
||||
uint sort_end = 0;
|
||||
@@ -222,7 +212,7 @@ static void MakeSortedSaveGameList()
|
||||
* Drives (A:\ (windows only) are always under the files (FIOS_TYPE_DRIVE)
|
||||
* Only sort savegames/scenarios, not directories
|
||||
*/
|
||||
for (const FiosItem *item = _fios_items.Begin(); item != _fios_items.End(); item++) {
|
||||
for (const FiosItem *item = file_list.Begin(); item != file_list.End(); item++) {
|
||||
switch (item->type) {
|
||||
case FIOS_TYPE_DIR: sort_start++; break;
|
||||
case FIOS_TYPE_PARENT: sort_start++; break;
|
||||
@@ -231,15 +221,18 @@ static void MakeSortedSaveGameList()
|
||||
}
|
||||
}
|
||||
|
||||
uint s_amount = _fios_items.Length() - sort_start - sort_end;
|
||||
QSortT(_fios_items.Get(sort_start), s_amount, CompareFiosItems);
|
||||
uint s_amount = file_list.Length() - sort_start - sort_end;
|
||||
QSortT(file_list.Get(sort_start), s_amount, CompareFiosItems);
|
||||
}
|
||||
|
||||
struct SaveLoadWindow : public Window {
|
||||
private:
|
||||
QueryString filename_editbox; ///< Filename editbox.
|
||||
AbstractFileType abstract_filetype; /// Type of file to select.
|
||||
SaveLoadOperation fop; ///< File operation to perform.
|
||||
FileList fios_items; ///< Save game list.
|
||||
FiosItem o_dir;
|
||||
const FiosItem *selected;
|
||||
const FiosItem *selected; ///< Selected game in #fios_items, or \c NULL.
|
||||
Scrollbar *vscroll;
|
||||
public:
|
||||
|
||||
@@ -250,35 +243,56 @@ public:
|
||||
this->filename_editbox.text.UpdateSize();
|
||||
}
|
||||
|
||||
SaveLoadWindow(WindowDesc *desc, SaveLoadDialogMode mode) : Window(desc), filename_editbox(64)
|
||||
SaveLoadWindow(WindowDesc *desc, AbstractFileType abstract_filetype, SaveLoadOperation fop)
|
||||
: Window(desc), filename_editbox(64), abstract_filetype(abstract_filetype), fop(fop)
|
||||
{
|
||||
static const StringID saveload_captions[] = {
|
||||
STR_SAVELOAD_LOAD_CAPTION,
|
||||
STR_SAVELOAD_LOAD_SCENARIO,
|
||||
STR_SAVELOAD_SAVE_CAPTION,
|
||||
STR_SAVELOAD_SAVE_SCENARIO,
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP,
|
||||
STR_SAVELOAD_SAVE_HEIGHTMAP,
|
||||
};
|
||||
assert((uint)mode < lengthof(saveload_captions));
|
||||
assert(this->fop == SLO_SAVE || this->fop == SLO_LOAD);
|
||||
|
||||
/* Use an array to define what will be the current file type being handled
|
||||
* by current file mode */
|
||||
switch (mode) {
|
||||
case SLD_SAVE_GAME: this->GenerateFileName(); break;
|
||||
case SLD_SAVE_HEIGHTMAP:
|
||||
case SLD_SAVE_SCENARIO: this->filename_editbox.text.Assign("UNNAMED"); break;
|
||||
default: break;
|
||||
/* For saving, construct an initial file name. */
|
||||
if (this->fop == SLO_SAVE) {
|
||||
switch (this->abstract_filetype) {
|
||||
case FT_SAVEGAME:
|
||||
this->GenerateFileName();
|
||||
break;
|
||||
|
||||
case FT_SCENARIO:
|
||||
case FT_HEIGHTMAP:
|
||||
this->filename_editbox.text.Assign("UNNAMED");
|
||||
break;
|
||||
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
this->querystrings[WID_SL_SAVE_OSK_TITLE] = &this->filename_editbox;
|
||||
this->filename_editbox.ok_button = WID_SL_SAVE_GAME;
|
||||
|
||||
this->CreateNestedTree(true);
|
||||
if (mode == SLD_LOAD_GAME) this->GetWidget<NWidgetStacked>(WID_SL_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetCore>(WID_SL_CAPTION)->widget_data = saveload_captions[mode];
|
||||
this->vscroll = this->GetScrollbar(WID_SL_SCROLLBAR);
|
||||
if (this->fop == SLO_LOAD && this->abstract_filetype == FT_SAVEGAME) {
|
||||
this->GetWidget<NWidgetStacked>(WID_SL_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
}
|
||||
|
||||
/* Select caption string of the window. */
|
||||
StringID caption_string;
|
||||
switch (this->abstract_filetype) {
|
||||
case FT_SAVEGAME:
|
||||
caption_string = (this->fop == SLO_SAVE) ? STR_SAVELOAD_SAVE_CAPTION : STR_SAVELOAD_LOAD_CAPTION;
|
||||
break;
|
||||
|
||||
case FT_SCENARIO:
|
||||
caption_string = (this->fop == SLO_SAVE) ? STR_SAVELOAD_SAVE_SCENARIO : STR_SAVELOAD_LOAD_SCENARIO;
|
||||
break;
|
||||
|
||||
case FT_HEIGHTMAP:
|
||||
caption_string = (this->fop == SLO_SAVE) ? STR_SAVELOAD_SAVE_HEIGHTMAP : STR_SAVELOAD_LOAD_HEIGHTMAP;
|
||||
break;
|
||||
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
this->GetWidget<NWidgetCore>(WID_SL_CAPTION)->widget_data = caption_string;
|
||||
|
||||
this->vscroll = this->GetScrollbar(WID_SL_SCROLLBAR);
|
||||
this->FinishInitNested(0);
|
||||
|
||||
this->LowerWidget(WID_SL_DRIVES_DIRECTORIES_LIST);
|
||||
@@ -294,20 +308,18 @@ public:
|
||||
|
||||
ResetObjectToPlace();
|
||||
|
||||
/* Select the initial directory. */
|
||||
o_dir.type = FIOS_TYPE_DIRECT;
|
||||
switch (_saveload_mode) {
|
||||
case SLD_SAVE_GAME:
|
||||
case SLD_LOAD_GAME:
|
||||
switch (this->abstract_filetype) {
|
||||
case FT_SAVEGAME:
|
||||
FioGetDirectory(o_dir.name, lastof(o_dir.name), SAVE_DIR);
|
||||
break;
|
||||
|
||||
case SLD_SAVE_SCENARIO:
|
||||
case SLD_LOAD_SCENARIO:
|
||||
case FT_SCENARIO:
|
||||
FioGetDirectory(o_dir.name, lastof(o_dir.name), SCENARIO_DIR);
|
||||
break;
|
||||
|
||||
case SLD_SAVE_HEIGHTMAP:
|
||||
case SLD_LOAD_HEIGHTMAP:
|
||||
case FT_HEIGHTMAP:
|
||||
FioGetDirectory(o_dir.name, lastof(o_dir.name), HEIGHTMAP_DIR);
|
||||
break;
|
||||
|
||||
@@ -316,9 +328,7 @@ public:
|
||||
}
|
||||
|
||||
/* Focus the edit box by default in the save windows */
|
||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
||||
this->SetFocusedWidget(WID_SL_SAVE_OSK_TITLE);
|
||||
}
|
||||
if (this->fop == SLO_SAVE) this->SetFocusedWidget(WID_SL_SAVE_OSK_TITLE);
|
||||
}
|
||||
|
||||
virtual ~SaveLoadWindow()
|
||||
@@ -327,7 +337,6 @@ public:
|
||||
if (!_networking && _game_mode != GM_EDITOR && _game_mode != GM_MENU) {
|
||||
DoCommandP(0, PM_PAUSED_SAVELOAD, 0, CMD_PAUSE);
|
||||
}
|
||||
FiosFreeSavegameList();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
@@ -360,13 +369,13 @@ public:
|
||||
GfxFillRect(r.left + 1, r.top + 1, r.right, r.bottom, PC_BLACK);
|
||||
|
||||
uint y = r.top + WD_FRAMERECT_TOP;
|
||||
for (uint pos = this->vscroll->GetPosition(); pos < _fios_items.Length(); pos++) {
|
||||
const FiosItem *item = _fios_items.Get(pos);
|
||||
for (uint pos = this->vscroll->GetPosition(); pos < this->fios_items.Length(); pos++) {
|
||||
const FiosItem *item = this->fios_items.Get(pos);
|
||||
|
||||
if (item == this->selected) {
|
||||
GfxFillRect(r.left + 1, y, r.right, y + this->resize.step_height, PC_DARK_BLUE);
|
||||
}
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, item->title, _fios_colours[item->type]);
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, item->title, _fios_colours[GetDetailedFileType(item->type)]);
|
||||
y += this->resize.step_height;
|
||||
if (y >= this->vscroll->GetCapacity() * this->resize.step_height + r.top + WD_FRAMERECT_TOP) break;
|
||||
}
|
||||
@@ -421,7 +430,7 @@ public:
|
||||
if (y > y_max) break;
|
||||
|
||||
/* Hide current date for scenarios */
|
||||
if (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) {
|
||||
if (this->abstract_filetype != FT_SCENARIO) {
|
||||
/* Current date */
|
||||
SetDParam(0, _load_check_data.current_date);
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_NETWORK_SERVER_LIST_CURRENT_DATE);
|
||||
@@ -429,7 +438,7 @@ public:
|
||||
}
|
||||
|
||||
/* Hide the NewGRF stuff when saving. We also hide the button. */
|
||||
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||
if (this->fop == SLO_LOAD && (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO)) {
|
||||
y += WD_PAR_VSEP_NORMAL;
|
||||
if (y > y_max) break;
|
||||
|
||||
@@ -442,7 +451,7 @@ public:
|
||||
if (y > y_max) break;
|
||||
|
||||
/* Hide the company stuff for scenarios */
|
||||
if (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) {
|
||||
if (this->abstract_filetype != FT_SCENARIO) {
|
||||
y += FONT_HEIGHT_NORMAL;
|
||||
if (y > y_max) break;
|
||||
|
||||
@@ -495,10 +504,10 @@ public:
|
||||
{
|
||||
if (_savegame_sort_dirty) {
|
||||
_savegame_sort_dirty = false;
|
||||
MakeSortedSaveGameList();
|
||||
SortSaveGameList(this->fios_items);
|
||||
}
|
||||
|
||||
this->vscroll->SetCount(_fios_items.Length());
|
||||
this->vscroll->SetCount(this->fios_items.Length());
|
||||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
@@ -527,14 +536,14 @@ public:
|
||||
case WID_SL_LOAD_BUTTON:
|
||||
if (this->selected != NULL && !_load_check_data.HasErrors()) {
|
||||
const char *name = FiosBrowseTo(this->selected);
|
||||
SetFiosType(this->selected->type);
|
||||
_file_to_saveload.SetMode(this->selected->type);
|
||||
_file_to_saveload.SetName(name);
|
||||
_file_to_saveload.SetTitle(this->selected->title);
|
||||
|
||||
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
||||
strecpy(_file_to_saveload.title, this->selected->title, lastof(_file_to_saveload.title));
|
||||
|
||||
if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
||||
if (this->abstract_filetype == FT_HEIGHTMAP) {
|
||||
delete this;
|
||||
ShowHeightmapLoad();
|
||||
|
||||
} else if (!_load_check_data.HasNewGrfs() || _load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs()) {
|
||||
_switch_mode = (_game_mode == GM_EDITOR) ? SM_LOAD_SCENARIO : SM_LOAD_GAME;
|
||||
ClearErrorMessages();
|
||||
@@ -563,7 +572,7 @@ public:
|
||||
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
|
||||
if (y == INT_MAX) return;
|
||||
|
||||
const FiosItem *file = _fios_items.Get(y);
|
||||
const FiosItem *file = this->fios_items.Get(y);
|
||||
|
||||
const char *name = FiosBrowseTo(file);
|
||||
if (name != NULL) {
|
||||
@@ -572,30 +581,34 @@ public:
|
||||
this->selected = file;
|
||||
_load_check_data.Clear();
|
||||
|
||||
if (file->type == FIOS_TYPE_FILE || file->type == FIOS_TYPE_SCENARIO) {
|
||||
SaveOrLoad(name, SL_LOAD_CHECK, NO_DIRECTORY, false);
|
||||
if (GetDetailedFileType(file->type) == DFT_GAME_FILE) {
|
||||
/* Other detailed file types cannot be checked before. */
|
||||
SaveOrLoad(name, SLO_CHECK, DFT_GAME_FILE, NO_DIRECTORY, false);
|
||||
}
|
||||
|
||||
this->InvalidateData(1);
|
||||
}
|
||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
||||
if (this->fop == SLO_SAVE) {
|
||||
/* Copy clicked name to editbox */
|
||||
this->filename_editbox.text.Assign(file->title);
|
||||
this->SetWidgetDirty(WID_SL_SAVE_OSK_TITLE);
|
||||
}
|
||||
} else if (!_load_check_data.HasErrors()) {
|
||||
this->selected = file;
|
||||
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||
if (this->fop == SLO_LOAD) {
|
||||
if (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO) {
|
||||
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
||||
} else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
||||
SetFiosType(file->type);
|
||||
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
||||
strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title));
|
||||
} else {
|
||||
assert(this->abstract_filetype == FT_HEIGHTMAP);
|
||||
_file_to_saveload.SetMode(file->type);
|
||||
_file_to_saveload.SetName(name);
|
||||
_file_to_saveload.SetTitle(file->title);
|
||||
|
||||
delete this;
|
||||
ShowHeightmapLoad();
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* Changed directory, need refresh. */
|
||||
this->InvalidateData();
|
||||
@@ -608,10 +621,11 @@ public:
|
||||
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
|
||||
} else {
|
||||
#if defined(ENABLE_NETWORK)
|
||||
switch (_saveload_mode) {
|
||||
assert(this->fop == SLO_LOAD);
|
||||
switch (this->abstract_filetype) {
|
||||
default: NOT_REACHED();
|
||||
case SLD_LOAD_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break;
|
||||
case SLD_LOAD_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break;
|
||||
case FT_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break;
|
||||
case FT_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -639,9 +653,8 @@ public:
|
||||
|
||||
virtual void OnTimeout()
|
||||
{
|
||||
/* This test protects against using widgets 11 and 12 which are only available
|
||||
* in those saveload modes. */
|
||||
if (!(_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP)) return;
|
||||
/* Widgets WID_SL_DELETE_SELECTION and WID_SL_SAVE_GAME only exist when saving to a file. */
|
||||
if (this->fop != SLO_SAVE) return;
|
||||
|
||||
if (this->IsWidgetLowered(WID_SL_DELETE_SELECTION)) { // Delete button clicked
|
||||
if (!FiosDelete(this->filename_editbox.text.buf)) {
|
||||
@@ -649,10 +662,10 @@ public:
|
||||
} else {
|
||||
this->InvalidateData();
|
||||
/* Reset file name to current date on successful delete */
|
||||
if (_saveload_mode == SLD_SAVE_GAME) GenerateFileName();
|
||||
if (this->abstract_filetype == FT_SAVEGAME) GenerateFileName();
|
||||
}
|
||||
} else if (this->IsWidgetLowered(WID_SL_SAVE_GAME)) { // Save button clicked
|
||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) {
|
||||
if (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO) {
|
||||
_switch_mode = SM_SAVE_GAME;
|
||||
FiosMakeSavegameName(_file_to_saveload.name, this->filename_editbox.text.buf, lastof(_file_to_saveload.name));
|
||||
} else {
|
||||
@@ -683,28 +696,40 @@ public:
|
||||
this->selected = NULL;
|
||||
_load_check_data.Clear();
|
||||
if (!gui_scope) break;
|
||||
BuildFileList();
|
||||
|
||||
_fios_path_changed = true;
|
||||
this->fios_items.BuildFileList(this->abstract_filetype, this->fop);
|
||||
this->vscroll->SetCount(this->fios_items.Length());
|
||||
this->selected = NULL;
|
||||
_load_check_data.Clear();
|
||||
/* FALL THROUGH */
|
||||
case 1:
|
||||
/* Selection changes */
|
||||
if (!gui_scope) break;
|
||||
if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
||||
|
||||
if (this->fop != SLO_LOAD) break;
|
||||
|
||||
switch (this->abstract_filetype) {
|
||||
case FT_HEIGHTMAP:
|
||||
this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON, this->selected == NULL || _load_check_data.HasErrors());
|
||||
break;
|
||||
|
||||
case FT_SAVEGAME:
|
||||
case FT_SCENARIO: {
|
||||
bool disabled = this->selected == NULL || _load_check_data.HasErrors();
|
||||
if (!_settings_client.gui.UserIsAllowedToChangeNewGRFs()) {
|
||||
disabled |= _load_check_data.HasNewGrfs() && _load_check_data.grf_compatibility == GLC_NOT_FOUND;
|
||||
}
|
||||
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||
this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON,
|
||||
this->selected == NULL || _load_check_data.HasErrors() || !(!_load_check_data.HasNewGrfs() || _load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs()));
|
||||
this->SetWidgetDisabledState(WID_SL_NEWGRF_INFO,
|
||||
!_load_check_data.HasNewGrfs());
|
||||
this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON, disabled);
|
||||
this->SetWidgetDisabledState(WID_SL_NEWGRF_INFO, !_load_check_data.HasNewGrfs());
|
||||
this->SetWidgetDisabledState(WID_SL_MISSING_NEWGRFS,
|
||||
!_load_check_data.HasNewGrfs() || _load_check_data.grf_compatibility == GLC_ALL_GOOD);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
/* _fios_items changed */
|
||||
this->vscroll->SetCount(_fios_items.Length());
|
||||
this->selected = NULL;
|
||||
_load_check_data.Clear();
|
||||
}
|
||||
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -734,70 +759,24 @@ static WindowDesc _save_dialog_desc(
|
||||
_nested_save_dialog_widgets, lengthof(_nested_save_dialog_widgets)
|
||||
);
|
||||
|
||||
/**
|
||||
* These values are used to convert the file/operations mode into a corresponding file type.
|
||||
* So each entry, as expressed by the related comment, is based on the enum
|
||||
*/
|
||||
static const FileType _file_modetotype[] = {
|
||||
FT_SAVEGAME, // used for SLD_LOAD_GAME
|
||||
FT_SCENARIO, // used for SLD_LOAD_SCENARIO
|
||||
FT_SAVEGAME, // used for SLD_SAVE_GAME
|
||||
FT_SCENARIO, // used for SLD_SAVE_SCENARIO
|
||||
FT_HEIGHTMAP, // used for SLD_LOAD_HEIGHTMAP
|
||||
FT_HEIGHTMAP, // used for SLD_SAVE_HEIGHTMAP
|
||||
};
|
||||
|
||||
/**
|
||||
* Launch save/load dialog in the given mode.
|
||||
* @param mode Save/load mode.
|
||||
* @param abstract_filetype Kind of file to handle.
|
||||
* @param fop File operation to perform (load or save).
|
||||
*/
|
||||
void ShowSaveLoadDialog(SaveLoadDialogMode mode)
|
||||
void ShowSaveLoadDialog(AbstractFileType abstract_filetype, SaveLoadOperation fop)
|
||||
{
|
||||
DeleteWindowById(WC_SAVELOAD, 0);
|
||||
|
||||
WindowDesc *sld;
|
||||
switch (mode) {
|
||||
case SLD_SAVE_GAME:
|
||||
case SLD_SAVE_SCENARIO:
|
||||
case SLD_SAVE_HEIGHTMAP:
|
||||
sld = &_save_dialog_desc; break;
|
||||
case SLD_LOAD_HEIGHTMAP:
|
||||
sld = &_load_heightmap_dialog_desc; break;
|
||||
default:
|
||||
sld = &_load_dialog_desc; break;
|
||||
if (fop == SLO_SAVE) {
|
||||
sld = &_save_dialog_desc;
|
||||
} else {
|
||||
/* Dialogue for loading a file. */
|
||||
sld = (abstract_filetype == FT_HEIGHTMAP) ? &_load_heightmap_dialog_desc : &_load_dialog_desc;
|
||||
}
|
||||
|
||||
_saveload_mode = mode;
|
||||
_file_to_saveload.filetype = _file_modetotype[mode];
|
||||
_file_to_saveload.abstract_ftype = abstract_filetype;
|
||||
|
||||
new SaveLoadWindow(sld, mode);
|
||||
}
|
||||
|
||||
void SetFiosType(const byte fiostype)
|
||||
{
|
||||
switch (fiostype) {
|
||||
case FIOS_TYPE_FILE:
|
||||
case FIOS_TYPE_SCENARIO:
|
||||
_file_to_saveload.mode = SL_LOAD;
|
||||
break;
|
||||
|
||||
case FIOS_TYPE_OLDFILE:
|
||||
case FIOS_TYPE_OLD_SCENARIO:
|
||||
_file_to_saveload.mode = SL_OLD_LOAD;
|
||||
break;
|
||||
|
||||
#ifdef WITH_PNG
|
||||
case FIOS_TYPE_PNG:
|
||||
_file_to_saveload.mode = SL_PNG;
|
||||
break;
|
||||
#endif /* WITH_PNG */
|
||||
|
||||
case FIOS_TYPE_BMP:
|
||||
_file_to_saveload.mode = SL_BMP;
|
||||
break;
|
||||
|
||||
default:
|
||||
_file_to_saveload.mode = SL_INVALID;
|
||||
break;
|
||||
}
|
||||
new SaveLoadWindow(sld, abstract_filetype, fop);
|
||||
}
|
||||
|
@@ -25,7 +25,7 @@
|
||||
static bool CheckAPIVersion(const char *api_version)
|
||||
{
|
||||
return strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
|
||||
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0;
|
||||
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0;
|
||||
}
|
||||
|
||||
#if defined(WIN32)
|
||||
|
@@ -77,7 +77,7 @@ static void CleanupGeneration()
|
||||
{
|
||||
_generating_world = false;
|
||||
|
||||
if (_cursor.sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
||||
SetMouseCursorBusy(false);
|
||||
/* Show all vital windows again, because we have hidden them */
|
||||
if (_gw.threaded && _game_mode != GM_MENU) ShowVitalWindows();
|
||||
SetModalProgress(false);
|
||||
@@ -204,7 +204,7 @@ static void _GenerateWorld(void *)
|
||||
if (_debug_desync_level > 0) {
|
||||
char name[MAX_PATH];
|
||||
seprintf(name, lastof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date);
|
||||
SaveOrLoad(name, SL_SAVE, AUTOSAVE_DIR, false);
|
||||
SaveOrLoad(name, SLO_SAVE, DFT_GAME_FILE, AUTOSAVE_DIR, false);
|
||||
}
|
||||
} catch (...) {
|
||||
BasePersistentStorageArray::SwitchMode(PSM_LEAVE_GAMELOOP, true);
|
||||
|
@@ -26,6 +26,7 @@
|
||||
#include "town.h"
|
||||
#include "core/geometry_func.hpp"
|
||||
#include "core/random_func.hpp"
|
||||
#include "saveload/saveload.h"
|
||||
#include "progress.h"
|
||||
#include "error.h"
|
||||
|
||||
@@ -832,7 +833,7 @@ static void _ShowGenerateLandscape(GenerateLandscapeWindowMode mode)
|
||||
|
||||
if (mode == GLWM_HEIGHTMAP) {
|
||||
/* If the function returns negative, it means there was a problem loading the heightmap */
|
||||
if (!GetHeightmapDimensions(_file_to_saveload.name, &x, &y)) return;
|
||||
if (!GetHeightmapDimensions(_file_to_saveload.detail_ftype, _file_to_saveload.name, &x, &y)) return;
|
||||
}
|
||||
|
||||
WindowDesc *desc = (mode == GLWM_HEIGHTMAP) ? &_heightmap_load_desc : &_generate_landscape_desc;
|
||||
@@ -1190,7 +1191,7 @@ struct GenerateProgressWindow : public Window {
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GP_ABORT:
|
||||
if (_cursor.sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
||||
SetMouseCursorBusy(false);
|
||||
ShowQuery(
|
||||
STR_GENERATION_ABORT_CAPTION,
|
||||
STR_GENERATION_ABORT_MESSAGE,
|
||||
|
116
src/gfx.cpp
116
src/gfx.cpp
@@ -1223,10 +1223,6 @@ void DrawMouseCursor()
|
||||
if (_screen.dst_ptr == NULL) return;
|
||||
|
||||
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
||||
int x;
|
||||
int y;
|
||||
int w;
|
||||
int h;
|
||||
|
||||
/* Redraw mouse cursor but only when it's inside the window */
|
||||
if (!_cursor.in_window) return;
|
||||
@@ -1237,36 +1233,44 @@ void DrawMouseCursor()
|
||||
UndrawMouseCursor();
|
||||
}
|
||||
|
||||
w = _cursor.size.x;
|
||||
x = _cursor.pos.x + _cursor.offs.x + _cursor.short_vehicle_offset;
|
||||
if (x < 0) {
|
||||
w += x;
|
||||
x = 0;
|
||||
/* Determine visible area */
|
||||
int left = _cursor.pos.x + _cursor.total_offs.x;
|
||||
int width = _cursor.total_size.x;
|
||||
if (left < 0) {
|
||||
width += left;
|
||||
left = 0;
|
||||
}
|
||||
if (w > _screen.width - x) w = _screen.width - x;
|
||||
if (w <= 0) return;
|
||||
_cursor.draw_pos.x = x;
|
||||
_cursor.draw_size.x = w;
|
||||
|
||||
h = _cursor.size.y;
|
||||
y = _cursor.pos.y + _cursor.offs.y;
|
||||
if (y < 0) {
|
||||
h += y;
|
||||
y = 0;
|
||||
if (left + width > _screen.width) {
|
||||
width = _screen.width - left;
|
||||
}
|
||||
if (h > _screen.height - y) h = _screen.height - y;
|
||||
if (h <= 0) return;
|
||||
_cursor.draw_pos.y = y;
|
||||
_cursor.draw_size.y = h;
|
||||
if (width <= 0) return;
|
||||
|
||||
uint8 *buffer = _cursor_backup.Allocate(blitter->BufferSize(w, h));
|
||||
int top = _cursor.pos.y + _cursor.total_offs.y;
|
||||
int height = _cursor.total_size.y;
|
||||
if (top < 0) {
|
||||
height += top;
|
||||
top = 0;
|
||||
}
|
||||
if (top + height > _screen.height) {
|
||||
height = _screen.height - top;
|
||||
}
|
||||
if (height <= 0) return;
|
||||
|
||||
_cursor.draw_pos.x = left;
|
||||
_cursor.draw_pos.y = top;
|
||||
_cursor.draw_size.x = width;
|
||||
_cursor.draw_size.y = height;
|
||||
|
||||
uint8 *buffer = _cursor_backup.Allocate(blitter->BufferSize(_cursor.draw_size.x, _cursor.draw_size.y));
|
||||
|
||||
/* Make backup of stuff below cursor */
|
||||
blitter->CopyToBuffer(blitter->MoveTo(_screen.dst_ptr, _cursor.draw_pos.x, _cursor.draw_pos.y), buffer, _cursor.draw_size.x, _cursor.draw_size.y);
|
||||
|
||||
/* Draw cursor on screen */
|
||||
_cur_dpi = &_screen;
|
||||
DrawSprite(_cursor.sprite, _cursor.pal, _cursor.pos.x + _cursor.short_vehicle_offset, _cursor.pos.y);
|
||||
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
||||
DrawSprite(_cursor.sprite_seq[i].sprite, _cursor.sprite_seq[i].pal, _cursor.pos.x + _cursor.sprite_pos[i].x, _cursor.pos.y + _cursor.sprite_pos[i].y);
|
||||
}
|
||||
|
||||
VideoDriver::GetInstance()->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y);
|
||||
|
||||
@@ -1525,15 +1529,33 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh
|
||||
*/
|
||||
void UpdateCursorSize()
|
||||
{
|
||||
CursorVars *cv = &_cursor;
|
||||
const Sprite *p = GetSprite(GB(cv->sprite, 0, SPRITE_WIDTH), ST_NORMAL);
|
||||
/* Ignore setting any cursor before the sprites are loaded. */
|
||||
if (GetMaxSpriteID() == 0) return;
|
||||
|
||||
cv->size.y = UnScaleGUI(p->height);
|
||||
cv->size.x = UnScaleGUI(p->width);
|
||||
cv->offs.x = UnScaleGUI(p->x_offs);
|
||||
cv->offs.y = UnScaleGUI(p->y_offs);
|
||||
assert_compile(lengthof(_cursor.sprite_seq) == lengthof(_cursor.sprite_pos));
|
||||
assert(_cursor.sprite_count <= lengthof(_cursor.sprite_seq));
|
||||
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
||||
const Sprite *p = GetSprite(GB(_cursor.sprite_seq[i].sprite, 0, SPRITE_WIDTH), ST_NORMAL);
|
||||
Point offs, size;
|
||||
offs.x = UnScaleGUI(p->x_offs) + _cursor.sprite_pos[i].x;
|
||||
offs.y = UnScaleGUI(p->y_offs) + _cursor.sprite_pos[i].y;
|
||||
size.x = UnScaleGUI(p->width);
|
||||
size.y = UnScaleGUI(p->height);
|
||||
|
||||
cv->dirty = true;
|
||||
if (i == 0) {
|
||||
_cursor.total_offs = offs;
|
||||
_cursor.total_size = size;
|
||||
} else {
|
||||
int right = max(_cursor.total_offs.x + _cursor.total_size.x, offs.x + size.x);
|
||||
int bottom = max(_cursor.total_offs.y + _cursor.total_size.y, offs.y + size.y);
|
||||
if (offs.x < _cursor.total_offs.x) _cursor.total_offs.x = offs.x;
|
||||
if (offs.y < _cursor.total_offs.y) _cursor.total_offs.y = offs.y;
|
||||
_cursor.total_size.x = right - _cursor.total_offs.x;
|
||||
_cursor.total_size.y = bottom - _cursor.total_offs.y;
|
||||
}
|
||||
}
|
||||
|
||||
_cursor.dirty = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1543,14 +1565,15 @@ void UpdateCursorSize()
|
||||
*/
|
||||
static void SetCursorSprite(CursorID cursor, PaletteID pal)
|
||||
{
|
||||
CursorVars *cv = &_cursor;
|
||||
if (cv->sprite == cursor) return;
|
||||
if (_cursor.sprite_count == 1 && _cursor.sprite_seq[0].sprite == cursor && _cursor.sprite_seq[0].pal == pal) return;
|
||||
|
||||
_cursor.sprite_count = 1;
|
||||
_cursor.sprite_seq[0].sprite = cursor;
|
||||
_cursor.sprite_seq[0].pal = pal;
|
||||
_cursor.sprite_pos[0].x = 0;
|
||||
_cursor.sprite_pos[0].y = 0;
|
||||
|
||||
cv->sprite = cursor;
|
||||
cv->pal = pal;
|
||||
UpdateCursorSize();
|
||||
|
||||
cv->short_vehicle_offset = 0;
|
||||
}
|
||||
|
||||
static void SwitchAnimatedCursor()
|
||||
@@ -1559,7 +1582,7 @@ static void SwitchAnimatedCursor()
|
||||
|
||||
if (cur == NULL || cur->sprite == AnimCursor::LAST) cur = _cursor.animate_list;
|
||||
|
||||
SetCursorSprite(cur->sprite, _cursor.pal);
|
||||
SetCursorSprite(cur->sprite, _cursor.sprite_seq[0].pal);
|
||||
|
||||
_cursor.animate_timeout = cur->display_time;
|
||||
_cursor.animate_cur = cur + 1;
|
||||
@@ -1572,6 +1595,19 @@ void CursorTick()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set or unset the ZZZ cursor.
|
||||
* @param busy Whether to show the ZZZ cursor.
|
||||
*/
|
||||
void SetMouseCursorBusy(bool busy)
|
||||
{
|
||||
if (busy) {
|
||||
if (_cursor.sprite_seq[0].sprite == SPR_CURSOR_MOUSE) SetMouseCursor(SPR_CURSOR_ZZZ, PAL_NONE);
|
||||
} else {
|
||||
if (_cursor.sprite_seq[0].sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign a single non-animated sprite to the cursor.
|
||||
* @param sprite Sprite to draw for the cursor.
|
||||
@@ -1595,7 +1631,7 @@ void SetAnimatedMouseCursor(const AnimCursor *table)
|
||||
{
|
||||
_cursor.animate_list = table;
|
||||
_cursor.animate_cur = NULL;
|
||||
_cursor.pal = PAL_NONE;
|
||||
_cursor.sprite_seq[0].pal = PAL_NONE;
|
||||
SwitchAnimatedCursor();
|
||||
}
|
||||
|
||||
|
@@ -145,6 +145,7 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh
|
||||
/* window.cpp */
|
||||
void DrawOverlappedWindowForAll(int left, int top, int right, int bottom);
|
||||
|
||||
void SetMouseCursorBusy(bool busy);
|
||||
void SetMouseCursor(CursorID cursor, PaletteID pal);
|
||||
void SetAnimatedMouseCursor(const AnimCursor *table);
|
||||
void CursorTick();
|
||||
|
@@ -115,28 +115,34 @@ struct AnimCursor {
|
||||
|
||||
/** Collection of variables for cursor-display and -animation */
|
||||
struct CursorVars {
|
||||
Point pos, size, offs, delta; ///< position, size, offset from top-left, and movement
|
||||
Point draw_pos, draw_size; ///< position and size bounding-box for drawing
|
||||
int short_vehicle_offset; ///< offset of the X for short vehicles
|
||||
CursorID sprite; ///< current image of cursor
|
||||
PaletteID pal;
|
||||
|
||||
/* Logical mouse position */
|
||||
Point pos; ///< logical mouse position
|
||||
Point delta; ///< relative mouse movement in this tick
|
||||
int wheel; ///< mouse wheel movement
|
||||
bool fix_at; ///< mouse is moving, but cursor is not (used for scrolling)
|
||||
|
||||
/* We need two different vars to keep track of how far the scrollwheel moved.
|
||||
* OSX uses this for scrolling around the map. */
|
||||
int v_wheel;
|
||||
int h_wheel;
|
||||
|
||||
/* Mouse appearance */
|
||||
PalSpriteID sprite_seq[16]; ///< current image of cursor
|
||||
Point sprite_pos[16]; ///< relative position of individual sprites
|
||||
uint sprite_count; ///< number of sprites to draw
|
||||
Point total_offs, total_size; ///< union of sprite properties
|
||||
|
||||
Point draw_pos, draw_size; ///< position and size bounding-box for drawing
|
||||
|
||||
const AnimCursor *animate_list; ///< in case of animated cursor, list of frames
|
||||
const AnimCursor *animate_cur; ///< in case of animated cursor, current frame
|
||||
uint animate_timeout; ///< in case of animated cursor, number of ticks to show the current cursor
|
||||
|
||||
bool visible; ///< cursor is visible
|
||||
bool dirty; ///< the rect occupied by the mouse is dirty (redraw)
|
||||
bool fix_at; ///< mouse is moving, but cursor is not (used for scrolling)
|
||||
bool in_window; ///< mouse inside this window, determines drawing logic
|
||||
|
||||
/* Drag data */
|
||||
bool vehchain; ///< vehicle chain is dragged
|
||||
|
||||
bool UpdateCursorPosition(int x, int y, bool queued_warp);
|
||||
|
@@ -627,8 +627,8 @@ public:
|
||||
|
||||
this->vehicle_sel = v->index;
|
||||
|
||||
int image = v->GetImage(_current_text_dir == TD_RTL ? DIR_E : DIR_W, EIT_IN_LIST);
|
||||
SetObjectToPlaceWnd(image, GetVehiclePalette(v), HT_DRAG, this);
|
||||
SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
|
||||
SetMouseCursorVehicle(v, EIT_IN_LIST);
|
||||
_cursor.vehchain = true;
|
||||
|
||||
this->SetDirty();
|
||||
|
@@ -102,7 +102,7 @@ static void ReadHeightmapPNGImageData(byte *map, png_structp png_ptr, png_infop
|
||||
* If map == NULL only the size of the PNG is read, otherwise a map
|
||||
* with grayscale pixels is allocated and assigned to *map.
|
||||
*/
|
||||
static bool ReadHeightmapPNG(char *filename, uint *x, uint *y, byte **map)
|
||||
static bool ReadHeightmapPNG(const char *filename, uint *x, uint *y, byte **map)
|
||||
{
|
||||
FILE *fp;
|
||||
png_structp png_ptr = NULL;
|
||||
@@ -232,7 +232,7 @@ static void ReadHeightmapBMPImageData(byte *map, BmpInfo *info, BmpData *data)
|
||||
* If map == NULL only the size of the BMP is read, otherwise a map
|
||||
* with grayscale pixels is allocated and assigned to *map.
|
||||
*/
|
||||
static bool ReadHeightmapBMP(char *filename, uint *x, uint *y, byte **map)
|
||||
static bool ReadHeightmapBMP(const char *filename, uint *x, uint *y, byte **map)
|
||||
{
|
||||
FILE *f;
|
||||
BmpInfo info;
|
||||
@@ -444,45 +444,56 @@ void FixSlopes()
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the heightmap with the correct file reader
|
||||
* Reads the heightmap with the correct file reader.
|
||||
* @param dft Type of image file.
|
||||
* @param filename Name of the file to load.
|
||||
* @param [out] x Length of the image.
|
||||
* @param [out] y Height of the image.
|
||||
* @param [inout] map If not \c NULL, destination to store the loaded block of image data.
|
||||
* @return Whether loading was successful.
|
||||
*/
|
||||
static bool ReadHeightMap(char *filename, uint *x, uint *y, byte **map)
|
||||
static bool ReadHeightMap(DetailedFileType dft, const char *filename, uint *x, uint *y, byte **map)
|
||||
{
|
||||
switch (_file_to_saveload.mode) {
|
||||
default: NOT_REACHED();
|
||||
switch (dft) {
|
||||
default:
|
||||
NOT_REACHED();
|
||||
|
||||
#ifdef WITH_PNG
|
||||
case SL_PNG:
|
||||
case DFT_HEIGHTMAP_PNG:
|
||||
return ReadHeightmapPNG(filename, x, y, map);
|
||||
#endif /* WITH_PNG */
|
||||
case SL_BMP:
|
||||
|
||||
case DFT_HEIGHTMAP_BMP:
|
||||
return ReadHeightmapBMP(filename, x, y, map);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the dimensions of a heightmap.
|
||||
* @param dft Type of image file.
|
||||
* @param filename to query
|
||||
* @param x dimension x
|
||||
* @param y dimension y
|
||||
* @return Returns false if loading of the image failed.
|
||||
*/
|
||||
bool GetHeightmapDimensions(char *filename, uint *x, uint *y)
|
||||
bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, uint *y)
|
||||
{
|
||||
return ReadHeightMap(filename, x, y, NULL);
|
||||
return ReadHeightMap(dft, filename, x, y, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a heightmap from file and change the map in his current dimensions
|
||||
* to a landscape representing the heightmap.
|
||||
* It converts pixels to height. The brighter, the higher.
|
||||
* @param dft Type of image file.
|
||||
* @param filename of the heightmap file to be imported
|
||||
*/
|
||||
void LoadHeightmap(char *filename)
|
||||
void LoadHeightmap(DetailedFileType dft, const char *filename)
|
||||
{
|
||||
uint x, y;
|
||||
byte *map = NULL;
|
||||
|
||||
if (!ReadHeightMap(filename, &x, &y, &map)) {
|
||||
if (!ReadHeightMap(dft, filename, &x, &y, &map)) {
|
||||
free(map);
|
||||
return;
|
||||
}
|
||||
|
@@ -12,6 +12,8 @@
|
||||
#ifndef HEIGHTMAP_H
|
||||
#define HEIGHTMAP_H
|
||||
|
||||
#include "fileio_type.h"
|
||||
|
||||
/**
|
||||
* Order of these enums has to be the same as in lang/english.txt
|
||||
* Otherwise you will get inconsistent behaviour.
|
||||
@@ -21,8 +23,8 @@ enum HeightmapRotation {
|
||||
HM_CLOCKWISE, ///< Rotate the map clockwise 45 degrees
|
||||
};
|
||||
|
||||
bool GetHeightmapDimensions(char *filename, uint *x, uint *y);
|
||||
void LoadHeightmap(char *filename);
|
||||
bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, uint *y);
|
||||
void LoadHeightmap(DetailedFileType dft, const char *filename);
|
||||
void FlatEmptyWorld(byte tile_height);
|
||||
void FixSlopes();
|
||||
|
||||
|
@@ -111,9 +111,9 @@ struct SelectGameWindow : public Window {
|
||||
}
|
||||
break;
|
||||
|
||||
case WID_SGI_LOAD_GAME: ShowSaveLoadDialog(SLD_LOAD_GAME); break;
|
||||
case WID_SGI_PLAY_SCENARIO: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break;
|
||||
case WID_SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break;
|
||||
case WID_SGI_LOAD_GAME: ShowSaveLoadDialog(FT_SAVEGAME, SLO_LOAD); break;
|
||||
case WID_SGI_PLAY_SCENARIO: ShowSaveLoadDialog(FT_SCENARIO, SLO_LOAD); break;
|
||||
case WID_SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(FT_HEIGHTMAP,SLO_LOAD); break;
|
||||
case WID_SGI_EDIT_SCENARIO: StartScenarioEditor(); break;
|
||||
|
||||
case WID_SGI_PLAY_NETWORK:
|
||||
|
@@ -31,6 +31,7 @@
|
||||
#include "object_base.h"
|
||||
#include "company_func.h"
|
||||
#include "pathfinder/npf/aystar.h"
|
||||
#include "saveload/saveload.h"
|
||||
#include <list>
|
||||
#include <set>
|
||||
|
||||
@@ -1221,7 +1222,7 @@ void GenerateLandscape(byte mode)
|
||||
|
||||
if (mode == GWM_HEIGHTMAP) {
|
||||
SetGeneratingWorldProgress(GWP_LANDSCAPE, steps + GLS_HEIGHTMAP);
|
||||
LoadHeightmap(_file_to_saveload.name);
|
||||
LoadHeightmap(_file_to_saveload.detail_ftype, _file_to_saveload.name);
|
||||
IncreaseGeneratingWorldProgress(GWP_LANDSCAPE);
|
||||
} else if (_settings_game.game_creation.land_generator == LG_TERRAGENESIS) {
|
||||
SetGeneratingWorldProgress(GWP_LANDSCAPE, steps + GLS_TERRAGENESIS);
|
||||
|
@@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi
|
||||
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Die OpenTTD span
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Die OpenTTD span
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel
|
||||
|
@@ -2320,7 +2320,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
|
||||
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
||||
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2015 فريق النسخة المفتوحة
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2016 فريق النسخة المفتوحة
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة
|
||||
|
@@ -2582,7 +2582,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa
|
||||
|
@@ -3020,7 +3020,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на
|
||||
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2015 Каманда распрацоўнікаў OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2016 Каманда распрацоўнікаў OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню
|
||||
@@ -3207,7 +3207,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Пера
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Папярэдні спрайт
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перайсьці да папярэдняга звычайнага спрайта, прапускаючы змяняючыя колер, шрыфтавыя, псэўдаспрайты. Пераход з пачатку сьпісу да апошняга спрайта.
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Прадстаўленьне выбранага спрайта. Выраўноўваньне не ўлічваецца пры прарысоўцы гэтага спрайта.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайце спрайт, зьмяняючы зрушэньне па X і па Y
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайце спрайт, зьмяняючы зрушэньне па X і па Y. Ctrl+пстрычка, каб зрушыць спрайт на восем адзінак за раз
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Скід зрушэння
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Скінуць значэнні адноснага зрушэння
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Зрушэнне X: {NUM}; зрушэнне Y: {NUM} (абсалютнае)
|
||||
|
@@ -1090,7 +1090,7 @@ STR_CITY_APPROVAL_HOSTILE :Hostil
|
||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}Não há IA compatíveis disponíveis...{}Você pode baixar várias IA's pelo sistema de 'Conteúdo Online'
|
||||
|
||||
# Settings tree window
|
||||
STR_CONFIG_SETTING_TREE_CAPTION :[WHITE}Configurações
|
||||
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configurações
|
||||
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtro:
|
||||
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Maximizar tudo
|
||||
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Minimizar tudo
|
||||
@@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr
|
||||
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 A equipe do OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 A equipe do OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo
|
||||
@@ -2875,7 +2875,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Vai para
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}"Sprite" anterior
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Retorna ao "sprite" normal anterior, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo do primeiro ao último
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do "sprite" atualmente selecionado. O alinhamento é ignorado ao desenhar esse "sprite"
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o "sprite", alterando os offsets X e Y
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o "sprite", alterando os offsets X e Y. Ctrl+Clique para mover o sprite 8 unidades por vez
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetar relativo
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reseta os offsets relativos atuais
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluto)
|
||||
|
@@ -2626,7 +2626,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр
|
||||
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта
|
||||
|
@@ -326,8 +326,8 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Mostra l
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Mostra la informació general de la companyia
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Mostra el llibre de partida
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Mostra la llista d'objectius
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Mostra gràfics de les empreses
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Mostra la taula de la lliga d'empreses
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Mostra gràfics de l'evolució de les companyies i les tarifes de transport.
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Mostra la taula de la lliga de companyies.
|
||||
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finança la construcció d'una nova indústria
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Mostra la llista de trens de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles.
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Mostra la llista de vehicles de la companyia. Ctrl+Clic commuta l'obertura de la llista de grups/vehicles.
|
||||
@@ -416,12 +416,12 @@ STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Gràfic de bene
|
||||
STR_GRAPH_MENU_INCOME_GRAPH :Gràfic d'ingressos
|
||||
STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gràfic d'entrega de càrrega
|
||||
STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gràfic històric de rendiment
|
||||
STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gràfic del valor de les empreses
|
||||
STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gràfic del valor de les companyies
|
||||
STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Tarifes de pagament per càrrega
|
||||
############ range ends here
|
||||
|
||||
############ range for company league menu starts
|
||||
STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Taula de la lliga d'empreses
|
||||
STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Taula de la lliga de companyies
|
||||
STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Detall de ratis de rendiment
|
||||
STR_GRAPH_MENU_HIGHSCORE :Taula de puntuacions
|
||||
############ range ends here
|
||||
@@ -436,7 +436,7 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Finança una no
|
||||
STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construcció de ferrocarril
|
||||
STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construcció de ferrocarril elèctric
|
||||
STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construcció de monorail
|
||||
STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construcció de Maglev
|
||||
STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construcció de maglev
|
||||
############ range ends here
|
||||
|
||||
############ range for road construction menu starts
|
||||
@@ -477,7 +477,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Captura de pant
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Captura de pantalla amb el zoom predeterminat
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de pantalla de tot el mapa
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Quant a l'OpenTTD
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador d'sprites
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador de sprites
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Commuta les caixes delimitadores
|
||||
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Commuta l'acoloriment de blocs bruts
|
||||
############ range ends here
|
||||
@@ -593,7 +593,7 @@ STR_GRAPH_KEY_CAPTION :{WHITE}Llegenda
|
||||
STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Clica aquí per mostrar/amagar la companyia al gràfic
|
||||
|
||||
# Company league window
|
||||
STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Taula de la lliga d'empreses
|
||||
STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Taula de la lliga de companyies
|
||||
STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} «{STRING}»
|
||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Enginyer
|
||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Director de trànsit
|
||||
@@ -683,8 +683,8 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clica la
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clica la pista de música per treure-la de la llista actual (només en llistes personalitzables)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Principals empreses en arribar al {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Taula de la lliga d'empreses a {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Principals companyies que han arribat al {NUM}
|
||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Taula de la lliga de companyies a {NUM}
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Empresari
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Emprenedor
|
||||
@@ -802,9 +802,9 @@ STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLAC
|
||||
STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}L'enfonsament d'una mina de carbó deixa un rastre de destrucció prop de {TOWN}!
|
||||
STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundacions{}Almenys {COMMA} desapareguts, possiblement morts, després de les inundacions!
|
||||
|
||||
STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de transport en dificultats!
|
||||
STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Companyia de transport en dificultats!
|
||||
STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ha de ser venuda o declarar-se en fallida a menys que el seu rendiment incrementi aviat!
|
||||
STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusió d'empreses de transport
|
||||
STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusió de companyies de transport
|
||||
STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} s'ha venut a {STRING} per {CURRENCY_LONG}!
|
||||
STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Fallida!
|
||||
STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ha estat tancada pels creditors i s'han venut tots els seus actius
|
||||
@@ -1232,11 +1232,11 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permet a les co
|
||||
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 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 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 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_ALLOW_GIVE_MONEY_HELPTEXT :Permet transferir diners entre companyies en el mode multijugador.
|
||||
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}
|
||||
@@ -1270,13 +1270,13 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quan està acti
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Els vehicles mai caduquen: {STRING}
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quan està activat, tots els models de vehicles continuen disponibles per sempre després de la seva introducció
|
||||
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenova el vehicle quan sigui vell: {STRING}
|
||||
STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quan està activat, un vehicle que arriba al final de la seva vida útil és automàticament substituït quan es compleixen les condicions d'autorenovació
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenova el vehicle {STRING} de la seva edat màxima
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Edat relativa a partir de la qual s'ha de considerar l'autorenovació del vehicle
|
||||
STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quan està activat, un vehicle que arriba al final de la seva vida útil és automàticament substituït quan es compleixen les condicions d'autorenovació.
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autorenova el vehicle {STRING} de la seva edat màxima.
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Edat a partir de la qual s'ha de considerar l'autorenovació del vehicle.
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mes{P 0 "" os} abans
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mes{P 0 "" os} després
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONEY :Mínim de diners per a renovacions automàtiques: {STRING}
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantitat mínima de diners que han de quedar al banc abans de considerar l'autorenovació de vehicles
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Estableix la quantitat mínima de diners que han de quedar al banc abans de considerar l'autorenovació de vehicles.
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION :Duració del missatge d'error: {STRING}
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duració dels missatges d'error mostrats en finestres vermelles. Alguns missatges d'error (crítics) no es tanquen automàticament i s'han de tancar manualment
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} segon{P 0 "" s}
|
||||
@@ -1375,7 +1375,7 @@ STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Desplaçament a
|
||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Activa el desplaçament del mapa arrossegant-lo amb el botó esquerre del ratolí. Això és especialment útil quan s'utilitzen pantalles tàctils
|
||||
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Desada automàtica: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona l'interval entre desades automàtiques de les partides
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecciona l'interval entre desades automàtiques de les partides.
|
||||
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Utilitza el format de data {STRING} per a guardar partides
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format de la data en els noms dels arxius de les partides que es guardin
|
||||
@@ -1392,7 +1392,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Totes les accio
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Tot menys les accions modificadores del paisatge
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Totes les accions
|
||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Mostra els grups en el llistat de vehicles de la companyia: {STRING}
|
||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa la utilització de llistes de vehicles avançades per agrupar vehicles
|
||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa la utilització de llistes avançades de vehicles per agrupar vehicles.
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Utilitza indicadors de càrrega: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecciona si els indicadors de càrrega seran mostrats sobre els vehicles en càrrega o descàrrega
|
||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostra horaris amb marques en lloc de dies: {STRING}
|
||||
@@ -1418,7 +1418,7 @@ STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Reprodueix un s
|
||||
STR_CONFIG_SETTING_SOUND_NEWS :Notícies: {STRING}
|
||||
STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Reprodueix un so quan apareix una notícia
|
||||
STR_CONFIG_SETTING_SOUND_NEW_YEAR :Cap d'any: {STRING}
|
||||
STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reprodueix un efecte de so al final de l'any quan apareix el resum financer de l'any de l'empresa en comparació amb l'anterior
|
||||
STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reprodueix un efecte de so al final de l'any quan apareix el resum financer de l'any de la companyia en comparació amb l'anterior
|
||||
STR_CONFIG_SETTING_SOUND_CONFIRM :Construcció: {STRING}
|
||||
STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Reprodueix un efecte de so quan es realitzin amb èxit construccions o altres accions
|
||||
STR_CONFIG_SETTING_SOUND_CLICK :Botons: {STRING}
|
||||
@@ -1441,23 +1441,23 @@ STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Màxim nombre d
|
||||
STR_CONFIG_SETTING_MAX_SHIPS :Màxim nombre de vaixells per companyia: {STRING}
|
||||
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Màxim nombre de vaixells que pot tenir una companyia
|
||||
|
||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desactiva trens per a les IA de l'ordinador: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activant aquesta opció fa que sigui impossible construir trens als jugadors IA de l'ordinador
|
||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desactiva automòbils per a les IA de l'ordinador: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activant aquesta opció fa que sigui impossible construir automòbils als jugadors IA de l'ordinador
|
||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactiva avions per a les IA de l'ordinador: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Activant aquesta opció fa que sigui impossible construir avions als jugadors IA de l'ordinador
|
||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desactiva vaixells per a les IA de l'ordinador: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activant aquesta opció fa que sigui impossible construir vaixells als jugadors IA de l'ordinador
|
||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desactiva els trens per a les IA: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activant aquesta opció fa que sigui impossible construir trens i altres vehicles que utilitzen rails als jugadors IA.
|
||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desactiva els vehicles de carretera per a les IA: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activant aquesta opció fa que sigui impossible construir automòbils i altres vehicles de carretera als jugadors IA.
|
||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desactiva les aeronaus per a les IA: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Activant aquesta opció fa que sigui impossible construir aeronaus als jugadors IA.
|
||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desactiva els vaixells per a les IA: {STRING}
|
||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activant aquesta opció fa que sigui impossible construir vaixells als jugadors IA.
|
||||
|
||||
STR_CONFIG_SETTING_AI_PROFILE :Perfil de paràmetres predeterminat: {STRING}
|
||||
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Escull quin perfil de paràmetres utilitzar per les IA aleatòries o com a valors inicials quan s'afegeix una nova IA o Script de la partida
|
||||
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Escolliu quin perfil de paràmetres utilitzar per les IA aleatòries o com a valors inicials quan s'afegeix una nova IA o script de la partida.
|
||||
STR_CONFIG_SETTING_AI_PROFILE_EASY :Fàcil
|
||||
STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Mitjà
|
||||
STR_CONFIG_SETTING_AI_PROFILE_HARD :Difícil
|
||||
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permet IA en multijugador: {STRING}
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permet a les IA de l'ordinador participar en partides multijugador
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permet a les IA participar en partides multijugador.
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes abans de suspendre els scripts: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Màxim nombre de passos de càlcul que un script pot fer en un torn
|
||||
|
||||
@@ -1486,7 +1486,7 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Arribada del pr
|
||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Mostra les notícies quan arribi el primer vehicle a una estació d'un competidor
|
||||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Accidents / desastres: {STRING}
|
||||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Mostra un diari quan passin accidents i desastres
|
||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informació de l'empresa: {STRING}
|
||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informació de la companyia: {STRING}
|
||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostra les notícies de companyies noves que es creen i de companyies en risc de fer fallida
|
||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Obertura d'indústries: {STRING}
|
||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Mostra les notícies d'aparicions d'indústries noves
|
||||
@@ -1520,8 +1520,8 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Any en què els
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Any d'inici: {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Activa economia suau (més canvis però més petits): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Quan està activat, els canvis de producció de la indústria són més habituals, i en passos més petits. Aquest paràmetre usualment no té efecte, si el tipus d'indústria estan proveïts per un NewGRF
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Permet comprar participacions d'altres empreses: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Quan està activat, permet comprar i vendre accions de les companyis. Les accions només estan disponibles per companyies d'una certa edat
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Permet comprar participacions d'altres companyies: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Permet comprar i vendre accions de les companyies. Les accions només estan disponibles per companyies d'una certa edat.
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentatge del benefici total a pagar en transferències: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentatge del benefici donat a branques intermediàries dins els sistemes, donant més control sobre els beneficis
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :En arrossegar, col·locar senyals cada: {STRING}
|
||||
@@ -1552,9 +1552,9 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :graella 2x2
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :graella 3x3
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatori
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Les poblacions poden construir carreteres: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permet a les poblacions construir carreteres per créixer. Desactiva-ho per prevenir que les autoritats de la població construeixin carreteres
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Les poblacions tenen permís per construir passos a nivell: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Activant aquesta opció es permet a les poblacions construir passos a nivell
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permet a les poblacions construir carreteres per créixer. Desactiveu aquesta opció per evitar que les poblacions construeixin carreteres.
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Les poblacions poden construir passos a nivell: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Activant aquesta opció, les poblacions podran construir passos a nivell.
|
||||
STR_CONFIG_SETTING_NOISE_LEVEL :Permet a la ciutat controlar el nivell de soroll dels aeroports: {STRING}
|
||||
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Amb aquesta opció desactivada, no podran haver-hi més de dos aeroports en una mateixa població. Amb aquesta opció activada, el nombre d'aeroports en cada població està limitat pel límit d'acceptació de soroll de la població, que depèn de la mida de l'aeroport i de la distància
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar poblacions durant la partida: {STRING}
|
||||
@@ -1687,7 +1687,7 @@ STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Poblaci
|
||||
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Indústries
|
||||
STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}Distribució de la càrrega
|
||||
STR_CONFIG_SETTING_AI :{ORANGE}Competidors
|
||||
STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jugadors de l'ordinador (IA)
|
||||
STR_CONFIG_SETTING_AI_NPC :{ORANGE}Jugadors IA
|
||||
|
||||
STR_CONFIG_SETTING_PATHFINDER_OPF :Original
|
||||
STR_CONFIG_SETTING_PATHFINDER_NPF :NPF
|
||||
@@ -1707,39 +1707,39 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Canvia e
|
||||
# Config errors
|
||||
STR_CONFIG_ERROR :{WHITE}S'ha produït un error en l'arxiu de configuració...
|
||||
STR_CONFIG_ERROR_ARRAY :{WHITE}...error en la matriu «{STRING}».
|
||||
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... valor invàlid '{STRING}' per '{STRING}'
|
||||
STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caràcters de fi al final de la configuració '{STRING}'
|
||||
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}...valor «{STRING}» invàlid per a «{STRING}».
|
||||
STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}...caràcters finals (espai, nova línia...) al final de la configuració de l'opció «{STRING}».
|
||||
STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}...s'ignorarà l'arxiu NewGRF «{STRING}» perquè l'identificador del GRF és el mateix que el de «{STRING}».
|
||||
STR_CONFIG_ERROR_INVALID_GRF :{WHITE}...s'ignorarà l'arxiu NewGRF invàlid «{STRING}»: {STRING}
|
||||
STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :no s'ha trobat.
|
||||
STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :insegur per a ús estàtic
|
||||
STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :insegur per a ús estàtic.
|
||||
STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :arxiu NewGRF compatible només amb el TTDPatch.
|
||||
STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :no és compatible amb aquesta versió de l'OpenTTD.
|
||||
STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :desconegut
|
||||
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... el nivell de compressió '{STRING}' no és vàlid
|
||||
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... el format de partida '{STRING}' no està disponible. Tornant a '{STRING}'
|
||||
STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :desconegut.
|
||||
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}...el nivell de compressió «{STRING}» no és vàlid.
|
||||
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}...el format de partida «{STRING}» no està disponible. Es revertirà a «{STRING}».
|
||||
STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}...s'ignorarà el conjunt de gràfics base «{STRING}» perquè no s'ha trobat.
|
||||
STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}...s'ignorarà el conjunt de sons base «{STRING}» perquè no s'ha trobat.
|
||||
STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}...s'ignorarà el conjunt de peces de música «{STRING}» perquè no s'ha trobat.
|
||||
STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memòria exhaurida
|
||||
STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}L'assignació de {BYTES} de la memòria cau d'sprites ha fallat. La memòria cau d'sprites s'ha reduït a {BYTES}. Això reduirà el rendiment d'OpenTTD. Per reduir els requeriments de memòria pots probar a desactivar els gràfics de 32bpp i/o els nivells amb zoom
|
||||
STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}L'assignació de {BYTES} de memòria cau de sprites ha fallat. S'ha reduït aquest tipus de memòria a {BYTES}. Això reduirà el rendiment de l'OpenTTD. Per reduir els requeriments de memòria, proveu de desactivar els gràfics de 32bpp i/o els nivells extra de zoom.
|
||||
|
||||
# Intro window
|
||||
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
|
||||
|
||||
STR_INTRO_NEW_GAME :{BLACK}Nova Partida
|
||||
STR_INTRO_LOAD_GAME :{BLACK}Carrega una Partida
|
||||
STR_INTRO_PLAY_SCENARIO :{BLACK}Juga un Escenari
|
||||
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Juga un Mapa d'Alçades
|
||||
STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor d'Escenaris
|
||||
STR_INTRO_NEW_GAME :{BLACK}Nova partida
|
||||
STR_INTRO_LOAD_GAME :{BLACK}Carrega una partida
|
||||
STR_INTRO_PLAY_SCENARIO :{BLACK}Juga un escenari
|
||||
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Juga un mapa d'alçades
|
||||
STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor d'escenaris
|
||||
STR_INTRO_MULTIPLAYER :{BLACK}Multijugador
|
||||
|
||||
STR_INTRO_GAME_OPTIONS :{BLACK}Opcions del Joc
|
||||
STR_INTRO_GAME_OPTIONS :{BLACK}Opcions del joc
|
||||
STR_INTRO_HIGHSCORE :{BLACK}Taula de rècords
|
||||
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configuració
|
||||
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Extensions NewGRF
|
||||
STR_INTRO_ONLINE_CONTENT :{BLACK}Contingut en Línia
|
||||
STR_INTRO_SCRIPT_SETTINGS :{BLACK}Paràmetres de les IA/Script de la Partida
|
||||
STR_INTRO_ONLINE_CONTENT :{BLACK}Contingut en línia
|
||||
STR_INTRO_SCRIPT_SETTINGS :{BLACK}Paràmetres de les IA/script de la partida
|
||||
STR_INTRO_QUIT :{BLACK}Surt
|
||||
|
||||
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Comença una partida nova. Ctrl+Clic salta la configuració del mapa
|
||||
@@ -1822,15 +1822,15 @@ STR_LIVERY_DEFAULT :Decoració est
|
||||
STR_LIVERY_STEAM :Locomotora a Vapor
|
||||
STR_LIVERY_DIESEL :Locomotora Dièsel
|
||||
STR_LIVERY_ELECTRIC :Locomotora Elèctrica
|
||||
STR_LIVERY_MONORAIL :Locomotora Monorail
|
||||
STR_LIVERY_MAGLEV :Locomotora Maglev
|
||||
STR_LIVERY_MONORAIL :Locomotora monorail
|
||||
STR_LIVERY_MAGLEV :Locomotora maglev
|
||||
STR_LIVERY_DMU :DMU
|
||||
STR_LIVERY_EMU :EMU
|
||||
STR_LIVERY_PASSENGER_WAGON_STEAM :Vagó de passatgers (Vapor)
|
||||
STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagó de passatgers (Dièsel)
|
||||
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagó de passatgers (Elèctric)
|
||||
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagó de Passatgers (Monorail)
|
||||
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagó de Passatgers (Maglev)
|
||||
STR_LIVERY_PASSENGER_WAGON_STEAM :Vagó de passatgers (vapor)
|
||||
STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagó de passatgers (dièsel)
|
||||
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagó de passatgers (elèctric)
|
||||
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagó de passatgers (monorail)
|
||||
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagó de passatgers (maglev)
|
||||
STR_LIVERY_FREIGHT_WAGON :Vagó de càrrega
|
||||
STR_LIVERY_BUS :Autobús
|
||||
STR_LIVERY_TRUCK :Camió
|
||||
@@ -1852,7 +1852,7 @@ STR_FACE_MALE_BUTTON :{BLACK}Home
|
||||
STR_FACE_MALE_TOOLTIP :{BLACK}Selecciona cares d'home
|
||||
STR_FACE_FEMALE_BUTTON :{BLACK}Dona
|
||||
STR_FACE_FEMALE_TOOLTIP :{BLACK}Selecciona cares de dona
|
||||
STR_FACE_NEW_FACE_BUTTON :{BLACK}Nova Cara
|
||||
STR_FACE_NEW_FACE_BUTTON :{BLACK}Nova cara
|
||||
STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Genera una nova cara aleatòria
|
||||
STR_FACE_ADVANCED :{BLACK}Avançat
|
||||
STR_FACE_ADVANCED_TOOLTIP :{BLACK}Selecció de cara avançada
|
||||
@@ -1915,7 +1915,7 @@ STR_NETWORK_SERVER_LIST_GENERAL_ONLINE :{BLACK}{COMMA}/
|
||||
STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Clients
|
||||
STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Clients en línia / clients màx.{}Companyies en línia / companyies màx.
|
||||
STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA}
|
||||
STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Mida del Mapa
|
||||
STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Mida del mapa
|
||||
STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Mida del mapa de la partida{}Clica per ordenar per àrea
|
||||
STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Data
|
||||
STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Data actual
|
||||
@@ -2024,9 +2024,9 @@ STR_NETWORK_LANG_LATVIAN :Letó
|
||||
STR_NETWORK_GAME_LOBBY_CAPTION :{WHITE}Lobby de partida multijugador
|
||||
|
||||
STR_NETWORK_GAME_LOBBY_PREPARE_TO_JOIN :{BLACK}Preparant per connectar: {ORANGE}{STRING}
|
||||
STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}Una llista de totes les empreses actuals en aquesta partida. Pots utilitzar-ne una o bé iniciar-ne una de nova si hi ha algun lloc lliure
|
||||
STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}Una llista de totes les companyies actuals en aquesta partida. Podeu utilitzar-ne una o bé iniciar-ne una de nova si hi ha algun lloc lliure.
|
||||
|
||||
STR_NETWORK_GAME_LOBBY_COMPANY_INFO :{SILVER}INFORMACIÓ DE L'EMPRESA
|
||||
STR_NETWORK_GAME_LOBBY_COMPANY_INFO :{SILVER}INFORMACIÓ DE LA COMPANYIA
|
||||
STR_NETWORK_GAME_LOBBY_COMPANY_NAME :{SILVER}Nom companyia: {WHITE}{STRING}
|
||||
STR_NETWORK_GAME_LOBBY_INAUGURATION_YEAR :{SILVER}Inauguració: {WHITE}{NUM}
|
||||
STR_NETWORK_GAME_LOBBY_VALUE :{SILVER}Valor de la companyia: {WHITE}{CURRENCY_LONG}
|
||||
@@ -2038,8 +2038,8 @@ STR_NETWORK_GAME_LOBBY_VEHICLES :{SILVER}Vehicle
|
||||
STR_NETWORK_GAME_LOBBY_STATIONS :{SILVER}Estacions: {WHITE}{NUM} {TRAIN}, {NUM} {LORRY}, {NUM} {BUS}, {NUM} {SHIP}, {NUM} {PLANE}
|
||||
STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Jugadors: {WHITE}{STRING}
|
||||
|
||||
STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Nova Empresa
|
||||
STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Obre una nova Empresa
|
||||
STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Crea companyia nova
|
||||
STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Obre una nova companyia.
|
||||
STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Espectador
|
||||
STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Veure la partida com a espectador
|
||||
STR_NETWORK_GAME_LOBBY_JOIN_COMPANY :{BLACK}Uneix-te a la companyia
|
||||
@@ -2065,11 +2065,11 @@ STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES}
|
||||
|
||||
STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconnecta
|
||||
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegit. Entra la contrasenya
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Entra la contrasenya
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegit: escriviu-ne la contrasenya
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Companyia protegida: escriviu-ne la contrasenya
|
||||
|
||||
# Network company list added strings
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :{WHITE}Llista de Clients
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :{WHITE}Llista de clients
|
||||
STR_NETWORK_COMPANY_LIST_SPECTATE :{WHITE}Espectador
|
||||
STR_NETWORK_COMPANY_LIST_NEW_COMPANY :{WHITE}Nova companyia
|
||||
|
||||
@@ -2078,7 +2078,7 @@ STR_NETWORK_CLIENTLIST_KICK :Breu
|
||||
STR_NETWORK_CLIENTLIST_BAN :Prohibit
|
||||
STR_NETWORK_CLIENTLIST_GIVE_MONEY :Entrega diners
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Parla a tothom
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Parla a l'Empresa
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Parla amb la companyia
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Missatge Privat
|
||||
|
||||
STR_NETWORK_SERVER :Servidor
|
||||
@@ -2207,7 +2207,7 @@ STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Deselecc
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marca tots els continguts a no ser descarregats
|
||||
STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Cerca en webs externes
|
||||
STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Cerca contingut no disponible al servei de continguts d'OpenTTD en webs no associades amb OpenTTD
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Estàs sortint d'OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Estàs sortint de l'OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Els termes i condicions per descarregar contingut des de webs externes varia.{}Hauràs d'adreçar-te a les webs externes per trobar instruccions sobre com instal·lar contingut a OpenTTD.{}Vols continuar?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Marca/anomena filtre:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visita la web
|
||||
@@ -2306,10 +2306,10 @@ STR_JOIN_WAYPOINT_CAPTION :{WHITE}Uneix pu
|
||||
STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Construeix un punt de pas separat
|
||||
|
||||
# Rail construction toolbar
|
||||
STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construcció de Ferrocarril
|
||||
STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construcció de Ferrocarril Elèctric
|
||||
STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construcció de Monorail
|
||||
STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construcció de Maglev
|
||||
STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construcció de ferrocarril
|
||||
STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construcció de ferrocarril elèctric
|
||||
STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construcció de monorail
|
||||
STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construcció de maglev
|
||||
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construeix vies de tren. Ctrl canvia entre contrueix/treu la construcció de vies. Shift commuta construeix/mostra el cost estimat
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construeix vies de tren utilitzant el mode Autorail. Ctrl canvia entre construeix/treu la construcció de vies de tren. Shift commuta construeix/mostra el cost estimat
|
||||
@@ -2333,7 +2333,7 @@ STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Seleccio
|
||||
|
||||
# Rail waypoint construction window
|
||||
STR_WAYPOINT_CAPTION :{WHITE}Punt de pas
|
||||
STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Selecciona tipus de punt de control
|
||||
STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Selecciona el tipus de punt de pas.
|
||||
|
||||
# Rail station construction window
|
||||
STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Estacions de Tren
|
||||
@@ -2433,8 +2433,8 @@ STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construe
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construeix un port. Ctrl permet ajuntar estacions. Shift commuta construeix/mostra el cost estimat
|
||||
STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Situa una boia que pot ser útil per fer punts de control addicionals. Shift commuta construeix/mostra el cost estimat
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK} Construeix aqüeducte. Shift commuta construeix/mostra el cost estimat
|
||||
STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Defineix l'àrea d'aigua.{}Fa un canal, excepte si CTRL està polsat al nivell de mar, llavors s'inundaran els voltants
|
||||
STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Situa rius
|
||||
STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Defineix caselles com a canals d'aigua.{}Amb Ctrl+Clic a nivell de mar, es defineix una casella de mar i s'inundaran els seus voltants.
|
||||
STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Crea rius i caselles d'aigua.
|
||||
|
||||
# Ship depot construction window
|
||||
STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Drassanes
|
||||
@@ -2450,7 +2450,7 @@ STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construe
|
||||
# Airport construction window
|
||||
STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Aeroports
|
||||
STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Selecciona mida/tipus d'aeroport
|
||||
STR_STATION_BUILD_AIRPORT_CLASS_LABEL :{BLACK}Classe d'Aeroport
|
||||
STR_STATION_BUILD_AIRPORT_CLASS_LABEL :{BLACK}Classe d'aeroport
|
||||
STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Disposició {NUM}
|
||||
|
||||
STR_AIRPORT_SMALL :Petit
|
||||
@@ -2681,22 +2681,22 @@ STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Aqüeducte
|
||||
|
||||
STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Repetidor
|
||||
STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Far
|
||||
STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Seu de l'Empresa
|
||||
STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propietat de l'Empresa
|
||||
STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Seu de la companyia
|
||||
STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propietat de l'empresa
|
||||
|
||||
# About OpenTTD window
|
||||
STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats.
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versió {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 L'equip de l'OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 L'equip de l'OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida
|
||||
STR_SAVELOAD_LOAD_CAPTION :{WHITE}Carrega una Partida
|
||||
STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Desa l'Escenari
|
||||
STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Carrega un Escenari
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Carrega un Mapa d'alçades
|
||||
STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Desa Mapa d'alçades
|
||||
STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Desa l'escenari
|
||||
STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Carrega un escenari
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Carrega un mapa d'alçades
|
||||
STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Desa el mapa d'alçades
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Clica aquí per anar a la carpeta predeterminada de desa/carrega actual
|
||||
STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} lliures
|
||||
STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Llista de dispositius de disc, carpetes i arxius de partides desades
|
||||
@@ -2773,7 +2773,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Canvia l
|
||||
# Map generation progress
|
||||
STR_GENERATION_WORLD :{WHITE}Generant món...
|
||||
STR_GENERATION_ABORT :{BLACK}Avorta
|
||||
STR_GENERATION_ABORT_CAPTION :{WHITE}Avorta la Generació del Món
|
||||
STR_GENERATION_ABORT_CAPTION :{WHITE}Avorta la generació del mapa
|
||||
STR_GENERATION_ABORT_MESSAGE :{YELLOW}Realment vols avortar la generació?
|
||||
STR_GENERATION_PROGRESS :{WHITE}{NUM}% complet
|
||||
STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM}
|
||||
@@ -2907,11 +2907,11 @@ STR_NEWGRF_ERROR_INVALID_ID :Intent d'utilit
|
||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} conté un sprite corrupte. Tots els sprites corruptes seran mostrats amb un interrogant vermell (?)
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Conté múltiples entrades d'acció 8 (sprite {3:NUM})
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :S'ha llegit després del final d'un pseudo-sprite (sprite {3:NUM})
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Al joc de gràfics base establert actualment li falten un nombre d'sprites.{}Si us plau actualitza el joc de gràfics base
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Als gràfics base actualment utilitzats els hi falta un nombre d'sprites.{}Si us plau actualitza el conjunt de gràfics base.{}Com que estàs jugant amb una {YELLOW}versió de desenvolupament d'OpenTTD{WHITE}, pot ser que necessitis una {YELLOW}versió de desenvolupament dels gràfics base{WHITE}
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Al joc de gràfics base establert actualment li falten un nombre de sprites.{}Si us plau, actualitzeu el joc de gràfics base.
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Als gràfics base actualment utilitzats els hi falta un nombre de sprites.{}Si us plau, actualitzeu el conjunt de gràfics base.{}Com que esteu jugant amb una {YELLOW}versió de desenvolupament de l'OpenTTD{WHITE}, pot ser que necessiteu una {YELLOW}versió de desenvolupament dels gràfics base{WHITE}.
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Els recursos GRF demanats no estan disponibles (sprite {3:NUM})
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} ha estat desactivat per {STRING}
|
||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Format de disposició d'sprite invàlid/desconegut (sprite {3:NUM})
|
||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Format de disposició de sprite no vàlid o desconegut (sprite {3:NUM}).
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Alerta!
|
||||
@@ -3009,7 +3009,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Canvia el nom d
|
||||
|
||||
# Town local authority window
|
||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} autoritat local
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ratis de l'Empresa de Transports:
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ratis de la companyia de transports:
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Accions disponibles:
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Llista de coses per fer en aquesta població - clica en un ítem per més detalls
|
||||
@@ -3172,12 +3172,12 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Evita qu
|
||||
|
||||
# Waypoint/buoy view window
|
||||
STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT}
|
||||
STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centra la vista principal al lloc del punt de control. Ctrl+Clic obre una nova vista al lloc del punt de control
|
||||
STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Canvia el nom del punt de trobada
|
||||
STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centra la vista principal al lloc del punt de pas. Amb Ctrl+Clic, obre una nova vista al lloc del punt de pas.
|
||||
STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Canvia el nom del punt de pas
|
||||
STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centra la vista principal en la boia. Amb Ctrl+Clic, obre una nova vista centrada en la boia.
|
||||
STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Canvia el nom de la boia
|
||||
|
||||
STR_EDIT_WAYPOINT_NAME :{WHITE}Edita nom del punt de pas
|
||||
STR_EDIT_WAYPOINT_NAME :{WHITE}Edita el nom del punt de pas
|
||||
|
||||
# Finances window
|
||||
STR_FINANCES_CAPTION :{WHITE}Finances de {COMPANY} {BLACK}{COMPANY_NUM}
|
||||
@@ -3302,14 +3302,14 @@ STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produeix
|
||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||
############ range for produces ends
|
||||
|
||||
STR_CONFIG_GAME_PRODUCTION :{WHITE}Canvia producció (múltiple de 8, fins a 2040)
|
||||
STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Canvia el nivell de producció (percentatge, fins al 800%)
|
||||
STR_CONFIG_GAME_PRODUCTION :{WHITE}Canvia la producció (múltiple de 8, fins a 2040)
|
||||
STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Canvia el nivell de producció (en percentatge, fins a 800%)
|
||||
|
||||
# Vehicle lists
|
||||
STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Trens
|
||||
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Vehicles
|
||||
STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} Vaixells
|
||||
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Avions
|
||||
STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} tren{P "" s}
|
||||
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} vehicle{P "" s}
|
||||
STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} vaixell{P "" s}
|
||||
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} aeronau{P "" s}
|
||||
|
||||
STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Trens - clica al tren per més informació
|
||||
STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Automòbils - clica en un vehicle per més informació
|
||||
@@ -3318,26 +3318,26 @@ STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Avió -
|
||||
|
||||
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Benefici enguany: {CURRENCY_LONG} (darrer any: {CURRENCY_LONG})
|
||||
|
||||
STR_VEHICLE_LIST_AVAILABLE_TRAINS :Trens Disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Vehicles Disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_SHIPS :Vaixells Disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Avions Disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_TRAINS :Trens disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Vehicles disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_SHIPS :Vaixells disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Avions disponibles
|
||||
STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Veure una llista dels models disponibles per aquest tipus de vehicle
|
||||
|
||||
STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Administra llista
|
||||
STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Administra la llista
|
||||
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Envia instruccions a tots els vehicles de la llista
|
||||
STR_VEHICLE_LIST_REPLACE_VEHICLES :Substitueix Vehicles
|
||||
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Enviar a fer Revisió
|
||||
STR_VEHICLE_LIST_REPLACE_VEHICLES :Substitueix vehicles
|
||||
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Envia a fer revisió
|
||||
|
||||
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Enviar a la Cotxera
|
||||
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Enviar a la Cotxera
|
||||
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Enviar a la Drassana
|
||||
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Enviar a l'Hangar
|
||||
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Envia a la cotxera
|
||||
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Envia a la cotxera
|
||||
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Envia a la drassana
|
||||
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Envia a l'hangar
|
||||
|
||||
STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Clica per parar tots els vehicles de la llista
|
||||
STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Clica per engegar tots els vehicles de la llista
|
||||
|
||||
STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Ordres compartides de {COMMA} Vehicle{P "" s}
|
||||
STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Ordres compartides de {COMMA} vehicle{P "" s}
|
||||
|
||||
# Group window
|
||||
STR_GROUP_ALL_TRAINS :Tots els trens
|
||||
@@ -3384,7 +3384,7 @@ STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Cost d'u
|
||||
STR_PURCHASE_INFO_CAPACITY :{BLACK}Capacitat: {GOLD}{CARGO_LONG} {STRING}
|
||||
STR_PURCHASE_INFO_REFITTABLE :(remodelable)
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Dissenyat: {GOLD}{NUM}{BLACK} Vida: {GOLD}{COMMA} any{P "" s}
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Màx. Fiabilitat: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Fiabilitat màxima: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Cost: {GOLD}{CURRENCY_LONG}
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Pes: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} Velocitat: {GOLD}{VELOCITY}
|
||||
@@ -3393,13 +3393,13 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagons A
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Remodelable a: {GOLD}{STRING}
|
||||
STR_PURCHASE_INFO_ALL_TYPES :Totes les càrregues
|
||||
STR_PURCHASE_INFO_ALL_BUT :Tots menys {CARGO_LIST}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Màx. Esforç de Tracció: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Esforç de tracció màxim: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Abast: {GOLD}{COMMA} cel·les
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Llista de selecció de trens i vagons. Clica al vehicle per més informació. Ctrl+Click per a alternar entre mostrar/ocultar el vehicle ferroviari
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Llista de models de vehicles de carretera. Clica sobre el model per més informació. Amb Ctrl+Clic, commuta entre mostrar o ocultar el model.
|
||||
STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Llista de models de vaixells. Clica sobre el model per més informació. Amb Ctrl+Clic, commuta entre mostrar o ocultar el model.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Llista de selecció d'aeronaus. Clica sobre l'aeronau per més informació. Amb Ctrl+Clic, commuta entre mostrar o ocultar l'aeronau.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Llista de models d'aeronaus. Cliqueu sobre l'aeronau per més informació. Amb Ctrl+Clic, commuta entre mostrar o ocultar l'aeronau.
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Compra el tren/vagó
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Compra el vehicle
|
||||
@@ -3409,7 +3409,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Compra l
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el tren/vagó seleccionat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el vehicle marcat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el vaixell seleccionat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Compra l'avió marcat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Compra l'aeronau marcada. Amb Maj+Clic, mostra el cost estimat sense comprar-la.
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Canvia el nom
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Canvia el nom
|
||||
@@ -3567,8 +3567,8 @@ STR_REPLACE_HELP_RAILTYPE :{BLACK}Tria el
|
||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostra quin model dels seleccionats a l'esquerra es substitueix, si n'hi ha
|
||||
STR_REPLACE_RAIL_VEHICLES :Trens de Vapor i Dièsel
|
||||
STR_REPLACE_ELRAIL_VEHICLES :Trens Elèctrics
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Trens Monorail
|
||||
STR_REPLACE_MAGLEV_VEHICLES :Trens Maglev
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Trens monorail
|
||||
STR_REPLACE_MAGLEV_VEHICLES :Trens maglev
|
||||
|
||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Treure vagons: {ORANGE}{STRING}
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fer que la substitució automàtica mantingui la llargada del tren eliminant vagons (començant pel front), si substituint la màquina el tren es fa més llarg
|
||||
@@ -3653,10 +3653,10 @@ STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Anys: {L
|
||||
STR_VEHICLE_INFO_AGE :{COMMA} any{P "" s} ({COMMA})
|
||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} any{P "" s} ({COMMA})
|
||||
|
||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Vel. Màx.: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Vel. màx.: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Vel. màx: {LTBLUE}{VELOCITY} {BLACK}Abast: {LTBLUE}{COMMA} cel·les
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Pes: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. Màx: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pes: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. Màx: {LTBLUE}{VELOCITY} {BLACK}Màx. E.T.: {LTBLUE}{FORCE}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pes: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. màx: {LTBLUE}{VELOCITY} {BLACK}E.T. màx.: {LTBLUE}{FORCE}
|
||||
|
||||
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Benefici d'aquest any: {LTBLUE}{CURRENCY_LONG} (darrer any: {CURRENCY_LONG})
|
||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilitat: {LTBLUE}{COMMA}% {BLACK}Avaries des de la darrera revisió: {LTBLUE}{COMMA}
|
||||
@@ -3667,7 +3667,7 @@ STR_VEHICLE_INFO_CAPACITY :{BLACK}Capacita
|
||||
STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Capacitat: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM})
|
||||
STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacitat: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING}
|
||||
|
||||
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transferir Crèdits: {LTBLUE}{CURRENCY_LONG}
|
||||
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transferir crèdits: {LTBLUE}{CURRENCY_LONG}
|
||||
|
||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Interval de les revisions: {LTBLUE}{COMMA}{NBSP}dies{BLACK} Darrera revisió: {LTBLUE}{DATE_LONG}
|
||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Interval de les revisions: {LTBLUE}{COMMA}%{BLACK} Darrera revisió: {LTBLUE}{DATE_LONG}
|
||||
@@ -3976,8 +3976,8 @@ STR_AI_GAME_SCRIPT :{BLACK}Script d
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Mostra el registre de l'script de partida.
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :No s'ha trobat una IA adequada per carregar.{}Aquesta IA és una IA falsa i no farà res.{}Pots descarregar diverses IA via el sistema de "Contingut en línia"
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Un dels scripts executant-se s'ha penjat. Si us plau, reporta això a l'autor de l'script amb una captura de pantalla de la finestra de depuració IA/Script de la Partida
|
||||
STR_ERROR_AI_DEBUG_SERVER_ONLY :{WHITE}Configuració de les IA/Script de la Partida
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Un dels scripts executant-se s'ha penjat. Si us plau, informeu-ne a l'autor de l'script amb una captura de pantalla de la finestra de depuració IA/script de la partida.
|
||||
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La finestra de depuració de les IA i l'script de la partida només està disponible al servidor.
|
||||
|
||||
# AI configuration window
|
||||
STR_AI_CONFIG_CAPTION :{WHITE}Configuració de la IA/script de partida
|
||||
@@ -4094,7 +4094,7 @@ STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... no s
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... l'imatge és massa gran
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Alerta d'escala
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}No es recomana redimensionar massa el mapa d'origen. Vols continuar amb la generació?
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}No es recomana redimensionar massa el mapa d'origen. Voleu continuar amb la generació?
|
||||
|
||||
# Soundset messages
|
||||
STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Només s'ha trobat el conjunt de sons buit. Si vols sons al joc, instal·la un conjunt de sons amb el sistema de descàrregues de continguts en línia
|
||||
@@ -4113,7 +4113,7 @@ STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Missatg
|
||||
# Generic construction errors
|
||||
STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora del marc del mapa
|
||||
STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Massa prop del marc del mapa
|
||||
STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}No tens prou diners - et fan falta {CURRENCY_LONG}
|
||||
STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}...no teniu prou diners - us fan falta {CURRENCY_LONG}.
|
||||
STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}Es necessita un terreny pla
|
||||
STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreny inclinat en direcció incorrecta
|
||||
STR_ERROR_CAN_T_DO_THIS :{WHITE}Això no es pot fer...
|
||||
@@ -4126,9 +4126,9 @@ STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... l'à
|
||||
STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... s'ha arribat al límit de neteja de paisatge
|
||||
STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... s'ha arribat al límit de neteja de cel·les
|
||||
STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... s'ha arribat al límit de plantat d'arbres
|
||||
STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}El nom ha de ser únic
|
||||
STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}...el nom ha de ser únic.
|
||||
STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} en el camí
|
||||
STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}No està permès mentre s'està en pausa
|
||||
STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}...no està permès mentre s'està en pausa.
|
||||
|
||||
# Local authority errors
|
||||
STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}Les autoritats locals de {TOWN} no permeten fer això
|
||||
@@ -4170,7 +4170,7 @@ STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}No es po
|
||||
STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... massa prop del límit del mapa
|
||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... massa prop d'una altra població
|
||||
STR_ERROR_TOO_MANY_TOWNS :{WHITE}... massa poblacions
|
||||
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... no queda espai al mapa
|
||||
STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}...no queda espai al mapa.
|
||||
STR_ERROR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}La població no construirà carrers. Pots activar la construcció de carrers via Configuració->Interacció amb l'entorn->Poblacions
|
||||
STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Obres en progrés
|
||||
STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}No es pot eliminar aquesta població...{}Hi ha una estació, un dipòsit o una cel·la pertanyent a la població que no pot ser eliminada
|
||||
@@ -4182,7 +4182,7 @@ STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}No es po
|
||||
STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Aquí no es pot construir {STRING}...
|
||||
STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Aquí no es pot construir aquest tipus d'indústria...
|
||||
STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... massa prop d'altres indústries
|
||||
STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... primer has de construir la població
|
||||
STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}...abans s'ha de fundar una població.
|
||||
STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... només un permès per població
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... només es pot construir en poblacions de més de 1200 hab.
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... només es pot construir en àrees de selva tropical
|
||||
@@ -4224,21 +4224,21 @@ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les
|
||||
|
||||
# Station destruction related errors
|
||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No es pot treure part de la estació...
|
||||
STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Primer has de treure la via de l'estació
|
||||
STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}...abans s'ha de treure l'estació de rail.
|
||||
STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}No es pot treure l'estació d'autobusos...
|
||||
STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}No es pot treure l'estació de camions...
|
||||
STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}No puc treure l'estació de tramvies de passatgers
|
||||
STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}No puc treure l'estació de tramvies de mercaderies
|
||||
STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Primer has de treure la parada
|
||||
STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}...abans s'ha de treure la parada.
|
||||
STR_ERROR_THERE_IS_NO_STATION :{WHITE}... aquí no hi ha estació
|
||||
|
||||
STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Primer has d'enderrocar l'estació de tren
|
||||
STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Primer has d'enderrocar la parada d'autobús
|
||||
STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Primer has d'enderrocar l'estació de mercaderies
|
||||
STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Primer has de demolir l'estació de tramvies de passatgers
|
||||
STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Primer has de demolir l'estació de tramvies de mercaderies
|
||||
STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Primer has d'enderrocar el moll
|
||||
STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Primer has d'enderrocar l'aeroport
|
||||
STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}...primer s'ha d'enderrocar l'estació de tren.
|
||||
STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}...abans s'ha d'enderrocar la parada d'autobús.
|
||||
STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}...abans s'ha d'enderrocar l'estació de mercaderies.
|
||||
STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}...abans s'ha d'enderrocar l'estació de tramvia de passatgers.
|
||||
STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}...abans s'ha d'enderrocar l'estació de tramvia de mercaderies.
|
||||
STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}...abans s'ha d'enderrocar el moll.
|
||||
STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}...abans s'ha d'enderrocar l'aeroport.
|
||||
|
||||
# Waypoint related errors
|
||||
STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Més d'un punt de pas existent adjunt
|
||||
@@ -4246,10 +4246,10 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Massa pr
|
||||
|
||||
STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Aquí no es pot construir un punt de pas de tren...
|
||||
STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Aquí no es pot situar una boia...
|
||||
STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}No es pot canviar el nom del punt de control...
|
||||
STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}No es pot canviar el nom del punt de pas...
|
||||
|
||||
STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Aquí no es pot treure un punt de pas de tren...
|
||||
STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Primer s'ha de treure la via punt de control
|
||||
STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}...abans s'ha de treure el punt de pas.
|
||||
STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... boia en el camí
|
||||
STR_ERROR_BUOY_IS_IN_USE :{WHITE}... boia en ús per una altra companyia!
|
||||
|
||||
@@ -4286,9 +4286,9 @@ STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(límit de dine
|
||||
|
||||
# Rail construction errors
|
||||
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Combinació de vies impossible
|
||||
STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Abans s'han de treure els senyals
|
||||
STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}...abans s'han de treure els senyals.
|
||||
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Via de tren no apropiada
|
||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}S'ha de treure la via primer
|
||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}...abans s'ha de treure la via.
|
||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}La carretera és un d'un sol sentit o està bloquejada
|
||||
STR_ERROR_CROSSING_DISALLOWED :{WHITE}Els passos a nivell no estan permesos en aquest tipus de via
|
||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Aquí no es poden construir senyals...
|
||||
@@ -4302,7 +4302,7 @@ STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... no h
|
||||
STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Aquí no es pot convertir el tipus de via...
|
||||
|
||||
# Road construction errors
|
||||
STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}S'ha de treure la carretera primer
|
||||
STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}...abans s'ha de treure la carretera.
|
||||
STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... les carreteres de sentit únic no poden tenir encreuaments
|
||||
STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Aquí no es pot construir una carretera...
|
||||
STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}No puc construir la via de tramvia aquí...
|
||||
@@ -4315,12 +4315,12 @@ STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... no h
|
||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Aquí no es poden construir canals...
|
||||
STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Aquí no es pot construir una resclosa...
|
||||
STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Aquí no es poden posar rius...
|
||||
STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... s'han de construir sobre l'aigua
|
||||
STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}...s'ha de construir sobre l'aigua.
|
||||
STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... no es pot construir sobre l'aigua
|
||||
STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... no es pot construir a mar obert
|
||||
STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... no es pot construir sobre el canal
|
||||
STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... no es pot construir sobre el riu
|
||||
STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Has de demolir el canal primer
|
||||
STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}...abans s'ha d'enderrocar el canal.
|
||||
STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Aquí no es pot construir un aqüeducte...
|
||||
|
||||
# Tree related errors
|
||||
@@ -4330,7 +4330,7 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Aquí no
|
||||
|
||||
# Bridge related errors
|
||||
STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Aquí no es pot construir el pont...
|
||||
STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Primer has d'enderrocar el pont
|
||||
STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}...abans s'ha d'enderrocar el pont.
|
||||
STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}No es pot començar i acabar a la mateixa posició
|
||||
STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Les capçaleres del pont no són al mateix nivell
|
||||
STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}El pont és massa baix pel terreny
|
||||
@@ -4343,7 +4343,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}El pont
|
||||
# Tunnel related errors
|
||||
STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Aquí no es pot construir el túnel...
|
||||
STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Lloc inadequat per l'entrada del túnel
|
||||
STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Primer has d'enderrocar el túnel
|
||||
STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}...abans s'ha d'enderrocar el túnel.
|
||||
STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Un altre túnel en el camí
|
||||
STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}El túnel acabarà fora del mapa
|
||||
STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Impossible excavar la terra a l'altre extrem del túnel
|
||||
@@ -4432,7 +4432,7 @@ STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}No s'ha
|
||||
STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}L'avió està volant
|
||||
|
||||
# Order related errors
|
||||
STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}No hi ha més espai per ordres
|
||||
STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}...no hi ha més espai disponible per ordres.
|
||||
STR_ERROR_TOO_MANY_ORDERS :{WHITE}Massa ordres
|
||||
STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}No es pot afegir una nova ordre...
|
||||
STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}No es pot esborrar aquesta ordre...
|
||||
@@ -4487,9 +4487,9 @@ STR_TOWN_BUILDING_NAME_STATUE_1 :Estàtua
|
||||
STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Font
|
||||
STR_TOWN_BUILDING_NAME_PARK_1 :Parc
|
||||
STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Bloc d'oficines
|
||||
STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Botigues i Oficines
|
||||
STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Botigues i oficines
|
||||
STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Edifici d'oficines modern
|
||||
STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Gran Magatzem
|
||||
STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Magatzem gran
|
||||
STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Bloc d'oficines
|
||||
STR_TOWN_BUILDING_NAME_STADIUM_1 :Estadi
|
||||
STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Cases velles
|
||||
@@ -4504,11 +4504,11 @@ STR_TOWN_BUILDING_NAME_STADIUM_2 :Estadi
|
||||
STR_TOWN_BUILDING_NAME_OFFICES_1 :Oficines
|
||||
STR_TOWN_BUILDING_NAME_HOUSES_2 :Cases
|
||||
STR_TOWN_BUILDING_NAME_CINEMA_1 :Cine
|
||||
STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Grans Magatzems
|
||||
STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Grans magatzems
|
||||
STR_TOWN_BUILDING_NAME_IGLOO_1 :Iglú
|
||||
STR_TOWN_BUILDING_NAME_TEPEES_1 :Tipis
|
||||
STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Casa-Tetera
|
||||
STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Banc-Guardiola Porquet
|
||||
STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Casa-tetera
|
||||
STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Banc-guardiola porquet
|
||||
|
||||
##id 0x4800
|
||||
# industry names
|
||||
@@ -4554,7 +4554,7 @@ STR_INDUSTRY_NAME_SUGAR_MINE :{G=Femenin}Mina
|
||||
############ These strings may never get a new id, or savegames will break!
|
||||
##id 0x6000
|
||||
STR_SV_EMPTY :
|
||||
STR_SV_UNNAMED :Sense Nom
|
||||
STR_SV_UNNAMED :Sense nom
|
||||
STR_SV_TRAIN_NAME :{G=Masculin}Tren {COMMA}
|
||||
STR_SV_ROAD_VEHICLE_NAME :{G=Masculin}Automòbil {COMMA}
|
||||
STR_SV_SHIP_NAME :{G=Masculin}Vaixell {COMMA}
|
||||
@@ -4619,95 +4619,95 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Elèct
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :{G=Masculin}Vagó per Passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :{G=Masculin}Vagó per Correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :{G=Masculin}Vagó per Carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :{G=Masculin}Tanc de Petroli
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :{G=Masculin}Vagó per Bestiar
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :{G=Masculin}Vagó de Mercaderies
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :{G=Masculin}Vagó per Gra
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :{G=Masculin}Vagó per Fusta
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :{G=Masculin}Vagó per Mineral de Ferro
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :{G=Masculin}Vagó per Acer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :{G=Masculin}Vagó Blindat
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :{G=Masculin}Vagó per Queviures
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :{G=Masculin}Vagó per Paper
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :{G=Masculin}Vagó per Mineral de Coure
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WATER_TANKER :{G=Masculin}Tanc d'Aigua
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :{G=Masculin}Vagó per Fruita
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_RUBBER_TRUCK :{G=Masculin}Vagó per Cautxú
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_SUGAR_TRUCK :{G=Masculin}Vagó per Sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :{G=Masculin}Vagó per Cotó de Sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOFFEE_HOPPER :{G=Masculin}Vagó per Caramels
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BUBBLE_VAN :{G=Masculin}Vagó per Bombolles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :{G=Masculin}Tanc per Refresc
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_CANDY_VAN :{G=Masculin}Vagó per Dolços
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :{G=Masculin}Vagó per Joguines
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :{G=Masculin}Vagó per Piles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó per Begudes Gasoses
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :{G=Masculin}Vagó per Plàstic
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :{G=Masculin}Vagó de passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :{G=Masculin}Vagó de correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :{G=Masculin}Vagó de carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_OIL_TANKER :{G=Masculin}Tanc de petroli
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_LIVESTOCK_VAN :{G=Masculin}Vagó de bestiar
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GOODS_VAN :{G=Masculin}Vagó de mercaderies
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_GRAIN_HOPPER :{G=Masculin}Vagó de gra
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WOOD_TRUCK :{G=Masculin}Vagó de fusta
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_IRON_ORE_HOPPER :{G=Masculin}Vagó de mineral de ferro
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :{G=Masculin}Vagó d'acer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :{G=Masculin}Vagó blindat
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :{G=Masculin}Vagó de queviures
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :{G=Masculin}Vagó de paper
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :{G=Masculin}Vagó de mineral de coure
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WATER_TANKER :{G=Masculin}Tanc d'aigua
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :{G=Masculin}Vagó de fruita
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_RUBBER_TRUCK :{G=Masculin}Vagó de cautxú
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_SUGAR_TRUCK :{G=Masculin}Vagó de sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :{G=Masculin}Vagó de cotó de sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOFFEE_HOPPER :{G=Masculin}Vagó de caramels
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BUBBLE_VAN :{G=Masculin}Vagó de bombolles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :{G=Masculin}Tanc de refresc
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_CANDY_VAN :{G=Masculin}Vagó de dolços
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :{G=Masculin}Vagó de joguines
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :{G=Masculin}Vagó de piles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó de begudes gasoses
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :{G=Masculin}Vagó de plàstic
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :{G=Masculin}Vagó de Passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :{G=Masculin}Vagó per Correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :{G=Masculin}Vagó per Carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :{G=Masculin}Tanc de Petroli
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_LIVESTOCK_VAN :{G=Masculin}Vagó per Bestiar
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :{G=Masculin}Vagó de Mercaderies
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :{G=Masculin}Vagó per Gra
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :{G=Masculin}Vagó per Fusta
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :{G=Masculin}Vagó per Mineral de Ferro
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :{G=Masculin}Vagó per Acer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :{G=Masculin}Vagó Blindat
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :{G=Masculin}Vagó per Queviures
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :{G=Masculin}Vagó per Paper
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :{G=Masculin}Vagó per Mineral de Coure
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WATER_TANKER :{G=Masculin}Tanc d'Aigua
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :{G=Masculin}Vagó per Fruita
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_RUBBER_TRUCK :{G=Masculin}Vagó per Cautxú
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :{G=Masculin}Vagó per Sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :{G=Masculin}Vagó per Cotó de Sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :{G=Masculin}Vagó per Caramels
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BUBBLE_VAN :{G=Masculin}Vagó per Bombolles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :{G=Masculin}Tanc per Refresc
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :{G=Masculin}Vagó per Dolços
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :{G=Masculin}Vagó per Joguines
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :{G=Masculin}Vagó per Piles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó per Begudes Gasoses
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :{G=Masculin}Vagó per Plàstic
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :{G=Masculin}Vagó de passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :{G=Masculin}Vagó de correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :{G=Masculin}Vagó de carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :{G=Masculin}Tanc de petroli
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_LIVESTOCK_VAN :{G=Masculin}Vagó de bestiar
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :{G=Masculin}Vagó de mercaderies
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :{G=Masculin}Vagó de gra
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :{G=Masculin}Vagó de fusta
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :{G=Masculin}Vagó de mineral de ferro
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :{G=Masculin}Vagó d'acer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :{G=Masculin}Vagó blindat
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :{G=Masculin}Vagó de queviures
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :{G=Masculin}Vagó de paper
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :{G=Masculin}Vagó de mineral de coure
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WATER_TANKER :{G=Masculin}Tanc d'aigua
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :{G=Masculin}Vagó de fruita
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_RUBBER_TRUCK :{G=Masculin}Vagó de cautxú
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :{G=Masculin}Vagó de sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :{G=Masculin}Vagó de cotó de sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :{G=Masculin}Vagó de caramels
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BUBBLE_VAN :{G=Masculin}Vagó de bombolles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :{G=Masculin}Tanc de refresc
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :{G=Masculin}Vagó de dolços
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :{G=Masculin}Vagó de joguines
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :{G=Masculin}Vagó de piles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó de begudes gasoses
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :{G=Masculin}Vagó de plàstic
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cíclope' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Quimera' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :{G=Masculin}Vagó de Passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :{G=Masculin}Vagó per Correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :{G=Masculin}Vagó per Carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :{G=Masculin}Tanc de Petroli
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :{G=Masculin}Vagó per Bestiar
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :{G=Masculin}Vagó de Mercaderies
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :{G=Masculin}Vagó per Gra
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :{G=Masculin}Vagó per Fusta
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :{G=Masculin}Vagó per Mineral de Ferro
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :{G=Masculin}Vagó per Acer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :{G=Masculin}Vagó Blindat
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :{G=Masculin}Vagó per Queviures
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :{G=Masculin}Vagó per Paper
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :{G=Masculin}Vagó per Mineral de Coure
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :{G=Masculin}Tanc d'Aigua
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FRUIT_TRUCK :{G=Masculin}Vagó per Fruita
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_RUBBER_TRUCK :{G=Masculin}Vagó per Cautxú
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_SUGAR_TRUCK :{G=Masculin}Vagó per Sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :{G=Masculin}Vagó per Cotó de Sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOFFEE_HOPPER :{G=Masculin}Vagó per Caramels
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BUBBLE_VAN :{G=Masculin}Vagó per Bombolles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :{G=Masculin}Tanc per Refresc
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_CANDY_VAN :{G=Masculin}Vagó per Dolços
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOY_VAN :{G=Masculin}Vagó per Joguines
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BATTERY_TRUCK :{G=Masculin}Vagó per Piles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó per Begudes Gasoses
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PLASTIC_TRUCK :{G=Masculin}Vagó per Plàstic
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :{G=Masculin}Vagó de passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :{G=Masculin}Vagó de correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :{G=Masculin}Vagó de carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :{G=Masculin}Tanc de petroli
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :{G=Masculin}Vagó de bestiar
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :{G=Masculin}Vagó de mercaderies
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :{G=Masculin}Vagó de gra
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :{G=Masculin}Vagó de fusta
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :{G=Masculin}Vagó de mineral de ferro
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :{G=Masculin}Vagó d'acer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :{G=Masculin}Vagó blindat
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :{G=Masculin}Vagó de queviures
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :{G=Masculin}Vagó de paper
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :{G=Masculin}Vagó de mineral de coure
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :{G=Masculin}Tanc d'aigua
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FRUIT_TRUCK :{G=Masculin}Vagó de fruita
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_RUBBER_TRUCK :{G=Masculin}Vagó de cautxú
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_SUGAR_TRUCK :{G=Masculin}Vagó de sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :{G=Masculin}Vagó de cotó de sucre
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOFFEE_HOPPER :{G=Masculin}Vagó de caramels
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BUBBLE_VAN :{G=Masculin}Vagó de bombolles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :{G=Masculin}Tanc de refresc
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_CANDY_VAN :{G=Masculin}Vagó de dolços
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOY_VAN :{G=Masculin}Vagó de joguines
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BATTERY_TRUCK :{G=Masculin}Vagó de piles
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FIZZY_DRINK_TRUCK :{G=Masculin}Vagó de begudes gasoses
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PLASTIC_TRUCK :{G=Masculin}Vagó de plàstic
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_REGAL_BUS :{G=Masculin}Autobús MPS Regal
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_LEOPARD_BUS :{G=Masculin}Autobús Hereford Leopard
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_BUS :{G=Masculin}Autobús Foster
|
||||
|
@@ -200,7 +200,7 @@ STR_QUANTITY_GRAIN :{WEIGHT_LONG}
|
||||
STR_QUANTITY_WOOD :{WEIGHT_LONG} drveta
|
||||
STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} željezne rude
|
||||
STR_QUANTITY_STEEL :{WEIGHT_LONG} čelika
|
||||
STR_QUANTITY_VALUABLES :{COMMA}{NBSP}vreć{P a e a} s vrijednosnicama
|
||||
STR_QUANTITY_VALUABLES :{COMMA}{NBSP}vreć{P a e a} s dragocjenostima
|
||||
STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} bakrene rude
|
||||
STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukuruza
|
||||
STR_QUANTITY_FRUIT :{WEIGHT_LONG} voća
|
||||
@@ -242,7 +242,7 @@ STR_ABBREV_FRUIT :{TINY_FONT}VĆ
|
||||
STR_ABBREV_DIAMONDS :{TINY_FONT}DM
|
||||
STR_ABBREV_FOOD :{TINY_FONT}HN
|
||||
STR_ABBREV_PAPER :{TINY_FONT}PR
|
||||
STR_ABBREV_GOLD :{TINY_FONT}AU
|
||||
STR_ABBREV_GOLD :{TINY_FONT}ZL
|
||||
STR_ABBREV_WATER :{TINY_FONT}VO
|
||||
STR_ABBREV_WHEAT :{TINY_FONT}PŠ
|
||||
STR_ABBREV_RUBBER :{TINY_FONT}GM
|
||||
@@ -1712,7 +1712,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrično" z
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Način distribucije pošte: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrično" znači da će se otprilike ista količina pošte slati od stanice A prema stanici B ako od B prema A. "Asimetrično" znači da će se proizvoljne količine pošte slati u oba smjera. "Ručno" znači da se distribucija neće vršiti automatski.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Način distribucije za OKLOPLJENU klasu tereta: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :OKLOPLJENA klasa tereta sadrži vrijednosnice u umjerenoj klimi, dijamante u subtropskoj klimi ili zlato u subarktičkoj klimi. NewGFR-ovi bi mogli ovo izmijeniti. "Simetrično" znači da će se otprilike ista količina tereta slati od stanice A prema stanici B kao od B prema A. "Asimetrično" znači da će se proizvoljne količine tereta slati u oba smjera. "Ručno" znači da se distribucija tih tereta neće vršiti automatski. Preporučljivo je namjestiti ovu postavku na "asimetrično" ili "ručno" kod subarktičke klime jer banke neće slati zlato natrag prema rudnicima zlata. Za umjerenu i subtropsku klimu možete namjestiti i "simetrično" jer će banke slati neke vrijednosnice natrag prema izvorišnoj banci.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :OKLOPLJENA klasa tereta sadrži dragocjenosti u umjerenoj klimi, dijamante u subtropskoj klimi ili zlato u subarktičkoj klimi. NewGFR-ovi bi mogli ovo izmijeniti. "Simetrično" znači da će se otprilike ista količina tereta slati od stanice A prema stanici B kao od B prema A. "Asimetrično" znači da će se proizvoljne količine tereta slati u oba smjera. "Ručno" znači da se distribucija tih tereta neće vršiti automatski. Preporučljivo je namjestiti ovu postavku na "asimetrično" ili "ručno" kod subarktičke klime jer banke neće slati zlato natrag prema rudnicima zlata. Za umjerenu i subtropsku klimu možete namjestiti i "simetrično" jer će banke slati neke dragocjenosti natrag prema izvorišnoj banci.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Način distribucije za ostale klase tereta: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrično" znači da će se proizvoljna količina tereta slati u bilo kojem smjeru. "Ručno" znači da neće biti nikakve automatske distribucije za te terete.
|
||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Točnost distribucije: {STRING}
|
||||
@@ -2783,7 +2783,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD tim
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 OpenTTD tim
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru
|
||||
|
@@ -2780,7 +2780,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Tým OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Tým OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se
|
||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD teamet
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 OpenTTD teamet
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr
|
||||
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Het OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Het OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
|
||||
@@ -2874,7 +2874,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ga naar
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige afbeelding
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ga naar vorige normale afbeelding, sla alle pseudo/herkleur/lettertype afbeeldingen over en ga naar het einde bij het begin
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige afbeelding. De uitlijning wordt genegeerd bij het weergeven van de afbeelding
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Afbeelding verplaatsen, dit verandert X en Y offsets
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Afbeelding verplaatsen, dit verandert X en Y offsets. Ctr+klik om de afbeelding 8 eenheden per keer te verplaatsen.
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Herstel relatief
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Herstel de huidige relative offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluut)
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||
|
@@ -2662,7 +2662,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||
|
@@ -472,6 +472,7 @@ STR_ABOUT_MENU_GIANT_SCREENSHOT :Tuta karto ekra
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Pri 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Bildeto-liniigilo
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Montri/ne montri limigujo
|
||||
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :(Mal)ŝalti la kolorigon de malpuraj blokoj
|
||||
############ range ends here
|
||||
|
||||
############ range for ordinal numbers used for the place in the highscore window
|
||||
@@ -1280,6 +1281,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permesu Artefar
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Prizorgintervala procentaĵo: {STRING}
|
||||
STR_CONFIG_SETTING_NOSERVICE :Malŝaltu prizorgadon se rompiĝoj ne okazas: {STRING}
|
||||
STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Aktivigu vagonajn rapideclimojn: {STRING}
|
||||
STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Kiam ebligita, ankaŭ uzu rapideco-limigojn de vagonoj por decidi la maksimuman rapidecon de trajno
|
||||
STR_CONFIG_SETTING_DISABLE_ELRAILS :Malŝaltu elektrajn relojn: {STRING}
|
||||
|
||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Unua veturilo atingas propran stacion: {STRING}
|
||||
@@ -1349,6 +1351,7 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Komenca urbgran
|
||||
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metriko (hp)
|
||||
|
||||
|
||||
|
||||
@@ -2262,7 +2265,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanie poseda
|
||||
STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 La teamo de OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 La teamo de OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Konservu Ludon
|
||||
@@ -2559,10 +2562,12 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Subaĉe
|
||||
|
||||
# Goal window
|
||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||
STR_GOALS_NONE :{ORANGE}- Nenia -
|
||||
|
||||
# Goal question window
|
||||
|
||||
############ Start of Goal Question button list
|
||||
STR_GOAL_QUESTION_BUTTON_CONTINUE :Daŭrigu
|
||||
############ End of Goal Question button list
|
||||
|
||||
# Subsidies window
|
||||
@@ -3365,12 +3370,14 @@ STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vidu for
|
||||
STR_AI_CONFIG_CAPTION :{WHITE}AI/Ludo Skripto Agordo
|
||||
STR_AI_CONFIG_HUMAN_PLAYER :Homa ludanto
|
||||
STR_AI_CONFIG_RANDOM_AI :Hazarda AI
|
||||
STR_AI_CONFIG_NONE :(neniu)
|
||||
|
||||
STR_AI_CONFIG_MOVE_UP :{BLACK}Movi supren
|
||||
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Movi elektitan AI-on supren en la listo
|
||||
STR_AI_CONFIG_MOVE_DOWN :{BLACK}Movi suben
|
||||
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Movi elektitan AI-on suben en la listo
|
||||
|
||||
STR_AI_CONFIG_AI :{SILVER}AIj
|
||||
|
||||
STR_AI_CONFIG_CHANGE_NONE :
|
||||
STR_AI_CONFIG_CONFIGURE :{BLACK}Agordi
|
||||
|
@@ -2745,7 +2745,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ettevõtte maa
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 OpenTTD meeskond
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 OpenTTD meeskond
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Mängu salvestamine
|
||||
|
@@ -2427,7 +2427,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ogn hjá fyrit
|
||||
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upprunalig upphavsrættindi {COPYRIGHT} 1995 Chris Sawyer, Øll rættindi umbiðin
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáva {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD toymi
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 OpenTTD toymi
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Goym spæl
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Yhtiön omistam
|
||||
STR_ABOUT_OPENTTD :{WHITE}Tietoja OpenTTD:stä
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Alkuperäiset oikeudet {COPYRIGHT} 1995 Chris Sawyer, kaikki oikeudet pidätetään
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Tallenna peli
|
||||
@@ -2874,7 +2874,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Mene val
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Edelinen sprite
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jatka edelliseen tavalliseen spriteen ja hyppää yli kaikki pseudo-/uudelleenväritetyt/fontti- spritet ja mene loppuun kun päästään ensimmäiseen
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Valitun spriten näyttö. Sijaintia ei huomioida spriteä piirrettäessä
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liikuta spriteä ympäriinsä, muuttaen X- ja Y-sijainteja
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liikuta spriteä ympäriinsä, muuttaen X- ja Y-sijainteja. Ctrl+Klik siirtää spriteä kahdeksan yksikköä kerralla
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nollaa suhteelliset
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nollaa suhteelliset erotukset
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-erotus: {NUM}, Y-erotus: {NUM} (Absoluuttinen)
|
||||
|
@@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrain apparte
|
||||
STR_ABOUT_OPENTTD :{WHITE}À propos de OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Tous droits réservés
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 L'équipe OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 L'équipe OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sauvegarder la partie
|
||||
|
@@ -1232,7 +1232,7 @@ STR_CURRENCY_PREVIEW :{LTBLUE}Ro-shea
|
||||
STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 not (£) san airgeadra agad
|
||||
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Atharraich paramadair an airgeadra ghnàthaichte
|
||||
|
||||
STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Àireamh as motha dhe dh'fharpaisichean: {ORANGE}{COMMA}
|
||||
STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Àireamh as motha dhe cho-fharpaisich: {ORANGE}{COMMA}
|
||||
|
||||
STR_NONE :Chan eil gin
|
||||
STR_FUNDING_ONLY :Le maoineachadh a-mhàin
|
||||
@@ -1431,7 +1431,7 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Na h-uile port-
|
||||
STR_CONFIG_SETTING_BRIBE :Ceadaich brìbeadh an ùghdarrais ionadail: {STRING}
|
||||
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Faodaidh companaidhean feuchainn ri ùghdarras ionadail a' bhaile a bhrìbeadh. Ma mhothaicheas neach-sgrùdaidh am brìbeadh, chan fhaod a' chompanaidh dad a dhèanamh tuilleadh sa bhaile fad sia mìosan
|
||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Ceadaich ceannach aig còirichean giùlain às-dùnach: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ma cheannaicheas companaidh còirichean giùlain às-dùnach airson baile, chan fhaigh stèiseanan (taistealaich no carago) nan co-fharpaisichean carago sam bith fad bliadhna
|
||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ma cheannaicheas companaidh còirichean giùlain às-dùnach airson baile, chan fhaigh stèiseanan (taistealaich no carago) nan co-fharpaiseach carago sam bith fad bliadhna
|
||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Ceadaich maoineachadh thogalaichean: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Faodaidh companaidhean airgead a thoirt dha bhailtean ach an tog iad taighean ùra
|
||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Ceadaich maoineachadh ath-thogail rathaidean ionadail: {STRING}
|
||||
@@ -1991,7 +1991,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}A bheil
|
||||
# Cheat window
|
||||
STR_CHEATS :{WHITE}Cealgaireachd
|
||||
STR_CHEATS_TOOLTIP :{BLACK}Is ciall dha bhogsaichean-cromaige gun deach a' chealgaireachd seo a chleachdadh roimhe
|
||||
STR_CHEATS_WARNING :{BLACK}Rabhadh! Tha thu gu bhith a' mealladh na co-fharpaisichean agad. Thoir an aire gun cumar cuimhne air an tàmailt seo gu bràth tuilleadh
|
||||
STR_CHEATS_WARNING :{BLACK}Rabhadh! Tha thu gu bhith a' mealladh nan co-fharpaiseach agad. Thoir an aire gun cumar cuimhne air an tàmailt seo gu bràth tuilleadh
|
||||
STR_CHEAT_MONEY :{LTBLUE}Meudaich an t-airgead le {CURRENCY_LONG}
|
||||
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}A' cluich mar a' chompanaidh: {ORANGE}{COMMA}
|
||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer draoidheach (thoir air falbh gnìomhachasan, oibseactan do-ghluasad): {ORANGE}{STRING}
|
||||
@@ -2916,7 +2916,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tìr a' chompan
|
||||
STR_ABOUT_OPENTTD :{WHITE}Mu dheidhinn OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Còir-lethbhreac tùsail {COPYRIGHT} 1995 Chris Sawyer, a h-uile còir glèidhte
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD tionndadh {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 An sgioba OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 An sgioba OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sàbhail an geama
|
||||
|
@@ -2646,7 +2646,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreo propieda
|
||||
STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright orixinal {COPYRIGHT} 1995 Chris Sawyer, Tódolos dereitos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 O equipo de OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 O equipo de OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gravar partida
|
||||
|
@@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firmeneigenes G
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Transport Tycoon-Urheberrecht {COPYRIGHT} 1995 Chris Sawyer, alle Rechte vorbehalten
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-Version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD-Team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 OpenTTD-Team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spiel speichern
|
||||
|
@@ -263,7 +263,15 @@ STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}פס ה
|
||||
STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}הסרת בניינים וכו' במשבצת קרקע. מקש Ctrl מסמן את האזור באופן אלכנסוני. מקש Shift מעביר בין בנייה לבין הצגה של הערכת העלות
|
||||
|
||||
# Show engines button
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}הצגת מוסתרים
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}הצג מוסתרים
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}הצג מוסתרים
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}הצגת מוסתרים
|
||||
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}על ידי אפשור כפתור זה, רכבות מוסתרות יוצגו גם
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}על ידי אפשור כפתור זה, כלי רכב מוסתרים יוצגו גם
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}על ידי אפשור כפתור זה, ספינות מוסתרות יוצגו גם
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}על ידי אפשור כפתור זה, כלי טיס מוסתרים יוצגו גם
|
||||
|
||||
# Query window
|
||||
STR_BUTTON_DEFAULT :{BLACK}בחירת מחדל
|
||||
@@ -329,7 +337,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}הצג
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}הצג רשימת תחנות החברה
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}הצג מידע כספי על החברה
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}הצג מידע כללי על החברה
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}הצג את סיפור החברה
|
||||
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}הצג את טבלת ליגת החברות
|
||||
@@ -378,6 +386,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 :הגדרות GRF חדש
|
||||
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :אפשרויות שקיפות
|
||||
@@ -849,6 +858,7 @@ STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}ל{VEHIC
|
||||
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_VEHICLE_IS_GETTING_OLD :{WHITE}מתיישן {VEHICLE}
|
||||
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}מתיישן מאוד {VEHICLE}
|
||||
@@ -984,7 +994,12 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}רזלו
|
||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}בחר את רזולוציית המסך
|
||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :אחר
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}גודל ממשק
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}בחר את ממשק גודל העצם לשימוש
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :רגיל
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :גודל כפול
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :גודל מרובע
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}ערכת גרפיקה בסיסית
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}בחר בערכת גרפיקה בסיסית לשימוש
|
||||
@@ -1079,6 +1094,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 :סביר
|
||||
@@ -1087,6 +1103,7 @@ STR_CITY_APPROVAL_HOSTILE :עויין
|
||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}אין בינות מלאכותיות מתאימות...{}באפשרותך להוריד בינות מלאכותיות בעזרת מערכת ה'תוכן המקוון'
|
||||
|
||||
# Settings tree window
|
||||
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}הגדרות
|
||||
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}מחרוזת סינון:
|
||||
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}הרחב הכל
|
||||
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}צמצם הכל
|
||||
@@ -1190,6 +1207,8 @@ STR_CONFIG_SETTING_INFLATION :אנפלציה:
|
||||
STR_CONFIG_SETTING_INFLATION_HELPTEXT :אפשר אינפלציה בכלכלה, כך שהעלויות עולות מעט מהר יותר מאשר התשלומים
|
||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :אורך גשר מירבי: {STRING}
|
||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :אורך מירבי לבניית גשרים
|
||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :גובה גשר מקסימלי: {STRING}
|
||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :גובה מקסימלי לבניית גשרים
|
||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :אורך מנהרה מירבי: {STRING}
|
||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :אורך מירבי לבניית מנהרות
|
||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :{STRING} :שיטת היצירה של משאבי טבע חדשים
|
||||
@@ -1283,6 +1302,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :הצג את א
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :עובי קווים בגרפים: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :עובי הקו בגרפים. קו דק ניתן לקריאה באופן מדויק יותר, אולם קל יותר לראות קו עבה ולהבחין בין הצבעים של קוים עבים
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :תמונת נוף: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :תוואי נוף מגדירים תרחישי משחק עם דרישות מטען וצמיחת ערים שונות. NewGRF וסקריפטים של המשחק מאפשרים שליטה עדיין יותר
|
||||
STR_CONFIG_SETTING_LAND_GENERATOR :מחולל פני שטח: {STRING}
|
||||
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :המחולל המקורי מבוסס על הגרפיקה הבסיסית, ויוצר פני שטח אחידים. בורא הקרקע מבוסס על אלגוריתם רעש פרלין עם אפשרויות עריכה עדינות
|
||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :מקורי
|
||||
@@ -1613,6 +1634,13 @@ STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :מחלקה מש
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :אופן החלוקה עבור מטענים אחרים: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"אסימטרי" הכוונה שכמויות מטען שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור המטען.
|
||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :דיוק החלוקה: {STRING}
|
||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :ככל שתקבע ערך גבוה יותר כך ייארך זמן עיבוד במעד של גרף הקישור. אם זה ייארך זמן רב מידי אתה עלול לראות תקיעות. אולם אם תקבע ערך זה להיות נמוך, החלוקה לא תהיה מדוייקת, ואתה עלול לראות שהמטען לא יישלח למקומות שאתה מצפה שישלח.
|
||||
STR_CONFIG_SETTING_DEMAND_DISTANCE :השפעת המרחק על ביקושים: {STRING}
|
||||
STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :אם תקבע ערך זה ליותר מ-0, המרחק בין תחנת מקור A של מטען מסויים ויעד אפשרי B ישפיע על כמות המטען שנשלח מ-A ל-B. ככל ש-B מרוחקת מ-A כך פחות מטען יישלח. כלל שתקבע ערך גבוה יותר, כך פחות מטען יישלח לתחנות מרוחקות ויותר מטען יישלח לתחנות קרובות.
|
||||
STR_CONFIG_SETTING_DEMAND_SIZE :כמות המטען החוזר עבור מצב סימטרי: {STRING}
|
||||
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :קביעת ערך זה לקטן מ-100% יגרום לחלוקה הסימטרית להתנהג יותר כמו חלוקה אסימטרית. פחות מטען יישלח בעל כורחו חזרה אם כמות מסויימת נשלחת לתחנה. אם ערך זה ייקבע ל-0%, החלוקה הסימטרית תהיה חלוקה אסימטרית.
|
||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :הרוויה של מסלולים קצרים לפני שימוש במסלולי קיבולת גבוהה: {STRING}
|
||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :לעיתים קרובות יש מספר מסלולים בין שתי תחנות נתונות. אלגוריתם מרחק-מטען יגרום לרוויה במסלול הקצר ביותר תחילה, אחר כך ישתמש במסלול הקצר הבא אחריו עד שהוא יהיה רווי וכן הלאה. רוויה נקבעת על ידי הערכת הקיבולת והשימוש המתוכנן. ברגע שכל המסלולים רוויים, אם עדיין נותר ביקוש, הוא יעמיס על כל המסלולים, תוך כדי העדפת המסלולים עם קיבולת גבוהה. רוב הזמן האלגוריתם לא יעריך את הקיבלת במדוייק. הגדרה זאת מאפשרת לך לציין עד לאיזה אחוז יש לגרום למסלול קצר לרוויה בפעם הראשונה לפני שייבחר המסלול הבא הארוך ממנו. קבע הגדרה זו לערך קטן מ-100% כדי למנוע תחנות צפופות במקרה של הערכת יתר של הקיבולת.
|
||||
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :יחידות מהירות: {STRING}
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :כאשר מוצגת מהירות השתמש ביחידות הנבחרות
|
||||
@@ -1651,11 +1679,23 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :מטרי (מט
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (מטר)
|
||||
|
||||
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}הגדרות מיקום
|
||||
STR_CONFIG_SETTING_GRAPHICS :{ORANGE}גרפיקה
|
||||
STR_CONFIG_SETTING_SOUND :{ORANGE}צלילים
|
||||
STR_CONFIG_SETTING_INTERFACE :{ORANGE}ממשק חזותי
|
||||
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}כללי
|
||||
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}נקודות מבט
|
||||
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}בנייה
|
||||
STR_CONFIG_SETTING_ADVISORS :{ORANGE}חדשות / יועצים
|
||||
STR_CONFIG_SETTING_COMPANY :{ORANGE}חברה
|
||||
STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}חשבונאות
|
||||
STR_CONFIG_SETTING_VEHICLES :{ORANGE}כלי תחבורה
|
||||
STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}פיזיקה
|
||||
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}ניתוב
|
||||
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}מגבלות
|
||||
STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}אסונות / תאונות
|
||||
STR_CONFIG_SETTING_GENWORLD :{ORANGE}יצירת עולם
|
||||
STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}סביבה
|
||||
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}רשויות
|
||||
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}ערים
|
||||
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}תעשיות
|
||||
STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :{ORANGE}התפלגות המטען
|
||||
@@ -1694,6 +1734,8 @@ STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... פו
|
||||
STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... מתעלם מערכת גרפיקה בסיסית '{STRING}': לא נמצאה
|
||||
STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... מתעלם מערכת צלילים בסיסית '{STRING}': לא נמצאה
|
||||
STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... מתעלם מערכת מוסיקה בסיסית '{STRING}': לא נמצאה
|
||||
STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}הזיכרון התמלא
|
||||
STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE} הקצאת {BYTES} בתים של מטמון נכשלה. המטמון הופחת ל-{BYTES} בתים. דבר זה יפחית את הביצועים של OpenTTD. כדי להפחית את דרישות הזיכרון ניתן לנסות לבטל את הגרפיקה ב-32bbp ו/או רמות ה-זום-אין
|
||||
|
||||
# Intro window
|
||||
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
|
||||
@@ -1707,6 +1749,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}משחק
|
||||
|
||||
STR_INTRO_GAME_OPTIONS :{BLACK}אפשרויות
|
||||
STR_INTRO_HIGHSCORE :{BLACK}טבלת ניקוד מירבי
|
||||
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}הגדרות
|
||||
STR_INTRO_NEWGRF_SETTINGS :{BLACK}(NewGRF)הגדרות שדרוג גראפי
|
||||
STR_INTRO_ONLINE_CONTENT :{BLACK} בדוק תוכן מקוון
|
||||
STR_INTRO_SCRIPT_SETTINGS :{BLACK}הגדרות סקריפטים של משחק/שחקני מחשב
|
||||
@@ -1726,6 +1769,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}ארץ
|
||||
|
||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}הצג הגדרות משחק
|
||||
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}הצג טבלת ניקוד מירבי
|
||||
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}הצגת הגדרות
|
||||
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}הצג הגדרות שדרוג גראפי
|
||||
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} חפש תוכן חדש/מעודכן להורדה
|
||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK} הצג הגדרות סקריפטים של משחק/שחקני מחשב
|
||||
@@ -1752,7 +1796,7 @@ STR_OSNAME_OS2 :מערכת הפ
|
||||
STR_OSNAME_SUNOS :סולריס
|
||||
|
||||
# Abandon game
|
||||
STR_ABANDON_GAME_CAPTION :{WHITE}עזוב משחק
|
||||
STR_ABANDON_GAME_CAPTION :{WHITE}עזיבת משחק
|
||||
STR_ABANDON_GAME_QUERY :{YELLOW}?האם אתה בטוח שברצונך לעזוב את המשחק
|
||||
STR_ABANDON_SCENARIO_QUERY :{YELLOW}האם אתה בטוח שברצונך לצאת משלב זה?
|
||||
|
||||
@@ -1871,6 +1915,10 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK} שנה
|
||||
|
||||
# Network server list
|
||||
STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}משחק רשת
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}מפורסם
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}בחר בין משחק מפורסם (אינטרנטי) ומשחק לא מפורסם (רשת מקומית, LAN)
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED_NO :לא
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED_YES :כן
|
||||
STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK} :שם השחקן
|
||||
STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}זהו שמך כפי שיצפה ע"י המשתתפים האחרים
|
||||
|
||||
@@ -1929,6 +1977,8 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}השם
|
||||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}קבע סיסמה
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}הגן על המשחק שלך עם סיסמה אם אתה לא רוצה שהוא יהיה זמין לכולם
|
||||
|
||||
STR_NETWORK_START_SERVER_UNADVERTISED :לא
|
||||
STR_NETWORK_START_SERVER_ADVERTISED :כן
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} לקוח{P "" "ות"}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}מספר מקסימלי של לקוחות:
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK} :מספר משתתפים מירבי
|
||||
@@ -2168,6 +2218,10 @@ STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK} בחר
|
||||
STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK} בחר את כל התכנים המהווים שדרוג לבחירה קיימת
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK} בטל בחירה
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK} בטל את כל הבחירות להורדה
|
||||
STR_CONTENT_SEARCH_EXTERNAL :{BLACK}חפש באתרים חיצוניים
|
||||
STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}חיפוש תוכן שלא זמין בשירות התוכן של OpenTTD באתרים שלא משוייכים לפרויקט OpenTTD
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}אתה עומד לצאת מ-OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE} התנאים להורדת תוכן מאתר חיצוני השתנו.{}עלייך לפנות לאתרים חיצוניים להנחיות כיצד להתקין את התוכן לתוך OpenTTD.{}האם ברצונך להמשיך?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}סינון תוית\שם:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}בקר באתר האינטרנט
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}בקר באתר האינטרנט עבור התוכן הזה
|
||||
@@ -2239,8 +2293,14 @@ STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}הסתר
|
||||
|
||||
# Linkgraph legend window
|
||||
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}מקרא זרימת מטענים
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}הכל
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}ללא
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}בחר חברות להצגה
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}לא בשימוש
|
||||
STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLACK}רווי
|
||||
STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}העמסת יתר
|
||||
|
||||
# Base for station construction window(s)
|
||||
STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}הדגשת שטח הכיסוי
|
||||
@@ -2641,7 +2701,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :שטח בבעל
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD אודות
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}כל הזכויות שמורות , {COPYRIGHT}1995 כריס סויר - {NBSP}זכויות יוצרים מקוריות
|
||||
STR_ABOUT_VERSION :{BLACK}{REV} גירסה , OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}שמור משחק
|
||||
@@ -2828,7 +2888,11 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}עבור
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}הספרייט הקודם
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}עבור לספרייט הקודם, כאשר נדלג על כל הספרייטים המיוחדים ונחזור מתחילת הרשימה לסופה
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}הייצוג של הספרייט הנבחר. בעת ציור הספרייט, נתעלם מהיישור שלו
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}הזז את הספרייט, תוך שינוי מיקום על צירי ה-X וה-Y
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}הזז את הספרייט, תוך שינוי ההיסט של צירי ה-X וה-Y. לחץ עם ctrl כדי להזיז את הספרייט שמונה יחידות בבת אחת
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}איפוס יחסית
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}איפוס ההיסטים היחסיים הנוכחיים
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}היסט X: {NUM}, היסט Y: {NUM} (מוחלט)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}היסט X: {NUM}, היסט Y: {NUM} (יחסית)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}בחר ספרייט
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}בחר ספרייט מנקודה כלשהיא במסך
|
||||
|
||||
@@ -2885,6 +2949,7 @@ STR_NEWGRF_LIST_MISSING :{RED}חסרים
|
||||
STR_NEWGRF_BROKEN :{WHITE}התנהגות ה-NewGRF '{STRING}' עלולה לגרום לקריסה ו/או חוסר סנכרון
|
||||
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}שינה את מצב קרון מונע עבור '{1:ENGINE}' כאשר לא נמצא במוסך
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}זה שינה את אורך הרכב ל'{1:ENGINE}' כאשר לא במוסך
|
||||
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}זה שינה את קיבולת כלי הרכב של '{1:ENGINE}' כשלא בתוך מוסך או תיקון
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}רכבת '{VEHICLE}' השייכת לחברת '{COMPANY}' בעלת אורך לא חוקי. דבר זה נגרם ככל הנראה בעקבות בעיות ב-NEWGRF. המשחק עלול לצאת מסנכרון או לקרוס
|
||||
|
||||
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' סיפק מידע לא נכון
|
||||
@@ -2989,6 +3054,8 @@ STR_GOALS_GLOBAL_TITLE :{BLACK}מטרו
|
||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||
STR_GOALS_NONE :{ORANGE}- אין -
|
||||
STR_GOALS_SPECTATOR_NONE :{ORANGE}- לא זמין -
|
||||
STR_GOALS_PROGRESS :{ORANGE}{STRING}
|
||||
STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING}
|
||||
STR_GOALS_COMPANY_TITLE :{BLACK}מטרות חברה:
|
||||
STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}הקלק על מטרה כדי למרכז את התצוגה הראשית על תעשיה/עיירה/משבצת. קליק תוך כדי לחיצה על מקש Ctrl פותח חלון תצוגה חדש במיקום התעשיה/העיירה/המשבצת
|
||||
|
||||
@@ -3029,6 +3096,15 @@ STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING
|
||||
STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}לחץ על שירות כדי להתמקד על עיר/תעשייה. Ctrl+לחיצה פותח חלונית תצוגה חדשה על מיקום העיר/תעשייה
|
||||
|
||||
# Story book window
|
||||
STR_STORY_BOOK_CAPTION :ספר סיפור {WHITE}{COMPANY}
|
||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}ספר סיפור כללי
|
||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :עמוד {NUM}
|
||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}קפוץ לדף מסויים באמצעות בחירתו ברשימה נפתחת זו.
|
||||
STR_STORY_BOOK_PREV_PAGE :{BLACK}קודם
|
||||
STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}עבור לעמוד קודם
|
||||
STR_STORY_BOOK_NEXT_PAGE :{BLACK}הבא
|
||||
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}עבור לעמוד הבא
|
||||
STR_STORY_BOOK_INVALID_GOAL_REF :{RED}מטרה לא תקינה
|
||||
|
||||
# Station list window
|
||||
@@ -3046,6 +3122,7 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}שום
|
||||
STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES}
|
||||
STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG}
|
||||
STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} בדרך מ{STATION})
|
||||
STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} שמור לטעינה)
|
||||
|
||||
STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}מקבל
|
||||
STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}הצג רשימת סוגי המטען שהתחנה מקבלת
|
||||
@@ -3056,6 +3133,8 @@ STR_STATIOV_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN
|
||||
|
||||
STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}דירוג
|
||||
STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}הצג את דירוג השירות
|
||||
STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}אספקה חודשית ודירוג מקומי:
|
||||
STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%)
|
||||
|
||||
STR_STATION_VIEW_GROUP :{BLACK}קבץ לפי
|
||||
STR_STATION_VIEW_WAITING_STATION :תחנה: בהמתנה
|
||||
@@ -3221,6 +3300,7 @@ STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK} :תפו
|
||||
STR_INDUSTRY_VIEW_TRANSPORTED :{BLACK}(הובלו {NBSP}{2:COMMA}%) {YELLOW}{1:STRING}{0:CARGO_LONG}
|
||||
STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}מקד את התצוגה הראשית על מיקום התעשייה. Ctrl+לחיצה פותח חלונית תצוגה חדשה על מיקום התעשייה
|
||||
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}רמת הפקה: {YELLOW}{COMMA}%
|
||||
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}התעשייה הכריזה על סגירה מתקרבת!
|
||||
|
||||
############ range for requires starts
|
||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO :{YELLOW}{1:STRING}{0:STRING}{BLACK} : דורש
|
||||
@@ -3289,6 +3369,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}מחק
|
||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}שנה את שם הקבוצה
|
||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}לחץ על מנת להגן על הכלים בקבוצה בפני החלפה אוטומטית
|
||||
|
||||
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}מחק קבוצה
|
||||
STR_GROUP_DELETE_QUERY_TEXT :{WHITE}אתה בטוח שברצונך למחוק את הקבוצה הזאת ואת הקשורים אליה?
|
||||
|
||||
STR_GROUP_ADD_SHARED_VEHICLE :הוסף כלים
|
||||
STR_GROUP_REMOVE_ALL_VEHICLES :הסר את כל הכלים מהקבוצה
|
||||
@@ -3352,8 +3434,18 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}שנה
|
||||
STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}החלף שם סוג כלי השייט
|
||||
STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}החלף שם סוג כלי הטיס
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}הסתר
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}הסתר
|
||||
STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}הסתר
|
||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}הסתר
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}תצוגה
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}תצוגה
|
||||
STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}תצוגה
|
||||
STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}תצוגה
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}החלף בין הסתרה/הצגה של סוג רכבת
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}החלף בין הסתרה/הצגה של סוג רכב כביש
|
||||
STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :הסתר/הצג סוג של כלי שיט
|
||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}הסתר/הצג סוג של כלי טיס
|
||||
|
||||
@@ -3461,6 +3553,10 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :רכב
|
||||
STR_REPLACE_VEHICLE_SHIP :כלי שייט
|
||||
STR_REPLACE_VEHICLE_AIRCRAFT :כלי טייס
|
||||
|
||||
STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}כלי רכב בשימוש
|
||||
STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}עמודה עם כלי רכב בבעלותך
|
||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}כלי רכב זמינים
|
||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}עמודה עם כלי רכב זמינים להחלפה
|
||||
|
||||
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}בחר את סוג המנוע/קטר שברצונך להחליף
|
||||
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}בחר את הקטר/מנוע שברצונך לבנות במקום הקטר/מנוע הקיים
|
||||
@@ -3591,6 +3687,10 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{LTBLUE}{1:DATE
|
||||
STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}הגדל את מרווח הזמן עד קבלת שירות ב-10. Ctrl+לחיצה מגדיל את המרווח ב-5
|
||||
STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}הקטן את מרווח הזמן עד קבלת שירות ב-10. Ctrl+לחיצה מקטינה את המרווח ב-5
|
||||
|
||||
STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}שנה סוג מרווח שירות
|
||||
STR_VEHICLE_DETAILS_DEFAULT :ברירת מחדל
|
||||
STR_VEHICLE_DETAILS_DAYS :ימים
|
||||
STR_VEHICLE_DETAILS_PERCENT :אחוז
|
||||
|
||||
STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}תן שם לרכבת
|
||||
STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}תן שם לכלי הרכב
|
||||
@@ -3812,6 +3912,10 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :(מסע (ללא
|
||||
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :סע במהירות שהיא לכל היותר {2:VELOCITY} (ללא לוח זמנים)
|
||||
STR_TIMETABLE_TRAVEL_FOR :{STRING} ערוך מסע ל
|
||||
STR_TIMETABLE_TRAVEL_FOR_SPEED :סע למשך {STRING} במהירות שהיא לכל היותר {VELOCITY}
|
||||
STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :מסע (עבור {STRING}, לא מתוזמן)
|
||||
STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :מסע (עבור {STRING}, לא מתוזמן) במהירות שיא של {VELOCITY}
|
||||
STR_TIMETABLE_STAY_FOR_ESTIMATED :(נשאר ל-{STRING}, לא מתוזמן)
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(מסע עבור {STRING} ללא טבלת זמנים)
|
||||
STR_TIMETABLE_STAY_FOR :{STRING} והמתן למשך
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :{STRING} וערוך מסע ל
|
||||
STR_TIMETABLE_DAYS :{P 0 "יום " ""}{COMMA}{P "" " ימים"}
|
||||
@@ -3965,6 +4069,10 @@ STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GRE
|
||||
STR_INCOME_FLOAT_INCOME :{GREEN} {CURRENCY_LONG} :הכנסה
|
||||
STR_FEEDER_TINY :{TINY_FONT}{YELLOW}העברה: {CURRENCY_LONG}
|
||||
STR_FEEDER :{YELLOW}העברה: {CURRENCY_LONG}
|
||||
STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}העברה: {CURRENCY_LONG}{WHITE} / {GREEN}הכנסה:{CURRENCY_LONG}
|
||||
STR_FEEDER_INCOME :{YELLOW}העברה: {CURRENCY_LONG}{WHITE} / {GREEN}הכנסה: {CURRENCY_LONG}
|
||||
STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}העברה: {CURRENCY_LONG}{WHITE} / {RED}עלות: {CURRENCY_LONG}
|
||||
STR_FEEDER_COST :{YELLOW}העברה: {CURRENCY_LONG}{WHITE} / עלות: {CURRENCY_LONG}
|
||||
STR_MESSAGE_ESTIMATED_COST :{WHITE}{CURRENCY_LONG} :מחיר משוער
|
||||
STR_MESSAGE_ESTIMATED_INCOME :{WHITE}{CURRENCY_LONG} :הכנסה משוערת
|
||||
|
||||
@@ -4049,6 +4157,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}חפיר
|
||||
STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... כבר בגובה ים
|
||||
STR_ERROR_TOO_HIGH :{WHITE}... גבוה מידי
|
||||
STR_ERROR_ALREADY_LEVELLED :{WHITE}... הקרקע כבר שטוחה
|
||||
STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}אחרי הגשר שלמעלה זה יהיה גבוה מידי.
|
||||
|
||||
# Company related errors
|
||||
STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}לא ניתן לשנות את שם החברה...
|
||||
@@ -4099,6 +4208,8 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... יע
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... ניתן/ת לבנייה רק מעל לקו השלג
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... ניתן/ת לבנייה רק מתחת לקו השלג
|
||||
|
||||
STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}אין מיקומים מתאימים לתעשיות '{STRING}'
|
||||
STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}שנה את פרמטרי יצירת המפה לקבלת מפה טובה יותר
|
||||
|
||||
# Station construction related errors
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}לא ניתן לבנות תחנת רכבת כאן...
|
||||
@@ -4263,6 +4374,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... שט
|
||||
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}לא ניתן ליצור קבוצה...
|
||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}לא ניתן למחוק קבוצה זו...
|
||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}לא ניתן לשנות שם קבוצה...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}לא ניתן לקבוע קבוצת-אב...
|
||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}לא ניתן למחוק את כל הכלים מקבוצה זו...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}לא ניתן להוסיף כלי זה לקבוצה זו...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}לא ניתן להוסיף כלים משותפים לרשימה זו...
|
||||
@@ -4366,6 +4478,14 @@ STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}לא נ
|
||||
STR_DESKTOP_SHORTCUT_COMMENT :משחק סימולציה המבוסס על תחבורה, הון ופאר
|
||||
|
||||
# Translatable descriptions in media/baseset/*.ob* files
|
||||
STR_BASEGRAPHICS_DOS_DESCRIPTION :גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS.
|
||||
STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS (גרמנית).
|
||||
STR_BASEGRAPHICS_WIN_DESCRIPTION :גרפיקות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||
STR_BASESOUNDS_DOS_DESCRIPTION :צלילי Transport Tycoon Deluxe המקורי בגרסת DOS.
|
||||
STR_BASESOUNDS_WIN_DESCRIPTION :צלילי Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||
STR_BASESOUNDS_NONE_DESCRIPTION :אוסף צלילים ללא צלילים.
|
||||
STR_BASEMUSIC_WIN_DESCRIPTION :מנגינות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||
STR_BASEMUSIC_NONE_DESCRIPTION :אוסף מנגינות ללא מנגינות.
|
||||
|
||||
##id 0x2000
|
||||
# Town building names
|
||||
|
@@ -2751,7 +2751,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Vállalat álta
|
||||
STR_ABOUT_OPENTTD :{WHITE}Az OpenTTD-ről
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Eredeti copyright {COPYRIGHT} 1995 Chris Sawyer, Minden jog fenntartva
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD {REV} verzió
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 Az OpenTTD csapat
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 Az OpenTTD csapat
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Játék mentése
|
||||
|
@@ -2536,7 +2536,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land í eigu fy
|
||||
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upphaflegur höfundarréttur {COPYRIGHT} 1995 Chris Sawyer, Öll réttindi áskilin
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáfa {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2015 OpenTTD hópurinn
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 OpenTTD hópurinn
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Vista leik
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah milik Per
|
||||
STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hak Cipta asli {COPYRIGHT} 1995 Chris Sawyer, Hak Cipta dilindungi
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Tim OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Tim OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpan Permainan
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Talamh faoi úi
|
||||
STR_ABOUT_OPENTTD :{WHITE}Maidir le OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Cóipcheart bunaidh {COPYRIGHT} 1995 Chris Sawyer, Gach ceart ar cosaint
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD leagan {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 An fhoireann OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 An fhoireann OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sábháil an Cluiche
|
||||
|
@@ -2717,7 +2717,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno possedu
|
||||
STR_ABOUT_OPENTTD :{WHITE}Informazioni su OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright originale {COPYRIGHT} 1995 Chris Sawyer, Tutti i diritti riservati
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versione {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 Il team OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Il team OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salva partita
|
||||
|
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :社有地
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTDについて
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}オリジナル版権{COPYRIGHT} 1995 Chris Sawyer All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD バージョン {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}ゲームを保存
|
||||
@@ -2875,6 +2875,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}前の
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}前のノーマルスプライトに戻ります。始端と終端は連続しているものとみなし、疑似/リカラー/フォントスプライトはスキップします
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}現在選択されているスプライトの代表絵を示します。この配列はスプライトを描画するときには無視されます
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}X・Yオフセットを変更し、スプライトを移動します
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK} 相対値リセット
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK} 現在の相対オフセットをリセットします。
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Xオフセット : {NUM},Yオフセット : {NUM} (絶対値)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL : {BLACK}X オフセット : {NUM}, Y オフセット : {NUM} (相対値)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}スプライトを選ぶ
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}画面内からスプライトを選びます
|
||||
|
||||
|
@@ -911,7 +911,7 @@ STR_GAME_OPTIONS_CURRENCY_ISK :아이슬란드
|
||||
STR_GAME_OPTIONS_CURRENCY_ITL :이탈리아 리라 (ITL)
|
||||
STR_GAME_OPTIONS_CURRENCY_NLG :네덜란드 길더 (NLG)
|
||||
STR_GAME_OPTIONS_CURRENCY_NOK :노르웨이 크로네 (NOK)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :폴란드 즐로티 (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :폴란드 즈워티 (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_RON :루마니아 레우 (RON)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUR :러시아 루블 (RUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_SIT :슬로바키아 톨라 (SIT)
|
||||
@@ -1530,7 +1530,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA}칸 간
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :드래그할 때, 신호기 사이의 거리를 계속 고정: {STRING}
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :신호기를 CTRL+드래그 하여 설치할 때의 행동을 선택합니다. 이 옵션을 끄면, 신호기가 없는 긴 폐색을 만들지 않기 위해 터널이나 다리 주변에 먼저 신호기가 설치될 것입니다. 이 옵션을 켜면, 신호기는 터널/다리와 상관없이 매 n개의 칸마다 설치될 것입니다.
|
||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :전자식 신호기의 사용: {STRING}년 이후에
|
||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :전자식 신호기를 사용할 수 있는 연도를 설정합니다. 이 이전에는 구식 신호기만 사용 가능합니다. (두 신호등은 기능적으로는 동일하고 모습만 다릅니다.)
|
||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :전자식 신호기를 사용할 수 있는 연도를 설정합니다. 이 이전에는 구식 신호기만 사용 가능합니다. (두 신호기는 기능적으로는 동일하고 모습만 다릅니다.)
|
||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :신호기 설치시 신호기 선택 창을 띄움: {STRING}
|
||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :설치할 신호기 종류를 고를 수 있는 신호기 선택 창을 표시합니다. 이 옵션을 끄면 선택 창 없이 CTRL+클릭 만으로 신호기의 종류를 바꿔야 합니다.
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :기본적으로 만들 신호기 종류: {STRING}
|
||||
@@ -1762,7 +1762,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}새로
|
||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}인공지능/게임 스크립트 설정창을 엽니다.
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}'OpenTTD'를 종료합니다.
|
||||
|
||||
STR_INTRO_TRANSLATION :{BLACK}이 버전의 OpenTTD는 {NUM}개의 문장이 한국어로 번역되지 않았습니다. 한국어 번역자에게 번역을 의뢰하십시오.{}텔크 (telk5093@gmail.com)
|
||||
STR_INTRO_TRANSLATION :{BLACK}이 버전의 OpenTTD는 {NUM}개의 문장이 한국어로 번역되지 않았습니다. OpenTTD가 더욱 발전할 수 있도록 번역에 참여하세요. 자세한 사항은 readme.txt를 참고하세요.
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}종료
|
||||
@@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :회사 소유
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD에 대해서
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD 버전 {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2015 OpenTTD 개발팀
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 OpenTTD 개발팀
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}게임 저장
|
||||
@@ -3012,7 +3012,7 @@ STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN}
|
||||
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}이 도시에 할 수 있는 일 목록 - 상세 정보를 보시려면 클릭하세요
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}이 도시에 할 수 있는 일 목록 - 상세 정보를 보시려면 클릭하세요.
|
||||
STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}실행
|
||||
STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}선택된 항목을 실행에 옮깁니다
|
||||
|
||||
@@ -3796,8 +3796,8 @@ STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :<
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :≤
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :>
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :≥
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :있을 때
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :없을 때
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :이 있을 때
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :이 없을 때
|
||||
|
||||
STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}비교조건에 대한 입력값입니다.
|
||||
STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}비교할 값을 입력하세요.
|
||||
|
@@ -61,10 +61,10 @@ STR_CARGO_PLURAL_WOOD :{G=n}Lignum
|
||||
STR_CARGO_PLURAL_WOOD.gen :ligni
|
||||
STR_CARGO_PLURAL_WOOD.acc :Lignum
|
||||
STR_CARGO_PLURAL_WOOD.dat :Ligno
|
||||
STR_CARGO_PLURAL_IRON_ORE :{G=n}Ferrum
|
||||
STR_CARGO_PLURAL_IRON_ORE.gen :ferri
|
||||
STR_CARGO_PLURAL_IRON_ORE.acc :Ferrum
|
||||
STR_CARGO_PLURAL_IRON_ORE.dat :Ferro
|
||||
STR_CARGO_PLURAL_IRON_ORE :{G=n}Ferrum Rude
|
||||
STR_CARGO_PLURAL_IRON_ORE.gen :ferri rudis
|
||||
STR_CARGO_PLURAL_IRON_ORE.acc :Ferrum Rude
|
||||
STR_CARGO_PLURAL_IRON_ORE.dat :Ferro Rudi
|
||||
STR_CARGO_PLURAL_STEEL :{G=m}Chalybs
|
||||
STR_CARGO_PLURAL_STEEL.gen :chalybis
|
||||
STR_CARGO_PLURAL_STEEL.acc :Chalybem
|
||||
@@ -73,10 +73,10 @@ STR_CARGO_PLURAL_VALUABLES :{G=fp}Res Preti
|
||||
STR_CARGO_PLURAL_VALUABLES.gen :rerum pretiosarum
|
||||
STR_CARGO_PLURAL_VALUABLES.acc :Res Pretiosas
|
||||
STR_CARGO_PLURAL_VALUABLES.dat :Rebus Pretiosis
|
||||
STR_CARGO_PLURAL_COPPER_ORE :{G=n}Aes
|
||||
STR_CARGO_PLURAL_COPPER_ORE.gen :aeris
|
||||
STR_CARGO_PLURAL_COPPER_ORE.acc :Aes
|
||||
STR_CARGO_PLURAL_COPPER_ORE.dat :Aeri
|
||||
STR_CARGO_PLURAL_COPPER_ORE :{G=n}Aes Rude
|
||||
STR_CARGO_PLURAL_COPPER_ORE.gen :aeris rudis
|
||||
STR_CARGO_PLURAL_COPPER_ORE.acc :Aes Rude
|
||||
STR_CARGO_PLURAL_COPPER_ORE.dat :Aeri Rudi
|
||||
STR_CARGO_PLURAL_MAIZE :{G=n}Maizium
|
||||
STR_CARGO_PLURAL_MAIZE.gen :maizii
|
||||
STR_CARGO_PLURAL_MAIZE.acc :Maizium
|
||||
@@ -188,10 +188,10 @@ STR_CARGO_SINGULAR_WOOD :{G=n}Lignum
|
||||
STR_CARGO_SINGULAR_WOOD.gen :ligni
|
||||
STR_CARGO_SINGULAR_WOOD.acc :Lignum
|
||||
STR_CARGO_SINGULAR_WOOD.dat :Ligno
|
||||
STR_CARGO_SINGULAR_IRON_ORE :{G=n}Ferrum
|
||||
STR_CARGO_SINGULAR_IRON_ORE.gen :ferri
|
||||
STR_CARGO_SINGULAR_IRON_ORE.acc :Ferrum
|
||||
STR_CARGO_SINGULAR_IRON_ORE.dat :Ferro
|
||||
STR_CARGO_SINGULAR_IRON_ORE :{G=n}Ferrum Rudum
|
||||
STR_CARGO_SINGULAR_IRON_ORE.gen :ferri rudis
|
||||
STR_CARGO_SINGULAR_IRON_ORE.acc :Ferrum Rude
|
||||
STR_CARGO_SINGULAR_IRON_ORE.dat :Ferro Rudi
|
||||
STR_CARGO_SINGULAR_STEEL :{G=m}Chalybs
|
||||
STR_CARGO_SINGULAR_STEEL.gen :chalybis
|
||||
STR_CARGO_SINGULAR_STEEL.acc :Chalybem
|
||||
@@ -200,10 +200,10 @@ STR_CARGO_SINGULAR_VALUABLES :{G=fp}Res Preti
|
||||
STR_CARGO_SINGULAR_VALUABLES.gen :rerum pretiosarum
|
||||
STR_CARGO_SINGULAR_VALUABLES.acc :Res Pretiosas
|
||||
STR_CARGO_SINGULAR_VALUABLES.dat :Rebus Pretiosis
|
||||
STR_CARGO_SINGULAR_COPPER_ORE :{G=n}Aes
|
||||
STR_CARGO_SINGULAR_COPPER_ORE.gen :aeris
|
||||
STR_CARGO_SINGULAR_COPPER_ORE.acc :Aes
|
||||
STR_CARGO_SINGULAR_COPPER_ORE.dat :Aeri
|
||||
STR_CARGO_SINGULAR_COPPER_ORE :{G=n}Aes Rude
|
||||
STR_CARGO_SINGULAR_COPPER_ORE.gen :aeris rudis
|
||||
STR_CARGO_SINGULAR_COPPER_ORE.acc :Aes Rude
|
||||
STR_CARGO_SINGULAR_COPPER_ORE.dat :Aeri Rudi
|
||||
STR_CARGO_SINGULAR_MAIZE :{G=n}Maizium
|
||||
STR_CARGO_SINGULAR_MAIZE.gen :maizii
|
||||
STR_CARGO_SINGULAR_MAIZE.acc :Maizium
|
||||
@@ -291,10 +291,10 @@ STR_QUANTITY_LIVESTOCK :{G=np}{COMMA}{N
|
||||
STR_QUANTITY_GOODS :{G=fp}{COMMA}{NBSP}capsa{P "" e} mercium
|
||||
STR_QUANTITY_GRAIN :{WEIGHT_LONG} frumenti
|
||||
STR_QUANTITY_WOOD :{WEIGHT_LONG} ligni
|
||||
STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} ferri
|
||||
STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} ferri rudis
|
||||
STR_QUANTITY_STEEL :{WEIGHT_LONG} chalybis
|
||||
STR_QUANTITY_VALUABLES :{G=mp}{COMMA}{NBSP}sacc{P us i} rerum pretiosarum
|
||||
STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} aeris
|
||||
STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} aeris rudis
|
||||
STR_QUANTITY_MAIZE :{WEIGHT_LONG} maizii
|
||||
STR_QUANTITY_FRUIT :{WEIGHT_LONG} fructuum
|
||||
STR_QUANTITY_DIAMONDS :{G=mp}{COMMA}{NBSP}sacc{P us i} adamantum
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user