mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-28 08:59:09 +00:00
Compare commits
12 Commits
release/1.
...
1.6.1-RC1
Author | SHA1 | Date | |
---|---|---|---|
|
54bf2dbc49 | ||
|
4b508ccbe8 | ||
|
f4b7f4b162 | ||
|
a68d0d430c | ||
|
4b4e8f0a1e | ||
|
8b5936c224 | ||
|
d0d4a62f8d | ||
|
476c55ed3f | ||
|
df885ee66c | ||
|
235e714eee | ||
|
0989010748 | ||
|
d1104cc515 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,7 +7,6 @@ bin/ai/*
|
|||||||
bin/baseset/*
|
bin/baseset/*
|
||||||
!bin/baseset/openttd.grf
|
!bin/baseset/openttd.grf
|
||||||
!bin/baseset/opntitle.dat
|
!bin/baseset/opntitle.dat
|
||||||
!bin/baseset/orig_extra.grf
|
|
||||||
!bin/baseset/orig_*.obg
|
!bin/baseset/orig_*.obg
|
||||||
!bin/baseset/orig_*.obs
|
!bin/baseset/orig_*.obs
|
||||||
!bin/baseset/no_sound.obs
|
!bin/baseset/no_sound.obs
|
||||||
|
@@ -44,18 +44,22 @@ PNG_FILES := $(GRF_DIR)/*.png $(GRF_DIR)/rivers/*.png
|
|||||||
|
|
||||||
# Build the GRF.
|
# Build the GRF.
|
||||||
ifdef GRFCODEC
|
ifdef GRFCODEC
|
||||||
all: $(BIN_DIR)/openttd.grf $(BIN_DIR)/orig_extra.grf $(BIN_DIR)/orig_dos.obg $(BIN_DIR)/orig_dos_de.obg $(BIN_DIR)/orig_win.obg $(BIN_DIR)/orig_dos.obs $(BIN_DIR)/orig_win.obs $(BIN_DIR)/no_sound.obs $(BIN_DIR)/orig_win.obm $(BIN_DIR)/no_music.obm
|
all: $(BIN_DIR)/openttd.grf $(BIN_DIR)/orig_dos.obg $(BIN_DIR)/orig_dos_de.obg $(BIN_DIR)/orig_win.obg $(BIN_DIR)/orig_dos.obs $(BIN_DIR)/orig_win.obs $(BIN_DIR)/no_sound.obs $(BIN_DIR)/orig_win.obm $(BIN_DIR)/no_music.obm
|
||||||
else
|
else
|
||||||
all:
|
all:
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Make sure the sprites directory exists.
|
||||||
|
$(OBJS_DIR)/sprites:
|
||||||
|
$(Q)-mkdir "$@"
|
||||||
|
|
||||||
$(OBJS_DIR)/langfiles.tmp: $(LANG_DIR)/*.txt
|
$(OBJS_DIR)/langfiles.tmp: $(LANG_DIR)/*.txt
|
||||||
$(E) '$(STAGE) Collecting baseset translations'
|
$(E) '$(STAGE) Collecting baseset translations'
|
||||||
$(Q) cat $^ > $@
|
$(Q) cat $^ > $@
|
||||||
|
|
||||||
$(BIN_DIR)/%.obg: $(BASESET_DIR)/%.obg $(BIN_DIR)/orig_extra.grf $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk
|
$(BIN_DIR)/%.obg: $(BASESET_DIR)/%.obg $(BIN_DIR)/openttd.grf $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk
|
||||||
$(E) '$(STAGE) Updating $(notdir $@)'
|
$(E) '$(STAGE) Updating $(notdir $@)'
|
||||||
$(Q) sed 's/^ORIG_EXTRA.GRF = *[0-9a-f]*$$/ORIG_EXTRA.GRF = '`$(MD5SUM) $(BIN_DIR)/orig_extra.grf | sed 's@ .*@@'`'/' $< > $@.tmp
|
$(Q) sed 's/^OPENTTD.GRF = *[0-9a-f]*$$/OPENTTD.GRF = '`$(MD5SUM) $(BIN_DIR)/openttd.grf | sed 's@ .*@@'`'/' $< > $@.tmp
|
||||||
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $@.tmp >$@
|
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $@.tmp >$@
|
||||||
$(Q) rm $@.tmp
|
$(Q) rm $@.tmp
|
||||||
|
|
||||||
@@ -68,9 +72,8 @@ $(BIN_DIR)/%.obm: $(BASESET_DIR)/%.obm $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/
|
|||||||
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@
|
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@
|
||||||
|
|
||||||
# Compile extra grf
|
# Compile extra grf
|
||||||
$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(GRF_DIR)/assemble_nfo.awk
|
$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites $(GRF_DIR)/assemble_nfo.awk
|
||||||
$(E) '$(STAGE) Assembling openttd.nfo'
|
$(E) '$(STAGE) Assembling openttd.nfo'
|
||||||
$(Q)-mkdir -p $(OBJS_DIR)/sprites
|
|
||||||
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
|
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
|
||||||
$(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/openttd.nfo > $(OBJS_DIR)/sprites/openttd.nfo
|
$(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/openttd.nfo > $(OBJS_DIR)/sprites/openttd.nfo
|
||||||
$(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/openttd.nfo
|
$(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/openttd.nfo
|
||||||
@@ -78,17 +81,6 @@ $(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(GRF_DIR)/assemble_nfo.awk
|
|||||||
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/openttd.grf
|
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/openttd.grf
|
||||||
$(Q)cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf
|
$(Q)cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf
|
||||||
|
|
||||||
# The copy operation of PNG_FILES is duplicated from the target 'openttd.grf', thus those targets may not run in parallel.
|
|
||||||
$(BIN_DIR)/orig_extra.grf: $(PNG_FILES) $(NFO_FILES) $(GRF_DIR)/assemble_nfo.awk | $(BIN_DIR)/openttd.grf
|
|
||||||
$(E) '$(STAGE) Assembling orig_extra.nfo'
|
|
||||||
$(Q)-mkdir -p $(OBJS_DIR)/sprites
|
|
||||||
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
|
|
||||||
$(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/orig_extra.nfo > $(OBJS_DIR)/sprites/orig_extra.nfo
|
|
||||||
$(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/orig_extra.nfo
|
|
||||||
$(E) '$(STAGE) Compiling orig_extra.grf'
|
|
||||||
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/orig_extra.grf
|
|
||||||
$(Q)cp $(OBJS_DIR)/orig_extra.grf $(BIN_DIR)/orig_extra.grf
|
|
||||||
|
|
||||||
# Clean up temporary files.
|
# Clean up temporary files.
|
||||||
clean:
|
clean:
|
||||||
$(Q)rm -f *.bak *.grf
|
$(Q)rm -f *.bak *.grf
|
||||||
|
@@ -152,7 +152,7 @@ mrproper:
|
|||||||
distclean: mrproper
|
distclean: mrproper
|
||||||
|
|
||||||
maintainer-clean: distclean
|
maintainer-clean: distclean
|
||||||
$(Q)rm -f $(BIN_DIR)/baseset/openttd.grf $(BIN_DIR)/baseset/orig_extra.grf $(BIN_DIR)/baseset/*.obg $(BIN_DIR)/baseset/*.obs $(BIN_DIR)/baseset/*.obm
|
$(Q)rm -f $(BIN_DIR)/baseset/openttd.grf $(BIN_DIR)/baseset/*.obg $(BIN_DIR)/baseset/*.obs $(BIN_DIR)/baseset/*.obm
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
@for dir in $(SRC_DIRS); do \
|
@for dir in $(SRC_DIRS); do \
|
||||||
|
@@ -6,5 +6,3 @@
|
|||||||
* 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.
|
* 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/>.
|
* 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.");
|
|
||||||
|
@@ -1,8 +0,0 @@
|
|||||||
/* $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 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 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 GetVersion() { return 1; }
|
||||||
function GetAPIVersion() { return "1.7"; }
|
function GetAPIVersion() { return "1.6"; }
|
||||||
function GetDate() { return "2007-03-18"; }
|
function GetDate() { return "2007-03-18"; }
|
||||||
function CreateInstance() { return "Regression"; }
|
function CreateInstance() { return "Regression"; }
|
||||||
}
|
}
|
||||||
|
@@ -23,7 +23,6 @@ description.en_US = A music pack without actual music.
|
|||||||
description.es_ES = Un conjunto de música vacío.
|
description.es_ES = Un conjunto de música vacío.
|
||||||
description.es_MX = Paquete de música vacío
|
description.es_MX = Paquete de música vacío
|
||||||
description.et_EE = Muusikakogu ilma muusikata.
|
description.et_EE = Muusikakogu ilma muusikata.
|
||||||
description.eu_ES = Musika gabeko musika paketea.
|
|
||||||
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
|
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
|
||||||
description.fr_FR = Un pack de musiques sans musiques.
|
description.fr_FR = Un pack de musiques sans musiques.
|
||||||
description.ga_IE = Pacáiste ceoil gan aon cheol iarbhír ann.
|
description.ga_IE = Pacáiste ceoil gan aon cheol iarbhír ann.
|
||||||
@@ -41,7 +40,6 @@ description.la_VA = Sarcina musicae sine ulla musica.
|
|||||||
description.lb_LU = E Musikpack ouni aktuell Musik.
|
description.lb_LU = E Musikpack ouni aktuell Musik.
|
||||||
description.lt_LT = Muzikos pakas be muzikos.
|
description.lt_LT = Muzikos pakas be muzikos.
|
||||||
description.lv_LV = Mūzikas kopa bez mūzikas
|
description.lv_LV = Mūzikas kopa bez mūzikas
|
||||||
description.ms_MY = Pek muzik tanpa muzik sebenar.
|
|
||||||
description.nb_NO = En musikkpakke uten noe musikk.
|
description.nb_NO = En musikkpakke uten noe musikk.
|
||||||
description.nl_NL = Een muziekset zonder muziek.
|
description.nl_NL = Een muziekset zonder muziek.
|
||||||
description.nn_NO = Ei musikkpakke utan noko musikk.
|
description.nn_NO = Ei musikkpakke utan noko musikk.
|
||||||
|
@@ -40,7 +40,6 @@ description.ko_KR = 아무런 효과음도 없는 효과음 팩입니다.
|
|||||||
description.la_VA = Sarcina sonorum sine ullis sonis.
|
description.la_VA = Sarcina sonorum sine ullis sonis.
|
||||||
description.lb_LU = E Soundpack ouni iergendee Sound.
|
description.lb_LU = E Soundpack ouni iergendee Sound.
|
||||||
description.lt_LT = Garsų pakas be jokių garsų.
|
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.nb_NO = En lydpakke uten noen lyder.
|
||||||
description.nl_NL = Een geluidset zonder geluid.
|
description.nl_NL = Een geluidset zonder geluid.
|
||||||
description.nn_NO = Ei lydpakke utan nokon lydar.
|
description.nn_NO = Ei lydpakke utan nokon lydar.
|
||||||
|
Binary file not shown.
Binary file not shown.
@@ -24,7 +24,6 @@ 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_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS.
|
||||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS.
|
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
|
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko DOS edizioko grafikoak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version grafiikat.
|
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version grafiikat.
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS).
|
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS).
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS.
|
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS.
|
||||||
@@ -41,7 +40,6 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에
|
|||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS.
|
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS.
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Grafik.
|
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Grafik.
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS leidimo grafika.
|
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.ms_MY = Grafik asal Transport Tycoon Deluxe DOS edition.
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS.
|
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS.
|
||||||
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe DOS-versie.
|
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe DOS-versie.
|
||||||
@@ -64,21 +62,21 @@ description.zh_CN = 运输大亨DOS豪华版原版图形包.
|
|||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
|
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
base = TRG1.GRF
|
base = TRG1.GRF
|
||||||
logos = TRGI.GRF
|
logos = TRGI.GRF
|
||||||
arctic = TRGC.GRF
|
arctic = TRGC.GRF
|
||||||
tropical = TRGH.GRF
|
tropical = TRGH.GRF
|
||||||
toyland = TRGT.GRF
|
toyland = TRGT.GRF
|
||||||
extra = ORIG_EXTRA.GRF
|
extra = OPENTTD.GRF
|
||||||
|
|
||||||
[md5s]
|
[md5s]
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
||||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
||||||
|
@@ -23,7 +23,6 @@ description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
|
|||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
|
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
|
||||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para DOS.
|
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para DOS.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid.
|
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid.
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko DOS edizioko soinuak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version äänet.
|
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version äänet.
|
||||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
|
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
|
||||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán DOS.
|
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán DOS.
|
||||||
|
@@ -40,7 +40,6 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에
|
|||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS (Germanica).
|
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.lb_LU = Original Transport Tycoon Deluxe DOS (Däitsch) Editioun Grafik.
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS (Vokiečių) leidimo grafika.
|
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.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.nl_NL = Originele graphics van de Duitse Transport Tycoon Deluxe DOS-versie.
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS (tysk).
|
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS (tysk).
|
||||||
@@ -62,21 +61,21 @@ description.zh_CN = 运输大亨DOS豪华德语版原版图形包.
|
|||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
|
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
base = TRG1.GRF
|
base = TRG1.GRF
|
||||||
logos = TRGI.GRF
|
logos = TRGI.GRF
|
||||||
arctic = TRGC.GRF
|
arctic = TRGC.GRF
|
||||||
tropical = TRGH.GRF
|
tropical = TRGH.GRF
|
||||||
toyland = TRGT.GRF
|
toyland = TRGT.GRF
|
||||||
extra = ORIG_EXTRA.GRF
|
extra = OPENTTD.GRF
|
||||||
|
|
||||||
[md5s]
|
[md5s]
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
||||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
||||||
|
Binary file not shown.
@@ -40,7 +40,6 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에
|
|||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe Windows.
|
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe Windows.
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Grafik.
|
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Grafik.
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo grafika.
|
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.ms_MY = Grafik asal Transport Tycoon Deluxe edisi Windows.
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for 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.nl_NL = Originele graphics van de Transport Tycoon Deluxe Windows-versie.
|
||||||
@@ -63,21 +62,21 @@ description.zh_CN = 运输大亨Windows豪华版原版图形包.
|
|||||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
|
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
base = TRG1R.GRF
|
base = TRG1R.GRF
|
||||||
logos = TRGIR.GRF
|
logos = TRGIR.GRF
|
||||||
arctic = TRGCR.GRF
|
arctic = TRGCR.GRF
|
||||||
tropical = TRGHR.GRF
|
tropical = TRGHR.GRF
|
||||||
toyland = TRGTR.GRF
|
toyland = TRGTR.GRF
|
||||||
extra = ORIG_EXTRA.GRF
|
extra = OPENTTD.GRF
|
||||||
|
|
||||||
[md5s]
|
[md5s]
|
||||||
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
|
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
|
||||||
TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
||||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
||||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
||||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
||||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
||||||
|
@@ -40,7 +40,6 @@ description.la_VA = Musica ex editione originale Transport Tycoon Deluxe Windows
|
|||||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Musik.
|
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Musik.
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo muzika.
|
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo muzika.
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma mūzika.
|
description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma mūzika.
|
||||||
description.ms_MY = Muzik asal Transport Tycoon Deluxe edisi Windows.
|
|
||||||
description.nb_NO = Original musikk fra Transport Tycoon Deluxe for Windows.
|
description.nb_NO = Original musikk fra Transport Tycoon Deluxe for Windows.
|
||||||
description.nl_NL = Originele muziek van de Transport Tycoon Deluxe Windows-versie.
|
description.nl_NL = Originele muziek van de Transport Tycoon Deluxe Windows-versie.
|
||||||
description.nn_NO = Original musikk frå Transport Tycoon Deluxe for Windows.
|
description.nn_NO = Original musikk frå Transport Tycoon Deluxe for Windows.
|
||||||
|
@@ -23,7 +23,6 @@ description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
|
|||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
|
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
|
||||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para Windows.
|
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para Windows.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
|
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko Windows edizioko grafikoak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version äänet.
|
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version äänet.
|
||||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
|
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
|
||||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
||||||
|
@@ -6,5 +6,3 @@
|
|||||||
* 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.
|
* 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/>.
|
* 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.");
|
|
||||||
|
@@ -1,8 +0,0 @@
|
|||||||
/* $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/>.
|
|
||||||
*/
|
|
@@ -1,102 +1,3 @@
|
|||||||
1.7.2 (2017-12-24)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
(None)
|
|
||||||
|
|
||||||
|
|
||||||
1.7.2-RC1 (2017-12-11)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Change: When train depots have a horizontal scrollbar, allow scrolling 1 tile beyond the longest train, so you can actually attach a wagon at the end (r27937)
|
|
||||||
- Fix: When moving wagons in the depot, the drag highlight did not exactly match the length of the dragged wagon chain (r27936)
|
|
||||||
- Fix: [Win32] Right mouse scrolling didn't work properly with the Windows 10 Fall Creators Update [FS#6629] (r27935)
|
|
||||||
- Fix: Forest, candyfloss forest and battery farm skipped the first animation frame [FS#6639] (r27932)
|
|
||||||
- Fix: Glyphs in range U+0020 to U+00FF may only be defined in orig_extra.grf, not in openttd.grf [FS#6620] (r27915)
|
|
||||||
- Fix: 'unban' console command was not handling IPv6 adresses properly (r27914, r27913)
|
|
||||||
- Fix: Keep the 'link' between industry chain and smallmap windows whenever possible [FS#6585] (r27905)
|
|
||||||
- Fix: When the last vehicle is removed from a shared orders group, hide the 'Stop sharing' button in the vehicle orders window [FS#6593] (r27904)
|
|
||||||
- Fix: Tooltip of 'increase service interval' said 'decrease' [FS#6606] (r27895)
|
|
||||||
- Fix: Console command parser passed invalid strings to the debug output, if command lines had many parameters [FS#6576] (r27884, r27883)
|
|
||||||
|
|
||||||
|
|
||||||
1.7.1 (2017-06-13)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
(None)
|
|
||||||
|
|
||||||
|
|
||||||
1.7.1-RC1 (2017-05-04)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Fix: Add missing game script event for ships arriving at a station [FS#6560] (r27859, r27858)
|
|
||||||
- Fix: StringID truncation to 16 bits broke string remapping test [FS#6555] (r27851)
|
|
||||||
- Fix: Infinite loop in pathfinder when checking safe waiting position from a waypoint [FS#5926] (r27846)
|
|
||||||
- Fix: [YAPF] Consider depot as destination before reversing path and applying penalty (r27843)
|
|
||||||
- Fix: Don't consider locks or ship depots as clear water when placing industries (r27841)
|
|
||||||
- Fix: Small news window's fake caption was not sized to fit its text (r27838)
|
|
||||||
- Fix: Black remap did nothing in 8bpp-simple blitter (r27837)
|
|
||||||
- Fix: Misaligned resize icon due to widget bounds being inclusive (r27831)
|
|
||||||
- Fix: Update viewport sign dimensions when changing GUI zoom level (r27827, r27819)
|
|
||||||
- Fix: Vehicle viewport is not user scrollable so flag window as such (r27823)
|
|
||||||
- Fix: Allow dropdown to be drawn above origin widget even with scrollbar (r27820)
|
|
||||||
- Fix: 32bpp-anim blitters assumed that pitch and width of the screen were equal [FS#6545] (r27796)
|
|
||||||
- Fix: Chat text background overflowed due to missing padding [FS#6526] (r27794)
|
|
||||||
- Fix: Failed to load lzo compressed savegames sometimes [FS#6450] (r27793)
|
|
||||||
- Fix: [Win32] Mark OpenTTD as DPI-aware to avoid OS window scaling that breaks mouse input [FS#6366] (r27791, r27790)
|
|
||||||
- Fix: [NewGRF] Get vehicle load amount after executing new cargo trigger [FS#6536] (r27788)
|
|
||||||
- Fix: AI configuration changed incorrect parameter when some parameters are hidden [FS#6479] (r27787, r27786)
|
|
||||||
- Fix: Buoys not always drawn after being placed depending on zoom level [FS#6508] (r27785)
|
|
||||||
- Fix: Allow rail conversion even if ship is on tile [FS#6505] (r27784)
|
|
||||||
|
|
||||||
|
|
||||||
1.7.0 (2017-04-01)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
(None)
|
|
||||||
|
|
||||||
|
|
||||||
1.7.0-RC1 (2017-03-11)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Feature: [NewGRF] Extend the DCxx range to D800-DFFF (r27769)
|
|
||||||
- Feature: [NewGRF, script] Increase the maximum number of GameScript texts to 64k, and NewGRF texts to 512k (r27758)
|
|
||||||
- Feature: [NewGRF] CB 37 results 0x0401 and 0x0800-0BFF for improved control of display of input cargos in the industry GUI (r27751)
|
|
||||||
- Feature: Sprites missing in outdated basesets are now provided by openttd.grf (r27732, r27731, r27730)
|
|
||||||
- Feature: [NewGRF] String command 9A 1E to print the name of a cargo type (r27707, r27706)
|
|
||||||
- Feature: [Debug] Assign descriptive names to threads [FS#6471] (r27674, r27673, r27670)
|
|
||||||
- Feature: [NewGRF] Allow composing vehicles from multiple sprites (r27668)
|
|
||||||
- Change: Enable realistic train and road vehicle acceleration by default (r27760)
|
|
||||||
- Change: Hide the drive-in stops from the tram station picker (r27734)
|
|
||||||
- Change: Do not count static NewGRF when checking for the maximum number of NewGRFs in a game (r27729)
|
|
||||||
- Change: Limit waypoint area by maximum station spread during dragging (r27710)
|
|
||||||
- Change: [Build] Re-enable Wnarrowing for gcc 4.9+ [FS#6532] (r27709, r27703)
|
|
||||||
- Change: List railtype of rail tiles explicitly in the tile info window (r27686)
|
|
||||||
- Change: Re-arrange the autoreplace GUI for trains, and do not filter it by railtype by default (r27683)
|
|
||||||
- Change: Various performance improvements to CargoDist and LinkGraphs (r27682, r27681, r27614, r27613, r27612, r27611)
|
|
||||||
- Change: Improve randomisation of rough land appearance (r27657)
|
|
||||||
- Change: [Build] Enable C++11 for clang 3.3 (r27654)
|
|
||||||
- Fix: Insufficient thread synchronisation when switching blitters lead to crashes [FS#6510] (r27775)
|
|
||||||
- Fix: Enabling palette animation for 32bpp blitters while paused skipped initialisation of the palette and resulted in black windows [FS#5889] (r27774)
|
|
||||||
- Fix: Intro games other than the traditional nightly one would cause townname NewGRFs to not get activated in the game options [FS#5819] (r27772)
|
|
||||||
- Fix: Some variables were not reset between loading old savegames, which made loading them fail [FS#6540] (r27770)
|
|
||||||
- Fix: Removing secondary roadtypes from bridges was factor 2 too cheap [FS#6538] (r27746)
|
|
||||||
- Fix: Extra viewports did not center on the selected tile [FS#6537] (r27743)
|
|
||||||
- Fix: [Build] Building on newer OSX versions with newer SDKs [FS#6295, FS#6502] (r27727, r27675)
|
|
||||||
- Fix: Improve error message when trying to build rail track over a depot (r27726)
|
|
||||||
- Fix: Rescanning NewGRF in-game could break the loaded NewGRF, if very many NewGRF were in use (r27721)
|
|
||||||
- Fix: Text could overflow various GUI elements [FS#6527] (r27713)
|
|
||||||
- Fix: Memory leak when reloading NewGRF (r27690, r27688, r27687)
|
|
||||||
- Fix: When removing objects of bankrupt companies the tiles may revert to canal. In that case also check the ownership of the canal [FS#6511] (r27656)
|
|
||||||
- Fix: Make the console file commands operate independent of the save/load GUI (r27645)
|
|
||||||
- Fix: When dragging vehicles in group or depot GUI, draw the complete articulated vehicle (r27632)
|
|
||||||
- Fix: When dragging multiple vehicles in the depot, make the destination gap as long as the chain instead of just considering the first vehicle (r27629)
|
|
||||||
- Fix: [Build] Change the GCC version detection so that it works with two-digit and truncated versions [FS#6487] (r27623, r27616)
|
|
||||||
- Fix: Do not hide filtered and highlighted industries by overlapping tiles in the zoomed-out smallmap (r27622, r27621, r27620)
|
|
||||||
- Fix: [Script] Kill scripts, when a non-suspendable valuator call takes way too long [FS#6473] (r27594)
|
|
||||||
|
|
||||||
|
|
||||||
1.6.1 (2016-07-01)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Fix: Compilation and optimisation issues with GCC6 (r27606, r27605, r27595)
|
|
||||||
- Fix: Compilation with --disable-network [FS#6481] (r27602)
|
|
||||||
- Fix: [NewGRF] shift-and-add-divide/modulo varadjusts use signed division/modulo (r27600)
|
|
||||||
- Fix: Company 0 could accept engine previews before they were offered (r27598)
|
|
||||||
|
|
||||||
|
|
||||||
1.6.1-RC1 (2016-06-01)
|
1.6.1-RC1 (2016-06-01)
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
- Feature: Mexican Spanish (r27564, r27553, r27552)
|
- Feature: Mexican Spanish (r27564, r27553, r27552)
|
||||||
|
65
config.lib
65
config.lib
@@ -1285,7 +1285,7 @@ make_compiler_cflags() {
|
|||||||
|
|
||||||
# -W alone doesn't enable all warnings enabled by -Wall; on the other hand,
|
# -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)
|
# -Weverything enables too many useless warnings that can't be disabled (as of 3.0)
|
||||||
flags="$flags -Wall -W -Wextra"
|
flags="$flags -Wall -W"
|
||||||
|
|
||||||
# warning: unused parameter '...'
|
# warning: unused parameter '...'
|
||||||
flags="$flags -Wno-unused-parameter"
|
flags="$flags -Wno-unused-parameter"
|
||||||
@@ -1326,20 +1326,13 @@ make_compiler_cflags() {
|
|||||||
flags="$flags -Wno-unused-variable"
|
flags="$flags -Wno-unused-variable"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$cc_version" -ge "33" ]; then
|
|
||||||
# clang completed C++11 support in version 3.3
|
|
||||||
flags="$flags -std=c++11"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# rdynamic is used to get useful stack traces from crash reports.
|
# rdynamic is used to get useful stack traces from crash reports.
|
||||||
ldflags="$ldflags -rdynamic"
|
ldflags="$ldflags -rdynamic"
|
||||||
else
|
else
|
||||||
# Enable some things only for certain GCC versions
|
# Enable some things only for certain GCC versions
|
||||||
# cc_version = major_version * 100 + minor_version
|
cc_version=`$1 -dumpversion | cut -c 1,3`
|
||||||
# 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 303 ]; then
|
if [ $cc_version -lt 33 ]; then
|
||||||
log 1 "configure: error: gcc older than 3.3 can't compile OpenTTD because of its poor template support"
|
log 1 "configure: error: gcc older than 3.3 can't compile OpenTTD because of its poor template support"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -1352,20 +1345,20 @@ make_compiler_cflags() {
|
|||||||
if [ $enable_assert -eq 0 ]; then
|
if [ $enable_assert -eq 0 ]; then
|
||||||
# Do not warn about unused variables when building without asserts
|
# Do not warn about unused variables when building without asserts
|
||||||
flags="$flags -Wno-unused-variable"
|
flags="$flags -Wno-unused-variable"
|
||||||
if [ $cc_version -ge 406 ]; then
|
if [ $cc_version -ge 46 ]; then
|
||||||
# GCC 4.6 gives more warnings, disable them too
|
# GCC 4.6 gives more warnings, disable them too
|
||||||
flags="$flags -Wno-unused-but-set-variable"
|
flags="$flags -Wno-unused-but-set-variable"
|
||||||
flags="$flags -Wno-unused-but-set-parameter"
|
flags="$flags -Wno-unused-but-set-parameter"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -ge 304 ]; then
|
if [ $cc_version -ge 34 ]; then
|
||||||
# Warn when a variable is used to initialise itself:
|
# Warn when a variable is used to initialise itself:
|
||||||
# int a = a;
|
# int a = a;
|
||||||
flags="$flags -Winit-self"
|
flags="$flags -Winit-self"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -ge 400 ]; then
|
if [ $cc_version -ge 40 ]; then
|
||||||
# GCC 4.0+ complains about that we break strict-aliasing.
|
# 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
|
# On most places we don't see how to fix it, and it doesn't
|
||||||
# break anything. So disable strict-aliasing to make the
|
# break anything. So disable strict-aliasing to make the
|
||||||
@@ -1376,7 +1369,7 @@ make_compiler_cflags() {
|
|||||||
flags="$flags -Wcast-qual"
|
flags="$flags -Wcast-qual"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -ge 402 ]; then
|
if [ $cc_version -ge 42 ]; then
|
||||||
# GCC 4.2+ automatically assumes that signed overflows do
|
# GCC 4.2+ automatically assumes that signed overflows do
|
||||||
# not occur in signed arithmetics, whereas we are not
|
# not occur in signed arithmetics, whereas we are not
|
||||||
# sure that they will not happen. It furthermore complains
|
# sure that they will not happen. It furthermore complains
|
||||||
@@ -1387,42 +1380,33 @@ make_compiler_cflags() {
|
|||||||
flags="$flags -Wnon-virtual-dtor"
|
flags="$flags -Wnon-virtual-dtor"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -ge 403 ] && [ $cc_version -lt 600 ]; then
|
if [ $cc_version -ge 43 ]; then
|
||||||
# Use gnu++0x mode so static_assert() is available.
|
# Use gnu++0x mode so static_assert() is available.
|
||||||
# Don't use c++0x, it breaks mingw (with gcc 4.4.0).
|
# Don't use c++0x, it breaks mingw (with gcc 4.4.0).
|
||||||
cxxflags="$cxxflags -std=gnu++0x"
|
cxxflags="$cxxflags -std=gnu++0x"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -eq 405 ]; then
|
if [ $cc_version -eq 45 ]; then
|
||||||
# Prevent optimisation supposing enums are in a range specified by the standard
|
# Prevent optimisation supposing enums are in a range specified by the standard
|
||||||
# For details, see http://gcc.gnu.org/PR43680
|
# For details, see http://gcc.gnu.org/PR43680
|
||||||
flags="$flags -fno-tree-vrp"
|
flags="$flags -fno-tree-vrp"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -eq 407 ]; then
|
if [ $cc_version -ge 47 ]; then
|
||||||
# Disable -Wnarrowing which gives many warnings, such as:
|
# Disable -Wnarrowing which gives many warnings, such as:
|
||||||
# warning: narrowing conversion of '...' from 'unsigned int' to 'int' inside { } [-Wnarrowing]
|
# warning: narrowing conversion of '...' from 'unsigned int' to 'int' inside { } [-Wnarrowing]
|
||||||
# They are valid according to the C++ standard, but useless.
|
# They are valid according to the C++ standard, but useless.
|
||||||
cxxflags="$cxxflags -Wno-narrowing"
|
cxxflags="$cxxflags -Wno-narrowing"
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $cc_version -ge 407 ]; then
|
|
||||||
# Disable bogus 'attempt to free a non-heap object' warning
|
# Disable bogus 'attempt to free a non-heap object' warning
|
||||||
flags="$flags -Wno-free-nonheap-object"
|
flags="$flags -Wno-free-nonheap-object"
|
||||||
fi
|
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
|
if [ "$enable_lto" != "0" ]; then
|
||||||
# GCC 4.5 outputs '%{flto}', GCC 4.6 outputs '%{flto*}'
|
# GCC 4.5 outputs '%{flto}', GCC 4.6 outputs '%{flto*}'
|
||||||
has_lto=`$1 -dumpspecs | grep '\%{flto'`
|
has_lto=`$1 -dumpspecs | grep '\%{flto'`
|
||||||
if [ -n "$has_lto" ]; then
|
if [ -n "$has_lto" ]; then
|
||||||
# Use LTO only if we see LTO exists and is requested
|
# Use LTO only if we see LTO exists and is requested
|
||||||
if [ $cc_version -lt 406 ]; then
|
if [ $cc_version -lt 46 ]; then
|
||||||
flags="$flags -flto"
|
flags="$flags -flto"
|
||||||
else
|
else
|
||||||
flags="$flags -flto=jobserver"
|
flags="$flags -flto=jobserver"
|
||||||
@@ -1521,7 +1505,7 @@ make_cflags_and_ldflags() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os" = "OSX" ] && [ $cc_version -eq 400 ]; then
|
if [ "$os" = "OSX" ] && [ $cc_version -eq 40 ]; then
|
||||||
# Apple's GCC 4.0 has a compiler bug for x86_64 with (higher) optimization,
|
# Apple's GCC 4.0 has a compiler bug for x86_64 with (higher) optimization,
|
||||||
# wrongly optimizing ^= in loops. This disables the failing optimisation.
|
# wrongly optimizing ^= in loops. This disables the failing optimisation.
|
||||||
CFLAGS="$CFLAGS -fno-expensive-optimizations"
|
CFLAGS="$CFLAGS -fno-expensive-optimizations"
|
||||||
@@ -1545,7 +1529,7 @@ make_cflags_and_ldflags() {
|
|||||||
LDFLAGS="$LDFLAGS -mwin32"
|
LDFLAGS="$LDFLAGS -mwin32"
|
||||||
fi
|
fi
|
||||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]; then
|
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]; then
|
||||||
if [ $cc_version -lt 406 ]; then
|
if [ $cc_version -lt 46 ]; then
|
||||||
flags="$flags -mno-cygwin"
|
flags="$flags -mno-cygwin"
|
||||||
LDFLAGS="$LDFLAGS -mno-cygwin"
|
LDFLAGS="$LDFLAGS -mno-cygwin"
|
||||||
fi
|
fi
|
||||||
@@ -1558,10 +1542,10 @@ make_cflags_and_ldflags() {
|
|||||||
|
|
||||||
LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32 -limm32"
|
LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32 -limm32"
|
||||||
|
|
||||||
if [ $cc_version -ge 404 ]; then
|
if [ $cc_version -ge 44 ]; then
|
||||||
LDFLAGS_BUILD="$LDFLAGS_BUILD -static-libgcc -static-libstdc++"
|
LDFLAGS_BUILD="$LDFLAGS_BUILD -static-libgcc -static-libstdc++"
|
||||||
fi
|
fi
|
||||||
if [ $cc_version -ge 407 ]; then
|
if [ $cc_version -ge 47 ]; then
|
||||||
CFLAGS="$CFLAGS -mno-ms-bitfields"
|
CFLAGS="$CFLAGS -mno-ms-bitfields"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -1611,6 +1595,23 @@ make_cflags_and_ldflags() {
|
|||||||
CFLAGS="$OSX_SYSROOT $CFLAGS"
|
CFLAGS="$OSX_SYSROOT $CFLAGS"
|
||||||
LDFLAGS="$OSX_LD_SYSROOT $LDFLAGS"
|
LDFLAGS="$OSX_LD_SYSROOT $LDFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$enable_universal" = "0" ] && [ $cc_version -gt 40 ]; then
|
||||||
|
# Only set the min version when not doing an universal build.
|
||||||
|
# Universal builds set the version elsewhere.
|
||||||
|
if [ "$cpu_type" = "64" ]; then
|
||||||
|
CFLAGS="$CFLAGS -mmacosx-version-min=10.5"
|
||||||
|
else
|
||||||
|
gcc_cpu=`$cc_host -dumpmachine`
|
||||||
|
if [ "`echo $gcc_cpu | cut -c 1-3`" = "ppc" -o "`echo $gcc_cpu | cut -c 1-7`" = "powerpc" ]; then
|
||||||
|
# PowerPC build can run on 10.3
|
||||||
|
CFLAGS="$CFLAGS -mmacosx-version-min=10.3"
|
||||||
|
else
|
||||||
|
# Intel is only available starting from 10.4
|
||||||
|
CFLAGS="$CFLAGS -mmacosx-version-min=10.4"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ]; then
|
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ]; then
|
||||||
@@ -1773,7 +1774,7 @@ make_cflags_and_ldflags() {
|
|||||||
# GCC 4.0+ doesn't like the DirectX includes (gives tons of
|
# 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
|
# warnings on it we won't be able to fix). For now just
|
||||||
# suppress those warnings.
|
# suppress those warnings.
|
||||||
if [ $cc_version -ge 400 ]; then
|
if [ $cc_version -ge 40 ]; then
|
||||||
CFLAGS="$CFLAGS -Wno-non-virtual-dtor"
|
CFLAGS="$CFLAGS -Wno-non-virtual-dtor"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
OpenTTD's known bugs
|
OpenTTD's known bugs
|
||||||
Last updated: 2017-12-24
|
Last updated: 2016-06-01
|
||||||
Release version: 1.7.2
|
Release version: 1.6.1-RC1
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@@ -11,21 +11,21 @@ palette = DOS
|
|||||||
!! description STR_BASEGRAPHICS_DOS_DESCRIPTION
|
!! description STR_BASEGRAPHICS_DOS_DESCRIPTION
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
base = TRG1.GRF
|
base = TRG1.GRF
|
||||||
logos = TRGI.GRF
|
logos = TRGI.GRF
|
||||||
arctic = TRGC.GRF
|
arctic = TRGC.GRF
|
||||||
tropical = TRGH.GRF
|
tropical = TRGH.GRF
|
||||||
toyland = TRGT.GRF
|
toyland = TRGT.GRF
|
||||||
extra = ORIG_EXTRA.GRF
|
extra = OPENTTD.GRF
|
||||||
|
|
||||||
[md5s]
|
[md5s]
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
||||||
ORIG_EXTRA.GRF =
|
OPENTTD.GRF =
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
||||||
|
@@ -11,21 +11,21 @@ palette = DOS
|
|||||||
!! description STR_BASEGRAPHICS_DOS_DE_DESCRIPTION
|
!! description STR_BASEGRAPHICS_DOS_DE_DESCRIPTION
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
base = TRG1.GRF
|
base = TRG1.GRF
|
||||||
logos = TRGI.GRF
|
logos = TRGI.GRF
|
||||||
arctic = TRGC.GRF
|
arctic = TRGC.GRF
|
||||||
tropical = TRGH.GRF
|
tropical = TRGH.GRF
|
||||||
toyland = TRGT.GRF
|
toyland = TRGT.GRF
|
||||||
extra = ORIG_EXTRA.GRF
|
extra = OPENTTD.GRF
|
||||||
|
|
||||||
[md5s]
|
[md5s]
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
||||||
ORIG_EXTRA.GRF =
|
OPENTTD.GRF =
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
||||||
|
@@ -11,21 +11,21 @@ palette = Windows
|
|||||||
!! description STR_BASEGRAPHICS_WIN_DESCRIPTION
|
!! description STR_BASEGRAPHICS_WIN_DESCRIPTION
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
base = TRG1R.GRF
|
base = TRG1R.GRF
|
||||||
logos = TRGIR.GRF
|
logos = TRGIR.GRF
|
||||||
arctic = TRGCR.GRF
|
arctic = TRGCR.GRF
|
||||||
tropical = TRGHR.GRF
|
tropical = TRGHR.GRF
|
||||||
toyland = TRGTR.GRF
|
toyland = TRGTR.GRF
|
||||||
extra = ORIG_EXTRA.GRF
|
extra = OPENTTD.GRF
|
||||||
|
|
||||||
[md5s]
|
[md5s]
|
||||||
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
|
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
|
||||||
TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
||||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
||||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
||||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
||||||
ORIG_EXTRA.GRF =
|
OPENTTD.GRF =
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
// 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.
|
// 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/>.
|
// 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/>.
|
||||||
//
|
//
|
||||||
-1 * 0 0C "Canal graphics by George"
|
-1 * 0 0C "Canal graphics by George / PaulC"
|
||||||
-1 * 3 05 08 41
|
-1 * 3 05 08 41
|
||||||
// Canal slopes
|
// Canal slopes
|
||||||
-1 sprites/canal_locks.png 8bpp 66 8 64 23 -31 0 normal
|
-1 sprites/canal_locks.png 8bpp 66 8 64 23 -31 0 normal
|
||||||
@@ -77,3 +77,95 @@
|
|||||||
-1 sprites/canals.png 8bpp 446 10 24 16 -11 -6 normal
|
-1 sprites/canals.png 8bpp 446 10 24 16 -11 -6 normal
|
||||||
// Canal icon
|
// Canal icon
|
||||||
-1 sprites/canal_locks.png 8bpp 50 232 20 20 0 0 normal
|
-1 sprites/canal_locks.png 8bpp 50 232 20 20 0 0 normal
|
||||||
|
|
||||||
|
// Differentiation for the climates starts here
|
||||||
|
|
||||||
|
// Canal edges (arctic snowy)
|
||||||
|
-1 * 4 01 05 01 \b12
|
||||||
|
-1 sprites/canals.png 8bpp 30 40 45 22 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 94 40 41 21 -8 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 142 40 42 21 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 190 40 43 22 -31 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 238 40 22 22 11 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 270 40 24 16 -11 15 normal
|
||||||
|
-1 sprites/canals.png 8bpp 302 40 23 23 -31 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 334 40 24 18 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 366 40 12 11 21 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 398 40 19 10 -8 21 normal
|
||||||
|
-1 sprites/canals.png 8bpp 430 40 11 10 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 446 40 24 16 -11 -6 normal
|
||||||
|
-1 * 7 02 05 10 01 00 00 00
|
||||||
|
|
||||||
|
// Canal edges (arctic normal)
|
||||||
|
-1 * 4 01 05 01 \b12
|
||||||
|
-1 sprites/canals.png 8bpp 30 70 45 22 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 94 70 41 21 -8 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 142 70 42 21 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 190 70 43 22 -31 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 238 70 22 22 11 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 270 70 24 16 -11 15 normal
|
||||||
|
-1 sprites/canals.png 8bpp 302 70 23 23 -31 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 334 70 24 18 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 366 70 12 11 21 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 398 70 19 10 -8 21 normal
|
||||||
|
-1 sprites/canals.png 8bpp 430 70 11 10 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 446 70 24 16 -11 -6 normal
|
||||||
|
-1 * 7 02 05 11 01 00 00 00
|
||||||
|
// Choose the right arctic canal edges
|
||||||
|
-1 * 14 02 05 12 81 81 00 FF 01 10 00 04 04 11 00
|
||||||
|
-1 * 6 07 83 01 \7! 01 01
|
||||||
|
-1 * 7 03 05 01 02 00 12 00
|
||||||
|
|
||||||
|
// Canal edges (tropic desert)
|
||||||
|
-1 * 4 01 05 01 \b12
|
||||||
|
-1 sprites/canals.png 8bpp 30 100 45 22 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 94 100 41 21 -8 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 142 100 42 21 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 190 100 43 22 -31 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 238 100 22 22 11 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 270 100 24 16 -11 15 normal
|
||||||
|
-1 sprites/canals.png 8bpp 302 100 23 23 -31 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 334 100 24 18 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 366 100 12 11 21 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 398 100 19 10 -8 21 normal
|
||||||
|
-1 sprites/canals.png 8bpp 430 100 11 10 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 446 100 24 16 -11 -6 normal
|
||||||
|
-1 * 7 02 05 13 01 00 00 00
|
||||||
|
|
||||||
|
// Canal edges (tropic rainforest)
|
||||||
|
-1 * 4 01 05 01 \b12
|
||||||
|
-1 sprites/canals.png 8bpp 30 130 45 22 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 94 130 41 21 -8 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 142 130 42 21 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 190 130 43 22 -31 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 238 130 22 22 11 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 270 130 24 16 -11 15 normal
|
||||||
|
-1 sprites/canals.png 8bpp 302 130 23 23 -31 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 334 130 24 18 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 366 130 12 11 21 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 398 130 19 10 -8 21 normal
|
||||||
|
-1 sprites/canals.png 8bpp 430 130 11 10 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 446 130 24 16 -11 -6 normal
|
||||||
|
-1 * 7 02 05 14 01 00 00 00
|
||||||
|
// Choose the right tropic canal edges
|
||||||
|
-1 * 14 02 05 15 81 81 00 FF 01 13 00 01 01 14 00
|
||||||
|
-1 * 6 07 83 01 \7! 02 01
|
||||||
|
-1 * 7 03 05 01 02 00 15 00
|
||||||
|
|
||||||
|
// Canal edges (toyland)
|
||||||
|
-1 * 4 01 05 01 \b12
|
||||||
|
-1 sprites/canals.png 8bpp 30 160 45 22 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 94 160 41 21 -8 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 142 160 42 21 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 190 160 43 22 -31 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 238 160 22 22 11 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 270 160 24 16 -11 15 normal
|
||||||
|
-1 sprites/canals.png 8bpp 302 160 23 23 -31 4 normal
|
||||||
|
-1 sprites/canals.png 8bpp 334 160 24 18 -11 -1 normal
|
||||||
|
-1 sprites/canals.png 8bpp 366 160 12 11 21 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 398 160 19 10 -8 21 normal
|
||||||
|
-1 sprites/canals.png 8bpp 430 160 11 10 -31 10 normal
|
||||||
|
-1 sprites/canals.png 8bpp 446 160 24 16 -11 -6 normal
|
||||||
|
-1 * 7 02 05 16 01 00 00 00
|
||||||
|
-1 * 6 07 83 01 \7! 03 01
|
||||||
|
-1 * 7 03 05 01 02 00 16 00
|
||||||
|
@@ -1,101 +0,0 @@
|
|||||||
//
|
|
||||||
// $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/>.
|
|
||||||
//
|
|
||||||
-1 * 0 0C "Extra canal graphics by PaulC"
|
|
||||||
|
|
||||||
// Differentiation for the climates starts here
|
|
||||||
|
|
||||||
// Canal edges (arctic snowy)
|
|
||||||
-1 * 4 01 05 01 \b12
|
|
||||||
-1 sprites/canals.png 8bpp 30 40 45 22 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 94 40 41 21 -8 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 142 40 42 21 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 190 40 43 22 -31 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 238 40 22 22 11 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 270 40 24 16 -11 15 normal
|
|
||||||
-1 sprites/canals.png 8bpp 302 40 23 23 -31 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 334 40 24 18 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 366 40 12 11 21 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 398 40 19 10 -8 21 normal
|
|
||||||
-1 sprites/canals.png 8bpp 430 40 11 10 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 446 40 24 16 -11 -6 normal
|
|
||||||
-1 * 7 02 05 10 01 00 00 00
|
|
||||||
|
|
||||||
// Canal edges (arctic normal)
|
|
||||||
-1 * 4 01 05 01 \b12
|
|
||||||
-1 sprites/canals.png 8bpp 30 70 45 22 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 94 70 41 21 -8 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 142 70 42 21 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 190 70 43 22 -31 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 238 70 22 22 11 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 270 70 24 16 -11 15 normal
|
|
||||||
-1 sprites/canals.png 8bpp 302 70 23 23 -31 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 334 70 24 18 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 366 70 12 11 21 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 398 70 19 10 -8 21 normal
|
|
||||||
-1 sprites/canals.png 8bpp 430 70 11 10 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 446 70 24 16 -11 -6 normal
|
|
||||||
-1 * 7 02 05 11 01 00 00 00
|
|
||||||
// Choose the right arctic canal edges
|
|
||||||
-1 * 14 02 05 12 81 81 00 FF 01 10 00 04 04 11 00
|
|
||||||
-1 * 6 07 83 01 \7! 01 01
|
|
||||||
-1 * 7 03 05 01 02 00 12 00
|
|
||||||
|
|
||||||
// Canal edges (tropic desert)
|
|
||||||
-1 * 4 01 05 01 \b12
|
|
||||||
-1 sprites/canals.png 8bpp 30 100 45 22 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 94 100 41 21 -8 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 142 100 42 21 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 190 100 43 22 -31 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 238 100 22 22 11 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 270 100 24 16 -11 15 normal
|
|
||||||
-1 sprites/canals.png 8bpp 302 100 23 23 -31 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 334 100 24 18 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 366 100 12 11 21 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 398 100 19 10 -8 21 normal
|
|
||||||
-1 sprites/canals.png 8bpp 430 100 11 10 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 446 100 24 16 -11 -6 normal
|
|
||||||
-1 * 7 02 05 13 01 00 00 00
|
|
||||||
|
|
||||||
// Canal edges (tropic rainforest)
|
|
||||||
-1 * 4 01 05 01 \b12
|
|
||||||
-1 sprites/canals.png 8bpp 30 130 45 22 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 94 130 41 21 -8 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 142 130 42 21 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 190 130 43 22 -31 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 238 130 22 22 11 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 270 130 24 16 -11 15 normal
|
|
||||||
-1 sprites/canals.png 8bpp 302 130 23 23 -31 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 334 130 24 18 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 366 130 12 11 21 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 398 130 19 10 -8 21 normal
|
|
||||||
-1 sprites/canals.png 8bpp 430 130 11 10 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 446 130 24 16 -11 -6 normal
|
|
||||||
-1 * 7 02 05 14 01 00 00 00
|
|
||||||
// Choose the right tropic canal edges
|
|
||||||
-1 * 14 02 05 15 81 81 00 FF 01 13 00 01 01 14 00
|
|
||||||
-1 * 6 07 83 01 \7! 02 01
|
|
||||||
-1 * 7 03 05 01 02 00 15 00
|
|
||||||
|
|
||||||
// Canal edges (toyland)
|
|
||||||
-1 * 4 01 05 01 \b12
|
|
||||||
-1 sprites/canals.png 8bpp 30 160 45 22 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 94 160 41 21 -8 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 142 160 42 21 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 190 160 43 22 -31 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 238 160 22 22 11 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 270 160 24 16 -11 15 normal
|
|
||||||
-1 sprites/canals.png 8bpp 302 160 23 23 -31 4 normal
|
|
||||||
-1 sprites/canals.png 8bpp 334 160 24 18 -11 -1 normal
|
|
||||||
-1 sprites/canals.png 8bpp 366 160 12 11 21 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 398 160 19 10 -8 21 normal
|
|
||||||
-1 sprites/canals.png 8bpp 430 160 11 10 -31 10 normal
|
|
||||||
-1 sprites/canals.png 8bpp 446 160 24 16 -11 -6 normal
|
|
||||||
-1 * 7 02 05 16 01 00 00 00
|
|
||||||
-1 * 6 07 83 01 \7! 03 01
|
|
||||||
-1 * 7 03 05 01 02 00 16 00
|
|
@@ -8,7 +8,245 @@
|
|||||||
//
|
//
|
||||||
-1 * 0 0C "Font characters by PaulC, Bilbo and Jasper Vries"
|
-1 * 0 0C "Font characters by PaulC, Bilbo and Jasper Vries"
|
||||||
|
|
||||||
// Note: Characters in range U+0020..U+00FF may only be defined in chars_orig_extra.nfo.
|
// Replace original characters
|
||||||
|
|
||||||
|
-1 * 5 0A 01 02 41 00
|
||||||
|
-1 sprites/chars.png 8bpp 10 10 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 20 10 4 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 02 86 00
|
||||||
|
-1 sprites/chars.png 8bpp 50 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 70 10 9 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 01 8A 00
|
||||||
|
-1 sprites/chars.png 8bpp 120 10 6 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 01 A0 00
|
||||||
|
-1 sprites/chars.png 8bpp 230 10 10 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 04 A2 00
|
||||||
|
-1 sprites/chars.png 8bpp 260 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 290 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 320 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 350 10 8 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 06 A7 00
|
||||||
|
-1 sprites/chars.png 8bpp 410 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 440 10 12 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 470 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 480 10 7 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 500 10 7 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 520 10 7 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 03 AE 00
|
||||||
|
-1 sprites/chars.png 8bpp 560 10 4 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 570 10 4 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 580 10 5 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 05 B3 00
|
||||||
|
-1 sprites/chars.png 8bpp 620 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 640 10 9 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 660 10 9 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 680 10 9 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 700 10 9 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 03 BB 00
|
||||||
|
-1 sprites/chars.png 8bpp 770 10 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 10 70 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 30 70 8 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 01 BF 00
|
||||||
|
-1 sprites/chars.png 8bpp 70 70 9 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 05 C1 00
|
||||||
|
-1 sprites/chars.png 8bpp 450 70 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 110 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 120 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 130 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 140 70 6 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 01 C7 00
|
||||||
|
-1 sprites/chars.png 8bpp 160 70 6 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 03 CA 00
|
||||||
|
-1 sprites/chars.png 8bpp 200 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 210 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 220 70 6 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 04 CE 00
|
||||||
|
-1 sprites/chars.png 8bpp 230 70 4 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 240 70 4 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 250 70 5 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 260 70 5 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 05 D3 00
|
||||||
|
-1 sprites/chars.png 8bpp 290 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 310 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 320 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 330 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 340 70 6 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 03 DB 00
|
||||||
|
-1 sprites/chars.png 8bpp 390 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 400 70 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 410 70 6 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 02 DF 00
|
||||||
|
-1 sprites/chars.png 8bpp 420 70 7 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 430 70 6 12 0 -1 normal
|
||||||
|
-1 * 5 0A 01 01 22 01
|
||||||
|
-1 sprites/chars.png 8bpp 20 30 2 7 0 0 normal
|
||||||
|
-1 * 5 0A 01 01 7D 01
|
||||||
|
-1 sprites/chars.png 8bpp 220 30 4 7 0 0 normal
|
||||||
|
-1 * 5 0A 01 02 80 01
|
||||||
|
-1 sprites/chars.png 8bpp 230 30 9 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 250 30 3 7 0 0 normal
|
||||||
|
-1 * 5 0A 01 01 89 01
|
||||||
|
-1 sprites/chars.png 8bpp 470 30 3 7 0 0 normal
|
||||||
|
-1 * 5 0A 01 01 9F 01
|
||||||
|
-1 sprites/chars.png 8bpp 70 90 3 7 0 0 normal
|
||||||
|
-1 * 5 0A 01 01 A9 01
|
||||||
|
-1 sprites/chars.png 8bpp 190 90 3 7 0 0 normal
|
||||||
|
-1 * 5 0A 01 02 BF 01
|
||||||
|
-1 sprites/chars.png 8bpp 420 90 3 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 430 90 3 7 0 0 normal
|
||||||
|
-1 * 5 0A 01 01 02 02
|
||||||
|
-1 sprites/chars.png 8bpp 20 40 4 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 41 02
|
||||||
|
-1 sprites/chars.png 8bpp 30 40 14 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 06 46 02
|
||||||
|
-1 sprites/chars.png 8bpp 50 40 10 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 70 40 14 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 90 40 3 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 100 40 13 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 120 40 7 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 130 40 16 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 50 02
|
||||||
|
-1 sprites/chars.png 8bpp 150 40 16 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 04 52 02
|
||||||
|
-1 sprites/chars.png 8bpp 170 40 8 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 180 40 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 190 40 6 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 200 40 6 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 5C 02
|
||||||
|
-1 sprites/chars.png 8bpp 210 40 7 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 60 02
|
||||||
|
-1 sprites/chars.png 8bpp 230 40 16 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 07 62 02
|
||||||
|
-1 sprites/chars.png 8bpp 260 40 20 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 290 40 20 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 320 40 20 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 350 40 20 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 380 40 20 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 410 40 20 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 440 40 24 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 18 6A 02
|
||||||
|
-1 sprites/chars.png 8bpp 480 40 14 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 500 40 14 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 520 40 14 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 540 40 14 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 560 40 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 570 40 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 580 40 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 590 40 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 600 40 17 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 620 40 18 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 640 40 15 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 660 40 15 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 680 40 15 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 700 40 15 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 720 40 15 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 740 40 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 750 40 16 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 770 40 17 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 10 100 17 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 30 100 17 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 50 100 17 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 70 100 14 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 90 100 14 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 450 100 14 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 85 02
|
||||||
|
-1 sprites/chars.png 8bpp 140 100 12 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 88 02
|
||||||
|
-1 sprites/chars.png 8bpp 170 100 19 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 02 92 02
|
||||||
|
-1 sprites/chars.png 8bpp 270 100 11 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 290 100 15 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 97 02
|
||||||
|
-1 sprites/chars.png 8bpp 340 100 11 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 02 99 02
|
||||||
|
-1 sprites/chars.png 8bpp 360 100 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 370 100 11 21 0 -2 normal
|
||||||
|
-1 * 5 0A 01 01 A0 02
|
||||||
|
-1 sprites/chars.png 8bpp 430 100 14 21 0 -2 normal
|
||||||
|
|
||||||
|
// New characters, all fonts except monospaced
|
||||||
|
|
||||||
|
// U+007B: Left Curly Bracket
|
||||||
|
// U+007C: Vertical Line
|
||||||
|
// U+007D: Right Curly Bracket
|
||||||
|
// U+007E: Tilde
|
||||||
|
-1 * 14 12 03 00 04 7B 00 01 04 7B 00 02 04 7B 00
|
||||||
|
-1 sprites/chars.png 8bpp 10 130 5 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 20 130 3 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 30 130 5 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 50 130 7 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 10 150 3 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 20 150 1 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 30 150 3 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 50 150 4 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 10 160 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 20 160 3 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 30 160 9 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 50 160 10 21 0 -2 normal
|
||||||
|
|
||||||
|
// U+007F: No-Break Space
|
||||||
|
-1 * 14 12 03 00 01 7F 00 01 01 7F 00 02 01 7F 00
|
||||||
|
-1 sprites/chars.png 8bpp 70 130 2 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 70 150 1 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 70 160 5 21 0 -2 normal
|
||||||
|
|
||||||
|
// U+00AA: Feminine Ordinal Indicator
|
||||||
|
-1 * 14 12 03 00 01 AA 00 01 01 AA 00 02 01 AA 00
|
||||||
|
-1 sprites/chars.png 8bpp 80 130 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 80 150 3 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 80 160 7 21 0 -2 normal
|
||||||
|
|
||||||
|
// U+00AC: Not Sign
|
||||||
|
// U+00AD: Soft Hyphen
|
||||||
|
-1 * 14 12 03 00 02 AC 00 01 02 AC 00 02 02 AC 00
|
||||||
|
-1 sprites/chars.png 8bpp 90 130 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 110 130 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 90 150 4 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 110 150 3 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 90 160 12 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 110 160 9 21 0 -2 normal
|
||||||
|
|
||||||
|
// U+00AF: Macron
|
||||||
|
-1 * 14 12 03 00 01 AF 00 01 01 AF 00 02 01 AF 00
|
||||||
|
-1 sprites/chars.png 8bpp 130 130 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 130 150 3 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 130 160 12 21 0 -2 normal
|
||||||
|
|
||||||
|
// U+00B4: Acute Accent
|
||||||
|
// U+00B5: Micro Sign
|
||||||
|
// U+00B6: Pilcrow Sign
|
||||||
|
// U+00B7: Middle Dot
|
||||||
|
// U+00B8: Cedilla
|
||||||
|
// U+00B9: Superscript One
|
||||||
|
-1 * 14 12 03 00 06 B4 00 01 06 B4 00 02 06 B4 00
|
||||||
|
-1 sprites/chars.png 8bpp 150 130 4 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 160 130 6 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 180 130 8 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 200 130 3 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 210 130 4 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 220 130 5 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 150 150 2 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 160 150 3 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 180 150 6 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 200 150 1 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 210 150 2 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 220 150 2 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 150 160 4 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 160 160 15 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 180 160 13 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 200 160 3 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 210 160 5 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 220 160 6 21 0 -2 normal
|
||||||
|
|
||||||
|
// U+00BC: Vulgar Fraction One Quarter
|
||||||
|
// U+00BD: Vulgar Fraction One Half
|
||||||
|
-1 * 14 12 03 00 02 BC 00 01 02 BC 00 02 02 BC 00
|
||||||
|
-1 sprites/chars.png 8bpp 230 130 10 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 250 130 10 12 0 -1 normal
|
||||||
|
-1 sprites/chars.png 8bpp 230 150 9 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 250 150 9 7 0 0 normal
|
||||||
|
-1 sprites/chars.png 8bpp 230 160 16 21 0 -2 normal
|
||||||
|
-1 sprites/chars.png 8bpp 250 160 16 21 0 -2 normal
|
||||||
|
|
||||||
// New characters, all fonts
|
// New characters, all fonts
|
||||||
|
|
||||||
|
@@ -1,249 +0,0 @@
|
|||||||
//
|
|
||||||
// $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/>.
|
|
||||||
//
|
|
||||||
-1 * 0 0C "Font characters by PaulC, Bilbo and Jasper Vries"
|
|
||||||
|
|
||||||
// Replace original characters
|
|
||||||
|
|
||||||
-1 * 5 0A 01 02 41 00
|
|
||||||
-1 sprites/chars.png 8bpp 10 10 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 20 10 4 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 02 86 00
|
|
||||||
-1 sprites/chars.png 8bpp 50 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 70 10 9 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 01 8A 00
|
|
||||||
-1 sprites/chars.png 8bpp 120 10 6 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 01 A0 00
|
|
||||||
-1 sprites/chars.png 8bpp 230 10 10 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 04 A2 00
|
|
||||||
-1 sprites/chars.png 8bpp 260 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 290 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 320 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 350 10 8 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 06 A7 00
|
|
||||||
-1 sprites/chars.png 8bpp 410 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 440 10 12 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 470 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 480 10 7 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 500 10 7 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 520 10 7 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 03 AE 00
|
|
||||||
-1 sprites/chars.png 8bpp 560 10 4 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 570 10 4 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 580 10 5 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 05 B3 00
|
|
||||||
-1 sprites/chars.png 8bpp 620 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 640 10 9 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 660 10 9 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 680 10 9 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 700 10 9 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 03 BB 00
|
|
||||||
-1 sprites/chars.png 8bpp 770 10 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 10 70 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 30 70 8 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 01 BF 00
|
|
||||||
-1 sprites/chars.png 8bpp 70 70 9 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 05 C1 00
|
|
||||||
-1 sprites/chars.png 8bpp 450 70 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 110 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 120 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 130 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 140 70 6 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 01 C7 00
|
|
||||||
-1 sprites/chars.png 8bpp 160 70 6 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 03 CA 00
|
|
||||||
-1 sprites/chars.png 8bpp 200 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 210 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 220 70 6 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 04 CE 00
|
|
||||||
-1 sprites/chars.png 8bpp 230 70 4 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 240 70 4 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 250 70 5 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 260 70 5 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 05 D3 00
|
|
||||||
-1 sprites/chars.png 8bpp 290 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 310 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 320 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 330 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 340 70 6 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 03 DB 00
|
|
||||||
-1 sprites/chars.png 8bpp 390 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 400 70 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 410 70 6 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 02 DF 00
|
|
||||||
-1 sprites/chars.png 8bpp 420 70 7 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 430 70 6 12 0 -1 normal
|
|
||||||
-1 * 5 0A 01 01 22 01
|
|
||||||
-1 sprites/chars.png 8bpp 20 30 2 7 0 0 normal
|
|
||||||
-1 * 5 0A 01 01 7D 01
|
|
||||||
-1 sprites/chars.png 8bpp 220 30 4 7 0 0 normal
|
|
||||||
-1 * 5 0A 01 02 80 01
|
|
||||||
-1 sprites/chars.png 8bpp 230 30 9 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 250 30 3 7 0 0 normal
|
|
||||||
-1 * 5 0A 01 01 89 01
|
|
||||||
-1 sprites/chars.png 8bpp 470 30 3 7 0 0 normal
|
|
||||||
-1 * 5 0A 01 01 9F 01
|
|
||||||
-1 sprites/chars.png 8bpp 70 90 3 7 0 0 normal
|
|
||||||
-1 * 5 0A 01 01 A9 01
|
|
||||||
-1 sprites/chars.png 8bpp 190 90 3 7 0 0 normal
|
|
||||||
-1 * 5 0A 01 02 BF 01
|
|
||||||
-1 sprites/chars.png 8bpp 420 90 3 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 430 90 3 7 0 0 normal
|
|
||||||
-1 * 5 0A 01 01 02 02
|
|
||||||
-1 sprites/chars.png 8bpp 20 40 4 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 41 02
|
|
||||||
-1 sprites/chars.png 8bpp 30 40 14 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 06 46 02
|
|
||||||
-1 sprites/chars.png 8bpp 50 40 10 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 70 40 14 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 90 40 3 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 100 40 13 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 120 40 7 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 130 40 16 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 50 02
|
|
||||||
-1 sprites/chars.png 8bpp 150 40 16 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 04 52 02
|
|
||||||
-1 sprites/chars.png 8bpp 170 40 8 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 180 40 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 190 40 6 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 200 40 6 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 5C 02
|
|
||||||
-1 sprites/chars.png 8bpp 210 40 7 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 60 02
|
|
||||||
-1 sprites/chars.png 8bpp 230 40 16 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 07 62 02
|
|
||||||
-1 sprites/chars.png 8bpp 260 40 20 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 290 40 20 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 320 40 20 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 350 40 20 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 380 40 20 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 410 40 20 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 440 40 24 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 18 6A 02
|
|
||||||
-1 sprites/chars.png 8bpp 480 40 14 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 500 40 14 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 520 40 14 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 540 40 14 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 560 40 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 570 40 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 580 40 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 590 40 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 600 40 17 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 620 40 18 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 640 40 15 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 660 40 15 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 680 40 15 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 700 40 15 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 720 40 15 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 740 40 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 750 40 16 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 770 40 17 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 10 100 17 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 30 100 17 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 50 100 17 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 70 100 14 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 90 100 14 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 450 100 14 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 85 02
|
|
||||||
-1 sprites/chars.png 8bpp 140 100 12 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 88 02
|
|
||||||
-1 sprites/chars.png 8bpp 170 100 19 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 02 92 02
|
|
||||||
-1 sprites/chars.png 8bpp 270 100 11 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 290 100 15 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 97 02
|
|
||||||
-1 sprites/chars.png 8bpp 340 100 11 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 02 99 02
|
|
||||||
-1 sprites/chars.png 8bpp 360 100 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 370 100 11 21 0 -2 normal
|
|
||||||
-1 * 5 0A 01 01 A0 02
|
|
||||||
-1 sprites/chars.png 8bpp 430 100 14 21 0 -2 normal
|
|
||||||
|
|
||||||
// New characters, all fonts except monospaced
|
|
||||||
|
|
||||||
// U+007B: Left Curly Bracket
|
|
||||||
// U+007C: Vertical Line
|
|
||||||
// U+007D: Right Curly Bracket
|
|
||||||
// U+007E: Tilde
|
|
||||||
-1 * 14 12 03 00 04 7B 00 01 04 7B 00 02 04 7B 00
|
|
||||||
-1 sprites/chars.png 8bpp 10 130 5 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 20 130 3 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 30 130 5 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 50 130 7 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 10 150 3 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 20 150 1 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 30 150 3 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 50 150 4 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 10 160 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 20 160 3 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 30 160 9 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 50 160 10 21 0 -2 normal
|
|
||||||
|
|
||||||
// U+007F: No-Break Space
|
|
||||||
-1 * 14 12 03 00 01 7F 00 01 01 7F 00 02 01 7F 00
|
|
||||||
-1 sprites/chars.png 8bpp 70 130 2 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 70 150 1 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 70 160 5 21 0 -2 normal
|
|
||||||
|
|
||||||
// U+00AA: Feminine Ordinal Indicator
|
|
||||||
-1 * 14 12 03 00 01 AA 00 01 01 AA 00 02 01 AA 00
|
|
||||||
-1 sprites/chars.png 8bpp 80 130 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 80 150 3 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 80 160 7 21 0 -2 normal
|
|
||||||
|
|
||||||
// U+00AC: Not Sign
|
|
||||||
// U+00AD: Soft Hyphen
|
|
||||||
-1 * 14 12 03 00 02 AC 00 01 02 AC 00 02 02 AC 00
|
|
||||||
-1 sprites/chars.png 8bpp 90 130 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 110 130 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 90 150 4 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 110 150 3 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 90 160 12 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 110 160 9 21 0 -2 normal
|
|
||||||
|
|
||||||
// U+00AF: Macron
|
|
||||||
-1 * 14 12 03 00 01 AF 00 01 01 AF 00 02 01 AF 00
|
|
||||||
-1 sprites/chars.png 8bpp 130 130 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 130 150 3 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 130 160 12 21 0 -2 normal
|
|
||||||
|
|
||||||
// U+00B4: Acute Accent
|
|
||||||
// U+00B5: Micro Sign
|
|
||||||
// U+00B6: Pilcrow Sign
|
|
||||||
// U+00B7: Middle Dot
|
|
||||||
// U+00B8: Cedilla
|
|
||||||
// U+00B9: Superscript One
|
|
||||||
-1 * 14 12 03 00 06 B4 00 01 06 B4 00 02 06 B4 00
|
|
||||||
-1 sprites/chars.png 8bpp 150 130 4 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 160 130 6 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 180 130 8 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 200 130 3 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 210 130 4 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 220 130 5 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 150 150 2 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 160 150 3 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 180 150 6 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 200 150 1 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 210 150 2 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 220 150 2 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 150 160 4 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 160 160 15 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 180 160 13 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 200 160 3 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 210 160 5 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 220 160 6 21 0 -2 normal
|
|
||||||
|
|
||||||
// U+00BC: Vulgar Fraction One Quarter
|
|
||||||
// U+00BD: Vulgar Fraction One Half
|
|
||||||
-1 * 14 12 03 00 02 BC 00 01 02 BC 00 02 02 BC 00
|
|
||||||
-1 sprites/chars.png 8bpp 230 130 10 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 250 130 10 12 0 -1 normal
|
|
||||||
-1 sprites/chars.png 8bpp 230 150 9 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 250 150 9 7 0 0 normal
|
|
||||||
-1 sprites/chars.png 8bpp 230 160 16 21 0 -2 normal
|
|
||||||
-1 sprites/chars.png 8bpp 250 160 16 21 0 -2 normal
|
|
@@ -60,11 +60,10 @@
|
|||||||
00
|
00
|
||||||
|
|
||||||
// GRF ID, must start with FF so it gets ignored
|
// GRF ID, must start with FF so it gets ignored
|
||||||
//@@WARNING DISABLE 101
|
-1 * 0 08 08 FF "OTT"
|
||||||
-1 * 0 08 08 FF FF FF FE
|
|
||||||
|
|
||||||
// Name of the GRF
|
// Name of the GRF
|
||||||
"OpenTTD's default and fallback extra graphics" 00
|
"OpenTTD's base graphics " 00
|
||||||
|
|
||||||
// Description of the GRF.
|
// Description of the GRF.
|
||||||
"License: GNU General Public License version 2" 0D
|
"License: GNU General Public License version 2" 0D
|
||||||
@@ -87,6 +86,7 @@
|
|||||||
#include "canals.nfo"
|
#include "canals.nfo"
|
||||||
#include "oneway.nfo"
|
#include "oneway.nfo"
|
||||||
#include "tramtracks.nfo"
|
#include "tramtracks.nfo"
|
||||||
|
#include "shore.nfo"
|
||||||
#include "sloped_tracks.nfo"
|
#include "sloped_tracks.nfo"
|
||||||
#include "airports.nfo"
|
#include "airports.nfo"
|
||||||
#include "roadstops.nfo"
|
#include "roadstops.nfo"
|
||||||
@@ -97,5 +97,11 @@
|
|||||||
#include "airport_preview.nfo"
|
#include "airport_preview.nfo"
|
||||||
#include "chars.nfo"
|
#include "chars.nfo"
|
||||||
#include "mono.nfo"
|
#include "mono.nfo"
|
||||||
|
#include "fix_graphics.nfo"
|
||||||
|
#include "rivers/rapids.nfo"
|
||||||
|
#include "rivers/temperate.nfo"
|
||||||
|
#include "rivers/arctic.nfo"
|
||||||
|
#include "rivers/tropic.nfo"
|
||||||
|
#include "rivers/toyland.nfo"
|
||||||
#include "tunnel_portals.nfo"
|
#include "tunnel_portals.nfo"
|
||||||
#include "palette.nfo"
|
#include "palette.nfo"
|
||||||
|
@@ -1,86 +0,0 @@
|
|||||||
// Automatically generated by GRFCODEC. Do not modify!
|
|
||||||
// (Info version 32)
|
|
||||||
// Format: spritenum imagefile depth xpos ypos xsize ysize xrel yrel zoom flags
|
|
||||||
//
|
|
||||||
// $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/>.
|
|
||||||
//
|
|
||||||
// Sources for extra graphics to complement the original graphics.
|
|
||||||
// Checks whether the correct version of OpenTTD is used before
|
|
||||||
// allowing it to be used.
|
|
||||||
//
|
|
||||||
|
|
||||||
//
|
|
||||||
// Number of sprites, it is wrong, but GRFcodec automagically gets it right.
|
|
||||||
//
|
|
||||||
0 * 4 00 00 00 00
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Check whether we are running OTTD or not.
|
|
||||||
//
|
|
||||||
-1 * 0 07 9D 04 \7= 01 00 00 00 01
|
|
||||||
-1 * 0 0B 03 7F FF 80 " is not for TTDPatch. Use ttdpatch(w).grf." 00
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Check for OTTD's version number
|
|
||||||
//
|
|
||||||
|
|
||||||
// First step... Variable A1 might not exist. If that's the case it always
|
|
||||||
// skips. As we do not want to skip out of the whole testing, we skip over
|
|
||||||
// the real version check.
|
|
||||||
-1 * 0 07 A1 04 \7= FF FF FF FF 02
|
|
||||||
|
|
||||||
// Real version check.
|
|
||||||
-1 * 0 07 A1 04 \7> \w20304 01 01 03
|
|
||||||
|
|
||||||
// If the version check is supported, the string is translateable via OpenTTD
|
|
||||||
// itself. Use it!.
|
|
||||||
|
|
||||||
-1 * 0 0B 03 7F 06 "1.1 (or trunk r20304)" 00
|
|
||||||
|
|
||||||
// Some OTTD versions before r11130 did support Action B, so use the English
|
|
||||||
// phrase there
|
|
||||||
-1 * 0 0B 03 7F FF "Requires OpenTTD version 1.1 (or trunk r20304) or better." 00
|
|
||||||
|
|
||||||
// Final fallback. No Action B support, just skip to the end of the file.
|
|
||||||
-1 * 0 07 A1 04 \7= FF FF FF FF 00
|
|
||||||
|
|
||||||
// We are a DOS paletted NewGRF, so tell OpenTTD that. Then it can actually
|
|
||||||
// do the right thing. Yay for that feature as that means no duplicate NewGRF!
|
|
||||||
-1 * 0 14
|
|
||||||
"C" "INFO"
|
|
||||||
"B" "PALS" \w1 "D"
|
|
||||||
00
|
|
||||||
00
|
|
||||||
|
|
||||||
// GRF ID, must start with FF so it gets ignored
|
|
||||||
//@@WARNING DISABLE 101
|
|
||||||
-1 * 0 08 08 FF "OTT"
|
|
||||||
|
|
||||||
// Name of the GRF
|
|
||||||
"Original baseset extra graphics" 00
|
|
||||||
|
|
||||||
// Description of the GRF.
|
|
||||||
"License: GNU General Public License version 2" 0D
|
|
||||||
"Andrew Parkhouse: rivers" 0D
|
|
||||||
"Addi and PaulC: original graphics fixes" 0D
|
|
||||||
"OpenTTD developers: other graphics" 00
|
|
||||||
|
|
||||||
//
|
|
||||||
// The real data of the GRF is acquired from several subfiles.
|
|
||||||
//
|
|
||||||
#include "chars_orig_extra.nfo"
|
|
||||||
#include "shore.nfo"
|
|
||||||
#include "fix_graphics.nfo"
|
|
||||||
#include "canals_extra.nfo"
|
|
||||||
#include "rivers/rapids.nfo"
|
|
||||||
#include "rivers/temperate.nfo"
|
|
||||||
#include "rivers/arctic.nfo"
|
|
||||||
#include "rivers/tropic.nfo"
|
|
||||||
#include "rivers/toyland.nfo"
|
|
@@ -1,45 +1,3 @@
|
|||||||
openttd (1.7.2-0) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.7.2
|
|
||||||
|
|
||||||
-- OpenTTD <info@openttd.org> Sun, 24 Dec 2017 14:00:00 +0100
|
|
||||||
|
|
||||||
openttd (1.7.2~RC1-0) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.7.2-RC1
|
|
||||||
|
|
||||||
-- OpenTTD <info@openttd.org> Mon, 11 Dec 2017 21:30:00 +0100
|
|
||||||
|
|
||||||
openttd (1.7.1-0) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.7.1
|
|
||||||
|
|
||||||
-- OpenTTD <info@openttd.org> Tue, 13 Jun 2017 21:00:00 +0200
|
|
||||||
|
|
||||||
openttd (1.7.1~RC1-0) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.7.1-RC1
|
|
||||||
|
|
||||||
-- OpenTTD <info@openttd.org> Thu, 04 Mai 2017 21:00:00 +0200
|
|
||||||
|
|
||||||
openttd (1.7.0-0) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.7.0
|
|
||||||
|
|
||||||
-- OpenTTD <info@openttd.org> Sat, 01 Apr 2017 19:00:00 +0200
|
|
||||||
|
|
||||||
openttd (1.7.0~RC1-0) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.7.0-RC1
|
|
||||||
|
|
||||||
-- OpenTTD <info@openttd.org> Sat, 11 Mar 2017 22:30:00 +0100
|
|
||||||
|
|
||||||
openttd (1.6.1-0) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.6.1
|
|
||||||
|
|
||||||
-- OpenTTD <info@openttd.org> Fri, 01 Jul 2016 00:00:00 +0200
|
|
||||||
|
|
||||||
openttd (1.6.1~RC1-0) unstable; urgency=low
|
openttd (1.6.1~RC1-0) unstable; urgency=low
|
||||||
|
|
||||||
* New upstream release 1.6.1-RC1
|
* New upstream release 1.6.1-RC1
|
||||||
|
@@ -5,7 +5,7 @@ Source: http://www.openttd.org
|
|||||||
|
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: © 2004-2017 Ludvig Strigeous and others.
|
Copyright: © 2004-2012 Ludvig Strigeous and others.
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License version 2.0 as
|
it under the terms of the GNU General Public License version 2.0 as
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
set OPENTTD_VERSION=1.7.0
|
set OPENTTD_VERSION=1.6.0
|
||||||
set OPENSFX_VERSION=0.8.0
|
set OPENSFX_VERSION=0.8.0
|
||||||
set NOSOUND_VERSION=0.8.0
|
set NOSOUND_VERSION=0.8.0
|
||||||
set OPENGFX_VERSION=1.2.0
|
set OPENGFX_VERSION=1.2.0
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
# spec file for package openttd
|
# spec file for package openttd
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# Copyright (c) 2007-2017 The OpenTTD developers
|
# Copyright (c) 2007-2012 The OpenTTD developers
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -17,9 +17,9 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
Name: openttd
|
Name: openttd
|
||||||
Version: 1.7.beta1
|
Version: 1.6.beta1
|
||||||
Release: 0
|
Release: 0
|
||||||
%define srcver 1.7.0-beta1
|
%define srcver 1.6.0-beta1
|
||||||
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
Group: Amusements/Games/Strategy/Other
|
Group: Amusements/Games/Strategy/Other
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
# Version numbers to update
|
# Version numbers to update
|
||||||
!define APPV_MAJOR 1
|
!define APPV_MAJOR 1
|
||||||
!define APPV_MINOR 7
|
!define APPV_MINOR 6
|
||||||
!define APPV_MAINT 2
|
!define APPV_MAINT 1
|
||||||
!define APPV_BUILD 1
|
!define APPV_BUILD 0
|
||||||
!define APPV_EXTRA ""
|
!define APPV_EXTRA "-RC1"
|
||||||
|
|
||||||
!define APPNAME "OpenTTD" ; Define application name
|
!define APPNAME "OpenTTD" ; Define application name
|
||||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||||
@@ -408,7 +408,6 @@ Section "Uninstall"
|
|||||||
; Baseset files
|
; Baseset files
|
||||||
Delete "$INSTDIR\baseset\opntitle.dat"
|
Delete "$INSTDIR\baseset\opntitle.dat"
|
||||||
Delete "$INSTDIR\baseset\openttd.grf"
|
Delete "$INSTDIR\baseset\openttd.grf"
|
||||||
Delete "$INSTDIR\baseset\orig_extra.grf"
|
|
||||||
Delete "$INSTDIR\baseset\orig_win.obg"
|
Delete "$INSTDIR\baseset\orig_win.obg"
|
||||||
Delete "$INSTDIR\baseset\orig_dos.obg"
|
Delete "$INSTDIR\baseset\orig_dos.obg"
|
||||||
Delete "$INSTDIR\baseset\orig_dos_de.obg"
|
Delete "$INSTDIR\baseset\orig_dos_de.obg"
|
||||||
|
@@ -1,7 +0,0 @@
|
|||||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" >
|
|
||||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
||||||
<windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
|
||||||
<dpiAware>True/PM</dpiAware>
|
|
||||||
</windowsSettings>
|
|
||||||
</application>
|
|
||||||
</assembly>
|
|
@@ -145,9 +145,6 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -191,9 +188,6 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -250,9 +244,6 @@
|
|||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -298,9 +289,6 @@
|
|||||||
<StackCommitSize>1048576</StackCommitSize>
|
<StackCommitSize>1048576</StackCommitSize>
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\src\airport.cpp" />
|
<ClCompile Include="..\src\airport.cpp" />
|
||||||
|
@@ -145,9 +145,6 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -191,9 +188,6 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -250,9 +244,6 @@
|
|||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -298,9 +289,6 @@
|
|||||||
<StackCommitSize>1048576</StackCommitSize>
|
<StackCommitSize>1048576</StackCommitSize>
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
|
@@ -151,9 +151,6 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -201,9 +198,6 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -263,9 +257,6 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -315,9 +306,6 @@
|
|||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\src\airport.cpp" />
|
<ClCompile Include="..\src\airport.cpp" />
|
||||||
|
@@ -151,9 +151,6 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -201,9 +198,6 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -263,9 +257,6 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -315,9 +306,6 @@
|
|||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
|
||||||
</Manifest>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
Last updated: 2017-12-24
|
Last updated: 2016-06-01
|
||||||
Release version: 1.7.2
|
Release version: 1.6.1-RC1
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
3
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
3
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
@@ -798,8 +798,7 @@ SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx)
|
|||||||
switch(type) {
|
switch(type) {
|
||||||
case OT_TABLE:
|
case OT_TABLE:
|
||||||
if(type(mt) == OT_TABLE) {
|
if(type(mt) == OT_TABLE) {
|
||||||
if(!_table(self)->SetDelegate(_table(mt))) return sq_throwerror(v, "delagate cycle");
|
if(!_table(self)->SetDelegate(_table(mt))) return sq_throwerror(v, "delagate cycle"); v->Pop();}
|
||||||
v->Pop();}
|
|
||||||
else if(type(mt)==OT_NULL) {
|
else if(type(mt)==OT_NULL) {
|
||||||
_table(self)->SetDelegate(NULL); v->Pop(); }
|
_table(self)->SetDelegate(NULL); v->Pop(); }
|
||||||
else return sq_aux_invalidtype(v,type);
|
else return sq_aux_invalidtype(v,type);
|
||||||
|
@@ -306,6 +306,7 @@ struct AISettingsWindow : public Window {
|
|||||||
timeout(0)
|
timeout(0)
|
||||||
{
|
{
|
||||||
this->ai_config = GetConfig(slot);
|
this->ai_config = GetConfig(slot);
|
||||||
|
this->RebuildVisibleSettings();
|
||||||
|
|
||||||
this->CreateNestedTree();
|
this->CreateNestedTree();
|
||||||
this->vscroll = this->GetScrollbar(WID_AIS_SCROLLBAR);
|
this->vscroll = this->GetScrollbar(WID_AIS_SCROLLBAR);
|
||||||
@@ -313,7 +314,7 @@ struct AISettingsWindow : public Window {
|
|||||||
|
|
||||||
this->SetWidgetDisabledState(WID_AIS_RESET, _game_mode != GM_MENU && Company::IsValidID(this->slot));
|
this->SetWidgetDisabledState(WID_AIS_RESET, _game_mode != GM_MENU && Company::IsValidID(this->slot));
|
||||||
|
|
||||||
this->RebuildVisibleSettings();
|
this->vscroll->SetCount((int)this->visible_settings.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void SetStringParameters(int widget) const
|
virtual void SetStringParameters(int widget) const
|
||||||
@@ -341,8 +342,6 @@ struct AISettingsWindow : public Window {
|
|||||||
visible_settings.push_back(&(*it));
|
visible_settings.push_back(&(*it));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this->vscroll->SetCount((int)this->visible_settings.size());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||||
@@ -532,23 +531,21 @@ struct AISettingsWindow : public Window {
|
|||||||
virtual void OnQueryTextFinished(char *str)
|
virtual void OnQueryTextFinished(char *str)
|
||||||
{
|
{
|
||||||
if (StrEmpty(str)) return;
|
if (StrEmpty(str)) return;
|
||||||
VisibleSettingsList::const_iterator it = this->visible_settings.begin();
|
ScriptConfigItemList::const_iterator it = this->ai_config->GetConfigList()->begin();
|
||||||
for (int i = 0; i < this->clicked_row; i++) it++;
|
for (int i = 0; i < this->clicked_row; i++) it++;
|
||||||
const ScriptConfigItem config_item = **it;
|
if (_game_mode == GM_NORMAL && ((this->slot == OWNER_DEITY) || Company::IsValidID(this->slot)) && (it->flags & SCRIPTCONFIG_INGAME) == 0) return;
|
||||||
if (_game_mode == GM_NORMAL && ((this->slot == OWNER_DEITY) || Company::IsValidID(this->slot)) && (config_item.flags & SCRIPTCONFIG_INGAME) == 0) return;
|
|
||||||
int32 value = atoi(str);
|
int32 value = atoi(str);
|
||||||
this->ai_config->SetSetting(config_item.name, value);
|
this->ai_config->SetSetting((*it).name, value);
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnDropdownSelect(int widget, int index)
|
virtual void OnDropdownSelect(int widget, int index)
|
||||||
{
|
{
|
||||||
assert(this->clicked_dropdown);
|
assert(this->clicked_dropdown);
|
||||||
VisibleSettingsList::const_iterator it = this->visible_settings.begin();
|
ScriptConfigItemList::const_iterator it = this->ai_config->GetConfigList()->begin();
|
||||||
for (int i = 0; i < this->clicked_row; i++) it++;
|
for (int i = 0; i < this->clicked_row; i++) it++;
|
||||||
const ScriptConfigItem config_item = **it;
|
if (_game_mode == GM_NORMAL && ((this->slot == OWNER_DEITY) || Company::IsValidID(this->slot)) && (it->flags & SCRIPTCONFIG_INGAME) == 0) return;
|
||||||
if (_game_mode == GM_NORMAL && ((this->slot == OWNER_DEITY) || Company::IsValidID(this->slot)) && (config_item.flags & SCRIPTCONFIG_INGAME) == 0) return;
|
this->ai_config->SetSetting((*it).name, index);
|
||||||
this->ai_config->SetSetting(config_item.name, index);
|
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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 ||
|
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.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.7") == 0;
|
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
|
@@ -93,7 +93,7 @@ struct Aircraft FINAL : public SpecializedVehicle<Aircraft, VEH_AIRCRAFT> {
|
|||||||
void UpdateDeltaXY(Direction direction);
|
void UpdateDeltaXY(Direction direction);
|
||||||
ExpensesType GetExpenseType(bool income) const { return income ? EXPENSES_AIRCRAFT_INC : EXPENSES_AIRCRAFT_RUN; }
|
ExpensesType GetExpenseType(bool income) const { return income ? EXPENSES_AIRCRAFT_INC : EXPENSES_AIRCRAFT_RUN; }
|
||||||
bool IsPrimaryVehicle() const { return this->IsNormalAircraft(); }
|
bool IsPrimaryVehicle() const { return this->IsNormalAircraft(); }
|
||||||
void GetImage(Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const;
|
SpriteID GetImage(Direction direction, EngineImageType image_type) const;
|
||||||
int GetDisplaySpeed() const { return this->cur_speed; }
|
int GetDisplaySpeed() const { return this->cur_speed; }
|
||||||
int GetDisplayMaxSpeed() const { return this->vcache.cached_max_speed; }
|
int GetDisplayMaxSpeed() const { return this->vcache.cached_max_speed; }
|
||||||
int GetSpeedOldUnits() const { return this->vcache.cached_max_speed * 10 / 128; }
|
int GetSpeedOldUnits() const { return this->vcache.cached_max_speed * 10 / 128; }
|
||||||
@@ -141,7 +141,7 @@ struct Aircraft FINAL : public SpecializedVehicle<Aircraft, VEH_AIRCRAFT> {
|
|||||||
*/
|
*/
|
||||||
#define FOR_ALL_AIRCRAFT(var) FOR_ALL_VEHICLES_OF_TYPE(Aircraft, var)
|
#define FOR_ALL_AIRCRAFT(var) FOR_ALL_VEHICLES_OF_TYPE(Aircraft, var)
|
||||||
|
|
||||||
void GetRotorImage(const Aircraft *v, EngineImageType image_type, VehicleSpriteSeq *result);
|
SpriteID GetRotorImage(const Aircraft *v, EngineImageType image_type);
|
||||||
|
|
||||||
Station *GetTargetAirportIfValid(const Aircraft *v);
|
Station *GetTargetAirportIfValid(const Aircraft *v);
|
||||||
|
|
||||||
|
@@ -152,69 +152,64 @@ static StationID FindNearestHangar(const Aircraft *v)
|
|||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Aircraft::GetImage(Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const
|
SpriteID Aircraft::GetImage(Direction direction, EngineImageType image_type) const
|
||||||
{
|
{
|
||||||
uint8 spritenum = this->spritenum;
|
uint8 spritenum = this->spritenum;
|
||||||
|
|
||||||
if (is_custom_sprite(spritenum)) {
|
if (is_custom_sprite(spritenum)) {
|
||||||
GetCustomVehicleSprite(this, direction, image_type, result);
|
SpriteID sprite = GetCustomVehicleSprite(this, direction, image_type);
|
||||||
if (result->IsValid()) return;
|
if (sprite != 0) return sprite;
|
||||||
|
|
||||||
spritenum = this->GetEngine()->original_image_index;
|
spritenum = this->GetEngine()->original_image_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
||||||
result->Set(direction + _aircraft_sprite[spritenum]);
|
return direction + _aircraft_sprite[spritenum];
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetRotorImage(const Aircraft *v, EngineImageType image_type, VehicleSpriteSeq *result)
|
SpriteID GetRotorImage(const Aircraft *v, EngineImageType image_type)
|
||||||
{
|
{
|
||||||
assert(v->subtype == AIR_HELICOPTER);
|
assert(v->subtype == AIR_HELICOPTER);
|
||||||
|
|
||||||
const Aircraft *w = v->Next()->Next();
|
const Aircraft *w = v->Next()->Next();
|
||||||
if (is_custom_sprite(v->spritenum)) {
|
if (is_custom_sprite(v->spritenum)) {
|
||||||
GetCustomRotorSprite(v, false, image_type, result);
|
SpriteID sprite = GetCustomRotorSprite(v, false, image_type);
|
||||||
if (result->IsValid()) return;
|
if (sprite != 0) return sprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return standard rotor sprites if there are no custom sprites for this helicopter */
|
/* Return standard rotor sprites if there are no custom sprites for this helicopter */
|
||||||
result->Set(SPR_ROTOR_STOPPED + w->state);
|
return SPR_ROTOR_STOPPED + w->state;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GetAircraftIcon(EngineID engine, EngineImageType image_type, VehicleSpriteSeq *result)
|
static SpriteID GetAircraftIcon(EngineID engine, EngineImageType image_type)
|
||||||
{
|
{
|
||||||
const Engine *e = Engine::Get(engine);
|
const Engine *e = Engine::Get(engine);
|
||||||
uint8 spritenum = e->u.air.image_index;
|
uint8 spritenum = e->u.air.image_index;
|
||||||
|
|
||||||
if (is_custom_sprite(spritenum)) {
|
if (is_custom_sprite(spritenum)) {
|
||||||
GetCustomVehicleIcon(engine, DIR_W, image_type, result);
|
SpriteID sprite = GetCustomVehicleIcon(engine, DIR_W, image_type);
|
||||||
if (result->IsValid()) return;
|
if (sprite != 0) return sprite;
|
||||||
|
|
||||||
spritenum = e->original_image_index;
|
spritenum = e->original_image_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
||||||
result->Set(DIR_W + _aircraft_sprite[spritenum]);
|
return DIR_W + _aircraft_sprite[spritenum];
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal, EngineImageType image_type)
|
void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal, EngineImageType image_type)
|
||||||
{
|
{
|
||||||
VehicleSpriteSeq seq;
|
SpriteID sprite = GetAircraftIcon(engine, image_type);
|
||||||
GetAircraftIcon(engine, image_type, &seq);
|
const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL);
|
||||||
|
|
||||||
Rect rect;
|
|
||||||
seq.GetBounds(&rect);
|
|
||||||
preferred_x = Clamp(preferred_x,
|
preferred_x = Clamp(preferred_x,
|
||||||
left - UnScaleGUI(rect.left),
|
left - UnScaleGUI(real_sprite->x_offs),
|
||||||
right - UnScaleGUI(rect.right));
|
right - UnScaleGUI(real_sprite->width) - UnScaleGUI(real_sprite->x_offs));
|
||||||
|
DrawSprite(sprite, pal, preferred_x, y);
|
||||||
seq.Draw(preferred_x, y, pal, pal == PALETTE_CRASH);
|
|
||||||
|
|
||||||
if (!(AircraftVehInfo(engine)->subtype & AIR_CTOL)) {
|
if (!(AircraftVehInfo(engine)->subtype & AIR_CTOL)) {
|
||||||
VehicleSpriteSeq rotor_seq;
|
SpriteID rotor_sprite = GetCustomRotorIcon(engine, image_type);
|
||||||
GetCustomRotorIcon(engine, image_type, &rotor_seq);
|
if (rotor_sprite == 0) rotor_sprite = SPR_ROTOR_STOPPED;
|
||||||
if (!rotor_seq.IsValid()) rotor_seq.Set(SPR_ROTOR_STOPPED);
|
DrawSprite(rotor_sprite, PAL_NONE, preferred_x, y - ScaleGUITrad(5));
|
||||||
rotor_seq.Draw(preferred_x, y - ScaleGUITrad(5), PAL_NONE, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,16 +224,12 @@ void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID en
|
|||||||
*/
|
*/
|
||||||
void GetAircraftSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type)
|
void GetAircraftSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type)
|
||||||
{
|
{
|
||||||
VehicleSpriteSeq seq;
|
const Sprite *spr = GetSprite(GetAircraftIcon(engine, image_type), ST_NORMAL);
|
||||||
GetAircraftIcon(engine, image_type, &seq);
|
|
||||||
|
|
||||||
Rect rect;
|
width = UnScaleGUI(spr->width);
|
||||||
seq.GetBounds(&rect);
|
height = UnScaleGUI(spr->height);
|
||||||
|
xoffs = UnScaleGUI(spr->x_offs);
|
||||||
width = UnScaleGUI(rect.right - rect.left + 1);
|
yoffs = UnScaleGUI(spr->y_offs);
|
||||||
height = UnScaleGUI(rect.bottom - rect.top + 1);
|
|
||||||
xoffs = UnScaleGUI(rect.left);
|
|
||||||
yoffs = UnScaleGUI(rect.top);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -326,8 +317,7 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, const Engine *
|
|||||||
v->date_of_last_service = _date;
|
v->date_of_last_service = _date;
|
||||||
v->build_year = u->build_year = _cur_year;
|
v->build_year = u->build_year = _cur_year;
|
||||||
|
|
||||||
v->sprite_seq.Set(SPR_IMG_QUERY);
|
v->cur_image = u->cur_image = SPR_IMG_QUERY;
|
||||||
u->sprite_seq.Set(SPR_IMG_QUERY);
|
|
||||||
|
|
||||||
v->random_bits = VehicleRandomBits();
|
v->random_bits = VehicleRandomBits();
|
||||||
u->random_bits = VehicleRandomBits();
|
u->random_bits = VehicleRandomBits();
|
||||||
@@ -359,7 +349,7 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, const Engine *
|
|||||||
w->vehstatus = VS_HIDDEN | VS_UNCLICKABLE;
|
w->vehstatus = VS_HIDDEN | VS_UNCLICKABLE;
|
||||||
w->spritenum = 0xFF;
|
w->spritenum = 0xFF;
|
||||||
w->subtype = AIR_ROTOR;
|
w->subtype = AIR_ROTOR;
|
||||||
w->sprite_seq.Set(SPR_ROTOR_STOPPED);
|
w->cur_image = SPR_ROTOR_STOPPED;
|
||||||
w->random_bits = VehicleRandomBits();
|
w->random_bits = VehicleRandomBits();
|
||||||
/* Use rotor's air.state to store the rotor animation frame */
|
/* Use rotor's air.state to store the rotor animation frame */
|
||||||
w->state = HRS_ROTOR_STOPPED;
|
w->state = HRS_ROTOR_STOPPED;
|
||||||
@@ -478,21 +468,21 @@ static void HelicopterTickHandler(Aircraft *v)
|
|||||||
int tick = ++u->tick_counter;
|
int tick = ++u->tick_counter;
|
||||||
int spd = u->cur_speed >> 4;
|
int spd = u->cur_speed >> 4;
|
||||||
|
|
||||||
VehicleSpriteSeq seq;
|
SpriteID img;
|
||||||
if (spd == 0) {
|
if (spd == 0) {
|
||||||
u->state = HRS_ROTOR_STOPPED;
|
u->state = HRS_ROTOR_STOPPED;
|
||||||
GetRotorImage(v, EIT_ON_MAP, &seq);
|
img = GetRotorImage(v, EIT_ON_MAP);
|
||||||
if (u->sprite_seq == seq) return;
|
if (u->cur_image == img) return;
|
||||||
} else if (tick >= spd) {
|
} else if (tick >= spd) {
|
||||||
u->tick_counter = 0;
|
u->tick_counter = 0;
|
||||||
u->state++;
|
u->state++;
|
||||||
if (u->state > HRS_ROTOR_MOVING_3) u->state = HRS_ROTOR_MOVING_1;
|
if (u->state > HRS_ROTOR_MOVING_3) u->state = HRS_ROTOR_MOVING_1;
|
||||||
GetRotorImage(v, EIT_ON_MAP, &seq);
|
img = GetRotorImage(v, EIT_ON_MAP);
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
u->sprite_seq = seq;
|
u->cur_image = img;
|
||||||
|
|
||||||
u->UpdatePositionAndViewport();
|
u->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
@@ -512,9 +502,7 @@ void SetAircraftPosition(Aircraft *v, int x, int y, int z)
|
|||||||
|
|
||||||
v->UpdatePosition();
|
v->UpdatePosition();
|
||||||
v->UpdateViewport(true, false);
|
v->UpdateViewport(true, false);
|
||||||
if (v->subtype == AIR_HELICOPTER) {
|
if (v->subtype == AIR_HELICOPTER) v->Next()->Next()->cur_image = GetRotorImage(v, EIT_ON_MAP);
|
||||||
GetRotorImage(v, EIT_ON_MAP, &v->Next()->Next()->sprite_seq);
|
|
||||||
}
|
|
||||||
|
|
||||||
Aircraft *u = v->Next();
|
Aircraft *u = v->Next();
|
||||||
|
|
||||||
@@ -525,7 +513,7 @@ void SetAircraftPosition(Aircraft *v, int x, int y, int z)
|
|||||||
|
|
||||||
safe_y = Clamp(u->y_pos, 0, MapMaxY() * TILE_SIZE);
|
safe_y = Clamp(u->y_pos, 0, MapMaxY() * TILE_SIZE);
|
||||||
u->z_pos = GetSlopePixelZ(safe_x, safe_y);
|
u->z_pos = GetSlopePixelZ(safe_x, safe_y);
|
||||||
u->sprite_seq.CopyWithoutPalette(v->sprite_seq); // the shadow is never coloured
|
u->cur_image = v->cur_image;
|
||||||
|
|
||||||
u->UpdatePositionAndViewport();
|
u->UpdatePositionAndViewport();
|
||||||
|
|
||||||
@@ -1249,9 +1237,7 @@ void Aircraft::MarkDirty()
|
|||||||
{
|
{
|
||||||
this->colourmap = PAL_NONE;
|
this->colourmap = PAL_NONE;
|
||||||
this->UpdateViewport(true, false);
|
this->UpdateViewport(true, false);
|
||||||
if (this->subtype == AIR_HELICOPTER) {
|
if (this->subtype == AIR_HELICOPTER) this->Next()->Next()->cur_image = GetRotorImage(this, EIT_ON_MAP);
|
||||||
GetRotorImage(this, EIT_ON_MAP, &this->Next()->Next()->sprite_seq);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -83,14 +83,11 @@ void DrawAircraftImage(const Vehicle *v, int left, int right, int y, VehicleID s
|
|||||||
{
|
{
|
||||||
bool rtl = _current_text_dir == TD_RTL;
|
bool rtl = _current_text_dir == TD_RTL;
|
||||||
|
|
||||||
VehicleSpriteSeq seq;
|
SpriteID sprite = v->GetImage(rtl ? DIR_E : DIR_W, image_type);
|
||||||
v->GetImage(rtl ? DIR_E : DIR_W, image_type, &seq);
|
const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL);
|
||||||
|
|
||||||
Rect rect;
|
int width = UnScaleGUI(real_sprite->width);
|
||||||
seq.GetBounds(&rect);
|
int x_offs = UnScaleGUI(real_sprite->x_offs);
|
||||||
|
|
||||||
int width = UnScaleGUI(rect.right - rect.left + 1);
|
|
||||||
int x_offs = UnScaleGUI(rect.left);
|
|
||||||
int x = rtl ? right - width - x_offs : left - x_offs;
|
int x = rtl ? right - width - x_offs : left - x_offs;
|
||||||
bool helicopter = v->subtype == AIR_HELICOPTER;
|
bool helicopter = v->subtype == AIR_HELICOPTER;
|
||||||
|
|
||||||
@@ -98,18 +95,17 @@ void DrawAircraftImage(const Vehicle *v, int left, int right, int y, VehicleID s
|
|||||||
int heli_offs = 0;
|
int heli_offs = 0;
|
||||||
|
|
||||||
PaletteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
|
PaletteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
|
||||||
seq.Draw(x, y + y_offs, pal, (v->vehstatus & VS_CRASHED) != 0);
|
DrawSprite(sprite, pal, x, y + y_offs);
|
||||||
if (helicopter) {
|
if (helicopter) {
|
||||||
const Aircraft *a = Aircraft::From(v);
|
const Aircraft *a = Aircraft::From(v);
|
||||||
VehicleSpriteSeq rotor_seq;
|
SpriteID rotor_sprite = GetCustomRotorSprite(a, true, image_type);
|
||||||
GetCustomRotorSprite(a, true, image_type, &rotor_seq);
|
if (rotor_sprite == 0) rotor_sprite = SPR_ROTOR_STOPPED;
|
||||||
if (!rotor_seq.IsValid()) rotor_seq.Set(SPR_ROTOR_STOPPED);
|
|
||||||
heli_offs = ScaleGUITrad(5);
|
heli_offs = ScaleGUITrad(5);
|
||||||
rotor_seq.Draw(x, y + y_offs - heli_offs, PAL_NONE, false);
|
DrawSprite(rotor_sprite, PAL_NONE, x, y + y_offs - heli_offs);
|
||||||
}
|
}
|
||||||
if (v->index == selection) {
|
if (v->index == selection) {
|
||||||
x += x_offs;
|
x += x_offs;
|
||||||
y += UnScaleGUI(rect.top) + y_offs - heli_offs;
|
y += UnScaleGUI(real_sprite->y_offs) + y_offs - heli_offs;
|
||||||
DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleGUI(rect.bottom - rect.top + 1) + heli_offs + 1, COLOUR_WHITE, FR_BORDERONLY);
|
DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleGUI(real_sprite->height) + heli_offs + 1, COLOUR_WHITE, FR_BORDERONLY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -441,7 +441,7 @@ void AddArticulatedParts(Vehicle *first)
|
|||||||
v->max_age = 0;
|
v->max_age = 0;
|
||||||
v->engine_type = engine_type;
|
v->engine_type = engine_type;
|
||||||
v->value = 0;
|
v->value = 0;
|
||||||
v->sprite_seq.Set(SPR_IMG_QUERY);
|
v->cur_image = SPR_IMG_QUERY;
|
||||||
v->random_bits = VehicleRandomBits();
|
v->random_bits = VehicleRandomBits();
|
||||||
|
|
||||||
if (flip_image) v->spritenum++;
|
if (flip_image) v->spritenum++;
|
||||||
|
@@ -87,7 +87,7 @@ class ReplaceVehicleWindow : public Window {
|
|||||||
byte sort_criteria; ///< Criteria of sorting vehicles.
|
byte sort_criteria; ///< Criteria of sorting vehicles.
|
||||||
bool descending_sort_order; ///< Order of sorting vehicles.
|
bool descending_sort_order; ///< Order of sorting vehicles.
|
||||||
bool show_hidden_engines; ///< Whether to show the hidden engines.
|
bool show_hidden_engines; ///< Whether to show the hidden engines.
|
||||||
RailType sel_railtype; ///< Type of rail tracks selected. #INVALID_RAILTYPE to show all.
|
RailType sel_railtype; ///< Type of rail tracks selected.
|
||||||
Scrollbar *vscroll[2];
|
Scrollbar *vscroll[2];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -104,7 +104,7 @@ class ReplaceVehicleWindow : public Window {
|
|||||||
/* Ensure that the wagon/engine selection fits the engine. */
|
/* Ensure that the wagon/engine selection fits the engine. */
|
||||||
if ((rvi->railveh_type == RAILVEH_WAGON) == show_engines) return false;
|
if ((rvi->railveh_type == RAILVEH_WAGON) == show_engines) return false;
|
||||||
|
|
||||||
if (draw_left && this->sel_railtype != INVALID_RAILTYPE) {
|
if (draw_left && show_engines) {
|
||||||
/* Ensure that the railtype is specific to the selected one */
|
/* Ensure that the railtype is specific to the selected one */
|
||||||
if (rvi->railtype != this->sel_railtype) return false;
|
if (rvi->railtype != this->sel_railtype) return false;
|
||||||
}
|
}
|
||||||
@@ -211,7 +211,24 @@ class ReplaceVehicleWindow : public Window {
|
|||||||
public:
|
public:
|
||||||
ReplaceVehicleWindow(WindowDesc *desc, VehicleType vehicletype, GroupID id_g) : Window(desc)
|
ReplaceVehicleWindow(WindowDesc *desc, VehicleType vehicletype, GroupID id_g) : Window(desc)
|
||||||
{
|
{
|
||||||
this->sel_railtype = INVALID_RAILTYPE;
|
if (vehicletype == VEH_TRAIN) {
|
||||||
|
/* For rail vehicles find the most used vehicle type, which is usually
|
||||||
|
* better than 'just' the first/previous vehicle type. */
|
||||||
|
uint type_count[RAILTYPE_END];
|
||||||
|
memset(type_count, 0, sizeof(type_count));
|
||||||
|
|
||||||
|
const Engine *e;
|
||||||
|
FOR_ALL_ENGINES_OF_TYPE(e, VEH_TRAIN) {
|
||||||
|
if (e->u.rail.railveh_type == RAILVEH_WAGON) continue;
|
||||||
|
type_count[e->u.rail.railtype] += GetGroupNumEngines(_local_company, id_g, e->index);
|
||||||
|
}
|
||||||
|
|
||||||
|
this->sel_railtype = RAILTYPE_BEGIN;
|
||||||
|
for (RailType rt = RAILTYPE_BEGIN; rt < RAILTYPE_END; rt++) {
|
||||||
|
if (type_count[this->sel_railtype] < type_count[rt]) this->sel_railtype = rt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this->replace_engines = true; // start with locomotives (all other vehicles will not read this bool)
|
this->replace_engines = true; // start with locomotives (all other vehicles will not read this bool)
|
||||||
this->engines[0].ForceRebuild();
|
this->engines[0].ForceRebuild();
|
||||||
this->engines[1].ForceRebuild();
|
this->engines[1].ForceRebuild();
|
||||||
@@ -271,9 +288,12 @@ public:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: {
|
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE: {
|
||||||
Dimension d = GetStringBoundingBox(STR_REPLACE_ENGINES);
|
StringID str = this->GetWidget<NWidgetCore>(widget)->widget_data;
|
||||||
d = maxdim(d, GetStringBoundingBox(STR_REPLACE_WAGONS));
|
SetDParam(0, STR_REPLACE_ENGINES);
|
||||||
|
Dimension d = GetStringBoundingBox(str);
|
||||||
|
SetDParam(0, STR_REPLACE_WAGONS);
|
||||||
|
d = maxdim(d, GetStringBoundingBox(str));
|
||||||
d.width += padding.width;
|
d.width += padding.width;
|
||||||
d.height += padding.height;
|
d.height += padding.height;
|
||||||
*size = maxdim(*size, d);
|
*size = maxdim(*size, d);
|
||||||
@@ -347,7 +367,7 @@ public:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN:
|
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE:
|
||||||
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
|
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -412,8 +432,12 @@ public:
|
|||||||
this->SetWidgetDisabledState(WID_RV_STOP_REPLACE, this->sel_engine[0] == INVALID_ENGINE || !EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group));
|
this->SetWidgetDisabledState(WID_RV_STOP_REPLACE, this->sel_engine[0] == INVALID_ENGINE || !EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group));
|
||||||
|
|
||||||
if (this->window_number == VEH_TRAIN) {
|
if (this->window_number == VEH_TRAIN) {
|
||||||
|
/* sets the colour of that art thing */
|
||||||
|
this->GetWidget<NWidgetCore>(WID_RV_TRAIN_FLUFF_LEFT)->colour = _company_colours[_local_company];
|
||||||
|
this->GetWidget<NWidgetCore>(WID_RV_TRAIN_FLUFF_RIGHT)->colour = _company_colours[_local_company];
|
||||||
|
|
||||||
/* Show the selected railtype in the pulldown menu */
|
/* Show the selected railtype in the pulldown menu */
|
||||||
this->GetWidget<NWidgetCore>(WID_RV_TRAIN_RAILTYPE_DROPDOWN)->widget_data = sel_railtype == INVALID_RAILTYPE ? STR_REPLACE_ALL_RAILTYPE : GetRailTypeInfo(sel_railtype)->strings.replace_text;
|
this->GetWidget<NWidgetCore>(WID_RV_TRAIN_RAILTYPE_DROPDOWN)->widget_data = GetRailTypeInfo(sel_railtype)->strings.replace_text;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->DrawWidgets();
|
this->DrawWidgets();
|
||||||
@@ -459,16 +483,15 @@ public:
|
|||||||
DisplayVehicleSortDropDown(this, static_cast<VehicleType>(this->window_number), this->sort_criteria, WID_RV_SORT_DROPDOWN);
|
DisplayVehicleSortDropDown(this, static_cast<VehicleType>(this->window_number), this->sort_criteria, WID_RV_SORT_DROPDOWN);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: {
|
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE:
|
||||||
DropDownList *list = new DropDownList();
|
this->replace_engines = !(this->replace_engines);
|
||||||
*list->Append() = new DropDownListStringItem(STR_REPLACE_ENGINES, 1, false);
|
this->engines[0].ForceRebuild();
|
||||||
*list->Append() = new DropDownListStringItem(STR_REPLACE_WAGONS, 0, false);
|
this->reset_sel_engine = true;
|
||||||
ShowDropDownList(this, list, this->replace_engines ? 1 : 0, WID_RV_TRAIN_ENGINEWAGON_DROPDOWN);
|
this->SetDirty();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
case WID_RV_TRAIN_RAILTYPE_DROPDOWN: // Railtype selection dropdown menu
|
case WID_RV_TRAIN_RAILTYPE_DROPDOWN: // Railtype selection dropdown menu
|
||||||
ShowDropDownList(this, GetRailTypeDropDownList(true, true), sel_railtype, WID_RV_TRAIN_RAILTYPE_DROPDOWN);
|
ShowDropDownList(this, GetRailTypeDropDownList(true), sel_railtype, WID_RV_TRAIN_RAILTYPE_DROPDOWN);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: // toggle renew_keep_length
|
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: // toggle renew_keep_length
|
||||||
@@ -543,14 +566,6 @@ public:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: {
|
|
||||||
this->replace_engines = index != 0;
|
|
||||||
this->engines[0].ForceRebuild();
|
|
||||||
this->reset_sel_engine = true;
|
|
||||||
this->SetDirty();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case WID_RV_START_REPLACE:
|
case WID_RV_START_REPLACE:
|
||||||
this->ReplaceClick_StartReplace(index != 0);
|
this->ReplaceClick_StartReplace(index != 0);
|
||||||
break;
|
break;
|
||||||
@@ -596,13 +611,7 @@ static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = {
|
|||||||
EndContainer(),
|
EndContainer(),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||||
NWidget(NWID_VERTICAL),
|
NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), EndContainer(),
|
||||||
NWidget(NWID_HORIZONTAL),
|
|
||||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_TRAIN_RAILTYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(0x0, STR_REPLACE_HELP_RAILTYPE), SetFill(1, 0), SetResize(1, 0),
|
|
||||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_TRAIN_ENGINEWAGON_DROPDOWN), SetDataTip(STR_BLACK_STRING, STR_REPLACE_ENGINE_WAGON_SELECT_HELP),
|
|
||||||
EndContainer(),
|
|
||||||
NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), EndContainer(),
|
|
||||||
EndContainer(),
|
|
||||||
NWidget(NWID_VERTICAL),
|
NWidget(NWID_VERTICAL),
|
||||||
NWidget(NWID_HORIZONTAL),
|
NWidget(NWID_HORIZONTAL),
|
||||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_SORT_ASCENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), SetFill(1, 1),
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_SORT_ASCENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), SetFill(1, 1),
|
||||||
@@ -622,16 +631,20 @@ static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = {
|
|||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_LEFT_DETAILS), SetMinimalSize(240, 122), SetResize(1, 0), EndContainer(),
|
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_LEFT_DETAILS), SetMinimalSize(240, 122), SetResize(1, 0), EndContainer(),
|
||||||
NWidget(NWID_VERTICAL),
|
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_RIGHT_DETAILS), SetMinimalSize(240, 122), SetResize(1, 0), EndContainer(),
|
||||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_RIGHT_DETAILS), SetMinimalSize(240, 122), SetResize(1, 0), EndContainer(),
|
|
||||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_TRAIN_WAGONREMOVE_TOGGLE), SetMinimalSize(138, 12), SetDataTip(STR_REPLACE_REMOVE_WAGON, STR_REPLACE_REMOVE_WAGON_HELP), SetFill(1, 0), SetResize(1, 0),
|
|
||||||
EndContainer(),
|
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(NWID_HORIZONTAL),
|
NWidget(NWID_HORIZONTAL),
|
||||||
NWidget(NWID_PUSHBUTTON_DROPDOWN, COLOUR_GREY, WID_RV_START_REPLACE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON),
|
NWidget(NWID_PUSHBUTTON_DROPDOWN, COLOUR_GREY, WID_RV_START_REPLACE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON),
|
||||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_INFO_TAB), SetMinimalSize(167, 12), SetDataTip(0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB), SetResize(1, 0),
|
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_INFO_TAB), SetMinimalSize(167, 12), SetDataTip(0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB), SetResize(1, 0),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_STOP_REPLACE), SetMinimalSize(150, 12), SetDataTip(STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON),
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_STOP_REPLACE), SetMinimalSize(150, 12), SetDataTip(STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON),
|
||||||
|
EndContainer(),
|
||||||
|
NWidget(NWID_HORIZONTAL),
|
||||||
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_TRAIN_ENGINEWAGON_TOGGLE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_ENGINE_WAGON_SELECT, STR_REPLACE_ENGINE_WAGON_SELECT_HELP),
|
||||||
|
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_TRAIN_FLUFF_LEFT), SetMinimalSize(15, 12), EndContainer(),
|
||||||
|
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_TRAIN_RAILTYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(0x0, STR_REPLACE_HELP_RAILTYPE), SetResize(1, 0),
|
||||||
|
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_TRAIN_FLUFF_RIGHT), SetMinimalSize(16, 12), EndContainer(),
|
||||||
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_TRAIN_WAGONREMOVE_TOGGLE), SetMinimalSize(138, 12), SetDataTip(STR_REPLACE_REMOVE_WAGON, STR_REPLACE_REMOVE_WAGON_HELP),
|
||||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
};
|
};
|
||||||
|
@@ -39,14 +39,13 @@ inline void Blitter_32bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel
|
|||||||
}
|
}
|
||||||
|
|
||||||
Colour *dst = (Colour *)bp->dst + bp->top * bp->pitch + bp->left;
|
Colour *dst = (Colour *)bp->dst + bp->top * bp->pitch + bp->left;
|
||||||
assert(_screen.pitch == this->anim_buf_pitch); // precondition for translating 'bp->dst' into an 'anim_buf' offset below.
|
uint16 *anim = this->anim_buf + ((uint32 *)bp->dst - (uint32 *)_screen.dst_ptr) + bp->top * this->anim_buf_width + bp->left;
|
||||||
uint16 *anim = this->anim_buf + ((uint32 *)bp->dst - (uint32 *)_screen.dst_ptr) + bp->top * this->anim_buf_pitch + bp->left;
|
|
||||||
|
|
||||||
const byte *remap = bp->remap; // store so we don't have to access it via bp everytime
|
const byte *remap = bp->remap; // store so we don't have to access it via bp everytime
|
||||||
|
|
||||||
for (int y = 0; y < bp->height; y++) {
|
for (int y = 0; y < bp->height; y++) {
|
||||||
Colour *dst_ln = dst + bp->pitch;
|
Colour *dst_ln = dst + bp->pitch;
|
||||||
uint16 *anim_ln = anim + this->anim_buf_pitch;
|
uint16 *anim_ln = anim + this->anim_buf_width;
|
||||||
|
|
||||||
const Colour *src_px_ln = (const Colour *)((const byte *)src_px + *(const uint32 *)src_px);
|
const Colour *src_px_ln = (const Colour *)((const byte *)src_px + *(const uint32 *)src_px);
|
||||||
src_px++;
|
src_px++;
|
||||||
@@ -280,8 +279,9 @@ void Blitter_32bppAnim::DrawColourMappingRect(void *dst, int width, int height,
|
|||||||
}
|
}
|
||||||
|
|
||||||
Colour *udst = (Colour *)dst;
|
Colour *udst = (Colour *)dst;
|
||||||
assert(_screen.pitch == this->anim_buf_pitch); // precondition for translating 'dst' into an 'anim_buf' offset below.
|
uint16 *anim;
|
||||||
uint16 *anim = this->anim_buf + ((uint32 *)dst - (uint32 *)_screen.dst_ptr);
|
|
||||||
|
anim = this->anim_buf + ((uint32 *)dst - (uint32 *)_screen.dst_ptr);
|
||||||
|
|
||||||
if (pal == PALETTE_TO_TRANSPARENT) {
|
if (pal == PALETTE_TO_TRANSPARENT) {
|
||||||
do {
|
do {
|
||||||
@@ -292,7 +292,7 @@ void Blitter_32bppAnim::DrawColourMappingRect(void *dst, int width, int height,
|
|||||||
anim++;
|
anim++;
|
||||||
}
|
}
|
||||||
udst = udst - width + _screen.pitch;
|
udst = udst - width + _screen.pitch;
|
||||||
anim = anim - width + this->anim_buf_pitch;
|
anim = anim - width + this->anim_buf_width;
|
||||||
} while (--height);
|
} while (--height);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -305,7 +305,7 @@ void Blitter_32bppAnim::DrawColourMappingRect(void *dst, int width, int height,
|
|||||||
anim++;
|
anim++;
|
||||||
}
|
}
|
||||||
udst = udst - width + _screen.pitch;
|
udst = udst - width + _screen.pitch;
|
||||||
anim = anim - width + this->anim_buf_pitch;
|
anim = anim - width + this->anim_buf_width;
|
||||||
} while (--height);
|
} while (--height);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -319,8 +319,7 @@ void Blitter_32bppAnim::SetPixel(void *video, int x, int y, uint8 colour)
|
|||||||
|
|
||||||
/* Set the colour in the anim-buffer too, if we are rendering to the screen */
|
/* Set the colour in the anim-buffer too, if we are rendering to the screen */
|
||||||
if (_screen_disable_anim) return;
|
if (_screen_disable_anim) return;
|
||||||
assert(_screen.pitch == this->anim_buf_pitch); // precondition for translating 'video' into an 'anim_buf' offset below.
|
this->anim_buf[((uint32 *)video - (uint32 *)_screen.dst_ptr) + x + y * this->anim_buf_width] = colour | (DEFAULT_BRIGHTNESS << 8);
|
||||||
this->anim_buf[((uint32 *)video - (uint32 *)_screen.dst_ptr) + x + y * this->anim_buf_pitch] = colour | (DEFAULT_BRIGHTNESS << 8);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Blitter_32bppAnim::DrawRect(void *video, int width, int height, uint8 colour)
|
void Blitter_32bppAnim::DrawRect(void *video, int width, int height, uint8 colour)
|
||||||
@@ -332,8 +331,9 @@ void Blitter_32bppAnim::DrawRect(void *video, int width, int height, uint8 colou
|
|||||||
}
|
}
|
||||||
|
|
||||||
Colour colour32 = LookupColourInPalette(colour);
|
Colour colour32 = LookupColourInPalette(colour);
|
||||||
assert(_screen.pitch == this->anim_buf_pitch); // precondition for translating 'video' into an 'anim_buf' offset below.
|
uint16 *anim_line;
|
||||||
uint16 *anim_line = ((uint32 *)video - (uint32 *)_screen.dst_ptr) + this->anim_buf;
|
|
||||||
|
anim_line = ((uint32 *)video - (uint32 *)_screen.dst_ptr) + this->anim_buf;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
Colour *dst = (Colour *)video;
|
Colour *dst = (Colour *)video;
|
||||||
@@ -347,7 +347,7 @@ void Blitter_32bppAnim::DrawRect(void *video, int width, int height, uint8 colou
|
|||||||
anim++;
|
anim++;
|
||||||
}
|
}
|
||||||
video = (uint32 *)video + _screen.pitch;
|
video = (uint32 *)video + _screen.pitch;
|
||||||
anim_line += this->anim_buf_pitch;
|
anim_line += this->anim_buf_width;
|
||||||
} while (--height);
|
} while (--height);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -357,7 +357,6 @@ void Blitter_32bppAnim::CopyFromBuffer(void *video, const void *src, int width,
|
|||||||
assert(video >= _screen.dst_ptr && video <= (uint32 *)_screen.dst_ptr + _screen.width + _screen.height * _screen.pitch);
|
assert(video >= _screen.dst_ptr && video <= (uint32 *)_screen.dst_ptr + _screen.width + _screen.height * _screen.pitch);
|
||||||
Colour *dst = (Colour *)video;
|
Colour *dst = (Colour *)video;
|
||||||
const uint32 *usrc = (const uint32 *)src;
|
const uint32 *usrc = (const uint32 *)src;
|
||||||
assert(_screen.pitch == this->anim_buf_pitch); // precondition for translating 'video' into an 'anim_buf' offset below.
|
|
||||||
uint16 *anim_line = ((uint32 *)video - (uint32 *)_screen.dst_ptr) + this->anim_buf;
|
uint16 *anim_line = ((uint32 *)video - (uint32 *)_screen.dst_ptr) + this->anim_buf;
|
||||||
|
|
||||||
for (; height > 0; height--) {
|
for (; height > 0; height--) {
|
||||||
@@ -371,7 +370,7 @@ void Blitter_32bppAnim::CopyFromBuffer(void *video, const void *src, int width,
|
|||||||
/* Copy back the anim-buffer */
|
/* Copy back the anim-buffer */
|
||||||
memcpy(anim_line, usrc, width * sizeof(uint16));
|
memcpy(anim_line, usrc, width * sizeof(uint16));
|
||||||
usrc = (const uint32 *)((const uint16 *)usrc + width);
|
usrc = (const uint32 *)((const uint16 *)usrc + width);
|
||||||
anim_line += this->anim_buf_pitch;
|
anim_line += this->anim_buf_width;
|
||||||
|
|
||||||
/* Okay, it is *very* likely that the image we stored is using
|
/* Okay, it is *very* likely that the image we stored is using
|
||||||
* the wrong palette animated colours. There are two things we
|
* the wrong palette animated colours. There are two things we
|
||||||
@@ -398,11 +397,11 @@ void Blitter_32bppAnim::CopyToBuffer(const void *video, void *dst, int width, in
|
|||||||
assert(video >= _screen.dst_ptr && video <= (uint32 *)_screen.dst_ptr + _screen.width + _screen.height * _screen.pitch);
|
assert(video >= _screen.dst_ptr && video <= (uint32 *)_screen.dst_ptr + _screen.width + _screen.height * _screen.pitch);
|
||||||
uint32 *udst = (uint32 *)dst;
|
uint32 *udst = (uint32 *)dst;
|
||||||
const uint32 *src = (const uint32 *)video;
|
const uint32 *src = (const uint32 *)video;
|
||||||
|
const uint16 *anim_line;
|
||||||
|
|
||||||
if (this->anim_buf == NULL) return;
|
if (this->anim_buf == NULL) return;
|
||||||
|
|
||||||
assert(_screen.pitch == this->anim_buf_pitch); // precondition for translating 'video' into an 'anim_buf' offset below.
|
anim_line = ((const uint32 *)video - (uint32 *)_screen.dst_ptr) + this->anim_buf;
|
||||||
const uint16 *anim_line = ((const uint32 *)video - (uint32 *)_screen.dst_ptr) + this->anim_buf;
|
|
||||||
|
|
||||||
for (; height > 0; height--) {
|
for (; height > 0; height--) {
|
||||||
memcpy(udst, src, width * sizeof(uint32));
|
memcpy(udst, src, width * sizeof(uint32));
|
||||||
@@ -411,7 +410,7 @@ void Blitter_32bppAnim::CopyToBuffer(const void *video, void *dst, int width, in
|
|||||||
/* Copy the anim-buffer */
|
/* Copy the anim-buffer */
|
||||||
memcpy(udst, anim_line, width * sizeof(uint16));
|
memcpy(udst, anim_line, width * sizeof(uint16));
|
||||||
udst = (uint32 *)((uint16 *)udst + width);
|
udst = (uint32 *)((uint16 *)udst + width);
|
||||||
anim_line += this->anim_buf_pitch;
|
anim_line += this->anim_buf_width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -423,8 +422,8 @@ void Blitter_32bppAnim::ScrollBuffer(void *video, int &left, int &top, int &widt
|
|||||||
|
|
||||||
/* We need to scroll the anim-buffer too */
|
/* We need to scroll the anim-buffer too */
|
||||||
if (scroll_y > 0) {
|
if (scroll_y > 0) {
|
||||||
dst = this->anim_buf + left + (top + height - 1) * this->anim_buf_pitch;
|
dst = this->anim_buf + left + (top + height - 1) * this->anim_buf_width;
|
||||||
src = dst - scroll_y * this->anim_buf_pitch;
|
src = dst - scroll_y * this->anim_buf_width;
|
||||||
|
|
||||||
/* Adjust left & width */
|
/* Adjust left & width */
|
||||||
if (scroll_x >= 0) {
|
if (scroll_x >= 0) {
|
||||||
@@ -437,13 +436,13 @@ void Blitter_32bppAnim::ScrollBuffer(void *video, int &left, int &top, int &widt
|
|||||||
uint th = height - scroll_y;
|
uint th = height - scroll_y;
|
||||||
for (; th > 0; th--) {
|
for (; th > 0; th--) {
|
||||||
memcpy(dst, src, tw * sizeof(uint16));
|
memcpy(dst, src, tw * sizeof(uint16));
|
||||||
src -= this->anim_buf_pitch;
|
src -= this->anim_buf_width;
|
||||||
dst -= this->anim_buf_pitch;
|
dst -= this->anim_buf_width;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Calculate pointers */
|
/* Calculate pointers */
|
||||||
dst = this->anim_buf + left + top * this->anim_buf_pitch;
|
dst = this->anim_buf + left + top * this->anim_buf_width;
|
||||||
src = dst - scroll_y * this->anim_buf_pitch;
|
src = dst - scroll_y * this->anim_buf_width;
|
||||||
|
|
||||||
/* Adjust left & width */
|
/* Adjust left & width */
|
||||||
if (scroll_x >= 0) {
|
if (scroll_x >= 0) {
|
||||||
@@ -458,8 +457,8 @@ void Blitter_32bppAnim::ScrollBuffer(void *video, int &left, int &top, int &widt
|
|||||||
uint th = height + scroll_y;
|
uint th = height + scroll_y;
|
||||||
for (; th > 0; th--) {
|
for (; th > 0; th--) {
|
||||||
memmove(dst, src, tw * sizeof(uint16));
|
memmove(dst, src, tw * sizeof(uint16));
|
||||||
src += this->anim_buf_pitch;
|
src += this->anim_buf_width;
|
||||||
dst += this->anim_buf_pitch;
|
dst += this->anim_buf_width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -496,7 +495,6 @@ void Blitter_32bppAnim::PaletteAnimate(const Palette &palette)
|
|||||||
anim++;
|
anim++;
|
||||||
}
|
}
|
||||||
dst += _screen.pitch - this->anim_buf_width;
|
dst += _screen.pitch - this->anim_buf_width;
|
||||||
anim += this->anim_buf_pitch - this->anim_buf_width;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure the backend redraws the whole screen */
|
/* Make sure the backend redraws the whole screen */
|
||||||
@@ -510,13 +508,11 @@ Blitter::PaletteAnimation Blitter_32bppAnim::UsePaletteAnimation()
|
|||||||
|
|
||||||
void Blitter_32bppAnim::PostResize()
|
void Blitter_32bppAnim::PostResize()
|
||||||
{
|
{
|
||||||
if (_screen.width != this->anim_buf_width || _screen.height != this->anim_buf_height ||
|
if (_screen.width != this->anim_buf_width || _screen.height != this->anim_buf_height) {
|
||||||
_screen.pitch != this->anim_buf_pitch) {
|
|
||||||
/* The size of the screen changed; we can assume we can wipe all data from our buffer */
|
/* The size of the screen changed; we can assume we can wipe all data from our buffer */
|
||||||
free(this->anim_buf);
|
free(this->anim_buf);
|
||||||
|
this->anim_buf = CallocT<uint16>(_screen.width * _screen.height);
|
||||||
this->anim_buf_width = _screen.width;
|
this->anim_buf_width = _screen.width;
|
||||||
this->anim_buf_height = _screen.height;
|
this->anim_buf_height = _screen.height;
|
||||||
this->anim_buf_pitch = _screen.pitch;
|
|
||||||
this->anim_buf = CallocT<uint16>(this->anim_buf_height * this->anim_buf_pitch);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -20,18 +20,14 @@ protected:
|
|||||||
uint16 *anim_buf; ///< In this buffer we keep track of the 8bpp indexes so we can do palette animation
|
uint16 *anim_buf; ///< In this buffer we keep track of the 8bpp indexes so we can do palette animation
|
||||||
int anim_buf_width; ///< The width of the animation buffer.
|
int anim_buf_width; ///< The width of the animation buffer.
|
||||||
int anim_buf_height; ///< The height of the animation buffer.
|
int anim_buf_height; ///< The height of the animation buffer.
|
||||||
int anim_buf_pitch; ///< The pitch of the animation buffer.
|
|
||||||
Palette palette; ///< The current palette.
|
Palette palette; ///< The current palette.
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Blitter_32bppAnim() :
|
Blitter_32bppAnim() :
|
||||||
anim_buf(NULL),
|
anim_buf(NULL),
|
||||||
anim_buf_width(0),
|
anim_buf_width(0),
|
||||||
anim_buf_height(0),
|
anim_buf_height(0)
|
||||||
anim_buf_pitch(0)
|
{}
|
||||||
{
|
|
||||||
this->palette = _cur_palette;
|
|
||||||
}
|
|
||||||
|
|
||||||
~Blitter_32bppAnim();
|
~Blitter_32bppAnim();
|
||||||
|
|
||||||
|
@@ -35,8 +35,7 @@ inline void Blitter_32bppSSE4_Anim::Draw(const Blitter::BlitterParams *bp, ZoomL
|
|||||||
{
|
{
|
||||||
const byte * const remap = bp->remap;
|
const byte * const remap = bp->remap;
|
||||||
Colour *dst_line = (Colour *) bp->dst + bp->top * bp->pitch + bp->left;
|
Colour *dst_line = (Colour *) bp->dst + bp->top * bp->pitch + bp->left;
|
||||||
assert(_screen.pitch == this->anim_buf_pitch); // precondition for translating 'bp->dst' into an 'anim_buf' offset below.
|
uint16 *anim_line = this->anim_buf + ((uint32 *)bp->dst - (uint32 *)_screen.dst_ptr) + bp->top * this->anim_buf_width + bp->left;
|
||||||
uint16 *anim_line = this->anim_buf + ((uint32 *)bp->dst - (uint32 *)_screen.dst_ptr) + bp->top * this->anim_buf_pitch + bp->left;
|
|
||||||
int effective_width = bp->width;
|
int effective_width = bp->width;
|
||||||
|
|
||||||
/* Find where to start reading in the source sprite. */
|
/* Find where to start reading in the source sprite. */
|
||||||
@@ -354,7 +353,7 @@ next_line:
|
|||||||
if (mode != BM_TRANSPARENT) src_mv_line += si->sprite_width;
|
if (mode != BM_TRANSPARENT) src_mv_line += si->sprite_width;
|
||||||
src_rgba_line = (const Colour*) ((const byte*) src_rgba_line + si->sprite_line_size);
|
src_rgba_line = (const Colour*) ((const byte*) src_rgba_line + si->sprite_line_size);
|
||||||
dst_line += bp->pitch;
|
dst_line += bp->pitch;
|
||||||
anim_line += this->anim_buf_pitch;
|
anim_line += this->anim_buf_width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IGNORE_UNINITIALIZED_WARNING_STOP
|
IGNORE_UNINITIALIZED_WARNING_STOP
|
||||||
|
@@ -48,7 +48,7 @@ void Blitter_8bppSimple::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Zoom
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case BM_BLACK_REMAP:
|
case BM_BLACK_REMAP:
|
||||||
if (*src != 0) *dst = 0;
|
colour = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@@ -56,7 +56,7 @@ void DrawHillyLandTile(const TileInfo *ti)
|
|||||||
if (ti->tileh != SLOPE_FLAT) {
|
if (ti->tileh != SLOPE_FLAT) {
|
||||||
DrawGroundSprite(SPR_FLAT_ROUGH_LAND + SlopeToSpriteOffset(ti->tileh), PAL_NONE);
|
DrawGroundSprite(SPR_FLAT_ROUGH_LAND + SlopeToSpriteOffset(ti->tileh), PAL_NONE);
|
||||||
} else {
|
} else {
|
||||||
DrawGroundSprite(_landscape_clear_sprites_rough[GB(TileHash(ti->x, ti->y), 0, 3)], PAL_NONE);
|
DrawGroundSprite(_landscape_clear_sprites_rough[GB(ti->x ^ ti->y, 4, 3)], PAL_NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -81,7 +81,7 @@ CommandCallback CcBuildBridge;
|
|||||||
|
|
||||||
/* dock_gui.cpp */
|
/* dock_gui.cpp */
|
||||||
CommandCallback CcBuildDocks;
|
CommandCallback CcBuildDocks;
|
||||||
CommandCallback CcPlaySound_SPLAT_WATER;
|
CommandCallback CcBuildCanal;
|
||||||
|
|
||||||
/* depot_gui.cpp */
|
/* depot_gui.cpp */
|
||||||
CommandCallback CcCloneVehicle;
|
CommandCallback CcCloneVehicle;
|
||||||
@@ -97,19 +97,19 @@ CommandCallback CcAddVehicleNewGroup;
|
|||||||
CommandCallback CcBuildIndustry;
|
CommandCallback CcBuildIndustry;
|
||||||
|
|
||||||
/* main_gui.cpp */
|
/* main_gui.cpp */
|
||||||
CommandCallback CcPlaySound_EXPLOSION;
|
CommandCallback CcPlaySound10;
|
||||||
CommandCallback CcPlaceSign;
|
CommandCallback CcPlaceSign;
|
||||||
CommandCallback CcTerraform;
|
CommandCallback CcTerraform;
|
||||||
CommandCallback CcGiveMoney;
|
CommandCallback CcGiveMoney;
|
||||||
|
|
||||||
/* rail_gui.cpp */
|
/* rail_gui.cpp */
|
||||||
CommandCallback CcPlaySound_SPLAT_RAIL;
|
CommandCallback CcPlaySound1E;
|
||||||
CommandCallback CcRailDepot;
|
CommandCallback CcRailDepot;
|
||||||
CommandCallback CcStation;
|
CommandCallback CcStation;
|
||||||
CommandCallback CcBuildRailTunnel;
|
CommandCallback CcBuildRailTunnel;
|
||||||
|
|
||||||
/* road_gui.cpp */
|
/* road_gui.cpp */
|
||||||
CommandCallback CcPlaySound_SPLAT_OTHER;
|
CommandCallback CcPlaySound1D;
|
||||||
CommandCallback CcBuildRoadTunnel;
|
CommandCallback CcBuildRoadTunnel;
|
||||||
CommandCallback CcRoadDepot;
|
CommandCallback CcRoadDepot;
|
||||||
CommandCallback CcRoadStop;
|
CommandCallback CcRoadStop;
|
||||||
|
@@ -52,10 +52,10 @@ extern CompanyPool _company_pool;
|
|||||||
/** Statically loadable part of Company pool item */
|
/** Statically loadable part of Company pool item */
|
||||||
struct CompanyProperties {
|
struct CompanyProperties {
|
||||||
uint32 name_2; ///< Parameter of #name_1.
|
uint32 name_2; ///< Parameter of #name_1.
|
||||||
StringID name_1; ///< Name of the company if the user did not change it.
|
uint16 name_1; ///< Name of the company if the user did not change it.
|
||||||
char *name; ///< Name of the company if the user changed it.
|
char *name; ///< Name of the company if the user changed it.
|
||||||
|
|
||||||
StringID president_name_1; ///< Name of the president if the user did not change it.
|
uint16 president_name_1; ///< Name of the president if the user did not change it.
|
||||||
uint32 president_name_2; ///< Parameter of #president_name_1
|
uint32 president_name_2; ///< Parameter of #president_name_1
|
||||||
char *president_name; ///< Name of the president if the user changed it.
|
char *president_name; ///< Name of the president if the user changed it.
|
||||||
|
|
||||||
|
@@ -434,10 +434,7 @@ void IConsoleCmdExec(const char *cmdstr)
|
|||||||
* enclosed in "" are taken as one token. We can only go as far as the amount
|
* enclosed in "" are taken as one token. We can only go as far as the amount
|
||||||
* of characters in our stream or the max amount of tokens we can handle */
|
* of characters in our stream or the max amount of tokens we can handle */
|
||||||
for (cmdptr = cmdstr, t_index = 0, tstream_i = 0; *cmdptr != '\0'; cmdptr++) {
|
for (cmdptr = cmdstr, t_index = 0, tstream_i = 0; *cmdptr != '\0'; cmdptr++) {
|
||||||
if (tstream_i >= lengthof(tokenstream)) {
|
if (t_index >= lengthof(tokens) || tstream_i >= lengthof(tokenstream)) break;
|
||||||
IConsoleError("command line too long");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (*cmdptr) {
|
switch (*cmdptr) {
|
||||||
case ' ': // Token separator
|
case ' ': // Token separator
|
||||||
@@ -455,10 +452,6 @@ void IConsoleCmdExec(const char *cmdstr)
|
|||||||
case '"': // Tokens enclosed in "" are one token
|
case '"': // Tokens enclosed in "" are one token
|
||||||
longtoken = !longtoken;
|
longtoken = !longtoken;
|
||||||
if (!foundtoken) {
|
if (!foundtoken) {
|
||||||
if (t_index >= lengthof(tokens)) {
|
|
||||||
IConsoleError("command line too long");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
tokens[t_index++] = &tokenstream[tstream_i];
|
tokens[t_index++] = &tokenstream[tstream_i];
|
||||||
foundtoken = true;
|
foundtoken = true;
|
||||||
}
|
}
|
||||||
@@ -473,10 +466,6 @@ void IConsoleCmdExec(const char *cmdstr)
|
|||||||
tokenstream[tstream_i++] = *cmdptr;
|
tokenstream[tstream_i++] = *cmdptr;
|
||||||
|
|
||||||
if (!foundtoken) {
|
if (!foundtoken) {
|
||||||
if (t_index >= lengthof(tokens)) {
|
|
||||||
IConsoleError("command line too long");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
tokens[t_index++] = &tokenstream[tstream_i - 1];
|
tokens[t_index++] = &tokenstream[tstream_i - 1];
|
||||||
foundtoken = true;
|
foundtoken = true;
|
||||||
}
|
}
|
||||||
@@ -484,7 +473,7 @@ void IConsoleCmdExec(const char *cmdstr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (uint i = 0; i < lengthof(tokens) && tokens[i] != NULL; i++) {
|
for (uint i = 0; tokens[i] != NULL; i++) {
|
||||||
DEBUG(console, 8, "Token %d is: '%s'", i, tokens[i]);
|
DEBUG(console, 8, "Token %d is: '%s'", i, tokens[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -45,38 +45,6 @@
|
|||||||
/* scriptfile handling */
|
/* scriptfile handling */
|
||||||
static bool _script_running; ///< Script is running (used to abort execution when #ConReturn is encountered).
|
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 */
|
/* console command defines */
|
||||||
#define DEF_CONSOLE_CMD(function) static bool function(byte argc, char *argv[])
|
#define DEF_CONSOLE_CMD(function) static bool function(byte argc, char *argv[])
|
||||||
#define DEF_CONSOLE_HOOK(function) static ConsoleHookResult function(bool echo)
|
#define DEF_CONSOLE_HOOK(function) static ConsoleHookResult function(bool echo)
|
||||||
@@ -318,7 +286,7 @@ DEF_CONSOLE_CMD(ConSave)
|
|||||||
char *filename = str_fmt("%s.sav", argv[1]);
|
char *filename = str_fmt("%s.sav", argv[1]);
|
||||||
IConsolePrint(CC_DEFAULT, "Saving map...");
|
IConsolePrint(CC_DEFAULT, "Saving map...");
|
||||||
|
|
||||||
if (SaveOrLoad(filename, SLO_SAVE, DFT_GAME_FILE, SAVE_DIR) != SL_OK) {
|
if (SaveOrLoad(filename, SL_SAVE, SAVE_DIR) != SL_OK) {
|
||||||
IConsolePrint(CC_ERROR, "Saving map failed");
|
IConsolePrint(CC_ERROR, "Saving map failed");
|
||||||
} else {
|
} else {
|
||||||
IConsolePrintF(CC_DEFAULT, "Map successfully saved to %s", filename);
|
IConsolePrintF(CC_DEFAULT, "Map successfully saved to %s", filename);
|
||||||
@@ -347,6 +315,42 @@ DEF_CONSOLE_CMD(ConSaveConfig)
|
|||||||
return true;
|
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)
|
DEF_CONSOLE_CMD(ConLoad)
|
||||||
{
|
{
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
@@ -357,21 +361,24 @@ DEF_CONSOLE_CMD(ConLoad)
|
|||||||
if (argc != 2) return false;
|
if (argc != 2) return false;
|
||||||
|
|
||||||
const char *file = argv[1];
|
const char *file = argv[1];
|
||||||
_console_file_list.ValidateFileList();
|
const FiosItem *item = GetFiosItem(file);
|
||||||
const FiosItem *item = _console_file_list.FindItem(file);
|
|
||||||
if (item != NULL) {
|
if (item != NULL) {
|
||||||
if (GetAbstractFileType(item->type) == FT_SAVEGAME) {
|
switch (item->type) {
|
||||||
_switch_mode = SM_LOAD_GAME;
|
case FIOS_TYPE_FILE: case FIOS_TYPE_OLDFILE: {
|
||||||
_file_to_saveload.SetMode(item->type);
|
_switch_mode = SM_LOAD_GAME;
|
||||||
_file_to_saveload.SetName(FiosBrowseTo(item));
|
SetFiosType(item->type);
|
||||||
_file_to_saveload.SetTitle(item->title);
|
|
||||||
} else {
|
strecpy(_file_to_saveload.name, FiosBrowseTo(item), lastof(_file_to_saveload.name));
|
||||||
IConsolePrintF(CC_ERROR, "%s: Not a savegame.", file);
|
strecpy(_file_to_saveload.title, item->title, lastof(_file_to_saveload.title));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: IConsolePrintF(CC_ERROR, "%s: Not a savegame.", file);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FiosFreeSavegameList();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -386,8 +393,7 @@ DEF_CONSOLE_CMD(ConRemove)
|
|||||||
if (argc != 2) return false;
|
if (argc != 2) return false;
|
||||||
|
|
||||||
const char *file = argv[1];
|
const char *file = argv[1];
|
||||||
_console_file_list.ValidateFileList();
|
const FiosItem *item = GetFiosItem(file);
|
||||||
const FiosItem *item = _console_file_list.FindItem(file);
|
|
||||||
if (item != NULL) {
|
if (item != NULL) {
|
||||||
if (!FiosDelete(item->name)) {
|
if (!FiosDelete(item->name)) {
|
||||||
IConsolePrintF(CC_ERROR, "%s: Failed to delete file", file);
|
IConsolePrintF(CC_ERROR, "%s: Failed to delete file", file);
|
||||||
@@ -396,7 +402,7 @@ DEF_CONSOLE_CMD(ConRemove)
|
|||||||
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
||||||
}
|
}
|
||||||
|
|
||||||
_console_file_list.InvalidateFileList();
|
FiosFreeSavegameList();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -409,11 +415,13 @@ DEF_CONSOLE_CMD(ConListFiles)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
_console_file_list.ValidateFileList(true);
|
BuildFileList();
|
||||||
for (uint i = 0; i < _console_file_list.Length(); i++) {
|
|
||||||
IConsolePrintF(CC_DEFAULT, "%d) %s", i, _console_file_list[i].title);
|
for (uint i = 0; i < _fios_items.Length(); i++) {
|
||||||
|
IConsolePrintF(CC_DEFAULT, "%d) %s", i, _fios_items[i].title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FiosFreeSavegameList();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -428,8 +436,7 @@ DEF_CONSOLE_CMD(ConChangeDirectory)
|
|||||||
if (argc != 2) return false;
|
if (argc != 2) return false;
|
||||||
|
|
||||||
const char *file = argv[1];
|
const char *file = argv[1];
|
||||||
_console_file_list.ValidateFileList(true);
|
const FiosItem *item = GetFiosItem(file);
|
||||||
const FiosItem *item = _console_file_list.FindItem(file);
|
|
||||||
if (item != NULL) {
|
if (item != NULL) {
|
||||||
switch (item->type) {
|
switch (item->type) {
|
||||||
case FIOS_TYPE_DIR: case FIOS_TYPE_DRIVE: case FIOS_TYPE_PARENT:
|
case FIOS_TYPE_DIR: case FIOS_TYPE_DRIVE: case FIOS_TYPE_PARENT:
|
||||||
@@ -441,7 +448,7 @@ DEF_CONSOLE_CMD(ConChangeDirectory)
|
|||||||
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
IConsolePrintF(CC_ERROR, "%s: No such file or directory.", file);
|
||||||
}
|
}
|
||||||
|
|
||||||
_console_file_list.InvalidateFileList();
|
FiosFreeSavegameList();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -455,8 +462,8 @@ DEF_CONSOLE_CMD(ConPrintWorkingDirectory)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* XXX - Workaround for broken file handling */
|
/* XXX - Workaround for broken file handling */
|
||||||
_console_file_list.ValidateFileList(true);
|
FiosGetSavegameList(SLD_LOAD_GAME);
|
||||||
_console_file_list.InvalidateFileList();
|
FiosFreeSavegameList();
|
||||||
|
|
||||||
FiosGetDescText(&path, NULL);
|
FiosGetDescText(&path, NULL);
|
||||||
IConsolePrint(CC_DEFAULT, path);
|
IConsolePrint(CC_DEFAULT, path);
|
||||||
@@ -553,36 +560,29 @@ DEF_CONSOLE_CMD(ConBan)
|
|||||||
|
|
||||||
DEF_CONSOLE_CMD(ConUnBan)
|
DEF_CONSOLE_CMD(ConUnBan)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
IConsoleHelp("Unban a client from a network game. Usage: 'unban <ip | banlist-index>'");
|
IConsoleHelp("Unban a client from a network game. Usage: 'unban <ip | client-id>'");
|
||||||
IConsoleHelp("For a list of banned IP's, see the command 'banlist'");
|
IConsoleHelp("For a list of banned IP's, see the command 'banlist'");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (argc != 2) return false;
|
if (argc != 2) return false;
|
||||||
|
|
||||||
/* Try by IP. */
|
uint index = (strchr(argv[1], '.') == NULL) ? atoi(argv[1]) : 0;
|
||||||
uint index;
|
index--;
|
||||||
for (index = 0; index < _network_ban_list.Length(); index++) {
|
uint i = 0;
|
||||||
if (strcmp(_network_ban_list[index], argv[1]) == 0) break;
|
|
||||||
}
|
for (char **iter = _network_ban_list.Begin(); iter != _network_ban_list.End(); iter++, i++) {
|
||||||
|
if (strcmp(_network_ban_list[i], argv[1]) == 0 || index == i) {
|
||||||
/* Try by index. */
|
free(_network_ban_list[i]);
|
||||||
if (index >= _network_ban_list.Length()) {
|
_network_ban_list.Erase(iter);
|
||||||
index = atoi(argv[1]) - 1U; // let it wrap
|
IConsolePrint(CC_DEFAULT, "IP unbanned.");
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
if (index < _network_ban_list.Length()) {
|
|
||||||
char msg[64];
|
|
||||||
seprintf(msg, lastof(msg), "Unbanned %s", _network_ban_list[index]);
|
|
||||||
IConsolePrint(CC_DEFAULT, msg);
|
|
||||||
free(_network_ban_list[index]);
|
|
||||||
_network_ban_list.Erase(_network_ban_list.Get(index));
|
|
||||||
} else {
|
|
||||||
IConsolePrint(CC_DEFAULT, "Invalid list index or IP not in ban-list.");
|
|
||||||
IConsolePrint(CC_DEFAULT, "For a list of banned IP's, see the command 'banlist'");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IConsolePrint(CC_DEFAULT, "IP not in ban-list.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -256,8 +256,6 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the number of items in the list.
|
* Get the number of items in the list.
|
||||||
*
|
|
||||||
* @return The number of items in the list.
|
|
||||||
*/
|
*/
|
||||||
inline uint Length() const
|
inline uint Length() const
|
||||||
{
|
{
|
||||||
|
@@ -388,7 +388,7 @@ bool CrashLog::WriteSavegame(char *filename, const char *filename_last) const
|
|||||||
seprintf(filename, filename_last, "%scrash.sav", _personal_dir);
|
seprintf(filename, filename_last, "%scrash.sav", _personal_dir);
|
||||||
|
|
||||||
/* Don't do a threaded saveload. */
|
/* Don't do a threaded saveload. */
|
||||||
return SaveOrLoad(filename, SLO_SAVE, DFT_GAME_FILE, NO_DIRECTORY, false) == SL_OK;
|
return SaveOrLoad(filename, SL_SAVE, NO_DIRECTORY, false) == SL_OK;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -505,12 +505,15 @@ struct DepotWindow : Window {
|
|||||||
this->sel = INVALID_VEHICLE;
|
this->sel = INVALID_VEHICLE;
|
||||||
TrainDepotMoveVehicle(v, sel, gdvp.head);
|
TrainDepotMoveVehicle(v, sel, gdvp.head);
|
||||||
} else if (v != NULL) {
|
} else if (v != NULL) {
|
||||||
SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
|
bool rtl = _current_text_dir == TD_RTL;
|
||||||
SetMouseCursorVehicle(v, EIT_IN_DEPOT);
|
int image = v->GetImage(rtl ? DIR_E : DIR_W, EIT_IN_DEPOT);
|
||||||
_cursor.vehchain = _ctrl_pressed;
|
SetObjectToPlaceWnd(image, GetVehiclePalette(v), HT_DRAG, this);
|
||||||
|
|
||||||
this->sel = v->index;
|
this->sel = v->index;
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
|
|
||||||
|
_cursor.short_vehicle_offset = v->IsGroundVehicle() ? (16 - v->GetGroundVehicleCache()->cached_veh_length * 2) * (rtl ? -1 : 1) : 0;
|
||||||
|
_cursor.vehchain = _ctrl_pressed;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -679,8 +682,7 @@ struct DepotWindow : Window {
|
|||||||
}
|
}
|
||||||
/* Always have 1 empty row, so people can change the setting of the train */
|
/* Always have 1 empty row, so people can change the setting of the train */
|
||||||
this->vscroll->SetCount(this->vehicle_list.Length() + this->wagon_list.Length() + 1);
|
this->vscroll->SetCount(this->vehicle_list.Length() + this->wagon_list.Length() + 1);
|
||||||
/* Always make it longer than the longest train, so you can attach vehicles at the end */
|
this->hscroll->SetCount(max_width);
|
||||||
this->hscroll->SetCount(max_width + ScaleGUITrad(2 * VEHICLEINFO_FULL_VEHICLE_WIDTH + 1));
|
|
||||||
} else {
|
} else {
|
||||||
this->vscroll->SetCount(CeilDiv(this->vehicle_list.Length(), this->num_columns));
|
this->vscroll->SetCount(CeilDiv(this->vehicle_list.Length(), this->num_columns));
|
||||||
}
|
}
|
||||||
|
@@ -112,7 +112,7 @@ void DisasterVehicle::UpdateImage()
|
|||||||
{
|
{
|
||||||
SpriteID img = this->image_override;
|
SpriteID img = this->image_override;
|
||||||
if (img == 0) img = _disaster_images[this->subtype][this->direction];
|
if (img == 0) img = _disaster_images[this->subtype][this->direction];
|
||||||
this->sprite_seq.Set(img);
|
this->cur_image = img;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -499,8 +499,7 @@ static bool DisasterTick_Helicopter_Rotors(DisasterVehicle *v)
|
|||||||
v->tick_counter++;
|
v->tick_counter++;
|
||||||
if (HasBit(v->tick_counter, 0)) return true;
|
if (HasBit(v->tick_counter, 0)) return true;
|
||||||
|
|
||||||
SpriteID &cur_image = v->sprite_seq.seq[0].sprite;
|
if (++v->cur_image > SPR_ROTOR_MOVING_3) v->cur_image = SPR_ROTOR_MOVING_1;
|
||||||
if (++cur_image > SPR_ROTOR_MOVING_3) cur_image = SPR_ROTOR_MOVING_1;
|
|
||||||
|
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
|
|
||||||
|
@@ -48,7 +48,7 @@ void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p
|
|||||||
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
|
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CcPlaySound_SPLAT_WATER(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcBuildCanal(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
||||||
{
|
{
|
||||||
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_02_SPLAT_WATER, tile);
|
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);
|
GUIPlaceProcDragXY(select_proc, start_tile, end_tile);
|
||||||
break;
|
break;
|
||||||
case DDSP_CREATE_WATER:
|
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), CcPlaySound_SPLAT_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);
|
||||||
break;
|
break;
|
||||||
case DDSP_CREATE_RIVER:
|
case DDSP_CREATE_RIVER:
|
||||||
DoCommandP(end_tile, start_tile, WATER_CLASS_RIVER, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_PLACE_RIVERS), CcPlaySound_SPLAT_WATER);
|
DoCommandP(end_tile, start_tile, WATER_CLASS_RIVER, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_PLACE_RIVERS), CcBuildCanal);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: break;
|
default: break;
|
||||||
|
@@ -1643,11 +1643,13 @@ static void LoadUnloadVehicle(Vehicle *front)
|
|||||||
if (v->cargo_cap == 0) continue;
|
if (v->cargo_cap == 0) continue;
|
||||||
artic_part++;
|
artic_part++;
|
||||||
|
|
||||||
|
uint load_amount = GetLoadAmount(v);
|
||||||
|
|
||||||
GoodsEntry *ge = &st->goods[v->cargo_type];
|
GoodsEntry *ge = &st->goods[v->cargo_type];
|
||||||
|
|
||||||
if (HasBit(v->vehicle_flags, VF_CARGO_UNLOADING) && (front->current_order.GetUnloadType() & OUFB_NO_UNLOAD) == 0) {
|
if (HasBit(v->vehicle_flags, VF_CARGO_UNLOADING) && (front->current_order.GetUnloadType() & OUFB_NO_UNLOAD) == 0) {
|
||||||
uint cargo_count = v->cargo.UnloadCount();
|
uint cargo_count = v->cargo.UnloadCount();
|
||||||
uint amount_unloaded = _settings_game.order.gradual_loading ? min(cargo_count, GetLoadAmount(v)) : cargo_count;
|
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?
|
bool remaining = false; // Are there cargo entities in this vehicle that can still be unloaded here?
|
||||||
|
|
||||||
assert(payment != NULL);
|
assert(payment != NULL);
|
||||||
@@ -1752,8 +1754,8 @@ static void LoadUnloadVehicle(Vehicle *front)
|
|||||||
* has capacity for it, load it on the vehicle. */
|
* has capacity for it, load it on the vehicle. */
|
||||||
uint cap_left = v->cargo_cap - v->cargo.StoredCount();
|
uint cap_left = v->cargo_cap - v->cargo.StoredCount();
|
||||||
if (cap_left > 0 && (v->cargo.ActionCount(VehicleCargoList::MTA_LOAD) > 0 || ge->cargo.AvailableCount() > 0)) {
|
if (cap_left > 0 && (v->cargo.ActionCount(VehicleCargoList::MTA_LOAD) > 0 || ge->cargo.AvailableCount() > 0)) {
|
||||||
|
if (_settings_game.order.gradual_loading) cap_left = min(cap_left, load_amount);
|
||||||
if (v->cargo.StoredCount() == 0) TriggerVehicle(v, VEHICLE_TRIGGER_NEW_CARGO);
|
if (v->cargo.StoredCount() == 0) TriggerVehicle(v, VEHICLE_TRIGGER_NEW_CARGO);
|
||||||
if (_settings_game.order.gradual_loading) cap_left = min(cap_left, GetLoadAmount(v));
|
|
||||||
|
|
||||||
uint loaded = ge->cargo.Load(cap_left, &v->cargo, st->xy, next_station);
|
uint loaded = ge->cargo.Load(cap_left, &v->cargo, st->xy, next_station);
|
||||||
if (v->cargo.ActionCount(VehicleCargoList::MTA_LOAD) > 0) {
|
if (v->cargo.ActionCount(VehicleCargoList::MTA_LOAD) > 0) {
|
||||||
|
@@ -22,26 +22,10 @@
|
|||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Increment the sprite unless it has reached the end of the animation.
|
|
||||||
* @param v Vehicle to increment sprite of.
|
|
||||||
* @param last Last sprite of animation.
|
|
||||||
* @return true if the sprite was incremented, false if the end was reached.
|
|
||||||
*/
|
|
||||||
static bool IncrementSprite(EffectVehicle *v, SpriteID last)
|
|
||||||
{
|
|
||||||
if (v->sprite_seq.seq[0].sprite != last) {
|
|
||||||
v->sprite_seq.seq[0].sprite++;
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ChimneySmokeInit(EffectVehicle *v)
|
static void ChimneySmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
uint32 r = Random();
|
uint32 r = Random();
|
||||||
v->sprite_seq.Set(SPR_CHIMNEY_SMOKE_0 + GB(r, 0, 3));
|
v->cur_image = SPR_CHIMNEY_SMOKE_0 + GB(r, 0, 3);
|
||||||
v->progress = GB(r, 16, 3);
|
v->progress = GB(r, 16, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,8 +40,10 @@ static bool ChimneySmokeTick(EffectVehicle *v)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IncrementSprite(v, SPR_CHIMNEY_SMOKE_7)) {
|
if (v->cur_image != SPR_CHIMNEY_SMOKE_7) {
|
||||||
v->sprite_seq.Set(SPR_CHIMNEY_SMOKE_0);
|
v->cur_image++;
|
||||||
|
} else {
|
||||||
|
v->cur_image = SPR_CHIMNEY_SMOKE_0;
|
||||||
}
|
}
|
||||||
v->progress = 7;
|
v->progress = 7;
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
@@ -68,7 +54,7 @@ static bool ChimneySmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void SteamSmokeInit(EffectVehicle *v)
|
static void SteamSmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_STEAM_SMOKE_0);
|
v->cur_image = SPR_STEAM_SMOKE_0;
|
||||||
v->progress = 12;
|
v->progress = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +70,9 @@ static bool SteamSmokeTick(EffectVehicle *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((v->progress & 0xF) == 4) {
|
if ((v->progress & 0xF) == 4) {
|
||||||
if (!IncrementSprite(v, SPR_STEAM_SMOKE_4)) {
|
if (v->cur_image != SPR_STEAM_SMOKE_4) {
|
||||||
|
v->cur_image++;
|
||||||
|
} else {
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -98,7 +86,7 @@ static bool SteamSmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void DieselSmokeInit(EffectVehicle *v)
|
static void DieselSmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_DIESEL_SMOKE_0);
|
v->cur_image = SPR_DIESEL_SMOKE_0;
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,11 +98,13 @@ static bool DieselSmokeTick(EffectVehicle *v)
|
|||||||
v->z_pos++;
|
v->z_pos++;
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
} else if ((v->progress & 7) == 1) {
|
} else if ((v->progress & 7) == 1) {
|
||||||
if (!IncrementSprite(v, SPR_DIESEL_SMOKE_5)) {
|
if (v->cur_image != SPR_DIESEL_SMOKE_5) {
|
||||||
|
v->cur_image++;
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
|
} else {
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -122,7 +112,7 @@ static bool DieselSmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void ElectricSparkInit(EffectVehicle *v)
|
static void ElectricSparkInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_ELECTRIC_SPARK_0);
|
v->cur_image = SPR_ELECTRIC_SPARK_0;
|
||||||
v->progress = 1;
|
v->progress = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,12 +122,13 @@ static bool ElectricSparkTick(EffectVehicle *v)
|
|||||||
v->progress++;
|
v->progress++;
|
||||||
} else {
|
} else {
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
|
if (v->cur_image != SPR_ELECTRIC_SPARK_5) {
|
||||||
if (!IncrementSprite(v, SPR_ELECTRIC_SPARK_5)) {
|
v->cur_image++;
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
|
} else {
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -145,7 +136,7 @@ static bool ElectricSparkTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void SmokeInit(EffectVehicle *v)
|
static void SmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_SMOKE_0);
|
v->cur_image = SPR_SMOKE_0;
|
||||||
v->progress = 12;
|
v->progress = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,7 +152,9 @@ static bool SmokeTick(EffectVehicle *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((v->progress & 0xF) == 4) {
|
if ((v->progress & 0xF) == 4) {
|
||||||
if (!IncrementSprite(v, SPR_SMOKE_4)) {
|
if (v->cur_image != SPR_SMOKE_4) {
|
||||||
|
v->cur_image++;
|
||||||
|
} else {
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -175,7 +168,7 @@ static bool SmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void ExplosionLargeInit(EffectVehicle *v)
|
static void ExplosionLargeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_EXPLOSION_LARGE_0);
|
v->cur_image = SPR_EXPLOSION_LARGE_0;
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,11 +176,13 @@ static bool ExplosionLargeTick(EffectVehicle *v)
|
|||||||
{
|
{
|
||||||
v->progress++;
|
v->progress++;
|
||||||
if ((v->progress & 3) == 0) {
|
if ((v->progress & 3) == 0) {
|
||||||
if (!IncrementSprite(v, SPR_EXPLOSION_LARGE_F)) {
|
if (v->cur_image != SPR_EXPLOSION_LARGE_F) {
|
||||||
|
v->cur_image++;
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
|
} else {
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -195,7 +190,7 @@ static bool ExplosionLargeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void BreakdownSmokeInit(EffectVehicle *v)
|
static void BreakdownSmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
|
v->cur_image = SPR_BREAKDOWN_SMOKE_0;
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,8 +198,10 @@ static bool BreakdownSmokeTick(EffectVehicle *v)
|
|||||||
{
|
{
|
||||||
v->progress++;
|
v->progress++;
|
||||||
if ((v->progress & 7) == 0) {
|
if ((v->progress & 7) == 0) {
|
||||||
if (!IncrementSprite(v, SPR_BREAKDOWN_SMOKE_3)) {
|
if (v->cur_image != SPR_BREAKDOWN_SMOKE_3) {
|
||||||
v->sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
|
v->cur_image++;
|
||||||
|
} else {
|
||||||
|
v->cur_image = SPR_BREAKDOWN_SMOKE_0;
|
||||||
}
|
}
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
@@ -220,7 +217,7 @@ static bool BreakdownSmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void ExplosionSmallInit(EffectVehicle *v)
|
static void ExplosionSmallInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_EXPLOSION_SMALL_0);
|
v->cur_image = SPR_EXPLOSION_SMALL_0;
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,11 +225,13 @@ static bool ExplosionSmallTick(EffectVehicle *v)
|
|||||||
{
|
{
|
||||||
v->progress++;
|
v->progress++;
|
||||||
if ((v->progress & 3) == 0) {
|
if ((v->progress & 3) == 0) {
|
||||||
if (!IncrementSprite(v, SPR_EXPLOSION_SMALL_B)) {
|
if (v->cur_image != SPR_EXPLOSION_SMALL_B) {
|
||||||
|
v->cur_image++;
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
|
} else {
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -240,7 +239,7 @@ static bool ExplosionSmallTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void BulldozerInit(EffectVehicle *v)
|
static void BulldozerInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_BULLDOZER_NE);
|
v->cur_image = SPR_BULLDOZER_NE;
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
v->animation_state = 0;
|
v->animation_state = 0;
|
||||||
v->animation_substate = 0;
|
v->animation_substate = 0;
|
||||||
@@ -291,7 +290,7 @@ static bool BulldozerTick(EffectVehicle *v)
|
|||||||
if ((v->progress & 7) == 0) {
|
if ((v->progress & 7) == 0) {
|
||||||
const BulldozerMovement *b = &_bulldozer_movement[v->animation_state];
|
const BulldozerMovement *b = &_bulldozer_movement[v->animation_state];
|
||||||
|
|
||||||
v->sprite_seq.Set(SPR_BULLDOZER_NE + b->image);
|
v->cur_image = SPR_BULLDOZER_NE + b->image;
|
||||||
|
|
||||||
v->x_pos += _inc_by_dir[b->direction].x;
|
v->x_pos += _inc_by_dir[b->direction].x;
|
||||||
v->y_pos += _inc_by_dir[b->direction].y;
|
v->y_pos += _inc_by_dir[b->direction].y;
|
||||||
@@ -313,7 +312,7 @@ static bool BulldozerTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void BubbleInit(EffectVehicle *v)
|
static void BubbleInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->sprite_seq.Set(SPR_BUBBLE_GENERATE_0);
|
v->cur_image = SPR_BUBBLE_GENERATE_0;
|
||||||
v->spritenum = 0;
|
v->spritenum = 0;
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
@@ -476,8 +475,8 @@ static bool BubbleTick(EffectVehicle *v)
|
|||||||
if ((v->progress & 3) != 0) return true;
|
if ((v->progress & 3) != 0) return true;
|
||||||
|
|
||||||
if (v->spritenum == 0) {
|
if (v->spritenum == 0) {
|
||||||
v->sprite_seq.seq[0].sprite++;
|
v->cur_image++;
|
||||||
if (v->sprite_seq.seq[0].sprite < SPR_BUBBLE_GENERATE_3) {
|
if (v->cur_image < SPR_BUBBLE_GENERATE_3) {
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -522,7 +521,7 @@ static bool BubbleTick(EffectVehicle *v)
|
|||||||
v->x_pos += b->x;
|
v->x_pos += b->x;
|
||||||
v->y_pos += b->y;
|
v->y_pos += b->y;
|
||||||
v->z_pos += b->z;
|
v->z_pos += b->z;
|
||||||
v->sprite_seq.Set(SPR_BUBBLE_0 + b->image);
|
v->cur_image = SPR_BUBBLE_0 + b->image;
|
||||||
|
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
|
|
||||||
|
@@ -89,7 +89,7 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override)
|
|||||||
{
|
{
|
||||||
switch (GetTileType(t)) {
|
switch (GetTileType(t)) {
|
||||||
case MP_RAILWAY:
|
case MP_RAILWAY:
|
||||||
if (!HasRailCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
||||||
switch (GetRailTileType(t)) {
|
switch (GetRailTileType(t)) {
|
||||||
case RAIL_TILE_NORMAL: case RAIL_TILE_SIGNALS:
|
case RAIL_TILE_NORMAL: case RAIL_TILE_SIGNALS:
|
||||||
return GetTrackBits(t);
|
return GetTrackBits(t);
|
||||||
@@ -99,7 +99,7 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MP_TUNNELBRIDGE:
|
case MP_TUNNELBRIDGE:
|
||||||
if (!HasRailCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
||||||
if (override != NULL && (IsTunnel(t) || GetTunnelBridgeLength(t, GetOtherBridgeEnd(t)) > 0)) {
|
if (override != NULL && (IsTunnel(t) || GetTunnelBridgeLength(t, GetOtherBridgeEnd(t)) > 0)) {
|
||||||
*override = 1 << GetTunnelBridgeDirection(t);
|
*override = 1 << GetTunnelBridgeDirection(t);
|
||||||
}
|
}
|
||||||
@@ -107,12 +107,12 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override)
|
|||||||
|
|
||||||
case MP_ROAD:
|
case MP_ROAD:
|
||||||
if (!IsLevelCrossing(t)) return TRACK_BIT_NONE;
|
if (!IsLevelCrossing(t)) return TRACK_BIT_NONE;
|
||||||
if (!HasRailCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
||||||
return GetCrossingRailBits(t);
|
return GetCrossingRailBits(t);
|
||||||
|
|
||||||
case MP_STATION:
|
case MP_STATION:
|
||||||
if (!HasStationRail(t)) return TRACK_BIT_NONE;
|
if (!HasStationRail(t)) return TRACK_BIT_NONE;
|
||||||
if (!HasRailCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
||||||
return TrackToTrackBits(GetRailStationTrack(t));
|
return TrackToTrackBits(GetRailStationTrack(t));
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -135,7 +135,7 @@ static TrackBits MaskWireBits(TileIndex t, TrackBits tracks)
|
|||||||
* axis that still display wires to preserve visual continuity. */
|
* axis that still display wires to preserve visual continuity. */
|
||||||
TileIndex next_tile = TileAddByDiagDir(t, d);
|
TileIndex next_tile = TileAddByDiagDir(t, d);
|
||||||
RailType rt = GetTileRailType(next_tile);
|
RailType rt = GetTileRailType(next_tile);
|
||||||
if (rt == INVALID_RAILTYPE || !HasRailCatenary(rt) ||
|
if (rt == INVALID_RAILTYPE || !HasCatenary(rt) ||
|
||||||
((TrackStatusToTrackBits(GetTileTrackStatus(next_tile, TRANSPORT_RAIL, 0)) & DiagdirReachesTracks(d)) == TRACK_BIT_NONE &&
|
((TrackStatusToTrackBits(GetTileTrackStatus(next_tile, TRANSPORT_RAIL, 0)) & DiagdirReachesTracks(d)) == TRACK_BIT_NONE &&
|
||||||
(!HasStationTileRail(next_tile) || GetRailStationAxis(next_tile) != DiagDirToAxis(d) || !CanStationTileHaveWires(next_tile)))) {
|
(!HasStationTileRail(next_tile) || GetRailStationAxis(next_tile) != DiagDirToAxis(d) || !CanStationTileHaveWires(next_tile)))) {
|
||||||
neighbour_tdb |= DiagdirReachesTrackdirs(ReverseDiagDir(d));
|
neighbour_tdb |= DiagdirReachesTrackdirs(ReverseDiagDir(d));
|
||||||
@@ -241,7 +241,7 @@ static int GetPCPElevation(TileIndex tile, DiagDirection PCPpos)
|
|||||||
*
|
*
|
||||||
* @param ti The Tileinfo to draw the tile for
|
* @param ti The Tileinfo to draw the tile for
|
||||||
*/
|
*/
|
||||||
void DrawRailCatenaryOnTunnel(const TileInfo *ti)
|
void DrawCatenaryOnTunnel(const TileInfo *ti)
|
||||||
{
|
{
|
||||||
/* xmin, ymin, xmax + 1, ymax + 1 of BB */
|
/* xmin, ymin, xmax + 1, ymax + 1 of BB */
|
||||||
static const int _tunnel_wire_BB[4][4] = {
|
static const int _tunnel_wire_BB[4][4] = {
|
||||||
@@ -255,7 +255,7 @@ void DrawRailCatenaryOnTunnel(const TileInfo *ti)
|
|||||||
|
|
||||||
SpriteID wire_base = GetWireBase(ti->tile);
|
SpriteID wire_base = GetWireBase(ti->tile);
|
||||||
|
|
||||||
const SortableSpriteStruct *sss = &RailCatenarySpriteData_Tunnel[dir];
|
const SortableSpriteStruct *sss = &CatenarySpriteData_Tunnel[dir];
|
||||||
const int *BB_data = _tunnel_wire_BB[dir];
|
const int *BB_data = _tunnel_wire_BB[dir];
|
||||||
AddSortableSpriteToDraw(
|
AddSortableSpriteToDraw(
|
||||||
wire_base + sss->image_offset, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
|
wire_base + sss->image_offset, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
|
||||||
@@ -270,7 +270,7 @@ void DrawRailCatenaryOnTunnel(const TileInfo *ti)
|
|||||||
* Draws wires and, if required, pylons on a given tile
|
* Draws wires and, if required, pylons on a given tile
|
||||||
* @param ti The Tileinfo to draw the tile for
|
* @param ti The Tileinfo to draw the tile for
|
||||||
*/
|
*/
|
||||||
static void DrawRailCatenaryRailway(const TileInfo *ti)
|
static void DrawCatenaryRailway(const TileInfo *ti)
|
||||||
{
|
{
|
||||||
/* Pylons are placed on a tile edge, so we need to take into account
|
/* Pylons are placed on a tile edge, so we need to take into account
|
||||||
* the track configuration of 2 adjacent tiles. trackconfig[0] stores the
|
* the track configuration of 2 adjacent tiles. trackconfig[0] stores the
|
||||||
@@ -379,7 +379,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti)
|
|||||||
if (IsTileType(neighbour, MP_STATION) || IsTileType(neighbour, MP_ROAD)) tileh[TS_NEIGHBOUR] = SLOPE_FLAT;
|
if (IsTileType(neighbour, MP_STATION) || IsTileType(neighbour, MP_ROAD)) tileh[TS_NEIGHBOUR] = SLOPE_FLAT;
|
||||||
|
|
||||||
/* Read the foundations if they are present, and adjust the tileh */
|
/* Read the foundations if they are present, and adjust the tileh */
|
||||||
if (trackconfig[TS_NEIGHBOUR] != TRACK_BIT_NONE && IsTileType(neighbour, MP_RAILWAY) && HasRailCatenary(GetRailType(neighbour))) foundation = GetRailFoundation(tileh[TS_NEIGHBOUR], trackconfig[TS_NEIGHBOUR]);
|
if (trackconfig[TS_NEIGHBOUR] != TRACK_BIT_NONE && IsTileType(neighbour, MP_RAILWAY) && HasCatenary(GetRailType(neighbour))) foundation = GetRailFoundation(tileh[TS_NEIGHBOUR], trackconfig[TS_NEIGHBOUR]);
|
||||||
if (IsBridgeTile(neighbour)) {
|
if (IsBridgeTile(neighbour)) {
|
||||||
foundation = GetBridgeFoundation(tileh[TS_NEIGHBOUR], DiagDirToAxis(GetTunnelBridgeDirection(neighbour)));
|
foundation = GetBridgeFoundation(tileh[TS_NEIGHBOUR], DiagDirToAxis(GetTunnelBridgeDirection(neighbour)));
|
||||||
}
|
}
|
||||||
@@ -442,7 +442,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The wire above the tunnel is drawn together with the tunnel-roof (see DrawRailCatenaryOnTunnel()) */
|
/* The wire above the tunnel is drawn together with the tunnel-roof (see DrawCatenaryOnTunnel()) */
|
||||||
if (IsTunnelTile(ti->tile)) return;
|
if (IsTunnelTile(ti->tile)) return;
|
||||||
|
|
||||||
/* Don't draw a wire under a low bridge */
|
/* Don't draw a wire under a low bridge */
|
||||||
@@ -478,7 +478,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti)
|
|||||||
|
|
||||||
assert(PCPconfig != 0); // We have a pylon on neither end of the wire, that doesn't work (since we have no sprites for that)
|
assert(PCPconfig != 0); // We have a pylon on neither end of the wire, that doesn't work (since we have no sprites for that)
|
||||||
assert(!IsSteepSlope(tileh[TS_HOME]));
|
assert(!IsSteepSlope(tileh[TS_HOME]));
|
||||||
sss = &RailCatenarySpriteData[Wires[tileh_selector][t][PCPconfig]];
|
sss = &CatenarySpriteData[Wires[tileh_selector][t][PCPconfig]];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The "wire"-sprite position is inside the tile, i.e. 0 <= sss->?_offset < TILE_SIZE.
|
* The "wire"-sprite position is inside the tile, i.e. 0 <= sss->?_offset < TILE_SIZE.
|
||||||
@@ -498,7 +498,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti)
|
|||||||
*
|
*
|
||||||
* @param ti The Tileinfo to draw the tile for
|
* @param ti The Tileinfo to draw the tile for
|
||||||
*/
|
*/
|
||||||
void DrawRailCatenaryOnBridge(const TileInfo *ti)
|
void DrawCatenaryOnBridge(const TileInfo *ti)
|
||||||
{
|
{
|
||||||
TileIndex end = GetSouthernBridgeEnd(ti->tile);
|
TileIndex end = GetSouthernBridgeEnd(ti->tile);
|
||||||
TileIndex start = GetOtherBridgeEnd(end);
|
TileIndex start = GetOtherBridgeEnd(end);
|
||||||
@@ -511,15 +511,15 @@ void DrawRailCatenaryOnBridge(const TileInfo *ti)
|
|||||||
Axis axis = GetBridgeAxis(ti->tile);
|
Axis axis = GetBridgeAxis(ti->tile);
|
||||||
TLG tlg = GetTLG(ti->tile);
|
TLG tlg = GetTLG(ti->tile);
|
||||||
|
|
||||||
RailCatenarySprite offset = (RailCatenarySprite)(axis == AXIS_X ? 0 : WIRE_Y_FLAT_BOTH - WIRE_X_FLAT_BOTH);
|
CatenarySprite offset = (CatenarySprite)(axis == AXIS_X ? 0 : WIRE_Y_FLAT_BOTH - WIRE_X_FLAT_BOTH);
|
||||||
|
|
||||||
if ((length % 2) && num == length) {
|
if ((length % 2) && num == length) {
|
||||||
/* Draw the "short" wire on the southern end of the bridge
|
/* Draw the "short" wire on the southern end of the bridge
|
||||||
* only needed if the length of the bridge is odd */
|
* only needed if the length of the bridge is odd */
|
||||||
sss = &RailCatenarySpriteData[WIRE_X_FLAT_BOTH + offset];
|
sss = &CatenarySpriteData[WIRE_X_FLAT_BOTH + offset];
|
||||||
} else {
|
} else {
|
||||||
/* Draw "long" wires on all other tiles of the bridge (one pylon every two tiles) */
|
/* Draw "long" wires on all other tiles of the bridge (one pylon every two tiles) */
|
||||||
sss = &RailCatenarySpriteData[WIRE_X_FLAT_SW + (num % 2) + offset];
|
sss = &CatenarySpriteData[WIRE_X_FLAT_SW + (num % 2) + offset];
|
||||||
}
|
}
|
||||||
|
|
||||||
height = GetBridgePixelHeight(end);
|
height = GetBridgePixelHeight(end);
|
||||||
@@ -558,14 +558,14 @@ void DrawRailCatenaryOnBridge(const TileInfo *ti)
|
|||||||
/**
|
/**
|
||||||
* Draws overhead wires and pylons for electric railways.
|
* Draws overhead wires and pylons for electric railways.
|
||||||
* @param ti The TileInfo struct of the tile being drawn
|
* @param ti The TileInfo struct of the tile being drawn
|
||||||
* @see DrawRailCatenaryRailway
|
* @see DrawCatenaryRailway
|
||||||
*/
|
*/
|
||||||
void DrawRailCatenary(const TileInfo *ti)
|
void DrawCatenary(const TileInfo *ti)
|
||||||
{
|
{
|
||||||
switch (GetTileType(ti->tile)) {
|
switch (GetTileType(ti->tile)) {
|
||||||
case MP_RAILWAY:
|
case MP_RAILWAY:
|
||||||
if (IsRailDepot(ti->tile)) {
|
if (IsRailDepot(ti->tile)) {
|
||||||
const SortableSpriteStruct *sss = &RailCatenarySpriteData_Depot[GetRailDepotDirection(ti->tile)];
|
const SortableSpriteStruct *sss = &CatenarySpriteData_Depot[GetRailDepotDirection(ti->tile)];
|
||||||
|
|
||||||
SpriteID wire_base = GetWireBase(ti->tile);
|
SpriteID wire_base = GetWireBase(ti->tile);
|
||||||
|
|
||||||
@@ -587,7 +587,7 @@ void DrawRailCatenary(const TileInfo *ti)
|
|||||||
|
|
||||||
default: return;
|
default: return;
|
||||||
}
|
}
|
||||||
DrawRailCatenaryRailway(ti);
|
DrawCatenaryRailway(ti);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SettingsDisableElrail(int32 p1)
|
bool SettingsDisableElrail(int32 p1)
|
||||||
|
@@ -20,7 +20,7 @@
|
|||||||
* Test if a rail type has catenary
|
* Test if a rail type has catenary
|
||||||
* @param rt Rail type to test
|
* @param rt Rail type to test
|
||||||
*/
|
*/
|
||||||
static inline bool HasRailCatenary(RailType rt)
|
static inline bool HasCatenary(RailType rt)
|
||||||
{
|
{
|
||||||
return HasBit(GetRailTypeInfo(rt)->flags, RTF_CATENARY);
|
return HasBit(GetRailTypeInfo(rt)->flags, RTF_CATENARY);
|
||||||
}
|
}
|
||||||
@@ -29,14 +29,14 @@ static inline bool HasRailCatenary(RailType rt)
|
|||||||
* Test if we should draw rail catenary
|
* Test if we should draw rail catenary
|
||||||
* @param rt Rail type to test
|
* @param rt Rail type to test
|
||||||
*/
|
*/
|
||||||
static inline bool HasRailCatenaryDrawn(RailType rt)
|
static inline bool HasCatenaryDrawn(RailType rt)
|
||||||
{
|
{
|
||||||
return HasRailCatenary(rt) && !IsInvisibilitySet(TO_CATENARY) && !_settings_game.vehicle.disable_elrails;
|
return HasCatenary(rt) && !IsInvisibilitySet(TO_CATENARY) && !_settings_game.vehicle.disable_elrails;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawRailCatenary(const TileInfo *ti);
|
void DrawCatenary(const TileInfo *ti);
|
||||||
void DrawRailCatenaryOnTunnel(const TileInfo *ti);
|
void DrawCatenaryOnTunnel(const TileInfo *ti);
|
||||||
void DrawRailCatenaryOnBridge(const TileInfo *ti);
|
void DrawCatenaryOnBridge(const TileInfo *ti);
|
||||||
|
|
||||||
bool SettingsDisableElrail(int32 p1); ///< _settings_game.disable_elrail callback
|
bool SettingsDisableElrail(int32 p1); ///< _settings_game.disable_elrail callback
|
||||||
|
|
||||||
|
@@ -48,6 +48,11 @@ EngineOverrideManager _engine_mngr;
|
|||||||
*/
|
*/
|
||||||
static Year _year_engine_aging_stops;
|
static Year _year_engine_aging_stops;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The railtypes that have been or never will be introduced, or
|
||||||
|
* an inverse bitmap of rail types that have to be introduced. */
|
||||||
|
static uint16 _introduced_railtypes;
|
||||||
|
|
||||||
/** Number of engines of each vehicle type in original engine data */
|
/** Number of engines of each vehicle type in original engine data */
|
||||||
const uint8 _engine_counts[4] = {
|
const uint8 _engine_counts[4] = {
|
||||||
lengthof(_orig_rail_vehicle_info),
|
lengthof(_orig_rail_vehicle_info),
|
||||||
@@ -80,7 +85,6 @@ Engine::Engine(VehicleType type, EngineID base)
|
|||||||
this->type = type;
|
this->type = type;
|
||||||
this->grf_prop.local_id = base;
|
this->grf_prop.local_id = base;
|
||||||
this->list_position = base;
|
this->list_position = base;
|
||||||
this->preview_company = INVALID_COMPANY;
|
|
||||||
|
|
||||||
/* Check if this base engine is within the original engine data range */
|
/* Check if this base engine is within the original engine data range */
|
||||||
if (base >= _engine_counts[type]) {
|
if (base >= _engine_counts[type]) {
|
||||||
@@ -538,6 +542,29 @@ void SetupEngines()
|
|||||||
const Engine *e = new Engine(eid->type, eid->internal_id);
|
const Engine *e = new Engine(eid->type, eid->internal_id);
|
||||||
assert(e->index == index);
|
assert(e->index == index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_introduced_railtypes = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check whether the railtypes should be introduced.
|
||||||
|
*/
|
||||||
|
static void CheckRailIntroduction()
|
||||||
|
{
|
||||||
|
/* All railtypes have been introduced. */
|
||||||
|
if (_introduced_railtypes == UINT16_MAX || Company::GetPoolSize() == 0) return;
|
||||||
|
|
||||||
|
/* We need to find the railtypes that are known to all companies. */
|
||||||
|
RailTypes rts = (RailTypes)UINT16_MAX;
|
||||||
|
|
||||||
|
/* We are at, or past the introduction date of the rail. */
|
||||||
|
Company *c;
|
||||||
|
FOR_ALL_COMPANIES(c) {
|
||||||
|
c->avail_railtypes = AddDateIntroducedRailTypes(c->avail_railtypes, _date);
|
||||||
|
rts &= c->avail_railtypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
_introduced_railtypes |= rts;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowEnginePreviewWindow(EngineID engine);
|
void ShowEnginePreviewWindow(EngineID engine);
|
||||||
@@ -683,6 +710,19 @@ void StartupEngines()
|
|||||||
c->avail_roadtypes = GetCompanyRoadtypes(c->index);
|
c->avail_roadtypes = GetCompanyRoadtypes(c->index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Rail types that are invalid or never introduced are marked as
|
||||||
|
* being introduced upon start. That way we can easily check whether
|
||||||
|
* there is any date related introduction that is still going to
|
||||||
|
* happen somewhere in the future. */
|
||||||
|
for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
|
||||||
|
const RailtypeInfo *rti = GetRailTypeInfo(rt);
|
||||||
|
if (rti->label != 0 && IsInsideMM(rti->introduction_date, 0, MAX_DAY)) continue;
|
||||||
|
|
||||||
|
SetBit(_introduced_railtypes, rt);
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckRailIntroduction();
|
||||||
|
|
||||||
/* Invalidate any open purchase lists */
|
/* Invalidate any open purchase lists */
|
||||||
InvalidateWindowClassesData(WC_BUILD_VEHICLE);
|
InvalidateWindowClassesData(WC_BUILD_VEHICLE);
|
||||||
}
|
}
|
||||||
@@ -779,10 +819,7 @@ static bool IsVehicleTypeDisabled(VehicleType type, bool ai)
|
|||||||
/** Daily check to offer an exclusive engine preview to the companies. */
|
/** Daily check to offer an exclusive engine preview to the companies. */
|
||||||
void EnginesDailyLoop()
|
void EnginesDailyLoop()
|
||||||
{
|
{
|
||||||
Company *c;
|
CheckRailIntroduction();
|
||||||
FOR_ALL_COMPANIES(c) {
|
|
||||||
c->avail_railtypes = AddDateIntroducedRailTypes(c->avail_railtypes, _date);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_cur_year >= _year_engine_aging_stops) return;
|
if (_cur_year >= _year_engine_aging_stops) return;
|
||||||
|
|
||||||
@@ -865,7 +902,7 @@ CommandCost CmdSetVehicleVisibility(TileIndex tile, DoCommandFlag flags, uint32
|
|||||||
CommandCost CmdWantEnginePreview(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
CommandCost CmdWantEnginePreview(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
||||||
{
|
{
|
||||||
Engine *e = Engine::GetIfValid(p1);
|
Engine *e = Engine::GetIfValid(p1);
|
||||||
if (e == NULL || !(e->flags & ENGINE_EXCLUSIVE_PREVIEW) || e->preview_company != _current_company) return CMD_ERROR;
|
if (e == NULL || e->preview_company != _current_company) return CMD_ERROR;
|
||||||
|
|
||||||
if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_company);
|
if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_company);
|
||||||
|
|
||||||
|
@@ -158,7 +158,6 @@ enum EngineMiscFlags {
|
|||||||
EF_AUTO_REFIT = 4, ///< Automatic refitting is allowed
|
EF_AUTO_REFIT = 4, ///< Automatic refitting is allowed
|
||||||
EF_NO_DEFAULT_CARGO_MULTIPLIER = 5, ///< Use the new capacity algorithm. The default cargotype of the vehicle does not affect capacity multipliers. CB 15 is also called in purchase list.
|
EF_NO_DEFAULT_CARGO_MULTIPLIER = 5, ///< Use the new capacity algorithm. The default cargotype of the vehicle does not affect capacity multipliers. CB 15 is also called in purchase list.
|
||||||
EF_NO_BREAKDOWN_SMOKE = 6, ///< Do not show black smoke during a breakdown.
|
EF_NO_BREAKDOWN_SMOKE = 6, ///< Do not show black smoke during a breakdown.
|
||||||
EF_SPRITE_STACK = 7, ///< Draw vehicle by stacking multiple sprites.
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -14,96 +14,6 @@
|
|||||||
|
|
||||||
#include "core/enum_type.hpp"
|
#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
|
* The different kinds of subdirectories OpenTTD uses
|
||||||
*/
|
*/
|
||||||
|
158
src/fios.cpp
158
src/fios.cpp
@@ -29,15 +29,17 @@
|
|||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
/* Variables to display file lists */
|
/* Variables to display file lists */
|
||||||
|
SmallVector<FiosItem, 32> _fios_items;
|
||||||
static char *_fios_path;
|
static char *_fios_path;
|
||||||
static const char *_fios_path_last;
|
static const char *_fios_path_last;
|
||||||
|
SmallFiosItem _file_to_saveload;
|
||||||
SortingBits _savegame_sort_order = SORT_BY_DATE | SORT_DESCENDING;
|
SortingBits _savegame_sort_order = SORT_BY_DATE | SORT_DESCENDING;
|
||||||
|
|
||||||
/* OS-specific functions are taken from their respective files (win32/unix/os2 .c) */
|
/* OS-specific functions are taken from their respective files (win32/unix/os2 .c) */
|
||||||
extern bool FiosIsRoot(const char *path);
|
extern bool FiosIsRoot(const char *path);
|
||||||
extern bool FiosIsValidFile(const char *path, const struct dirent *ent, struct stat *sb);
|
extern bool FiosIsValidFile(const char *path, const struct dirent *ent, struct stat *sb);
|
||||||
extern bool FiosIsHiddenFile(const struct dirent *ent);
|
extern bool FiosIsHiddenFile(const struct dirent *ent);
|
||||||
extern void FiosGetDrives(FileList &file_list);
|
extern void FiosGetDrives();
|
||||||
extern bool FiosGetDiskFreeSpace(const char *path, uint64 *tot);
|
extern bool FiosGetDiskFreeSpace(const char *path, uint64 *tot);
|
||||||
|
|
||||||
/* get the name of an oldstyle savegame */
|
/* get the name of an oldstyle savegame */
|
||||||
@@ -63,72 +65,11 @@ int CDECL CompareFiosItems(const FiosItem *da, const FiosItem *db)
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
FileList::~FileList()
|
/** Free the list of savegames. */
|
||||||
|
void FiosFreeSavegameList()
|
||||||
{
|
{
|
||||||
this->Clear();
|
_fios_items.Clear();
|
||||||
}
|
_fios_items.Compact();
|
||||||
|
|
||||||
/**
|
|
||||||
* 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -274,24 +215,23 @@ bool FiosDelete(const char *name)
|
|||||||
return unlink(filename) == 0;
|
return unlink(filename) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef FiosType fios_getlist_callback_proc(SaveLoadOperation fop, const char *filename, const char *ext, char *title, const char *last);
|
typedef FiosType fios_getlist_callback_proc(SaveLoadDialogMode mode, const char *filename, const char *ext, char *title, const char *last);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scanner to scan for a particular type of FIOS file.
|
* Scanner to scan for a particular type of FIOS file.
|
||||||
*/
|
*/
|
||||||
class FiosFileScanner : public FileScanner {
|
class FiosFileScanner : public FileScanner {
|
||||||
SaveLoadOperation fop; ///< The kind of file we are looking for.
|
SaveLoadDialogMode mode; ///< The mode we want to search for
|
||||||
fios_getlist_callback_proc *callback_proc; ///< Callback to check whether the file may be added
|
fios_getlist_callback_proc *callback_proc; ///< Callback to check whether the file may be added
|
||||||
FileList &file_list; ///< Destination of the found files.
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* Create the scanner
|
* Create the scanner
|
||||||
* @param fop Purpose of collecting the list.
|
* @param mode The mode we are in. Some modes don't allow 'parent'.
|
||||||
* @param callback_proc The function that is called where you need to do the filtering.
|
* @param callback_proc The function that is called where you need to do the filtering.
|
||||||
* @param file_list Destination of the found files.
|
|
||||||
*/
|
*/
|
||||||
FiosFileScanner(SaveLoadOperation fop, fios_getlist_callback_proc *callback_proc, FileList &file_list) :
|
FiosFileScanner(SaveLoadDialogMode mode, fios_getlist_callback_proc *callback_proc) :
|
||||||
fop(fop), callback_proc(callback_proc), file_list(file_list)
|
mode(mode),
|
||||||
|
callback_proc(callback_proc)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
/* virtual */ bool AddFile(const char *filename, size_t basepath_length, const char *tar_filename);
|
/* virtual */ bool AddFile(const char *filename, size_t basepath_length, const char *tar_filename);
|
||||||
@@ -311,14 +251,14 @@ bool FiosFileScanner::AddFile(const char *filename, size_t basepath_length, cons
|
|||||||
char fios_title[64];
|
char fios_title[64];
|
||||||
fios_title[0] = '\0'; // reset the title;
|
fios_title[0] = '\0'; // reset the title;
|
||||||
|
|
||||||
FiosType type = this->callback_proc(this->fop, filename, ext, fios_title, lastof(fios_title));
|
FiosType type = this->callback_proc(this->mode, filename, ext, fios_title, lastof(fios_title));
|
||||||
if (type == FIOS_TYPE_INVALID) return false;
|
if (type == FIOS_TYPE_INVALID) return false;
|
||||||
|
|
||||||
for (const FiosItem *fios = file_list.Begin(); fios != file_list.End(); fios++) {
|
for (const FiosItem *fios = _fios_items.Begin(); fios != _fios_items.End(); fios++) {
|
||||||
if (strcmp(fios->name, filename) == 0) return false;
|
if (strcmp(fios->name, filename) == 0) return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FiosItem *fios = file_list.Append();
|
FiosItem *fios = _fios_items.Append();
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
struct _stat sb;
|
struct _stat sb;
|
||||||
if (_tstat(OTTD2FS(filename), &sb) == 0) {
|
if (_tstat(OTTD2FS(filename), &sb) == 0) {
|
||||||
@@ -349,12 +289,11 @@ 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.
|
* Fill the list of the files in a directory, according to some arbitrary rule.
|
||||||
* @param fop Purpose of collecting the list.
|
* @param mode The mode we are in. Some modes don't allow 'parent'.
|
||||||
* @param callback_proc The function that is called where you need to do the filtering.
|
* @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 subdir The directory from where to start (global) searching.
|
||||||
* @param file_list Destination of the found files.
|
|
||||||
*/
|
*/
|
||||||
static void FiosGetFileList(SaveLoadOperation fop, fios_getlist_callback_proc *callback_proc, Subdirectory subdir, FileList &file_list)
|
static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc *callback_proc, Subdirectory subdir)
|
||||||
{
|
{
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
struct dirent *dirent;
|
struct dirent *dirent;
|
||||||
@@ -363,11 +302,11 @@ static void FiosGetFileList(SaveLoadOperation fop, fios_getlist_callback_proc *c
|
|||||||
int sort_start;
|
int sort_start;
|
||||||
char d_name[sizeof(fios->name)];
|
char d_name[sizeof(fios->name)];
|
||||||
|
|
||||||
file_list.Clear();
|
_fios_items.Clear();
|
||||||
|
|
||||||
/* A parent directory link exists if we are not in the root directory */
|
/* A parent directory link exists if we are not in the root directory */
|
||||||
if (!FiosIsRoot(_fios_path)) {
|
if (!FiosIsRoot(_fios_path)) {
|
||||||
fios = file_list.Append();
|
fios = _fios_items.Append();
|
||||||
fios->type = FIOS_TYPE_PARENT;
|
fios->type = FIOS_TYPE_PARENT;
|
||||||
fios->mtime = 0;
|
fios->mtime = 0;
|
||||||
strecpy(fios->name, "..", lastof(fios->name));
|
strecpy(fios->name, "..", lastof(fios->name));
|
||||||
@@ -383,7 +322,7 @@ static void FiosGetFileList(SaveLoadOperation fop, fios_getlist_callback_proc *c
|
|||||||
if (FiosIsValidFile(_fios_path, dirent, &sb) && S_ISDIR(sb.st_mode) &&
|
if (FiosIsValidFile(_fios_path, dirent, &sb) && S_ISDIR(sb.st_mode) &&
|
||||||
(!FiosIsHiddenFile(dirent) || strncasecmp(d_name, PERSONAL_DIR, strlen(d_name)) == 0) &&
|
(!FiosIsHiddenFile(dirent) || strncasecmp(d_name, PERSONAL_DIR, strlen(d_name)) == 0) &&
|
||||||
strcmp(d_name, ".") != 0 && strcmp(d_name, "..") != 0) {
|
strcmp(d_name, ".") != 0 && strcmp(d_name, "..") != 0) {
|
||||||
fios = file_list.Append();
|
fios = _fios_items.Append();
|
||||||
fios->type = FIOS_TYPE_DIR;
|
fios->type = FIOS_TYPE_DIR;
|
||||||
fios->mtime = 0;
|
fios->mtime = 0;
|
||||||
strecpy(fios->name, d_name, lastof(fios->name));
|
strecpy(fios->name, d_name, lastof(fios->name));
|
||||||
@@ -398,27 +337,27 @@ static void FiosGetFileList(SaveLoadOperation fop, fios_getlist_callback_proc *c
|
|||||||
{
|
{
|
||||||
SortingBits order = _savegame_sort_order;
|
SortingBits order = _savegame_sort_order;
|
||||||
_savegame_sort_order = SORT_BY_NAME | SORT_ASCENDING;
|
_savegame_sort_order = SORT_BY_NAME | SORT_ASCENDING;
|
||||||
QSortT(file_list.files.Begin(), file_list.files.Length(), CompareFiosItems);
|
QSortT(_fios_items.Begin(), _fios_items.Length(), CompareFiosItems);
|
||||||
_savegame_sort_order = order;
|
_savegame_sort_order = order;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is where to start sorting for the filenames */
|
/* This is where to start sorting for the filenames */
|
||||||
sort_start = file_list.Length();
|
sort_start = _fios_items.Length();
|
||||||
|
|
||||||
/* Show files */
|
/* Show files */
|
||||||
FiosFileScanner scanner(fop, callback_proc, file_list);
|
FiosFileScanner scanner(mode, callback_proc);
|
||||||
if (subdir == NO_DIRECTORY) {
|
if (subdir == NO_DIRECTORY) {
|
||||||
scanner.Scan(NULL, _fios_path, false);
|
scanner.Scan(NULL, _fios_path, false);
|
||||||
} else {
|
} else {
|
||||||
scanner.Scan(NULL, subdir, true, true);
|
scanner.Scan(NULL, subdir, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
QSortT(file_list.Get(sort_start), file_list.Length() - sort_start, CompareFiosItems);
|
QSortT(_fios_items.Get(sort_start), _fios_items.Length() - sort_start, CompareFiosItems);
|
||||||
|
|
||||||
/* Show drives */
|
/* Show drives */
|
||||||
FiosGetDrives(file_list);
|
FiosGetDrives();
|
||||||
|
|
||||||
file_list.Compact();
|
_fios_items.Compact();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -447,7 +386,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.
|
* Callback for FiosGetFileList. It tells if a file is a savegame or not.
|
||||||
* @param fop Purpose of collecting the list.
|
* @param mode Save/load mode.
|
||||||
* @param file Name of the file to check.
|
* @param file Name of the file to check.
|
||||||
* @param ext A pointer to the extension identifier inside file
|
* @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
|
* @param title Buffer if a callback wants to lookup the title of the file; NULL to skip the lookup
|
||||||
@@ -456,7 +395,7 @@ static void GetFileTitle(const char *file, char *title, const char *last, Subdir
|
|||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
* @see FiosGetSavegameList
|
* @see FiosGetSavegameList
|
||||||
*/
|
*/
|
||||||
FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
||||||
{
|
{
|
||||||
/* Show savegame files
|
/* Show savegame files
|
||||||
* .SAV OpenTTD saved game
|
* .SAV OpenTTD saved game
|
||||||
@@ -472,7 +411,7 @@ FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, co
|
|||||||
return FIOS_TYPE_FILE;
|
return FIOS_TYPE_FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fop == SLO_LOAD) {
|
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
||||||
if (strcasecmp(ext, ".ss1") == 0 || strcasecmp(ext, ".sv1") == 0 ||
|
if (strcasecmp(ext, ".ss1") == 0 || strcasecmp(ext, ".sv1") == 0 ||
|
||||||
strcasecmp(ext, ".sv2") == 0) {
|
strcasecmp(ext, ".sv2") == 0) {
|
||||||
if (title != NULL) GetOldSaveGameName(file, title, last);
|
if (title != NULL) GetOldSaveGameName(file, title, last);
|
||||||
@@ -485,11 +424,10 @@ FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, co
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of savegames.
|
* Get a list of savegames.
|
||||||
* @param fop Purpose of collecting the list.
|
* @param mode Save/load mode.
|
||||||
* @param file_list Destination of the found files.
|
|
||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
*/
|
*/
|
||||||
void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list)
|
void FiosGetSavegameList(SaveLoadDialogMode mode)
|
||||||
{
|
{
|
||||||
static char *fios_save_path = NULL;
|
static char *fios_save_path = NULL;
|
||||||
static char *fios_save_path_last = NULL;
|
static char *fios_save_path_last = NULL;
|
||||||
@@ -503,12 +441,12 @@ void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list)
|
|||||||
_fios_path = fios_save_path;
|
_fios_path = fios_save_path;
|
||||||
_fios_path_last = fios_save_path_last;
|
_fios_path_last = fios_save_path_last;
|
||||||
|
|
||||||
FiosGetFileList(fop, &FiosGetSavegameListCallback, NO_DIRECTORY, file_list);
|
FiosGetFileList(mode, &FiosGetSavegameListCallback, NO_DIRECTORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback for FiosGetFileList. It tells if a file is a scenario or not.
|
* Callback for FiosGetFileList. It tells if a file is a scenario or not.
|
||||||
* @param fop Purpose of collecting the list.
|
* @param mode Save/load mode.
|
||||||
* @param file Name of the file to check.
|
* @param file Name of the file to check.
|
||||||
* @param ext A pointer to the extension identifier inside file
|
* @param ext A pointer to the extension identifier inside file
|
||||||
* @param title Buffer if a callback wants to lookup the title of the file
|
* @param title Buffer if a callback wants to lookup the title of the file
|
||||||
@@ -517,7 +455,7 @@ void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list)
|
|||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
* @see FiosGetScenarioList
|
* @see FiosGetScenarioList
|
||||||
*/
|
*/
|
||||||
static FiosType FiosGetScenarioListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
||||||
{
|
{
|
||||||
/* Show scenario files
|
/* Show scenario files
|
||||||
* .SCN OpenTTD style scenario file
|
* .SCN OpenTTD style scenario file
|
||||||
@@ -528,7 +466,7 @@ static FiosType FiosGetScenarioListCallback(SaveLoadOperation fop, const char *f
|
|||||||
return FIOS_TYPE_SCENARIO;
|
return FIOS_TYPE_SCENARIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fop == SLO_LOAD) {
|
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
||||||
if (strcasecmp(ext, ".sv0") == 0 || strcasecmp(ext, ".ss0") == 0 ) {
|
if (strcasecmp(ext, ".sv0") == 0 || strcasecmp(ext, ".ss0") == 0 ) {
|
||||||
GetOldSaveGameName(file, title, last);
|
GetOldSaveGameName(file, title, last);
|
||||||
return FIOS_TYPE_OLD_SCENARIO;
|
return FIOS_TYPE_OLD_SCENARIO;
|
||||||
@@ -540,11 +478,10 @@ static FiosType FiosGetScenarioListCallback(SaveLoadOperation fop, const char *f
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of scenarios.
|
* Get a list of scenarios.
|
||||||
* @param fop Purpose of collecting the list.
|
* @param mode Save/load mode.
|
||||||
* @param file_list Destination of the found files.
|
|
||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
*/
|
*/
|
||||||
void FiosGetScenarioList(SaveLoadOperation fop, FileList &file_list)
|
void FiosGetScenarioList(SaveLoadDialogMode mode)
|
||||||
{
|
{
|
||||||
static char *fios_scn_path = NULL;
|
static char *fios_scn_path = NULL;
|
||||||
static char *fios_scn_path_last = NULL;
|
static char *fios_scn_path_last = NULL;
|
||||||
@@ -562,11 +499,10 @@ void FiosGetScenarioList(SaveLoadOperation fop, FileList &file_list)
|
|||||||
char base_path[MAX_PATH];
|
char base_path[MAX_PATH];
|
||||||
FioGetDirectory(base_path, lastof(base_path), SCENARIO_DIR);
|
FioGetDirectory(base_path, lastof(base_path), SCENARIO_DIR);
|
||||||
|
|
||||||
Subdirectory subdir = (fop == SLO_LOAD && strcmp(base_path, _fios_path) == 0) ? SCENARIO_DIR : NO_DIRECTORY;
|
FiosGetFileList(mode, &FiosGetScenarioListCallback, (mode == SLD_LOAD_SCENARIO && strcmp(base_path, _fios_path) == 0) ? SCENARIO_DIR : NO_DIRECTORY);
|
||||||
FiosGetFileList(fop, &FiosGetScenarioListCallback, subdir, file_list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static FiosType FiosGetHeightmapListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
||||||
{
|
{
|
||||||
/* Show heightmap files
|
/* Show heightmap files
|
||||||
* .PNG PNG Based heightmap files
|
* .PNG PNG Based heightmap files
|
||||||
@@ -612,10 +548,9 @@ static FiosType FiosGetHeightmapListCallback(SaveLoadOperation fop, const char *
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of heightmaps.
|
* Get a list of heightmaps.
|
||||||
* @param fop Purpose of collecting the list.
|
* @param mode Save/load mode.
|
||||||
* @param file_list Destination of the found files.
|
|
||||||
*/
|
*/
|
||||||
void FiosGetHeightmapList(SaveLoadOperation fop, FileList &file_list)
|
void FiosGetHeightmapList(SaveLoadDialogMode mode)
|
||||||
{
|
{
|
||||||
static char *fios_hmap_path = NULL;
|
static char *fios_hmap_path = NULL;
|
||||||
static char *fios_hmap_path_last = NULL;
|
static char *fios_hmap_path_last = NULL;
|
||||||
@@ -632,8 +567,7 @@ void FiosGetHeightmapList(SaveLoadOperation fop, FileList &file_list)
|
|||||||
char base_path[MAX_PATH];
|
char base_path[MAX_PATH];
|
||||||
FioGetDirectory(base_path, lastof(base_path), HEIGHTMAP_DIR);
|
FioGetDirectory(base_path, lastof(base_path), HEIGHTMAP_DIR);
|
||||||
|
|
||||||
Subdirectory subdir = strcmp(base_path, _fios_path) == 0 ? HEIGHTMAP_DIR : NO_DIRECTORY;
|
FiosGetFileList(mode, &FiosGetHeightmapListCallback, strcmp(base_path, _fios_path) == 0 ? HEIGHTMAP_DIR : NO_DIRECTORY);
|
||||||
FiosGetFileList(fop, &FiosGetHeightmapListCallback, subdir, file_list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
157
src/fios.h
157
src/fios.h
@@ -81,17 +81,52 @@ extern LoadCheckData _load_check_data;
|
|||||||
|
|
||||||
enum FileSlots {
|
enum FileSlots {
|
||||||
/**
|
/**
|
||||||
* Slot used for the GRF scanning and such.
|
* Slot used for the GRF scanning and such. This slot cannot be reused
|
||||||
* This slot is used for all temporary accesses to files when scanning/testing files,
|
* as it will otherwise cause issues when pressing "rescan directories".
|
||||||
* and thus cannot be used for files, which are continuously accessed during a game.
|
* It can furthermore not be larger than LAST_GRF_SLOT as that complicates
|
||||||
|
* the testing for "too much NewGRFs".
|
||||||
*/
|
*/
|
||||||
CONFIG_SLOT = 0,
|
CONFIG_SLOT = 0,
|
||||||
/** Slot for the sound. */
|
/** Slot for the sound. */
|
||||||
SOUND_SLOT = 1,
|
SOUND_SLOT = 1,
|
||||||
/** First slot usable for (New)GRFs used during the game. */
|
/** First slot usable for (New)GRFs used during the game. */
|
||||||
FIRST_GRF_SLOT = 2,
|
FIRST_GRF_SLOT = 2,
|
||||||
|
/** Last slot usable for (New)GRFs used during the game. */
|
||||||
|
LAST_GRF_SLOT = 63,
|
||||||
/** Maximum number of slots. */
|
/** Maximum number of slots. */
|
||||||
MAX_FILE_SLOTS = 128,
|
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 */
|
/** Deals with finding savegames */
|
||||||
@@ -102,95 +137,12 @@ struct FiosItem {
|
|||||||
char name[MAX_PATH];
|
char name[MAX_PATH];
|
||||||
};
|
};
|
||||||
|
|
||||||
/** List of file information. */
|
/** Deals with the type of the savegame, independent of extension */
|
||||||
class FileList {
|
struct SmallFiosItem {
|
||||||
public:
|
int mode; ///< savegame/scenario type (old, new)
|
||||||
~FileList();
|
FileType filetype; ///< what type of file are we dealing with
|
||||||
|
char name[MAX_PATH]; ///< name
|
||||||
/**
|
char title[255]; ///< internal name of the game
|
||||||
* 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 {
|
enum SortingBits {
|
||||||
@@ -202,14 +154,18 @@ enum SortingBits {
|
|||||||
DECLARE_ENUM_AS_BIT_SET(SortingBits)
|
DECLARE_ENUM_AS_BIT_SET(SortingBits)
|
||||||
|
|
||||||
/* Variables to display file lists */
|
/* 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;
|
extern SortingBits _savegame_sort_order;
|
||||||
|
|
||||||
void ShowSaveLoadDialog(AbstractFileType abstract_filetype, SaveLoadOperation fop);
|
void ShowSaveLoadDialog(SaveLoadDialogMode mode);
|
||||||
|
|
||||||
void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list);
|
void FiosGetSavegameList(SaveLoadDialogMode mode);
|
||||||
void FiosGetScenarioList(SaveLoadOperation fop, FileList &file_list);
|
void FiosGetScenarioList(SaveLoadDialogMode mode);
|
||||||
void FiosGetHeightmapList(SaveLoadOperation fop, FileList &file_list);
|
void FiosGetHeightmapList(SaveLoadDialogMode mode);
|
||||||
|
|
||||||
|
void FiosFreeSavegameList();
|
||||||
const char *FiosBrowseTo(const FiosItem *item);
|
const char *FiosBrowseTo(const FiosItem *item);
|
||||||
|
|
||||||
StringID FiosGetDescText(const char **path, uint64 *total_free);
|
StringID FiosGetDescText(const char **path, uint64 *total_free);
|
||||||
@@ -217,8 +173,13 @@ bool FiosDelete(const char *name);
|
|||||||
void FiosMakeHeightmapName(char *buf, const char *name, const char *last);
|
void FiosMakeHeightmapName(char *buf, const char *name, const char *last);
|
||||||
void FiosMakeSavegameName(char *buf, const char *name, const char *last);
|
void FiosMakeSavegameName(char *buf, const char *name, const char *last);
|
||||||
|
|
||||||
FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last);
|
FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last);
|
||||||
|
|
||||||
int CDECL CompareFiosItems(const FiosItem *a, const FiosItem *b);
|
int CDECL CompareFiosItems(const FiosItem *a, const FiosItem *b);
|
||||||
|
|
||||||
|
extern const TextColour _fios_colours[];
|
||||||
|
|
||||||
|
void BuildFileList();
|
||||||
|
void SetFiosType(const byte fiostype);
|
||||||
|
|
||||||
#endif /* FIOS_H */
|
#endif /* FIOS_H */
|
||||||
|
315
src/fios_gui.cpp
315
src/fios_gui.cpp
@@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
|
SaveLoadDialogMode _saveload_mode;
|
||||||
LoadCheckData _load_check_data; ///< Data loaded from save during SL_LOAD_CHECK.
|
LoadCheckData _load_check_data; ///< Data loaded from save during SL_LOAD_CHECK.
|
||||||
|
|
||||||
static bool _fios_path_changed;
|
static bool _fios_path_changed;
|
||||||
@@ -186,24 +187,33 @@ static const NWidgetPart _nested_save_dialog_widgets[] = {
|
|||||||
EndContainer(),
|
EndContainer(),
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Text colours of #DetailedFileType fios entries in the window. */
|
/** Colours for fios types, indexed by #FiosType. */
|
||||||
static const TextColour _fios_colours[] = {
|
const TextColour _fios_colours[] = {
|
||||||
TC_LIGHT_BROWN, // DFT_OLD_GAME_FILE
|
TC_LIGHT_BLUE, TC_DARK_GREEN, TC_DARK_GREEN, TC_ORANGE, TC_LIGHT_BROWN,
|
||||||
TC_ORANGE, // DFT_GAME_FILE
|
TC_ORANGE, TC_LIGHT_BROWN, TC_ORANGE, TC_ORANGE, TC_YELLOW
|
||||||
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) {
|
||||||
* Sort the collected list save games prior to displaying it in the save/load gui.
|
case SLD_LOAD_SCENARIO:
|
||||||
* @param [inout] file_list List of save game files found in the directory.
|
case SLD_SAVE_SCENARIO:
|
||||||
*/
|
FiosGetScenarioList(_saveload_mode); break;
|
||||||
static void SortSaveGameList(FileList &file_list)
|
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()
|
||||||
{
|
{
|
||||||
uint sort_start = 0;
|
uint sort_start = 0;
|
||||||
uint sort_end = 0;
|
uint sort_end = 0;
|
||||||
@@ -212,7 +222,7 @@ static void SortSaveGameList(FileList &file_list)
|
|||||||
* Drives (A:\ (windows only) are always under the files (FIOS_TYPE_DRIVE)
|
* Drives (A:\ (windows only) are always under the files (FIOS_TYPE_DRIVE)
|
||||||
* Only sort savegames/scenarios, not directories
|
* Only sort savegames/scenarios, not directories
|
||||||
*/
|
*/
|
||||||
for (const FiosItem *item = file_list.Begin(); item != file_list.End(); item++) {
|
for (const FiosItem *item = _fios_items.Begin(); item != _fios_items.End(); item++) {
|
||||||
switch (item->type) {
|
switch (item->type) {
|
||||||
case FIOS_TYPE_DIR: sort_start++; break;
|
case FIOS_TYPE_DIR: sort_start++; break;
|
||||||
case FIOS_TYPE_PARENT: sort_start++; break;
|
case FIOS_TYPE_PARENT: sort_start++; break;
|
||||||
@@ -221,18 +231,15 @@ static void SortSaveGameList(FileList &file_list)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint s_amount = file_list.Length() - sort_start - sort_end;
|
uint s_amount = _fios_items.Length() - sort_start - sort_end;
|
||||||
QSortT(file_list.Get(sort_start), s_amount, CompareFiosItems);
|
QSortT(_fios_items.Get(sort_start), s_amount, CompareFiosItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct SaveLoadWindow : public Window {
|
struct SaveLoadWindow : public Window {
|
||||||
private:
|
private:
|
||||||
QueryString filename_editbox; ///< Filename editbox.
|
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;
|
FiosItem o_dir;
|
||||||
const FiosItem *selected; ///< Selected game in #fios_items, or \c NULL.
|
const FiosItem *selected;
|
||||||
Scrollbar *vscroll;
|
Scrollbar *vscroll;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@@ -243,56 +250,35 @@ public:
|
|||||||
this->filename_editbox.text.UpdateSize();
|
this->filename_editbox.text.UpdateSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
SaveLoadWindow(WindowDesc *desc, AbstractFileType abstract_filetype, SaveLoadOperation fop)
|
SaveLoadWindow(WindowDesc *desc, SaveLoadDialogMode mode) : Window(desc), filename_editbox(64)
|
||||||
: Window(desc), filename_editbox(64), abstract_filetype(abstract_filetype), fop(fop)
|
|
||||||
{
|
{
|
||||||
assert(this->fop == SLO_SAVE || this->fop == SLO_LOAD);
|
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));
|
||||||
|
|
||||||
/* For saving, construct an initial file name. */
|
/* Use an array to define what will be the current file type being handled
|
||||||
if (this->fop == SLO_SAVE) {
|
* by current file mode */
|
||||||
switch (this->abstract_filetype) {
|
switch (mode) {
|
||||||
case FT_SAVEGAME:
|
case SLD_SAVE_GAME: this->GenerateFileName(); break;
|
||||||
this->GenerateFileName();
|
case SLD_SAVE_HEIGHTMAP:
|
||||||
break;
|
case SLD_SAVE_SCENARIO: this->filename_editbox.text.Assign("UNNAMED"); break;
|
||||||
|
default: 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->querystrings[WID_SL_SAVE_OSK_TITLE] = &this->filename_editbox;
|
||||||
this->filename_editbox.ok_button = WID_SL_SAVE_GAME;
|
this->filename_editbox.ok_button = WID_SL_SAVE_GAME;
|
||||||
|
|
||||||
this->CreateNestedTree(true);
|
this->CreateNestedTree(true);
|
||||||
if (this->fop == SLO_LOAD && this->abstract_filetype == FT_SAVEGAME) {
|
if (mode == SLD_LOAD_GAME) this->GetWidget<NWidgetStacked>(WID_SL_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||||
this->GetWidget<NWidgetStacked>(WID_SL_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
this->GetWidget<NWidgetCore>(WID_SL_CAPTION)->widget_data = saveload_captions[mode];
|
||||||
}
|
|
||||||
|
|
||||||
/* 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->vscroll = this->GetScrollbar(WID_SL_SCROLLBAR);
|
||||||
|
|
||||||
this->FinishInitNested(0);
|
this->FinishInitNested(0);
|
||||||
|
|
||||||
this->LowerWidget(WID_SL_DRIVES_DIRECTORIES_LIST);
|
this->LowerWidget(WID_SL_DRIVES_DIRECTORIES_LIST);
|
||||||
@@ -308,18 +294,20 @@ public:
|
|||||||
|
|
||||||
ResetObjectToPlace();
|
ResetObjectToPlace();
|
||||||
|
|
||||||
/* Select the initial directory. */
|
|
||||||
o_dir.type = FIOS_TYPE_DIRECT;
|
o_dir.type = FIOS_TYPE_DIRECT;
|
||||||
switch (this->abstract_filetype) {
|
switch (_saveload_mode) {
|
||||||
case FT_SAVEGAME:
|
case SLD_SAVE_GAME:
|
||||||
|
case SLD_LOAD_GAME:
|
||||||
FioGetDirectory(o_dir.name, lastof(o_dir.name), SAVE_DIR);
|
FioGetDirectory(o_dir.name, lastof(o_dir.name), SAVE_DIR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FT_SCENARIO:
|
case SLD_SAVE_SCENARIO:
|
||||||
|
case SLD_LOAD_SCENARIO:
|
||||||
FioGetDirectory(o_dir.name, lastof(o_dir.name), SCENARIO_DIR);
|
FioGetDirectory(o_dir.name, lastof(o_dir.name), SCENARIO_DIR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FT_HEIGHTMAP:
|
case SLD_SAVE_HEIGHTMAP:
|
||||||
|
case SLD_LOAD_HEIGHTMAP:
|
||||||
FioGetDirectory(o_dir.name, lastof(o_dir.name), HEIGHTMAP_DIR);
|
FioGetDirectory(o_dir.name, lastof(o_dir.name), HEIGHTMAP_DIR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -328,7 +316,9 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Focus the edit box by default in the save windows */
|
/* Focus the edit box by default in the save windows */
|
||||||
if (this->fop == SLO_SAVE) this->SetFocusedWidget(WID_SL_SAVE_OSK_TITLE);
|
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
||||||
|
this->SetFocusedWidget(WID_SL_SAVE_OSK_TITLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~SaveLoadWindow()
|
virtual ~SaveLoadWindow()
|
||||||
@@ -337,6 +327,7 @@ public:
|
|||||||
if (!_networking && _game_mode != GM_EDITOR && _game_mode != GM_MENU) {
|
if (!_networking && _game_mode != GM_EDITOR && _game_mode != GM_MENU) {
|
||||||
DoCommandP(0, PM_PAUSED_SAVELOAD, 0, CMD_PAUSE);
|
DoCommandP(0, PM_PAUSED_SAVELOAD, 0, CMD_PAUSE);
|
||||||
}
|
}
|
||||||
|
FiosFreeSavegameList();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void DrawWidget(const Rect &r, int widget) const
|
virtual void DrawWidget(const Rect &r, int widget) const
|
||||||
@@ -369,13 +360,13 @@ public:
|
|||||||
GfxFillRect(r.left + 1, r.top + 1, r.right, r.bottom, PC_BLACK);
|
GfxFillRect(r.left + 1, r.top + 1, r.right, r.bottom, PC_BLACK);
|
||||||
|
|
||||||
uint y = r.top + WD_FRAMERECT_TOP;
|
uint y = r.top + WD_FRAMERECT_TOP;
|
||||||
for (uint pos = this->vscroll->GetPosition(); pos < this->fios_items.Length(); pos++) {
|
for (uint pos = this->vscroll->GetPosition(); pos < _fios_items.Length(); pos++) {
|
||||||
const FiosItem *item = this->fios_items.Get(pos);
|
const FiosItem *item = _fios_items.Get(pos);
|
||||||
|
|
||||||
if (item == this->selected) {
|
if (item == this->selected) {
|
||||||
GfxFillRect(r.left + 1, y, r.right, y + this->resize.step_height, PC_DARK_BLUE);
|
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[GetDetailedFileType(item->type)]);
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, item->title, _fios_colours[item->type]);
|
||||||
y += this->resize.step_height;
|
y += this->resize.step_height;
|
||||||
if (y >= this->vscroll->GetCapacity() * this->resize.step_height + r.top + WD_FRAMERECT_TOP) break;
|
if (y >= this->vscroll->GetCapacity() * this->resize.step_height + r.top + WD_FRAMERECT_TOP) break;
|
||||||
}
|
}
|
||||||
@@ -430,7 +421,7 @@ public:
|
|||||||
if (y > y_max) break;
|
if (y > y_max) break;
|
||||||
|
|
||||||
/* Hide current date for scenarios */
|
/* Hide current date for scenarios */
|
||||||
if (this->abstract_filetype != FT_SCENARIO) {
|
if (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) {
|
||||||
/* Current date */
|
/* Current date */
|
||||||
SetDParam(0, _load_check_data.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);
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_NETWORK_SERVER_LIST_CURRENT_DATE);
|
||||||
@@ -438,7 +429,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Hide the NewGRF stuff when saving. We also hide the button. */
|
/* Hide the NewGRF stuff when saving. We also hide the button. */
|
||||||
if (this->fop == SLO_LOAD && (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO)) {
|
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||||
y += WD_PAR_VSEP_NORMAL;
|
y += WD_PAR_VSEP_NORMAL;
|
||||||
if (y > y_max) break;
|
if (y > y_max) break;
|
||||||
|
|
||||||
@@ -451,7 +442,7 @@ public:
|
|||||||
if (y > y_max) break;
|
if (y > y_max) break;
|
||||||
|
|
||||||
/* Hide the company stuff for scenarios */
|
/* Hide the company stuff for scenarios */
|
||||||
if (this->abstract_filetype != FT_SCENARIO) {
|
if (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) {
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
if (y > y_max) break;
|
if (y > y_max) break;
|
||||||
|
|
||||||
@@ -504,10 +495,10 @@ public:
|
|||||||
{
|
{
|
||||||
if (_savegame_sort_dirty) {
|
if (_savegame_sort_dirty) {
|
||||||
_savegame_sort_dirty = false;
|
_savegame_sort_dirty = false;
|
||||||
SortSaveGameList(this->fios_items);
|
MakeSortedSaveGameList();
|
||||||
}
|
}
|
||||||
|
|
||||||
this->vscroll->SetCount(this->fios_items.Length());
|
this->vscroll->SetCount(_fios_items.Length());
|
||||||
this->DrawWidgets();
|
this->DrawWidgets();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -536,14 +527,14 @@ public:
|
|||||||
case WID_SL_LOAD_BUTTON:
|
case WID_SL_LOAD_BUTTON:
|
||||||
if (this->selected != NULL && !_load_check_data.HasErrors()) {
|
if (this->selected != NULL && !_load_check_data.HasErrors()) {
|
||||||
const char *name = FiosBrowseTo(this->selected);
|
const char *name = FiosBrowseTo(this->selected);
|
||||||
_file_to_saveload.SetMode(this->selected->type);
|
SetFiosType(this->selected->type);
|
||||||
_file_to_saveload.SetName(name);
|
|
||||||
_file_to_saveload.SetTitle(this->selected->title);
|
|
||||||
|
|
||||||
if (this->abstract_filetype == FT_HEIGHTMAP) {
|
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) {
|
||||||
delete this;
|
delete this;
|
||||||
ShowHeightmapLoad();
|
ShowHeightmapLoad();
|
||||||
|
|
||||||
} else if (!_load_check_data.HasNewGrfs() || _load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs()) {
|
} 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;
|
_switch_mode = (_game_mode == GM_EDITOR) ? SM_LOAD_SCENARIO : SM_LOAD_GAME;
|
||||||
ClearErrorMessages();
|
ClearErrorMessages();
|
||||||
@@ -572,7 +563,7 @@ public:
|
|||||||
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
|
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
|
||||||
if (y == INT_MAX) return;
|
if (y == INT_MAX) return;
|
||||||
|
|
||||||
const FiosItem *file = this->fios_items.Get(y);
|
const FiosItem *file = _fios_items.Get(y);
|
||||||
|
|
||||||
const char *name = FiosBrowseTo(file);
|
const char *name = FiosBrowseTo(file);
|
||||||
if (name != NULL) {
|
if (name != NULL) {
|
||||||
@@ -581,32 +572,28 @@ public:
|
|||||||
this->selected = file;
|
this->selected = file;
|
||||||
_load_check_data.Clear();
|
_load_check_data.Clear();
|
||||||
|
|
||||||
if (GetDetailedFileType(file->type) == DFT_GAME_FILE) {
|
if (file->type == FIOS_TYPE_FILE || file->type == FIOS_TYPE_SCENARIO) {
|
||||||
/* Other detailed file types cannot be checked before. */
|
SaveOrLoad(name, SL_LOAD_CHECK, NO_DIRECTORY, false);
|
||||||
SaveOrLoad(name, SLO_CHECK, DFT_GAME_FILE, NO_DIRECTORY, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this->InvalidateData(1);
|
this->InvalidateData(1);
|
||||||
}
|
}
|
||||||
if (this->fop == SLO_SAVE) {
|
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
||||||
/* Copy clicked name to editbox */
|
/* Copy clicked name to editbox */
|
||||||
this->filename_editbox.text.Assign(file->title);
|
this->filename_editbox.text.Assign(file->title);
|
||||||
this->SetWidgetDirty(WID_SL_SAVE_OSK_TITLE);
|
this->SetWidgetDirty(WID_SL_SAVE_OSK_TITLE);
|
||||||
}
|
}
|
||||||
} else if (!_load_check_data.HasErrors()) {
|
} else if (!_load_check_data.HasErrors()) {
|
||||||
this->selected = file;
|
this->selected = file;
|
||||||
if (this->fop == SLO_LOAD) {
|
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||||
if (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO) {
|
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
||||||
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
} else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
||||||
} else {
|
SetFiosType(file->type);
|
||||||
assert(this->abstract_filetype == FT_HEIGHTMAP);
|
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
||||||
_file_to_saveload.SetMode(file->type);
|
strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title));
|
||||||
_file_to_saveload.SetName(name);
|
|
||||||
_file_to_saveload.SetTitle(file->title);
|
|
||||||
|
|
||||||
delete this;
|
delete this;
|
||||||
ShowHeightmapLoad();
|
ShowHeightmapLoad();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -621,11 +608,10 @@ public:
|
|||||||
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
|
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
|
||||||
} else {
|
} else {
|
||||||
#if defined(ENABLE_NETWORK)
|
#if defined(ENABLE_NETWORK)
|
||||||
assert(this->fop == SLO_LOAD);
|
switch (_saveload_mode) {
|
||||||
switch (this->abstract_filetype) {
|
|
||||||
default: NOT_REACHED();
|
default: NOT_REACHED();
|
||||||
case FT_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break;
|
case SLD_LOAD_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break;
|
||||||
case FT_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break;
|
case SLD_LOAD_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -653,8 +639,9 @@ public:
|
|||||||
|
|
||||||
virtual void OnTimeout()
|
virtual void OnTimeout()
|
||||||
{
|
{
|
||||||
/* Widgets WID_SL_DELETE_SELECTION and WID_SL_SAVE_GAME only exist when saving to a file. */
|
/* This test protects against using widgets 11 and 12 which are only available
|
||||||
if (this->fop != SLO_SAVE) return;
|
* in those saveload modes. */
|
||||||
|
if (!(_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP)) return;
|
||||||
|
|
||||||
if (this->IsWidgetLowered(WID_SL_DELETE_SELECTION)) { // Delete button clicked
|
if (this->IsWidgetLowered(WID_SL_DELETE_SELECTION)) { // Delete button clicked
|
||||||
if (!FiosDelete(this->filename_editbox.text.buf)) {
|
if (!FiosDelete(this->filename_editbox.text.buf)) {
|
||||||
@@ -662,10 +649,10 @@ public:
|
|||||||
} else {
|
} else {
|
||||||
this->InvalidateData();
|
this->InvalidateData();
|
||||||
/* Reset file name to current date on successful delete */
|
/* Reset file name to current date on successful delete */
|
||||||
if (this->abstract_filetype == FT_SAVEGAME) GenerateFileName();
|
if (_saveload_mode == SLD_SAVE_GAME) GenerateFileName();
|
||||||
}
|
}
|
||||||
} else if (this->IsWidgetLowered(WID_SL_SAVE_GAME)) { // Save button clicked
|
} else if (this->IsWidgetLowered(WID_SL_SAVE_GAME)) { // Save button clicked
|
||||||
if (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO) {
|
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) {
|
||||||
_switch_mode = SM_SAVE_GAME;
|
_switch_mode = SM_SAVE_GAME;
|
||||||
FiosMakeSavegameName(_file_to_saveload.name, this->filename_editbox.text.buf, lastof(_file_to_saveload.name));
|
FiosMakeSavegameName(_file_to_saveload.name, this->filename_editbox.text.buf, lastof(_file_to_saveload.name));
|
||||||
} else {
|
} else {
|
||||||
@@ -696,40 +683,28 @@ public:
|
|||||||
this->selected = NULL;
|
this->selected = NULL;
|
||||||
_load_check_data.Clear();
|
_load_check_data.Clear();
|
||||||
if (!gui_scope) break;
|
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 */
|
/* FALL THROUGH */
|
||||||
case 1:
|
case 1:
|
||||||
/* Selection changes */
|
/* Selection changes */
|
||||||
if (!gui_scope) break;
|
if (!gui_scope) break;
|
||||||
|
if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
||||||
if (this->fop != SLO_LOAD) break;
|
this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON, this->selected == NULL || _load_check_data.HasErrors());
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
NOT_REACHED();
|
|
||||||
}
|
}
|
||||||
|
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_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();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -760,23 +735,69 @@ static WindowDesc _save_dialog_desc(
|
|||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Launch save/load dialog in the given mode.
|
* These values are used to convert the file/operations mode into a corresponding file type.
|
||||||
* @param abstract_filetype Kind of file to handle.
|
* So each entry, as expressed by the related comment, is based on the enum
|
||||||
* @param fop File operation to perform (load or save).
|
|
||||||
*/
|
*/
|
||||||
void ShowSaveLoadDialog(AbstractFileType abstract_filetype, SaveLoadOperation fop)
|
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.
|
||||||
|
*/
|
||||||
|
void ShowSaveLoadDialog(SaveLoadDialogMode mode)
|
||||||
{
|
{
|
||||||
DeleteWindowById(WC_SAVELOAD, 0);
|
DeleteWindowById(WC_SAVELOAD, 0);
|
||||||
|
|
||||||
WindowDesc *sld;
|
WindowDesc *sld;
|
||||||
if (fop == SLO_SAVE) {
|
switch (mode) {
|
||||||
sld = &_save_dialog_desc;
|
case SLD_SAVE_GAME:
|
||||||
} else {
|
case SLD_SAVE_SCENARIO:
|
||||||
/* Dialogue for loading a file. */
|
case SLD_SAVE_HEIGHTMAP:
|
||||||
sld = (abstract_filetype == FT_HEIGHTMAP) ? &_load_heightmap_dialog_desc : &_load_dialog_desc;
|
sld = &_save_dialog_desc; break;
|
||||||
|
case SLD_LOAD_HEIGHTMAP:
|
||||||
|
sld = &_load_heightmap_dialog_desc; break;
|
||||||
|
default:
|
||||||
|
sld = &_load_dialog_desc; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
_file_to_saveload.abstract_ftype = abstract_filetype;
|
_saveload_mode = mode;
|
||||||
|
_file_to_saveload.filetype = _file_modetotype[mode];
|
||||||
|
|
||||||
new SaveLoadWindow(sld, abstract_filetype, fop);
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
static bool CheckAPIVersion(const char *api_version)
|
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 ||
|
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.7") == 0;
|
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
|
@@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
#include "../core/smallvec_type.hpp"
|
#include "../core/smallvec_type.hpp"
|
||||||
|
|
||||||
|
/** The tab we place our strings in. */
|
||||||
|
static const uint GAME_TEXT_TAB = 18;
|
||||||
|
|
||||||
const char *GetGameStringPtr(uint id);
|
const char *GetGameStringPtr(uint id);
|
||||||
void RegisterGameTranslation(class Squirrel *engine);
|
void RegisterGameTranslation(class Squirrel *engine);
|
||||||
void ReconsiderGameScriptLanguage();
|
void ReconsiderGameScriptLanguage();
|
||||||
|
@@ -77,7 +77,7 @@ static void CleanupGeneration()
|
|||||||
{
|
{
|
||||||
_generating_world = false;
|
_generating_world = false;
|
||||||
|
|
||||||
SetMouseCursorBusy(false);
|
if (_cursor.sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
||||||
/* Show all vital windows again, because we have hidden them */
|
/* Show all vital windows again, because we have hidden them */
|
||||||
if (_gw.threaded && _game_mode != GM_MENU) ShowVitalWindows();
|
if (_gw.threaded && _game_mode != GM_MENU) ShowVitalWindows();
|
||||||
SetModalProgress(false);
|
SetModalProgress(false);
|
||||||
@@ -204,7 +204,7 @@ static void _GenerateWorld(void *)
|
|||||||
if (_debug_desync_level > 0) {
|
if (_debug_desync_level > 0) {
|
||||||
char name[MAX_PATH];
|
char name[MAX_PATH];
|
||||||
seprintf(name, lastof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date);
|
seprintf(name, lastof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date);
|
||||||
SaveOrLoad(name, SLO_SAVE, DFT_GAME_FILE, AUTOSAVE_DIR, false);
|
SaveOrLoad(name, SL_SAVE, AUTOSAVE_DIR, false);
|
||||||
}
|
}
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
BasePersistentStorageArray::SwitchMode(PSM_LEAVE_GAMELOOP, true);
|
BasePersistentStorageArray::SwitchMode(PSM_LEAVE_GAMELOOP, true);
|
||||||
@@ -331,7 +331,7 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti
|
|||||||
_gw.thread = NULL;
|
_gw.thread = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!VideoDriver::GetInstance()->HasGUI() || !ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread, "ottd:genworld")) {
|
if (!VideoDriver::GetInstance()->HasGUI() || !ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) {
|
||||||
DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode");
|
DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode");
|
||||||
_gw.threaded = false;
|
_gw.threaded = false;
|
||||||
_modal_progress_work_mutex->EndCritical();
|
_modal_progress_work_mutex->EndCritical();
|
||||||
|
@@ -26,7 +26,6 @@
|
|||||||
#include "town.h"
|
#include "town.h"
|
||||||
#include "core/geometry_func.hpp"
|
#include "core/geometry_func.hpp"
|
||||||
#include "core/random_func.hpp"
|
#include "core/random_func.hpp"
|
||||||
#include "saveload/saveload.h"
|
|
||||||
#include "progress.h"
|
#include "progress.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
|
|
||||||
@@ -833,7 +832,7 @@ static void _ShowGenerateLandscape(GenerateLandscapeWindowMode mode)
|
|||||||
|
|
||||||
if (mode == GLWM_HEIGHTMAP) {
|
if (mode == GLWM_HEIGHTMAP) {
|
||||||
/* If the function returns negative, it means there was a problem loading the heightmap */
|
/* If the function returns negative, it means there was a problem loading the heightmap */
|
||||||
if (!GetHeightmapDimensions(_file_to_saveload.detail_ftype, _file_to_saveload.name, &x, &y)) return;
|
if (!GetHeightmapDimensions(_file_to_saveload.name, &x, &y)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WindowDesc *desc = (mode == GLWM_HEIGHTMAP) ? &_heightmap_load_desc : &_generate_landscape_desc;
|
WindowDesc *desc = (mode == GLWM_HEIGHTMAP) ? &_heightmap_load_desc : &_generate_landscape_desc;
|
||||||
@@ -1191,7 +1190,7 @@ struct GenerateProgressWindow : public Window {
|
|||||||
{
|
{
|
||||||
switch (widget) {
|
switch (widget) {
|
||||||
case WID_GP_ABORT:
|
case WID_GP_ABORT:
|
||||||
SetMouseCursorBusy(false);
|
if (_cursor.sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
||||||
ShowQuery(
|
ShowQuery(
|
||||||
STR_GENERATION_ABORT_CAPTION,
|
STR_GENERATION_ABORT_CAPTION,
|
||||||
STR_GENERATION_ABORT_MESSAGE,
|
STR_GENERATION_ABORT_MESSAGE,
|
||||||
|
114
src/gfx.cpp
114
src/gfx.cpp
@@ -1223,6 +1223,10 @@ void DrawMouseCursor()
|
|||||||
if (_screen.dst_ptr == NULL) return;
|
if (_screen.dst_ptr == NULL) return;
|
||||||
|
|
||||||
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
||||||
|
int x;
|
||||||
|
int y;
|
||||||
|
int w;
|
||||||
|
int h;
|
||||||
|
|
||||||
/* Redraw mouse cursor but only when it's inside the window */
|
/* Redraw mouse cursor but only when it's inside the window */
|
||||||
if (!_cursor.in_window) return;
|
if (!_cursor.in_window) return;
|
||||||
@@ -1233,44 +1237,36 @@ void DrawMouseCursor()
|
|||||||
UndrawMouseCursor();
|
UndrawMouseCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine visible area */
|
w = _cursor.size.x;
|
||||||
int left = _cursor.pos.x + _cursor.total_offs.x;
|
x = _cursor.pos.x + _cursor.offs.x + _cursor.short_vehicle_offset;
|
||||||
int width = _cursor.total_size.x;
|
if (x < 0) {
|
||||||
if (left < 0) {
|
w += x;
|
||||||
width += left;
|
x = 0;
|
||||||
left = 0;
|
|
||||||
}
|
}
|
||||||
if (left + width > _screen.width) {
|
if (w > _screen.width - x) w = _screen.width - x;
|
||||||
width = _screen.width - left;
|
if (w <= 0) return;
|
||||||
}
|
_cursor.draw_pos.x = x;
|
||||||
if (width <= 0) return;
|
_cursor.draw_size.x = w;
|
||||||
|
|
||||||
int top = _cursor.pos.y + _cursor.total_offs.y;
|
h = _cursor.size.y;
|
||||||
int height = _cursor.total_size.y;
|
y = _cursor.pos.y + _cursor.offs.y;
|
||||||
if (top < 0) {
|
if (y < 0) {
|
||||||
height += top;
|
h += y;
|
||||||
top = 0;
|
y = 0;
|
||||||
}
|
}
|
||||||
if (top + height > _screen.height) {
|
if (h > _screen.height - y) h = _screen.height - y;
|
||||||
height = _screen.height - top;
|
if (h <= 0) return;
|
||||||
}
|
_cursor.draw_pos.y = y;
|
||||||
if (height <= 0) return;
|
_cursor.draw_size.y = h;
|
||||||
|
|
||||||
_cursor.draw_pos.x = left;
|
uint8 *buffer = _cursor_backup.Allocate(blitter->BufferSize(w, h));
|
||||||
_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 */
|
/* 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);
|
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 */
|
/* Draw cursor on screen */
|
||||||
_cur_dpi = &_screen;
|
_cur_dpi = &_screen;
|
||||||
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
DrawSprite(_cursor.sprite, _cursor.pal, _cursor.pos.x + _cursor.short_vehicle_offset, _cursor.pos.y);
|
||||||
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);
|
VideoDriver::GetInstance()->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y);
|
||||||
|
|
||||||
@@ -1529,33 +1525,15 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh
|
|||||||
*/
|
*/
|
||||||
void UpdateCursorSize()
|
void UpdateCursorSize()
|
||||||
{
|
{
|
||||||
/* Ignore setting any cursor before the sprites are loaded. */
|
CursorVars *cv = &_cursor;
|
||||||
if (GetMaxSpriteID() == 0) return;
|
const Sprite *p = GetSprite(GB(cv->sprite, 0, SPRITE_WIDTH), ST_NORMAL);
|
||||||
|
|
||||||
assert_compile(lengthof(_cursor.sprite_seq) == lengthof(_cursor.sprite_pos));
|
cv->size.y = UnScaleGUI(p->height);
|
||||||
assert(_cursor.sprite_count <= lengthof(_cursor.sprite_seq));
|
cv->size.x = UnScaleGUI(p->width);
|
||||||
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
cv->offs.x = UnScaleGUI(p->x_offs);
|
||||||
const Sprite *p = GetSprite(GB(_cursor.sprite_seq[i].sprite, 0, SPRITE_WIDTH), ST_NORMAL);
|
cv->offs.y = UnScaleGUI(p->y_offs);
|
||||||
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);
|
|
||||||
|
|
||||||
if (i == 0) {
|
cv->dirty = true;
|
||||||
_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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1565,15 +1543,14 @@ void UpdateCursorSize()
|
|||||||
*/
|
*/
|
||||||
static void SetCursorSprite(CursorID cursor, PaletteID pal)
|
static void SetCursorSprite(CursorID cursor, PaletteID pal)
|
||||||
{
|
{
|
||||||
if (_cursor.sprite_count == 1 && _cursor.sprite_seq[0].sprite == cursor && _cursor.sprite_seq[0].pal == pal) return;
|
CursorVars *cv = &_cursor;
|
||||||
|
if (cv->sprite == cursor) 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();
|
UpdateCursorSize();
|
||||||
|
|
||||||
|
cv->short_vehicle_offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SwitchAnimatedCursor()
|
static void SwitchAnimatedCursor()
|
||||||
@@ -1582,7 +1559,7 @@ static void SwitchAnimatedCursor()
|
|||||||
|
|
||||||
if (cur == NULL || cur->sprite == AnimCursor::LAST) cur = _cursor.animate_list;
|
if (cur == NULL || cur->sprite == AnimCursor::LAST) cur = _cursor.animate_list;
|
||||||
|
|
||||||
SetCursorSprite(cur->sprite, _cursor.sprite_seq[0].pal);
|
SetCursorSprite(cur->sprite, _cursor.pal);
|
||||||
|
|
||||||
_cursor.animate_timeout = cur->display_time;
|
_cursor.animate_timeout = cur->display_time;
|
||||||
_cursor.animate_cur = cur + 1;
|
_cursor.animate_cur = cur + 1;
|
||||||
@@ -1595,19 +1572,6 @@ 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.
|
* Assign a single non-animated sprite to the cursor.
|
||||||
* @param sprite Sprite to draw for the cursor.
|
* @param sprite Sprite to draw for the cursor.
|
||||||
@@ -1631,7 +1595,7 @@ void SetAnimatedMouseCursor(const AnimCursor *table)
|
|||||||
{
|
{
|
||||||
_cursor.animate_list = table;
|
_cursor.animate_list = table;
|
||||||
_cursor.animate_cur = NULL;
|
_cursor.animate_cur = NULL;
|
||||||
_cursor.sprite_seq[0].pal = PAL_NONE;
|
_cursor.pal = PAL_NONE;
|
||||||
SwitchAnimatedCursor();
|
SwitchAnimatedCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -145,7 +145,6 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh
|
|||||||
/* window.cpp */
|
/* window.cpp */
|
||||||
void DrawOverlappedWindowForAll(int left, int top, int right, int bottom);
|
void DrawOverlappedWindowForAll(int left, int top, int right, int bottom);
|
||||||
|
|
||||||
void SetMouseCursorBusy(bool busy);
|
|
||||||
void SetMouseCursor(CursorID cursor, PaletteID pal);
|
void SetMouseCursor(CursorID cursor, PaletteID pal);
|
||||||
void SetAnimatedMouseCursor(const AnimCursor *table);
|
void SetAnimatedMouseCursor(const AnimCursor *table);
|
||||||
void CursorTick();
|
void CursorTick();
|
||||||
@@ -161,16 +160,16 @@ void GetBroadestDigit(uint *front, uint *next, FontSize size = FS_NORMAL);
|
|||||||
|
|
||||||
int GetCharacterHeight(FontSize size);
|
int GetCharacterHeight(FontSize size);
|
||||||
|
|
||||||
/** Height of characters in the small (#FS_SMALL) font. @note Some characters may be oversized. */
|
/** Height of characters in the small (#FS_SMALL) font. */
|
||||||
#define FONT_HEIGHT_SMALL (GetCharacterHeight(FS_SMALL))
|
#define FONT_HEIGHT_SMALL (GetCharacterHeight(FS_SMALL))
|
||||||
|
|
||||||
/** Height of characters in the normal (#FS_NORMAL) font. @note Some characters may be oversized. */
|
/** Height of characters in the normal (#FS_NORMAL) font. */
|
||||||
#define FONT_HEIGHT_NORMAL (GetCharacterHeight(FS_NORMAL))
|
#define FONT_HEIGHT_NORMAL (GetCharacterHeight(FS_NORMAL))
|
||||||
|
|
||||||
/** Height of characters in the large (#FS_LARGE) font. @note Some characters may be oversized. */
|
/** Height of characters in the large (#FS_LARGE) font. */
|
||||||
#define FONT_HEIGHT_LARGE (GetCharacterHeight(FS_LARGE))
|
#define FONT_HEIGHT_LARGE (GetCharacterHeight(FS_LARGE))
|
||||||
|
|
||||||
/** Height of characters in the large (#FS_MONO) font. @note Some characters may be oversized. */
|
/** Height of characters in the large (#FS_MONO) font. */
|
||||||
#define FONT_HEIGHT_MONO (GetCharacterHeight(FS_MONO))
|
#define FONT_HEIGHT_MONO (GetCharacterHeight(FS_MONO))
|
||||||
|
|
||||||
extern DrawPixelInfo *_cur_dpi;
|
extern DrawPixelInfo *_cur_dpi;
|
||||||
|
@@ -115,35 +115,29 @@ struct AnimCursor {
|
|||||||
|
|
||||||
/** Collection of variables for cursor-display and -animation */
|
/** Collection of variables for cursor-display and -animation */
|
||||||
struct CursorVars {
|
struct CursorVars {
|
||||||
/* Logical mouse position */
|
Point pos, size, offs, delta; ///< position, size, offset from top-left, and movement
|
||||||
Point pos; ///< logical mouse position
|
Point draw_pos, draw_size; ///< position and size bounding-box for drawing
|
||||||
Point delta; ///< relative mouse movement in this tick
|
int short_vehicle_offset; ///< offset of the X for short vehicles
|
||||||
int wheel; ///< mouse wheel movement
|
CursorID sprite; ///< current image of cursor
|
||||||
bool fix_at; ///< mouse is moving, but cursor is not (used for scrolling)
|
PaletteID pal;
|
||||||
|
|
||||||
|
int wheel; ///< mouse wheel movement
|
||||||
|
|
||||||
/* We need two different vars to keep track of how far the scrollwheel moved.
|
/* We need two different vars to keep track of how far the scrollwheel moved.
|
||||||
* OSX uses this for scrolling around the map. */
|
* OSX uses this for scrolling around the map. */
|
||||||
int v_wheel;
|
int v_wheel;
|
||||||
int h_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_list; ///< in case of animated cursor, list of frames
|
||||||
const AnimCursor *animate_cur; ///< in case of animated cursor, current frame
|
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
|
uint animate_timeout; ///< in case of animated cursor, number of ticks to show the current cursor
|
||||||
|
|
||||||
bool visible; ///< cursor is visible
|
bool visible; ///< cursor is visible
|
||||||
bool dirty; ///< the rect occupied by the mouse is dirty (redraw)
|
bool dirty; ///< the rect occupied by the mouse is dirty (redraw)
|
||||||
bool in_window; ///< mouse inside this window, determines drawing logic
|
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 vehchain; ///< vehicle chain is dragged
|
|
||||||
|
|
||||||
bool UpdateCursorPosition(int x, int y, bool queued_warp);
|
bool UpdateCursorPosition(int x, int y, bool queued_warp);
|
||||||
|
|
||||||
|
@@ -197,49 +197,31 @@ static void LoadSpriteTables()
|
|||||||
InitializeUnicodeGlyphMap();
|
InitializeUnicodeGlyphMap();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Load the base and extra NewGRF with OTTD required graphics as first NewGRF.
|
* Load the base NewGRF with OTTD required graphics as first NewGRF.
|
||||||
* However, we do not want it to show up in the list of used NewGRFs,
|
* However, we do not want it to show up in the list of used NewGRFs,
|
||||||
* so we have to manually add it, and then remove it later.
|
* so we have to manually add it, and then remove it later.
|
||||||
*/
|
*/
|
||||||
GRFConfig *top = _grfconfig;
|
GRFConfig *top = _grfconfig;
|
||||||
|
GRFConfig *master = new GRFConfig(used_set->files[GFT_EXTRA].filename);
|
||||||
/* Default extra graphics */
|
|
||||||
GRFConfig *master = new GRFConfig("OPENTTD.GRF");
|
|
||||||
master->palette |= GRFP_GRF_DOS;
|
|
||||||
FillGRFDetails(master, false, BASESET_DIR);
|
|
||||||
ClrBit(master->flags, GCF_INIT_ONLY);
|
|
||||||
|
|
||||||
/* Baseset extra graphics */
|
|
||||||
GRFConfig *extra = new GRFConfig(used_set->files[GFT_EXTRA].filename);
|
|
||||||
|
|
||||||
/* We know the palette of the base set, so if the base NewGRF is not
|
/* We know the palette of the base set, so if the base NewGRF is not
|
||||||
* setting one, use the palette of the base set and not the global
|
* setting one, use the palette of the base set and not the global
|
||||||
* one which might be the wrong palette for this base NewGRF.
|
* one which might be the wrong palette for this base NewGRF.
|
||||||
* The value set here might be overridden via action14 later. */
|
* The value set here might be overridden via action14 later. */
|
||||||
switch (used_set->palette) {
|
switch (used_set->palette) {
|
||||||
case PAL_DOS: extra->palette |= GRFP_GRF_DOS; break;
|
case PAL_DOS: master->palette |= GRFP_GRF_DOS; break;
|
||||||
case PAL_WINDOWS: extra->palette |= GRFP_GRF_WINDOWS; break;
|
case PAL_WINDOWS: master->palette |= GRFP_GRF_WINDOWS; break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
FillGRFDetails(extra, false, BASESET_DIR);
|
FillGRFDetails(master, false, BASESET_DIR);
|
||||||
ClrBit(extra->flags, GCF_INIT_ONLY);
|
|
||||||
|
|
||||||
extra->next = top;
|
ClrBit(master->flags, GCF_INIT_ONLY);
|
||||||
master->next = extra;
|
master->next = top;
|
||||||
_grfconfig = master;
|
_grfconfig = master;
|
||||||
|
|
||||||
LoadNewGRF(SPR_NEWGRFS_BASE, i, 2);
|
LoadNewGRF(SPR_NEWGRFS_BASE, i);
|
||||||
|
|
||||||
uint total_extra_graphics = SPR_NEWGRFS_BASE - SPR_OPENTTD_BASE;
|
|
||||||
_missing_extra_graphics = GetSpriteCountForSlot(i, SPR_OPENTTD_BASE, SPR_NEWGRFS_BASE);
|
|
||||||
DEBUG(sprite, 1, "%u extra sprites, %u from baseset, %u from fallback", total_extra_graphics, total_extra_graphics - _missing_extra_graphics, _missing_extra_graphics);
|
|
||||||
|
|
||||||
/* The original baseset extra graphics intentionally make use of the fallback graphics.
|
|
||||||
* Let's say everything which provides less than 500 sprites misses the rest intentionally. */
|
|
||||||
if (500 + _missing_extra_graphics > total_extra_graphics) _missing_extra_graphics = 0;
|
|
||||||
|
|
||||||
/* Free and remove the top element. */
|
/* Free and remove the top element. */
|
||||||
delete extra;
|
|
||||||
delete master;
|
delete master;
|
||||||
_grfconfig = top;
|
_grfconfig = top;
|
||||||
}
|
}
|
||||||
@@ -290,8 +272,6 @@ static bool SwitchNewGRFBlitter()
|
|||||||
const bool animation_wanted = HasBit(_display_opt, DO_FULL_ANIMATION);
|
const bool animation_wanted = HasBit(_display_opt, DO_FULL_ANIMATION);
|
||||||
const char *cur_blitter = BlitterFactory::GetCurrentBlitter()->GetName();
|
const char *cur_blitter = BlitterFactory::GetCurrentBlitter()->GetName();
|
||||||
|
|
||||||
VideoDriver::GetInstance()->AcquireBlitterLock();
|
|
||||||
|
|
||||||
for (uint i = 0; i < lengthof(replacement_blitters); i++) {
|
for (uint i = 0; i < lengthof(replacement_blitters); i++) {
|
||||||
if (animation_wanted && (replacement_blitters[i].animation == 0)) continue;
|
if (animation_wanted && (replacement_blitters[i].animation == 0)) continue;
|
||||||
if (!animation_wanted && (replacement_blitters[i].animation == 1)) continue;
|
if (!animation_wanted && (replacement_blitters[i].animation == 1)) continue;
|
||||||
@@ -300,10 +280,7 @@ static bool SwitchNewGRFBlitter()
|
|||||||
if (!IsInsideMM(depth_wanted_by_grf, replacement_blitters[i].min_grf_depth, replacement_blitters[i].max_grf_depth + 1)) continue;
|
if (!IsInsideMM(depth_wanted_by_grf, replacement_blitters[i].min_grf_depth, replacement_blitters[i].max_grf_depth + 1)) continue;
|
||||||
const char *repl_blitter = replacement_blitters[i].name;
|
const char *repl_blitter = replacement_blitters[i].name;
|
||||||
|
|
||||||
if (strcmp(repl_blitter, cur_blitter) == 0) {
|
if (strcmp(repl_blitter, cur_blitter) == 0) return false;
|
||||||
VideoDriver::GetInstance()->ReleaseBlitterLock();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (BlitterFactory::GetBlitterFactory(repl_blitter) == NULL) continue;
|
if (BlitterFactory::GetBlitterFactory(repl_blitter) == NULL) continue;
|
||||||
|
|
||||||
DEBUG(misc, 1, "Switching blitter from '%s' to '%s'... ", cur_blitter, repl_blitter);
|
DEBUG(misc, 1, "Switching blitter from '%s' to '%s'... ", cur_blitter, repl_blitter);
|
||||||
@@ -318,8 +295,6 @@ static bool SwitchNewGRFBlitter()
|
|||||||
if (BlitterFactory::SelectBlitter(cur_blitter) == NULL || !VideoDriver::GetInstance()->AfterBlitterChange()) usererror("Failed to reinitialize video driver. Specify a fixed blitter in the config");
|
if (BlitterFactory::SelectBlitter(cur_blitter) == NULL || !VideoDriver::GetInstance()->AfterBlitterChange()) usererror("Failed to reinitialize video driver. Specify a fixed blitter in the config");
|
||||||
}
|
}
|
||||||
|
|
||||||
VideoDriver::GetInstance()->ReleaseBlitterLock();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -627,8 +627,8 @@ public:
|
|||||||
|
|
||||||
this->vehicle_sel = v->index;
|
this->vehicle_sel = v->index;
|
||||||
|
|
||||||
SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
|
int image = v->GetImage(_current_text_dir == TD_RTL ? DIR_E : DIR_W, EIT_IN_LIST);
|
||||||
SetMouseCursorVehicle(v, EIT_IN_LIST);
|
SetObjectToPlaceWnd(image, GetVehiclePalette(v), HT_DRAG, this);
|
||||||
_cursor.vehchain = true;
|
_cursor.vehchain = true;
|
||||||
|
|
||||||
this->SetDirty();
|
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
|
* If map == NULL only the size of the PNG is read, otherwise a map
|
||||||
* with grayscale pixels is allocated and assigned to *map.
|
* with grayscale pixels is allocated and assigned to *map.
|
||||||
*/
|
*/
|
||||||
static bool ReadHeightmapPNG(const char *filename, uint *x, uint *y, byte **map)
|
static bool ReadHeightmapPNG(char *filename, uint *x, uint *y, byte **map)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
png_structp png_ptr = NULL;
|
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
|
* If map == NULL only the size of the BMP is read, otherwise a map
|
||||||
* with grayscale pixels is allocated and assigned to *map.
|
* with grayscale pixels is allocated and assigned to *map.
|
||||||
*/
|
*/
|
||||||
static bool ReadHeightmapBMP(const char *filename, uint *x, uint *y, byte **map)
|
static bool ReadHeightmapBMP(char *filename, uint *x, uint *y, byte **map)
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
BmpInfo info;
|
BmpInfo info;
|
||||||
@@ -444,56 +444,45 @@ 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(DetailedFileType dft, const char *filename, uint *x, uint *y, byte **map)
|
static bool ReadHeightMap(char *filename, uint *x, uint *y, byte **map)
|
||||||
{
|
{
|
||||||
switch (dft) {
|
switch (_file_to_saveload.mode) {
|
||||||
default:
|
default: NOT_REACHED();
|
||||||
NOT_REACHED();
|
|
||||||
|
|
||||||
#ifdef WITH_PNG
|
#ifdef WITH_PNG
|
||||||
case DFT_HEIGHTMAP_PNG:
|
case SL_PNG:
|
||||||
return ReadHeightmapPNG(filename, x, y, map);
|
return ReadHeightmapPNG(filename, x, y, map);
|
||||||
#endif /* WITH_PNG */
|
#endif /* WITH_PNG */
|
||||||
|
case SL_BMP:
|
||||||
case DFT_HEIGHTMAP_BMP:
|
|
||||||
return ReadHeightmapBMP(filename, x, y, map);
|
return ReadHeightmapBMP(filename, x, y, map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the dimensions of a heightmap.
|
* Get the dimensions of a heightmap.
|
||||||
* @param dft Type of image file.
|
|
||||||
* @param filename to query
|
* @param filename to query
|
||||||
* @param x dimension x
|
* @param x dimension x
|
||||||
* @param y dimension y
|
* @param y dimension y
|
||||||
* @return Returns false if loading of the image failed.
|
* @return Returns false if loading of the image failed.
|
||||||
*/
|
*/
|
||||||
bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, uint *y)
|
bool GetHeightmapDimensions(char *filename, uint *x, uint *y)
|
||||||
{
|
{
|
||||||
return ReadHeightMap(dft, filename, x, y, NULL);
|
return ReadHeightMap(filename, x, y, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a heightmap from file and change the map in his current dimensions
|
* Load a heightmap from file and change the map in his current dimensions
|
||||||
* to a landscape representing the heightmap.
|
* to a landscape representing the heightmap.
|
||||||
* It converts pixels to height. The brighter, the higher.
|
* It converts pixels to height. The brighter, the higher.
|
||||||
* @param dft Type of image file.
|
|
||||||
* @param filename of the heightmap file to be imported
|
* @param filename of the heightmap file to be imported
|
||||||
*/
|
*/
|
||||||
void LoadHeightmap(DetailedFileType dft, const char *filename)
|
void LoadHeightmap(char *filename)
|
||||||
{
|
{
|
||||||
uint x, y;
|
uint x, y;
|
||||||
byte *map = NULL;
|
byte *map = NULL;
|
||||||
|
|
||||||
if (!ReadHeightMap(dft, filename, &x, &y, &map)) {
|
if (!ReadHeightMap(filename, &x, &y, &map)) {
|
||||||
free(map);
|
free(map);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -12,8 +12,6 @@
|
|||||||
#ifndef HEIGHTMAP_H
|
#ifndef HEIGHTMAP_H
|
||||||
#define HEIGHTMAP_H
|
#define HEIGHTMAP_H
|
||||||
|
|
||||||
#include "fileio_type.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Order of these enums has to be the same as in lang/english.txt
|
* Order of these enums has to be the same as in lang/english.txt
|
||||||
* Otherwise you will get inconsistent behaviour.
|
* Otherwise you will get inconsistent behaviour.
|
||||||
@@ -23,8 +21,8 @@ enum HeightmapRotation {
|
|||||||
HM_CLOCKWISE, ///< Rotate the map clockwise 45 degrees
|
HM_CLOCKWISE, ///< Rotate the map clockwise 45 degrees
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, uint *y);
|
bool GetHeightmapDimensions(char *filename, uint *x, uint *y);
|
||||||
void LoadHeightmap(DetailedFileType dft, const char *filename);
|
void LoadHeightmap(char *filename);
|
||||||
void FlatEmptyWorld(byte tile_height);
|
void FlatEmptyWorld(byte tile_height);
|
||||||
void FixSlopes();
|
void FixSlopes();
|
||||||
|
|
||||||
|
@@ -491,12 +491,7 @@ static CommandCost ClearTile_Industry(TileIndex tile, DoCommandFlag flags)
|
|||||||
return CommandCost(EXPENSES_CONSTRUCTION, indspec->GetRemovalCost());
|
return CommandCost(EXPENSES_CONSTRUCTION, indspec->GetRemovalCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
static void TransportIndustryGoods(TileIndex tile)
|
||||||
* Move produced cargo from industry to nearby stations.
|
|
||||||
* @param tile Industry tile
|
|
||||||
* @return true if any cargo was moved.
|
|
||||||
*/
|
|
||||||
static bool TransportIndustryGoods(TileIndex tile)
|
|
||||||
{
|
{
|
||||||
Industry *i = Industry::GetByTile(tile);
|
Industry *i = Industry::GetByTile(tile);
|
||||||
const IndustrySpec *indspec = GetIndustrySpec(i->type);
|
const IndustrySpec *indspec = GetIndustrySpec(i->type);
|
||||||
@@ -521,7 +516,16 @@ static bool TransportIndustryGoods(TileIndex tile)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return moved_cargo;
|
if (moved_cargo && !StartStopIndustryTileAnimation(i, IAT_INDUSTRY_DISTRIBUTES_CARGO)) {
|
||||||
|
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
|
||||||
|
|
||||||
|
if (newgfx != INDUSTRYTILE_NOANIM) {
|
||||||
|
ResetIndustryConstructionStage(tile);
|
||||||
|
SetIndustryCompleted(tile);
|
||||||
|
SetIndustryGfx(tile, newgfx);
|
||||||
|
MarkTileDirtyByTile(tile);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -806,17 +810,7 @@ static void TileLoop_Industry(TileIndex tile)
|
|||||||
|
|
||||||
if (_game_mode == GM_EDITOR) return;
|
if (_game_mode == GM_EDITOR) return;
|
||||||
|
|
||||||
if (TransportIndustryGoods(tile) && !StartStopIndustryTileAnimation(Industry::GetByTile(tile), IAT_INDUSTRY_DISTRIBUTES_CARGO)) {
|
TransportIndustryGoods(tile);
|
||||||
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
|
|
||||||
|
|
||||||
if (newgfx != INDUSTRYTILE_NOANIM) {
|
|
||||||
ResetIndustryConstructionStage(tile);
|
|
||||||
SetIndustryCompleted(tile);
|
|
||||||
SetIndustryGfx(tile, newgfx);
|
|
||||||
MarkTileDirtyByTile(tile);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (StartStopIndustryTileAnimation(tile, IAT_TILELOOP)) return;
|
if (StartStopIndustryTileAnimation(tile, IAT_TILELOOP)) return;
|
||||||
|
|
||||||
@@ -1389,7 +1383,7 @@ static CommandCost CheckIfIndustryTilesAreFree(TileIndex tile, const IndustryTil
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (gfx == GFX_WATERTILE_SPECIALCHECK) {
|
if (gfx == GFX_WATERTILE_SPECIALCHECK) {
|
||||||
if (!IsWaterTile(cur_tile) ||
|
if (!IsTileType(cur_tile, MP_WATER) ||
|
||||||
!IsTileFlat(cur_tile)) {
|
!IsTileFlat(cur_tile)) {
|
||||||
return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
|
return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
|
||||||
}
|
}
|
||||||
|
@@ -56,20 +56,6 @@ enum CargoSuffixType {
|
|||||||
CST_DIR, ///< Industry-directory window
|
CST_DIR, ///< Industry-directory window
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Ways of displaying the cargo. */
|
|
||||||
enum CargoSuffixDisplay {
|
|
||||||
CSD_CARGO, ///< Display the cargo without sub-type (cb37 result 401).
|
|
||||||
CSD_CARGO_AMOUNT, ///< Display the cargo and amount (if useful), but no sub-type (cb37 result 400 or fail).
|
|
||||||
CSD_CARGO_TEXT, ///< Display then cargo and supplied string (cb37 result 800-BFF).
|
|
||||||
CSD_CARGO_AMOUNT_TEXT, ///< Display then cargo, amount, and string (cb37 result 000-3FF).
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Transfer storage of cargo suffix information. */
|
|
||||||
struct CargoSuffix {
|
|
||||||
CargoSuffixDisplay display; ///< How to display the cargo and text.
|
|
||||||
char text[512]; ///< Cargo suffix text.
|
|
||||||
};
|
|
||||||
|
|
||||||
static void ShowIndustryCargoesWindow(IndustryType id);
|
static void ShowIndustryCargoesWindow(IndustryType id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -85,51 +71,20 @@ static void ShowIndustryCargoesWindow(IndustryType id);
|
|||||||
* @param ind_type the industry type
|
* @param ind_type the industry type
|
||||||
* @param indspec the industry spec
|
* @param indspec the industry spec
|
||||||
* @param suffix is filled with the string to display
|
* @param suffix is filled with the string to display
|
||||||
|
* @param suffix_last lastof(suffix)
|
||||||
*/
|
*/
|
||||||
static void GetCargoSuffix(uint cargo, CargoSuffixType cst, const Industry *ind, IndustryType ind_type, const IndustrySpec *indspec, CargoSuffix &suffix)
|
static void GetCargoSuffix(uint cargo, CargoSuffixType cst, const Industry *ind, IndustryType ind_type, const IndustrySpec *indspec, char *suffix, const char *suffix_last)
|
||||||
{
|
{
|
||||||
suffix.text[0] = '\0';
|
suffix[0] = '\0';
|
||||||
suffix.display = CSD_CARGO_AMOUNT;
|
|
||||||
|
|
||||||
if (HasBit(indspec->callback_mask, CBM_IND_CARGO_SUFFIX)) {
|
if (HasBit(indspec->callback_mask, CBM_IND_CARGO_SUFFIX)) {
|
||||||
TileIndex t = (cst != CST_FUND) ? ind->location.tile : INVALID_TILE;
|
uint16 callback = GetIndustryCallback(CBID_INDUSTRY_CARGO_SUFFIX, 0, (cst << 8) | cargo, const_cast<Industry *>(ind), ind_type, (cst != CST_FUND) ? ind->location.tile : INVALID_TILE);
|
||||||
uint16 callback = GetIndustryCallback(CBID_INDUSTRY_CARGO_SUFFIX, 0, (cst << 8) | cargo, const_cast<Industry *>(ind), ind_type, t);
|
if (callback == CALLBACK_FAILED || callback == 0x400) return;
|
||||||
if (callback == CALLBACK_FAILED) return;
|
if (callback > 0x400) {
|
||||||
|
|
||||||
if (indspec->grf_prop.grffile->grf_version < 8) {
|
|
||||||
if (GB(callback, 0, 8) == 0xFF) return;
|
|
||||||
if (callback < 0x400) {
|
|
||||||
StartTextRefStackUsage(indspec->grf_prop.grffile, 6);
|
|
||||||
GetString(suffix.text, GetGRFStringID(indspec->grf_prop.grffile->grfid, 0xD000 + callback), lastof(suffix.text));
|
|
||||||
StopTextRefStackUsage();
|
|
||||||
suffix.display = CSD_CARGO_AMOUNT_TEXT;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_CARGO_SUFFIX, callback);
|
ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_CARGO_SUFFIX, callback);
|
||||||
return;
|
} else if (indspec->grf_prop.grffile->grf_version >= 8 || GB(callback, 0, 8) != 0xFF) {
|
||||||
|
StartTextRefStackUsage(indspec->grf_prop.grffile, 6);
|
||||||
} else { // GRF version 8 or higher.
|
GetString(suffix, GetGRFStringID(indspec->grf_prop.grffile->grfid, 0xD000 + callback), suffix_last);
|
||||||
if (callback == 0x400) return;
|
StopTextRefStackUsage();
|
||||||
if (callback == 0x401) {
|
|
||||||
suffix.display = CSD_CARGO;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (callback < 0x400) {
|
|
||||||
StartTextRefStackUsage(indspec->grf_prop.grffile, 6);
|
|
||||||
GetString(suffix.text, GetGRFStringID(indspec->grf_prop.grffile->grfid, 0xD000 + callback), lastof(suffix.text));
|
|
||||||
StopTextRefStackUsage();
|
|
||||||
suffix.display = CSD_CARGO_AMOUNT_TEXT;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (callback >= 0x800 && callback < 0xC00) {
|
|
||||||
StartTextRefStackUsage(indspec->grf_prop.grffile, 6);
|
|
||||||
GetString(suffix.text, GetGRFStringID(indspec->grf_prop.grffile->grfid, 0xD000 - 0x800 + callback), lastof(suffix.text));
|
|
||||||
StopTextRefStackUsage();
|
|
||||||
suffix.display = CSD_CARGO_TEXT;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_CARGO_SUFFIX, callback);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -150,9 +105,9 @@ static inline void GetAllCargoSuffixes(uint cb_offset, CargoSuffixType cst, cons
|
|||||||
assert_compile(lengthof(cargoes) <= lengthof(suffixes));
|
assert_compile(lengthof(cargoes) <= lengthof(suffixes));
|
||||||
for (uint j = 0; j < lengthof(cargoes); j++) {
|
for (uint j = 0; j < lengthof(cargoes); j++) {
|
||||||
if (cargoes[j] != CT_INVALID) {
|
if (cargoes[j] != CT_INVALID) {
|
||||||
GetCargoSuffix(cb_offset + j, cst, ind, ind_type, indspec, suffixes[j]);
|
GetCargoSuffix(cb_offset + j, cst, ind, ind_type, indspec, suffixes[j], lastof(suffixes[j]));
|
||||||
} else {
|
} else {
|
||||||
suffixes[j].text[0] = '\0';
|
suffixes[j][0] = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -358,7 +313,7 @@ public:
|
|||||||
|
|
||||||
const IndustrySpec *indsp = GetIndustrySpec(this->index[i]);
|
const IndustrySpec *indsp = GetIndustrySpec(this->index[i]);
|
||||||
|
|
||||||
CargoSuffix cargo_suffix[3];
|
char cargo_suffix[3][512];
|
||||||
GetAllCargoSuffixes(0, CST_FUND, NULL, this->index[i], indsp, indsp->accepts_cargo, cargo_suffix);
|
GetAllCargoSuffixes(0, CST_FUND, NULL, this->index[i], indsp, indsp->accepts_cargo, cargo_suffix);
|
||||||
StringID str = STR_INDUSTRY_VIEW_REQUIRES_CARGO;
|
StringID str = STR_INDUSTRY_VIEW_REQUIRES_CARGO;
|
||||||
byte p = 0;
|
byte p = 0;
|
||||||
@@ -368,7 +323,7 @@ public:
|
|||||||
if (indsp->accepts_cargo[j] == CT_INVALID) continue;
|
if (indsp->accepts_cargo[j] == CT_INVALID) continue;
|
||||||
if (p > 0) str++;
|
if (p > 0) str++;
|
||||||
SetDParam(p++, CargoSpec::Get(indsp->accepts_cargo[j])->name);
|
SetDParam(p++, CargoSpec::Get(indsp->accepts_cargo[j])->name);
|
||||||
SetDParamStr(p++, cargo_suffix[j].text);
|
SetDParamStr(p++, cargo_suffix[j]);
|
||||||
}
|
}
|
||||||
d = maxdim(d, GetStringBoundingBox(str));
|
d = maxdim(d, GetStringBoundingBox(str));
|
||||||
|
|
||||||
@@ -382,7 +337,7 @@ public:
|
|||||||
if (indsp->produced_cargo[j] == CT_INVALID) continue;
|
if (indsp->produced_cargo[j] == CT_INVALID) continue;
|
||||||
if (p > 0) str++;
|
if (p > 0) str++;
|
||||||
SetDParam(p++, CargoSpec::Get(indsp->produced_cargo[j])->name);
|
SetDParam(p++, CargoSpec::Get(indsp->produced_cargo[j])->name);
|
||||||
SetDParamStr(p++, cargo_suffix[j].text);
|
SetDParamStr(p++, cargo_suffix[j]);
|
||||||
}
|
}
|
||||||
d = maxdim(d, GetStringBoundingBox(str));
|
d = maxdim(d, GetStringBoundingBox(str));
|
||||||
}
|
}
|
||||||
@@ -477,7 +432,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Draw the accepted cargoes, if any. Otherwise, will print "Nothing". */
|
/* Draw the accepted cargoes, if any. Otherwise, will print "Nothing". */
|
||||||
CargoSuffix cargo_suffix[3];
|
char cargo_suffix[3][512];
|
||||||
GetAllCargoSuffixes(0, CST_FUND, NULL, this->selected_type, indsp, indsp->accepts_cargo, cargo_suffix);
|
GetAllCargoSuffixes(0, CST_FUND, NULL, this->selected_type, indsp, indsp->accepts_cargo, cargo_suffix);
|
||||||
StringID str = STR_INDUSTRY_VIEW_REQUIRES_CARGO;
|
StringID str = STR_INDUSTRY_VIEW_REQUIRES_CARGO;
|
||||||
byte p = 0;
|
byte p = 0;
|
||||||
@@ -487,7 +442,7 @@ public:
|
|||||||
if (indsp->accepts_cargo[j] == CT_INVALID) continue;
|
if (indsp->accepts_cargo[j] == CT_INVALID) continue;
|
||||||
if (p > 0) str++;
|
if (p > 0) str++;
|
||||||
SetDParam(p++, CargoSpec::Get(indsp->accepts_cargo[j])->name);
|
SetDParam(p++, CargoSpec::Get(indsp->accepts_cargo[j])->name);
|
||||||
SetDParamStr(p++, cargo_suffix[j].text);
|
SetDParamStr(p++, cargo_suffix[j]);
|
||||||
}
|
}
|
||||||
DrawString(left, right, y, str);
|
DrawString(left, right, y, str);
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
@@ -502,7 +457,7 @@ public:
|
|||||||
if (indsp->produced_cargo[j] == CT_INVALID) continue;
|
if (indsp->produced_cargo[j] == CT_INVALID) continue;
|
||||||
if (p > 0) str++;
|
if (p > 0) str++;
|
||||||
SetDParam(p++, CargoSpec::Get(indsp->produced_cargo[j])->name);
|
SetDParam(p++, CargoSpec::Get(indsp->produced_cargo[j])->name);
|
||||||
SetDParamStr(p++, cargo_suffix[j].text);
|
SetDParamStr(p++, cargo_suffix[j]);
|
||||||
}
|
}
|
||||||
DrawString(left, right, y, str);
|
DrawString(left, right, y, str);
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
@@ -758,57 +713,44 @@ public:
|
|||||||
int y = top + WD_FRAMERECT_TOP;
|
int y = top + WD_FRAMERECT_TOP;
|
||||||
bool first = true;
|
bool first = true;
|
||||||
bool has_accept = false;
|
bool has_accept = false;
|
||||||
|
char cargo_suffix[3][512];
|
||||||
|
|
||||||
if (i->prod_level == PRODLEVEL_CLOSURE) {
|
if (i->prod_level == PRODLEVEL_CLOSURE) {
|
||||||
DrawString(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE);
|
DrawString(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE);
|
||||||
y += 2 * FONT_HEIGHT_NORMAL;
|
y += 2 * FONT_HEIGHT_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
CargoSuffix cargo_suffix[3];
|
if (HasBit(ind->callback_mask, CBM_IND_PRODUCTION_CARGO_ARRIVAL) || HasBit(ind->callback_mask, CBM_IND_PRODUCTION_256_TICKS)) {
|
||||||
GetAllCargoSuffixes(0, CST_VIEW, i, i->type, ind, i->accepts_cargo, cargo_suffix);
|
GetAllCargoSuffixes(0, CST_VIEW, i, i->type, ind, i->accepts_cargo, cargo_suffix);
|
||||||
bool stockpiling = HasBit(ind->callback_mask, CBM_IND_PRODUCTION_CARGO_ARRIVAL) || HasBit(ind->callback_mask, CBM_IND_PRODUCTION_256_TICKS);
|
for (byte j = 0; j < lengthof(i->accepts_cargo); j++) {
|
||||||
|
if (i->accepts_cargo[j] == CT_INVALID) continue;
|
||||||
uint left_side = left + WD_FRAMERECT_LEFT * 4; // Indent accepted cargoes.
|
has_accept = true;
|
||||||
for (byte j = 0; j < lengthof(i->accepts_cargo); j++) {
|
if (first) {
|
||||||
if (i->accepts_cargo[j] == CT_INVALID) continue;
|
DrawString(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING);
|
||||||
has_accept = true;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
if (first) {
|
first = false;
|
||||||
DrawString(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_REQUIRES);
|
}
|
||||||
|
SetDParam(0, i->accepts_cargo[j]);
|
||||||
|
SetDParam(1, i->incoming_cargo_waiting[j]);
|
||||||
|
SetDParamStr(2, cargo_suffix[j]);
|
||||||
|
DrawString(left + WD_FRAMETEXT_LEFT, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO);
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
first = false;
|
|
||||||
}
|
}
|
||||||
switch (cargo_suffix[j].display) {
|
} else {
|
||||||
case CSD_CARGO_AMOUNT:
|
GetAllCargoSuffixes(0, CST_VIEW, i, i->type, ind, i->accepts_cargo, cargo_suffix);
|
||||||
if (stockpiling) {
|
StringID str = STR_INDUSTRY_VIEW_REQUIRES_CARGO;
|
||||||
SetDParam(0, i->accepts_cargo[j]);
|
byte p = 0;
|
||||||
SetDParam(1, i->incoming_cargo_waiting[j]);
|
for (byte j = 0; j < lengthof(i->accepts_cargo); j++) {
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT);
|
if (i->accepts_cargo[j] == CT_INVALID) continue;
|
||||||
break;
|
has_accept = true;
|
||||||
}
|
if (p > 0) str++;
|
||||||
/* FALL THROUGH */
|
SetDParam(p++, CargoSpec::Get(i->accepts_cargo[j])->name);
|
||||||
|
SetDParamStr(p++, cargo_suffix[j]);
|
||||||
case CSD_CARGO:
|
}
|
||||||
SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name);
|
if (has_accept) {
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO);
|
DrawString(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, y, str);
|
||||||
break;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
|
|
||||||
case CSD_CARGO_TEXT:
|
|
||||||
SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name);
|
|
||||||
SetDParamStr(1, cargo_suffix[j].text);
|
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CSD_CARGO_AMOUNT_TEXT:
|
|
||||||
SetDParam(0, i->accepts_cargo[j]);
|
|
||||||
SetDParam(1, i->incoming_cargo_waiting[j]);
|
|
||||||
SetDParamStr(2, cargo_suffix[j].text);
|
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
NOT_REACHED();
|
|
||||||
}
|
}
|
||||||
y += FONT_HEIGHT_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GetAllCargoSuffixes(3, CST_VIEW, i, i->type, ind, i->produced_cargo, cargo_suffix);
|
GetAllCargoSuffixes(3, CST_VIEW, i, i->type, ind, i->produced_cargo, cargo_suffix);
|
||||||
@@ -825,7 +767,7 @@ public:
|
|||||||
|
|
||||||
SetDParam(0, i->produced_cargo[j]);
|
SetDParam(0, i->produced_cargo[j]);
|
||||||
SetDParam(1, i->last_month_production[j]);
|
SetDParam(1, i->last_month_production[j]);
|
||||||
SetDParamStr(2, cargo_suffix[j].text);
|
SetDParamStr(2, cargo_suffix[j]);
|
||||||
SetDParam(3, ToPercent8(i->last_month_pct_transported[j]));
|
SetDParam(3, ToPercent8(i->last_month_pct_transported[j]));
|
||||||
uint x = left + WD_FRAMETEXT_LEFT + (this->editable == EA_RATE ? SETTING_BUTTON_WIDTH + 10 : 0);
|
uint x = left + WD_FRAMETEXT_LEFT + (this->editable == EA_RATE ? SETTING_BUTTON_WIDTH + 10 : 0);
|
||||||
DrawString(x, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_TRANSPORTED);
|
DrawString(x, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_TRANSPORTED);
|
||||||
@@ -1262,7 +1204,7 @@ protected:
|
|||||||
/* Industry name */
|
/* Industry name */
|
||||||
SetDParam(p++, i->index);
|
SetDParam(p++, i->index);
|
||||||
|
|
||||||
static CargoSuffix cargo_suffix[lengthof(i->produced_cargo)];
|
static char cargo_suffix[lengthof(i->produced_cargo)][512];
|
||||||
GetAllCargoSuffixes(3, CST_DIR, i, i->type, indsp, i->produced_cargo, cargo_suffix);
|
GetAllCargoSuffixes(3, CST_DIR, i, i->type, indsp, i->produced_cargo, cargo_suffix);
|
||||||
|
|
||||||
/* Industry productions */
|
/* Industry productions */
|
||||||
@@ -1270,7 +1212,7 @@ protected:
|
|||||||
if (i->produced_cargo[j] == CT_INVALID) continue;
|
if (i->produced_cargo[j] == CT_INVALID) continue;
|
||||||
SetDParam(p++, i->produced_cargo[j]);
|
SetDParam(p++, i->produced_cargo[j]);
|
||||||
SetDParam(p++, i->last_month_production[j]);
|
SetDParam(p++, i->last_month_production[j]);
|
||||||
SetDParamStr(p++, cargo_suffix[j].text);
|
SetDParamStr(p++, cargo_suffix[j]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Transported productions */
|
/* Transported productions */
|
||||||
|
@@ -60,21 +60,13 @@ struct SelectGameWindow : public Window {
|
|||||||
|
|
||||||
virtual void OnInit()
|
virtual void OnInit()
|
||||||
{
|
{
|
||||||
bool missing_sprites = _missing_extra_graphics > 0 && !IsReleasedVersion();
|
bool missing = _current_language->missing >= _settings_client.gui.missing_strings_threshold && !IsReleasedVersion();
|
||||||
this->GetWidget<NWidgetStacked>(WID_SGI_BASESET_SELECTION)->SetDisplayedPlane(missing_sprites ? 0 : SZSP_NONE);
|
this->GetWidget<NWidgetStacked>(WID_SGI_TRANSLATION_SELECTION)->SetDisplayedPlane(missing ? 0 : SZSP_NONE);
|
||||||
|
|
||||||
bool missing_lang = _current_language->missing >= _settings_client.gui.missing_strings_threshold && !IsReleasedVersion();
|
|
||||||
this->GetWidget<NWidgetStacked>(WID_SGI_TRANSLATION_SELECTION)->SetDisplayedPlane(missing_lang ? 0 : SZSP_NONE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void DrawWidget(const Rect &r, int widget) const
|
virtual void DrawWidget(const Rect &r, int widget) const
|
||||||
{
|
{
|
||||||
switch (widget) {
|
switch (widget) {
|
||||||
case WID_SGI_BASESET:
|
|
||||||
SetDParam(0, _missing_extra_graphics);
|
|
||||||
DrawStringMultiLine(r.left, r.right, r.top, r.bottom, STR_INTRO_BASESET, TC_FROMSTRING, SA_CENTER);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WID_SGI_TRANSLATION:
|
case WID_SGI_TRANSLATION:
|
||||||
SetDParam(0, _current_language->missing);
|
SetDParam(0, _current_language->missing);
|
||||||
DrawStringMultiLine(r.left, r.right, r.top, r.bottom, STR_INTRO_TRANSLATION, TC_FROMSTRING, SA_CENTER);
|
DrawStringMultiLine(r.left, r.right, r.top, r.bottom, STR_INTRO_TRANSLATION, TC_FROMSTRING, SA_CENTER);
|
||||||
@@ -84,29 +76,20 @@ struct SelectGameWindow : public Window {
|
|||||||
|
|
||||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||||
{
|
{
|
||||||
StringID str = 0;
|
|
||||||
switch (widget) {
|
switch (widget) {
|
||||||
case WID_SGI_BASESET:
|
case WID_SGI_TRANSLATION: {
|
||||||
SetDParam(0, _missing_extra_graphics);
|
|
||||||
str = STR_INTRO_BASESET;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WID_SGI_TRANSLATION:
|
|
||||||
SetDParam(0, _current_language->missing);
|
SetDParam(0, _current_language->missing);
|
||||||
str = STR_INTRO_TRANSLATION;
|
int height = GetStringHeight(STR_INTRO_TRANSLATION, size->width);
|
||||||
|
if (height > 3 * FONT_HEIGHT_NORMAL) {
|
||||||
|
/* Don't let the window become too high. */
|
||||||
|
Dimension textdim = GetStringBoundingBox(STR_INTRO_TRANSLATION);
|
||||||
|
textdim.height *= 3;
|
||||||
|
textdim.width -= textdim.width / 2;
|
||||||
|
*size = maxdim(*size, textdim);
|
||||||
|
} else {
|
||||||
|
size->height = height + padding.height;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
if (str != 0) {
|
|
||||||
int height = GetStringHeight(str, size->width);
|
|
||||||
if (height > 3 * FONT_HEIGHT_NORMAL) {
|
|
||||||
/* Don't let the window become too high. */
|
|
||||||
Dimension textdim = GetStringBoundingBox(str);
|
|
||||||
textdim.height *= 3;
|
|
||||||
textdim.width -= textdim.width / 2;
|
|
||||||
*size = maxdim(*size, textdim);
|
|
||||||
} else {
|
|
||||||
size->height = height + padding.height;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -128,9 +111,9 @@ struct SelectGameWindow : public Window {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WID_SGI_LOAD_GAME: ShowSaveLoadDialog(FT_SAVEGAME, SLO_LOAD); break;
|
case WID_SGI_LOAD_GAME: ShowSaveLoadDialog(SLD_LOAD_GAME); break;
|
||||||
case WID_SGI_PLAY_SCENARIO: ShowSaveLoadDialog(FT_SCENARIO, SLO_LOAD); break;
|
case WID_SGI_PLAY_SCENARIO: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break;
|
||||||
case WID_SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(FT_HEIGHTMAP,SLO_LOAD); break;
|
case WID_SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break;
|
||||||
case WID_SGI_EDIT_SCENARIO: StartScenarioEditor(); break;
|
case WID_SGI_EDIT_SCENARIO: StartScenarioEditor(); break;
|
||||||
|
|
||||||
case WID_SGI_PLAY_NETWORK:
|
case WID_SGI_PLAY_NETWORK:
|
||||||
@@ -216,11 +199,6 @@ static const NWidgetPart _nested_select_game_widgets[] = {
|
|||||||
EndContainer(),
|
EndContainer(),
|
||||||
|
|
||||||
NWidget(NWID_SPACER), SetMinimalSize(0, 7),
|
NWidget(NWID_SPACER), SetMinimalSize(0, 7),
|
||||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SGI_BASESET_SELECTION),
|
|
||||||
NWidget(NWID_VERTICAL),
|
|
||||||
NWidget(WWT_EMPTY, COLOUR_ORANGE, WID_SGI_BASESET), SetMinimalSize(316, 12), SetFill(1, 0), SetPadding(0, 10, 7, 10),
|
|
||||||
EndContainer(),
|
|
||||||
EndContainer(),
|
|
||||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SGI_TRANSLATION_SELECTION),
|
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SGI_TRANSLATION_SELECTION),
|
||||||
NWidget(NWID_VERTICAL),
|
NWidget(NWID_VERTICAL),
|
||||||
NWidget(WWT_EMPTY, COLOUR_ORANGE, WID_SGI_TRANSLATION), SetMinimalSize(316, 12), SetFill(1, 0), SetPadding(0, 10, 7, 10),
|
NWidget(WWT_EMPTY, COLOUR_ORANGE, WID_SGI_TRANSLATION), SetMinimalSize(316, 12), SetFill(1, 0), SetPadding(0, 10, 7, 10),
|
||||||
|
@@ -31,7 +31,6 @@
|
|||||||
#include "object_base.h"
|
#include "object_base.h"
|
||||||
#include "company_func.h"
|
#include "company_func.h"
|
||||||
#include "pathfinder/npf/aystar.h"
|
#include "pathfinder/npf/aystar.h"
|
||||||
#include "saveload/saveload.h"
|
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
@@ -1222,7 +1221,7 @@ void GenerateLandscape(byte mode)
|
|||||||
|
|
||||||
if (mode == GWM_HEIGHTMAP) {
|
if (mode == GWM_HEIGHTMAP) {
|
||||||
SetGeneratingWorldProgress(GWP_LANDSCAPE, steps + GLS_HEIGHTMAP);
|
SetGeneratingWorldProgress(GWP_LANDSCAPE, steps + GLS_HEIGHTMAP);
|
||||||
LoadHeightmap(_file_to_saveload.detail_ftype, _file_to_saveload.name);
|
LoadHeightmap(_file_to_saveload.name);
|
||||||
IncreaseGeneratingWorldProgress(GWP_LANDSCAPE);
|
IncreaseGeneratingWorldProgress(GWP_LANDSCAPE);
|
||||||
} else if (_settings_game.game_creation.land_generator == LG_TERRAGENESIS) {
|
} else if (_settings_game.game_creation.land_generator == LG_TERRAGENESIS) {
|
||||||
SetGeneratingWorldProgress(GWP_LANDSCAPE, steps + GLS_TERRAGENESIS);
|
SetGeneratingWorldProgress(GWP_LANDSCAPE, steps + GLS_TERRAGENESIS);
|
||||||
|
@@ -2602,29 +2602,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Velde
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Sneeu-bedekte land
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Sneeu-bedekte land
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Woestyn
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Woestyn
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Spoorweg spoor
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} spoor
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Spoorweg spoor met blok seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} spoor met blok seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Spoorweg spoor met voor-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} spoor met voor-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Spoorweg spoor met uitgang-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} spoor met uitgang-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Spoorweg spoor met kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} spoor met kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Spoorweg spoor met roete seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} spoor met roete seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Spoorweg spoor met een-rigting pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} spoor met een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Spoorweg spoor met blok en voor-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} spoor met blok en voor-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Spoorweg spoor met blok en uitgang-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} spoor met blok en uitgang-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Spoorweg spoor met blok en kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} spoor met blok en kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Spoorweg spoor met blok en pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} spoor met blok en pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Spoorweg spoor met blok en een-rigting pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} spoor met blok en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Spoorweg spoor met voor en uitgang seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} spoor met voor en uitgang seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Spoorweg spoor met voor en kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} spoor met voor en kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Spoorweg spoor met voor en pad-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} spoor met voor en pad-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Spoorweg spoor met voor en een-rigting pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} spoor met voor en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Spoorweg spoor met uitgang en kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} spoor met uitgang en kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Spoorweg spoor met uitgang en pad-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} spoor met uitgang en pad-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Spoorweg spoor met uitgang en een-rigting pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} spoor met uitgang en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Spoorweg spoor met kombinasie en pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} spoor met kombinasie en pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Spoorweg spoor met kombinasie en eenrigting-pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} spoor met kombinasie en eenrigting-pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Spoorweg spoor met pad en een-rigting pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} spoor met pad en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Spoorweg trein diensstasie
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} trein diensstasie
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Pad
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Pad
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Pad met straatligte
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Pad met straatligte
|
||||||
@@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Die OpenTTD span
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Die OpenTTD span
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel
|
||||||
@@ -2907,6 +2907,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Poging on 'n on
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} bevat 'n korrupte prent. Korrupte prente sal as 'n rooi vraagteken gewys word (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} bevat 'n korrupte prent. Korrupte prente sal as 'n rooi vraagteken gewys word (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Bevat veelvoudige Aksie 8 inskrywings (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Bevat veelvoudige Aksie 8 inskrywings (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Lees verby die einde van die pseudo-sprite (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Lees verby die einde van die pseudo-sprite (sprite {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :WHITE}Die huidige basis-grafikastel ontbreek sommige sprites.{}Opdateer die basis-grafikastel.
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Die huidige basis-grafikastel ontbreek sommige sprites.{}Opdateer die basis-grafikastel.{}Aangesien jy 'n {YELLOW}ontwikkelingsweergawe van OpenTTD{WHITE} het, mag jy dalk 'n {YELLOW}ontwikkelingsweergawe{WHITE} van die basis-grafikastel benodig{WHITE}
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Aangevraagde GRF hulpbronne is nie beskikbaar nie (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Aangevraagde GRF hulpbronne is nie beskikbaar nie (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was gedeaktiveer deur {2:STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was gedeaktiveer deur {2:STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ongeldige/onbekende sprite uitleg formaat (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ongeldige/onbekende sprite uitleg formaat (sprite {3:NUM})
|
||||||
@@ -3293,8 +3295,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Vereis:
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vereis: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vereis: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Vrag wag om geprosesseer te word:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produseer: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produseer: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produseer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produseer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3555,6 +3558,7 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} waneer
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Staak vervanging
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Staak vervanging
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Druk om die vervanging van die linker gekose enjin tipe te stop
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Druk om die vervanging van die linker gekose enjin tipe te stop
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Vervang: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skakel tussen enjin en wa vervang vensters
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skakel tussen enjin en wa vervang vensters
|
||||||
STR_REPLACE_ENGINES :Enjin
|
STR_REPLACE_ENGINES :Enjin
|
||||||
STR_REPLACE_WAGONS :Waens
|
STR_REPLACE_WAGONS :Waens
|
||||||
|
@@ -942,8 +942,8 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}دقة
|
|||||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اختر دقة الشاشة
|
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اختر دقة الشاشة
|
||||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :اخرى
|
STR_GAME_OPTIONS_RESOLUTION_OTHER :اخرى
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}حجم اللوحة
|
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :حجم اللوحة
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}حدد العنصر المطلوب
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :حدد العنصر المطلوب
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :تقريب عادي
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :تقريب عادي
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :تقريب ×2
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :تقريب ×2
|
||||||
@@ -1051,9 +1051,9 @@ STR_CITY_APPROVAL_HOSTILE :معاد
|
|||||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}لايوجد ذكاء اصطناعي متاح ...{}تستطيع تجميل العديد من الذكاء الاصطناعي عن طريق اللانترنت
|
STR_WARNING_NO_SUITABLE_AI :{WHITE}لايوجد ذكاء اصطناعي متاح ...{}تستطيع تجميل العديد من الذكاء الاصطناعي عن طريق اللانترنت
|
||||||
|
|
||||||
# Settings tree window
|
# Settings tree window
|
||||||
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}الإعدادات
|
STR_CONFIG_SETTING_TREE_CAPTION :الإعدادات
|
||||||
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}مدد الكل
|
STR_CONFIG_SETTING_EXPAND_ALL :مدد الكل
|
||||||
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}إسحب الكل
|
STR_CONFIG_SETTING_COLLAPSE_ALL :إسحب الكل
|
||||||
|
|
||||||
STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK} فئة:
|
STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK} فئة:
|
||||||
STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}نوع:
|
STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}نوع:
|
||||||
@@ -1408,7 +1408,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}لعب
|
|||||||
|
|
||||||
STR_INTRO_GAME_OPTIONS :{BLACK}إعدادات اللعبه
|
STR_INTRO_GAME_OPTIONS :{BLACK}إعدادات اللعبه
|
||||||
STR_INTRO_HIGHSCORE :{BLACK}قائمه المتفوقين
|
STR_INTRO_HIGHSCORE :{BLACK}قائمه المتفوقين
|
||||||
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}الاعدادات
|
STR_INTRO_CONFIG_SETTINGS_TREE :الاعدادات
|
||||||
STR_INTRO_NEWGRF_SETTINGS :{BLACK} اعدادات NewGRF
|
STR_INTRO_NEWGRF_SETTINGS :{BLACK} اعدادات NewGRF
|
||||||
STR_INTRO_ONLINE_CONTENT :{BLACK} إبحث عن المحتوى عبر الشبكه العنكبوتيه
|
STR_INTRO_ONLINE_CONTENT :{BLACK} إبحث عن المحتوى عبر الشبكه العنكبوتيه
|
||||||
STR_INTRO_SCRIPT_SETTINGS :{BLACK}إعدادات الذكاء الصناعى
|
STR_INTRO_SCRIPT_SETTINGS :{BLACK}إعدادات الذكاء الصناعى
|
||||||
@@ -1427,7 +1427,7 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}اختي
|
|||||||
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}اختيار نمط الألعاب
|
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}اختيار نمط الألعاب
|
||||||
|
|
||||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}عرض خيارات اللعبة
|
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}عرض خيارات اللعبة
|
||||||
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}إعدادات العرض
|
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :إعدادات العرض
|
||||||
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}عرض إعدادات اﻹضافات
|
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}عرض إعدادات اﻹضافات
|
||||||
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} ابحث عن محتوى جديد او تحديث
|
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} ابحث عن محتوى جديد او تحديث
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}اغلاق'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}اغلاق'OpenTTD'
|
||||||
@@ -2234,29 +2234,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :حقول
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :ارض ثلجية
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :ارض ثلجية
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :صحراء
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :صحراء
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :سكة حديد مسار
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} مسار
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :سكة حديد مسار مع اشارة اغلاق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} مسار مع اشارة اغلاق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :سكة حديد مسار مع اشارة مبتدئة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} مسار مع اشارة مبتدئة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :سكة حديد سكة حديد مع اشارة خروج
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} سكة حديد مع اشارة خروج
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} سكة حديد مع اشارة مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :سكة حديد سكة حديد مع اشارة طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} سكة حديد مع اشارة طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة اتجاة واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة اتجاة واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :سكة حديد سكة حديد مع اشارة توقف و اشارة مبتدئة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} سكة حديد مع اشارة توقف و اشارة مبتدئة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :سكة حديد سكة حديد مع اشارة توقف و خروج
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} سكة حديد مع اشارة توقف و خروج
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة توقف و مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} سكة حديد مع اشارة توقف و مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :سكة حديد سكة حديد مع اشارة اغلاق و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} سكة حديد مع اشارة اغلاق و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة اغلاق و طريق باتجاة واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة اغلاق و طريق باتجاة واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و اشارة خروج
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و اشارة خروج
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و اشارة مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و اشارة مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و اتجاة و احد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و اتجاة و احد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة خروج و مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} سكة حديد مع اشارة خروج و مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :سكة حديد سكة حديد مع اشارة خروج و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} سكة حديد مع اشارة خروج و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة خروج و اتجاة واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة خروج و اتجاة واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :سكة حديد سكة حديد مع اشارة مزدوجة و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} سكة حديد مع اشارة مزدوجة و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة مزدوجة و طريق باتجاه واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة مزدوجة و طريق باتجاه واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة طريق و اتجاة و احد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة طريق و اتجاة و احد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :سكة حديد مستودع صيانة قطارات
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} مستودع صيانة قطارات
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :طريق
|
STR_LAI_ROAD_DESCRIPTION_ROAD :طريق
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :طريق مضاء
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :طريق مضاء
|
||||||
@@ -2320,7 +2320,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
||||||
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2017 فريق النسخة المفتوحة
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2016 فريق النسخة المفتوحة
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة
|
||||||
@@ -2383,7 +2383,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}اسم
|
|||||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}الحجم:
|
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}الحجم:
|
||||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM}
|
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM}
|
||||||
|
|
||||||
STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}تغيير أعلى ارتفاع للخريطة
|
STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :تغيير أعلى ارتفاع للخريطة
|
||||||
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}غير مستوى خط الثلج
|
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}غير مستوى خط الثلج
|
||||||
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}غير سنة البداية
|
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}غير سنة البداية
|
||||||
|
|
||||||
@@ -2463,7 +2463,7 @@ STR_NEWGRF_SETTINGS_DISABLED :{RED}معطل
|
|||||||
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}متعارض مع هذا اللإصدار من Openttd
|
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}متعارض مع هذا اللإصدار من Openttd
|
||||||
|
|
||||||
# NewGRF save preset window
|
# NewGRF save preset window
|
||||||
STR_SAVE_PRESET_CAPTION :{WHITE}حفظ الإعداد المسبق
|
STR_SAVE_PRESET_CAPTION :{BLACK}حفظ الإعداد المسبق
|
||||||
STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}لائحة الإعدادات المسبقة. اختر واحدة لنسخها للإسم المحفوظ بالإسفل
|
STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}لائحة الإعدادات المسبقة. اختر واحدة لنسخها للإسم المحفوظ بالإسفل
|
||||||
STR_SAVE_PRESET_TITLE :{BLACK}أدخل اسم للإعداد المسبق
|
STR_SAVE_PRESET_TITLE :{BLACK}أدخل اسم للإعداد المسبق
|
||||||
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}الإسم المختار لحفظ الإعداد المسبق
|
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}الإسم المختار لحفظ الإعداد المسبق
|
||||||
@@ -2524,6 +2524,7 @@ STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :تم تصميم
|
|||||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :العديد من NewGRF تم تحميلها
|
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :العديد من NewGRF تم تحميلها
|
||||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :تحميل {1:STRING}كملف ثابت مع NewGRF {STRING}قد يتسبب بمشكلة توافق.
|
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :تحميل {1:STRING}كملف ثابت مع NewGRF {STRING}قد يتسبب بمشكلة توافق.
|
||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} يحتوي على خصائص غير صالحة. جميع الخصائص الغير صالحة سوف يشار لها بعلامة استفهام حمراء.
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} يحتوي على خصائص غير صالحة. جميع الخصائص الغير صالحة سوف يشار لها بعلامة استفهام حمراء.
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}ملف الرسوم المستخدم حاليا يفتقد لبعض الرسوم الاساسية.{}الرجاء حدث ملف الرسوم.
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING}تم تعطيلة بواسطة{STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING}تم تعطيلة بواسطة{STRING}
|
||||||
|
|
||||||
# NewGRF related 'general' warnings
|
# NewGRF related 'general' warnings
|
||||||
@@ -2818,8 +2819,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}يحتا
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}يحتاج: {YELLOW}{STRING}{STRING}, {STRING}{STRING} , {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}يحتاج: {YELLOW}{STRING}{STRING}, {STRING}{STRING} , {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}البضاعة تنتظر التعامل معها:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}ينتج: {YELLOW}{STRING} {STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}ينتج: {YELLOW}{STRING} {STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}ينتج: {YELLOW}{STRING} {STRING}, {STRING} {STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}ينتج: {YELLOW}{STRING} {STRING}, {STRING} {STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3058,6 +3060,7 @@ STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}لم ي
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK} اوقف تبديل العربات
|
STR_REPLACE_VEHICLES_STOP :{BLACK} اوقف تبديل العربات
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK} اضغط لايقاف تبديل المحركات المختارة في اليسار
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK} اضغط لايقاف تبديل المحركات المختارة في اليسار
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK} تبديل: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} بدل بين نافذة استبدال المحركات و العربات
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} بدل بين نافذة استبدال المحركات و العربات
|
||||||
STR_REPLACE_ENGINES :محركات
|
STR_REPLACE_ENGINES :محركات
|
||||||
STR_REPLACE_WAGONS :عربات
|
STR_REPLACE_WAGONS :عربات
|
||||||
@@ -3871,7 +3874,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}لا ي
|
|||||||
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... العربة تحطمت
|
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... العربة تحطمت
|
||||||
|
|
||||||
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}لن تتوافر اى وسائل نقل على اﻹطلاق
|
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}لن تتوافر اى وسائل نقل على اﻹطلاق
|
||||||
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}لا تتوافر اى آليه نقل بعد
|
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :لا تتوافر اى آليه نقل بعد
|
||||||
|
|
||||||
# Specific vehicle errors
|
# Specific vehicle errors
|
||||||
STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}لا يمكن السماح للقطار بالعبور من الاشارة في وضع الخطر
|
STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}لا يمكن السماح للقطار بالعبور من الاشارة في وضع الخطر
|
||||||
|
@@ -319,7 +319,6 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Subsidio
|
|||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Erakutsi konpainien geltokien zerrenda
|
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Erakutsi konpainien geltokien zerrenda
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Erakutsi konpaniaren finantza informazioa
|
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Erakutsi konpaniaren finantza informazioa
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Erakutsi konpaniaren informazio generala
|
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Erakutsi konpaniaren informazio generala
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Helburu zerrenda erakutsi
|
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Grafikoak erakutsi
|
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Grafikoak erakutsi
|
||||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Erakutsi konpanien ligako taula
|
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Erakutsi konpanien ligako taula
|
||||||
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Eraiki industria berria edo industri guztien zerrenda erakutsi
|
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Eraiki industria berria edo industri guztien zerrenda erakutsi
|
||||||
@@ -1098,8 +1097,6 @@ STR_CONFIG_SETTING_RESTRICT_ALL :Aditua (ezarpen
|
|||||||
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ezarpenak lehenetsitakoen balio ezberdinarekin
|
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ezarpenak lehenetsitakoen balio ezberdinarekin
|
||||||
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Balio ezberdinak dituzten ezarpenak zure joko berriaren ezarpenekin alderatuta
|
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Balio ezberdinak dituzten ezarpenak zure joko berriaren ezarpenekin alderatuta
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Bezero ezarpenak (ez dira partidatan gordetzen; joko guztiei eragiten die)
|
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Enpresa ezarpenak (partidan gordeta; bakarrik uneko enpresari eragiten dio)
|
|
||||||
STR_CONFIG_SETTINGS_NONE :{WHITE}- Ezer ez -
|
STR_CONFIG_SETTINGS_NONE :{WHITE}- Ezer ez -
|
||||||
|
|
||||||
STR_CONFIG_SETTING_OFF :Itzalita
|
STR_CONFIG_SETTING_OFF :Itzalita
|
||||||
@@ -1265,7 +1262,6 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grafikoen marre
|
|||||||
STR_CONFIG_SETTING_LAND_GENERATOR :Lur sortzailea: {STRING}
|
STR_CONFIG_SETTING_LAND_GENERATOR :Lur sortzailea: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Jatorrizkoa
|
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Jatorrizkoa
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis bakarrik) Maparen menditsutasuna
|
|
||||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industria dentsitatea: {STRING}
|
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industria dentsitatea: {STRING}
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Petroleo findegietatik maparen ertzera dagoen gehienezko distantzia: {STRING}
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Petroleo findegietatik maparen ertzera dagoen gehienezko distantzia: {STRING}
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Petroleo findegiak bakarrik maparen ertzatik hurbil eraiki daitezke, kostan irla mapetan
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Petroleo findegiak bakarrik maparen ertzatik hurbil eraiki daitezke, kostan irla mapetan
|
||||||
@@ -1282,7 +1278,6 @@ STR_CONFIG_SETTING_TREE_PLACER_NONE :Ezer ez
|
|||||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Jatorrizkoa
|
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Jatorrizkoa
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Hobetua
|
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Hobetua
|
||||||
STR_CONFIG_SETTING_ROAD_SIDE :Errepideko garraioak: {STRING}
|
STR_CONFIG_SETTING_ROAD_SIDE :Errepideko garraioak: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Gidatzeko aldea aukeratu
|
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Garaiera maparen norabidea: {STRING}
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Garaiera maparen norabidea: {STRING}
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Erlojuko orratzen kontrara
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Erlojuko orratzen kontrara
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Erlojuko orratzen erara
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Erlojuko orratzen erara
|
||||||
@@ -1338,7 +1333,6 @@ STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Saguaren ezkerr
|
|||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Gaitu mapatik zehar mugitzea saguaren ezkerreko botoia mapan arrastratzerakoan. Oso erabilgarria da ukipen pantailak erabiltzerakoan
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Gaitu mapatik zehar mugitzea saguaren ezkerreko botoia mapan arrastratzerakoan. Oso erabilgarria da ukipen pantailak erabiltzerakoan
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE :Auto-gordea: {STRING}
|
STR_CONFIG_SETTING_AUTOSAVE :Auto-gordea: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Partida gordetze automatikoaren bitartea aukeratu
|
|
||||||
|
|
||||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gordetako jokoen izenetan {STRING} data fomatua erabili
|
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gordetako jokoen izenetan {STRING} data fomatua erabili
|
||||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Gordetako fitxeroen dataren formatoa
|
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Gordetako fitxeroen dataren formatoa
|
||||||
@@ -1379,9 +1373,7 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Konpainiako gas
|
|||||||
STR_CONFIG_SETTING_SOUND_NEWS :Periodikoa: {STRING}
|
STR_CONFIG_SETTING_SOUND_NEWS :Periodikoa: {STRING}
|
||||||
STR_CONFIG_SETTING_SOUND_NEW_YEAR :Amaiera urtea: {STRING}
|
STR_CONFIG_SETTING_SOUND_NEW_YEAR :Amaiera urtea: {STRING}
|
||||||
STR_CONFIG_SETTING_SOUND_CONFIRM :Eraikuntza: {STRING}
|
STR_CONFIG_SETTING_SOUND_CONFIRM :Eraikuntza: {STRING}
|
||||||
STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Eraikuntza arrakastatsua edo beste akzioekin soinu bat egin
|
|
||||||
STR_CONFIG_SETTING_SOUND_DISASTER :Desastreak/istripuak: {STRING}
|
STR_CONFIG_SETTING_SOUND_DISASTER :Desastreak/istripuak: {STRING}
|
||||||
STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Istripu edo desastreen soinu efektuak aktibatu
|
|
||||||
STR_CONFIG_SETTING_SOUND_VEHICLE :Garraioak: {STRING}
|
STR_CONFIG_SETTING_SOUND_VEHICLE :Garraioak: {STRING}
|
||||||
|
|
||||||
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Azpiturak eraikitzea debekatu ibilgailu egokiak ez daudenean eskuragarri: {STRING}
|
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Azpiturak eraikitzea debekatu ibilgailu egokiak ez daudenean eskuragarri: {STRING}
|
||||||
@@ -2113,7 +2105,6 @@ STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Egunerak
|
|||||||
STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Haukeratu dituzun edukiak berrituko dituzten edukiak deskargatuak izateko
|
STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Haukeratu dituzun edukiak berrituko dituzten edukiak deskargatuak izateko
|
||||||
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Guztia desmarkatu
|
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Guztia desmarkatu
|
||||||
STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Dekargatuak izango ez diren eduki guztiak markatu
|
STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Dekargatuak izango ez diren eduki guztiak markatu
|
||||||
STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Kanpoko webguneak bilatu
|
|
||||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}OpenTTD uzten zaude!
|
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}OpenTTD uzten zaude!
|
||||||
STR_CONTENT_FILTER_TITLE :{BLACK}Etiketa/izen iragazkia:
|
STR_CONTENT_FILTER_TITLE :{BLACK}Etiketa/izen iragazkia:
|
||||||
STR_CONTENT_OPEN_URL :{BLACK}Webgunera joan
|
STR_CONTENT_OPEN_URL :{BLACK}Webgunera joan
|
||||||
@@ -2493,7 +2484,6 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Aireport
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Onartutako zama: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Onartutako zama: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Errail mota: {LTBLUE}{STRING}
|
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Trenbidearen abiadura muga: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Trenbidearen abiadura muga: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Bideko abiadura muga: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Bideko abiadura muga: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2506,29 +2496,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Eremuak
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Elurrez estalitako paisaia
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Elurrez estalitako paisaia
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desertua
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desertua
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Trenbidea
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} Trenbidea
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trenbidea Trenbidea blokeo seinalearekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} Trenbidea blokeo seinalearekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trenbidea trenbidea aurre-seinalekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} trenbidea aurre-seinalekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trenbidea trenbidea irteera seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} trenbidea irteera seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Konbo-seinaledun trenbidea
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} trenbidea konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trenbidea trenbidea bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} trenbidea bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trenbidea trenbidea norabide bakarreko bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} trenbidea norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trenbidea trenbidea blokeo seinale eta aurre-seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} trenbidea blokeo seinale eta aurre-seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trenbidea trenbidea blokeo seinale eta irteera seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} trenbidea blokeo seinale eta irteera seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trenbidea trenbidea blokeo seinalea eta konbo seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} trenbidea blokeo seinalea eta konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trenbidea trenbidea blokeo seinaleekin eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} trenbidea blokeo seinaleekin eta bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Trenbidea Trenbidea blokeo eta norabide bakarreko bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} Trenbidea blokeo eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trenbidea trenbidea aurre-seinale eta irteera seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} trenbidea aurre-seinale eta irteera seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trenbidea trenbidea aurre-seinale eta konbo seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} trenbidea aurre-seinale eta konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Trenbidea trenbidea aurre-seinale eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} trenbidea aurre-seinale eta bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Trenbidea trenbidea aurre-seinale eta norabide bakarreko bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} trenbidea aurre-seinale eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trenbidea trenbidea irteera seinale eta konbo seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} trenbidea irteera seinale eta konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trenbidea trenbidea irteera seinale eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} trenbidea irteera seinale eta bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Trenbidea trenbidea irteera seinale eta norabide bakarreko bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} trenbidea irteera seinale eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trenbidea trenbidea konbo seinale eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} trenbidea konbo seinale eta bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Konbo-seinale eta norabide bakarreko bide seinaledun trenbidea
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} trenbide konbo seinale eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Trenbidea trenbidea bide seinale eta norabide bakarreko seinaleekina
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} trenbidea bide seinale eta norabide bakarreko seinaleekina
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Trenbidea tren gordailua
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} tren gordailua
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :errepidea
|
STR_LAI_ROAD_DESCRIPTION_ROAD :errepidea
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Errepidea farolekin
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Errepidea farolekin
|
||||||
@@ -2592,7 +2582,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
|
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 The OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa
|
||||||
@@ -2734,7 +2724,6 @@ STR_NEWGRF_SETTINGS_DISABLED :{RED}Desgaitua
|
|||||||
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}OpenTTD-ren bertsio honekin bateraezina
|
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}OpenTTD-ren bertsio honekin bateraezina
|
||||||
|
|
||||||
# NewGRF save preset window
|
# NewGRF save preset window
|
||||||
STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Ez aldatu berezko balioa
|
|
||||||
|
|
||||||
# NewGRF parameters window
|
# NewGRF parameters window
|
||||||
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF parametroak aldatu
|
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF parametroak aldatu
|
||||||
@@ -2797,6 +2786,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Identifikazio b
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sprite baliogabea dauka. Sprite baliogabeak galdera ikur gorria bezala ikusiko dira (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sprite baliogabea dauka. Sprite baliogabeak galdera ikur gorria bezala ikusiko dira (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Action 8 sarrera asko ditu (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Action 8 sarrera asko ditu (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Pseudo spritea baino hurrunago irakurri (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Pseudo spritea baino hurrunago irakurri (sprite {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Aukeratuta daukazun oinarrizko grafiko paketean "sprite" batzuk falta dira.{}Mesedez eguneratu oinarrizko grafiko paketea
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Erabiltzen ari den grafiko baseari sprite batzuk falta zaizkio.{}Mesedez zure grafiko basea eguneratu ezazu.{}OpenTTD-ren {YELLOW}garapen bertsio bat erabiltzen ari zarenez{WHITE}, grafiko basearen {YELLOW}garapen bertsio bat behar izango duzu{WHITE}
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Eskatutako GRFa ez dago eskuragarri (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Eskatutako GRFa ez dago eskuragarri (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} desgaitua izan da {STRING}(en)gatik
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} desgaitua izan da {STRING}(en)gatik
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Grafiko deseinu formatu ezezaguna/baliogabea (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Grafiko deseinu formatu ezezaguna/baliogabea (sprite {3:NUM})
|
||||||
@@ -2995,7 +2986,6 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Ez dago
|
|||||||
STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES}
|
STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES}
|
||||||
STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG}
|
STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG}
|
||||||
STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} {STATION}-(e)tik garraiatua)
|
STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} {STATION}-(e)tik garraiatua)
|
||||||
STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} kargarako erreserbatua)
|
|
||||||
|
|
||||||
STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Onartu
|
STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Onartu
|
||||||
STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Onartzen diren zamen zerrenda
|
STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Onartzen diren zamen zerrenda
|
||||||
@@ -3178,8 +3168,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Beharrez
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Beharrezkoa du: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Beharrezkoa du: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Prosezatzeko zain dagoen zama:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Ekoizpena: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Ekoizpena: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Ekoizpena: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Ekoizpena: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3433,6 +3424,7 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} zaharr
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Ibilgailuak ordezkatzen gelditu
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Ibilgailuak ordezkatzen gelditu
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikatu ezkerrean aukeratutako motore motaren ordezkapena gelditzeko
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikatu ezkerrean aukeratutako motore motaren ordezkapena gelditzeko
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Ordezkatzen: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Aldatu motore pantaila eta bagoi paintailaren artean
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Aldatu motore pantaila eta bagoi paintailaren artean
|
||||||
STR_REPLACE_ENGINES :Motoreak
|
STR_REPLACE_ENGINES :Motoreak
|
||||||
STR_REPLACE_WAGONS :Bagoiak
|
STR_REPLACE_WAGONS :Bagoiak
|
||||||
@@ -4061,7 +4053,6 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... Baso
|
|||||||
STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... bakarrik elur garaieratik gora eraiki daiteke
|
STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... bakarrik elur garaieratik gora eraiki daiteke
|
||||||
STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... bakarrik elur garaieratik behera eraiki daiteke
|
STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... bakarrik elur garaieratik behera eraiki daiteke
|
||||||
|
|
||||||
STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Ez dago leku aproposik '{STRING}' industriarako
|
|
||||||
|
|
||||||
# Station construction related errors
|
# Station construction related errors
|
||||||
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Ezin da tren gordailua hemen eraiki...
|
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Ezin da tren gordailua hemen eraiki...
|
||||||
@@ -4327,11 +4318,7 @@ STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Ezin da
|
|||||||
STR_DESKTOP_SHORTCUT_COMMENT :Transport Tycoon Deluxe-ren simulazio bat
|
STR_DESKTOP_SHORTCUT_COMMENT :Transport Tycoon Deluxe-ren simulazio bat
|
||||||
|
|
||||||
# Translatable descriptions in media/baseset/*.ob* files
|
# Translatable descriptions in media/baseset/*.ob* files
|
||||||
STR_BASEGRAPHICS_DOS_DESCRIPTION :Transport Tycoon Deluxe originaleko DOS edizioko grafikoak.
|
|
||||||
STR_BASESOUNDS_DOS_DESCRIPTION :Transport Tycoon Deluxe originaleko DOS edizioko soinuak.
|
|
||||||
STR_BASESOUNDS_WIN_DESCRIPTION :Transport Tycoon Deluxe originaleko Windows edizioko grafikoak.
|
|
||||||
STR_BASESOUNDS_NONE_DESCRIPTION :Soinurik gabeko soinu pakete bat
|
STR_BASESOUNDS_NONE_DESCRIPTION :Soinurik gabeko soinu pakete bat
|
||||||
STR_BASEMUSIC_NONE_DESCRIPTION :Musika gabeko musika paketea.
|
|
||||||
|
|
||||||
##id 0x2000
|
##id 0x2000
|
||||||
# Town building names
|
# Town building names
|
||||||
|
@@ -1432,7 +1432,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Наладкі
|
|||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Наладкі кампаніі (запісваюцца ў захаваньні; уплываюць толькі на новыя гульні)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Наладкі кампаніі (запісваюцца ў захаваньні; уплываюць толькі на новыя гульні)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Наладкі кампаніі (запісваюцца ў захаваньне; уплываюць толькі на бягучую кампанію)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Наладкі кампаніі (запісваюцца ў захаваньне; уплываюць толькі на бягучую кампанію)
|
||||||
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Паказаць усе вынікі пошуку па наладках{}{SILVER}Катэґорыя {BLACK}да {WHITE}{STRING}
|
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Паказаць усе вынікі пошуку па наладках{}{SILVER}Катэґорыя {BLACK}да {WHITE}{STRING}
|
||||||
STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Паказаць усе вынікі пошуку па наладках{}{SILVER}Тып {BLACK}да {WHITE}Усе тыпы наладак
|
STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Паказаць усе вынікі пошуку па наладках{}{SILVER}Тып BLACK}да {WHITE}Усе тыпы наладак
|
||||||
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Паказаць усе вынікі пошуку па наладках{}{SILVER}Катэґорыя {BLACK}да {WHITE}{STRING} {BLACK}і {SILVER}Тып {BLACK}да {WHITE}Усе тыпы наладак
|
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Паказаць усе вынікі пошуку па наладках{}{SILVER}Катэґорыя {BLACK}да {WHITE}{STRING} {BLACK}і {SILVER}Тып {BLACK}да {WHITE}Усе тыпы наладак
|
||||||
STR_CONFIG_SETTINGS_NONE :{WHITE}- Няма -
|
STR_CONFIG_SETTINGS_NONE :{WHITE}- Няма -
|
||||||
|
|
||||||
@@ -2934,29 +2934,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Палi
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Засьнежаная зямля
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Засьнежаная зямля
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Пустэльня
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Пустэльня
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Чыгунка рэйкi
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} рэйкi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Чыгунка рэйкi са звычайнымі сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} рэйкi са звычайнымі сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Чыгунка рэйкi з уваходнымі прэсыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} рэйкi з уваходнымі прэсыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Чыгунка рэйкi з выхаднымi сыґналамi (прэсыґналамі)
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} рэйкi з выхаднымi сыґналамi (прэсыґналамі)
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Чыгунка рэйкi з камбiнаванымi сыґналамi (прэсыґналамі)
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} рэйкi з камбiнаванымi сыґналамi (прэсыґналамі)
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Чыгунка рэйкi з маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} рэйкi з маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Чыгунка рэйкi з аднабаковымi маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} рэйкi з аднабаковымi маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Чыгунка рэйкi са звычайнымi й уваходнымі прэсыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} рэйкi са звычайнымi й уваходнымі прэсыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Чыгунка рэйкi са звычайнымi й выхаднымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} рэйкi са звычайнымi й выхаднымi сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Чыгунка рэйкi са звычайнымi й камбiнаванымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} рэйкi са звычайнымi й камбiнаванымi сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Чыгунка рэйкi са звычайнымi й маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} рэйкi са звычайнымi й маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Чыгунка рэйкi са звычайнымi й аднабаковымi маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} рэйкi са звычайнымi й аднабаковымi маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Чыгунка рэйкi з уваходнымi (прэcыгналамi) ды выхаднымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} рэйкi з уваходнымi (прэcыгналамi) ды выхаднымi сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды камбiнаванымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} рэйкi з уваходнымi (прэсыґналамi) ды камбiнаванымi сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} рэйкi з уваходнымi (прэсыґналамi) ды маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды аднабаковымi маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} рэйкi з уваходнымi (прэсыґналамi) ды аднабаковымi маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Чыгунка рэйкi з выхаднымi й камбінаванымі прэсыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} рэйкi з выхаднымi й камбінаванымі прэсыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Чыгунка рэйкі з выхаднымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} рэйкі з выхаднымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Чыгунка рэйкі з выхаднымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} рэйкі з выхаднымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Чыгунка рэйкі з камбінаванымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} рэйкі з камбінаванымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Чыгунка рэйкі з камбінаванымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} рэйкі з камбінаванымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Чыгунка рэйкі з маршрутнымі (PMS) ды аднабаковымі маршрутнымі сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} рэйкі з маршрутнымі (PMS) ды аднабаковымі маршрутнымі сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Чыгунка чыгуначнае дэпо
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} чыгуначнае дэпо
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Дарога
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Дарога
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дарога з вулічным асьвятленьнем
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дарога з вулічным асьвятленьнем
|
||||||
@@ -3020,7 +3020,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2017 Каманда распрацоўнікаў OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2016 Каманда распрацоўнікаў OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню
|
||||||
@@ -3239,6 +3239,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Спроба в
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} утрымлiвае пашкоджаны спрайт. Усе пашкоджаныя спрайты будуць паказаны чырвоным знакам пытаньня (?).
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} утрымлiвае пашкоджаны спрайт. Усе пашкоджаныя спрайты будуць паказаны чырвоным знакам пытаньня (?).
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Утрымлiвае некалькі блёкаў «Action 8» (спрайт {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Утрымлiвае некалькі блёкаў «Action 8» (спрайт {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Чытаньне па-за канцом псэўда-спрайту (спрайт {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Чытаньне па-за канцом псэўда-спрайту (спрайт {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}У бягучым наборы базавай ґрафікі адсутнічаюць выявы некаторых аб'ектаў.{}Калі ласка, абнавіце модуль базавай ґрафікі.
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}У выкарыстаным наборы базавай ґрафікі адсутнічаюць некаторыя малюнкі.{}Калі ласка, абнавіце набор малюнкаў.{}Вам можа спатрэбіцца {YELLOW}тэставая вэрсія ґрафічнага набору{WHITE}, таму што ў вас {YELLOW}тэставая вэрсія OpenTTD{WHITE}.
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Запытаныя рэсурсы GRF недаступныя (спрайт {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Запытаныя рэсурсы GRF недаступныя (спрайт {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} быў адключаны з-за {2:STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} быў адключаны з-за {2:STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Недапушчальны/невядомы фармат размяшчэньня спрайтаў (спрайт {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Недапушчальны/невядомы фармат размяшчэньня спрайтаў (спрайт {3:NUM})
|
||||||
@@ -3625,8 +3627,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Патр
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Патрабуецца: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Патрабуецца: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Груз, які чакае перапрацоўкі:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Вырабляе: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Вырабляе: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Вырабляе: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Вырабляе: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3907,6 +3910,7 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} кал
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Спыніць замену
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Спыніць замену
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Спыніць замену транспарту
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Спыніць замену транспарту
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Замяняем: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Пераключэньне паміж вокнамі замены лякаматываў і ваґонаў
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Пераключэньне паміж вокнамі замены лякаматываў і ваґонаў
|
||||||
STR_REPLACE_ENGINES :Лякаматывы
|
STR_REPLACE_ENGINES :Лякаматывы
|
||||||
STR_REPLACE_WAGONS :Ваґоны
|
STR_REPLACE_WAGONS :Ваґоны
|
||||||
|
@@ -1286,8 +1286,8 @@ STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Aguardar {COMMA
|
|||||||
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito
|
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir população da cidade na janela da cidade: {STRING}
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir população da cidade na janela da cidade: {STRING}
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das linhas nos gráficos: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grossura das linhas nos gráficos: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir.
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grossura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino
|
||||||
@@ -1536,12 +1536,12 @@ STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Exibe uma janel
|
|||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de sinal a ser construído: {STRING}
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de sinal a ser construído: {STRING}
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo padrão de sinal a se utilizar
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo padrão de sinal a se utilizar
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :De trajeto
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Avançado
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :De trajeto de mão única
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Avançado de mão única
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Tipo de sinal a ser exibido: {STRING}
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Tipo de sinal a ser exibido: {STRING}
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleciona quais tipos de sinal a exibir, quando Ctrl+Clicar em Construir Sinais com a ferramenta Sinal
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleciona quais tipos de sinal a exibir, quando Ctrl+Clicar em Construir Sinais com a ferramenta Sinal
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Normal apenas
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Normal apenas
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :De trajeto apenas
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Avançados apenas
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de ruas para novas cidades: {STRING}
|
STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de ruas para novas cidades: {STRING}
|
||||||
@@ -1762,7 +1762,6 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Checar p
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Exibe configurações de IA e script do jogo
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Exibe configurações de IA e script do jogo
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD'
|
||||||
|
|
||||||
STR_INTRO_BASESET :{BLACK}Faltam {NUM} "sprite{P "" s}" no conjunto de gráficos base selecionado. Por favor verifique se há atualizações para ele.
|
|
||||||
STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nessa tradução. Por favor faça o OpenTTD melhor se inscrevendo como tradutor. Leia Readme.txt para mais detalhes.
|
STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nessa tradução. Por favor faça o OpenTTD melhor se inscrevendo como tradutor. Leia Readme.txt para mais detalhes.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -2359,14 +2358,14 @@ STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinais p
|
|||||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de saída (semáforo){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de saída (semáforo){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal combo (semáforo){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações
|
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal combo (semáforo){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de trajeto(Semáforo){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal avançado(Semáforo){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de trajeto de mão única(Semáforo){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo, porém não permite a passagem na via contrária
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Semáforo){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo, porém não permite a passagem na via contrária
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal Padrão (elétrico){}Sinais são necessários para impedir que trens batam em redes de ferrovias com mais de uma máquina
|
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal Padrão (elétrico){}Sinais são necessários para impedir que trens batam em redes de ferrovias com mais de uma máquina
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de saída(elétrico){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de saída(elétrico){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combo (elétrico){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações de pré-sinais
|
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combo (elétrico){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações de pré-sinais
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de trajeto (Elétrico){}Um sinal de trajeto permite mais de um trem entrar em um bloco de sinal ao mesmo tempo, se o trem puder reservar um trajeto para um ponto seguro de parada. Sinais de trajeto padrões podem ser passados pelo lado de trás
|
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de trajeto(Elétrico){}Um sinal de trajeto permite mais de um trem entrar em um bloco de sinal ao mesmo tempo, se o trem puder reservar um trajeto para um ponto seguro de parada. Sinais de trajeto padrões podem ser passados pelo lado de trás
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Elétrico){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo, porém não permite a passagem na via contrária
|
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Elétrico){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo, porém não permite a passagem na via contrária
|
||||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Quando selecionado, clicar num sinal existente converte-o para o tipo selecionado e suas variantes. Ctrl+Clique muda a variante atual. Shift+Clique mostra o preço estimado da conversão
|
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Quando selecionado, clicar num sinal existente converte-o para o tipo selecionado e suas variantes. Ctrl+Clique muda a variante atual. Shift+Clique mostra o preço estimado da conversão
|
||||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densidade dos sinais ao clicar e arrastar
|
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densidade dos sinais ao clicar e arrastar
|
||||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a densidade dos sinais
|
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a densidade dos sinais
|
||||||
@@ -2591,7 +2590,6 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nome da
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de ferrovia: {LTBLUE}{STRING}
|
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2604,29 +2602,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Campos
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Neve
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Neve
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Trilho de ferrovia
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Trilho de {STRING}
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trilho de ferrovia com sinais normais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trilho de {STRING} com sinais normais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trilho de ferrovia com pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trilho de {STRING} com pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trilho de ferrovia com sinais de saída
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trilho de {STRING} com sinais de saída
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Trilho de ferrovia com sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Trilho de {STRING} com sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trilho de ferrovia com sinais de trajeto
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trilho de {STRING} com sinais avançados
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de Ferrovia com sinais de trajeto de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de {STRING} com sinais avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trilho de ferrovia com sinais normais e pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trilho de {STRING} com sinais normais e pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trilho de ferrovia com sinais normais e pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trilho de {STRING} com sinais normais e pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de ferrovia com sinais normais e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de {STRING} com sinais normais e sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de ferrovia com sinais normais e de trajeto
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de {STRING} com sinais normais e avançados
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Trilho de ferrovia com sinais normais e de trajeto de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Trilho de {STRING} com sinais normais e avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trilho de ferrovia com pré-sinais e de saída
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trilho de {STRING} com pré-sinais e de saída
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de ferrovia com pré-sinais e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de {STRING} com pré-sinais e sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Trilho de ferrovia com pré-sinais e sinais de trajeto
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Trilho de {STRING} com pré-sinais e sinais avançados
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Trilho de ferrovia com pré-sinais de trajeto e de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Trilho de {STRING} com pré-sinais e avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trilho de ferrovia com sinais de saída e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trilho de {STRING} com sinais de saída e sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trilho de ferrovia com sinais de saída e de trajeto
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trilho de {STRING} com sinais de saída e avançados
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Trilho de ferrovia com sinais de saída de trajeto e de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Trilho de {STRING} com sinais de saída e avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de ferrovia com sinais-combo e de trajeto
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de {STRING} com sinais-combo e avançados
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Trilho de ferrovia com sinais-combo de trajeto e de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Trilho de {STRING} com sinais-combo e avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Trilho de ferrovia com sinais de trajeto normais e de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Trilho de {STRING} com sinais avançados e avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de ferrovia
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de {STRING}
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Rodovia
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Rodovia
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Rodovia iluminada
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Rodovia iluminada
|
||||||
@@ -2690,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
|
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_VERSION :{BLACK}OpenTTD versão {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 A equipe do OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 A equipe do OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo
|
||||||
@@ -2909,6 +2907,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Tentativa de us
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contém um sprite corrupto. Todos os sprites corruptos serão exibidos como um "?" vermelho
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contém um sprite corrupto. Todos os sprites corruptos serão exibidos como um "?" vermelho
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém multiplas entradas de Ação 8 (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém multiplas entradas de Ação 8 (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Leitura após o final do pseudo-sprite (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Leitura após o final do pseudo-sprite (sprite {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Estão faltando alguns sprites na base de gráficos em uso.{}Por favor atualize a base de gráficos
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}O pacote de gráficos base atuais está faltando alguns sprites.{}Favor atualizar o pacote de gráficos base.{}Já que você está usando um {YELLOW}snapshot em desenvolvimento do OpenTTD{WHITE}, você também precisa do {YELLOW}Snapshot do pacote de gráficos base em desenvolvimento{WHITE}
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF requeridos indisponíveis (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF requeridos indisponíveis (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} foi desativado por {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} foi desativado por {STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de layout de sprite inválido/desconhecido (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de layout de sprite inválido/desconhecido (sprite {3:NUM})
|
||||||
@@ -3295,13 +3295,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requer:
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}aguardando
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Carga aguardando processamento
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3562,10 +3558,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} quando
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Parar Substituição
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Parar Substituição
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Pressione para parar a subsituição do tipo de motor que selecionou à esquerda
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Pressione para parar a subsituição do tipo de motor que selecionou à esquerda
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituindo: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Troca entre substituir máquinas e substituir vagões
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Troca entre substituir máquinas e substituir vagões
|
||||||
STR_REPLACE_ENGINES :Motores
|
STR_REPLACE_ENGINES :Motores
|
||||||
STR_REPLACE_WAGONS :Vagões
|
STR_REPLACE_WAGONS :Vagões
|
||||||
STR_REPLACE_ALL_RAILTYPE :Todos os veículos ferroviários
|
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Escolha o tipo de ferrovia para o qual deseja efetuar a substituição dos motores
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Escolha o tipo de ferrovia para o qual deseja efetuar a substituição dos motores
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o tipo de motor que substituirá o que está selecionado à esquerda, se algum
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o tipo de motor que substituirá o que está selecionado à esquerda, se algum
|
||||||
@@ -3789,7 +3785,7 @@ STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Percentual carr
|
|||||||
STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade
|
STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade
|
||||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima
|
STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima
|
||||||
STR_ORDER_CONDITIONAL_AGE :Idade (anos)
|
STR_ORDER_CONDITIONAL_AGE :Idade (anos)
|
||||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita de manutenção
|
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessia de manutenção
|
||||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
||||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos)
|
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos)
|
||||||
|
|
||||||
|
@@ -2540,29 +2540,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Поля
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Заснежена земя
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Заснежена земя
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Пустиня
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Пустиня
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :ЖП път линия
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} линия
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :ЖП път линия с блокиращи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} линия с блокиращи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :ЖП път линия с пре-сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} линия с пре-сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :ЖП път линия с изходни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} линия с изходни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :ЖП път линия с комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} линия с комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :ЖП път линия с насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} линия с насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :ЖП път линия с еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} линия с еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :ЖП път линия с блокиращи и пре-сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} линия с блокиращи и пре-сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :ЖП път линия с блокиращи и изходни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} линия с блокиращи и изходни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :ЖП път линия с блокиращи и комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} линия с блокиращи и комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :ЖП път линия с блокиращи и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} линия с блокиращи и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :ЖП път линия с блокиращи и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} линия с блокиращи и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :ЖП път линия с пред и изходни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} линия с пред и изходни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :ЖП път линя с пред и комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} линя с пред и комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :ЖП път линия с пред и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} линия с пред и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :ЖП път линия с пред и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} линия с пред и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :ЖП път линия с изходни и комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} линия с изходни и комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :ЖП път линия с изходни и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} линия с изходни и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :ЖП път линия с изходни и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} линия с изходни и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :ЖП път линия с комбо и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} линия с комбо и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :ЖП път линия с комбо и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} линия с комбо и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :ЖП път линия с насочващи и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} линия с насочващи и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :ЖП път влаково депо
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} влаково депо
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :път
|
STR_LAI_ROAD_DESCRIPTION_ROAD :път
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Асфалтов път с улично осветление
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Асфалтов път с улично осветление
|
||||||
@@ -2626,7 +2626,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2016 The OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта
|
||||||
@@ -2776,7 +2776,7 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{G=n}{RED}Не
|
|||||||
# NewGRF save preset window
|
# NewGRF save preset window
|
||||||
STR_SAVE_PRESET_TITLE :{BLACK}Въведи име за шаблона
|
STR_SAVE_PRESET_TITLE :{BLACK}Въведи име за шаблона
|
||||||
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущо избраното име за именуване на шаблона
|
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущо избраното име за именуване на шаблона
|
||||||
STR_SAVE_PRESET_CANCEL :{BLACK}Отказ
|
STR_SAVE_PRESET_CANCEL :Отказ
|
||||||
STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Не променяй шаблона
|
STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Не променяй шаблона
|
||||||
STR_SAVE_PRESET_SAVE :{BLACK}Запис
|
STR_SAVE_PRESET_SAVE :{BLACK}Запис
|
||||||
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Запази шаблона за текущо избраното име
|
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Запази шаблона за текущо избраното име
|
||||||
@@ -2838,6 +2838,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Опит за
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} съдържа повреден обект. Вскички повредени обекти ще бъдат показани като червена въпросителна (?).
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} съдържа повреден обект. Вскички повредени обекти ще бъдат показани като червена въпросителна (?).
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contains multiple Action 8 entries (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contains multiple Action 8 entries (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Read past end of pseudo-sprite (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Read past end of pseudo-sprite (sprite {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Текущите основни графики имат празни картинки.{}Моля обновете си основните графики.
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Текущо използвания графичен сет има липсващи спрайтове.{}Моля обновете графичния сет.{}Тъй като играете {YELLOW}версия на OpenTTD в процес на разработка{WHITE}, може да се нуждаете и от {YELLOW}версията на графичния сет, която е в разработка{WHITE}
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Изискваните GRF resources не са на разположение (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Изискваните GRF resources не са на разположение (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} беше изключено от {2:STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} беше изключено от {2:STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Invalid/unknown sprite layout format (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Invalid/unknown sprite layout format (sprite {3:NUM})
|
||||||
@@ -3214,8 +3216,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Нужд
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Нуждае се от: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Нуждае се от: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Товар чакащ до бъде преработен:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Произвежда: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Произвежда: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Произвежда: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Произвежда: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3474,6 +3477,7 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} ког
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Спиране на замяната
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Спиране на замяната
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Натиснете за спиране подновяването на избрания в ляво двигател
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Натиснете за спиране подновяването на избрания в ляво двигател
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Замяна: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Превключване между замяна на локомотиви и вагони
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Превключване между замяна на локомотиви и вагони
|
||||||
STR_REPLACE_ENGINES :Двигатели
|
STR_REPLACE_ENGINES :Двигатели
|
||||||
STR_REPLACE_WAGONS :Вагони
|
STR_REPLACE_WAGONS :Вагони
|
||||||
|
@@ -975,7 +975,7 @@ STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma
|
|||||||
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecciona l'idioma de la interfície
|
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecciona l'idioma de la interfície
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pantalla completa
|
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pantalla completa
|
||||||
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marqueu la casella per mostrar l'OpenTTD a pantalla completa.
|
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marca la casella per tenir l'OpenTTD en pantalla completa
|
||||||
|
|
||||||
STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolució de pantalla
|
STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolució de pantalla
|
||||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecciona la resolució de pantalla
|
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecciona la resolució de pantalla
|
||||||
@@ -1119,9 +1119,9 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Paràmetres de
|
|||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Paràmetres de la partida (emmagatzemats a la partida actual; només afecten la partida actual)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Paràmetres de la partida (emmagatzemats a la partida actual; només afecten la partida actual)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Paràmetres de la companyia (emmagatzemats a les partides desades; només afectaran les partides noves)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Paràmetres de la companyia (emmagatzemats a les partides desades; només afectaran les partides noves)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Paràmetres de la companyia (emmagatzemats a la partida actual; només afecten la companyia actual)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Paràmetres de la companyia (emmagatzemats a la partida actual; només afecten la companyia actual)
|
||||||
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Mostra tots els resultats establint {SILVER}«Categoria» {BLACK}a {WHITE}«{STRING}»{BLACK}.
|
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Mostra tots els resultats de la cerca filtrada de {WHITE}{STRING}
|
||||||
STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Mostrar tots els resultats de la cerca filtrada amb {WHITE}tots els tipus de paràmetres
|
STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Mostrar tots els resultats de la cerca filtrada amb {WHITE}tots els tipus de paràmetres
|
||||||
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostra tots els resultats de la cerca establint {SILVER}«Categoria» {BLACK}a {WHITE}«{STRING}» {BLACK}i {SILVER}«Tipus» {BLACK}a {WHITE}«Tots els paràmetres»{BLACK}.
|
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostra tots els resultats de la cerca filtrada de {WHITE}{STRING} {BLACK}i {WHITE}tots els tipus d'ajustaments
|
||||||
STR_CONFIG_SETTINGS_NONE :{WHITE}- Cap -
|
STR_CONFIG_SETTINGS_NONE :{WHITE}- Cap -
|
||||||
|
|
||||||
STR_CONFIG_SETTING_OFF :Inactiu
|
STR_CONFIG_SETTING_OFF :Inactiu
|
||||||
@@ -1129,8 +1129,8 @@ STR_CONFIG_SETTING_ON :Actiu
|
|||||||
STR_CONFIG_SETTING_DISABLED :Desactivat
|
STR_CONFIG_SETTING_DISABLED :Desactivat
|
||||||
|
|
||||||
STR_CONFIG_SETTING_COMPANIES_OFF :Inactiu
|
STR_CONFIG_SETTING_COMPANIES_OFF :Inactiu
|
||||||
STR_CONFIG_SETTING_COMPANIES_OWN :Només de la companyia pròpia
|
STR_CONFIG_SETTING_COMPANIES_OWN :Pròpia companyia
|
||||||
STR_CONFIG_SETTING_COMPANIES_ALL :De totes les companyies
|
STR_CONFIG_SETTING_COMPANIES_ALL :Totes les companyies
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NONE :Cap
|
STR_CONFIG_SETTING_NONE :Cap
|
||||||
STR_CONFIG_SETTING_ORIGINAL :Original
|
STR_CONFIG_SETTING_ORIGINAL :Original
|
||||||
@@ -1160,16 +1160,16 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :No permetis que
|
|||||||
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si està actiu, els trens no canviaran de sentit a les estacions no-finals, inclús si hi ha un camí més curt al seu proper destí en cas de canviar de sentit.
|
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Si està actiu, els trens no canviaran de sentit a les estacions no-finals, inclús si hi ha un camí més curt al seu proper destí en cas de canviar de sentit.
|
||||||
STR_CONFIG_SETTING_DISASTERS :Catàstrofes: {STRING}
|
STR_CONFIG_SETTING_DISASTERS :Catàstrofes: {STRING}
|
||||||
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Permet o no que passin catàstrofes que puguin bloquejar o destruir ocasionalment vehicles o infraestructures
|
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Permet o no que passin catàstrofes que puguin bloquejar o destruir ocasionalment vehicles o infraestructures
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL :Actitud de l'alcaldia de la població enfront les reestructuracions a la zona: {STRING}
|
STR_CONFIG_SETTING_CITY_APPROVAL :Actitud de l'alcaldia de la població davant de reestructuracions a la zona: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Establiu com afecta al prestigi de les companyies el soroll i els danys ambientals que provoquen. Aquest prestigi influirà en la futura acceptació o denegació d'accions de construcció a la zona.
|
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Estableix quin nivell de soroll i de danys ambientals fets per les companyies afecten al seu prestigi davant de la població i futures accions de construcció a la zona
|
||||||
|
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Alçada màxima del mapa: {STRING}
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Alçada màxima del mapa: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Estableix l'alçada màxima permesa del terreny en el mapa
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Estableix l'alçada màxima permesa del terreny en el mapa
|
||||||
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}No es pot escollir aquesta alçada màxima del mapa: hi ha alguna zona del mapa actual que és més alta.
|
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}No es pot escollir aquesta alçada màxima del mapa: hi ha alguna zona del mapa actual que és més alta.
|
||||||
STR_CONFIG_SETTING_AUTOSLOPE :Permet la modificació del terreny sota edificis, rails, etc.: {STRING}
|
STR_CONFIG_SETTING_AUTOSLOPE :Permet la modificació del terreny sota edificis, rails, etc.: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permet modelar el terreny sota les vies, els edificis i altres elements sense eliminar-los.
|
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permet modelar el terreny sota edificis i rails, sense eliminar-los
|
||||||
STR_CONFIG_SETTING_CATCHMENT :Estableix una mida més real de l'àrea d'influència: {STRING}
|
STR_CONFIG_SETTING_CATCHMENT :Estableix una mida més real de l'àrea d'influència: {STRING}
|
||||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permet tenir diferents mides de zones de captació de càrrega per diferents tipus d'estacions (aeroports, estacions de tren, etc.).
|
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permet tenir diferents mides de zones de captació per a diferents tipus d'estacions i aeroports
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Permet l'esborrat de carreteres, ponts i túnels propietat de les poblacions: {STRING}
|
STR_CONFIG_SETTING_EXTRADYNAMITE :Permet l'esborrat de carreteres, ponts i túnels propietat de les poblacions: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Aquesta opció permet fer més fàcil l'esborrat d'infraestructures i construccions propietat de la població
|
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Aquesta opció permet fer més fàcil l'esborrat d'infraestructures i construccions propietat de la població
|
||||||
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud màxima dels trens: {STRING}
|
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud màxima dels trens: {STRING}
|
||||||
@@ -1214,7 +1214,7 @@ STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Al costat de co
|
|||||||
STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :A la dreta
|
STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :A la dreta
|
||||||
STR_CONFIG_SETTING_SHOWFINANCES :Mostra la finestra de balanç al finalitzar cada any: {STRING}
|
STR_CONFIG_SETTING_SHOWFINANCES :Mostra la finestra de balanç al finalitzar cada any: {STRING}
|
||||||
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si el paràmetre està activat, la finestra de finances apareix al final de cada any per permetre una inspecció fàcil de l'estat financer de la companyia.
|
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Si el paràmetre està activat, la finestra de finances apareix al final de cada any per permetre una inspecció fàcil de l'estat financer de la companyia.
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :«Sense parada» per defecte a les ordres noves: {STRING}
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :«Sense parada» per defecte a les noves ordres : {STRING}
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalment, un vehicle para a cada estació per la que passa. Activant aquest paràmetre, no pararà a cap estació fins arribar al seu destí. Nota: aquest paràmetre només defineix el valor predeterminat per a les noves ordres. Un cop creada una ordre, aquesta es pot establir manualment al comportament desitjat.
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalment, un vehicle para a cada estació per la que passa. Activant aquest paràmetre, no pararà a cap estació fins arribar al seu destí. Nota: aquest paràmetre només defineix el valor predeterminat per a les noves ordres. Un cop creada una ordre, aquesta es pot establir manualment al comportament desitjat.
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres de trens: parar per defecte {STRING} de la plataforma
|
STR_CONFIG_SETTING_STOP_LOCATION :Noves ordres de trens: parar per defecte {STRING} de la plataforma
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Estableix en quin lloc de la plataforma els trens pararan per defecte. «Extrem més proper» significa a prop del punt d'entrada, «Al mig» significa al mig de la plataforma, i «Extrem més llunyà» significa lluny del punt d'entrada. Nota: aquest paràmetre només defineix el valor predeterminat per les noves ordres. Un cop creada una ordre, es pot modificar el comportament de forma manual.
|
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Estableix en quin lloc de la plataforma els trens pararan per defecte. «Extrem més proper» significa a prop del punt d'entrada, «Al mig» significa al mig de la plataforma, i «Extrem més llunyà» significa lluny del punt d'entrada. Nota: aquest paràmetre només defineix el valor predeterminat per les noves ordres. Un cop creada una ordre, es pot modificar el comportament de forma manual.
|
||||||
@@ -1222,7 +1222,7 @@ STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :A l'extrem més
|
|||||||
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :Al mig
|
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :Al mig
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :A l'extrem més llunyà
|
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :A l'extrem més llunyà
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL :Desplaça la finestra quan el ratolí sigui prop de la vora: {STRING}
|
STR_CONFIG_SETTING_AUTOSCROLL :Desplaça la finestra quan el ratolí sigui prop de la vora: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Si s'activa aquesta opció, l'àrea de visualització començarà a desplaçar-se quan el ratolí sigui prop de la vora de la finestra.
|
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quan està activat, l'àrea de visualització començarà a desplaçar-se quan el ratolí sigui prop de la vora de la finestra.
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivat
|
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desactivat
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal (només pantalla completa)
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Vista principal (només pantalla completa)
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Vista principal
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Vista principal
|
||||||
@@ -1385,12 +1385,12 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Posa en pausa automàticament quan comenci una nova partida: {STRING}
|
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Posa en pausa automàticament quan comenci una nova partida: {STRING}
|
||||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quan està activat, el joc es posa en pausa automàticament quan es comenci una partida nova, permetent a l'usuari estudiar el mapa més detalladament
|
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quan està activat, el joc es posa en pausa automàticament quan es comenci una partida nova, permetent a l'usuari estudiar el mapa més detalladament
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Accions permeses mentre s'està fent una pausa a la partida: {STRING}
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Quan s'estigui en pausa permet: {STRING}
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Seleccioneu quines accions es poden realitzar mentre s'està fent una pausa a la partida.
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecciona quines accions poden fer-se quan la partida està en pausa
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Cap
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Sense accions
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Totes, excepte les de construcció
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Totes les accions no-constructores
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Totes, excepte les que modifiquen el paisatge
|
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
|
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 :Mostra els grups en el llistat de vehicles de la companyia: {STRING}
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa la utilització de llistes avançades de vehicles 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 :Utilitza indicadors de càrrega: {STRING}
|
||||||
@@ -1407,7 +1407,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :El més antic d
|
|||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :El més modern disponible
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :El més modern disponible
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :El més utilitzat disponible
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :El més utilitzat disponible
|
||||||
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostra els camins reservats: {STRING}
|
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostra els camins reservats: {STRING}
|
||||||
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dóna a les vies reservades un color diferent per visualitzar problemes d'encaminament de trens
|
STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dóna a les vies reservades un color diferent per ajudar en problemes de trens que refusen entrar en blocs basats en camí
|
||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantingues les eines de construcció actives després del seu ús: {STRING}
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantingues les eines de construcció actives després del seu ús: {STRING}
|
||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mantingues les eines de construcció pels ponts, túnels, etc. obertes després d'utilitzar-les
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mantingues les eines de construcció pels ponts, túnels, etc. obertes després d'utilitzar-les
|
||||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupa les despeses a la finestra de finances de la companyia: {STRING}
|
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupa les despeses a la finestra de finances de la companyia: {STRING}
|
||||||
@@ -1516,7 +1516,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resum
|
|||||||
STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Complet
|
STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Complet
|
||||||
|
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Les notícies en color apareixen el: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Les notícies en color apareixen el: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Any en què els diaris comencen a fer anuncis en color. Abans d'aquest any, imprimiran en blanc i negre.
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Any en què els diaris comencen a fer els anunciaments impresos en color. Abans d'aquest any, s'utilitza el blanc i negre
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Any d'inici: {STRING}
|
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 :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_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
|
||||||
@@ -1603,7 +1603,7 @@ STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Proporció de p
|
|||||||
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA}
|
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA}
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Cap
|
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Cap
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador de mida inicial de ciutats: {STRING}
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador de mida inicial de ciutats: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :La grandària mitjana de les ciutats en relació als pobles a l'inici de la partida.
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :La grandària mitjana de les ciutats en relació als pobles a l'inici de la partida
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualitza el graf de distribució cada {STRING}{NBSP}di{P 0:2 a es}
|
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Actualitza el graf de distribució cada {STRING}{NBSP}di{P 0:2 a es}
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Temps entre recàlculs successius del graf de distribució. Cada recàlcul calcula els plans per un component del graf. Això significa que un valor X per aquest paràmetre no implica que tot el graf serà actualitzat cada X dies. Només alguns components ho seran. Com més curt el valor, més temps de processador es requerirà per calcular-ho. Com més llarg, més temps passarà fins que la distribució de càrregues comenci en noves rutes.
|
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Temps entre recàlculs successius del graf de distribució. Cada recàlcul calcula els plans per un component del graf. Això significa que un valor X per aquest paràmetre no implica que tot el graf serà actualitzat cada X dies. Només alguns components ho seran. Com més curt el valor, més temps de processador es requerirà per calcular-ho. Com més llarg, més temps passarà fins que la distribució de càrregues comenci en noves rutes.
|
||||||
@@ -1760,14 +1760,13 @@ STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostra l
|
|||||||
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra la configuració de les extensions NewGRF
|
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra la configuració de les extensions NewGRF
|
||||||
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprova si hi ha continguts nous i actualitzats per a descarregar
|
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprova si hi ha continguts nous i actualitzats per a descarregar
|
||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostra els paràmetres de les IA/Script de la partida
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostra els paràmetres de les IA/Script de la partida
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Surt de l'OpenTTD.
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Surt d'OpenTTD
|
||||||
|
|
||||||
STR_INTRO_BASESET :{WHITE}Al joc de gràfics base seleccionat li falten {NUM} sprite{P "" s}.{}Si us plau, comproveu-ne si hi ha actualitzacions disponibles.
|
STR_INTRO_TRANSLATION :{BLACK}A aquesta traducció li falten {NUM} caden{P a es}. Si us plau ajuda a fer millor OpenTTD unint-te com a traductor. Veure readme.txt per més detalls.
|
||||||
STR_INTRO_TRANSLATION :{BLACK}A aquesta traducció li falten {NUM} caden{P a es}. Si us plau, ajudeu a fer millor l'OpenTTD unint-vos com a traductor. Vegeu el fitxer readme.txt per més detalls.
|
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
STR_QUIT_CAPTION :{WHITE}Surt
|
STR_QUIT_CAPTION :{WHITE}Surt
|
||||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Esteu segur que voleu abandonar aquesta partida i tornar a {STRING}?
|
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Estàs segur que vols abandonar aquesta partida i tornar a {STRING}?
|
||||||
STR_QUIT_YES :{BLACK}Sí
|
STR_QUIT_YES :{BLACK}Sí
|
||||||
STR_QUIT_NO :{BLACK}No
|
STR_QUIT_NO :{BLACK}No
|
||||||
|
|
||||||
@@ -1861,7 +1860,7 @@ STR_FACE_SIMPLE :{BLACK}Simple
|
|||||||
STR_FACE_SIMPLE_TOOLTIP :{BLACK}Selecció de cara simple
|
STR_FACE_SIMPLE_TOOLTIP :{BLACK}Selecció de cara simple
|
||||||
STR_FACE_LOAD :{BLACK}Carrega
|
STR_FACE_LOAD :{BLACK}Carrega
|
||||||
STR_FACE_LOAD_TOOLTIP :{BLACK}Carrega la cara preferida
|
STR_FACE_LOAD_TOOLTIP :{BLACK}Carrega la cara preferida
|
||||||
STR_FACE_LOAD_DONE :{WHITE}S'ha carregat la cara personalitzada des de l'arxiu de configuració de l'OpenTTD.
|
STR_FACE_LOAD_DONE :{WHITE}S'ha carregat la cara personalitzada des de l'arxiu de configuració de l'OpenTTD
|
||||||
STR_FACE_FACECODE :{BLACK}Número de la cara
|
STR_FACE_FACECODE :{BLACK}Número de la cara
|
||||||
STR_FACE_FACECODE_TOOLTIP :{BLACK}Veure i/o assigna el número de la cara del president
|
STR_FACE_FACECODE_TOOLTIP :{BLACK}Veure i/o assigna el número de la cara del president
|
||||||
STR_FACE_FACECODE_CAPTION :{WHITE}Veure i/o assigna el número de la cara del president
|
STR_FACE_FACECODE_CAPTION :{WHITE}Veure i/o assigna el número de la cara del president
|
||||||
@@ -1869,7 +1868,7 @@ STR_FACE_FACECODE_SET :{WHITE}El núme
|
|||||||
STR_FACE_FACECODE_ERR :{WHITE}No s'ha pogut assignar el número de cara del president - ha de ser un nombre entre 0 i 4,294,967,295!
|
STR_FACE_FACECODE_ERR :{WHITE}No s'ha pogut assignar el número de cara del president - ha de ser un nombre entre 0 i 4,294,967,295!
|
||||||
STR_FACE_SAVE :{BLACK}Desa
|
STR_FACE_SAVE :{BLACK}Desa
|
||||||
STR_FACE_SAVE_TOOLTIP :{BLACK}Desa la cara preferida
|
STR_FACE_SAVE_TOOLTIP :{BLACK}Desa la cara preferida
|
||||||
STR_FACE_SAVE_DONE :{WHITE}Es desarà aquesta cara personalitzada a l'arxiu de configuració de l'OpenTTD.
|
STR_FACE_SAVE_DONE :{WHITE}Es desarà aquesta cara personalitzada a l'arxiu de configuració de l'OpenTTD
|
||||||
STR_FACE_EUROPEAN :{BLACK}Europea
|
STR_FACE_EUROPEAN :{BLACK}Europea
|
||||||
STR_FACE_SELECT_EUROPEAN :{BLACK}Selecciona cares europees
|
STR_FACE_SELECT_EUROPEAN :{BLACK}Selecciona cares europees
|
||||||
STR_FACE_AFRICAN :{BLACK}Africana
|
STR_FACE_AFRICAN :{BLACK}Africana
|
||||||
@@ -2207,9 +2206,9 @@ STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marca to
|
|||||||
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Deselecciona tot
|
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Deselecciona tot
|
||||||
STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marca tots els continguts a no ser descarregats
|
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 :{BLACK}Cerca en webs externes
|
||||||
STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Cerca contingut no disponible al servei de continguts de l'OpenTTD en webs no associades.
|
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}Esteu sortint de l'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.{}Haureu d'adreçar-vos a les webs externes per trobar instruccions sobre com instal·lar contingut a l'OpenTTD.{}Voleu continuar?
|
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_FILTER_TITLE :{BLACK}Marca/anomena filtre:
|
||||||
STR_CONTENT_OPEN_URL :{BLACK}Visita la web
|
STR_CONTENT_OPEN_URL :{BLACK}Visita la web
|
||||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visita la web per accedir a aquest contingut
|
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visita la web per accedir a aquest contingut
|
||||||
@@ -2262,9 +2261,9 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... no e
|
|||||||
STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}No s'han pogut descomprimir els arxius descarregats
|
STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}No s'han pogut descomprimir els arxius descarregats
|
||||||
|
|
||||||
STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gràfics que falten
|
STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gràfics que falten
|
||||||
STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}L'OpenTTD necessita gràfics per funcionar, però no se n'han trobat. Voleu permetre a l'OpenTTD descarregar i instal·lar aquests gràfics?
|
STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD necessita gràfics per funcionar però no se n'ha trobat cap. Vols permetre a OpenTTD descarregar i instal·lar aquests gràfics?
|
||||||
STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sí, descarregar els gràfics
|
STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sí, descarregar els gràfics
|
||||||
STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, surt de l'OpenTTD.
|
STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, surt d'OpenTTD
|
||||||
|
|
||||||
# Transparency settings window
|
# Transparency settings window
|
||||||
STR_TRANSPARENCY_CAPTION :{WHITE}Opcions de transparència
|
STR_TRANSPARENCY_CAPTION :{WHITE}Opcions de transparència
|
||||||
@@ -2591,7 +2590,6 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nom de l
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Càrrega acceptada: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Càrrega acceptada: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipus de via: {LTBLUE}{STRING}
|
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Límit de velocitat de la via: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Límit de velocitat de la via: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Límit de velocitat de la carretera: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Límit de velocitat de la carretera: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2604,29 +2602,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Camps de conreu
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Terreny nevat
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Terreny nevat
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Via ferroviària
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Via de {STRING}
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Via ferroviària amb senyals de secció
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} via amb senyals de bloc
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Via ferroviària amb senyals d'entrada
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} via amb pre-senyals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Via ferroviària amb senyals de sortida
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} via amb senyals de sortida
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Via ferroviària amb senyals combinats
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} via amb senyals combinats
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Ferrocarril via amb senyals de ruta
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} via amb senyals de camí
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Via ferroviària amb senyals de ruta d'un sentit
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} via amb senyals de camí d'un sentit
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Via ferroviària amb senyals de secció i d'entrada
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING}via amb senyals de bloc i pre-senyals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Via ferroviària amb senyals de secció i de sortida
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} via amb senyals de bloc i de sortida
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Via ferroviària amb senyals de secció i combinats
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} via amb senyals de bloc i combinats
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Via ferroviària amb senyals de secció i de ruta
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} via amb senyals de bloc i de camí
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Via ferroviària amb senyals de secció i de ruta d'un sentit
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} via amb senyals de bloc i de camí d'un sentit
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Via ferroviària amb senyals d'entrada i de sortida
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} via amb pre-senyals i senyals de sortida
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Via ferroviària amb senyals d'entrada i combinats
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} via amb pre-senyals i senyals combinats
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Via ferroviària amb senyals d'entrada i senyals de ruta
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} via amb pre-senyals i senyals de camí
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Via ferroviària amb senyals d'entrada i de ruta d'un sentit
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} via amb pre-senyals i senyals de camí d'un sentit
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Via ferroviària amb senyals combinats i de sortida
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} via amb senyals de sortida i combinats
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Via ferroviària amb senyals de sortida i de ruta
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} via amb senyals de sortida i de camí
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Via ferroviària amb senyals de sortida i de ruta d'un sentit
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} via amb senyals de sortida i de camí d'un sentit
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Via ferroviària amb senyals combinats i de ruta
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} via amb senyals combinats i de camí
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Via ferroviària amb senyals combinats i de ruta d'un sentit
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} via amb senyals combinats i de camí d'un sentit
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Via ferroviària amb senyals de ruta i de ruta d'un sentit
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} via amb senyals de camí i de camí d'un sentit
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Cotxeres de vehicles ferroviaris
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} cotxeres de tren
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Carretera
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Carretera
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Carretera amb fanals
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Carretera amb fanals
|
||||||
@@ -2689,8 +2687,8 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet
|
|||||||
# About OpenTTD window
|
# About OpenTTD window
|
||||||
STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD
|
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_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats.
|
||||||
STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD
|
STR_ABOUT_VERSION :{BLACK}OpenTTD versió {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 L'equip de l'OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 L'equip de l'OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida
|
||||||
@@ -2836,7 +2834,7 @@ STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paràmet
|
|||||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}No hi ha informació disponible
|
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}No hi ha informació disponible
|
||||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}No s'ha trobat cap arxiu coincident
|
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}No s'ha trobat cap arxiu coincident
|
||||||
STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivat
|
STR_NEWGRF_SETTINGS_DISABLED :{RED}Desactivat
|
||||||
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Versió incompatible amb aquesta versió de l'OpenTTD.
|
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Versió incompatible amb aquesta versió de OpenTTD
|
||||||
|
|
||||||
# NewGRF save preset window
|
# NewGRF save preset window
|
||||||
STR_SAVE_PRESET_CAPTION :{WHITE}Guardar configuració NewGRF
|
STR_SAVE_PRESET_CAPTION :{WHITE}Guardar configuració NewGRF
|
||||||
@@ -2909,13 +2907,15 @@ 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_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_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_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 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_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_FORCEFULLY_DISABLED :{1:STRING} ha estat desactivat per {STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Format de disposició de sprite no vàlid o 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
|
# NewGRF related 'general' warnings
|
||||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Alerta!
|
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Alerta!
|
||||||
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Esteu a punt de fer canvis en una partida activa que poden fer que l'OpenTTD falli. No envieu cap informe d'error produït després d'efectuar aquests canvis crítics.{}Esteu completament segur que voleu fer-los?
|
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Esteu a punt de fer canvis en una partida activa. Això pot fer que l'OpenTTD falli. No envieu cap informe d'error sobre això.{}Esteu completament segur que voleu fer-los?
|
||||||
|
|
||||||
STR_NEWGRF_DUPLICATE_GRFID :{WHITE}No es pot afegir l'arxiu: ID GRF duplicada
|
STR_NEWGRF_DUPLICATE_GRFID :{WHITE}No es pot afegir l'arxiu: ID GRF duplicada
|
||||||
STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}No s'ha trobat un arxiu coincident (els GRF compatibles s'han carregat)
|
STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}No s'ha trobat un arxiu coincident (els GRF compatibles s'han carregat)
|
||||||
@@ -2937,7 +2937,7 @@ STR_NEWGRF_BROKEN :{WHITE}El compo
|
|||||||
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Un vehicle '{1:ENGINE}' ha canviat el seu estat de vagó amb potència mentre estava fora de la cotxera
|
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Un vehicle '{1:ENGINE}' ha canviat el seu estat de vagó amb potència mentre estava fora de la cotxera
|
||||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Un vehicle '{1:ENGINE}' ha canviat la seva llargada mentre estava fora del dipòsit
|
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Un vehicle '{1:ENGINE}' ha canviat la seva llargada mentre estava fora del dipòsit
|
||||||
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Un vehicle '{1:ENGINE}' ha canviat la seva capacitat mentre estava fora del dipòsit o no s'estava canviant el tipus de càrrega a transportar
|
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Un vehicle '{1:ENGINE}' ha canviat la seva capacitat mentre estava fora del dipòsit o no s'estava canviant el tipus de càrrega a transportar
|
||||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}El tren «{VEHICLE}» propietat de «{COMPANY}» té una llargada invàlida, probablement a causa de problemes amb els NewGRF. La partida podria dessincronitzar-se o fallar.
|
STR_BROKEN_VEHICLE_LENGTH :{WHITE}El tren '{VEHICLE}' de '{COMPANY}' té una llargada invàlida, probablement a causa de problemes amb els NewGRF. La partida podria dessincronitzar-se o fallar.
|
||||||
|
|
||||||
STR_NEWGRF_BUGGY :{WHITE}El NewGRF '{0:STRING}' està donant informació incorrecta
|
STR_NEWGRF_BUGGY :{WHITE}El NewGRF '{0:STRING}' està donant informació incorrecta
|
||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La informació de càrrega/remodelació per '{1:ENGINE}' no encaixa amb la llista de compres després de la construcció. Això podria causar un mal funcionament de autorenova/-substitueix
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La informació de càrrega/remodelació per '{1:ENGINE}' no encaixa amb la llista de compres després de la construcció. Això podria causar un mal funcionament de autorenova/-substitueix
|
||||||
@@ -3295,13 +3295,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Necessit
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessita: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessita: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}esperant
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Càrrega en espera de ser processada:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3396,7 +3392,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacita
|
|||||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagons Automotrius: {GOLD}+{POWER}{BLACK} Pes: {GOLD}+{WEIGHT_SHORT}
|
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagons Automotrius: {GOLD}+{POWER}{BLACK} Pes: {GOLD}+{WEIGHT_SHORT}
|
||||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Remodelable a: {GOLD}{STRING}
|
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Remodelable a: {GOLD}{STRING}
|
||||||
STR_PURCHASE_INFO_ALL_TYPES :Totes les càrregues
|
STR_PURCHASE_INFO_ALL_TYPES :Totes les càrregues
|
||||||
STR_PURCHASE_INFO_ALL_BUT :Qualsevol excepte {CARGO_LIST}
|
STR_PURCHASE_INFO_ALL_BUT :Tots menys {CARGO_LIST}
|
||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Esforç de tracció màxim: {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_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Abast: {GOLD}{COMMA} cel·les
|
||||||
|
|
||||||
@@ -3562,10 +3558,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} quan s
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Para de substituir
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Para de substituir
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Prem per aturar el reemplaçament del model seleccionat a l'esquerra
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Prem per aturar el reemplaçament del model seleccionat a l'esquerra
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituint: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Canvia entre finestres de substitució de vagons i de motors
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Canvia entre finestres de substitució de vagons i de motors
|
||||||
STR_REPLACE_ENGINES :Motors
|
STR_REPLACE_ENGINES :Motors
|
||||||
STR_REPLACE_WAGONS :Vagons
|
STR_REPLACE_WAGONS :Vagons
|
||||||
STR_REPLACE_ALL_RAILTYPE :Tots els vehicles ferroviaris
|
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Tria el tipus de via dels models de vehicle que vols substituir
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Tria el tipus de via dels models de vehicle que vols substituir
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostra quin model dels seleccionats a l'esquerra es substitueix, si n'hi ha
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostra quin model dels seleccionats a l'esquerra es substitueix, si n'hi ha
|
||||||
@@ -3888,7 +3884,7 @@ STR_ORDER_CONDITIONAL_UNCONDITIONAL :salta a l'ordre
|
|||||||
STR_ORDER_CONDITIONAL_NUM :Salta a l'ordre {COMMA} quan {STRING} {STRING} {COMMA}
|
STR_ORDER_CONDITIONAL_NUM :Salta a l'ordre {COMMA} quan {STRING} {STRING} {COMMA}
|
||||||
STR_ORDER_CONDITIONAL_TRUE_FALSE :Salta a l'ordre {COMMA} quan {STRING} {STRING}
|
STR_ORDER_CONDITIONAL_TRUE_FALSE :Salta a l'ordre {COMMA} quan {STRING} {STRING}
|
||||||
|
|
||||||
STR_INVALID_ORDER :{RED} (Ordre incorrecta)
|
STR_INVALID_ORDER :{RED} (Ordre incorrecte)
|
||||||
|
|
||||||
# Time table window
|
# Time table window
|
||||||
STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horari)
|
STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horari)
|
||||||
|
@@ -572,7 +572,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zumirano do kra
|
|||||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona
|
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona
|
||||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte
|
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
||||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnanje spritea
|
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnjanje sprite-a
|
||||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granične okvire
|
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granične okvire
|
||||||
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Mijenjaj boju blatnih blokova
|
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Mijenjaj boju blatnih blokova
|
||||||
############ range ends here
|
############ range ends here
|
||||||
@@ -778,7 +778,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klikni n
|
|||||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikni na glazbenu traku kako bi ju uklonio iz trenutnog programa (samo Proizvoljno 1 ili Proizvoljno 2)
|
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikni na glazbenu traku kako bi ju uklonio iz trenutnog programa (samo Proizvoljno 1 ili Proizvoljno 2)
|
||||||
|
|
||||||
# Highscore window
|
# Highscore window
|
||||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Najbolje tvrtke do {NUM}. godine
|
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Najbolje tvrtke koje su dosigle razinu {NUM}
|
||||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tablica tvrtki u {NUM}
|
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tablica tvrtki u {NUM}
|
||||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Privrednik
|
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Privrednik
|
||||||
@@ -962,13 +962,13 @@ STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION
|
|||||||
STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku}
|
STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku}
|
||||||
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku} i {STRING.aku}
|
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku} i {STRING.aku}
|
||||||
|
|
||||||
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Istekla je ponuda za poticaje:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više neće biti potican
|
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Istekla je ponuda subvencije:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više neće biti subvencioniran
|
||||||
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija je povučena:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više nije subvencioniran
|
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija je povučena:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više nije subvencioniran
|
||||||
STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuđen je poticaj:{}{}Prvi koji preveze {STRING.aku} od {STRING} do {STRING} primat će jednogodišnji poticaj lokalne samouprave!
|
STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuđena je subvencija:{}{}Prvi koji preveze {STRING.aku} od {STRING} do {STRING} primat će jednogodišnju subvenciju od lokalne samouprave!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se 50% više sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se 50% više sljedećih godinu dana!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se dvostruko sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se dvostruko sljedećih godinu dana!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Poticaj je dodijeljen tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se trostruko sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se trostruko sljedećih godinu dana!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Poticaj je dodijeljen tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se četverostruko sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se četverostruko sljedećih godinu dana!
|
||||||
|
|
||||||
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Grad {TOWN} zahvatio je prometni kaos!{}{}Program rekonstrukcije cesta koji financira tvrtka {STRING} sljedećih će 6 mjeseci zadavati glavobolje motoriziranima!
|
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Grad {TOWN} zahvatio je prometni kaos!{}{}Program rekonstrukcije cesta koji financira tvrtka {STRING} sljedećih će 6 mjeseci zadavati glavobolje motoriziranima!
|
||||||
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopol transporta!
|
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopol transporta!
|
||||||
@@ -1245,7 +1245,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Brzina gradnje:
|
|||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitiraj količinu građevinskih akcija za UI-je
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitiraj količinu građevinskih akcija za UI-je
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Kvarovi vozila: {STRING}
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Kvarovi vozila: {STRING}
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontroliraj kako često se mogu pokvariti loše servisirana vozila
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontroliraj kako često se mogu pokvariti loše servisirana vozila
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Množitelj za poticaje: {STRING}
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Množitelj za subvencije: {STRING}
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Postavi koliko se plaća za subvencionirane veze
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Postavi koliko se plaća za subvencionirane veze
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Građevinski troškovi: {STRING}
|
STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Građevinski troškovi: {STRING}
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Postavi razinu građevinskih troškova i troškova kupnje
|
STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Postavi razinu građevinskih troškova i troškova kupnje
|
||||||
@@ -1385,9 +1385,9 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debljina linija
|
|||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni određuju osnovne scenarije za igru s različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre omogućavaju detaljnije kontrole i postavke.
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni definiraju osnovne scenarije za igru sa različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre dozvoljavaju detaljnije kontrole i postavke.
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR :Generator zemlje: {STRING}
|
STR_CONFIG_SETTING_LAND_GENERATOR :Generator zemlje: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Izvorni generator ovisi o osnovnom grafičkom setu i stvara fiksne oblike terena. TerraGenesis je generator temeljen na Perlinovom šumu s detaljnijim kontrolama i postavkama.
|
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originalni generator ovisi o baznom grafičkom setu i stvara fiksne oblike u terenu. TerraGenesis je generator baziran na Perlinu sa detaljnijim kontrolama i postavkama.
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Izvorni
|
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Izvorni
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Vrsta terena: {STRING}
|
STR_CONFIG_SETTING_TERRAIN_TYPE :Vrsta terena: {STRING}
|
||||||
@@ -1578,17 +1578,17 @@ STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Uključivanjem
|
|||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Dolazak prvog vozila na postaju igrača: {STRING}
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Dolazak prvog vozila na postaju igrača: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Prikaži novine kada prvo vozilo dođe na stanicu novog igrača
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Prikaži novine kada prvo vozilo dođe na stanicu novog igrača
|
||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Dolazak prvog vozila na postaju suparnika: {STRING}
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Dolazak prvog vozila na postaju suparnika: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Prikaži novosti kada prvo vozilo dođe na protivničku postaju
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Prikaži novine kada prvo vozilo dođe na suparnikovu stanicu
|
||||||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Nesreće / katastrofe: {STRING}
|
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Nesreće / katastrofe: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Prikaži novine kod nesreća ili katastrofa
|
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Prikaži novine kod nesreća ili katastrofa
|
||||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Podaci vezani za tvrtku: {STRING}
|
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Podaci vezani za tvrtku: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikaži novosti kada se pojavi nova tvrtka ili kada tvrtke riskiraju bankrot
|
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikaži novine kada se pojavi nova tvrtka ili kada tvrtke riskiraju bankrot
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje industrije: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje industrije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikaži novine kada se nove industrije otvaraju
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikaži novine kada se nove industrije otvaraju
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje industrije: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje industrije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novosti kada se industrije zatvaraju
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novine kada se industrije zatvaraju
|
||||||
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Gospodarske promjene: {STRING}
|
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Promjene u gospodarstvu: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novosti vezane za globalne gospodarske promjene
|
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novine vezano za globalne promjene u ekonomiji
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promjene u proizvodnji industrija koje opslužuje tvrtka: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promjene u proizvodnji industrija koje opslužuje tvrtka: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka opslužuje
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka opslužuje
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promjene u proizvodnji industrija koje opslužuju suparnici: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promjene u proizvodnji industrija koje opslužuju suparnici: {STRING}
|
||||||
@@ -1600,11 +1600,11 @@ STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Prikaži poruke
|
|||||||
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING}
|
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikaži novine kada neki novi tip vozila postane dostupan
|
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikaži novine kada neki novi tip vozila postane dostupan
|
||||||
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Promjene u prihvaćanju tereta: {STRING}
|
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Promjene u prihvaćanju tereta: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Prikaži poruke o postajama koje mijenjaju prihvaćanje nekih tereta
|
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Prikaži poruke o stanicama koje mijenjaju prihvaćanje nekih tereta
|
||||||
STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencije: {STRING}
|
STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikaži novosti vezane za poticaje
|
STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikaži novine vezano za događaje o subvencijama
|
||||||
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Opće informacije: {STRING}
|
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Opće informacije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikaži novosti vezane za opće događaje kao što su kupnja ekskluzivnih prava ili financiranje rekonstrukcije cesta
|
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikaži novine vezano za opće događaje kao za kupnju ekskluzivnih prava ili financiranje rekonstrukcije cesta
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Isključeno
|
STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Isključeno
|
||||||
STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Sažetak
|
STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Sažetak
|
||||||
@@ -1613,7 +1613,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Sve
|
|||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING}
|
STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi stabilno gospodarstvo (više manjih izazova): {STRING}
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi tečnu ekonomiju (više manjih izazova): {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dopušta se kupnja i prodaja dionica tvrtki. Dionice će postati dostupne samo za tvrtke određene starosti
|
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dopušta se kupnja i prodaja dionica tvrtki. Dionice će postati dostupne samo za tvrtke određene starosti
|
||||||
@@ -1649,11 +1649,11 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Nasumično
|
|||||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Gradovi mogu graditi ceste: {STRING}
|
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Gradovi mogu graditi ceste: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Dopusti gradovima građenje cesta u svrhu rasta. Isključi za sprečavanje gradskih vlasti u samostalnoj gradnji cesta
|
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Dopusti gradovima građenje cesta u svrhu rasta. Isključi za sprečavanje gradskih vlasti u samostalnoj gradnji cesta
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Gradovi smiju graditi pružne prijelaze: {STRING}
|
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Gradovi smiju graditi pružne prijelaze: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Uključivanje ove postavke dopušta gradovima izgradnju cestovno-pružnih prijelaza
|
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Uključivanje ove postavke dozvoljava se gradovima da grade cestovno-pružne prijelaze
|
||||||
STR_CONFIG_SETTING_NOISE_LEVEL :Omogući određivanje razine buke za zračne luke od strane gradova: {STRING}
|
STR_CONFIG_SETTING_NOISE_LEVEL :Omogući određivanje razine buke za zračne luke od strane gradova: {STRING}
|
||||||
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dvije zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je ograničen količinom dopuštene buke u gradu, koja ovisi o broju stanovnika i udaljenosti i veličini zračne luke
|
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dvije zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je ograničen količinom dopuštene buke u gradu, koja ovisi o broju stanovnika i udaljenosti i veličini zračne luke
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje gradova tijekom igre: {STRING}
|
STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje gradova tijekom igre: {STRING}
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Uklučivanje ove postavke dopušta igračima osnivanje novih gradova tijekom igre
|
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Uklučivanje ove postavke dozvoljava igračima osnivanje novih gradova tijekom igre
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabranjeno
|
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabranjeno
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dopušteno
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dopušteno
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dopušteno, proizvoljan raspored grada
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dopušteno, proizvoljan raspored grada
|
||||||
@@ -1857,7 +1857,6 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Provjeri
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Prikaži postavke UI-ja/Skripte igre
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Prikaži postavke UI-ja/Skripte igre
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Izzađi it 'OpenTTD'-a
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Izzađi it 'OpenTTD'-a
|
||||||
|
|
||||||
STR_INTRO_BASESET :{BLACK}Trenutno odabranom osnovnom grafičkom setu nedostaje {NUM} sprite{P "" a a}. Potražite nadogradnju grafičkog seta.
|
|
||||||
STR_INTRO_TRANSLATION :{BLACK}Ovom prijevodu nedostaje {NUM} slijed. Molimo, pomognite učiniti OpenTTD boljim tako da se prijavite kao prevoditelj. Pogledajte readme.txt za detalje.
|
STR_INTRO_TRANSLATION :{BLACK}Ovom prijevodu nedostaje {NUM} slijed. Molimo, pomognite učiniti OpenTTD boljim tako da se prijavite kao prevoditelj. Pogledajte readme.txt za detalje.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -1880,8 +1879,8 @@ STR_OSNAME_SUNOS :SunOS
|
|||||||
|
|
||||||
# Abandon game
|
# Abandon game
|
||||||
STR_ABANDON_GAME_CAPTION :{WHITE}Napusti igru
|
STR_ABANDON_GAME_CAPTION :{WHITE}Napusti igru
|
||||||
STR_ABANDON_GAME_QUERY :{YELLOW}Doista želiš napustiti ovu igru?
|
STR_ABANDON_GAME_QUERY :{YELLOW}Jesi li siguran da želiš napustiti ovu igru?
|
||||||
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Doista želiš napustiti ovaj scenarij?
|
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Jesi li siguran da želiš napustiti ovaj scenarij?
|
||||||
|
|
||||||
# Cheat window
|
# Cheat window
|
||||||
STR_CHEATS :{WHITE}Varanje
|
STR_CHEATS :{WHITE}Varanje
|
||||||
@@ -2375,7 +2374,7 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Namjesti
|
|||||||
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Učini objekte nevidljivima umjesto prozirnima
|
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Učini objekte nevidljivima umjesto prozirnima
|
||||||
|
|
||||||
# Linkgraph legend window
|
# Linkgraph legend window
|
||||||
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Kazalo protoka tereta
|
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legenda protoka tereta
|
||||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Sve
|
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Sve
|
||||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ništa
|
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ništa
|
||||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi tvrtke koje će se prikazati
|
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi tvrtke koje će se prikazati
|
||||||
@@ -2450,13 +2449,13 @@ STR_STATION_CLASS_WAYP :Čvorišta
|
|||||||
|
|
||||||
# Signal window
|
# Signal window
|
||||||
STR_BUILD_SIGNAL_CAPTION :{WHITE}Izbornik signala
|
STR_BUILD_SIGNAL_CAPTION :{WHITE}Izbornik signala
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Standardni signal (semafor){}Ovo je najosnovnija vrsta signala, dopušta istovremeno samo jedan vlak u bloku
|
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Standardni signal (semafor){}Ovo je najosnovnija vrsta signala, dozvoljava istovremeno samo jedan vlak u bloku
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ulazni signal (semafor){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ulazni signal (semafor){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Izlazni signal (semafor){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima
|
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Izlazni signal (semafor){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Kombo signal (semafor){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Kombo signal (semafor){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Standardne putne signale moguće je proći iz suprotnog smjera.
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Standardne putne signale moguće je proći iz suprotnog smjera.
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Jednosmjerni putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Jednosmjerne putne signale nije moguće proći iz suprotnog smjera
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Jednosmjerni putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Jednosmjerne putne signale nije moguće proći iz suprotnog smjera
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standardni signal (električni){}Ovo je najosnovnija vrsta signala, istovremeno dopušta samo jedan vlak u bloku
|
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standardni signal (električni){}Ovo je najosnovnija vrsta signala, dozvoljava istovremeno samo jedan vlak u bloku
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ulazni signal (električni){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ulazni signal (električni){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Izlazni signal (električni){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima.
|
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Izlazni signal (električni){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima.
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombo signal (električni){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombo signal (električni){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
||||||
@@ -2570,7 +2569,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Proizved
|
|||||||
STR_LANDSCAPING_TOOLBAR :{WHITE}Uređivanje krajolika
|
STR_LANDSCAPING_TOOLBAR :{WHITE}Uređivanje krajolika
|
||||||
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Snizi jedan kut zemlje. Povlačenje snižava prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Snizi jedan kut zemlje. Povlačenje snižava prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Podigni jedan kut zemlje. Povlačenje podiže prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Podigni jedan kut zemlje. Povlačenje podiže prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Izravnaj zemlju na visinu prvog odabranog kuta. Ctrl odabire područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Poravnaj područje zemlje na visinu prvog odabranog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kupi zemlju za buduću uporabu. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kupi zemlju za buduću uporabu. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
|
|
||||||
# Object construction window
|
# Object construction window
|
||||||
@@ -2686,7 +2685,6 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Naziv po
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Prihvaćeni teret: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Prihvaćeni teret: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Vrsta željeznice: {LTBLUE}{STRING}
|
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Najveća brzina željeznice: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Najveća brzina željeznice: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Ograničenje brzine na cesti: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Ograničenje brzine na cesti: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2699,29 +2697,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Polja
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Zemlja pokrivena snijegom
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Zemlja pokrivena snijegom
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Pustinja
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Pustinja
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Pruga
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} pruga
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Pruga sa blok-signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} pruga sa blok-signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Pruga sa pred-signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} pruga sa pred-signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Pruga sa izlaznim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} pruga sa izlaznim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Pruga sa kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} pruga sa kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Pruga sa putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} pruga sa putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Pruga sa jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} pruga sa jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Pruga sa blok-signalima i pred-signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} pruga sa blok-signalima i pred-signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Pruga sa blok-signalima i izlaznim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} pruga sa blok-signalima i izlaznim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Pruga sa blok-signalima i kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} pruga sa blok-signalima i kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Pruga sa blok-signalima i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} pruga sa blok-signalima i putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Pruga sa blok-signalima i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} pruga sa blok-signalima i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Pruga sa pred-signalima i izlaznim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} pruga sa pred-signalima i izlaznim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Pruga sa pred-signalima i kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} pruga sa pred-signalima i kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Pruga sa pred-signalima i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} pruga sa pred-signalima i putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Pruga sa pred-signalima i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} pruga sa pred-signalima i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Pruga sa izlaznim i kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} pruga sa izlaznim i kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Pruga sa izlaznim i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} pruga sa izlaznim i putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Pruga sa izlaznim i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} pruga sa izlaznim i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Pruga sa kombiniranim i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} pruga sa kombiniranim i putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Pruga sa kombiniranim i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} pruga sa kombiniranim i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Pruga sa putnim i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} pruga sa putnim i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Spremište vlakova
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} spremište vlaka
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Cesta
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Cesta
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Cesta s javnom rasvjetom
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Cesta s javnom rasvjetom
|
||||||
@@ -2785,7 +2783,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
|
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_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD tim
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 OpenTTD tim
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru
|
||||||
@@ -3004,6 +3002,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Pokušaj koriš
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sadrži neispravan sprite. Svi neispravni grafički znakovi bit će pokazani kao crveni upitnik (?).
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sadrži neispravan sprite. Svi neispravni grafički znakovi bit će pokazani kao crveni upitnik (?).
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sadrži višestruke unose za Action 8 (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sadrži višestruke unose za Action 8 (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Pročitaj nakon kraja od pseudo-sprite (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Pročitaj nakon kraja od pseudo-sprite (sprite {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Baznom grafičkom setu u uporabi nedostaju neki spriteovi.{}Ažurirajte bazni grafički set
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Trenutno korištenom osnovnom grafičkom setu nedostaju pojedini crteži.{}Molimo da nadogradite osnovni grafički set.{}Pošto igrate {YELLOW}razvojnu inačicu OpenTTD-a{WHITE}, možda će vam trebati i {YELLOW}razvojna inačica osnovnog grafičkog seta{WHITE}
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Zatraženi GRF resursi nisu dostupni (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Zatraženi GRF resursi nisu dostupni (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} je isključen od strane {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} je isključen od strane {STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Pogrešan/nepoznat format raspored sprite-a (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Pogrešan/nepoznat format raspored sprite-a (sprite {3:NUM})
|
||||||
@@ -3390,13 +3390,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Treba: {
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Treba: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Treba: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Treba
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}čeka
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Teret koji čeka obradu:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Proizvodi: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Proizvodi: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Proizvodi: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Proizvodi: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3657,10 +3653,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} kada j
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Prestani zamijenjivati vozila
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Prestani zamijenjivati vozila
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikni za zaustavljanje zamjene lijevo odabrane vrste lokomotive
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikni za zaustavljanje zamjene lijevo odabrane vrste lokomotive
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Zamjenjujem:{ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Prebaci između prozora za izmjenu lokomotiva i vagona
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Prebaci između prozora za izmjenu lokomotiva i vagona
|
||||||
STR_REPLACE_ENGINES :Lokomotive
|
STR_REPLACE_ENGINES :Lokomotive
|
||||||
STR_REPLACE_WAGONS :Vagoni
|
STR_REPLACE_WAGONS :Vagoni
|
||||||
STR_REPLACE_ALL_RAILTYPE :Sva pružna vozila
|
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Odaberite vrstu željeznice za koju želite zamijeniti lokomotive
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Odaberite vrstu željeznice za koju želite zamijeniti lokomotive
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Prikazuje sa kojom se lokomotivom zamjenjuje lijevo odabrana lokomotiva, ako postoji koji
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Prikazuje sa kojom se lokomotivom zamjenjuje lijevo odabrana lokomotiva, ako postoji koji
|
||||||
|
@@ -1848,7 +1848,6 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Ukázat,
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Zobrazit nastavení AI a hry
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Zobrazit nastavení AI a hry
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Ukončit 'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Ukončit 'OpenTTD'
|
||||||
|
|
||||||
STR_INTRO_BASESET :{BLACK}V aktuálně zvolené základní sadě grafiky chybí {NUM} sprit{P "" y ů}. Zkuste, prosím, vyhledat aktualizovanou základní sadu.
|
|
||||||
STR_INTRO_TRANSLATION :{BLACK}Tento překlad postrádá {NUM} řetěz{P ec ce ců}. Prosím pomozte OpenTTD udělat lepším a přihlaste se jako překladatel. Pro více informací, čtěte readme.txt.
|
STR_INTRO_TRANSLATION :{BLACK}Tento překlad postrádá {NUM} řetěz{P ec ce ců}. Prosím pomozte OpenTTD udělat lepším a přihlaste se jako překladatel. Pro více informací, čtěte readme.txt.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -1884,7 +1883,7 @@ STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magick
|
|||||||
STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunely se mohou křížit: {ORANGE}{STRING}
|
STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunely se mohou křížit: {ORANGE}{STRING}
|
||||||
STR_CHEAT_NO_JETCRASH :{LTBLUE}Letadla nebudou na malých letištích havarovat (tak často): {ORANGE}{STRING}
|
STR_CHEAT_NO_JETCRASH :{LTBLUE}Letadla nebudou na malých letištích havarovat (tak často): {ORANGE}{STRING}
|
||||||
STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Upravit maximální výšku mapy: {ORANGE}{NUM}
|
STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Upravit maximální výšku mapy: {ORANGE}{NUM}
|
||||||
STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Upravit maximální výšku hor na mapě
|
STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{BLACK}Upravit maximální výšku hor na mapě
|
||||||
STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :krajina mírného pásma
|
STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :krajina mírného pásma
|
||||||
STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :subarktická krajina
|
STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :subarktická krajina
|
||||||
STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :subtropická kraina
|
STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :subtropická kraina
|
||||||
@@ -2683,7 +2682,6 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Název d
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Přijímané zboží: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Přijímané zboží: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Druh kolejí: {LTBLUE}{STRING}
|
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Rychlostní omezení tratě: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Rychlostní omezení tratě: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Rychlostní omezení silnice: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Rychlostní omezení silnice: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2696,29 +2694,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Pole
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Zasněžená země
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Zasněžená země
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Poušť
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Poušť
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Železniční trať
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} trať
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Železniční trať s obyčejnými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} trať s obyčejným návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Železniční trať s vjezdovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} trať s vjezdovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Železniční trať s odjezdovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} trať s výjezdovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Železniční trať s kombinovanými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} trať s kombinovaným návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Železniční trať s dokonalejšími (PBS) návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} trať s dokonalejším (PBS) návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Železniční trať s jednosměrnými cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} trať s dokonalejším (PBS) jednosměrným návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Železniční trať s obyčejnými a vjezdovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} trať s obyčejným a vjezdovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Železniční trať s obyčejnými a odjezdovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} trať s obyčejným a odjezdovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Železniční trať s obyčejnými a kombinovanými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} trať s obyčejným a kombinovaným návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Železniční trať s obyčejnými a cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} trať s obyčejným a cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Železniční trať s obyčejnými a jednosměrnými cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} trať s obyčejným a jednosměrným cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Železniční trať s vjezdovými a odjezdovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} trať s vjezdovým a odjezdovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Železniční trať s vjezdovými a kombinovanými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} trať s vjezdovým a kombinovaným návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Železniční trať s vjezdovými a cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} trať s vjezdovým a cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Železniční trať s vjezdovými a jednosměrnými cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} trať s vjezdovým a jednosměrným cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Železniční trať s odjezdovými a kombinovanými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} trať s výjezdovým a kombinovaným návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Železniční trať s odjezdovými a cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} trať s výjezdovým a cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Železniční trať s odjezdovými a jednosměrnými cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} trať s výjezdovým a jednosměrným cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Železniční trať s kombinovanými a cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} trať s kombinovaným a cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Železniční trať s kombinovanými a jednosměrnými cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} trať s kombinovaným a jednosměrným cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Železniční trať s cestovými a jednosměrnými cestovými návěstidly
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} trať s cestovým a jednosměrným cestovým návěstidlem
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Železniční depo
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} železniční depo
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Silnice
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Silnice
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Silnice s pouličním osvětlením
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Silnice s pouličním osvětlením
|
||||||
@@ -2782,7 +2780,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
|
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_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Tým OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Tým OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru
|
||||||
@@ -3001,6 +2999,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Pokus o použit
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} obsahuje poškozený sprite. Všechny takové se zobrazí jako červený otazník (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} obsahuje poškozený sprite. Všechny takové se zobrazí jako červený otazník (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Obsahuje vícero Akce 8 záznamů (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Obsahuje vícero Akce 8 záznamů (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Čtení konce pseudo-spritu (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Čtení konce pseudo-spritu (sprite {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Právě používanému základnímu grafickému setu chybí obrázky.{}Prosím, updatujte ho
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Aktuálnímu grafickému setu chybí nějaké části.{}Aktualizuj prosím grafický set.{}Pokud hraješ{YELLOW}vývojovou verzi OpenTTD{WHITE}, možná potřebuješ {YELLOW}vývojovou verzi základních grafik{WHITE}
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Požadované zdroje GRF nejsou dostupné (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Požadované zdroje GRF nejsou dostupné (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} byla vypnuta {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} byla vypnuta {STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Neplatný/neznámý sprite layout formát (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Neplatný/neznámý sprite layout formát (sprite {3:NUM})
|
||||||
@@ -3225,7 +3225,7 @@ STR_STATION_VIEW_VIA :{YELLOW}{CARGO_
|
|||||||
STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} do {STATION}
|
STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} do {STATION}
|
||||||
STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} z neznámé stanice
|
STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} z neznámé stanice
|
||||||
STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} do kterékoliv stanice
|
STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} do kterékoliv stanice
|
||||||
STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} přes jakoukoliv stanici
|
STR_STATION_VIEW_VIA_ANY :{GREEN}{CARGO_SHORT} přes jakoukoliv stanici
|
||||||
STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} z této stanice
|
STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} z této stanice
|
||||||
STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} zastavuje v této stanici
|
STR_STATION_VIEW_VIA_HERE :{GREEN}{CARGO_SHORT} zastavuje v této stanici
|
||||||
STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} do této stanice
|
STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_SHORT} do této stanice
|
||||||
@@ -3387,13 +3387,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Vyžaduj
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vyžaduje: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING}, {STRING.acc}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vyžaduje: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING}, {STRING.acc}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}ček{P á ají á}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Náklad čekající na zpracování:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3657,10 +3653,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} když
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Vypnout vyměňování
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Vypnout vyměňování
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Zmáčkni toto tlačítko, když nechceš vyměňovat typ lokomotivy vybraný v levém seznamu
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Zmáčkni toto tlačítko, když nechceš vyměňovat typ lokomotivy vybraný v levém seznamu
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Vyměňování: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Přepne mezi okny na výměnu lokomotiv a vagonů
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Přepne mezi okny na výměnu lokomotiv a vagonů
|
||||||
STR_REPLACE_ENGINES :lokomotivy
|
STR_REPLACE_ENGINES :lokomotivy
|
||||||
STR_REPLACE_WAGONS :vagony
|
STR_REPLACE_WAGONS :vagony
|
||||||
STR_REPLACE_ALL_RAILTYPE :Všechna drážní vozidla
|
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Vyber typ kolejí, pro které chceš měnit lokomotivy
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Vyber typ kolejí, pro které chceš měnit lokomotivy
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Tady je zobrazeno, za jakou lokomotivu se ta v levém seznamu vyměňuje
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Tady je zobrazeno, za jakou lokomotivu se ta v levém seznamu vyměňuje
|
||||||
@@ -4193,7 +4189,7 @@ STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... nelz
|
|||||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... obrázek je příliš velký
|
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... obrázek je příliš velký
|
||||||
|
|
||||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Varování kvůli velikosti
|
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Varování kvůli velikosti
|
||||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Tak velká změna velikosti zdrojové mapy není doporučena. Pokračovat v generování?
|
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Tak velká zmena velikosti zdrojové mapy není doporučena. Pokračovat s generováním?
|
||||||
|
|
||||||
# Soundset messages
|
# Soundset messages
|
||||||
STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Byl nalezen pouze nouzový zvukový soubor. Pokud chcete zvuky, nainstalujte prosim zvukové soubory skrze systém stahování obsahu
|
STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Byl nalezen pouze nouzový zvukový soubor. Pokud chcete zvuky, nainstalujte prosim zvukové soubory skrze systém stahování obsahu
|
||||||
|
@@ -2601,29 +2601,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Marker
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snedækket land
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snedækket land
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Ørken
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Ørken
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Jernbane spor
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} spor
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Jernbane spor med bloksignaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} spor med bloksignaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Jernbane spor med with pre-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} spor med with pre-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangssignaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} spor med udgangssignaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Jernbane spor med kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} spor med kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Jernbane spor med rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} spor med rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Jernbane spor med en-vejs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} spor med en-vejs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Jernbane spor med blok- og pre-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} spor med blok- og pre-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Jernbane spor med blok- og udgangs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} spor med blok- og udgangs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok og kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} spor med blok og kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Jernbane spor med blok- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} spor med blok- og rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Jernbane spor med blok og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} spor med blok og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Jernbane spor med pre- og udgangs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} spor med pre- og udgangs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Jernbane spor med pre- og kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} spor med pre- og kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Jernbane spor med pre- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} spor med pre- og rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Jernbane spor med pre- og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} spor med pre- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Jernbane spor med udgangs- og kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} spor med udgangs- og kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Jernbane spor med udgangs- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} spor med udgangs- og rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Jernbane spor med udgangs- og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} spor med udgangs- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Jernbane spor med kombinerede og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} spor med kombinerede og rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinerede og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} spor med kombinerede og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Jernbane spor med rute- og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} spor med rute- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbane togdepot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} togdepot
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Vej
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Vej
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Vej med gadelygter
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Vej med gadelygter
|
||||||
@@ -2687,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD teamet
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 OpenTTD teamet
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
|
||||||
@@ -2874,7 +2874,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Gå til
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Tidligere grafikelement
|
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Tidligere grafikelement
|
||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsæt til den forrige normal sprite, springe over nogen pseudo / recolour / FONT sprites og indpakning rundt fra den første sprite til det sidste
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsæt til den forrige normal sprite, springe over nogen pseudo / recolour / FONT sprites og indpakning rundt fra den første sprite til det sidste
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Repræsentation af den markerede sprite. Justeringen ignoreres når denne sprite tegnes.
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Repræsentation af den markerede sprite. Justeringen ignoreres når denne sprite tegnes.
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flyt spriten rundt for at ændre X- og Y-forskydningen. Ctrl+Klik for at flytte spriten otte enheder af gangen
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flyt spriten rundt for at ændre X- og Y-forskydningen
|
||||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nulstil relativ
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nulstil relativ
|
||||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nulstil den nuværende relative forskydning
|
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nulstil den nuværende relative forskydning
|
||||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-forskydning: {NUM}, Y-forskydning: {NUM} (Absolut)
|
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-forskydning: {NUM}, Y-forskydning: {NUM} (Absolut)
|
||||||
@@ -2906,6 +2906,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Forsøg på at
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} indeholder en ødelagt sprite. Alle ødelagte sprites vil blive vist som et rødt spørgsmålstegn (?).
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} indeholder en ødelagt sprite. Alle ødelagte sprites vil blive vist som et rødt spørgsmålstegn (?).
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Indeholder adskillige handling 8 indgange (grafikelement {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Indeholder adskillige handling 8 indgange (grafikelement {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Læs forbi slutningen af pseudo-grafikelement (grafikelement {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Læs forbi slutningen af pseudo-grafikelement (grafikelement {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Det brugte basis grafiksæt mangler en række elementer.{}Opdater venligst grafiksættet.
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Den grafikpakke som bruges er ufuldstændig.{}Opdater venligst grafikpakken.{}eftersom du spiller et{YELLOW} development snapshot of OpenTTD{WHITE},får du måske også brug for er{YELLOW}development snapshot of the base graphics{WHITE}
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :De ønskede GRF ressourcer er ikke tilgængelige (grafikelement {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :De ønskede GRF ressourcer er ikke tilgængelige (grafikelement {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} blev deaktiveret af {2:STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} blev deaktiveret af {2:STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ugyldigt / ukendt grafikelement layoutformat (grafikelement {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ugyldigt / ukendt grafikelement layoutformat (grafikelement {3:NUM})
|
||||||
@@ -3292,8 +3294,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Kræver:
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Kræver: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Kræver: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Fragt der venter på forarbejdning:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3554,6 +3557,7 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} når d
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop udskiftning
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop udskiftning
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Tryk for at stoppe udskiftningen at den køretøjstype, som du har valgt til venstre
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Tryk for at stoppe udskiftningen at den køretøjstype, som du har valgt til venstre
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Udskifter: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift imellem lokomotiv- og vognudskiftningsvindue
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift imellem lokomotiv- og vognudskiftningsvindue
|
||||||
STR_REPLACE_ENGINES :Lokomotiver
|
STR_REPLACE_ENGINES :Lokomotiver
|
||||||
STR_REPLACE_WAGONS :Vogne
|
STR_REPLACE_WAGONS :Vogne
|
||||||
|
@@ -53,7 +53,7 @@ STR_CARGO_PLURAL_TOYS :Speelgoed
|
|||||||
STR_CARGO_PLURAL_CANDY :Snoep
|
STR_CARGO_PLURAL_CANDY :Snoep
|
||||||
STR_CARGO_PLURAL_COLA :Cola
|
STR_CARGO_PLURAL_COLA :Cola
|
||||||
STR_CARGO_PLURAL_COTTON_CANDY :Suikerspinnen
|
STR_CARGO_PLURAL_COTTON_CANDY :Suikerspinnen
|
||||||
STR_CARGO_PLURAL_BUBBLES :Bellen
|
STR_CARGO_PLURAL_BUBBLES :Bubbels
|
||||||
STR_CARGO_PLURAL_TOFFEE :Toffee
|
STR_CARGO_PLURAL_TOFFEE :Toffee
|
||||||
STR_CARGO_PLURAL_BATTERIES :Batterijen
|
STR_CARGO_PLURAL_BATTERIES :Batterijen
|
||||||
STR_CARGO_PLURAL_PLASTIC :Plastic
|
STR_CARGO_PLURAL_PLASTIC :Plastic
|
||||||
@@ -255,14 +255,14 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Toon ver
|
|||||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Toon verborgen
|
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Toon verborgen
|
||||||
|
|
||||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen treinen ook weergegeven
|
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen treinen ook weergegeven
|
||||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen wegvoertuigen ook weergegeven
|
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :Door het inschakelen van deze knop, worden de verborgen wegvoertuigen ook weergegeven
|
||||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen schepen ook weergegeven
|
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen schepen ook weergegeven
|
||||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen vliegtuig ook weergegeven
|
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Door het inschakelen van deze knop, worden de verborgen vliegtuig ook weergegeven
|
||||||
|
|
||||||
# Query window
|
# Query window
|
||||||
STR_BUTTON_DEFAULT :{BLACK}Standaard
|
STR_BUTTON_DEFAULT :{BLACK}Standaard
|
||||||
STR_BUTTON_CANCEL :{BLACK}Annuleren
|
STR_BUTTON_CANCEL :{BLACK}Annuleren
|
||||||
STR_BUTTON_OK :{BLACK}Oké
|
STR_BUTTON_OK :{BLACK}OK
|
||||||
|
|
||||||
# On screen keyboard window
|
# On screen keyboard window
|
||||||
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
||||||
@@ -597,7 +597,7 @@ STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPAN
|
|||||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Ingenieur
|
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Ingenieur
|
||||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Verkeersleider
|
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Verkeersleider
|
||||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Transportcoördinator
|
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Transportcoördinator
|
||||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Routeopzichter
|
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Route-opzichter
|
||||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Onderdirecteur
|
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Onderdirecteur
|
||||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Directeur
|
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Directeur
|
||||||
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Voorzitter
|
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Voorzitter
|
||||||
@@ -1140,7 +1140,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Midden
|
|||||||
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Rechts
|
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Rechts
|
||||||
|
|
||||||
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximale beginlening: {STRING}
|
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximale beginlening: {STRING}
|
||||||
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaal bedrag dat een bedrijf kan lenen (zonder rekening te houden met de inflatie)
|
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximale bedrag een bedrijf kan lenen (zonder rekening te houden met de inflatie)
|
||||||
STR_CONFIG_SETTING_INTEREST_RATE :Rente van lening: {STRING}
|
STR_CONFIG_SETTING_INTEREST_RATE :Rente van lening: {STRING}
|
||||||
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Percentage rente op lening; bepaald ook het inflatiecijfer wanneer ingeschakeld
|
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Percentage rente op lening; bepaald ook het inflatiecijfer wanneer ingeschakeld
|
||||||
STR_CONFIG_SETTING_RUNNING_COSTS :Onderhoudskosten: {STRING}
|
STR_CONFIG_SETTING_RUNNING_COSTS :Onderhoudskosten: {STRING}
|
||||||
@@ -1158,15 +1158,15 @@ STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Wanneer ingesch
|
|||||||
STR_CONFIG_SETTING_TRAIN_REVERSING :Niet toestaan dat treinen keren in stations: {STRING}
|
STR_CONFIG_SETTING_TRAIN_REVERSING :Niet toestaan dat treinen keren in stations: {STRING}
|
||||||
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Indien ingeschakeld zullen treinen niet omkeren in niet-eind stations, zelfs als er een kortere weg naar hun volgende bestemming is bij omkeren
|
STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Indien ingeschakeld zullen treinen niet omkeren in niet-eind stations, zelfs als er een kortere weg naar hun volgende bestemming is bij omkeren
|
||||||
STR_CONFIG_SETTING_DISASTERS :Rampen: {STRING}
|
STR_CONFIG_SETTING_DISASTERS :Rampen: {STRING}
|
||||||
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Schakel rampen die af en toe voertuigen of infrastructuur kunnen blokkeren of vernietigen in/uit
|
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Schakel rampen die af en toe voertuigen of infrastructuur kunnen blokkeren of vernietigen
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL :De houding van de gemeenteraad ten opzichte van herstructurering gebied: {STRING}
|
STR_CONFIG_SETTING_CITY_APPROVAL :Gemeenteraad's houding ten opzichte van herstructurering gebied: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Kies hoeveel lawaai en schade aan het milieu door bedrijven de stadswaardering en hun acties beïnvloeden in hun bouwgebied
|
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Kies hoeveel lawaai en schade aan het milieu door bedrijven de stadswaardering en hun acties beïnvloeden in hun bouwgebied
|
||||||
|
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximum kaarthoogte: {STRING}
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximum kaarthoogte: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Stel de maximum toegestane hoogte voor bergen op de kaart in
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Stel de maximum toegestande hoogte voor bergen op de kaart in
|
||||||
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Je kunt de maximum kaarthoogte niet in deze waarde wijzigen. Minstens één berg op de kaart is hoger
|
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Je kunt de maximum kaarthoogte niet in deze waarde wijzigen. Minstens één berg op de kaart is hoger
|
||||||
STR_CONFIG_SETTING_AUTOSLOPE :Omgeving aanpassen onder gebouwen, spoorwegen, enz. toestaan: {STRING}
|
STR_CONFIG_SETTING_AUTOSLOPE :Omgeving aanpassen onder gebouwen, spoorwegen, enz. toestaan: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Staat het aanpassen van funderingen onder gebouwen en sporen toe zonder deze te verwijderen
|
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Laat het aanpassen van funderingne onder gebouwen en spoor toe zonder deze te verwijderen
|
||||||
STR_CONFIG_SETTING_CATCHMENT :Gebruik meer realistische handelsgebieden: {STRING}
|
STR_CONFIG_SETTING_CATCHMENT :Gebruik meer realistische handelsgebieden: {STRING}
|
||||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Heb verschillende grootte verzorgingsgebied voor verschillende typen stations en luchthavens
|
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Heb verschillende grootte verzorgingsgebied voor verschillende typen stations en luchthavens
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Sta verwijderen van meer stedelijke wegen, bruggen en tunnels toe: {STRING}
|
STR_CONFIG_SETTING_EXTRADYNAMITE :Sta verwijderen van meer stedelijke wegen, bruggen en tunnels toe: {STRING}
|
||||||
@@ -1186,16 +1186,16 @@ STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
|||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Hellingsterkte voor wegvoertuigen: {STRING}
|
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Hellingsterkte voor wegvoertuigen: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steilheid van een schuine tegel voor een wegvoertuig. Hogere waarden maken het moeilijker om een heuvel te beklimmen
|
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steilheid van een schuine tegel voor een wegvoertuig. Hogere waarden maken het moeilijker om een heuvel te beklimmen
|
||||||
STR_CONFIG_SETTING_FORBID_90_DEG :Verbied treinen en schepen om 90° te draaien: {STRING}
|
STR_CONFIG_SETTING_FORBID_90_DEG :Verbied treinen en schepen om 90° te draaien: {STRING}
|
||||||
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Draaiingen met 90° treden op wanneer een horizontale baan direct gevolgd wordt door een verticaal baanstuk op de aangrenzende tegel, waardoor de trein daarna 90 graden draait wanneer de tegelrand wordt overgestoken in plaats van de gebruikelijke 45 graden voor andere spoorcombinaties. Dit geldt ook voor de draaicirkel van schepen
|
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 graden draaien treden op wanneer een horizontale baan direct gevolgd door een verticale baan stuk op de aangrenzende tegel, waardoor de trein daarna 90 graad wanneer het doorlopen van de tegel rand plaats van de gebruikelijke 45 graden voor andere spoor combinaties. Dit geldt ook voor de draaicirkel van schepen
|
||||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Sta het samenvoegen van indirect aansluitende stations toe: {STRING}
|
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Sta het samenvoegen van niet direct aaneensluitende stations toe: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Sta toe dat er aanvullende onderdelen aan een station worden geplaatst zonder dat reeds bestaande onderdelen beïnvloed worden. Ctrl+klik is vereist tijdens het plaatsen van nieuwe onderdelen.
|
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Sta toe dat er aanvullende onderdelen aan een station worden geplaatst, zonder dat reed bestaande onderdelen beïnvloed worden. Gebruikt Ctrl+Click tijdens het plaatsen van nieuwe onderdelen.
|
||||||
STR_CONFIG_SETTING_INFLATION :Inflatie: {STRING}
|
STR_CONFIG_SETTING_INFLATION :Inflatie: {STRING}
|
||||||
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Schakel inflatie in de economie in, waardoor de kosten iets sneller stijgen dan de betalingen
|
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Schakel de inflatie in de economie in, waar de kosten iets sneller stijgen dan de betalingen
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximum bruglengte: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maximum brug lengte: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximum lengte voor te bouwen bruggen
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maximum lengte voor te bouwen bruggen
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximum brughoogte: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maximum brughoogte: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximum hoogte om bruggen te bouwen
|
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maximum hoogte ombruggen te bouwen
|
||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximum tunnellengte: {STRING}
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maximum tunnel lengte: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximum lengte voor te bouwen tunnels
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maximum lengte voor te bouwen tunnels
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Handmatige bouwmethode voor primaire industrieën: {STRING}
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Handmatige bouwmethode voor primaire industrieën: {STRING}
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Wijze van financiering van een primaire industrie. 'geen' betekent dat het niet mogelijk is om te financieren, 'prospectie' betekent dat financiering mogelijk is, maar de bouw vindt plaats in een willekeurige plek op de kaart en kan mislukken ook, "als andere bedrijfstakken": ruwe industrieën kan worden geconstrueerd door bedrijven als verwerkende industrie in elke positie zij willen
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Wijze van financiering van een primaire industrie. 'geen' betekent dat het niet mogelijk is om te financieren, 'prospectie' betekent dat financiering mogelijk is, maar de bouw vindt plaats in een willekeurige plek op de kaart en kan mislukken ook, "als andere bedrijfstakken": ruwe industrieën kan worden geconstrueerd door bedrijven als verwerkende industrie in elke positie zij willen
|
||||||
@@ -1223,19 +1223,19 @@ STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :aan het einde
|
|||||||
STR_CONFIG_SETTING_AUTOSCROLL :Verschuif scherm als muis aan de rand is: {STRING}
|
STR_CONFIG_SETTING_AUTOSCROLL :Verschuif scherm als muis aan de rand is: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Wanneer aan, start een subvenster met scrollen wanneer de muis vlak bij de rand van het venster komt
|
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Wanneer aan, start een subvenster met scrollen wanneer de muis vlak bij de rand van het venster komt
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Uitgeschakeld
|
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Uitgeschakeld
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hoofdkijkvenster, alleen volledig scherm
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hoofd kijkvenster, alleen volledigscherm
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Hoofdkijkvenster
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Hoofd kijkvenster
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Elk kijkvenster
|
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Elk kijkvenster
|
||||||
STR_CONFIG_SETTING_BRIBE :Omkopen van de gemeente toestaan: {STRING}
|
STR_CONFIG_SETTING_BRIBE :Omkopen van de gemeente toestaan: {STRING}
|
||||||
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Toestaan dat bedrijven mogen proberen de plaatselijke autoriteiten om te kopen. Als de omkoping wordt opgemerkt door een inspecteur, zal de onderneming niet in staat zijn om in de stad actie te ondernemen voor zes maanden
|
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Toestaan dat bedrijven mogen proberen de plaatselijke gemeente autoriteit om te kopen. Als de omkoping wordt opgemerkt door een inspecteur, zal de onderneming niet in staat zijn om in de stad actie te ondernemen voor zes maanden
|
||||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Kopen van exclusieve transportrechten toestaan: {STRING}
|
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Kopen van exclusieve transportrechten toestaan: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Wanneer een bedrijf de exclusieve transportrechten van een stad koopt, ontvangen de stations (zowel passagiers als vracht) van de tegenstanders geen vracht voor één heel jaar.
|
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Wanneer een bedrijf de exclusieve transportrechten van een stad koopt, ontvangen de stations (zowel passagiers als vracht) van tegenstander geen vracht voor één heel jaar.
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Financiering van gebouwen toestaan: {STRING}
|
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Financiering van gebouwen toestaan: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Deze optie staat bedrijven toe meer geld te geven aan steden voor de financiering van nieuwe huizen.
|
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Deze optie staat bedrijven toe meer geld te geven aan steden voor de financiering van nieuwe huizen.
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Financieren van lokale wegherbouwing toestaan: {STRING}
|
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Financieren van lokale wegreconstructie toestaan: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Deze optie staat bedrijven toe geld te geven aan steden voor het herbouwen van wegen, zodat op wegbedrijven gesaboteerd worden.
|
STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Deze optie staat bedrijven toe geld te geven aan steden voor het herbouwen van wegen, zodat op wegbedrijven gesaboteerd worden.
|
||||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Geld geven aan andere bedrijven toestaan: {STRING}
|
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Geld geven aan andere bedrijven toestaan: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Sta toe dat bedrijven geld naar elkaar overmaken in een multiplayerspel.
|
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Sta toe dat bedrijven geld naar elkaar overmaken in een multiplayer spel.
|
||||||
STR_CONFIG_SETTING_FREIGHT_TRAINS :Gewichtsfactor voor vracht om zware treinen te simuleren: {STRING}
|
STR_CONFIG_SETTING_FREIGHT_TRAINS :Gewichtsfactor voor vracht om zware treinen te simuleren: {STRING}
|
||||||
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Stel de impact van het vervoer van vracht bij treinen. Een hogere waarde maakt het vervoer van vracht veeleisender voor treinen, met name in heuvels
|
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Stel de impact van het vervoer van vracht bij treinen. Een hogere waarde maakt het vervoer van vracht veeleisender voor treinen, met name in heuvels
|
||||||
STR_CONFIG_SETTING_PLANE_SPEED :Vliegtuig snelheidsfactor: {STRING}
|
STR_CONFIG_SETTING_PLANE_SPEED :Vliegtuig snelheidsfactor: {STRING}
|
||||||
@@ -1252,7 +1252,7 @@ STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Sta doorrijhalt
|
|||||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Laat het bouwen van doorrijhaltes toe op wegen van andere bedrijven
|
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Laat het bouwen van doorrijhaltes toe op wegen van andere bedrijven
|
||||||
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Deze instelling kan niet gewijzigd worden als er voertuigen zijn
|
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Deze instelling kan niet gewijzigd worden als er voertuigen zijn
|
||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Onderhoud infrastructuur: {STRING}
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Onderhoud infrastructuur: {STRING}
|
||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Wanneer dit is ingeschakeld, veroorzaakt de infrastructuur onderhoudskosten. De kosten groeien boven-proportioneel met de grootte van het netwerk, waardoor grotere bedrijven hierdoor meer worden beïnvloed dan kleinere
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Wanneer ingeschakeld, infrastructuur veroorzaakt onderhoudskosten. De kosten groeit boven-proportioneel met de grootte van het netwerk, hetgeen van hogere invloed is op grotere bedrijven dan kleinere
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Vliegvelden verlopen niet: {STRING}
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Vliegvelden verlopen niet: {STRING}
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Het inschakelen van deze instelling zorgt ervoor dat elke luchthaven soort altijd beschikbaar blijft na de introductie
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Het inschakelen van deze instelling zorgt ervoor dat elke luchthaven soort altijd beschikbaar blijft na de introductie
|
||||||
@@ -1277,26 +1277,26 @@ STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} maand{P
|
|||||||
STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimum benodigd geld voor automatisch vernieuwen: {STRING}
|
STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimum benodigd geld voor automatisch vernieuwen: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimale hoeveelheid geld die op de bank moet blijven alvorens automatisch vernieuwen voertuigen te starten
|
STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimale hoeveelheid geld die op de bank moet blijven alvorens automatisch vernieuwen voertuigen te starten
|
||||||
STR_CONFIG_SETTING_ERRMSG_DURATION :Duur van foutbericht: {STRING}
|
STR_CONFIG_SETTING_ERRMSG_DURATION :Duur van foutbericht: {STRING}
|
||||||
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duur voor het weergeven van foutberichten in een rood venster. Merk op dat sommige (kritische) foutmeldingen niet automatisch worden gesloten na deze tijd, deze moeten handmatig worden gesloten
|
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duur voor het weergeven van foutmeldingen in een rood venster. Merk op dat sommige (kritische) foutmeldingen niet automatisch wordt gesloten na deze tijd, deze moeten handmatig worden gesloten
|
||||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P 0 "" n}
|
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P 0 "" n}
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY :Toon tooltips: {STRING}
|
STR_CONFIG_SETTING_HOVER_DELAY :Toon tooltips: {STRING}
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat tooltips worden weergegeven wanneer de muis over een interface-element. Als alternatief kunnen tooltips worden gebonden aan de rechtermuisknop wanneer de waarde 0 is.
|
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat tooltips worden weergegeven wanneer de muis over een interface-element. Als alternatief kunnen tooltips worden gebonden aan de rechter muisknop wanneer de waarde 0 is.
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Wijs aan voor {COMMA} seconde{P 0 "" n}
|
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Wijs aan voor {COMMA} seconde{P 0 "" n}
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklik
|
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklik
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Geef het inwoneraantal bij een stad weer: {STRING}
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Geef het inwoneraantal bij een stad weer: {STRING}
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Toon de populatie van een stad in hun tekst op de kaart
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Toon de populatie van een stad in hun tekst op de kaart
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van de lijnen in grafieken: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van de lijnen in grafieken: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breedte van de lijnen in de grafiek. Een dunne lijn is preciezer leesbaar, een dikke lijn is makkelijker te zien en kleuren zijn makkelijker om te onderscheiden
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breedte van de lijnen in de grafiek. Een dunne lijn is preciezer leesbaar, een dikke lijn is makkelijker te zien en kleuren zijn gemakkelijker herkenbaar.e lijn
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Landschap: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Landschap: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschappen definiëren standaard gameplayscenario's met verschillende vracht- en stadsgroei-eisen. NewGRF en spelscripts kunnen daarentegen fijnere controle bieden
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschappen definiëren basis gameplay scenario's met verschillende vracht en stadsgroei eisen. NewGRF en Game Scripts kunnen fijne instellingen hebben
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR :Landgenerator: {STRING}
|
STR_CONFIG_SETTING_LAND_GENERATOR :Landgenerator: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :De originele generator hangt af van de standaard graphicsset en stelt vaste landschapsvormen samen. TerraGenesis is een op Perlin noise gebaseerde generator met fijnere besturingsinstellingen
|
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :De originele generator afhankelijk van de basis graphics set, en composeert vaste landschap vormen. TerraGenesis is een Perlin-ruis gebaseerde generator met fijnere instellingen
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Origineel
|
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Origineel
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Terrein type: {STRING}
|
STR_CONFIG_SETTING_TERRAIN_TYPE :Terrein type: {STRING}
|
||||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Alleen TerraGenesis) Heuvelachtigheid van het landschap
|
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Alleen TerraGenesis) Heuvelachtigheid van het landschap
|
||||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industriedichtheid: {STRING}
|
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industrie-dichtheid: {STRING}
|
||||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Stel in hoeveel industrieën moeten worden gegenereerd en welk niveau tijdens het spel moet worden gehandhaafd
|
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Stel in hoeveel industrieën moeten worden gegenereerd en welk niveau tijdens het spel moet worden gehandhaafd
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum afstand van de rand voor Olierafinaderijen: {STRING}
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum afstand van de rand voor Olierafinaderijen: {STRING}
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderijen worden alleen gebouwd nabij de kaart grens, dat is aan de kust van eiland kaarten
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderijen worden alleen gebouwd nabij de kaart grens, dat is aan de kust van eiland kaarten
|
||||||
@@ -1323,8 +1323,8 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Draaiing van ho
|
|||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Tegen de klok in
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Tegen de klok in
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Met de klok mee
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Met de klok mee
|
||||||
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :De hoogte van een plat scenario wordt: {STRING}
|
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :De hoogte van een plat scenario wordt: {STRING}
|
||||||
STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Eén of meer vakjes aan de noordelijke rand zijn niet leeg
|
STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Een of meer vakjes aan de noordelijke rand zijn niet leeg
|
||||||
STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Eén of meer vakjes aan de rand zijn geen water
|
STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Een of meer vakjes aan de rand zijn geen water
|
||||||
|
|
||||||
STR_CONFIG_SETTING_STATION_SPREAD :Maximale stationsgrootte: {STRING}
|
STR_CONFIG_SETTING_STATION_SPREAD :Maximale stationsgrootte: {STRING}
|
||||||
STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maximum gebied waar onderdelen van één station op verspreid mogen zijn. Grotere gebieden vertragen het spel!
|
STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maximum gebied waar onderdelen van één station op verspreid mogen zijn. Grotere gebieden vertragen het spel!
|
||||||
@@ -1342,7 +1342,7 @@ STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT :Gedrag wanneer
|
|||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Vloeiend scrollen kijkvenster: {STRING}
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Vloeiend scrollen kijkvenster: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Bepalen hoe de hoofdweergave schuift naar een specifieke positie bij het klikken op de minikaart of bij de afgifte van een opdracht om naar een specifiek object op de kaart. Indien ingeschakeld, de viewport scrollt soepel, als deze uitgeschakeld gaat u rechtstreeks naar de beoogde plek
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Bepalen hoe de hoofdweergave schuift naar een specifieke positie bij het klikken op de minikaart of bij de afgifte van een opdracht om naar een specifiek object op de kaart. Indien ingeschakeld, de viewport scrollt soepel, als deze uitgeschakeld gaat u rechtstreeks naar de beoogde plek
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Toon dimensie-informatie bij het gebruik van diverse bouwgereedschappen: {STRING}
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Toon dimensie-informatie bij het gebruik van diverse bouwgereedschappen: {STRING}
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Geef tegelafstanden en hoogteverschillen weer bij het slepen tijdens het bouwen
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Geef tegel-afstanden en hoogteverschillen bij het slepen tijdens de bouw werkzaamheden
|
||||||
STR_CONFIG_SETTING_LIVERIES :Laat alle voertuigkleuren zien: {STRING}
|
STR_CONFIG_SETTING_LIVERIES :Laat alle voertuigkleuren zien: {STRING}
|
||||||
STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Beheer het gebruik van voertuigspecifieke levering voor voertuigen (in tegenstelling tot bedrijfsspecifieke leveringen).
|
STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Beheer het gebruik van voertuigspecifieke levering voor voertuigen (in tegenstelling tot bedrijfsspecifieke leveringen).
|
||||||
STR_CONFIG_SETTING_LIVERIES_NONE :Niets
|
STR_CONFIG_SETTING_LIVERIES_NONE :Niets
|
||||||
@@ -1371,13 +1371,13 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+klik
|
|||||||
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Uit
|
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Uit
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scrollen met linkermuisknop: {STRING}
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Scrollen met linkermuisknop: {STRING}
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Schakel scrollen met de linkermuisknop in door te slepen. Dit is vooral handig bij het gebruik van een touchscreen voor scrollen
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Schakel scrollen met de linkermuis knop in door te slepen. Dit is vooral handig bij het gebruik van een touch-screen voor scrollen
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE :Automatisch opslaan: {STRING}
|
STR_CONFIG_SETTING_AUTOSAVE :Automatisch opslaan: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Kies interval tussen automatische spelopslag
|
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Kies interval tussen automatische spelopslag
|
||||||
|
|
||||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gebruik {STRING} datumformaat voor naamgeving van opgeslagen spellen
|
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gebruik {STRING} datumformaat voor naamgeving van opgeslagen spellen
|
||||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formaat van de datum in savegamebestandsnamen
|
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formaat van de datum in op te slaan spel bestandsnamen
|
||||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lang (31e dec 2008)
|
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lang (31e dec 2008)
|
||||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008)
|
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008)
|
||||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||||
@@ -1387,13 +1387,13 @@ STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Wanneer ingesch
|
|||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Toestaan wanneer gepauzeerd: {STRING}
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Toestaan wanneer gepauzeerd: {STRING}
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecteer welke acties kunnen worden uitgevoerd terwijl het spel is gepauzeerd
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecteer welke acties kunnen worden uitgevoerd terwijl het spel is gepauzeerd
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Geen mogelijkheden
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Geen mogelijkheden
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alle niet-constructiemogelijkheden
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alle niet-constructie mogelijkheden
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alles behalve landschapsaanpassingen
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alles behalve landschapsaanpassingen
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle mogelijkheden
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle mogelijkheden
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gebruik groepen voor voertuigenlijst: {STRING}
|
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gebruik groepen voor voertuigenlijst: {STRING}
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Schakel het gebruik van de geavanceerde voertuigenlijsten in voor het groeperen van voertuigen
|
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Schakel het gebruik van de geavanceerde voertuigenlijsten in voor het groeperen van voertuigen
|
||||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Gebruik laadindicatoren: {STRING}
|
STR_CONFIG_SETTING_LOADING_INDICATORS :Gebruik laadindicatoren: {STRING}
|
||||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Geef aan of laadindicatoren worden weergegeven boven ladende of lossende voertuigen
|
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Geef aan of laad indicatoren worden weergegeven boven ladende of lossende voertuigen
|
||||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Toon dienstregeling in tikken ipv in dagen: {STRING}
|
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Toon dienstregeling in tikken ipv in dagen: {STRING}
|
||||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Toon reistijden in tijdtabellen in het spelticks in plaats van dagen
|
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Toon reistijden in tijdtabellen in het spelticks in plaats van dagen
|
||||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Toon aankomst- en vertrektijden in dienstregeling: {STRING}
|
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Toon aankomst- en vertrektijden in dienstregeling: {STRING}
|
||||||
@@ -1401,7 +1401,7 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Geef de verwach
|
|||||||
STR_CONFIG_SETTING_QUICKGOTO :Snel voertuigorders maken: {STRING}
|
STR_CONFIG_SETTING_QUICKGOTO :Snel voertuigorders maken: {STRING}
|
||||||
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pre-selecteer de 'Ga naar cursor' bij het openen van de orders venster
|
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pre-selecteer de 'Ga naar cursor' bij het openen van de orders venster
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Standaard spoorsoort (bij nieuw of opgeslagen spel): {STRING}
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Standaard spoorsoort (bij nieuw of opgeslagen spel): {STRING}
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Spoortype om te selecteren na het starten of het laden van een spel. 'eerst beschikbare' selecteert de oudste vorm van sporen, 'laatst beschikbare' selecteert het nieuwste type van sporen, en 'meest gebruikte' selecteert het type dat op dit moment het meest in gebruik is
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Rail type om te selecteren na het starten of het laden van een spel. 'eerst beschikbare' selecteert de oudste vorm van tracks, 'laatst beschikbare' het nieuwste type van tracks selecteert, en 'meest gebruikte' selecteert het type die op dit moment het meest in gebruik is
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Eerst beschikbare
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Eerst beschikbare
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Laatst beschikbare
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Laatst beschikbare
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Meest gebruikte
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Meest gebruikte
|
||||||
@@ -1410,7 +1410,7 @@ STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Geef gereservee
|
|||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Hou bouwgereedschappen actief na gebruik: {STRING}
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Hou bouwgereedschappen actief na gebruik: {STRING}
|
||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Houd de bouwhulpmiddelen voor bruggen, tunnels, enz. open na gebruik
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Houd de bouwhulpmiddelen voor bruggen, tunnels, enz. open na gebruik
|
||||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Groepeer uitgaven in bedrijfsfinanciënscherm: {STRING}
|
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Groepeer uitgaven in bedrijfsfinanciënscherm: {STRING}
|
||||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definieer de lay-out voor het bedrijfsuitgavenvenster
|
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definieer de lay-out voor het bedrijf uitgaven venster
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SOUND_TICKER :Nieuwsticker: {STRING}
|
STR_CONFIG_SETTING_SOUND_TICKER :Nieuwsticker: {STRING}
|
||||||
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Speel geluidseffect voor samenvatting nieuwsberichten
|
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Speel geluidseffect voor samenvatting nieuwsberichten
|
||||||
@@ -1430,33 +1430,33 @@ STR_CONFIG_SETTING_SOUND_AMBIENT :Omgeving: {STRI
|
|||||||
STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Speel omgevingsgeluidseffecten van landschap, industrieën en steden
|
STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Speel omgevingsgeluidseffecten van landschap, industrieën en steden
|
||||||
|
|
||||||
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Bouwen van infrastructuur uitschakelen wanneer geen geschikt voertuig beschikbaar is: {STRING}
|
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Bouwen van infrastructuur uitschakelen wanneer geen geschikt voertuig beschikbaar is: {STRING}
|
||||||
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Wanneer je dit inschakelt, is de infrastructuur alleen beschikbaar als er ook voertuigen beschikbaar zijn. Dit voorkomt verspilling van tijd en geld aan onbruikbare infrastructuur
|
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Wanneer ingeschakeld, de infrastructuur is alleen beschikbaar als er ook voertuigen beschikbaar zijn, het voorkomen van verspilling van tijd en geld aan onbruikbare infrastructuur
|
||||||
STR_CONFIG_SETTING_MAX_TRAINS :Maximum aantal treinen per bedrijf: {STRING}
|
STR_CONFIG_SETTING_MAX_TRAINS :Maximum aantal treinen per bedrijf: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximum aantal treinen dat een bedrijf kan hebben
|
STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maximum aantal treinen dat een bedrijf kan hebben
|
||||||
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum aantal wegvoertuigen per bedrijf: {STRING}
|
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maximum aantal wegvoertuigen per bedrijf: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximum aantal wegvoertuigen dat een bedrijf kan hebben
|
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maximum aantal wegvoertuigen die een bedrijf kan hebben
|
||||||
STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximum aantal vliegtuigen per bedrijf: {STRING}
|
STR_CONFIG_SETTING_MAX_AIRCRAFT :Maximum aantal vliegtuigen per bedrijf: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximum aantal vliegtuigen dat een bedrijf kan hebben
|
STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maximum aantal vliegtuigen dat een bedrijf kan hebben
|
||||||
STR_CONFIG_SETTING_MAX_SHIPS :Maximum aantal schepen per bedrijf: {STRING}
|
STR_CONFIG_SETTING_MAX_SHIPS :Maximum aantal schepen per bedrijf: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximum aantal schepen dat een bedrijf kan hebben
|
STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maximum aantal schepen dat een bedrijf kan hebben
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Treinen voor de computer uitschakelen: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Treinen voor de computer uitschakelen: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Het inschakelen van deze instelling maakt het bouwen van treinen onmogelijk voor een computerspeler
|
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Het inschakelen van deze instelling maakt het bouwen van treinen onmogelijk voor een computer-speler
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Wegvoertuigen voor de computer uitschakelen: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Wegvoertuigen voor de computer uitschakelen: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Het inschakelen van deze instelling maakt het bouwen van wegvoertuigen onmogelijk voor een computerspeler
|
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Het inschakelen van deze instelling maakt het bouwen van wegvoertuigen onmogelijk voor een computer-speler
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Vliegtuigen voor de computer uitschakelen: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Vliegtuigen voor de computer uitschakelen: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Het inschakelen van deze instelling maakt het het bouwen van vliegtuigen onmogelijk voor een computerspeler
|
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Het inschakelen van deze instelling maakt het het bouwen van vliegtuigen onmogelijk voor een computer-speler
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Schepen voor de computer uitschakelen: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Schepen voor de computer uitschakelen: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Het inschakelen van deze instelling maakt het het bouwen van schepen onmogelijk voor een computerspeler
|
STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Het inschakelen van deze instelling maakt het het bouwen van schepen onmogelijk voor een computer-speler
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AI_PROFILE :Standaard instellingenprofiel: {STRING}
|
STR_CONFIG_SETTING_AI_PROFILE :Standaard instellingenprofiel: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Kies welk instellingsprofiel moet worden gebruikt bij willekeurige AI's of als startwaardes, wanneer een nieuwe AI of spelscript wordt toegevoegd
|
STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Kies welk instellingsprofiel moet worden gebruikt bij willekeurige AI's of als startwaardes, wanneer een nieuwe AI of Game Script wordt toegevoegd
|
||||||
STR_CONFIG_SETTING_AI_PROFILE_EASY :Makkelijk
|
STR_CONFIG_SETTING_AI_PROFILE_EASY :Makkelijk
|
||||||
STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Gemiddeld
|
STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Gemiddeld
|
||||||
STR_CONFIG_SETTING_AI_PROFILE_HARD :Moeilijk
|
STR_CONFIG_SETTING_AI_PROFILE_HARD :Moeilijk
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Laat computerspelers toe in netwerkspel: {STRING}
|
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Laat computerspelers toe in netwerkspel: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Sta door computer gegenereerde speler toe deel te nemen in multiplayerspellen
|
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Sta door computer gegenereerde speler toe deel te nemen in multiplayer spelen.
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes voordat scripts worden gestopt: {STRING}
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes voordat scripts worden gestopt: {STRING}
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximum aantal berekeningsstappen die een script kan maken in een beurt
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximum aantal berekeningsstappen die een script kan maken in een beurt
|
||||||
|
|
||||||
@@ -1515,30 +1515,30 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Samengevat
|
|||||||
STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Volledig
|
STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Volledig
|
||||||
|
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Kleurenfoto's komen in: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Kleurenfoto's komen in: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jaar dat de krant aankondigt in kleur te gaan afdrukken. Voor dit jaar wordt zwart-wit gebruikt
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jaar dat de krant aankondigingen in kleur worden afgedrukt. Voor dit jaar wordt zwart-wit gebruikt
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Beginjaar: {STRING}
|
STR_CONFIG_SETTING_STARTING_YEAR :Beginjaar: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Vloeiende economie inschakelen (meer, kleinere veranderingen): {STRING}
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Vloeiende economie inschakelen (meer, kleinere veranderingen): {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wanneer ingeschakeld, industrie produktie verandert vaker en in kleinere stappen. Deze instelling heeft meestal geen effect, als de industrie soorten worden geleverd door een NewGRF
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wanneer ingeschakeld, industrie produktie verandert vaker en in kleinere stappen. Deze instelling heeft meestal geen effect, als de industrie soorten worden geleverd door een NewGRF
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Sta het kopen van aandelen van andere bedrijven toe: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Sta het kopen van aandelen van andere bedrijven toe: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Wanneer ingeschakeld is het toegestaan om bedrijfsaandelen te kopen en te verkopen. Aandelen zullen alleen beschikbaar zijn voor bedrijven die een bepaalde leeftijd hebben bereikt
|
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Wanneer ingeschakeld, toestaan kopen en verkopen van bedrijfsaandelen. Aandelen zullen alleen beschikbaar zijn voor bedrijven die een bepaalde leeftijd hebben bereikt
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentage van routeopbrengst in overdrachtssysteem: {STRING}
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentage van routeopbrengst in overdrachtssysteem: {STRING}
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentage van het inkomen besteed aan de intermediaire delen in feedersystemen waardoor er meer controle over de inkomsten is
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentage van het inkomen besteed aan de intermediaire delen in feeder-systemen, waardoor meer controle over de inkomsten is
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Bij slepen, plaats seinen elke: {STRING}
|
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Bij slepen, plaats seinen elke: {STRING}
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Stel de afstand waarop signalen worden gebouwd op een spoor in totaan de volgende hindernis (signaal, kruising) als signalen worden gesleept
|
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Stel de afstand waarop signalen worden gebouwd op een spoor tot aan de volgende hindernis (signaal, kruising), als signalen worden gesleept
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} tegel{P 0 "" s}
|
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} tegel{P 0 "" s}
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Bij slepen, hou vaste afstand tussen seinen: {STRING}
|
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Bij slepen, hou vaste afstand tussen seinen: {STRING}
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecteer het gedrag van seinplaatsing wanneer je met Ctrl+slepen seinen plaatst. Indien dit uitgeschakeld is, dan worden seinen rondom tunnels of bruggen geplaatst om lange stukken te vermijden zonder seinen. Indien dit ingeschakeld is, dan worden seinen om de N tegels geplaatst, waardoor de uitlijning van de seinen op parallelle sporen makkelijker is
|
STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecteer het gedrag van het sein plaatsing bij Ctrl + slepen seinen. Indien uitgeschakeld, worden seinen rondom tunnels of bruggen om lange stukken te vermijden, zonder seinen. Indien ingeschakeld, worden seinen geplaatst elke N tegels, waardoor de uitlijning van de seinen op parallelle sporen makkelijker is
|
||||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Plaats automatisch armseinen voor: {STRING}
|
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Plaats automatisch armseinen voor: {STRING}
|
||||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Stel het jaar waarin elektrische seinen zal worden gebruikt voor sporen. Voor dit jaar zal niet-elektrische seinen worden gebruikt (die exact dezelfde functie hebben, maar verschillend uiterlijk)
|
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Stel het jaar waarin elektrische seinen zal worden gebruikt voor sporen. Voor dit jaar zal niet-elektrische seinen worden gebruikt (die exact dezelfde functie hebben, maar verschillend uiterlijk)
|
||||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Activeer de seininterface: {STRING}
|
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Activeer sein-GUI: {STRING}
|
||||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Toon een venster waar je de soorten seinen kunt kiezen om te bouwen in plaats van alleen vensterloze seintyperotatie met Ctrl+klikken op gebouwde seinen
|
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Toon een venster voor het kiezen van soorten seinen om te bouwen, in plaats van alleen window-loos sein-type rotatie met Ctrl + klikken op bouwen seinen
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Seintype dat standaard moet worden gebouwd: {STRING}
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Seintype dat standaard moet worden gebouwd: {STRING}
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Standaard te gebruiken sein.
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Standaard te gebruiken sein.
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normale seinen
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normale seinen
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Routeseinen
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Routeseinen
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Eenrichtingsrouteseinen
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Eenrichtingsrouteseinen
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Blader door seintypes: {STRING}
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Blader door seintypen: {STRING}
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecteer welke soorten seinen worden gebruikt wanneer je Ctrl + klikt op een bouwsignaal met het seingereedschap
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecteer welke soorten seinen worden gebruikt, wanneer Ctrl + klikken op een buildsein met het sein gereedschap
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Alleen normaal
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Alleen normaal
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Alleen routeseinen
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Alleen routeseinen
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Allemaal
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Allemaal
|
||||||
@@ -1598,69 +1598,69 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Normaal
|
|||||||
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Snel
|
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Snel
|
||||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Heel snel
|
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Heel snel
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS :Verhouding van gemeenten die steden zullen worden: {STRING}
|
STR_CONFIG_SETTING_LARGER_TOWNS :Verhouding van gemeenten die steden zullen worden: {STRING}
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Aantal steden die een stad worden, dus een stad die groter begint en sneller groeit
|
STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Aantal steden dat een stad wordt, dus een stad die begint groter en groeit sneller
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 op {COMMA}
|
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 op {COMMA}
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Geen
|
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Geen
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Stadsgroeiindicator: {STRING}
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Stadsgroei-indicator: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gemiddelde grootte van steden in vergelijking tot normale steden bij het begin van het spel.
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gemiddelde grootte van steden in vergelijking tot normale steden bij het begin van het spel.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Werk distributiegrafiek elke {STRING}{NBSP}dag{P 0:2 "" en} bij
|
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Bijwerken distributie grafiek elke {STRING}{NBSP}dag{P 0:2 "" en}
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tijd tussen opeenvolgende herberekeningen van de link grafiek. Elke herberekening berekent de plannen voor een component van de grafiek. Dat betekent dat een waarde X voor deze instelling betekent niet dat de hele grafiek wordt elke X dagen worden bijgewerkt. Slechts een component wil. Hoe korter u instellen hoe meer CPU-tijd nodig is om het te berekenen zal zijn. Hoe langer je instellen hoe langer het zal duren totdat de lading distributie start op nieuwe routes.
|
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Tijd tussen opeenvolgende herberekeningen van de link grafiek. Elke herberekening berekent de plannen voor een component van de grafiek. Dat betekent dat een waarde X voor deze instelling betekent niet dat de hele grafiek wordt elke X dagen worden bijgewerkt. Slechts een component wil. Hoe korter u instellen hoe meer CPU-tijd nodig is om het te berekenen zal zijn. Hoe langer je instellen hoe langer het zal duren totdat de lading distributie start op nieuwe routes.
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_TIME :Neem {STRING}{NBSP}dag{P 0:2 "" en} voor de herberekening van de distributie grafiek
|
STR_CONFIG_SETTING_LINKGRAPH_TIME :Neem {STRING}{NBSP}dag{P 0:2 "" en} voor de herberekening van de distributie grafiek
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tijd gebruikt voor elke herberekening van een link grafiek component. Wanneer een herberekening wordt gestart, wordt een thread voortgebracht die mag lopen voor dit aantal dagen. Hoe korter u dit instelt des te waarschijnlijker het is dat de draad niet is voltooid als het zou moeten. Dan stopt het spel totdat het is ("lag"). Hoe langer je instellen hoe langer het duurt voor de distributie aan te passen wanneer routes te wijzigen.
|
STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tijd gebruikt voor elke herberekening van een link grafiek component. Wanneer een herberekening wordt gestart, wordt een thread voortgebracht die mag lopen voor dit aantal dagen. Hoe korter u dit instelt des te waarschijnlijker het is dat de draad niet is voltooid als het zou moeten. Dan stopt het spel totdat het is ("lag"). Hoe langer je instellen hoe langer het duurt voor de distributie aan te passen wanneer routes te wijzigen.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :handmatig
|
STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :handmatig
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisch
|
STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisch
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrisch
|
STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrisch
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributiemodus voor passagiers: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributie-modus voor passagiers: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetrisch" betekent dat ongeveer hetzelfde aantal passagiers gaan van een station A naar station B als een van B naar A. "asymmetrische" betekent dat willekeurig aantal passagiers kunnen gaan in beide richtingen. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor passagiers.
|
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetrisch" betekent dat ongeveer hetzelfde aantal passagiers gaan van een station A naar station B als een van B naar A. "asymmetrische" betekent dat willekeurig aantal passagiers kunnen gaan in beide richtingen. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor passagiers.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distributiemodus voor post: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distributie-modus voor post: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisch" betekent dat ongeveer dezelfde hoeveelheid post zal worden verzonden van een station A naar een station B als B naar A. "asymmetrisch" betekent dat willekeurige hoeveelheden post in beide richtingen worden verzonden. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor post.
|
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisch" betekent dat ongeveer dezelfde hoeveelheid e-mail wordt verzonden van een station A naar station B als een van B naar A. "asymmetrische" dat willekeurige hoeveelheden post in beide richtingen worden verzonden. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor post.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distributiemodus voor de GEPANTSERDE ladingsklasse: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distributie-modus voor de GEPANTSERDE lading klasse: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :De GEPANTSERDE ladingsklasse bevat waardevolle spullen in het gematigde klimaat, diamanten in het subtropische klimaat of goud in het subarctische klimaat. NewGRF's kunnen dat veranderen. "symmetrisch" betekent dat ongeveer dezelfde hoeveelheid lading wordt verzonden van een station A naar station B als een van B naar A. "asymmetrisch" betekent dat deze vracht willekeurig in beide richtingen kan worden verzonden. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor die lading. Het wordt aanbevolen om dit op asymmetrisch of handmatig te zetten bij het spelen van subarctisch klimaat, omdat banken geen goud zullen terugsturen naar goudmijnen. Voor gematigde en subtropische klimaten kan je ook symmetrisch kiezen, omdat banken waardevolle spullen zullen terugsturen naar de oorspronkelijke bank.
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :De GEPANTSERDE lading klasse bevat waardevolle spullen in het gematigde klimaat, diamanten in de subtropische of goud in subarctische klimaat. NewGRFs kan dat veranderen. "symmetrisch" betekent dat ongeveer dezelfde hoeveelheid lading die wordt verzonden van een station A naar station B als een van B naar A. "asymmetrische" dat willekeurige deze vracht kan in beide richtingen worden verzonden. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor die lading. Het wordt aanbevolen om dit op asymmetrische of handmatig bij het spelen van subarctische, zoals banken zullen geen goud terug te sturen naar goudmijnen. Voor gematigde en subtropische kunt u ook kiezen symmetrische als banken zullen waardevolle spullen terugsturen naar de oorsprong bank van enkele lading van kostbaarheden.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distributiemodus voor andere vrachtsoorten: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distributie-modus voor andere vrachtsoorten: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"symmetrisch" betekent dat willekeurige hoeveelheden lading in beide richtingen kunnen worden gestuurd. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor die lading.
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"symmetrisch" betekent dat willekeurige hoeveelheden lading in beide richtingen kan worden gestuurd. "manual" betekent dat er geen automatische distributie zal plaatsvinden voor die lading.
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Verdeelnauwkeurigheid: {STRING}
|
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Verdeelnauwkeurigheid: {STRING}
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Hoe hoger de instelling, des te meer CPU-tijd de berekening van de linkgrafiek zal gebruiken. Als het te lang duurt, kan dan dat lag opleveren. Als je dit echter op een lage waarde instelt, zal de verdeling onnauwkeurig zijn, en kan het zijn dat vracht niet wordt gestuurd naar de plekken waar het naartoe moet gaan.
|
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Hoe hoger de instelling des te meer CPU-tijd de berekening van de link grafiek zal gebruiken. Als het te lang duurt kan vertraging opleveren. Als u deze instelt op een lage waarde, echter, zal de verdeling onnauwkeurig zijn, en de lading zal niet altijd worden verzonden naar de plaatsen die u verwacht.
|
||||||
STR_CONFIG_SETTING_DEMAND_DISTANCE :Effect van afstand op de vraag: {STRING}
|
STR_CONFIG_SETTING_DEMAND_DISTANCE :Effect van afstand op de vraag: {STRING}
|
||||||
STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Als je dit op een waarde hoger dan 0 zet, dan zal de afstand tussen het station van herkomst A met enige vracht en een mogelijke bestemming B effect hebben op de hoeveelheid lading verzonden van A naar B. Hoe verder weg B is van A, des te minder lading wordt verzonden. Hoe hoger je deze instelt, hoe minder lading wordt verzonden naar verder geleden stations en meer lading zal worden verzonden naar dichtbij gelegen stations.
|
STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Als je dit op een waarde hoger dan 0, de afstand tussen het station van herkomst A van enige vracht en een mogelijke bestemming B zal een effect hebben op de hoeveelheid lading verzonden van A naar B. Hoe verder weg B is van A des te minder lading wordt verzonden. Hoe hoger u deze instelt, zal het minder lading worden gezonden naar verder geleden stations en meer lading zal worden verzonden naar dichtbij gelegen stations.
|
||||||
STR_CONFIG_SETTING_DEMAND_SIZE :Hoeveelheid van de kerende vracht voor symmetrische modus: {STRING}
|
STR_CONFIG_SETTING_DEMAND_SIZE :Hoeveelheid van de kerende vracht voor symmetrische modus: {STRING}
|
||||||
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Door dit op minder dan 100% te zetten lijkt de symmetrische verdeling meer op de asymmetrische verdeling. Minder vracht zal geforceerd worden om zich terug te sturen als er een bepaalde hoeveelheid wordt verzonden naar een station. Op 0% van de symmetrische verdeling gedraagt deze zicht als de asymmetrische verdeling.
|
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Door dit op minder dan 100% te zetten lijkt de symmetrische verdeling meer op het asymmetrische verdeling. Minder vracht zal geforceerd worden teruggestuurd als er een bepaalde hoeveelheid wordt verzonden naar een station. Op 0% van de symmetrische verdeling gedraagt deze zicht als de asymmetrische verdeling.
|
||||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Verzadiging van korte routes voor het gebruik van ruime routes: {STRING}
|
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Verzadiging van korte routes voor het gebruik van ruime routes: {STRING}
|
||||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Vaak zijn er meerdere routes mogelijk tussen twee stations. Cargodist zal de kortste route eerst verzadigen, gebruik dan de tweede kortste route tot die verzadigd is en ga zo maar door. Verzadiging wordt bepaald door een schatting van de capaciteit en het geplande gebruik. Zodra alle routes verzadigd zijn, maar er is meer vraag, zal alle wegen overbelast worden, die met hoge capaciteit eerst. In veel gevallen zat het algoritme niet nauwkeurig de capaciteit inschatten, helaas. Met deze instelling kunt u aangeven tot welk percentage een korter pad moet worden verzadigd eer de eerst volgende langere route wordt gekozen. Zet deze op minder dan 100% om overvolle stations in geval van overschat capaciteit te voorkomen.
|
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Vaak zijn er meerdere routes mogelijk tussen twee stations. Cargodist zal de kortste route eerst verzadigen, gebruik dan de tweede kortste route tot die verzadigd is en ga zo maar door. Verzadiging wordt bepaald door een schatting van de capaciteit en het geplande gebruik. Zodra alle routes verzadigd zijn, maar er is meer vraag, zal alle wegen overbelast worden, die met hoge capaciteit eerst. In veel gevallen zat het algoritme niet nauwkeurig de capaciteit inschatten, helaas. Met deze instelling kunt u aangeven tot welk percentage een korter pad moet worden verzadigd eer de eerst volgende langere route wordt gekozen. Zet deze op minder dan 100% om overvolle stations in geval van overschat capaciteit te voorkomen.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Snelheidseenheden: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Snelheid eenheden: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Wanneer een snelheid wordt weergegeven in de gebruikersinterface, dan moet het worden getoond in de geselecteerde eenheden
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Wanneer een snelheid wordt weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperiaal (mph)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperial (mph)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrisch (km/h)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrisch (km/h)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Voertuigkrachteenheden: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Voertuig kracht eenheden: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Als het verbruik van een voertuig wordt weergegeven in de gebruikersinterface, dan moet het worden getoond in de geselecteerde eenheden
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Als het verbruik van een voertuig wordt weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperiaal (hp)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperial (hp)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrisch (hp)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrisch (hp)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Gewichtseenheden: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Gewichten eenheden: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Wanneer er gewichten worden weergegeven in de gebruikersinterface, dan moeten ze worden getoond in de geselecteerde eenheden
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Wanneer er gewichten worden weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperiaal (short t/ton)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (short t/ton)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrisch (t/ton)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrisch (t/ton)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volume-eenheden: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volume eenheden: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Wanneer volumes worden getoond in de gebruikersinterface, dan moeten ze worden getoond in de geselecteerde eenheden
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Wanneer volumes worden getoond in de gebruikersinterface, laten dat in de geselecteerde eenheden zien
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperiaal (gal)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrisch (l)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrisch (l)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Trekkrachteenheden: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Trekkracht eenheden: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Wanneer trekkracht, wordt weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Wanneer trekkracht, wordt weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperiaal (lbf)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrisch (kgf)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrisch (kgf)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Hoogte-eenheden: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :hoogte eenheden: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Wanneer hoogtes worden weergegeven in de gebruikersinterface, moet het worden getoond in de geselecteerde eenheden
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Wanneer hoogtes worden weergegeven in de gebruikersinterface, laten dat in de geselecteerde eenheden zien
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperiaal (ft)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisch (m)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisch (m)
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
|
||||||
|
|
||||||
@@ -1679,7 +1679,7 @@ STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physics
|
|||||||
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routebepaling
|
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routebepaling
|
||||||
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Beperkingen
|
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Beperkingen
|
||||||
STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Rampen / Ongelukken
|
STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Rampen / Ongelukken
|
||||||
STR_CONFIG_SETTING_GENWORLD :{ORANGE}Wereldgeneratie
|
STR_CONFIG_SETTING_GENWORLD :{ORANGE}Wereld generatie
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Omgeving
|
STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Omgeving
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoriteiten
|
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoriteiten
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Steden
|
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Steden
|
||||||
@@ -1709,17 +1709,17 @@ STR_CONFIG_ERROR_ARRAY :{WHITE}... fout
|
|||||||
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ongeldige waarde '{STRING}' voor '{STRING}'
|
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ongeldige waarde '{STRING}' voor '{STRING}'
|
||||||
STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... karakters gevonden aan het einde van instellingen '{STRING}'
|
STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... karakters gevonden aan het einde van instellingen '{STRING}'
|
||||||
STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... negeer NewGRF '{STRING}': dubbel GRF ID met '{STRING}'
|
STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... negeer NewGRF '{STRING}': dubbel GRF ID met '{STRING}'
|
||||||
STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... negeer ongeldige NewGRF '{STRING}': {STRING}
|
STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... negeer ongeldig NewGRF '{STRING}': {STRING}
|
||||||
STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :niet gevonden
|
STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :niet gevonden
|
||||||
STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :onveilig voor statisch gebruik
|
STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :onveilig voor statisch gebruik
|
||||||
STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :systeem NewGRF
|
STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :systeem NewGRF
|
||||||
STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :niet compatibel met deze versie van OpenTTD
|
STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :niet compatibel met deze versie van OpenTTD
|
||||||
STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :onbekend
|
STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :onbekend
|
||||||
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... compressieniveau '{STRING}' is niet geldig
|
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... compressie niveau '{STRING}' is niet geldig
|
||||||
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... savegameformaat '{STRING}' is niet beschikbaar. Valt terug naar '{STRING}'
|
STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... savegame formaat '{STRING}' is niet beschikbaar. Valt terug naar '{STRING}'
|
||||||
STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... negeert standaard graphicsset '{STRING}': niet gevonden
|
STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... negeert Basis Grafische set '{STRING}': niet gevonden
|
||||||
STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... negeert standaard geluidsset '{STRING}': niet gevonden
|
STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... negeert Basis Geluid set '{STRING}': niet gevonden
|
||||||
STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... negeert standaard muziekset '{STRING}': niet gevonden
|
STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... negeert Basis Muziek set '{STRING}': niet gevonden
|
||||||
STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Geen geheugen meer
|
STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Geen geheugen meer
|
||||||
STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Toewijzen van {BYTES} van spritecache mislukt. De spritecache werd teruggebracht tot {BYTES}. Dit zal de prestaties van OpenTTD verlagen. Om het geheugen te verminderen kunt u proberen om 32bpp graphics en / of zoom-in levels uit te schakelen
|
STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Toewijzen van {BYTES} van spritecache mislukt. De spritecache werd teruggebracht tot {BYTES}. Dit zal de prestaties van OpenTTD verlagen. Om het geheugen te verminderen kunt u proberen om 32bpp graphics en / of zoom-in levels uit te schakelen
|
||||||
|
|
||||||
@@ -1761,7 +1761,6 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Zoeken n
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Toon AI/Game script instellingen
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Toon AI/Game script instellingen
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Verlaat 'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Verlaat 'OpenTTD'
|
||||||
|
|
||||||
STR_INTRO_BASESET :{BLACK}De huidige gekozen graphics set mist {NUM} afbeelding{P "" en}. Controleer of er updates zijn voor deze basisset.
|
|
||||||
STR_INTRO_TRANSLATION :{BLACK}Deze vertaling mist {NUM} tekst{P "" en}. Help aub om OpenTTD beter te maken door je al vertaler aan te melden. Zie readme.txt voor details.
|
STR_INTRO_TRANSLATION :{BLACK}Deze vertaling mist {NUM} tekst{P "" en}. Help aub om OpenTTD beter te maken door je al vertaler aan te melden. Zie readme.txt voor details.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -1790,7 +1789,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Weet je
|
|||||||
# Cheat window
|
# Cheat window
|
||||||
STR_CHEATS :{WHITE}Cheats
|
STR_CHEATS :{WHITE}Cheats
|
||||||
STR_CHEATS_TOOLTIP :{BLACK}Keuzevakjes geven aan of je deze cheat eerder hebt gebruikt
|
STR_CHEATS_TOOLTIP :{BLACK}Keuzevakjes geven aan of je deze cheat eerder hebt gebruikt
|
||||||
STR_CHEATS_WARNING :{BLACK}Waarschuwing! Je staat op het punt je medespelers te verraden. Onthoud dat zo'n schande eeuwig wordt onthouden
|
STR_CHEATS_WARNING :{BLACK}Waarschuwing! Je staat op het punt je medespelers te verraden. Bedenk dat zo'n schande eeuwig wordt onthouden
|
||||||
STR_CHEAT_MONEY :{LTBLUE}Verhoog geld met {CURRENCY_LONG}
|
STR_CHEAT_MONEY :{LTBLUE}Verhoog geld met {CURRENCY_LONG}
|
||||||
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spelen als bedrijf: {ORANGE}{COMMA}
|
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spelen als bedrijf: {ORANGE}{COMMA}
|
||||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magische bulldozer (industrieën en andere onverplaatsbare objecten verwijderen): {ORANGE}{STRING}
|
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magische bulldozer (industrieën en andere onverplaatsbare objecten verwijderen): {ORANGE}{STRING}
|
||||||
@@ -2354,19 +2353,19 @@ STR_STATION_CLASS_WAYP :Controleposten
|
|||||||
|
|
||||||
# Signal window
|
# Signal window
|
||||||
STR_BUILD_SIGNAL_CAPTION :{WHITE}Seinkeuze
|
STR_BUILD_SIGNAL_CAPTION :{WHITE}Seinkeuze
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Bloksein (armsein){}Dit is het simpelste soort sein dat slechts één trein tegelijk in hetzelfde blok toelaat
|
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Bloksein (armsein){}Dit is het simpelste soort sein, dat slechts één trein tegelijk in hetzelfde blok toelaat
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ingangssein (semafoor){}Groen zolang als er één of meer groene uitgangsseinen zijn volgend na dit sein. Anders is deze rood
|
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ingangssein (semafoor){}Groen zolang als er één of meer groene uitgangsseinen zijn volgend na dit sein. Anders is deze rood
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Uitgangssein (armsein){}Gedraagt zich hetzelfde als een gewoon bloksein, maar is nodig om ingangs- en combinatieseinen te sturen
|
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Uitgangssein (armsein){}Gedraagt zich hetzelfde als een gewoon bloksein, maar is nodig om ingangs- en combinatieseinen te sturen
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Combinatiesein (armsein){}Het combinatiesein gedraagt zich als zowel ingangs- als uitgangssein. Zo kun je grote netwerken van beginseinen maken
|
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Combinatiesein (armsein){}Het combinatiesein gedraagt zich als zowel ingangs- als uitgangssein. Zo kun je grote netwerken van beginseinen maken
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Routesein (armsein){}Een routesein laat meer dan één trein tegelijk in een seinblok toe als de trein een route kan reserveren naar een veilige stopplaats. Routeseinen kunnen van achteren worden gepasseerd
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Routesein (armsein){}Een routesein laat meer dan één trein tegelijk in een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Routeseinen kunnen van achteren worden gepasseerd
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Eenrichtingsrouteseinen (armsein){}Een routesein laat meer dan één trein tegelijk in een seinblok toe als de trein een route kan reserveren naar een veilige stopplaats. Eenrichtingsrouteseinen kunnen niet van achteren worden gepasseerd
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Eenrichtingsrouteseinen (armsein){}Een routesein laat meer dan één trein tegelijk in een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Eenrichtingsrouteseinen kunnen niet van achteren worden gepasseerd
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standaard sein (elektrisch){}Seinen zijn nodig om te voorkomen dat treinen botsen bij netwerken met meer dan één trein
|
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standaard sein (elektrisch){}Seinen zijn nodig om te voorkomen dat treinen botsen bij netwerken met meer dan één trein
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ingangssein (elektrisch){}Groen als er meer dan één groen uitgangssein is in de volgende sectie. Anders is deze rood
|
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ingangssein (electrisch){}Groen als er meer dan één groen uitgangssein is in de volgende sectie. Anders is deze rood
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Uitgangssein (elektrisch){}Gedraagt zich hetzelfde als een standaard sein, maar is nodig om ingangs- & combinatie-seinen aan te sturen
|
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Uitgangssein (elektrisch){}Gedraagt zich hetzelfde als een standaard sein, maar is nodig om ingangs- & combinatie-seinen aan te sturen
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Combinatiesein (elektrisch){}Het combinatiesein gedraagt zich als zowel ingangs- als uitgangssein. Zo kun je grote netwerken van beginseinen maken
|
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Combinatiesein (electric){}Het combinatiesein gedraagt zich als zowel ingangs- als uitgangs-sein. Zo kun je grote netwerken van beginseinen maken
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Routeseinen (elektrisch){}Een routesein laat meer dan één trein tegelijk op een seinblok toe als de trein een route kan reserveren naar een veilige stopplaats. Routeseinen kunnen van achteren worden gepasseerd
|
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Routeseinen (elektrisch){}Een routesein laat meer dan één trein tegelijk op een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Routeseinen kunnen van achteren worden gepasseerd
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Eenrichtingsrouteseinen (elektrisch){}Een routesein laat meer dan één trein tegelijk op een seinblok toe als de trein een route kan reserveren naar een veilige stopplaats. Eenrichtingsrouteseinen kunnen niet van achteren worden gepasseerd
|
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Eenrichtingsrouteseinen (elektrisch){}Een routesein laat meer dan één trein tegelijk op een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Eenrichtingsrouteseinen kunnen niet van achteren worden gepasseerd
|
||||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Sein ombouwen{}Als dit geselecteerd is, dan zal door te klikken op een bestaand sein deze worden omgebouwd naar het geselecteerde seintype en variant, Ctrl+klik verandert de bestaande variant (armsein/elektrisch). Shift+klik toont de geschatte ombouwkosten
|
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Sein ombouwen{}Indien geselecteerd, zal door te klikken op een bestaand sein deze worden omgebouwd naar het geselecteerde seintype en variant, Ctrl+klik verandert de bestaande variant (armsein/elektrisch). Shift+klik toont de geschatte ombouwkosten
|
||||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dichtheid van seinen bij het slepen
|
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dichtheid van seinen bij het slepen
|
||||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Verklein dichtheid van seinen bij het slepen
|
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Verklein dichtheid van seinen bij het slepen
|
||||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Vergroot dichtheid van seinen bij het slepen
|
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Vergroot dichtheid van seinen bij het slepen
|
||||||
@@ -2377,10 +2376,10 @@ STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Kies typ
|
|||||||
STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Brugkeuze - klik op de gewenste brug om die te bouwen
|
STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Brugkeuze - klik op de gewenste brug om die te bouwen
|
||||||
STR_SELECT_BRIDGE_INFO :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG}
|
STR_SELECT_BRIDGE_INFO :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG}
|
||||||
STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING},{} {VELOCITY}
|
STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING},{} {VELOCITY}
|
||||||
STR_BRIDGE_NAME_SUSPENSION_STEEL :Hangend, Staal
|
STR_BRIDGE_NAME_SUSPENSION_STEEL :Hang, Staal
|
||||||
STR_BRIDGE_NAME_GIRDER_STEEL :Koker, Staal
|
STR_BRIDGE_NAME_GIRDER_STEEL :Koker, Staal
|
||||||
STR_BRIDGE_NAME_CANTILEVER_STEEL :Cantilever, Staal
|
STR_BRIDGE_NAME_CANTILEVER_STEEL :Cantilever, Staal
|
||||||
STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Hangend, Beton
|
STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Hang, Beton
|
||||||
STR_BRIDGE_NAME_WOODEN :Hout
|
STR_BRIDGE_NAME_WOODEN :Hout
|
||||||
STR_BRIDGE_NAME_CONCRETE :Beton
|
STR_BRIDGE_NAME_CONCRETE :Beton
|
||||||
STR_BRIDGE_NAME_TUBULAR_STEEL :Buis, Staal
|
STR_BRIDGE_NAME_TUBULAR_STEEL :Buis, Staal
|
||||||
@@ -2466,7 +2465,7 @@ STR_AIRPORT_HELISTATION :Helikopterstati
|
|||||||
STR_AIRPORT_CLASS_SMALL :Kleine vliegvelden
|
STR_AIRPORT_CLASS_SMALL :Kleine vliegvelden
|
||||||
STR_AIRPORT_CLASS_LARGE :Grote vliegvelden
|
STR_AIRPORT_CLASS_LARGE :Grote vliegvelden
|
||||||
STR_AIRPORT_CLASS_HUB :Centraal vliegveld
|
STR_AIRPORT_CLASS_HUB :Centraal vliegveld
|
||||||
STR_AIRPORT_CLASS_HELIPORTS :Helikoptervliegvelden
|
STR_AIRPORT_CLASS_HELIPORTS :Helikopter-vliegvelden
|
||||||
|
|
||||||
STR_STATION_BUILD_NOISE :{BLACK}Geluidsoverlast: {GOLD}{COMMA}
|
STR_STATION_BUILD_NOISE :{BLACK}Geluidsoverlast: {GOLD}{COMMA}
|
||||||
|
|
||||||
@@ -2590,7 +2589,6 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Vliegvel
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Geaccepteerde vracht: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Geaccepteerde vracht: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Rail type: {LTBLUE}{STRING}
|
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Spoor snelheidslimiet: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Spoor snelheidslimiet: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Snelheidslimiet weg: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Snelheidslimiet weg: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2603,29 +2601,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Akkers
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Sneeuw
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Sneeuw
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Woestijn
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Woestijn
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Spoorweg spoor
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} spoor
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Spoorweg spoor met blokseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} spoor met blokseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Spoorweg spoor met voorseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} spoor met voorseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Spoorweg spoor met exitseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} spoor met exitseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Spoorweg spoor met combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} spoor met combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Spoorweg spoor met routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} spoor met routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Spoorweg spoor met eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} spoor met eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Spoorweg spoor met blok en voorseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} spoor met blok en voorseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Spoorweg spoor met blok en exitseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} spoor met blok en exitseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Spoorweg spoor met blok en combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} spoor met blok en combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Spoorweg spoor met blok en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} spoor met blok en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Spoorweg spoor met blok en eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} spoor met blok en eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Spoorweg spoor met voor- en exitseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} spoor met voor- en exitseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Spoorweg spoor met voor- en combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} spoor met voor- en combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Spoorweg spoor met voor- en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} spoor met voor- en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Spoorweg spoor met voor- en eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} spoor met voor- en eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Spoorweg spoor met exit- en combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} spoor met exit- en combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Spoorweg spoor met exit- en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} spoor em exit- en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Spoorweg spoor met exit- en eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} spoor met exit- en eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Spoorweg spoor met combo- en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} spoor met combo- en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Spoorweg Spoor met combo- en eenrichtingssein
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} Spoor met combo- en eenrichtingssein
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Spoorweg spoor met route en eenrichtingssein
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} spoor met route en eenrichtingssein
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Spoorweg trein depot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} trein depot
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Weg
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Weg
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Weg met straatlantaarns
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Weg met straatlantaarns
|
||||||
@@ -2689,7 +2687,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Het OpenTTD-team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2016 Het OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
|
||||||
@@ -2908,6 +2906,8 @@ STR_NEWGRF_ERROR_INVALID_ID :Poging om ongel
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} bevat een ongeldige afbeelding. Alle ongeldige afbeeldingen worden getoond als een rood vraagteken (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} bevat een ongeldige afbeelding. Alle ongeldige afbeeldingen worden getoond als een rood vraagteken (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Bevat meerdere acties 8 (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Bevat meerdere acties 8 (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Voorbij het einde van pseudo-sprite gelezen (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Voorbij het einde van pseudo-sprite gelezen (sprite {3:NUM})
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}De huidige basis graphics-set mist een aantal sprites..{}Werk de graphics-set bij aub
|
||||||
|
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}De momenteel gebruikte basis graphics set mist een aantal sprites.{} Werk de ingestelde basis graphics bij.{} Aangezien u een {YELLOW} ontwikkeling momentopname van OpenTTD{WHITE} speelt, heeft u ook een {YELLOW} ontwikkeling snapshot van de basis graphics set{WHITE} nodig
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Gevraagde GRF middelen niet beschikbaar (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Gevraagde GRF middelen niet beschikbaar (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} is uitgeschakeld door {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} is uitgeschakeld door {STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ongeldig/onbekend sprite lay-out-formaat (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ongeldig/onbekend sprite lay-out-formaat (sprite {3:NUM})
|
||||||
@@ -2936,7 +2936,7 @@ STR_NEWGRF_BROKEN :{WHITE}Gedrag v
|
|||||||
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Wagon '{1:ENGINE}' gewijzigde status van aandrijfeenheid wanneer niet in een depot
|
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Wagon '{1:ENGINE}' gewijzigde status van aandrijfeenheid wanneer niet in een depot
|
||||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Het verandert de lengte van voertuig '{1:ENGINE}' terwijl het niet in een depot is
|
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Het verandert de lengte van voertuig '{1:ENGINE}' terwijl het niet in een depot is
|
||||||
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Het wijzigde voertuigcapaciteit voor '{1:ENGINE}' wanneer niet in een depot of ombouwen
|
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Het wijzigde voertuigcapaciteit voor '{1:ENGINE}' wanneer niet in een depot of ombouwen
|
||||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Het is waarschijnlijk veroorzaakt door problemen met NewGRF's. Het spel kan desynchroniseren of vastlopen
|
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Het is waarschijnlijk veroorzaakt door problemen met NewGRFs. Het spel kan desynchroniseren of vastlopen
|
||||||
|
|
||||||
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' geeft onjuiste informatie
|
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' geeft onjuiste informatie
|
||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Vracht-/ombouwinformatie voor '{1:ENGINE}' wijkt af van aanschaflijst na het bouwen. Dit kan resulteren in problemen bij ombouwen door automatisch vernieuwen/vervangen
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Vracht-/ombouwinformatie voor '{1:ENGINE}' wijkt af van aanschaflijst na het bouwen. Dit kan resulteren in problemen bij ombouwen door automatisch vernieuwen/vervangen
|
||||||
@@ -3146,14 +3146,14 @@ STR_STATION_VIEW_GROUP_D_S_V :Bestemming-Bron
|
|||||||
STR_STATION_VIEW_GROUP_D_V_S :Bestemming-Via-Bron
|
STR_STATION_VIEW_GROUP_D_V_S :Bestemming-Via-Bron
|
||||||
|
|
||||||
############ range for rating starts
|
############ range for rating starts
|
||||||
STR_CARGO_RATING_APPALLING :Verschrikkelijk
|
STR_CARGO_RATING_APPALLING :Teleurstellend
|
||||||
STR_CARGO_RATING_VERY_POOR :Erg slecht
|
STR_CARGO_RATING_VERY_POOR :Erg slecht
|
||||||
STR_CARGO_RATING_POOR :Slecht
|
STR_CARGO_RATING_POOR :Slecht
|
||||||
STR_CARGO_RATING_MEDIOCRE :Matig
|
STR_CARGO_RATING_MEDIOCRE :Matig
|
||||||
STR_CARGO_RATING_GOOD :Goed
|
STR_CARGO_RATING_GOOD :Goed
|
||||||
STR_CARGO_RATING_VERY_GOOD :Erg goed
|
STR_CARGO_RATING_VERY_GOOD :Erg goed
|
||||||
STR_CARGO_RATING_EXCELLENT :Uitstekend
|
STR_CARGO_RATING_EXCELLENT :Geweldig
|
||||||
STR_CARGO_RATING_OUTSTANDING :Voortreffelijk
|
STR_CARGO_RATING_OUTSTANDING :Uitstekend
|
||||||
############ range for rating ends
|
############ range for rating ends
|
||||||
|
|
||||||
STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het station. Ctrl+klik opent een nieuw venster op de locatie van het station
|
STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het station. Ctrl+klik opent een nieuw venster op de locatie van het station
|
||||||
@@ -3235,7 +3235,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bouw bed
|
|||||||
STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Bekijk bedrijfshoofdkwartier
|
STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Bekijk bedrijfshoofdkwartier
|
||||||
STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Toon bedrijfshoofdkwartier
|
STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Toon bedrijfshoofdkwartier
|
||||||
STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Verplaats bedrijfshoofdkwartier
|
STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Verplaats bedrijfshoofdkwartier
|
||||||
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Herbouw bedrijfshoofdkwartier ergens anders voor 1% van de bedrijfswaarde. Shift+klik toont verwachte kosten zonder hoofdkwartier te verplaatsen
|
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Herbouw bedrijfshoofdkwartier ergens anders voor 1% van de bedrijfswaarde. Shift+klik toont verwachte kosten zonder HQ te verplaatsen
|
||||||
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Details
|
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Details
|
||||||
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Bekijken gedetailleerde aantallen infrastructuur
|
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Bekijken gedetailleerde aantallen infrastructuur
|
||||||
|
|
||||||
@@ -3248,8 +3248,8 @@ STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Verander
|
|||||||
STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Naam directeur
|
STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Naam directeur
|
||||||
STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Verander de naam van de directeur
|
STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Verander de naam van de directeur
|
||||||
|
|
||||||
STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Koop een aandeel van 25% in dit bedrijf
|
STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Koop 25% aandeel in bedrijf
|
||||||
STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Verkoop een aandeel van 25% in dit bedrijf
|
STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Verkoop 25% aandeel in bedrijf
|
||||||
STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Koop een aandeel van 25% in dit bedrijf. Shift+klik toont verwachte kosten zonder te kopen
|
STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Koop een aandeel van 25% in dit bedrijf. Shift+klik toont verwachte kosten zonder te kopen
|
||||||
STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Verkoop een aandeel van 25% in dit bedrijf. Shift+klik toont verwachte kosten zonder te kopen
|
STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Verkoop een aandeel van 25% in dit bedrijf. Shift+klik toont verwachte kosten zonder te kopen
|
||||||
|
|
||||||
@@ -3264,11 +3264,11 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Spoordele
|
|||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Seinen
|
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Seinen
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Wegdelen:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Wegdelen:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD :{WHITE}Weg
|
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD :{WHITE}Weg
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tramsporen
|
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAMWAY :{WHITE}Tramrails
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Watertegels:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Water tegels:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanalen
|
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanalen
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stations:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stations:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Stationstegels
|
STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Stationtegels
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Vliegvelden
|
STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Vliegvelden
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/jr
|
STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENCY_LONG}/jr
|
||||||
|
|
||||||
@@ -3294,13 +3294,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Vereist:
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vereist: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vereist: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vereist
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}wachtend
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_FOR_PROCESSING :{BLACK}Vracht klaar om te worden verwerkt:
|
||||||
|
STR_INDUSTRY_VIEW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO_LONG}{STRING}{BLACK}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produceert: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produceert: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produceert: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produceert: {YELLOW}{STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for produces ends
|
############ range for produces ends
|
||||||
@@ -3368,12 +3364,12 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Verwijder alle
|
|||||||
STR_GROUP_RENAME_CAPTION :{BLACK}Hernoem een groep
|
STR_GROUP_RENAME_CAPTION :{BLACK}Hernoem een groep
|
||||||
|
|
||||||
# Build vehicle window
|
# Build vehicle window
|
||||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nieuwe spoorvoertuigen
|
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nieuwe railvoertuigen
|
||||||
STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nieuwe elektrische spoorvoertuigen
|
STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nieuwe elektrische railvoertuigen
|
||||||
STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nieuwe monorailvoertuigen
|
STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nieuwe monorailrailvoertuigen
|
||||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nieuwe zweefspoorvoertuigen
|
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nieuwe zweefrailvoertuigen
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nieuwe spoorvoertuigen
|
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Railvoertuigen
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nieuwe wegvoertuigen
|
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nieuwe wegvoertuigen
|
||||||
STR_BUY_VEHICLE_SHIP_CAPTION :Nieuwe schepen
|
STR_BUY_VEHICLE_SHIP_CAPTION :Nieuwe schepen
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nieuwe vliegtuigen
|
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nieuwe vliegtuigen
|
||||||
@@ -3399,17 +3395,17 @@ STR_PURCHASE_INFO_ALL_BUT :Alles behalve {
|
|||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trekkracht: {GOLD}{FORCE}
|
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trekkracht: {GOLD}{FORCE}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Bereik: {GOLD}{COMMA} tegels
|
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Bereik: {GOLD}{COMMA} tegels
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Spoorvoertuigkeuzelijst. Klik op een spoorvoertuig voor informatie. Ctrl+klik voor het aan/uitzetten van het verbergen van het voertuigtype
|
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Railvoertuigkeuzelijst. Klik op een railvoertuig voor informatie. Ctrl+klik voor wijzigen verbergen voertuig type
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigkeuzelijst. Klik op een wegvoertuig voor informatie. Ctrl+klik om het verbergen van het voertuigtype aan/uit te zetten.
|
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigkeuzelijst. Klik op een wegvoertuig voor informatie. Ctrl+klik voor wijzigen verbergen voertuig type
|
||||||
STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schipskeuzelijst. Klik op een schip voor informatie. Ctrl+klik voor het aan/uitzetten voor het verbergen van het schipstype
|
STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Schipkeuzelijst. Klik op een schip voor informatie. Ctrl+klik voor wijzigen verbergen schip type
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuigkeuzelijst. Klik op een vliegtuig voor informatie. Ctrl+klik voor om het verbergen van het vliegtuigtype aan te zetten
|
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuigkeuzelijst. Klik op een vliegtuig voor informatie. Ctrl+clik voor Wijzigen voor verbergenvlieftuig type
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Koop spoorvoertuig
|
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Koop spoorvoertuig
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koop wegvoertuig
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koop wegvoertuig
|
||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Koop schip
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Koop schip
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Koop vliegtuig
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Koop vliegtuig
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde spoorvoertuig. Shift+klik toont verwachte kosten zonder te kopen
|
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde railvoertuig. Shift+klik toont verwachte kosten zonder te kopen
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde wegvoertuig. Shift+klik toont verwachte kosten zonder te kopen
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde wegvoertuig. Shift+klik toont verwachte kosten zonder te kopen
|
||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde schip. Shift+klik toont verwachte kosten zonder te kopen
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde schip. Shift+klik toont verwachte kosten zonder te kopen
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde vliegtuig. Shift+klik toont verwachte kosten zonder te kopen
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde vliegtuig. Shift+klik toont verwachte kosten zonder te kopen
|
||||||
@@ -3419,10 +3415,10 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Hernoem
|
|||||||
STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Hernoem
|
STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Hernoem
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Hernoem
|
STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Hernoem
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Hernoem type spoorvoertuig
|
STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Hernoem type van railvoertuig
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Hernoem type wegvoertuig
|
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Hernoem type van wegvoertuig
|
||||||
STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Hernoem type schip
|
STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Hernoem type van schip
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Hernoem type vliegtuig
|
STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Hernoem type van vliegtuig
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Verberg
|
STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Verberg
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Verberg
|
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Verberg
|
||||||
@@ -3434,10 +3430,10 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Toon
|
|||||||
STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Toon
|
STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Toon
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Toon
|
STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Toon
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzigt het verbergen/tonen van het treintype
|
STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van treintype
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzigt het verbergen/tonen van het wegvoertuigtype
|
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van wegvoertuigtype
|
||||||
STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzigt het verbergen/tonen van het schipstype
|
STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van schiptype
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzigt het verbergen/tonen van het vliegtuigtype
|
STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Wijzig verberg/toon van vliegtuigtype
|
||||||
|
|
||||||
STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Hernoem type van railvoertuig
|
STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Hernoem type van railvoertuig
|
||||||
STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Hernoem type van wegvoertuig
|
STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Hernoem type van wegvoertuig
|
||||||
@@ -3561,10 +3557,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} als ou
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop het vervangen
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop het vervangen
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klik op deze knop als je de aan de linkerkant geselecteerde locomotief niet wilt vervangen
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klik op deze knop als je de aan de linkerkant geselecteerde locomotief niet wilt vervangen
|
||||||
|
|
||||||
|
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Aan het vervangen: {ORANGE}{STRING}
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Wissel tussen locomotief- en wagonvervangvensters
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Wissel tussen locomotief- en wagonvervangvensters
|
||||||
STR_REPLACE_ENGINES :Motoren
|
STR_REPLACE_ENGINES :Motoren
|
||||||
STR_REPLACE_WAGONS :Wagons
|
STR_REPLACE_WAGONS :Wagons
|
||||||
STR_REPLACE_ALL_RAILTYPE :Alle railvoertuigen
|
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecteer een spoortype waar je locomotieven voor wilt vervangen
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecteer een spoortype waar je locomotieven voor wilt vervangen
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Dit geeft weer waarmee de aan de linkerkant geselecteerde locomotief vervangen wordt
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Dit geeft weer waarmee de aan de linkerkant geselecteerde locomotief vervangen wordt
|
||||||
@@ -3959,32 +3955,32 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Selectee
|
|||||||
|
|
||||||
|
|
||||||
# AI debug window
|
# AI debug window
|
||||||
STR_AI_DEBUG :{WHITE}AI/Spelscriptdebug
|
STR_AI_DEBUG :{WHITE}AI/Game Script Debug
|
||||||
STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM})
|
STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM})
|
||||||
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Naam van het script
|
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Naam van het script
|
||||||
STR_AI_DEBUG_SETTINGS :{BLACK}Instellingen
|
STR_AI_DEBUG_SETTINGS :{BLACK}Instellingen
|
||||||
STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Wijzig de instellingen van het script
|
STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Wijzig de instellingen van het script
|
||||||
STR_AI_DEBUG_RELOAD :{BLACK}Herlaad computerspeler
|
STR_AI_DEBUG_RELOAD :{BLACK}Herlaad computerspeler
|
||||||
STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Verwijder computerspeler, herlaad het script en herstart computerspeler
|
STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Verwijder computerspeler, herlaad het script en herstart computerspeler
|
||||||
STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Afbreken in/uitschakelen als een AI-logbericht overeenstemt met de afbreektekst
|
STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Afbreken als een AI logbericht overeenstemt met de afbreektekst aan/uitschakelen
|
||||||
STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Afbreken op:
|
STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Afbreken op:
|
||||||
STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Afbreken aan
|
STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Afbreken aan
|
||||||
STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Als een AI-logbericht overeenstemt met deze string, dan wordt het spel gepauzeerd
|
STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Als een AI logbericht overeenstemt met deze string wordt het spel gepauzeerd
|
||||||
STR_AI_DEBUG_MATCH_CASE :{BLACK}Hoofdlettergevoelig
|
STR_AI_DEBUG_MATCH_CASE :{BLACK}Hoofdlettergevoelig
|
||||||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Hoofdlettergevoeligheid aan/uizetten bij het vergelijken van AI-logberichten t.o.v. de afbreekstring
|
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Hoofdlettergevoeligheid bij vergelijken van AI logberichten t.o.v. de afbreekstring aan/uitzetten
|
||||||
STR_AI_DEBUG_CONTINUE :{BLACK}Doorgaan
|
STR_AI_DEBUG_CONTINUE :{BLACK}Doorgaan
|
||||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Het spel vervolgen en de AI voortzetten
|
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Het spel vervolgen en de AI voortzetten
|
||||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Toon debuggegevens van deze AI
|
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Toon debug gegevens van deze AI
|
||||||
STR_AI_GAME_SCRIPT :{BLACK}Spelscript
|
STR_AI_GAME_SCRIPT :{BLACK}Game Script
|
||||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Controleer de log van het spelscript
|
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Controleer het Game Script log
|
||||||
|
|
||||||
STR_ERROR_AI_NO_AI_FOUND :Geen geschikte AI gevonden.{} Deze AI is een 'dummy' en voert niets uit.{}Verschillende AI's kunnen worden gedownload via het 'Online Content' systeem
|
STR_ERROR_AI_NO_AI_FOUND :Geen geschikte AI gevonden.{} Deze AI is een 'dummy' en voert niets uit.{}Verschillende AI's kunnen worden gedownload via het 'Online Content' systeem
|
||||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Eén van de actieve scripts is vastgelopen. Meld dit a.u.b. bij de auteur van dit script met een schermprint van het AI/Spel script Debugscherm
|
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Eén van de actieve scripts is vastgelopen. Meld dit a.u.b. bij de auteur van dit script met een schermprint van het AI/Spel script Debugscherm
|
||||||
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Spel script debugvenster is alleen beschikbaar voor de server
|
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Spel script debugvenster is alleen beschikbaar voor de server
|
||||||
|
|
||||||
# AI configuration window
|
# AI configuration window
|
||||||
STR_AI_CONFIG_CAPTION :{WHITE}AI/Spelscriptconfiguratie
|
STR_AI_CONFIG_CAPTION :{WHITE}AI/Spel script configuratie
|
||||||
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Het spelscript dat in het volgende spel geladen wordt
|
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Het Game Script dat in het volgende spel geladen wordt
|
||||||
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}De AI's die in het volgende spel geladen worden
|
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}De AI's die in het volgende spel geladen worden
|
||||||
STR_AI_CONFIG_HUMAN_PLAYER :Menselijke speler
|
STR_AI_CONFIG_HUMAN_PLAYER :Menselijke speler
|
||||||
STR_AI_CONFIG_RANDOM_AI :Willekeurige AI
|
STR_AI_CONFIG_RANDOM_AI :Willekeurige AI
|
||||||
@@ -3995,13 +3991,13 @@ STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Geselect
|
|||||||
STR_AI_CONFIG_MOVE_DOWN :{BLACK}Omlaag verplaatsen
|
STR_AI_CONFIG_MOVE_DOWN :{BLACK}Omlaag verplaatsen
|
||||||
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}De geselecteerde AI naar omlaag verplaatsen in de lijst
|
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}De geselecteerde AI naar omlaag verplaatsen in de lijst
|
||||||
|
|
||||||
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spelscript
|
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Game Script
|
||||||
STR_AI_CONFIG_AI :{SILVER}AI's
|
STR_AI_CONFIG_AI :{SILVER}AI's
|
||||||
|
|
||||||
STR_AI_CONFIG_CHANGE :{BLACK}Kies{STRING}
|
STR_AI_CONFIG_CHANGE :{BLACK}Kies{STRING}
|
||||||
STR_AI_CONFIG_CHANGE_NONE :
|
STR_AI_CONFIG_CHANGE_NONE :
|
||||||
STR_AI_CONFIG_CHANGE_AI :AI
|
STR_AI_CONFIG_CHANGE_AI :AI
|
||||||
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spelscript
|
STR_AI_CONFIG_CHANGE_GAMESCRIPT :Game Script
|
||||||
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Laad een ander script
|
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Laad een ander script
|
||||||
STR_AI_CONFIG_CONFIGURE :{BLACK}Configureer
|
STR_AI_CONFIG_CONFIGURE :{BLACK}Configureer
|
||||||
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configureer de parameters van het script
|
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configureer de parameters van het script
|
||||||
@@ -4009,7 +4005,7 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configur
|
|||||||
# Available AIs window
|
# Available AIs window
|
||||||
STR_AI_LIST_CAPTION :{WHITE}Beschikbaar {STRING}
|
STR_AI_LIST_CAPTION :{WHITE}Beschikbaar {STRING}
|
||||||
STR_AI_LIST_CAPTION_AI :AI's
|
STR_AI_LIST_CAPTION_AI :AI's
|
||||||
STR_AI_LIST_CAPTION_GAMESCRIPT :Spelscripts
|
STR_AI_LIST_CAPTION_GAMESCRIPT :Game Scripts
|
||||||
STR_AI_LIST_TOOLTIP :{BLACK}Klik om een script te selecteren
|
STR_AI_LIST_TOOLTIP :{BLACK}Klik om een script te selecteren
|
||||||
|
|
||||||
STR_AI_LIST_AUTHOR :{LTBLUE}Auteur: {ORANGE}{STRING}
|
STR_AI_LIST_AUTHOR :{LTBLUE}Auteur: {ORANGE}{STRING}
|
||||||
@@ -4024,7 +4020,7 @@ STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Script n
|
|||||||
# AI Parameters
|
# AI Parameters
|
||||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
|
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
|
||||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||||
STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelscript
|
STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
|
||||||
STR_AI_SETTINGS_CLOSE :{BLACK}Sluiten
|
STR_AI_SETTINGS_CLOSE :{BLACK}Sluiten
|
||||||
STR_AI_SETTINGS_RESET :{BLACK}Herstellen
|
STR_AI_SETTINGS_RESET :{BLACK}Herstellen
|
||||||
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
|
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user