Merge branch 'master' into house_placing
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,6 +7,7 @@ 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
|
||||||
|
2
Doxyfile
2
Doxyfile
@@ -195,7 +195,7 @@ EXPAND_ONLY_PREDEF = YES
|
|||||||
SEARCH_INCLUDES = YES
|
SEARCH_INCLUDES = YES
|
||||||
INCLUDE_PATH =
|
INCLUDE_PATH =
|
||||||
INCLUDE_FILE_PATTERNS =
|
INCLUDE_FILE_PATTERNS =
|
||||||
PREDEFINED = ENABLE_NETWORK WITH_ZLIB WITH_LZO WITH_LZMA WITH_SDL WITH_PNG WITH_FONTCONFIG WITH_FREETYPE WITH_ICU UNICODE _UNICODE _GNU_SOURCE FINAL=
|
PREDEFINED = ENABLE_NETWORK WITH_ZLIB WITH_LZO WITH_LZMA WITH_SDL WITH_PNG WITH_FONTCONFIG WITH_FREETYPE WITH_ICU_SORT WITH_ICU_LAYOUT UNICODE _UNICODE _GNU_SOURCE FINAL=
|
||||||
EXPAND_AS_DEFINED =
|
EXPAND_AS_DEFINED =
|
||||||
SKIP_FUNCTION_MACROS = YES
|
SKIP_FUNCTION_MACROS = YES
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@@ -84,7 +84,7 @@ endif
|
|||||||
$(Q)cp "$(BIN_DIR)/scripts/"* "$(BUNDLE_DIR)/scripts/"
|
$(Q)cp "$(BIN_DIR)/scripts/"* "$(BUNDLE_DIR)/scripts/"
|
||||||
ifdef MENU_DIR
|
ifdef MENU_DIR
|
||||||
$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
|
$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
|
||||||
$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | $(SORT) | $(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.filter.awk" >> "$(BUNDLE_DIR)/media/openttd.desktop"
|
$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | LC_ALL=C $(SORT) | $(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.filter.awk" >> "$(BUNDLE_DIR)/media/openttd.desktop"
|
||||||
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
|
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
|
||||||
endif
|
endif
|
||||||
ifeq ($(TTD), openttd.exe)
|
ifeq ($(TTD), openttd.exe)
|
||||||
|
@@ -44,22 +44,18 @@ 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_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_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
|
||||||
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)/openttd.grf $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk
|
$(BIN_DIR)/%.obg: $(BASESET_DIR)/%.obg $(BIN_DIR)/orig_extra.grf $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk
|
||||||
$(E) '$(STAGE) Updating $(notdir $@)'
|
$(E) '$(STAGE) Updating $(notdir $@)'
|
||||||
$(Q) sed 's/^OPENTTD.GRF = *[0-9a-f]*$$/OPENTTD.GRF = '`$(MD5SUM) $(BIN_DIR)/openttd.grf | sed 's@ .*@@'`'/' $< > $@.tmp
|
$(Q) sed 's/^ORIG_EXTRA.GRF = *[0-9a-f]*$$/ORIG_EXTRA.GRF = '`$(MD5SUM) $(BIN_DIR)/orig_extra.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
|
||||||
|
|
||||||
@@ -72,8 +68,9 @@ $(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) $(OBJS_DIR)/sprites $(GRF_DIR)/assemble_nfo.awk
|
$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(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
|
||||||
@@ -81,6 +78,17 @@ $(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites $(GRF_DIR)
|
|||||||
$(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/*.obg $(BIN_DIR)/baseset/*.obs $(BIN_DIR)/baseset/*.obm
|
$(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
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
@for dir in $(SRC_DIRS); do \
|
@for dir in $(SRC_DIRS); do \
|
||||||
|
@@ -210,7 +210,7 @@ endif
|
|||||||
{ \
|
{ \
|
||||||
print $$0 \
|
print $$0 \
|
||||||
} \
|
} \
|
||||||
' < Makefile.dep.tmp | sed 's@ *@ @g;s@ $$@@' | $(SORT) > Makefile.dep
|
' < Makefile.dep.tmp | sed 's@ *@ @g;s@ $$@@' | LC_ALL=C $(SORT) > Makefile.dep
|
||||||
|
|
||||||
$(Q)rm -f Makefile.dep.tmp Makefile.dep.tmp.bak
|
$(Q)rm -f Makefile.dep.tmp Makefile.dep.tmp.bak
|
||||||
|
|
||||||
|
@@ -21,12 +21,14 @@ description.el_GR = Ένα πάκετο μουσικής χωρίς πραγμα
|
|||||||
description.en_AU = A music pack without actual music.
|
description.en_AU = A music pack without actual music.
|
||||||
description.en_US = A music pack without actual music.
|
description.en_US = A music pack without actual music.
|
||||||
description.es_ES = Un conjunto de música vacío.
|
description.es_ES = Un conjunto 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.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.
|
||||||
description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith.
|
description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith.
|
||||||
description.gl_ES = Un conxunto de músicas sen ningunha música.
|
description.gl_ES = Un conxunto de músicas sen ningunha música.
|
||||||
|
description.he_IL = אוסף מנגינות ללא מנגינות.
|
||||||
description.hr_HR = Glazbeni paket bez ikakve glazbe.
|
description.hr_HR = Glazbeni paket bez ikakve glazbe.
|
||||||
description.hu_HU = Zenei alapcsomag zene nélkül.
|
description.hu_HU = Zenei alapcsomag zene nélkül.
|
||||||
description.id_ID = Paket musik tanpa musik sungguhan.
|
description.id_ID = Paket musik tanpa musik sungguhan.
|
||||||
|
@@ -21,6 +21,7 @@ description.el_GR = Ένα πάκετο ήχων χώρις ήχους.
|
|||||||
description.en_AU = A sound pack without any sounds.
|
description.en_AU = A sound pack without any sounds.
|
||||||
description.en_US = A sound pack without any sounds.
|
description.en_US = A sound pack without any sounds.
|
||||||
description.es_ES = Un conjunto de sonidos vacío.
|
description.es_ES = Un conjunto de sonidos vacío.
|
||||||
|
description.es_MX = Paquete de sonidos vacío
|
||||||
description.et_EE = Helikogu ilma helideta.
|
description.et_EE = Helikogu ilma helideta.
|
||||||
description.eu_ES = Soinurik gabeko soinu pakete bat
|
description.eu_ES = Soinurik gabeko soinu pakete bat
|
||||||
description.fi_FI = Äänipaketti, jossa ei ole ääniä.
|
description.fi_FI = Äänipaketti, jossa ei ole ääniä.
|
||||||
@@ -28,6 +29,7 @@ description.fr_FR = Un pack de sons sans sons.
|
|||||||
description.ga_IE = Pacáiste fuaimeanna gan aon fhuaimeanna ann.
|
description.ga_IE = Pacáiste fuaimeanna gan aon fhuaimeanna ann.
|
||||||
description.gd_GB = Pacaid fhuaimean anns nach eil fuaim sam bith.
|
description.gd_GB = Pacaid fhuaimean anns nach eil fuaim sam bith.
|
||||||
description.gl_ES = Un conxunto de sons sen ningún son
|
description.gl_ES = Un conxunto de sons sen ningún son
|
||||||
|
description.he_IL = אוסף צלילים ללא צלילים.
|
||||||
description.hr_HR = Zvučni paket bez ikakvih zvukova.
|
description.hr_HR = Zvučni paket bez ikakvih zvukova.
|
||||||
description.hu_HU = Hang alapcsomag hangok nélkül.
|
description.hu_HU = Hang alapcsomag hangok nélkül.
|
||||||
description.id_ID = Paket efek suara tanpa suara apapun.
|
description.id_ID = Paket efek suara tanpa suara apapun.
|
||||||
@@ -38,6 +40,7 @@ description.ko_KR = 아무런 효과음도 없는 효과음 팩입니다.
|
|||||||
description.la_VA = Sarcina sonorum sine ullis sonis.
|
description.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.
@@ -22,12 +22,14 @@ description.el_GR = Αρχικά γραφικά από το Transport Tycoon Del
|
|||||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition graphics.
|
description.en_AU = Original Transport Tycoon Deluxe DOS edition graphics.
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS edition graphics.
|
description.en_US = Original Transport Tycoon Deluxe DOS edition graphics.
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS.
|
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS.
|
||||||
|
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
|
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
|
||||||
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.
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
description.gd_GB = Grafaigeachd aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
||||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para DOS.
|
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para DOS.
|
||||||
|
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS.
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje.
|
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje.
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának grafikája.
|
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának grafikája.
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS.
|
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS.
|
||||||
@@ -38,6 +40,8 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에
|
|||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS.
|
description.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.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.
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS.
|
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS.
|
||||||
@@ -59,21 +63,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 = OPENTTD.GRF
|
extra = ORIG_EXTRA.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
|
||||||
OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc
|
ORIG_EXTRA.GRF = 73b921a42814c47a84945b7e9add5d9f
|
||||||
|
|
||||||
[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.
|
||||||
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
||||||
|
@@ -21,12 +21,14 @@ description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe
|
|||||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition sounds.
|
description.en_AU = Original Transport Tycoon Deluxe DOS edition sounds.
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
|
description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
|
||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
|
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
|
||||||
|
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para DOS.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid.
|
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid.
|
||||||
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.
|
||||||
description.gd_GB = Fuaimean aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
description.gd_GB = Fuaimean aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
||||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para DOS.
|
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para DOS.
|
||||||
|
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת DOS.
|
||||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje.
|
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje.
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának hangjai.
|
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának hangjai.
|
||||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
|
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
|
||||||
|
@@ -22,12 +22,14 @@ description.el_GR = Αρχικά γραφικά από το Transport Tycoon Del
|
|||||||
description.en_AU = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
description.en_AU = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
description.en_US = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS (Alemán).
|
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS (Alemán).
|
||||||
|
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS (en alemán).
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika.
|
description.et_EE = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika.
|
||||||
description.fi_FI = Alkuperäiset Saksassa julkaistun Transport Tycoon Deluxen DOS-version grafiikat.
|
description.fi_FI = Alkuperäiset Saksassa julkaistun Transport Tycoon Deluxen DOS-version grafiikat.
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
|
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS (Gearmánach).
|
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS (Gearmánach).
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS (Gearmailteach) tùsail aig Transport Tycoon Deluxe.
|
description.gd_GB = Grafaigeachd aig an deasachadh DOS (Gearmailteach) tùsail aig Transport Tycoon Deluxe.
|
||||||
description.gl_ES = Graficos da edición orixinal (alemá) de Transport Tycoon Deluxe para DOS.
|
description.gl_ES = Graficos da edición orixinal (alemá) de Transport Tycoon Deluxe para DOS.
|
||||||
|
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS (גרמנית).
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje.
|
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje.
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS (német) verziójának grafikája.
|
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS (német) verziójának grafikája.
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS (Jerman).
|
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS (Jerman).
|
||||||
@@ -38,6 +40,7 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에
|
|||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS (Germanica).
|
description.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).
|
||||||
@@ -59,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 = OPENTTD.GRF
|
extra = ORIG_EXTRA.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
|
||||||
OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc
|
ORIG_EXTRA.GRF = 73b921a42814c47a84945b7e9add5d9f
|
||||||
|
|
||||||
[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.
|
||||||
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
||||||
|
BIN
bin/baseset/orig_extra.grf
Normal file
BIN
bin/baseset/orig_extra.grf
Normal file
Binary file not shown.
@@ -22,12 +22,14 @@ description.el_GR = Αρχικά γραφικά από το Transport Tycoon Del
|
|||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition graphics.
|
description.en_AU = Original Transport Tycoon Deluxe Windows edition graphics.
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition graphics.
|
description.en_US = Original Transport Tycoon Deluxe Windows edition graphics.
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión Windows.
|
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión Windows.
|
||||||
|
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para Windows.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni graafika.
|
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni graafika.
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version grafiikat.
|
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version grafiikat.
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows).
|
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows).
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán Windows.
|
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán Windows.
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
description.gd_GB = Grafaigeachd aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
||||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para Windows.
|
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para Windows.
|
||||||
|
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje.
|
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje.
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának grafikája.
|
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának grafikája.
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
|
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
|
||||||
@@ -38,6 +40,8 @@ description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에
|
|||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe Windows.
|
description.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.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.
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for Windows.
|
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for Windows.
|
||||||
@@ -59,21 +63,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 = OPENTTD.GRF
|
extra = ORIG_EXTRA.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
|
||||||
OPENTTD.GRF = 505d96061556d3bb5cec6234096ec5bc
|
ORIG_EXTRA.GRF = 73b921a42814c47a84945b7e9add5d9f
|
||||||
|
|
||||||
[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.
|
||||||
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
||||||
|
@@ -21,12 +21,14 @@ description.el_GR = Αρχική μουσική από το Transport Tycoon Del
|
|||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition music.
|
description.en_AU = Original Transport Tycoon Deluxe Windows edition music.
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition music.
|
description.en_US = Original Transport Tycoon Deluxe Windows edition music.
|
||||||
description.es_ES = Música original de Transport Tycoon Deluxe versión Windows.
|
description.es_ES = Música original de Transport Tycoon Deluxe versión Windows.
|
||||||
|
description.es_MX = Música original de Transport Tycoon Deluxe para Windows.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni muusika.
|
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni muusika.
|
||||||
description.fi_FI = Alkuperäinen Transport Tycoon Deluxen Windows-version musiikki.
|
description.fi_FI = Alkuperäinen Transport Tycoon Deluxen Windows-version musiikki.
|
||||||
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows).
|
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows).
|
||||||
description.ga_IE = Ceol bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
description.ga_IE = Ceol bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
||||||
description.gd_GB = Ceòl aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
description.gd_GB = Ceòl aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
||||||
description.gl_ES = Música da edición orixinal de Transport Tycoon Deluxe para Windows.
|
description.gl_ES = Música da edición orixinal de Transport Tycoon Deluxe para Windows.
|
||||||
|
description.he_IL = מנגינות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||||
description.hr_HR = Originalna glazba za Transport Tycoon Deluxe Windows izdanje.
|
description.hr_HR = Originalna glazba za Transport Tycoon Deluxe Windows izdanje.
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
|
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
|
||||||
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
|
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
|
||||||
|
@@ -21,12 +21,14 @@ description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe
|
|||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition sounds.
|
description.en_AU = Original Transport Tycoon Deluxe Windows edition sounds.
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
|
description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
|
||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
|
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
|
||||||
|
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para Windows.
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
|
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
|
||||||
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.
|
||||||
description.gd_GB = Fuaimean aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
description.gd_GB = Fuaimean aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
||||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para Windows.
|
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para Windows.
|
||||||
|
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת Windows.
|
||||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje.
|
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje.
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának hangjai.
|
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának hangjai.
|
||||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
|
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
|
||||||
|
69
config.lib
69
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"
|
flags="$flags -Wall -W -Wextra"
|
||||||
|
|
||||||
# warning: unused parameter '...'
|
# warning: unused parameter '...'
|
||||||
flags="$flags -Wno-unused-parameter"
|
flags="$flags -Wno-unused-parameter"
|
||||||
@@ -1326,13 +1326,20 @@ 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=`$1 -dumpversion | cut -c 1,3`
|
# cc_version = major_version * 100 + minor_version
|
||||||
|
# For example: "3.3" -> 303, "4.9.2" -> 409, "6" -> 600, "23.5" -> 2305
|
||||||
|
cc_version=`$1 -dumpversion | $awk -F . '{printf "%d%02d", $1, $2}'`
|
||||||
|
|
||||||
if [ $cc_version -lt 33 ]; then
|
if [ $cc_version -lt 303 ]; then
|
||||||
log 1 "configure: error: gcc older than 3.3 can't compile OpenTTD because of its poor template support"
|
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
|
||||||
@@ -1345,20 +1352,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 46 ]; then
|
if [ $cc_version -ge 406 ]; 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 34 ]; then
|
if [ $cc_version -ge 304 ]; 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 40 ]; then
|
if [ $cc_version -ge 400 ]; 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
|
||||||
@@ -1369,7 +1376,7 @@ make_compiler_cflags() {
|
|||||||
flags="$flags -Wcast-qual"
|
flags="$flags -Wcast-qual"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -ge 42 ]; then
|
if [ $cc_version -ge 402 ]; 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
|
||||||
@@ -1380,33 +1387,42 @@ make_compiler_cflags() {
|
|||||||
flags="$flags -Wnon-virtual-dtor"
|
flags="$flags -Wnon-virtual-dtor"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $cc_version -ge 43 ]; then
|
if [ $cc_version -ge 403 ] && [ $cc_version -lt 600 ]; then
|
||||||
# Use gnu++0x mode so static_assert() is available.
|
# 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 45 ]; then
|
if [ $cc_version -eq 405 ]; 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 -ge 47 ]; then
|
if [ $cc_version -eq 407 ]; 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 46 ]; then
|
if [ $cc_version -lt 406 ]; then
|
||||||
flags="$flags -flto"
|
flags="$flags -flto"
|
||||||
else
|
else
|
||||||
flags="$flags -flto=jobserver"
|
flags="$flags -flto=jobserver"
|
||||||
@@ -1490,7 +1506,7 @@ make_cflags_and_ldflags() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $enable_debug -le 2 ]; then
|
if [ $enable_debug -le 2 ]; then
|
||||||
cc_host_is_gcc=`basename "$cc_host" | grep "gcc" &>/dev/null`
|
cc_host_is_gcc=`basename "$cc_host" | grep "gcc" 2>/dev/null`
|
||||||
if [ -n "$cc_host_is_gcc" ]; then
|
if [ -n "$cc_host_is_gcc" ]; then
|
||||||
# Define only when compiling with GCC. Some GLIBC versions use GNU
|
# Define only when compiling with GCC. Some GLIBC versions use GNU
|
||||||
# extensions in a way that breaks build with at least ICC.
|
# extensions in a way that breaks build with at least ICC.
|
||||||
@@ -1498,14 +1514,14 @@ make_cflags_and_ldflags() {
|
|||||||
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
|
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cc_build_is_gcc=`basename "$cc_build" | grep "gcc" &>/dev/null`
|
cc_build_is_gcc=`basename "$cc_build" | grep "gcc" 2>/dev/null`
|
||||||
if [ -n "$cc_build_is_gcc" ]; then
|
if [ -n "$cc_build_is_gcc" ]; then
|
||||||
# Just add -O1 to the tools needed for building.
|
# Just add -O1 to the tools needed for building.
|
||||||
CFLAGS_BUILD="$CFLAGS_BUILD -D_FORTIFY_SOURCE=2 -O1"
|
CFLAGS_BUILD="$CFLAGS_BUILD -D_FORTIFY_SOURCE=2 -O1"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os" = "OSX" ] && [ $cc_version -eq 40 ]; then
|
if [ "$os" = "OSX" ] && [ $cc_version -eq 400 ]; then
|
||||||
# Apple's GCC 4.0 has a compiler bug for x86_64 with (higher) optimization,
|
# 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"
|
||||||
@@ -1529,7 +1545,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 46 ]; then
|
if [ $cc_version -lt 406 ]; then
|
||||||
flags="$flags -mno-cygwin"
|
flags="$flags -mno-cygwin"
|
||||||
LDFLAGS="$LDFLAGS -mno-cygwin"
|
LDFLAGS="$LDFLAGS -mno-cygwin"
|
||||||
fi
|
fi
|
||||||
@@ -1542,10 +1558,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 44 ]; then
|
if [ $cc_version -ge 404 ]; then
|
||||||
LDFLAGS_BUILD="$LDFLAGS_BUILD -static-libgcc -static-libstdc++"
|
LDFLAGS_BUILD="$LDFLAGS_BUILD -static-libgcc -static-libstdc++"
|
||||||
fi
|
fi
|
||||||
if [ $cc_version -ge 47 ]; then
|
if [ $cc_version -ge 407 ]; then
|
||||||
CFLAGS="$CFLAGS -mno-ms-bitfields"
|
CFLAGS="$CFLAGS -mno-ms-bitfields"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -1595,23 +1611,6 @@ 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
|
||||||
@@ -1774,7 +1773,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 40 ]; then
|
if [ $cc_version -ge 400 ]; then
|
||||||
CFLAGS="$CFLAGS -Wno-non-virtual-dtor"
|
CFLAGS="$CFLAGS -Wno-non-virtual-dtor"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
2
configure
vendored
2
configure
vendored
@@ -149,7 +149,7 @@ AWKCOMMAND='
|
|||||||
|
|
||||||
# Read the source.list and process it
|
# Read the source.list and process it
|
||||||
# Please escape ALL " within ` because e.g. "" terminates the string in some sh implementations
|
# Please escape ALL " within ` because e.g. "" terminates the string in some sh implementations
|
||||||
SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk \"$AWKCOMMAND\" | $PIPE_SORT`"
|
SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk \"$AWKCOMMAND\" | LC_ALL=C $PIPE_SORT`"
|
||||||
|
|
||||||
OBJS_C="` echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.c$/ { gsub(\".c$\", \".o\", $0); print $0; }'`"
|
OBJS_C="` echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.c$/ { gsub(\".c$\", \".o\", $0); print $0; }'`"
|
||||||
OBJS_CPP="`echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.cpp$/ { gsub(\".cpp$\", \".o\", $0); print $0; }'`"
|
OBJS_CPP="`echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.cpp$/ { gsub(\".cpp$\", \".o\", $0); print $0; }'`"
|
||||||
|
@@ -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 = OPENTTD.GRF
|
extra = ORIG_EXTRA.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
|
||||||
OPENTTD.GRF =
|
ORIG_EXTRA.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.
|
||||||
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
ORIG_EXTRA.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 = OPENTTD.GRF
|
extra = ORIG_EXTRA.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
|
||||||
OPENTTD.GRF =
|
ORIG_EXTRA.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.
|
||||||
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
ORIG_EXTRA.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 = OPENTTD.GRF
|
extra = ORIG_EXTRA.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
|
||||||
OPENTTD.GRF =
|
ORIG_EXTRA.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.
|
||||||
OPENTTD.GRF = This file was part of your OpenTTD installation.
|
ORIG_EXTRA.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 / PaulC"
|
-1 * 0 0C "Canal graphics by George"
|
||||||
-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,95 +77,3 @@
|
|||||||
-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
|
|
||||||
|
101
media/extra_grf/canals_extra.nfo
Normal file
101
media/extra_grf/canals_extra.nfo
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
//
|
||||||
|
// $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
|
@@ -60,10 +60,11 @@
|
|||||||
00
|
00
|
||||||
|
|
||||||
// GRF ID, must start with FF so it gets ignored
|
// GRF ID, must start with FF so it gets ignored
|
||||||
-1 * 0 08 08 FF "OTT"
|
//@@WARNING DISABLE 101
|
||||||
|
-1 * 0 08 08 FF FF FF FE
|
||||||
|
|
||||||
// Name of the GRF
|
// Name of the GRF
|
||||||
"OpenTTD's base graphics " 00
|
"OpenTTD's default and fallback extra 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
|
||||||
@@ -86,7 +87,6 @@
|
|||||||
#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,11 +97,5 @@
|
|||||||
#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"
|
||||||
|
85
media/extra_grf/orig_extra.nfo
Normal file
85
media/extra_grf/orig_extra.nfo
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
// 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 "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"
|
@@ -408,6 +408,7 @@ 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"
|
||||||
|
@@ -317,6 +317,12 @@
|
|||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\slovenian.lng;%(Outputs)</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\slovenian.lng;%(Outputs)</Outputs>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish_MX language file</Message>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\spanish_MX.lng;%(Outputs)</Outputs>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish language file</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish language file</Message>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||||
|
@@ -142,6 +142,9 @@
|
|||||||
<CustomBuild Include="..\src\lang\slovenian.txt">
|
<CustomBuild Include="..\src\lang\slovenian.txt">
|
||||||
<Filter>Translations</Filter>
|
<Filter>Translations</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||||
|
<Filter>Translations</Filter>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||||
<Filter>Translations</Filter>
|
<Filter>Translations</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
@@ -317,6 +317,12 @@
|
|||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\slovenian.lng;%(Outputs)</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\slovenian.lng;%(Outputs)</Outputs>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish_MX language file</Message>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\lang\spanish_MX.lng;%(Outputs)</Outputs>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish language file</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating spanish language file</Message>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"</Command>
|
||||||
|
@@ -142,6 +142,9 @@
|
|||||||
<CustomBuild Include="..\src\lang\slovenian.txt">
|
<CustomBuild Include="..\src\lang\slovenian.txt">
|
||||||
<Filter>Translations</Filter>
|
<Filter>Translations</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\src\lang\spanish_MX.txt">
|
||||||
|
<Filter>Translations</Filter>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="..\src\lang\spanish.txt">
|
<CustomBuild Include="..\src\lang\spanish.txt">
|
||||||
<Filter>Translations</Filter>
|
<Filter>Translations</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
@@ -738,6 +738,21 @@
|
|||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\lang\spanish_MX.txt"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating spanish_MX language file"
|
||||||
|
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||||
|
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||||
|
Outputs="..\bin\lang\spanish_MX.lng"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\lang\spanish.txt"
|
RelativePath="..\src\lang\spanish.txt"
|
||||||
>
|
>
|
||||||
|
@@ -739,6 +739,21 @@
|
|||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\lang\spanish_MX.txt"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating spanish_MX language file"
|
||||||
|
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "$(InputPath)"
exit 0
"
|
||||||
|
AdditionalDependencies="..\src\lang\english.txt;..\objs\strgen\strgen.exe"
|
||||||
|
Outputs="..\bin\lang\spanish_MX.lng"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\lang\spanish.txt"
|
RelativePath="..\src\lang\spanish.txt"
|
||||||
>
|
>
|
||||||
|
@@ -102,7 +102,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
@@ -204,7 +204,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -256,7 +256,7 @@
|
|||||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
|
@@ -102,7 +102,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
@@ -204,7 +204,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -256,7 +256,7 @@
|
|||||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
|
@@ -105,7 +105,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -163,7 +163,7 @@
|
|||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -270,7 +270,7 @@
|
|||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
|
@@ -105,7 +105,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -163,7 +163,7 @@
|
|||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>Sync</ExceptionHandling>
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
@@ -270,7 +270,7 @@
|
|||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
|
@@ -52,7 +52,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -362,7 +362,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
@@ -52,7 +52,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -362,7 +362,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
@@ -53,7 +53,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
@@ -255,7 +255,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -359,7 +359,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
@@ -53,7 +53,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
@@ -255,7 +255,7 @@
|
|||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="1"
|
ExceptionHandling="1"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@@ -359,7 +359,7 @@
|
|||||||
AdditionalOptions="/MP"
|
AdditionalOptions="/MP"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU_SORT;WITH_ICU_LAYOUT;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
4
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
4
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
@@ -119,10 +119,10 @@ static SQInteger _sqstd_aux_printerror(HSQUIRRELVM v)
|
|||||||
const SQChar *sErr = 0;
|
const SQChar *sErr = 0;
|
||||||
if(sq_gettop(v)>=1) {
|
if(sq_gettop(v)>=1) {
|
||||||
if(SQ_SUCCEEDED(sq_getstring(v,2,&sErr))) {
|
if(SQ_SUCCEEDED(sq_getstring(v,2,&sErr))) {
|
||||||
pf(v,"\nAN ERROR HAS OCCURED [%s]\n",sErr);
|
pf(v,"\nAN ERROR HAS OCCURRED [%s]\n",sErr);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
pf(v,"\nAN ERROR HAS OCCURED [unknown]\n");
|
pf(v,"\nAN ERROR HAS OCCURRED [unknown]\n");
|
||||||
}
|
}
|
||||||
sqstd_printcallstack(v);
|
sqstd_printcallstack(v);
|
||||||
}
|
}
|
||||||
|
3
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
3
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
@@ -798,7 +798,8 @@ SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx)
|
|||||||
switch(type) {
|
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"); v->Pop();}
|
if(!_table(self)->SetDelegate(_table(mt))) return sq_throwerror(v, "delagate cycle");
|
||||||
|
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);
|
||||||
|
2
src/3rdparty/squirrel/squirrel/sqdebug.cpp
vendored
2
src/3rdparty/squirrel/squirrel/sqdebug.cpp
vendored
@@ -105,7 +105,7 @@ void SQVM::Raise_IdxError(const SQObject &o)
|
|||||||
void SQVM::Raise_CompareError(const SQObject &o1, const SQObject &o2)
|
void SQVM::Raise_CompareError(const SQObject &o1, const SQObject &o2)
|
||||||
{
|
{
|
||||||
SQObjectPtr oval1 = PrintObjVal(o1), oval2 = PrintObjVal(o2);
|
SQObjectPtr oval1 = PrintObjVal(o1), oval2 = PrintObjVal(o2);
|
||||||
Raise_Error("comparsion between '%.50s' and '%.50s'", _stringval(oval1), _stringval(oval2));
|
Raise_Error("comparison between '%.50s' and '%.50s'", _stringval(oval1), _stringval(oval2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -28,6 +28,7 @@
|
|||||||
#include "../widgets/dropdown_type.h"
|
#include "../widgets/dropdown_type.h"
|
||||||
#include "../widgets/dropdown_func.h"
|
#include "../widgets/dropdown_func.h"
|
||||||
#include "../hotkeys.h"
|
#include "../hotkeys.h"
|
||||||
|
#include "../core/geometry_func.hpp"
|
||||||
|
|
||||||
#include "ai.hpp"
|
#include "ai.hpp"
|
||||||
#include "ai_gui.hpp"
|
#include "ai_gui.hpp"
|
||||||
@@ -766,6 +767,22 @@ struct AIConfigWindow : public Window {
|
|||||||
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
|
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
|
||||||
size->height = 8 * this->line_height;
|
size->height = 8 * this->line_height;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WID_AIC_CHANGE: {
|
||||||
|
SetDParam(0, STR_AI_CONFIG_CHANGE_GAMESCRIPT);
|
||||||
|
Dimension dim = GetStringBoundingBox(STR_AI_CONFIG_CHANGE);
|
||||||
|
|
||||||
|
SetDParam(0, STR_AI_CONFIG_CHANGE_NONE);
|
||||||
|
dim = maxdim(dim, GetStringBoundingBox(STR_AI_CONFIG_CHANGE));
|
||||||
|
|
||||||
|
SetDParam(0, STR_AI_CONFIG_CHANGE_AI);
|
||||||
|
dim = maxdim(dim, GetStringBoundingBox(STR_AI_CONFIG_CHANGE));
|
||||||
|
|
||||||
|
dim.width += padding.width;
|
||||||
|
dim.height += padding.height;
|
||||||
|
*size = maxdim(*size, dim);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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(); }
|
||||||
SpriteID GetImage(Direction direction, EngineImageType image_type) const;
|
void GetImage(Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) 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)
|
||||||
|
|
||||||
SpriteID GetRotorImage(const Aircraft *v, EngineImageType image_type);
|
void GetRotorImage(const Aircraft *v, EngineImageType image_type, VehicleSpriteSeq *result);
|
||||||
|
|
||||||
Station *GetTargetAirportIfValid(const Aircraft *v);
|
Station *GetTargetAirportIfValid(const Aircraft *v);
|
||||||
|
|
||||||
|
@@ -152,64 +152,69 @@ static StationID FindNearestHangar(const Aircraft *v)
|
|||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
SpriteID Aircraft::GetImage(Direction direction, EngineImageType image_type) const
|
void Aircraft::GetImage(Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const
|
||||||
{
|
{
|
||||||
uint8 spritenum = this->spritenum;
|
uint8 spritenum = this->spritenum;
|
||||||
|
|
||||||
if (is_custom_sprite(spritenum)) {
|
if (is_custom_sprite(spritenum)) {
|
||||||
SpriteID sprite = GetCustomVehicleSprite(this, direction, image_type);
|
GetCustomVehicleSprite(this, direction, image_type, result);
|
||||||
if (sprite != 0) return sprite;
|
if (result->IsValid()) return;
|
||||||
|
|
||||||
spritenum = this->GetEngine()->original_image_index;
|
spritenum = this->GetEngine()->original_image_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
||||||
return direction + _aircraft_sprite[spritenum];
|
result->Set(direction + _aircraft_sprite[spritenum]);
|
||||||
}
|
}
|
||||||
|
|
||||||
SpriteID GetRotorImage(const Aircraft *v, EngineImageType image_type)
|
void GetRotorImage(const Aircraft *v, EngineImageType image_type, VehicleSpriteSeq *result)
|
||||||
{
|
{
|
||||||
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)) {
|
||||||
SpriteID sprite = GetCustomRotorSprite(v, false, image_type);
|
GetCustomRotorSprite(v, false, image_type, result);
|
||||||
if (sprite != 0) return sprite;
|
if (result->IsValid()) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 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 */
|
||||||
return SPR_ROTOR_STOPPED + w->state;
|
result->Set(SPR_ROTOR_STOPPED + w->state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static SpriteID GetAircraftIcon(EngineID engine, EngineImageType image_type)
|
static void GetAircraftIcon(EngineID engine, EngineImageType image_type, VehicleSpriteSeq *result)
|
||||||
{
|
{
|
||||||
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)) {
|
||||||
SpriteID sprite = GetCustomVehicleIcon(engine, DIR_W, image_type);
|
GetCustomVehicleIcon(engine, DIR_W, image_type, result);
|
||||||
if (sprite != 0) return sprite;
|
if (result->IsValid()) return;
|
||||||
|
|
||||||
spritenum = e->original_image_index;
|
spritenum = e->original_image_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
|
||||||
return DIR_W + _aircraft_sprite[spritenum];
|
result->Set(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)
|
||||||
{
|
{
|
||||||
SpriteID sprite = GetAircraftIcon(engine, image_type);
|
VehicleSpriteSeq seq;
|
||||||
const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL);
|
GetAircraftIcon(engine, image_type, &seq);
|
||||||
|
|
||||||
|
Rect rect;
|
||||||
|
seq.GetBounds(&rect);
|
||||||
preferred_x = Clamp(preferred_x,
|
preferred_x = Clamp(preferred_x,
|
||||||
left - UnScaleGUI(real_sprite->x_offs),
|
left - UnScaleGUI(rect.left),
|
||||||
right - UnScaleGUI(real_sprite->width) - UnScaleGUI(real_sprite->x_offs));
|
right - UnScaleGUI(rect.right));
|
||||||
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)) {
|
||||||
SpriteID rotor_sprite = GetCustomRotorIcon(engine, image_type);
|
VehicleSpriteSeq rotor_seq;
|
||||||
if (rotor_sprite == 0) rotor_sprite = SPR_ROTOR_STOPPED;
|
GetCustomRotorIcon(engine, image_type, &rotor_seq);
|
||||||
DrawSprite(rotor_sprite, PAL_NONE, preferred_x, y - ScaleGUITrad(5));
|
if (!rotor_seq.IsValid()) rotor_seq.Set(SPR_ROTOR_STOPPED);
|
||||||
|
rotor_seq.Draw(preferred_x, y - ScaleGUITrad(5), PAL_NONE, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,12 +229,16 @@ 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)
|
||||||
{
|
{
|
||||||
const Sprite *spr = GetSprite(GetAircraftIcon(engine, image_type), ST_NORMAL);
|
VehicleSpriteSeq seq;
|
||||||
|
GetAircraftIcon(engine, image_type, &seq);
|
||||||
|
|
||||||
width = UnScaleGUI(spr->width);
|
Rect rect;
|
||||||
height = UnScaleGUI(spr->height);
|
seq.GetBounds(&rect);
|
||||||
xoffs = UnScaleGUI(spr->x_offs);
|
|
||||||
yoffs = UnScaleGUI(spr->y_offs);
|
width = UnScaleGUI(rect.right - rect.left + 1);
|
||||||
|
height = UnScaleGUI(rect.bottom - rect.top + 1);
|
||||||
|
xoffs = UnScaleGUI(rect.left);
|
||||||
|
yoffs = UnScaleGUI(rect.top);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -317,7 +326,8 @@ 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->cur_image = u->cur_image = SPR_IMG_QUERY;
|
v->sprite_seq.Set(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();
|
||||||
@@ -349,7 +359,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->cur_image = SPR_ROTOR_STOPPED;
|
w->sprite_seq.Set(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;
|
||||||
@@ -468,21 +478,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;
|
||||||
|
|
||||||
SpriteID img;
|
VehicleSpriteSeq seq;
|
||||||
if (spd == 0) {
|
if (spd == 0) {
|
||||||
u->state = HRS_ROTOR_STOPPED;
|
u->state = HRS_ROTOR_STOPPED;
|
||||||
img = GetRotorImage(v, EIT_ON_MAP);
|
GetRotorImage(v, EIT_ON_MAP, &seq);
|
||||||
if (u->cur_image == img) return;
|
if (u->sprite_seq == seq) 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;
|
||||||
img = GetRotorImage(v, EIT_ON_MAP);
|
GetRotorImage(v, EIT_ON_MAP, &seq);
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
u->cur_image = img;
|
u->sprite_seq = seq;
|
||||||
|
|
||||||
u->UpdatePositionAndViewport();
|
u->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
@@ -502,7 +512,9 @@ 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) v->Next()->Next()->cur_image = GetRotorImage(v, EIT_ON_MAP);
|
if (v->subtype == AIR_HELICOPTER) {
|
||||||
|
GetRotorImage(v, EIT_ON_MAP, &v->Next()->Next()->sprite_seq);
|
||||||
|
}
|
||||||
|
|
||||||
Aircraft *u = v->Next();
|
Aircraft *u = v->Next();
|
||||||
|
|
||||||
@@ -513,7 +525,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->cur_image = v->cur_image;
|
u->sprite_seq.CopyWithoutPalette(v->sprite_seq); // the shadow is never coloured
|
||||||
|
|
||||||
u->UpdatePositionAndViewport();
|
u->UpdatePositionAndViewport();
|
||||||
|
|
||||||
@@ -1237,7 +1249,9 @@ void Aircraft::MarkDirty()
|
|||||||
{
|
{
|
||||||
this->colourmap = PAL_NONE;
|
this->colourmap = PAL_NONE;
|
||||||
this->UpdateViewport(true, false);
|
this->UpdateViewport(true, false);
|
||||||
if (this->subtype == AIR_HELICOPTER) this->Next()->Next()->cur_image = GetRotorImage(this, EIT_ON_MAP);
|
if (this->subtype == AIR_HELICOPTER) {
|
||||||
|
GetRotorImage(this, EIT_ON_MAP, &this->Next()->Next()->sprite_seq);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -83,11 +83,14 @@ 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;
|
||||||
|
|
||||||
SpriteID sprite = v->GetImage(rtl ? DIR_E : DIR_W, image_type);
|
VehicleSpriteSeq seq;
|
||||||
const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL);
|
v->GetImage(rtl ? DIR_E : DIR_W, image_type, &seq);
|
||||||
|
|
||||||
int width = UnScaleGUI(real_sprite->width);
|
Rect rect;
|
||||||
int x_offs = UnScaleGUI(real_sprite->x_offs);
|
seq.GetBounds(&rect);
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
@@ -95,17 +98,18 @@ 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);
|
||||||
DrawSprite(sprite, pal, x, y + y_offs);
|
seq.Draw(x, y + y_offs, pal, (v->vehstatus & VS_CRASHED) != 0);
|
||||||
if (helicopter) {
|
if (helicopter) {
|
||||||
const Aircraft *a = Aircraft::From(v);
|
const Aircraft *a = Aircraft::From(v);
|
||||||
SpriteID rotor_sprite = GetCustomRotorSprite(a, true, image_type);
|
VehicleSpriteSeq rotor_seq;
|
||||||
if (rotor_sprite == 0) rotor_sprite = SPR_ROTOR_STOPPED;
|
GetCustomRotorSprite(a, true, image_type, &rotor_seq);
|
||||||
|
if (!rotor_seq.IsValid()) rotor_seq.Set(SPR_ROTOR_STOPPED);
|
||||||
heli_offs = ScaleGUITrad(5);
|
heli_offs = ScaleGUITrad(5);
|
||||||
DrawSprite(rotor_sprite, PAL_NONE, x, y + y_offs - heli_offs);
|
rotor_seq.Draw(x, y + y_offs - heli_offs, PAL_NONE, false);
|
||||||
}
|
}
|
||||||
if (v->index == selection) {
|
if (v->index == selection) {
|
||||||
x += x_offs;
|
x += x_offs;
|
||||||
y += UnScaleGUI(real_sprite->y_offs) + y_offs - heli_offs;
|
y += UnScaleGUI(rect.top) + y_offs - heli_offs;
|
||||||
DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleGUI(real_sprite->height) + heli_offs + 1, COLOUR_WHITE, FR_BORDERONLY);
|
DrawFrameRect(x - 1, y - 1, x + width + 1, y + UnScaleGUI(rect.bottom - rect.top + 1) + heli_offs + 1, COLOUR_WHITE, FR_BORDERONLY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -433,6 +433,7 @@ void AddArticulatedParts(Vehicle *first)
|
|||||||
v->x_pos = first->x_pos;
|
v->x_pos = first->x_pos;
|
||||||
v->y_pos = first->y_pos;
|
v->y_pos = first->y_pos;
|
||||||
v->z_pos = first->z_pos;
|
v->z_pos = first->z_pos;
|
||||||
|
v->date_of_last_service = first->date_of_last_service;
|
||||||
v->build_year = first->build_year;
|
v->build_year = first->build_year;
|
||||||
v->vehstatus = first->vehstatus & ~VS_STOPPED;
|
v->vehstatus = first->vehstatus & ~VS_STOPPED;
|
||||||
|
|
||||||
@@ -440,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->cur_image = SPR_IMG_QUERY;
|
v->sprite_seq.Set(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.
|
RailType sel_railtype; ///< Type of rail tracks selected. #INVALID_RAILTYPE to show all.
|
||||||
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 && show_engines) {
|
if (draw_left && this->sel_railtype != INVALID_RAILTYPE) {
|
||||||
/* 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,24 +211,7 @@ 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)
|
||||||
{
|
{
|
||||||
if (vehicletype == VEH_TRAIN) {
|
this->sel_railtype = INVALID_RAILTYPE;
|
||||||
/* 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();
|
||||||
@@ -288,12 +271,9 @@ public:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE: {
|
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: {
|
||||||
StringID str = this->GetWidget<NWidgetCore>(widget)->widget_data;
|
Dimension d = GetStringBoundingBox(STR_REPLACE_ENGINES);
|
||||||
SetDParam(0, STR_REPLACE_ENGINES);
|
d = maxdim(d, GetStringBoundingBox(STR_REPLACE_WAGONS));
|
||||||
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);
|
||||||
@@ -367,7 +347,7 @@ public:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE:
|
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN:
|
||||||
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
|
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -432,12 +412,8 @@ 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 = GetRailTypeInfo(sel_railtype)->strings.replace_text;
|
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->DrawWidgets();
|
this->DrawWidgets();
|
||||||
@@ -483,15 +459,16 @@ 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_TOGGLE:
|
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: {
|
||||||
this->replace_engines = !(this->replace_engines);
|
DropDownList *list = new DropDownList();
|
||||||
this->engines[0].ForceRebuild();
|
*list->Append() = new DropDownListStringItem(STR_REPLACE_ENGINES, 1, false);
|
||||||
this->reset_sel_engine = true;
|
*list->Append() = new DropDownListStringItem(STR_REPLACE_WAGONS, 0, false);
|
||||||
this->SetDirty();
|
ShowDropDownList(this, list, this->replace_engines ? 1 : 0, WID_RV_TRAIN_ENGINEWAGON_DROPDOWN);
|
||||||
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), sel_railtype, WID_RV_TRAIN_RAILTYPE_DROPDOWN);
|
ShowDropDownList(this, GetRailTypeDropDownList(true, 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
|
||||||
@@ -566,6 +543,14 @@ 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;
|
||||||
@@ -611,7 +596,13 @@ static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = {
|
|||||||
EndContainer(),
|
EndContainer(),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||||
NWidget(WWT_PANEL, COLOUR_GREY), SetResize(1, 0), EndContainer(),
|
NWidget(NWID_VERTICAL),
|
||||||
|
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),
|
||||||
@@ -631,20 +622,16 @@ 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(WWT_PANEL, COLOUR_GREY, WID_RV_RIGHT_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_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(),
|
||||||
};
|
};
|
||||||
|
@@ -20,6 +20,11 @@
|
|||||||
/** Instantiation of the 32bpp with animation blitter factory. */
|
/** Instantiation of the 32bpp with animation blitter factory. */
|
||||||
static FBlitter_32bppAnim iFBlitter_32bppAnim;
|
static FBlitter_32bppAnim iFBlitter_32bppAnim;
|
||||||
|
|
||||||
|
Blitter_32bppAnim::~Blitter_32bppAnim()
|
||||||
|
{
|
||||||
|
free(this->anim_buf);
|
||||||
|
}
|
||||||
|
|
||||||
template <BlitterMode mode>
|
template <BlitterMode mode>
|
||||||
inline void Blitter_32bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
|
inline void Blitter_32bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
|
||||||
{
|
{
|
||||||
|
@@ -29,6 +29,8 @@ public:
|
|||||||
anim_buf_height(0)
|
anim_buf_height(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
~Blitter_32bppAnim();
|
||||||
|
|
||||||
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
|
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
|
||||||
/* virtual */ void DrawColourMappingRect(void *dst, int width, int height, PaletteID pal);
|
/* virtual */ void DrawColourMappingRect(void *dst, int width, int height, PaletteID pal);
|
||||||
/* virtual */ void SetPixel(void *video, int x, int y, uint8 colour);
|
/* virtual */ void SetPixel(void *video, int x, int y, uint8 colour);
|
||||||
|
@@ -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(ti->x ^ ti->y, 4, 3)], PAL_NONE);
|
DrawGroundSprite(_landscape_clear_sprites_rough[GB(TileHash(ti->x, ti->y), 0, 3)], PAL_NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -81,7 +81,7 @@ CommandCallback CcBuildBridge;
|
|||||||
|
|
||||||
/* dock_gui.cpp */
|
/* dock_gui.cpp */
|
||||||
CommandCallback CcBuildDocks;
|
CommandCallback CcBuildDocks;
|
||||||
CommandCallback CcBuildCanal;
|
CommandCallback CcPlaySound_SPLAT_WATER;
|
||||||
|
|
||||||
/* 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 CcPlaySound10;
|
CommandCallback CcPlaySound_EXPLOSION;
|
||||||
CommandCallback CcPlaceSign;
|
CommandCallback CcPlaceSign;
|
||||||
CommandCallback CcTerraform;
|
CommandCallback CcTerraform;
|
||||||
CommandCallback CcGiveMoney;
|
CommandCallback CcGiveMoney;
|
||||||
|
|
||||||
/* rail_gui.cpp */
|
/* rail_gui.cpp */
|
||||||
CommandCallback CcPlaySound1E;
|
CommandCallback CcPlaySound_SPLAT_RAIL;
|
||||||
CommandCallback CcRailDepot;
|
CommandCallback CcRailDepot;
|
||||||
CommandCallback CcStation;
|
CommandCallback CcStation;
|
||||||
CommandCallback CcBuildRailTunnel;
|
CommandCallback CcBuildRailTunnel;
|
||||||
|
|
||||||
/* road_gui.cpp */
|
/* road_gui.cpp */
|
||||||
CommandCallback CcPlaySound1D;
|
CommandCallback CcPlaySound_SPLAT_OTHER;
|
||||||
CommandCallback CcBuildRoadTunnel;
|
CommandCallback CcBuildRoadTunnel;
|
||||||
CommandCallback CcRoadDepot;
|
CommandCallback CcRoadDepot;
|
||||||
CommandCallback CcRoadStop;
|
CommandCallback CcRoadStop;
|
||||||
|
@@ -45,6 +45,38 @@
|
|||||||
/* 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)
|
||||||
@@ -286,7 +318,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, SL_SAVE, SAVE_DIR) != SL_OK) {
|
if (SaveOrLoad(filename, SLO_SAVE, DFT_GAME_FILE, 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);
|
||||||
@@ -315,42 +347,6 @@ 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) {
|
||||||
@@ -361,24 +357,21 @@ DEF_CONSOLE_CMD(ConLoad)
|
|||||||
if (argc != 2) return false;
|
if (argc != 2) return false;
|
||||||
|
|
||||||
const char *file = argv[1];
|
const char *file = argv[1];
|
||||||
const FiosItem *item = GetFiosItem(file);
|
_console_file_list.ValidateFileList();
|
||||||
|
const FiosItem *item = _console_file_list.FindItem(file);
|
||||||
if (item != NULL) {
|
if (item != NULL) {
|
||||||
switch (item->type) {
|
if (GetAbstractFileType(item->type) == FT_SAVEGAME) {
|
||||||
case FIOS_TYPE_FILE: case FIOS_TYPE_OLDFILE: {
|
_switch_mode = SM_LOAD_GAME;
|
||||||
_switch_mode = SM_LOAD_GAME;
|
_file_to_saveload.SetMode(item->type);
|
||||||
SetFiosType(item->type);
|
_file_to_saveload.SetName(FiosBrowseTo(item));
|
||||||
|
_file_to_saveload.SetTitle(item->title);
|
||||||
strecpy(_file_to_saveload.name, FiosBrowseTo(item), lastof(_file_to_saveload.name));
|
} else {
|
||||||
strecpy(_file_to_saveload.title, item->title, lastof(_file_to_saveload.title));
|
IConsolePrintF(CC_ERROR, "%s: Not a savegame.", file);
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -393,7 +386,8 @@ DEF_CONSOLE_CMD(ConRemove)
|
|||||||
if (argc != 2) return false;
|
if (argc != 2) return false;
|
||||||
|
|
||||||
const char *file = argv[1];
|
const char *file = argv[1];
|
||||||
const FiosItem *item = GetFiosItem(file);
|
_console_file_list.ValidateFileList();
|
||||||
|
const FiosItem *item = _console_file_list.FindItem(file);
|
||||||
if (item != NULL) {
|
if (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);
|
||||||
@@ -402,7 +396,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
FiosFreeSavegameList();
|
_console_file_list.InvalidateFileList();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -415,13 +409,11 @@ DEF_CONSOLE_CMD(ConListFiles)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildFileList();
|
_console_file_list.ValidateFileList(true);
|
||||||
|
for (uint i = 0; i < _console_file_list.Length(); i++) {
|
||||||
for (uint i = 0; i < _fios_items.Length(); i++) {
|
IConsolePrintF(CC_DEFAULT, "%d) %s", i, _console_file_list[i].title);
|
||||||
IConsolePrintF(CC_DEFAULT, "%d) %s", i, _fios_items[i].title);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FiosFreeSavegameList();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -436,7 +428,8 @@ DEF_CONSOLE_CMD(ConChangeDirectory)
|
|||||||
if (argc != 2) return false;
|
if (argc != 2) return false;
|
||||||
|
|
||||||
const char *file = argv[1];
|
const char *file = argv[1];
|
||||||
const FiosItem *item = GetFiosItem(file);
|
_console_file_list.ValidateFileList(true);
|
||||||
|
const FiosItem *item = _console_file_list.FindItem(file);
|
||||||
if (item != NULL) {
|
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:
|
||||||
@@ -448,7 +441,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
FiosFreeSavegameList();
|
_console_file_list.InvalidateFileList();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,8 +455,8 @@ DEF_CONSOLE_CMD(ConPrintWorkingDirectory)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* XXX - Workaround for broken file handling */
|
/* XXX - Workaround for broken file handling */
|
||||||
FiosGetSavegameList(SLD_LOAD_GAME);
|
_console_file_list.ValidateFileList(true);
|
||||||
FiosFreeSavegameList();
|
_console_file_list.InvalidateFileList();
|
||||||
|
|
||||||
FiosGetDescText(&path, NULL);
|
FiosGetDescText(&path, NULL);
|
||||||
IConsolePrint(CC_DEFAULT, path);
|
IConsolePrint(CC_DEFAULT, path);
|
||||||
|
@@ -256,6 +256,8 @@ 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
|
||||||
{
|
{
|
||||||
|
@@ -36,6 +36,38 @@
|
|||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
#ifdef WITH_ALLEGRO
|
||||||
|
# include <allegro.h>
|
||||||
|
#endif /* WITH_ALLEGRO */
|
||||||
|
#ifdef WITH_FONTCONFIG
|
||||||
|
# include <fontconfig/fontconfig.h>
|
||||||
|
#endif /* WITH_FONTCONFIG */
|
||||||
|
#ifdef WITH_PNG
|
||||||
|
/* pngconf.h, included by png.h doesn't like something in the
|
||||||
|
* freetype headers. As such it's not alphabetically sorted. */
|
||||||
|
# include <png.h>
|
||||||
|
#endif /* WITH_PNG */
|
||||||
|
#ifdef WITH_FREETYPE
|
||||||
|
# include <ft2build.h>
|
||||||
|
# include FT_FREETYPE_H
|
||||||
|
#endif /* WITH_FREETYPE */
|
||||||
|
#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT)
|
||||||
|
# include <unicode/uversion.h>
|
||||||
|
#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */
|
||||||
|
#ifdef WITH_LZMA
|
||||||
|
# include <lzma.h>
|
||||||
|
#endif
|
||||||
|
#ifdef WITH_LZO
|
||||||
|
#include <lzo/lzo1x.h>
|
||||||
|
#endif
|
||||||
|
#ifdef WITH_SDL
|
||||||
|
# include "sdl.h"
|
||||||
|
# include <SDL.h>
|
||||||
|
#endif /* WITH_SDL */
|
||||||
|
#ifdef WITH_ZLIB
|
||||||
|
# include <zlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
/* static */ const char *CrashLog::message = NULL;
|
/* static */ const char *CrashLog::message = NULL;
|
||||||
@@ -180,39 +212,6 @@ char *CrashLog::LogConfiguration(char *buffer, const char *last) const
|
|||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Include these here so it's close to where it's actually used. */
|
|
||||||
#ifdef WITH_ALLEGRO
|
|
||||||
# include <allegro.h>
|
|
||||||
#endif /* WITH_ALLEGRO */
|
|
||||||
#ifdef WITH_FONTCONFIG
|
|
||||||
# include <fontconfig/fontconfig.h>
|
|
||||||
#endif /* WITH_FONTCONFIG */
|
|
||||||
#ifdef WITH_PNG
|
|
||||||
/* pngconf.h, included by png.h doesn't like something in the
|
|
||||||
* freetype headers. As such it's not alphabetically sorted. */
|
|
||||||
# include <png.h>
|
|
||||||
#endif /* WITH_PNG */
|
|
||||||
#ifdef WITH_FREETYPE
|
|
||||||
# include <ft2build.h>
|
|
||||||
# include FT_FREETYPE_H
|
|
||||||
#endif /* WITH_FREETYPE */
|
|
||||||
#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT)
|
|
||||||
# include <unicode/uversion.h>
|
|
||||||
#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */
|
|
||||||
#ifdef WITH_LZMA
|
|
||||||
# include <lzma.h>
|
|
||||||
#endif
|
|
||||||
#ifdef WITH_LZO
|
|
||||||
#include <lzo/lzo1x.h>
|
|
||||||
#endif
|
|
||||||
#ifdef WITH_SDL
|
|
||||||
# include "sdl.h"
|
|
||||||
# include <SDL.h>
|
|
||||||
#endif /* WITH_SDL */
|
|
||||||
#ifdef WITH_ZLIB
|
|
||||||
# include <zlib.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes information (versions) of the used libraries.
|
* Writes information (versions) of the used libraries.
|
||||||
* @param buffer The begin where to write at.
|
* @param buffer The begin where to write at.
|
||||||
@@ -389,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, SL_SAVE, NO_DIRECTORY, false) == SL_OK;
|
return SaveOrLoad(filename, SLO_SAVE, DFT_GAME_FILE, NO_DIRECTORY, false) == SL_OK;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -505,15 +505,12 @@ 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) {
|
||||||
bool rtl = _current_text_dir == TD_RTL;
|
SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
|
||||||
int image = v->GetImage(rtl ? DIR_E : DIR_W, EIT_IN_DEPOT);
|
SetMouseCursorVehicle(v, EIT_IN_DEPOT);
|
||||||
SetObjectToPlaceWnd(image, GetVehiclePalette(v), HT_DRAG, this);
|
_cursor.vehchain = _ctrl_pressed;
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
@@ -663,7 +660,8 @@ struct DepotWindow : Window {
|
|||||||
DepotSortList(&this->vehicle_list);
|
DepotSortList(&this->vehicle_list);
|
||||||
|
|
||||||
uint new_unitnumber_digits = GetUnitNumberDigits(this->vehicle_list);
|
uint new_unitnumber_digits = GetUnitNumberDigits(this->vehicle_list);
|
||||||
if (this->unitnumber_digits != new_unitnumber_digits) {
|
/* Only increase the size; do not decrease to prevent constant changes */
|
||||||
|
if (this->unitnumber_digits < new_unitnumber_digits) {
|
||||||
this->unitnumber_digits = new_unitnumber_digits;
|
this->unitnumber_digits = new_unitnumber_digits;
|
||||||
this->ReInit();
|
this->ReInit();
|
||||||
}
|
}
|
||||||
|
@@ -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->cur_image = img;
|
this->sprite_seq.Set(img);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -499,7 +499,8 @@ 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;
|
||||||
|
|
||||||
if (++v->cur_image > SPR_ROTOR_MOVING_3) v->cur_image = SPR_ROTOR_MOVING_1;
|
SpriteID &cur_image = v->sprite_seq.seq[0].sprite;
|
||||||
|
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 CcBuildCanal(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcPlaySound_SPLAT_WATER(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
||||||
{
|
{
|
||||||
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_02_SPLAT_WATER, tile);
|
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), CcBuildCanal);
|
DoCommandP(end_tile, start_tile, (_game_mode == GM_EDITOR && _ctrl_pressed) ? WATER_CLASS_SEA : WATER_CLASS_CANAL, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_BUILD_CANALS), CcPlaySound_SPLAT_WATER);
|
||||||
break;
|
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), CcBuildCanal);
|
DoCommandP(end_tile, start_tile, WATER_CLASS_RIVER, CMD_BUILD_CANAL | CMD_MSG(STR_ERROR_CAN_T_PLACE_RIVERS), CcPlaySound_SPLAT_WATER);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: break;
|
default: break;
|
||||||
@@ -433,7 +433,7 @@ public:
|
|||||||
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
|
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
|
||||||
* (This is the case, if making the window bigger moves the mouse into the window.) */
|
* (This is the case, if making the window bigger moves the mouse into the window.) */
|
||||||
if (top > bottom) {
|
if (top > bottom) {
|
||||||
ResizeWindow(this, 0, top - bottom);
|
ResizeWindow(this, 0, top - bottom, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1317,7 +1317,8 @@ static uint GetLoadAmount(Vehicle *v)
|
|||||||
/* Scale load amount the same as capacity */
|
/* Scale load amount the same as capacity */
|
||||||
if (HasBit(e->info.misc_flags, EF_NO_DEFAULT_CARGO_MULTIPLIER) && !air_mail) load_amount = CeilDiv(load_amount * CargoSpec::Get(v->cargo_type)->multiplier, 0x100);
|
if (HasBit(e->info.misc_flags, EF_NO_DEFAULT_CARGO_MULTIPLIER) && !air_mail) load_amount = CeilDiv(load_amount * CargoSpec::Get(v->cargo_type)->multiplier, 0x100);
|
||||||
|
|
||||||
return load_amount;
|
/* Zero load amount breaks a lot of things. */
|
||||||
|
return max(1u, load_amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1651,6 +1652,7 @@ static void LoadUnloadVehicle(Vehicle *front)
|
|||||||
uint amount_unloaded = _settings_game.order.gradual_loading ? min(cargo_count, load_amount) : cargo_count;
|
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);
|
||||||
payment->SetCargo(v->cargo_type);
|
payment->SetCargo(v->cargo_type);
|
||||||
|
|
||||||
if (!HasBit(ge->status, GoodsEntry::GES_ACCEPTANCE) && v->cargo.ActionCount(VehicleCargoList::MTA_DELIVER) > 0) {
|
if (!HasBit(ge->status, GoodsEntry::GES_ACCEPTANCE) && v->cargo.ActionCount(VehicleCargoList::MTA_DELIVER) > 0) {
|
||||||
|
@@ -22,10 +22,26 @@
|
|||||||
#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->cur_image = SPR_CHIMNEY_SMOKE_0 + GB(r, 0, 3);
|
v->sprite_seq.Set(SPR_CHIMNEY_SMOKE_0 + GB(r, 0, 3));
|
||||||
v->progress = GB(r, 16, 3);
|
v->progress = GB(r, 16, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,10 +56,8 @@ static bool ChimneySmokeTick(EffectVehicle *v)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (v->cur_image != SPR_CHIMNEY_SMOKE_7) {
|
if (!IncrementSprite(v, SPR_CHIMNEY_SMOKE_7)) {
|
||||||
v->cur_image++;
|
v->sprite_seq.Set(SPR_CHIMNEY_SMOKE_0);
|
||||||
} else {
|
|
||||||
v->cur_image = SPR_CHIMNEY_SMOKE_0;
|
|
||||||
}
|
}
|
||||||
v->progress = 7;
|
v->progress = 7;
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
@@ -54,7 +68,7 @@ static bool ChimneySmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void SteamSmokeInit(EffectVehicle *v)
|
static void SteamSmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_STEAM_SMOKE_0;
|
v->sprite_seq.Set(SPR_STEAM_SMOKE_0);
|
||||||
v->progress = 12;
|
v->progress = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,9 +84,7 @@ static bool SteamSmokeTick(EffectVehicle *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((v->progress & 0xF) == 4) {
|
if ((v->progress & 0xF) == 4) {
|
||||||
if (v->cur_image != SPR_STEAM_SMOKE_4) {
|
if (!IncrementSprite(v, SPR_STEAM_SMOKE_4)) {
|
||||||
v->cur_image++;
|
|
||||||
} else {
|
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -86,7 +98,7 @@ static bool SteamSmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void DieselSmokeInit(EffectVehicle *v)
|
static void DieselSmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_DIESEL_SMOKE_0;
|
v->sprite_seq.Set(SPR_DIESEL_SMOKE_0);
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,13 +110,11 @@ 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 (v->cur_image != SPR_DIESEL_SMOKE_5) {
|
if (!IncrementSprite(v, SPR_DIESEL_SMOKE_5)) {
|
||||||
v->cur_image++;
|
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
} else {
|
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -112,7 +122,7 @@ static bool DieselSmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void ElectricSparkInit(EffectVehicle *v)
|
static void ElectricSparkInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_ELECTRIC_SPARK_0;
|
v->sprite_seq.Set(SPR_ELECTRIC_SPARK_0);
|
||||||
v->progress = 1;
|
v->progress = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,13 +132,12 @@ 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) {
|
|
||||||
v->cur_image++;
|
if (!IncrementSprite(v, SPR_ELECTRIC_SPARK_5)) {
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
} else {
|
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -136,7 +145,7 @@ static bool ElectricSparkTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void SmokeInit(EffectVehicle *v)
|
static void SmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_SMOKE_0;
|
v->sprite_seq.Set(SPR_SMOKE_0);
|
||||||
v->progress = 12;
|
v->progress = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,9 +161,7 @@ static bool SmokeTick(EffectVehicle *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((v->progress & 0xF) == 4) {
|
if ((v->progress & 0xF) == 4) {
|
||||||
if (v->cur_image != SPR_SMOKE_4) {
|
if (!IncrementSprite(v, SPR_SMOKE_4)) {
|
||||||
v->cur_image++;
|
|
||||||
} else {
|
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -168,7 +175,7 @@ static bool SmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void ExplosionLargeInit(EffectVehicle *v)
|
static void ExplosionLargeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_EXPLOSION_LARGE_0;
|
v->sprite_seq.Set(SPR_EXPLOSION_LARGE_0);
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,13 +183,11 @@ static bool ExplosionLargeTick(EffectVehicle *v)
|
|||||||
{
|
{
|
||||||
v->progress++;
|
v->progress++;
|
||||||
if ((v->progress & 3) == 0) {
|
if ((v->progress & 3) == 0) {
|
||||||
if (v->cur_image != SPR_EXPLOSION_LARGE_F) {
|
if (!IncrementSprite(v, SPR_EXPLOSION_LARGE_F)) {
|
||||||
v->cur_image++;
|
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
} else {
|
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -190,7 +195,7 @@ static bool ExplosionLargeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void BreakdownSmokeInit(EffectVehicle *v)
|
static void BreakdownSmokeInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_BREAKDOWN_SMOKE_0;
|
v->sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,10 +203,8 @@ static bool BreakdownSmokeTick(EffectVehicle *v)
|
|||||||
{
|
{
|
||||||
v->progress++;
|
v->progress++;
|
||||||
if ((v->progress & 7) == 0) {
|
if ((v->progress & 7) == 0) {
|
||||||
if (v->cur_image != SPR_BREAKDOWN_SMOKE_3) {
|
if (!IncrementSprite(v, SPR_BREAKDOWN_SMOKE_3)) {
|
||||||
v->cur_image++;
|
v->sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
|
||||||
} else {
|
|
||||||
v->cur_image = SPR_BREAKDOWN_SMOKE_0;
|
|
||||||
}
|
}
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
@@ -217,7 +220,7 @@ static bool BreakdownSmokeTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void ExplosionSmallInit(EffectVehicle *v)
|
static void ExplosionSmallInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_EXPLOSION_SMALL_0;
|
v->sprite_seq.Set(SPR_EXPLOSION_SMALL_0);
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,13 +228,11 @@ static bool ExplosionSmallTick(EffectVehicle *v)
|
|||||||
{
|
{
|
||||||
v->progress++;
|
v->progress++;
|
||||||
if ((v->progress & 3) == 0) {
|
if ((v->progress & 3) == 0) {
|
||||||
if (v->cur_image != SPR_EXPLOSION_SMALL_B) {
|
if (!IncrementSprite(v, SPR_EXPLOSION_SMALL_B)) {
|
||||||
v->cur_image++;
|
|
||||||
v->UpdatePositionAndViewport();
|
|
||||||
} else {
|
|
||||||
delete v;
|
delete v;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
v->UpdatePositionAndViewport();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -239,7 +240,7 @@ static bool ExplosionSmallTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void BulldozerInit(EffectVehicle *v)
|
static void BulldozerInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_BULLDOZER_NE;
|
v->sprite_seq.Set(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;
|
||||||
@@ -290,7 +291,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->cur_image = SPR_BULLDOZER_NE + b->image;
|
v->sprite_seq.Set(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;
|
||||||
@@ -312,7 +313,7 @@ static bool BulldozerTick(EffectVehicle *v)
|
|||||||
|
|
||||||
static void BubbleInit(EffectVehicle *v)
|
static void BubbleInit(EffectVehicle *v)
|
||||||
{
|
{
|
||||||
v->cur_image = SPR_BUBBLE_GENERATE_0;
|
v->sprite_seq.Set(SPR_BUBBLE_GENERATE_0);
|
||||||
v->spritenum = 0;
|
v->spritenum = 0;
|
||||||
v->progress = 0;
|
v->progress = 0;
|
||||||
}
|
}
|
||||||
@@ -475,8 +476,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->cur_image++;
|
v->sprite_seq.seq[0].sprite++;
|
||||||
if (v->cur_image < SPR_BUBBLE_GENERATE_3) {
|
if (v->sprite_seq.seq[0].sprite < SPR_BUBBLE_GENERATE_3) {
|
||||||
v->UpdatePositionAndViewport();
|
v->UpdatePositionAndViewport();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -521,7 +522,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->cur_image = SPR_BUBBLE_0 + b->image;
|
v->sprite_seq.Set(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 (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasRailCatenary(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 (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasRailCatenary(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 (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasRailCatenary(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 (!HasCatenary(GetRailType(t))) return TRACK_BIT_NONE;
|
if (!HasRailCatenary(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 || !HasCatenary(rt) ||
|
if (rt == INVALID_RAILTYPE || !HasRailCatenary(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 DrawCatenaryOnTunnel(const TileInfo *ti)
|
void DrawRailCatenaryOnTunnel(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 DrawCatenaryOnTunnel(const TileInfo *ti)
|
|||||||
|
|
||||||
SpriteID wire_base = GetWireBase(ti->tile);
|
SpriteID wire_base = GetWireBase(ti->tile);
|
||||||
|
|
||||||
const SortableSpriteStruct *sss = &CatenarySpriteData_Tunnel[dir];
|
const SortableSpriteStruct *sss = &RailCatenarySpriteData_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 DrawCatenaryOnTunnel(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 DrawCatenaryRailway(const TileInfo *ti)
|
static void DrawRailCatenaryRailway(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 DrawCatenaryRailway(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) && HasCatenary(GetRailType(neighbour))) foundation = GetRailFoundation(tileh[TS_NEIGHBOUR], trackconfig[TS_NEIGHBOUR]);
|
if (trackconfig[TS_NEIGHBOUR] != TRACK_BIT_NONE && IsTileType(neighbour, MP_RAILWAY) && HasRailCatenary(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 DrawCatenaryRailway(const TileInfo *ti)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The wire above the tunnel is drawn together with the tunnel-roof (see DrawCatenaryOnTunnel()) */
|
/* The wire above the tunnel is drawn together with the tunnel-roof (see DrawRailCatenaryOnTunnel()) */
|
||||||
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 DrawCatenaryRailway(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 = &CatenarySpriteData[Wires[tileh_selector][t][PCPconfig]];
|
sss = &RailCatenarySpriteData[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 DrawCatenaryRailway(const TileInfo *ti)
|
|||||||
*
|
*
|
||||||
* @param ti The Tileinfo to draw the tile for
|
* @param ti The Tileinfo to draw the tile for
|
||||||
*/
|
*/
|
||||||
void DrawCatenaryOnBridge(const TileInfo *ti)
|
void DrawRailCatenaryOnBridge(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 DrawCatenaryOnBridge(const TileInfo *ti)
|
|||||||
Axis axis = GetBridgeAxis(ti->tile);
|
Axis axis = GetBridgeAxis(ti->tile);
|
||||||
TLG tlg = GetTLG(ti->tile);
|
TLG tlg = GetTLG(ti->tile);
|
||||||
|
|
||||||
CatenarySprite offset = (CatenarySprite)(axis == AXIS_X ? 0 : WIRE_Y_FLAT_BOTH - WIRE_X_FLAT_BOTH);
|
RailCatenarySprite offset = (RailCatenarySprite)(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 = &CatenarySpriteData[WIRE_X_FLAT_BOTH + offset];
|
sss = &RailCatenarySpriteData[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 = &CatenarySpriteData[WIRE_X_FLAT_SW + (num % 2) + offset];
|
sss = &RailCatenarySpriteData[WIRE_X_FLAT_SW + (num % 2) + offset];
|
||||||
}
|
}
|
||||||
|
|
||||||
height = GetBridgePixelHeight(end);
|
height = GetBridgePixelHeight(end);
|
||||||
@@ -558,14 +558,14 @@ void DrawCatenaryOnBridge(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 DrawCatenaryRailway
|
* @see DrawRailCatenaryRailway
|
||||||
*/
|
*/
|
||||||
void DrawCatenary(const TileInfo *ti)
|
void DrawRailCatenary(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 = &CatenarySpriteData_Depot[GetRailDepotDirection(ti->tile)];
|
const SortableSpriteStruct *sss = &RailCatenarySpriteData_Depot[GetRailDepotDirection(ti->tile)];
|
||||||
|
|
||||||
SpriteID wire_base = GetWireBase(ti->tile);
|
SpriteID wire_base = GetWireBase(ti->tile);
|
||||||
|
|
||||||
@@ -587,7 +587,7 @@ void DrawCatenary(const TileInfo *ti)
|
|||||||
|
|
||||||
default: return;
|
default: return;
|
||||||
}
|
}
|
||||||
DrawCatenaryRailway(ti);
|
DrawRailCatenaryRailway(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 HasCatenary(RailType rt)
|
static inline bool HasRailCatenary(RailType rt)
|
||||||
{
|
{
|
||||||
return HasBit(GetRailTypeInfo(rt)->flags, RTF_CATENARY);
|
return HasBit(GetRailTypeInfo(rt)->flags, RTF_CATENARY);
|
||||||
}
|
}
|
||||||
@@ -29,14 +29,14 @@ static inline bool HasCatenary(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 HasCatenaryDrawn(RailType rt)
|
static inline bool HasRailCatenaryDrawn(RailType rt)
|
||||||
{
|
{
|
||||||
return HasCatenary(rt) && !IsInvisibilitySet(TO_CATENARY) && !_settings_game.vehicle.disable_elrails;
|
return HasRailCatenary(rt) && !IsInvisibilitySet(TO_CATENARY) && !_settings_game.vehicle.disable_elrails;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawCatenary(const TileInfo *ti);
|
void DrawRailCatenary(const TileInfo *ti);
|
||||||
void DrawCatenaryOnTunnel(const TileInfo *ti);
|
void DrawRailCatenaryOnTunnel(const TileInfo *ti);
|
||||||
void DrawCatenaryOnBridge(const TileInfo *ti);
|
void DrawRailCatenaryOnBridge(const TileInfo *ti);
|
||||||
|
|
||||||
bool SettingsDisableElrail(int32 p1); ///< _settings_game.disable_elrail callback
|
bool SettingsDisableElrail(int32 p1); ///< _settings_game.disable_elrail callback
|
||||||
|
|
||||||
|
@@ -48,11 +48,6 @@ 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),
|
||||||
@@ -85,6 +80,7 @@ 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]) {
|
||||||
@@ -542,29 +538,6 @@ 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);
|
||||||
@@ -710,19 +683,6 @@ 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);
|
||||||
}
|
}
|
||||||
@@ -819,7 +779,10 @@ 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()
|
||||||
{
|
{
|
||||||
CheckRailIntroduction();
|
Company *c;
|
||||||
|
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;
|
||||||
|
|
||||||
@@ -879,7 +842,7 @@ CommandCost CmdSetVehicleVisibility(TileIndex tile, DoCommandFlag flags, uint32
|
|||||||
{
|
{
|
||||||
Engine *e = Engine::GetIfValid(GB(p2, 0, 31));
|
Engine *e = Engine::GetIfValid(GB(p2, 0, 31));
|
||||||
if (e == NULL || _current_company >= MAX_COMPANIES) return CMD_ERROR;
|
if (e == NULL || _current_company >= MAX_COMPANIES) return CMD_ERROR;
|
||||||
if ((e->flags & ENGINE_AVAILABLE) == 0 || !HasBit(e->company_avail, _current_company)) return CMD_ERROR;
|
if (!IsEngineBuildable(e->index, e->type, _current_company)) return CMD_ERROR;
|
||||||
|
|
||||||
if ((flags & DC_EXEC) != 0) {
|
if ((flags & DC_EXEC) != 0) {
|
||||||
SB(e->company_hidden, _current_company, 1, GB(p2, 31, 1));
|
SB(e->company_hidden, _current_company, 1, GB(p2, 31, 1));
|
||||||
@@ -902,7 +865,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->preview_company != _current_company) return CMD_ERROR;
|
if (e == NULL || !(e->flags & ENGINE_EXCLUSIVE_PREVIEW) || e->preview_company != _current_company) return CMD_ERROR;
|
||||||
|
|
||||||
if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_company);
|
if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_company);
|
||||||
|
|
||||||
|
@@ -158,6 +158,7 @@ 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,6 +14,96 @@
|
|||||||
|
|
||||||
#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,17 +29,15 @@
|
|||||||
#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();
|
extern void FiosGetDrives(FileList &file_list);
|
||||||
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 */
|
||||||
@@ -65,11 +63,72 @@ int CDECL CompareFiosItems(const FiosItem *da, const FiosItem *db)
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Free the list of savegames. */
|
FileList::~FileList()
|
||||||
void FiosFreeSavegameList()
|
|
||||||
{
|
{
|
||||||
_fios_items.Clear();
|
this->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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -215,23 +274,24 @@ bool FiosDelete(const char *name)
|
|||||||
return unlink(filename) == 0;
|
return unlink(filename) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef FiosType fios_getlist_callback_proc(SaveLoadDialogMode mode, const char *filename, const char *ext, char *title, const char *last);
|
typedef FiosType fios_getlist_callback_proc(SaveLoadOperation fop, const char *filename, const char *ext, char *title, const char *last);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scanner to scan for a particular type of FIOS file.
|
* Scanner to scan for a particular type of FIOS file.
|
||||||
*/
|
*/
|
||||||
class FiosFileScanner : public FileScanner {
|
class FiosFileScanner : public FileScanner {
|
||||||
SaveLoadDialogMode mode; ///< The mode we want to search for
|
SaveLoadOperation fop; ///< The kind of file we are looking for.
|
||||||
fios_getlist_callback_proc *callback_proc; ///< Callback to check whether the file may be added
|
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 mode The mode we are in. Some modes don't allow 'parent'.
|
* @param fop Purpose of collecting the list.
|
||||||
* @param callback_proc The function that is called where you need to do the filtering.
|
* @param callback_proc The function that is called where you need to do the filtering.
|
||||||
|
* @param file_list Destination of the found files.
|
||||||
*/
|
*/
|
||||||
FiosFileScanner(SaveLoadDialogMode mode, fios_getlist_callback_proc *callback_proc) :
|
FiosFileScanner(SaveLoadOperation fop, fios_getlist_callback_proc *callback_proc, FileList &file_list) :
|
||||||
mode(mode),
|
fop(fop), callback_proc(callback_proc), file_list(file_list)
|
||||||
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);
|
||||||
@@ -251,14 +311,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->mode, filename, ext, fios_title, lastof(fios_title));
|
FiosType type = this->callback_proc(this->fop, filename, ext, fios_title, lastof(fios_title));
|
||||||
if (type == FIOS_TYPE_INVALID) return false;
|
if (type == FIOS_TYPE_INVALID) return false;
|
||||||
|
|
||||||
for (const FiosItem *fios = _fios_items.Begin(); fios != _fios_items.End(); fios++) {
|
for (const FiosItem *fios = file_list.Begin(); fios != file_list.End(); fios++) {
|
||||||
if (strcmp(fios->name, filename) == 0) return false;
|
if (strcmp(fios->name, filename) == 0) return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FiosItem *fios = _fios_items.Append();
|
FiosItem *fios = file_list.Append();
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
struct _stat sb;
|
struct _stat sb;
|
||||||
if (_tstat(OTTD2FS(filename), &sb) == 0) {
|
if (_tstat(OTTD2FS(filename), &sb) == 0) {
|
||||||
@@ -289,11 +349,12 @@ bool FiosFileScanner::AddFile(const char *filename, size_t basepath_length, cons
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Fill the list of the files in a directory, according to some arbitrary rule.
|
* Fill the list of the files in a directory, according to some arbitrary rule.
|
||||||
* @param mode The mode we are in. Some modes don't allow 'parent'.
|
* @param fop Purpose of collecting the list.
|
||||||
* @param callback_proc The function that is called where you need to do the filtering.
|
* @param 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(SaveLoadDialogMode mode, fios_getlist_callback_proc *callback_proc, Subdirectory subdir)
|
static void FiosGetFileList(SaveLoadOperation fop, fios_getlist_callback_proc *callback_proc, Subdirectory subdir, FileList &file_list)
|
||||||
{
|
{
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
struct dirent *dirent;
|
struct dirent *dirent;
|
||||||
@@ -302,11 +363,11 @@ static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc
|
|||||||
int sort_start;
|
int sort_start;
|
||||||
char d_name[sizeof(fios->name)];
|
char d_name[sizeof(fios->name)];
|
||||||
|
|
||||||
_fios_items.Clear();
|
file_list.Clear();
|
||||||
|
|
||||||
/* A parent directory link exists if we are not in the root directory */
|
/* A parent directory link exists if we are not in the root directory */
|
||||||
if (!FiosIsRoot(_fios_path)) {
|
if (!FiosIsRoot(_fios_path)) {
|
||||||
fios = _fios_items.Append();
|
fios = file_list.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));
|
||||||
@@ -322,7 +383,7 @@ static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc
|
|||||||
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 = _fios_items.Append();
|
fios = file_list.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));
|
||||||
@@ -337,27 +398,27 @@ static void FiosGetFileList(SaveLoadDialogMode mode, fios_getlist_callback_proc
|
|||||||
{
|
{
|
||||||
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(_fios_items.Begin(), _fios_items.Length(), CompareFiosItems);
|
QSortT(file_list.files.Begin(), file_list.files.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 = _fios_items.Length();
|
sort_start = file_list.Length();
|
||||||
|
|
||||||
/* Show files */
|
/* Show files */
|
||||||
FiosFileScanner scanner(mode, callback_proc);
|
FiosFileScanner scanner(fop, callback_proc, file_list);
|
||||||
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(_fios_items.Get(sort_start), _fios_items.Length() - sort_start, CompareFiosItems);
|
QSortT(file_list.Get(sort_start), file_list.Length() - sort_start, CompareFiosItems);
|
||||||
|
|
||||||
/* Show drives */
|
/* Show drives */
|
||||||
FiosGetDrives();
|
FiosGetDrives(file_list);
|
||||||
|
|
||||||
_fios_items.Compact();
|
file_list.Compact();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -386,7 +447,7 @@ static void GetFileTitle(const char *file, char *title, const char *last, Subdir
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback for FiosGetFileList. It tells if a file is a savegame or not.
|
* Callback for FiosGetFileList. It tells if a file is a savegame or not.
|
||||||
* @param mode Save/load mode.
|
* @param fop Purpose of collecting the list.
|
||||||
* @param file Name of the file to check.
|
* @param 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
|
||||||
@@ -395,7 +456,7 @@ static void GetFileTitle(const char *file, char *title, const char *last, Subdir
|
|||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
* @see FiosGetSavegameList
|
* @see FiosGetSavegameList
|
||||||
*/
|
*/
|
||||||
FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
||||||
{
|
{
|
||||||
/* Show savegame files
|
/* Show savegame files
|
||||||
* .SAV OpenTTD saved game
|
* .SAV OpenTTD saved game
|
||||||
@@ -411,7 +472,7 @@ FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file,
|
|||||||
return FIOS_TYPE_FILE;
|
return FIOS_TYPE_FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
if (fop == SLO_LOAD) {
|
||||||
if (strcasecmp(ext, ".ss1") == 0 || strcasecmp(ext, ".sv1") == 0 ||
|
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);
|
||||||
@@ -424,10 +485,11 @@ FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of savegames.
|
* Get a list of savegames.
|
||||||
* @param mode Save/load mode.
|
* @param fop Purpose of collecting the list.
|
||||||
|
* @param file_list Destination of the found files.
|
||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
*/
|
*/
|
||||||
void FiosGetSavegameList(SaveLoadDialogMode mode)
|
void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list)
|
||||||
{
|
{
|
||||||
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;
|
||||||
@@ -441,12 +503,12 @@ void FiosGetSavegameList(SaveLoadDialogMode mode)
|
|||||||
_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(mode, &FiosGetSavegameListCallback, NO_DIRECTORY);
|
FiosGetFileList(fop, &FiosGetSavegameListCallback, NO_DIRECTORY, file_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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 mode Save/load mode.
|
* @param fop Purpose of collecting the list.
|
||||||
* @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
|
||||||
@@ -455,7 +517,7 @@ void FiosGetSavegameList(SaveLoadDialogMode mode)
|
|||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
* @see FiosGetScenarioList
|
* @see FiosGetScenarioList
|
||||||
*/
|
*/
|
||||||
static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
static FiosType FiosGetScenarioListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
||||||
{
|
{
|
||||||
/* Show scenario files
|
/* Show scenario files
|
||||||
* .SCN OpenTTD style scenario file
|
* .SCN OpenTTD style scenario file
|
||||||
@@ -466,7 +528,7 @@ static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char
|
|||||||
return FIOS_TYPE_SCENARIO;
|
return FIOS_TYPE_SCENARIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
if (fop == SLO_LOAD) {
|
||||||
if (strcasecmp(ext, ".sv0") == 0 || strcasecmp(ext, ".ss0") == 0 ) {
|
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;
|
||||||
@@ -478,10 +540,11 @@ static FiosType FiosGetScenarioListCallback(SaveLoadDialogMode mode, const char
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of scenarios.
|
* Get a list of scenarios.
|
||||||
* @param mode Save/load mode.
|
* @param fop Purpose of collecting the list.
|
||||||
|
* @param file_list Destination of the found files.
|
||||||
* @see FiosGetFileList
|
* @see FiosGetFileList
|
||||||
*/
|
*/
|
||||||
void FiosGetScenarioList(SaveLoadDialogMode mode)
|
void FiosGetScenarioList(SaveLoadOperation fop, FileList &file_list)
|
||||||
{
|
{
|
||||||
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;
|
||||||
@@ -499,10 +562,11 @@ void FiosGetScenarioList(SaveLoadDialogMode mode)
|
|||||||
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);
|
||||||
|
|
||||||
FiosGetFileList(mode, &FiosGetScenarioListCallback, (mode == SLD_LOAD_SCENARIO && strcmp(base_path, _fios_path) == 0) ? SCENARIO_DIR : NO_DIRECTORY);
|
Subdirectory subdir = (fop == SLO_LOAD && strcmp(base_path, _fios_path) == 0) ? SCENARIO_DIR : NO_DIRECTORY;
|
||||||
|
FiosGetFileList(fop, &FiosGetScenarioListCallback, subdir, file_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last)
|
static FiosType FiosGetHeightmapListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
|
||||||
{
|
{
|
||||||
/* Show heightmap files
|
/* Show heightmap files
|
||||||
* .PNG PNG Based heightmap files
|
* .PNG PNG Based heightmap files
|
||||||
@@ -548,9 +612,10 @@ static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of heightmaps.
|
* Get a list of heightmaps.
|
||||||
* @param mode Save/load mode.
|
* @param fop Purpose of collecting the list.
|
||||||
|
* @param file_list Destination of the found files.
|
||||||
*/
|
*/
|
||||||
void FiosGetHeightmapList(SaveLoadDialogMode mode)
|
void FiosGetHeightmapList(SaveLoadOperation fop, FileList &file_list)
|
||||||
{
|
{
|
||||||
static char *fios_hmap_path = NULL;
|
static char *fios_hmap_path = NULL;
|
||||||
static char *fios_hmap_path_last = NULL;
|
static char *fios_hmap_path_last = NULL;
|
||||||
@@ -567,7 +632,8 @@ void FiosGetHeightmapList(SaveLoadDialogMode mode)
|
|||||||
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);
|
||||||
|
|
||||||
FiosGetFileList(mode, &FiosGetHeightmapListCallback, strcmp(base_path, _fios_path) == 0 ? HEIGHTMAP_DIR : NO_DIRECTORY);
|
Subdirectory subdir = strcmp(base_path, _fios_path) == 0 ? HEIGHTMAP_DIR : NO_DIRECTORY;
|
||||||
|
FiosGetFileList(fop, &FiosGetHeightmapListCallback, subdir, file_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
157
src/fios.h
157
src/fios.h
@@ -81,52 +81,17 @@ extern LoadCheckData _load_check_data;
|
|||||||
|
|
||||||
enum FileSlots {
|
enum FileSlots {
|
||||||
/**
|
/**
|
||||||
* Slot used for the GRF scanning and such. This slot cannot be reused
|
* Slot used for the GRF scanning and such.
|
||||||
* as it will otherwise cause issues when pressing "rescan directories".
|
* This slot is used for all temporary accesses to files when scanning/testing files,
|
||||||
* It can furthermore not be larger than LAST_GRF_SLOT as that complicates
|
* and thus cannot be used for files, which are continuously accessed during a game.
|
||||||
* 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 = 64
|
MAX_FILE_SLOTS = 128,
|
||||||
};
|
|
||||||
|
|
||||||
/** 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 */
|
||||||
@@ -137,12 +102,95 @@ struct FiosItem {
|
|||||||
char name[MAX_PATH];
|
char name[MAX_PATH];
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Deals with the type of the savegame, independent of extension */
|
/** List of file information. */
|
||||||
struct SmallFiosItem {
|
class FileList {
|
||||||
int mode; ///< savegame/scenario type (old, new)
|
public:
|
||||||
FileType filetype; ///< what type of file are we dealing with
|
~FileList();
|
||||||
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 {
|
||||||
@@ -154,18 +202,14 @@ 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(SaveLoadDialogMode mode);
|
void ShowSaveLoadDialog(AbstractFileType abstract_filetype, SaveLoadOperation fop);
|
||||||
|
|
||||||
void FiosGetSavegameList(SaveLoadDialogMode mode);
|
void FiosGetSavegameList(SaveLoadOperation fop, FileList &file_list);
|
||||||
void FiosGetScenarioList(SaveLoadDialogMode mode);
|
void FiosGetScenarioList(SaveLoadOperation fop, FileList &file_list);
|
||||||
void FiosGetHeightmapList(SaveLoadDialogMode mode);
|
void FiosGetHeightmapList(SaveLoadOperation fop, FileList &file_list);
|
||||||
|
|
||||||
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);
|
||||||
@@ -173,13 +217,8 @@ 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(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last);
|
FiosType FiosGetSavegameListCallback(SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last);
|
||||||
|
|
||||||
int CDECL CompareFiosItems(const FiosItem *a, const FiosItem *b);
|
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 */
|
||||||
|
313
src/fios_gui.cpp
313
src/fios_gui.cpp
@@ -36,7 +36,6 @@
|
|||||||
|
|
||||||
#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;
|
||||||
@@ -187,33 +186,24 @@ static const NWidgetPart _nested_save_dialog_widgets[] = {
|
|||||||
EndContainer(),
|
EndContainer(),
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Colours for fios types, indexed by #FiosType. */
|
/** Text colours of #DetailedFileType fios entries in the window. */
|
||||||
const TextColour _fios_colours[] = {
|
static const TextColour _fios_colours[] = {
|
||||||
TC_LIGHT_BLUE, TC_DARK_GREEN, TC_DARK_GREEN, TC_ORANGE, TC_LIGHT_BROWN,
|
TC_LIGHT_BROWN, // DFT_OLD_GAME_FILE
|
||||||
TC_ORANGE, TC_LIGHT_BROWN, TC_ORANGE, TC_ORANGE, TC_YELLOW
|
TC_ORANGE, // DFT_GAME_FILE
|
||||||
|
TC_YELLOW, // DFT_HEIGHTMAP_BMP
|
||||||
|
TC_ORANGE, // DFT_HEIGHTMAP_PNG
|
||||||
|
TC_LIGHT_BLUE, // DFT_FIOS_DRIVE
|
||||||
|
TC_DARK_GREEN, // DFT_FIOS_PARENT
|
||||||
|
TC_DARK_GREEN, // DFT_FIOS_DIR
|
||||||
|
TC_ORANGE, // DFT_FIOS_DIRECT
|
||||||
};
|
};
|
||||||
|
|
||||||
void BuildFileList()
|
|
||||||
{
|
|
||||||
_fios_path_changed = true;
|
|
||||||
FiosFreeSavegameList();
|
|
||||||
|
|
||||||
switch (_saveload_mode) {
|
/**
|
||||||
case SLD_LOAD_SCENARIO:
|
* Sort the collected list save games prior to displaying it in the save/load gui.
|
||||||
case SLD_SAVE_SCENARIO:
|
* @param [inout] file_list List of save game files found in the directory.
|
||||||
FiosGetScenarioList(_saveload_mode); break;
|
*/
|
||||||
case SLD_SAVE_HEIGHTMAP:
|
static void SortSaveGameList(FileList &file_list)
|
||||||
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;
|
||||||
@@ -222,7 +212,7 @@ static void MakeSortedSaveGameList()
|
|||||||
* 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 = _fios_items.Begin(); item != _fios_items.End(); item++) {
|
for (const FiosItem *item = file_list.Begin(); item != file_list.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;
|
||||||
@@ -231,15 +221,18 @@ static void MakeSortedSaveGameList()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint s_amount = _fios_items.Length() - sort_start - sort_end;
|
uint s_amount = file_list.Length() - sort_start - sort_end;
|
||||||
QSortT(_fios_items.Get(sort_start), s_amount, CompareFiosItems);
|
QSortT(file_list.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;
|
const FiosItem *selected; ///< Selected game in #fios_items, or \c NULL.
|
||||||
Scrollbar *vscroll;
|
Scrollbar *vscroll;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@@ -250,35 +243,56 @@ public:
|
|||||||
this->filename_editbox.text.UpdateSize();
|
this->filename_editbox.text.UpdateSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
SaveLoadWindow(WindowDesc *desc, SaveLoadDialogMode mode) : Window(desc), filename_editbox(64)
|
SaveLoadWindow(WindowDesc *desc, AbstractFileType abstract_filetype, SaveLoadOperation fop)
|
||||||
|
: Window(desc), filename_editbox(64), abstract_filetype(abstract_filetype), fop(fop)
|
||||||
{
|
{
|
||||||
static const StringID saveload_captions[] = {
|
assert(this->fop == SLO_SAVE || this->fop == SLO_LOAD);
|
||||||
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));
|
|
||||||
|
|
||||||
/* Use an array to define what will be the current file type being handled
|
/* For saving, construct an initial file name. */
|
||||||
* by current file mode */
|
if (this->fop == SLO_SAVE) {
|
||||||
switch (mode) {
|
switch (this->abstract_filetype) {
|
||||||
case SLD_SAVE_GAME: this->GenerateFileName(); break;
|
case FT_SAVEGAME:
|
||||||
case SLD_SAVE_HEIGHTMAP:
|
this->GenerateFileName();
|
||||||
case SLD_SAVE_SCENARIO: this->filename_editbox.text.Assign("UNNAMED"); break;
|
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 (mode == SLD_LOAD_GAME) this->GetWidget<NWidgetStacked>(WID_SL_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
if (this->fop == SLO_LOAD && this->abstract_filetype == FT_SAVEGAME) {
|
||||||
this->GetWidget<NWidgetCore>(WID_SL_CAPTION)->widget_data = saveload_captions[mode];
|
this->GetWidget<NWidgetStacked>(WID_SL_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||||
this->vscroll = this->GetScrollbar(WID_SL_SCROLLBAR);
|
}
|
||||||
|
|
||||||
|
/* Select caption string of the window. */
|
||||||
|
StringID caption_string;
|
||||||
|
switch (this->abstract_filetype) {
|
||||||
|
case FT_SAVEGAME:
|
||||||
|
caption_string = (this->fop == SLO_SAVE) ? STR_SAVELOAD_SAVE_CAPTION : STR_SAVELOAD_LOAD_CAPTION;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FT_SCENARIO:
|
||||||
|
caption_string = (this->fop == SLO_SAVE) ? STR_SAVELOAD_SAVE_SCENARIO : STR_SAVELOAD_LOAD_SCENARIO;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FT_HEIGHTMAP:
|
||||||
|
caption_string = (this->fop == SLO_SAVE) ? STR_SAVELOAD_SAVE_HEIGHTMAP : STR_SAVELOAD_LOAD_HEIGHTMAP;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
NOT_REACHED();
|
||||||
|
}
|
||||||
|
this->GetWidget<NWidgetCore>(WID_SL_CAPTION)->widget_data = caption_string;
|
||||||
|
|
||||||
|
this->vscroll = this->GetScrollbar(WID_SL_SCROLLBAR);
|
||||||
this->FinishInitNested(0);
|
this->FinishInitNested(0);
|
||||||
|
|
||||||
this->LowerWidget(WID_SL_DRIVES_DIRECTORIES_LIST);
|
this->LowerWidget(WID_SL_DRIVES_DIRECTORIES_LIST);
|
||||||
@@ -294,20 +308,18 @@ public:
|
|||||||
|
|
||||||
ResetObjectToPlace();
|
ResetObjectToPlace();
|
||||||
|
|
||||||
|
/* Select the initial directory. */
|
||||||
o_dir.type = FIOS_TYPE_DIRECT;
|
o_dir.type = FIOS_TYPE_DIRECT;
|
||||||
switch (_saveload_mode) {
|
switch (this->abstract_filetype) {
|
||||||
case SLD_SAVE_GAME:
|
case FT_SAVEGAME:
|
||||||
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 SLD_SAVE_SCENARIO:
|
case FT_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 SLD_SAVE_HEIGHTMAP:
|
case FT_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;
|
||||||
|
|
||||||
@@ -316,9 +328,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Focus the edit box by default in the save windows */
|
/* Focus the edit box by default in the save windows */
|
||||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
if (this->fop == SLO_SAVE) this->SetFocusedWidget(WID_SL_SAVE_OSK_TITLE);
|
||||||
this->SetFocusedWidget(WID_SL_SAVE_OSK_TITLE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~SaveLoadWindow()
|
virtual ~SaveLoadWindow()
|
||||||
@@ -327,7 +337,6 @@ 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
|
||||||
@@ -360,13 +369,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 < _fios_items.Length(); pos++) {
|
for (uint pos = this->vscroll->GetPosition(); pos < this->fios_items.Length(); pos++) {
|
||||||
const FiosItem *item = _fios_items.Get(pos);
|
const FiosItem *item = this->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[item->type]);
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, item->title, _fios_colours[GetDetailedFileType(item->type)]);
|
||||||
y += this->resize.step_height;
|
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;
|
||||||
}
|
}
|
||||||
@@ -421,7 +430,7 @@ public:
|
|||||||
if (y > y_max) break;
|
if (y > y_max) break;
|
||||||
|
|
||||||
/* Hide current date for scenarios */
|
/* Hide current date for scenarios */
|
||||||
if (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) {
|
if (this->abstract_filetype != FT_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);
|
||||||
@@ -429,7 +438,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 (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
if (this->fop == SLO_LOAD && (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO)) {
|
||||||
y += WD_PAR_VSEP_NORMAL;
|
y += WD_PAR_VSEP_NORMAL;
|
||||||
if (y > y_max) break;
|
if (y > y_max) break;
|
||||||
|
|
||||||
@@ -442,7 +451,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 (_saveload_mode != SLD_LOAD_SCENARIO && _saveload_mode != SLD_SAVE_SCENARIO) {
|
if (this->abstract_filetype != FT_SCENARIO) {
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
if (y > y_max) break;
|
if (y > y_max) break;
|
||||||
|
|
||||||
@@ -495,10 +504,10 @@ public:
|
|||||||
{
|
{
|
||||||
if (_savegame_sort_dirty) {
|
if (_savegame_sort_dirty) {
|
||||||
_savegame_sort_dirty = false;
|
_savegame_sort_dirty = false;
|
||||||
MakeSortedSaveGameList();
|
SortSaveGameList(this->fios_items);
|
||||||
}
|
}
|
||||||
|
|
||||||
this->vscroll->SetCount(_fios_items.Length());
|
this->vscroll->SetCount(this->fios_items.Length());
|
||||||
this->DrawWidgets();
|
this->DrawWidgets();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -527,14 +536,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);
|
||||||
SetFiosType(this->selected->type);
|
_file_to_saveload.SetMode(this->selected->type);
|
||||||
|
_file_to_saveload.SetName(name);
|
||||||
|
_file_to_saveload.SetTitle(this->selected->title);
|
||||||
|
|
||||||
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
if (this->abstract_filetype == FT_HEIGHTMAP) {
|
||||||
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();
|
||||||
@@ -563,7 +572,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 = _fios_items.Get(y);
|
const FiosItem *file = this->fios_items.Get(y);
|
||||||
|
|
||||||
const char *name = FiosBrowseTo(file);
|
const char *name = FiosBrowseTo(file);
|
||||||
if (name != NULL) {
|
if (name != NULL) {
|
||||||
@@ -572,28 +581,32 @@ public:
|
|||||||
this->selected = file;
|
this->selected = file;
|
||||||
_load_check_data.Clear();
|
_load_check_data.Clear();
|
||||||
|
|
||||||
if (file->type == FIOS_TYPE_FILE || file->type == FIOS_TYPE_SCENARIO) {
|
if (GetDetailedFileType(file->type) == DFT_GAME_FILE) {
|
||||||
SaveOrLoad(name, SL_LOAD_CHECK, NO_DIRECTORY, false);
|
/* Other detailed file types cannot be checked before. */
|
||||||
|
SaveOrLoad(name, SLO_CHECK, DFT_GAME_FILE, NO_DIRECTORY, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
this->InvalidateData(1);
|
this->InvalidateData(1);
|
||||||
}
|
}
|
||||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
if (this->fop == SLO_SAVE) {
|
||||||
/* Copy clicked name to editbox */
|
/* 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 (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
if (this->fop == SLO_LOAD) {
|
||||||
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
if (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO) {
|
||||||
} else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
||||||
SetFiosType(file->type);
|
} else {
|
||||||
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
assert(this->abstract_filetype == FT_HEIGHTMAP);
|
||||||
strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title));
|
_file_to_saveload.SetMode(file->type);
|
||||||
|
_file_to_saveload.SetName(name);
|
||||||
|
_file_to_saveload.SetTitle(file->title);
|
||||||
|
|
||||||
delete this;
|
delete this;
|
||||||
ShowHeightmapLoad();
|
ShowHeightmapLoad();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -608,10 +621,11 @@ 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)
|
||||||
switch (_saveload_mode) {
|
assert(this->fop == SLO_LOAD);
|
||||||
|
switch (this->abstract_filetype) {
|
||||||
default: NOT_REACHED();
|
default: NOT_REACHED();
|
||||||
case SLD_LOAD_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break;
|
case FT_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break;
|
||||||
case SLD_LOAD_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break;
|
case FT_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -639,9 +653,8 @@ public:
|
|||||||
|
|
||||||
virtual void OnTimeout()
|
virtual void OnTimeout()
|
||||||
{
|
{
|
||||||
/* This test protects against using widgets 11 and 12 which are only available
|
/* Widgets WID_SL_DELETE_SELECTION and WID_SL_SAVE_GAME only exist when saving to a file. */
|
||||||
* in those saveload modes. */
|
if (this->fop != SLO_SAVE) return;
|
||||||
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)) {
|
||||||
@@ -649,10 +662,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 (_saveload_mode == SLD_SAVE_GAME) GenerateFileName();
|
if (this->abstract_filetype == FT_SAVEGAME) GenerateFileName();
|
||||||
}
|
}
|
||||||
} else if (this->IsWidgetLowered(WID_SL_SAVE_GAME)) { // Save button clicked
|
} else if (this->IsWidgetLowered(WID_SL_SAVE_GAME)) { // Save button clicked
|
||||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) {
|
if (this->abstract_filetype == FT_SAVEGAME || this->abstract_filetype == FT_SCENARIO) {
|
||||||
_switch_mode = SM_SAVE_GAME;
|
_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 {
|
||||||
@@ -683,28 +696,40 @@ 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) {
|
|
||||||
this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON, this->selected == NULL || _load_check_data.HasErrors());
|
if (this->fop != SLO_LOAD) break;
|
||||||
|
|
||||||
|
switch (this->abstract_filetype) {
|
||||||
|
case FT_HEIGHTMAP:
|
||||||
|
this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON, this->selected == NULL || _load_check_data.HasErrors());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FT_SAVEGAME:
|
||||||
|
case FT_SCENARIO: {
|
||||||
|
bool disabled = this->selected == NULL || _load_check_data.HasErrors();
|
||||||
|
if (!_settings_client.gui.UserIsAllowedToChangeNewGRFs()) {
|
||||||
|
disabled |= _load_check_data.HasNewGrfs() && _load_check_data.grf_compatibility == GLC_NOT_FOUND;
|
||||||
|
}
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -734,70 +759,24 @@ static WindowDesc _save_dialog_desc(
|
|||||||
_nested_save_dialog_widgets, lengthof(_nested_save_dialog_widgets)
|
_nested_save_dialog_widgets, lengthof(_nested_save_dialog_widgets)
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
|
||||||
* These values are used to convert the file/operations mode into a corresponding file type.
|
|
||||||
* So each entry, as expressed by the related comment, is based on the enum
|
|
||||||
*/
|
|
||||||
static const FileType _file_modetotype[] = {
|
|
||||||
FT_SAVEGAME, // used for SLD_LOAD_GAME
|
|
||||||
FT_SCENARIO, // used for SLD_LOAD_SCENARIO
|
|
||||||
FT_SAVEGAME, // used for SLD_SAVE_GAME
|
|
||||||
FT_SCENARIO, // used for SLD_SAVE_SCENARIO
|
|
||||||
FT_HEIGHTMAP, // used for SLD_LOAD_HEIGHTMAP
|
|
||||||
FT_HEIGHTMAP, // used for SLD_SAVE_HEIGHTMAP
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Launch save/load dialog in the given mode.
|
* Launch save/load dialog in the given mode.
|
||||||
* @param mode Save/load mode.
|
* @param abstract_filetype Kind of file to handle.
|
||||||
|
* @param fop File operation to perform (load or save).
|
||||||
*/
|
*/
|
||||||
void ShowSaveLoadDialog(SaveLoadDialogMode mode)
|
void ShowSaveLoadDialog(AbstractFileType abstract_filetype, SaveLoadOperation fop)
|
||||||
{
|
{
|
||||||
DeleteWindowById(WC_SAVELOAD, 0);
|
DeleteWindowById(WC_SAVELOAD, 0);
|
||||||
|
|
||||||
WindowDesc *sld;
|
WindowDesc *sld;
|
||||||
switch (mode) {
|
if (fop == SLO_SAVE) {
|
||||||
case SLD_SAVE_GAME:
|
sld = &_save_dialog_desc;
|
||||||
case SLD_SAVE_SCENARIO:
|
} else {
|
||||||
case SLD_SAVE_HEIGHTMAP:
|
/* Dialogue for loading a file. */
|
||||||
sld = &_save_dialog_desc; break;
|
sld = (abstract_filetype == FT_HEIGHTMAP) ? &_load_heightmap_dialog_desc : &_load_dialog_desc;
|
||||||
case SLD_LOAD_HEIGHTMAP:
|
|
||||||
sld = &_load_heightmap_dialog_desc; break;
|
|
||||||
default:
|
|
||||||
sld = &_load_dialog_desc; break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_saveload_mode = mode;
|
_file_to_saveload.abstract_ftype = abstract_filetype;
|
||||||
_file_to_saveload.filetype = _file_modetotype[mode];
|
|
||||||
|
|
||||||
new SaveLoadWindow(sld, mode);
|
new SaveLoadWindow(sld, abstract_filetype, fop);
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -77,7 +77,7 @@ static void CleanupGeneration()
|
|||||||
{
|
{
|
||||||
_generating_world = false;
|
_generating_world = false;
|
||||||
|
|
||||||
if (_cursor.sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
SetMouseCursorBusy(false);
|
||||||
/* Show all vital windows again, because we have hidden them */
|
/* 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, SL_SAVE, AUTOSAVE_DIR, false);
|
SaveOrLoad(name, SLO_SAVE, DFT_GAME_FILE, 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)) {
|
if (!VideoDriver::GetInstance()->HasGUI() || !ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread, "ottd:genworld")) {
|
||||||
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,6 +26,7 @@
|
|||||||
#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"
|
||||||
|
|
||||||
@@ -832,7 +833,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.name, &x, &y)) return;
|
if (!GetHeightmapDimensions(_file_to_saveload.detail_ftype, _file_to_saveload.name, &x, &y)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WindowDesc *desc = (mode == GLWM_HEIGHTMAP) ? &_heightmap_load_desc : &_generate_landscape_desc;
|
WindowDesc *desc = (mode == GLWM_HEIGHTMAP) ? &_heightmap_load_desc : &_generate_landscape_desc;
|
||||||
@@ -1190,7 +1191,7 @@ struct GenerateProgressWindow : public Window {
|
|||||||
{
|
{
|
||||||
switch (widget) {
|
switch (widget) {
|
||||||
case WID_GP_ABORT:
|
case WID_GP_ABORT:
|
||||||
if (_cursor.sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
SetMouseCursorBusy(false);
|
||||||
ShowQuery(
|
ShowQuery(
|
||||||
STR_GENERATION_ABORT_CAPTION,
|
STR_GENERATION_ABORT_CAPTION,
|
||||||
STR_GENERATION_ABORT_MESSAGE,
|
STR_GENERATION_ABORT_MESSAGE,
|
||||||
|
116
src/gfx.cpp
116
src/gfx.cpp
@@ -1223,10 +1223,6 @@ 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;
|
||||||
@@ -1237,36 +1233,44 @@ void DrawMouseCursor()
|
|||||||
UndrawMouseCursor();
|
UndrawMouseCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
w = _cursor.size.x;
|
/* Determine visible area */
|
||||||
x = _cursor.pos.x + _cursor.offs.x + _cursor.short_vehicle_offset;
|
int left = _cursor.pos.x + _cursor.total_offs.x;
|
||||||
if (x < 0) {
|
int width = _cursor.total_size.x;
|
||||||
w += x;
|
if (left < 0) {
|
||||||
x = 0;
|
width += left;
|
||||||
|
left = 0;
|
||||||
}
|
}
|
||||||
if (w > _screen.width - x) w = _screen.width - x;
|
if (left + width > _screen.width) {
|
||||||
if (w <= 0) return;
|
width = _screen.width - left;
|
||||||
_cursor.draw_pos.x = x;
|
|
||||||
_cursor.draw_size.x = w;
|
|
||||||
|
|
||||||
h = _cursor.size.y;
|
|
||||||
y = _cursor.pos.y + _cursor.offs.y;
|
|
||||||
if (y < 0) {
|
|
||||||
h += y;
|
|
||||||
y = 0;
|
|
||||||
}
|
}
|
||||||
if (h > _screen.height - y) h = _screen.height - y;
|
if (width <= 0) return;
|
||||||
if (h <= 0) return;
|
|
||||||
_cursor.draw_pos.y = y;
|
|
||||||
_cursor.draw_size.y = h;
|
|
||||||
|
|
||||||
uint8 *buffer = _cursor_backup.Allocate(blitter->BufferSize(w, h));
|
int top = _cursor.pos.y + _cursor.total_offs.y;
|
||||||
|
int height = _cursor.total_size.y;
|
||||||
|
if (top < 0) {
|
||||||
|
height += top;
|
||||||
|
top = 0;
|
||||||
|
}
|
||||||
|
if (top + height > _screen.height) {
|
||||||
|
height = _screen.height - top;
|
||||||
|
}
|
||||||
|
if (height <= 0) return;
|
||||||
|
|
||||||
|
_cursor.draw_pos.x = left;
|
||||||
|
_cursor.draw_pos.y = top;
|
||||||
|
_cursor.draw_size.x = width;
|
||||||
|
_cursor.draw_size.y = height;
|
||||||
|
|
||||||
|
uint8 *buffer = _cursor_backup.Allocate(blitter->BufferSize(_cursor.draw_size.x, _cursor.draw_size.y));
|
||||||
|
|
||||||
/* Make backup of stuff below cursor */
|
/* 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;
|
||||||
DrawSprite(_cursor.sprite, _cursor.pal, _cursor.pos.x + _cursor.short_vehicle_offset, _cursor.pos.y);
|
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
||||||
|
DrawSprite(_cursor.sprite_seq[i].sprite, _cursor.sprite_seq[i].pal, _cursor.pos.x + _cursor.sprite_pos[i].x, _cursor.pos.y + _cursor.sprite_pos[i].y);
|
||||||
|
}
|
||||||
|
|
||||||
VideoDriver::GetInstance()->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y);
|
VideoDriver::GetInstance()->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y);
|
||||||
|
|
||||||
@@ -1525,15 +1529,33 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh
|
|||||||
*/
|
*/
|
||||||
void UpdateCursorSize()
|
void UpdateCursorSize()
|
||||||
{
|
{
|
||||||
CursorVars *cv = &_cursor;
|
/* Ignore setting any cursor before the sprites are loaded. */
|
||||||
const Sprite *p = GetSprite(GB(cv->sprite, 0, SPRITE_WIDTH), ST_NORMAL);
|
if (GetMaxSpriteID() == 0) return;
|
||||||
|
|
||||||
cv->size.y = UnScaleGUI(p->height);
|
assert_compile(lengthof(_cursor.sprite_seq) == lengthof(_cursor.sprite_pos));
|
||||||
cv->size.x = UnScaleGUI(p->width);
|
assert(_cursor.sprite_count <= lengthof(_cursor.sprite_seq));
|
||||||
cv->offs.x = UnScaleGUI(p->x_offs);
|
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
||||||
cv->offs.y = UnScaleGUI(p->y_offs);
|
const Sprite *p = GetSprite(GB(_cursor.sprite_seq[i].sprite, 0, SPRITE_WIDTH), ST_NORMAL);
|
||||||
|
Point offs, size;
|
||||||
|
offs.x = UnScaleGUI(p->x_offs) + _cursor.sprite_pos[i].x;
|
||||||
|
offs.y = UnScaleGUI(p->y_offs) + _cursor.sprite_pos[i].y;
|
||||||
|
size.x = UnScaleGUI(p->width);
|
||||||
|
size.y = UnScaleGUI(p->height);
|
||||||
|
|
||||||
cv->dirty = true;
|
if (i == 0) {
|
||||||
|
_cursor.total_offs = offs;
|
||||||
|
_cursor.total_size = size;
|
||||||
|
} else {
|
||||||
|
int right = max(_cursor.total_offs.x + _cursor.total_size.x, offs.x + size.x);
|
||||||
|
int bottom = max(_cursor.total_offs.y + _cursor.total_size.y, offs.y + size.y);
|
||||||
|
if (offs.x < _cursor.total_offs.x) _cursor.total_offs.x = offs.x;
|
||||||
|
if (offs.y < _cursor.total_offs.y) _cursor.total_offs.y = offs.y;
|
||||||
|
_cursor.total_size.x = right - _cursor.total_offs.x;
|
||||||
|
_cursor.total_size.y = bottom - _cursor.total_offs.y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_cursor.dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1543,14 +1565,15 @@ void UpdateCursorSize()
|
|||||||
*/
|
*/
|
||||||
static void SetCursorSprite(CursorID cursor, PaletteID pal)
|
static void SetCursorSprite(CursorID cursor, PaletteID pal)
|
||||||
{
|
{
|
||||||
CursorVars *cv = &_cursor;
|
if (_cursor.sprite_count == 1 && _cursor.sprite_seq[0].sprite == cursor && _cursor.sprite_seq[0].pal == pal) return;
|
||||||
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()
|
||||||
@@ -1559,7 +1582,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.pal);
|
SetCursorSprite(cur->sprite, _cursor.sprite_seq[0].pal);
|
||||||
|
|
||||||
_cursor.animate_timeout = cur->display_time;
|
_cursor.animate_timeout = cur->display_time;
|
||||||
_cursor.animate_cur = cur + 1;
|
_cursor.animate_cur = cur + 1;
|
||||||
@@ -1572,6 +1595,19 @@ void CursorTick()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set or unset the ZZZ cursor.
|
||||||
|
* @param busy Whether to show the ZZZ cursor.
|
||||||
|
*/
|
||||||
|
void SetMouseCursorBusy(bool busy)
|
||||||
|
{
|
||||||
|
if (busy) {
|
||||||
|
if (_cursor.sprite_seq[0].sprite == SPR_CURSOR_MOUSE) SetMouseCursor(SPR_CURSOR_ZZZ, PAL_NONE);
|
||||||
|
} else {
|
||||||
|
if (_cursor.sprite_seq[0].sprite == SPR_CURSOR_ZZZ) SetMouseCursor(SPR_CURSOR_MOUSE, PAL_NONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assign a single non-animated sprite to the cursor.
|
* 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.
|
||||||
@@ -1595,7 +1631,7 @@ void SetAnimatedMouseCursor(const AnimCursor *table)
|
|||||||
{
|
{
|
||||||
_cursor.animate_list = table;
|
_cursor.animate_list = table;
|
||||||
_cursor.animate_cur = NULL;
|
_cursor.animate_cur = NULL;
|
||||||
_cursor.pal = PAL_NONE;
|
_cursor.sprite_seq[0].pal = PAL_NONE;
|
||||||
SwitchAnimatedCursor();
|
SwitchAnimatedCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -145,6 +145,7 @@ 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();
|
||||||
@@ -160,16 +161,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. */
|
/** Height of characters in the small (#FS_SMALL) font. @note Some characters may be oversized. */
|
||||||
#define FONT_HEIGHT_SMALL (GetCharacterHeight(FS_SMALL))
|
#define FONT_HEIGHT_SMALL (GetCharacterHeight(FS_SMALL))
|
||||||
|
|
||||||
/** Height of characters in the normal (#FS_NORMAL) font. */
|
/** Height of characters in the normal (#FS_NORMAL) font. @note Some characters may be oversized. */
|
||||||
#define FONT_HEIGHT_NORMAL (GetCharacterHeight(FS_NORMAL))
|
#define FONT_HEIGHT_NORMAL (GetCharacterHeight(FS_NORMAL))
|
||||||
|
|
||||||
/** Height of characters in the large (#FS_LARGE) font. */
|
/** Height of characters in the large (#FS_LARGE) font. @note Some characters may be oversized. */
|
||||||
#define FONT_HEIGHT_LARGE (GetCharacterHeight(FS_LARGE))
|
#define FONT_HEIGHT_LARGE (GetCharacterHeight(FS_LARGE))
|
||||||
|
|
||||||
/** Height of characters in the large (#FS_MONO) font. */
|
/** Height of characters in the large (#FS_MONO) font. @note Some characters may be oversized. */
|
||||||
#define FONT_HEIGHT_MONO (GetCharacterHeight(FS_MONO))
|
#define FONT_HEIGHT_MONO (GetCharacterHeight(FS_MONO))
|
||||||
|
|
||||||
extern DrawPixelInfo *_cur_dpi;
|
extern DrawPixelInfo *_cur_dpi;
|
||||||
|
@@ -115,29 +115,35 @@ struct AnimCursor {
|
|||||||
|
|
||||||
/** Collection of variables for cursor-display and -animation */
|
/** Collection of variables for cursor-display and -animation */
|
||||||
struct CursorVars {
|
struct CursorVars {
|
||||||
Point pos, size, offs, delta; ///< position, size, offset from top-left, and movement
|
/* Logical mouse position */
|
||||||
Point draw_pos, draw_size; ///< position and size bounding-box for drawing
|
Point pos; ///< logical mouse position
|
||||||
int short_vehicle_offset; ///< offset of the X for short vehicles
|
Point delta; ///< relative mouse movement in this tick
|
||||||
CursorID sprite; ///< current image of cursor
|
int wheel; ///< mouse wheel movement
|
||||||
PaletteID pal;
|
bool fix_at; ///< mouse is moving, but cursor is not (used for scrolling)
|
||||||
|
|
||||||
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 fix_at; ///< mouse is moving, but cursor is not (used for scrolling)
|
bool in_window; ///< mouse inside this window, determines drawing logic
|
||||||
bool in_window; ///< mouse inside this window, determines drawing logic
|
|
||||||
|
|
||||||
bool vehchain; ///< vehicle chain is dragged
|
/* Drag data */
|
||||||
|
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,31 +197,49 @@ static void LoadSpriteTables()
|
|||||||
InitializeUnicodeGlyphMap();
|
InitializeUnicodeGlyphMap();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Load the base NewGRF with OTTD required graphics as first NewGRF.
|
* Load the base and extra 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: master->palette |= GRFP_GRF_DOS; break;
|
case PAL_DOS: extra->palette |= GRFP_GRF_DOS; break;
|
||||||
case PAL_WINDOWS: master->palette |= GRFP_GRF_WINDOWS; break;
|
case PAL_WINDOWS: extra->palette |= GRFP_GRF_WINDOWS; break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
FillGRFDetails(master, false, BASESET_DIR);
|
FillGRFDetails(extra, false, BASESET_DIR);
|
||||||
|
ClrBit(extra->flags, GCF_INIT_ONLY);
|
||||||
|
|
||||||
ClrBit(master->flags, GCF_INIT_ONLY);
|
extra->next = top;
|
||||||
master->next = top;
|
master->next = extra;
|
||||||
_grfconfig = master;
|
_grfconfig = master;
|
||||||
|
|
||||||
LoadNewGRF(SPR_NEWGRFS_BASE, i);
|
LoadNewGRF(SPR_NEWGRFS_BASE, i, 2);
|
||||||
|
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
|
@@ -627,8 +627,8 @@ public:
|
|||||||
|
|
||||||
this->vehicle_sel = v->index;
|
this->vehicle_sel = v->index;
|
||||||
|
|
||||||
int image = v->GetImage(_current_text_dir == TD_RTL ? DIR_E : DIR_W, EIT_IN_LIST);
|
SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
|
||||||
SetObjectToPlaceWnd(image, GetVehiclePalette(v), HT_DRAG, this);
|
SetMouseCursorVehicle(v, EIT_IN_LIST);
|
||||||
_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(char *filename, uint *x, uint *y, byte **map)
|
static bool ReadHeightmapPNG(const 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(char *filename, uint *x, uint *y, byte **map)
|
static bool ReadHeightmapBMP(const char *filename, uint *x, uint *y, byte **map)
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
BmpInfo info;
|
BmpInfo info;
|
||||||
@@ -444,45 +444,56 @@ void FixSlopes()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads the heightmap with the correct file reader
|
* Reads the heightmap with the correct file reader.
|
||||||
|
* @param dft Type of image file.
|
||||||
|
* @param filename Name of the file to load.
|
||||||
|
* @param [out] x Length of the image.
|
||||||
|
* @param [out] y Height of the image.
|
||||||
|
* @param [inout] map If not \c NULL, destination to store the loaded block of image data.
|
||||||
|
* @return Whether loading was successful.
|
||||||
*/
|
*/
|
||||||
static bool ReadHeightMap(char *filename, uint *x, uint *y, byte **map)
|
static bool ReadHeightMap(DetailedFileType dft, const char *filename, uint *x, uint *y, byte **map)
|
||||||
{
|
{
|
||||||
switch (_file_to_saveload.mode) {
|
switch (dft) {
|
||||||
default: NOT_REACHED();
|
default:
|
||||||
|
NOT_REACHED();
|
||||||
|
|
||||||
#ifdef WITH_PNG
|
#ifdef WITH_PNG
|
||||||
case SL_PNG:
|
case DFT_HEIGHTMAP_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(char *filename, uint *x, uint *y)
|
bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, uint *y)
|
||||||
{
|
{
|
||||||
return ReadHeightMap(filename, x, y, NULL);
|
return ReadHeightMap(dft, filename, x, y, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a heightmap from file and change the map in his current dimensions
|
* 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(char *filename)
|
void LoadHeightmap(DetailedFileType dft, const char *filename)
|
||||||
{
|
{
|
||||||
uint x, y;
|
uint x, y;
|
||||||
byte *map = NULL;
|
byte *map = NULL;
|
||||||
|
|
||||||
if (!ReadHeightMap(filename, &x, &y, &map)) {
|
if (!ReadHeightMap(dft, filename, &x, &y, &map)) {
|
||||||
free(map);
|
free(map);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -12,6 +12,8 @@
|
|||||||
#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.
|
||||||
@@ -21,8 +23,8 @@ enum HeightmapRotation {
|
|||||||
HM_CLOCKWISE, ///< Rotate the map clockwise 45 degrees
|
HM_CLOCKWISE, ///< Rotate the map clockwise 45 degrees
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GetHeightmapDimensions(char *filename, uint *x, uint *y);
|
bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, uint *y);
|
||||||
void LoadHeightmap(char *filename);
|
void LoadHeightmap(DetailedFileType dft, const char *filename);
|
||||||
void FlatEmptyWorld(byte tile_height);
|
void FlatEmptyWorld(byte tile_height);
|
||||||
void FixSlopes();
|
void FixSlopes();
|
||||||
|
|
||||||
|
@@ -60,13 +60,21 @@ struct SelectGameWindow : public Window {
|
|||||||
|
|
||||||
virtual void OnInit()
|
virtual void OnInit()
|
||||||
{
|
{
|
||||||
bool missing = _current_language->missing >= _settings_client.gui.missing_strings_threshold && !IsReleasedVersion();
|
bool missing_sprites = _missing_extra_graphics > 0 && !IsReleasedVersion();
|
||||||
this->GetWidget<NWidgetStacked>(WID_SGI_TRANSLATION_SELECTION)->SetDisplayedPlane(missing ? 0 : SZSP_NONE);
|
this->GetWidget<NWidgetStacked>(WID_SGI_BASESET_SELECTION)->SetDisplayedPlane(missing_sprites ? 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);
|
||||||
@@ -76,20 +84,29 @@ 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_TRANSLATION: {
|
case WID_SGI_BASESET:
|
||||||
SetDParam(0, _current_language->missing);
|
SetDParam(0, _missing_extra_graphics);
|
||||||
int height = GetStringHeight(STR_INTRO_TRANSLATION, size->width);
|
str = STR_INTRO_BASESET;
|
||||||
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;
|
||||||
|
|
||||||
|
case WID_SGI_TRANSLATION:
|
||||||
|
SetDParam(0, _current_language->missing);
|
||||||
|
str = STR_INTRO_TRANSLATION;
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -111,9 +128,9 @@ struct SelectGameWindow : public Window {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WID_SGI_LOAD_GAME: ShowSaveLoadDialog(SLD_LOAD_GAME); break;
|
case WID_SGI_LOAD_GAME: ShowSaveLoadDialog(FT_SAVEGAME, SLO_LOAD); break;
|
||||||
case WID_SGI_PLAY_SCENARIO: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break;
|
case WID_SGI_PLAY_SCENARIO: ShowSaveLoadDialog(FT_SCENARIO, SLO_LOAD); break;
|
||||||
case WID_SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break;
|
case WID_SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(FT_HEIGHTMAP,SLO_LOAD); 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:
|
||||||
@@ -199,6 +216,11 @@ 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,6 +31,7 @@
|
|||||||
#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>
|
||||||
|
|
||||||
@@ -1221,7 +1222,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.name);
|
LoadHeightmap(_file_to_saveload.detail_ftype, _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 :{STRING} spoor
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Spoorweg spoor
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} spoor met blok seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Spoorweg spoor met blok seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} spoor met voor-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Spoorweg spoor met voor-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} spoor met uitgang-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Spoorweg spoor met uitgang-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} spoor met kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Spoorweg spoor met kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} spoor met roete seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Spoorweg spoor met roete seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} spoor met een-rigting pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Spoorweg spoor met een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} spoor met blok en voor-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Spoorweg spoor met blok en voor-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} spoor met blok en uitgang-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Spoorweg spoor met blok en uitgang-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} spoor met blok en kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Spoorweg spoor met blok en kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} spoor met blok en pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Spoorweg spoor met blok en 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_NORMAL_NOENTRYSIGNALS :Spoorweg spoor met blok en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} spoor met voor en uitgang seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Spoorweg spoor met voor en uitgang seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} spoor met voor en kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Spoorweg spoor met voor en kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} spoor met voor en pad-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Spoorweg spoor met voor en 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_PRE_NOENTRYSIGNALS :Spoorweg spoor met voor en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} spoor met uitgang en kombinasie-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Spoorweg spoor met uitgang en kombinasie-seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} spoor met uitgang en pad-seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Spoorweg spoor met uitgang en 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_EXIT_NOENTRYSIGNALS :Spoorweg spoor met uitgang en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} spoor met kombinasie en pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Spoorweg spoor met kombinasie en pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} spoor met kombinasie en eenrigting-pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Spoorweg spoor met kombinasie en eenrigting-pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} spoor met pad en een-rigting pad seine
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Spoorweg spoor met pad en een-rigting pad seine
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} trein diensstasie
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Spoorweg 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
|
||||||
@@ -2907,8 +2907,6 @@ 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})
|
||||||
@@ -3558,7 +3556,6 @@ 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
|
||||||
|
@@ -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 :{STRING} مسار
|
STR_LAI_RAIL_DESCRIPTION_TRACK :سكة حديد مسار
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} مسار مع اشارة اغلاق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :سكة حديد مسار مع اشارة اغلاق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} مسار مع اشارة مبتدئة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :سكة حديد مسار مع اشارة مبتدئة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} سكة حديد مع اشارة خروج
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :سكة حديد سكة حديد مع اشارة خروج
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} سكة حديد مع اشارة مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} سكة حديد مع اشارة طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :سكة حديد سكة حديد مع اشارة طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة اتجاة واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة اتجاة واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} سكة حديد مع اشارة توقف و اشارة مبتدئة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :سكة حديد سكة حديد مع اشارة توقف و اشارة مبتدئة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} سكة حديد مع اشارة توقف و خروج
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :سكة حديد سكة حديد مع اشارة توقف و خروج
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} سكة حديد مع اشارة توقف و مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة توقف و مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} سكة حديد مع اشارة اغلاق و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :سكة حديد سكة حديد مع اشارة اغلاق و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة اغلاق و طريق باتجاة واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة اغلاق و طريق باتجاة واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و اشارة خروج
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و اشارة خروج
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و اشارة مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و اشارة مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة مبدئية و اتجاة و احد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة مبدئية و اتجاة و احد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} سكة حديد مع اشارة خروج و مزدوجة
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :سكة حديد سكة حديد مع اشارة خروج و مزدوجة
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} سكة حديد مع اشارة خروج و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :سكة حديد سكة حديد مع اشارة خروج و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة خروج و اتجاة واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة خروج و اتجاة واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} سكة حديد مع اشارة مزدوجة و طريق
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :سكة حديد سكة حديد مع اشارة مزدوجة و طريق
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة مزدوجة و طريق باتجاه واحد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة مزدوجة و طريق باتجاه واحد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} سكة حديد مع اشارة طريق و اتجاة و احد
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :سكة حديد سكة حديد مع اشارة طريق و اتجاة و احد
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} مستودع صيانة قطارات
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :سكة حديد مستودع صيانة قطارات
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :طريق
|
STR_LAI_ROAD_DESCRIPTION_ROAD :طريق
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :طريق مضاء
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :طريق مضاء
|
||||||
@@ -2524,7 +2524,6 @@ 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
|
||||||
@@ -3060,7 +3059,6 @@ 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 :عربات
|
||||||
|
@@ -2496,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 :{STRING} Trenbidea
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Trenbidea Trenbidea
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} Trenbidea blokeo seinalearekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trenbidea Trenbidea blokeo seinalearekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} trenbidea aurre-seinalekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trenbidea trenbidea aurre-seinalekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} trenbidea irteera seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trenbidea trenbidea irteera seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} trenbidea konbo seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Trenbidea trenbidea konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} trenbidea bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trenbidea trenbidea bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} trenbidea norabide bakarreko bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trenbidea trenbidea norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} trenbidea blokeo seinale eta aurre-seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trenbidea trenbidea blokeo seinale eta aurre-seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} trenbidea blokeo seinale eta irteera seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trenbidea trenbidea blokeo seinale eta irteera seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} trenbidea blokeo seinalea eta konbo seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trenbidea trenbidea blokeo seinalea eta konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} trenbidea blokeo seinaleekin eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trenbidea trenbidea blokeo seinaleekin eta bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} Trenbidea blokeo eta norabide bakarreko bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Trenbidea Trenbidea blokeo eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} trenbidea aurre-seinale eta irteera seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trenbidea trenbidea aurre-seinale eta irteera seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} trenbidea aurre-seinale eta konbo seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trenbidea trenbidea aurre-seinale eta konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} trenbidea aurre-seinale eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Trenbidea trenbidea aurre-seinale eta 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_PRE_NOENTRYSIGNALS :Trenbidea trenbidea aurre-seinale eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} trenbidea irteera seinale eta konbo seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trenbidea trenbidea irteera seinale eta konbo seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} trenbidea irteera seinale eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trenbidea trenbidea irteera seinale eta 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_EXIT_NOENTRYSIGNALS :Trenbidea trenbidea irteera seinale eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} trenbidea konbo seinale eta bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trenbidea trenbidea konbo seinale eta bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} trenbide konbo seinale eta norabide bakarreko bide seinaleekin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Trenbidea trenbide konbo seinale eta norabide bakarreko bide seinaleekin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} trenbidea bide seinale eta norabide bakarreko seinaleekina
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Trenbidea trenbidea bide seinale eta norabide bakarreko seinaleekina
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} tren gordailua
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Trenbidea 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
|
||||||
@@ -2786,8 +2786,6 @@ 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})
|
||||||
@@ -3424,7 +3422,6 @@ 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
|
||||||
|
@@ -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 :{STRING} рэйкi
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Чыгунка рэйкi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} рэйкi са звычайнымі сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Чыгунка рэйкi са звычайнымі сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} рэйкi з уваходнымі прэсыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Чыгунка рэйкi з уваходнымі прэсыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} рэйкi з выхаднымi сыґналамi (прэсыґналамі)
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Чыгунка рэйкi з выхаднымi сыґналамi (прэсыґналамі)
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} рэйкi з камбiнаванымi сыґналамi (прэсыґналамі)
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Чыгунка рэйкi з камбiнаванымi сыґналамi (прэсыґналамі)
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} рэйкi з маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Чыгунка рэйкi з маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} рэйкi з аднабаковымi маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Чыгунка рэйкi з аднабаковымi маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} рэйкi са звычайнымi й уваходнымі прэсыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Чыгунка рэйкi са звычайнымi й уваходнымі прэсыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} рэйкi са звычайнымi й выхаднымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Чыгунка рэйк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_COMBOSIGNALS :Чыгунка рэйкi са звычайнымi й камбiнаванымi сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} рэйкi са звычайнымi й маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Чыгунка рэйк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_NORMAL_NOENTRYSIGNALS :Чыгунка рэйкi са звычайнымi й аднабаковымi маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} рэйкi з уваходнымi (прэcыгналамi) ды выхаднымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Чыгунка рэйкi з уваходнымi (прэcыгналам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_COMBOSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды камбiнаванымi сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} рэйкi з уваходнымi (прэсыґналамi) ды маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Чыгунка рэйк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_PRE_NOENTRYSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды аднабаковымi маршрутнымi (PMS) сыґналамi
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} рэйкi з выхаднымi й камбінаванымі прэсыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Чыгунка рэйкi з выхаднымi й камбінаванымі прэсыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} рэйкі з выхаднымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Чыгунка рэйкі з выхаднымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} рэйкі з выхаднымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Чыгунка рэйкі з выхаднымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} рэйкі з камбінаванымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Чыгунка рэйкі з камбінаванымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} рэйкі з камбінаванымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Чыгунка рэйкі з камбінаванымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} рэйкі з маршрутнымі (PMS) ды аднабаковымі маршрутнымі сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Чыгунка рэйкі з маршрутнымі (PMS) ды аднабаковымі маршрутнымі сыґналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} чыгуначнае дэпо
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Чыгунка чыгуначнае дэпо
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Дарога
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Дарога
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дарога з вулічным асьвятленьнем
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дарога з вулічным асьвятленьнем
|
||||||
@@ -3207,7 +3207,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Пера
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Папярэдні спрайт
|
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Папярэдні спрайт
|
||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перайсьці да папярэдняга звычайнага спрайта, прапускаючы змяняючыя колер, шрыфтавыя, псэўдаспрайты. Пераход з пачатку сьпісу да апошняга спрайта.
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перайсьці да папярэдняга звычайнага спрайта, прапускаючы змяняючыя колер, шрыфтавыя, псэўдаспрайты. Пераход з пачатку сьпісу да апошняга спрайта.
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Прадстаўленьне выбранага спрайта. Выраўноўваньне не ўлічваецца пры прарысоўцы гэтага спрайта.
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Прадстаўленьне выбранага спрайта. Выраўноўваньне не ўлічваецца пры прарысоўцы гэтага спрайта.
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайце спрайт, зьмяняючы зрушэньне па X і па Y
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайце спрайт, зьмяняючы зрушэньне па X і па Y. Ctrl+пстрычка, каб зрушыць спрайт на восем адзінак за раз
|
||||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Скід зрушэння
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Скід зрушэння
|
||||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Скінуць значэнні адноснага зрушэння
|
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Скінуць значэнні адноснага зрушэння
|
||||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Зрушэнне X: {NUM}; зрушэнне Y: {NUM} (абсалютнае)
|
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Зрушэнне X: {NUM}; зрушэнне Y: {NUM} (абсалютнае)
|
||||||
@@ -3239,8 +3239,6 @@ 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})
|
||||||
@@ -3910,7 +3908,6 @@ 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 :Ваґоны
|
||||||
|
@@ -1090,7 +1090,7 @@ STR_CITY_APPROVAL_HOSTILE :Hostil
|
|||||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}Não há IA compatíveis disponíveis...{}Você pode baixar várias IA's pelo sistema de 'Conteúdo Online'
|
STR_WARNING_NO_SUITABLE_AI :{WHITE}Não há IA compatíveis disponíveis...{}Você pode baixar várias IA's pelo sistema de 'Conteúdo Online'
|
||||||
|
|
||||||
# Settings tree window
|
# Settings tree window
|
||||||
STR_CONFIG_SETTING_TREE_CAPTION :[WHITE}Configurações
|
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configurações
|
||||||
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtro:
|
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtro:
|
||||||
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Maximizar tudo
|
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Maximizar tudo
|
||||||
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Minimizar tudo
|
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Minimizar tudo
|
||||||
@@ -2602,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 {STRING}
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Trilho de Ferrovia
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trilho de {STRING} com sinais normais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trilho de Ferrovia com sinais normais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trilho de {STRING} com pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trilho de Ferrovia com pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trilho de {STRING} com sinais de saída
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trilho de Ferrovia com sinais de saída
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Trilho de {STRING} com sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Trilho de Ferrovia com sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trilho de {STRING} com sinais avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trilho de Ferrovia com sinais avançados
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de {STRING} com sinais avançados de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de Ferrovia com sinais avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trilho de {STRING} com sinais normais e pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :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_EXITSIGNALS :Trilho de Ferrovia com sinais normais e pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de {STRING} com sinais normais e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de Ferrovia com sinais normais e sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de {STRING} com sinais normais e avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de Ferrovia com sinais normais e avançados
|
||||||
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_NORMAL_NOENTRYSIGNALS :Trilho de Ferrovia com sinais normais e avançados de mão única
|
||||||
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_EXITSIGNALS :Trilho de Ferrovia com pré-sinais e de saída
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de {STRING} com pré-sinais e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de Ferrovia com pré-sinais e sinais-combo
|
||||||
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_PBSSIGNALS :Trilho de Ferrovia com pré-sinais e sinais avançados
|
||||||
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_PRE_NOENTRYSIGNALS :Trilho de Ferrovia com pré-sinais e avançados de mão única
|
||||||
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_COMBOSIGNALS :Trilho de Ferrovia com sinais de saída e sinais-combo
|
||||||
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_PBSSIGNALS :Trilho de Ferrovia com sinais de saída e avançados
|
||||||
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_EXIT_NOENTRYSIGNALS :Trilho de Ferrovia com sinais de saída e avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de {STRING} com sinais-combo e avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de Ferrovia com sinais-combo e avançados
|
||||||
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_COMBO_NOENTRYSIGNALS :Trilho de Ferrovia com sinais-combo e avançados 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_TRACK_WITH_PBS_NOENTRYSIGNALS :Trilho de Ferrovia com sinais avançados e avançados de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de {STRING}
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de Ferrovia
|
||||||
|
|
||||||
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
|
||||||
@@ -2875,7 +2875,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Vai para
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}"Sprite" anterior
|
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}"Sprite" anterior
|
||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Retorna ao "sprite" normal anterior, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo do primeiro ao último
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Retorna ao "sprite" normal anterior, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo do primeiro ao último
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do "sprite" atualmente selecionado. O alinhamento é ignorado ao desenhar esse "sprite"
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do "sprite" atualmente selecionado. O alinhamento é ignorado ao desenhar esse "sprite"
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o "sprite", alterando os offsets X e Y
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o "sprite", alterando os offsets X e Y. Ctrl+Clique para mover o sprite 8 unidades por vez
|
||||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetar relativo
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetar relativo
|
||||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reseta os offsets relativos atuais
|
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reseta os offsets relativos atuais
|
||||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluto)
|
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluto)
|
||||||
@@ -2907,8 +2907,6 @@ 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})
|
||||||
@@ -3558,7 +3556,6 @@ 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
|
||||||
|
@@ -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 :{STRING} линия
|
STR_LAI_RAIL_DESCRIPTION_TRACK :ЖП път линия
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} линия с блокиращи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :ЖП път линия с блокиращи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} линия с пре-сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :ЖП път линия с пре-сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} линия с изходни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :ЖП път линия с изходни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} линия с комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :ЖП път линия с комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} линия с насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :ЖП път линия с насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} линия с еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :ЖП път линия с еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} линия с блокиращи и пре-сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :ЖП път линия с блокиращи и пре-сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} линия с блокиращи и изходни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :ЖП път линия с блокиращи и изходни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} линия с блокиращи и комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :ЖП път линия с блокиращи и комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} линия с блокиращи и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :ЖП път линия с блокиращи и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} линия с блокиращи и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :ЖП път линия с блокиращи и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} линия с пред и изходни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :ЖП път линия с пред и изходни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} линя с пред и комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :ЖП път линя с пред и комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} линия с пред и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :ЖП път линия с пред и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} линия с пред и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :ЖП път линия с пред и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} линия с изходни и комбо сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :ЖП път линия с изходни и комбо сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} линия с изходни и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :ЖП път линия с изходни и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} линия с изходни и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :ЖП път линия с изходни и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} линия с комбо и насочващи сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :ЖП път линия с комбо и насочващи сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} линия с комбо и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :ЖП път линия с комбо и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} линия с насочващи и еднопосочни сигнали
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :ЖП път линия с насочващи и еднопосочни сигнали
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} влаково депо
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :ЖП път влаково депо
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :път
|
STR_LAI_ROAD_DESCRIPTION_ROAD :път
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Асфалтов път с улично осветление
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Асфалтов път с улично осветление
|
||||||
@@ -2838,8 +2838,6 @@ 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})
|
||||||
@@ -3477,7 +3475,6 @@ 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 :Вагони
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -200,7 +200,7 @@ STR_QUANTITY_GRAIN :{WEIGHT_LONG}
|
|||||||
STR_QUANTITY_WOOD :{WEIGHT_LONG} drveta
|
STR_QUANTITY_WOOD :{WEIGHT_LONG} drveta
|
||||||
STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} željezne rude
|
STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} željezne rude
|
||||||
STR_QUANTITY_STEEL :{WEIGHT_LONG} čelika
|
STR_QUANTITY_STEEL :{WEIGHT_LONG} čelika
|
||||||
STR_QUANTITY_VALUABLES :{COMMA}{NBSP}vreć{P a e a} s vrijednosnicama
|
STR_QUANTITY_VALUABLES :{COMMA}{NBSP}vreć{P a e a} s dragocjenostima
|
||||||
STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} bakrene rude
|
STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} bakrene rude
|
||||||
STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukuruza
|
STR_QUANTITY_MAIZE :{WEIGHT_LONG} kukuruza
|
||||||
STR_QUANTITY_FRUIT :{WEIGHT_LONG} voća
|
STR_QUANTITY_FRUIT :{WEIGHT_LONG} voća
|
||||||
@@ -242,7 +242,7 @@ STR_ABBREV_FRUIT :{TINY_FONT}VĆ
|
|||||||
STR_ABBREV_DIAMONDS :{TINY_FONT}DM
|
STR_ABBREV_DIAMONDS :{TINY_FONT}DM
|
||||||
STR_ABBREV_FOOD :{TINY_FONT}HN
|
STR_ABBREV_FOOD :{TINY_FONT}HN
|
||||||
STR_ABBREV_PAPER :{TINY_FONT}PR
|
STR_ABBREV_PAPER :{TINY_FONT}PR
|
||||||
STR_ABBREV_GOLD :{TINY_FONT}AU
|
STR_ABBREV_GOLD :{TINY_FONT}ZL
|
||||||
STR_ABBREV_WATER :{TINY_FONT}VO
|
STR_ABBREV_WATER :{TINY_FONT}VO
|
||||||
STR_ABBREV_WHEAT :{TINY_FONT}PŠ
|
STR_ABBREV_WHEAT :{TINY_FONT}PŠ
|
||||||
STR_ABBREV_RUBBER :{TINY_FONT}GM
|
STR_ABBREV_RUBBER :{TINY_FONT}GM
|
||||||
@@ -1712,7 +1712,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrično" z
|
|||||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Način distribucije pošte: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Način distribucije pošte: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrično" znači da će se otprilike ista količina pošte slati od stanice A prema stanici B ako od B prema A. "Asimetrično" znači da će se proizvoljne količine pošte slati u oba smjera. "Ručno" znači da se distribucija neće vršiti automatski.
|
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrično" znači da će se otprilike ista količina pošte slati od stanice A prema stanici B ako od B prema A. "Asimetrično" znači da će se proizvoljne količine pošte slati u oba smjera. "Ručno" znači da se distribucija neće vršiti automatski.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Način distribucije za OKLOPLJENU klasu tereta: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Način distribucije za OKLOPLJENU klasu tereta: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :OKLOPLJENA klasa tereta sadrži vrijednosnice u umjerenoj klimi, dijamante u subtropskoj klimi ili zlato u subarktičkoj klimi. NewGFR-ovi bi mogli ovo izmijeniti. "Simetrično" znači da će se otprilike ista količina tereta slati od stanice A prema stanici B kao od B prema A. "Asimetrično" znači da će se proizvoljne količine tereta slati u oba smjera. "Ručno" znači da se distribucija tih tereta neće vršiti automatski. Preporučljivo je namjestiti ovu postavku na "asimetrično" ili "ručno" kod subarktičke klime jer banke neće slati zlato natrag prema rudnicima zlata. Za umjerenu i subtropsku klimu možete namjestiti i "simetrično" jer će banke slati neke vrijednosnice natrag prema izvorišnoj banci.
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :OKLOPLJENA klasa tereta sadrži dragocjenosti u umjerenoj klimi, dijamante u subtropskoj klimi ili zlato u subarktičkoj klimi. NewGFR-ovi bi mogli ovo izmijeniti. "Simetrično" znači da će se otprilike ista količina tereta slati od stanice A prema stanici B kao od B prema A. "Asimetrično" znači da će se proizvoljne količine tereta slati u oba smjera. "Ručno" znači da se distribucija tih tereta neće vršiti automatski. Preporučljivo je namjestiti ovu postavku na "asimetrično" ili "ručno" kod subarktičke klime jer banke neće slati zlato natrag prema rudnicima zlata. Za umjerenu i subtropsku klimu možete namjestiti i "simetrično" jer će banke slati neke dragocjenosti natrag prema izvorišnoj banci.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Način distribucije za ostale klase tereta: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Način distribucije za ostale klase tereta: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrično" znači da će se proizvoljna količina tereta slati u bilo kojem smjeru. "Ručno" znači da neće biti nikakve automatske distribucije za te terete.
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrično" znači da će se proizvoljna količina tereta slati u bilo kojem smjeru. "Ručno" znači da neće biti nikakve automatske distribucije za te terete.
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Točnost distribucije: {STRING}
|
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Točnost distribucije: {STRING}
|
||||||
@@ -1857,6 +1857,7 @@ 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
|
||||||
@@ -2685,6 +2686,7 @@ 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}
|
||||||
|
|
||||||
@@ -2697,29 +2699,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 :{STRING} pruga
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Pruga
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} pruga sa blok-signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Pruga sa blok-signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} pruga sa pred-signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Pruga sa pred-signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} pruga sa izlaznim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Pruga sa izlaznim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} pruga sa kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Pruga sa kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} pruga sa putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Pruga sa putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} pruga sa jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Pruga sa jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} pruga sa blok-signalima i pred-signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Pruga sa blok-signalima i pred-signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} pruga sa blok-signalima i izlaznim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Pruga sa blok-signalima i izlaznim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} pruga sa blok-signalima i kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Pruga sa blok-signalima i kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} pruga sa blok-signalima i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Pruga sa blok-signalima i 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_NORMAL_NOENTRYSIGNALS :Pruga sa blok-signalima i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} pruga sa pred-signalima i izlaznim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Pruga sa pred-signalima i izlaznim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} pruga sa pred-signalima i kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Pruga sa pred-signalima i kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} pruga sa pred-signalima i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Pruga sa pred-signalima i 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_PRE_NOENTRYSIGNALS :Pruga sa pred-signalima i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} pruga sa izlaznim i kombiniranim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Pruga sa izlaznim i kombiniranim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} pruga sa izlaznim i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Pruga sa izlaznim i putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} pruga sa izlaznim i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Pruga sa izlaznim i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} pruga sa kombiniranim i putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Pruga sa kombiniranim i putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} pruga sa kombiniranim i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Pruga sa kombiniranim i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} pruga sa putnim i jednosmjernim putnim signalima
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Pruga sa putnim i jednosmjernim putnim signalima
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} spremište vlaka
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Spremište vlakova
|
||||||
|
|
||||||
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
|
||||||
@@ -3002,8 +3004,6 @@ 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})
|
||||||
@@ -3653,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,6 +1848,7 @@ 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
|
||||||
@@ -2682,6 +2683,7 @@ 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}
|
||||||
|
|
||||||
@@ -2694,29 +2696,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 :{STRING} trať
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Železniční trať
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} trať s obyčejným návěstidlem
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Železniční trať s obyčejný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_PRESIGNALS :Železniční trať s vjezdový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_EXITSIGNALS :Železniční trať s odjezdový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_COMBOSIGNALS :Železniční trať s kombinovanými 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_PBSSIGNALS :Železniční trať s dokonalejšími (PBS) 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_NOENTRYSIGNALS :Železniční trať s jednosměrnými cestový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_PRESIGNALS :Železniční trať s obyčejnými a vjezdový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_EXITSIGNALS :Železniční trať s obyčejnými a odjezdový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_COMBOSIGNALS :Železniční trať s obyčejnými a kombinovaný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_PBSSIGNALS :Železniční trať s obyčejnými a 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_NORMAL_NOENTRYSIGNALS :Železniční trať s obyčejnými a jednosměrnými cestový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_EXITSIGNALS :Železniční trať s vjezdovými a odjezdový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_COMBOSIGNALS :Železniční trať s vjezdovými a kombinovaný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_PBSSIGNALS :Železniční trať s vjezdovými a 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_PRE_NOENTRYSIGNALS :Železniční trať s vjezdovými a jednosměrnými cestový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_COMBOSIGNALS :Železniční trať s odjezdovými a kombinovaný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_PBSSIGNALS :Železniční trať s odjezdovými a 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_EXIT_NOENTRYSIGNALS :Železniční trať s odjezdovými a jednosměrnými 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_PBSSIGNALS :Železniční trať s kombinovanými a 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_COMBO_NOENTRYSIGNALS :Železniční trať s kombinovaný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_TRACK_WITH_PBS_NOENTRYSIGNALS :Železniční trať s cestovými a jednosměrnými cestovými návěstidly
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} železniční depo
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Ž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
|
||||||
@@ -2999,8 +3001,6 @@ 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})
|
||||||
@@ -3653,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
|
||||||
@@ -4189,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á zmena velikosti zdrojové mapy není doporučena. Pokračovat s generováním?
|
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Tak velká změna velikosti zdrojové mapy není doporučena. Pokračovat v generování?
|
||||||
|
|
||||||
# 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 :{STRING} spor
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Jernbane spor
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} spor med bloksignaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Jernbane spor med bloksignaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} spor med with pre-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Jernbane spor med with pre-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} spor med udgangssignaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangssignaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} spor med kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Jernbane spor med kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} spor med rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Jernbane spor med rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} spor med en-vejs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Jernbane spor med en-vejs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} spor med blok- og pre-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Jernbane spor med blok- og pre-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} spor med blok- og udgangs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Jernbane spor med blok- og udgangs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} spor med blok og kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok og kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} spor med blok- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Jernbane spor med blok- og 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_NORMAL_NOENTRYSIGNALS :Jernbane spor med blok og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} spor med pre- og udgangs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Jernbane spor med pre- og udgangs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} spor med pre- og kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Jernbane spor med pre- og kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} spor med pre- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Jernbane spor med pre- og 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_PRE_NOENTRYSIGNALS :Jernbane spor med pre- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} spor med udgangs- og kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Jernbane spor med udgangs- og kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} spor med udgangs- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Jernbane spor med udgangs- og 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_EXIT_NOENTRYSIGNALS :Jernbane spor med udgangs- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} spor med kombinerede og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Jernbane spor med kombinerede og 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_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinerede 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_TRACK_WITH_PBS_NOENTRYSIGNALS :Jernbane spor med rute- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} togdepot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbane 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
|
||||||
@@ -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
|
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_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,8 +2906,6 @@ 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})
|
||||||
@@ -3557,7 +3555,6 @@ 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
|
||||||
|
@@ -2601,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 :{STRING} spoor
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Spoorweg spoor
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} spoor met blokseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Spoorweg spoor met blokseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} spoor met voorseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Spoorweg spoor met voorseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} spoor met exitseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Spoorweg spoor met exitseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} spoor met combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Spoorweg spoor met combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} spoor met routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Spoorweg spoor met routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} spoor met eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Spoorweg spoor met eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} spoor met blok en voorseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Spoorweg spoor met blok en voorseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} spoor met blok en exitseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Spoorweg spoor met blok en exitseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} spoor met blok en combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Spoorweg spoor met blok en combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} spoor met blok en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Spoorweg spoor met blok en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} spoor met blok en eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Spoorweg spoor met blok en eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} spoor met voor- en exitseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Spoorweg spoor met voor- en exitseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} spoor met voor- en combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Spoorweg spoor met voor- en combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} spoor met voor- en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Spoorweg spoor met voor- en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} spoor met voor- en eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Spoorweg spoor met voor- en eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} spoor met exit- en combo-seinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Spoorweg spoor met exit- en combo-seinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} spoor em exit- en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Spoorweg spoor em exit- en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} spoor met exit- en eenrichtingsseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Spoorweg spoor met exit- en eenrichtingsseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} spoor met combo- en routeseinen
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Spoorweg spoor met combo- en routeseinen
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} Spoor met combo- en eenrichtingssein
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Spoorweg Spoor met combo- en eenrichtingssein
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} spoor met route en eenrichtingssein
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Spoorweg spoor met route en eenrichtingssein
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} trein depot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Spoorweg 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
|
||||||
@@ -2874,7 +2874,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ga naar
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige afbeelding
|
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige afbeelding
|
||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ga naar vorige normale afbeelding, sla alle pseudo/herkleur/lettertype afbeeldingen over en ga naar het einde bij het begin
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ga naar vorige normale afbeelding, sla alle pseudo/herkleur/lettertype afbeeldingen over en ga naar het einde bij het begin
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige afbeelding. De uitlijning wordt genegeerd bij het weergeven van de afbeelding
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige afbeelding. De uitlijning wordt genegeerd bij het weergeven van de afbeelding
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Afbeelding verplaatsen, dit verandert X en Y offsets
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Afbeelding verplaatsen, dit verandert X en Y offsets. Ctr+klik om de afbeelding 8 eenheden per keer te verplaatsen.
|
||||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Herstel relatief
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Herstel relatief
|
||||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Herstel de huidige relative offsets
|
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Herstel de huidige relative offsets
|
||||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluut)
|
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluut)
|
||||||
@@ -2906,8 +2906,6 @@ 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})
|
||||||
@@ -3557,7 +3555,6 @@ 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
|
||||||
|
@@ -1762,6 +1762,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check fo
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Display AI/Game script settings
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Display AI/Game script settings
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Exit 'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Exit 'OpenTTD'
|
||||||
|
|
||||||
|
STR_INTRO_BASESET :{BLACK}The currently selected base graphics set is missing {NUM} sprite{P "" s}. Please check for updates for the baseset.
|
||||||
STR_INTRO_TRANSLATION :{BLACK}This translation misses {NUM} string{P "" s}. Please help make OpenTTD better by signing up as translator. See readme.txt for details.
|
STR_INTRO_TRANSLATION :{BLACK}This translation misses {NUM} string{P "" s}. Please help make OpenTTD better by signing up as translator. See readme.txt for details.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -2620,6 +2621,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Airport
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{RAW_STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{RAW_STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargo accepted: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargo accepted: {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}Rail speed limit: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Rail speed limit: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Road speed limit: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Road speed limit: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2632,29 +2634,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Fields
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snow-covered land
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snow-covered land
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} track
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Railway track
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} track with block signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Railway track with block signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} track with pre-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Railway track with pre-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} track with exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Railway track with exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} track with combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Railway track with combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} track with path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Railway track with path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} track with one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Railway track with one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} track with block and pre-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Railway track with block and pre-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} track with block and exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Railway track with block and exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} track with block and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Railway track with block and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} track with block and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Railway track with block and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} track with block and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Railway track with block and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} track with pre- and exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Railway track with pre- and exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} track with pre- and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Railway track with pre- and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} track with pre- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Railway track with pre- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} track with pre- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Railway track with pre- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} track with exit- and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Railway track with exit- and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} track with exit- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Railway track with exit- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} track with exit- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Railway track with exit- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} track with combo- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Railway track with combo- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} track with combo- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Railway track with combo- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} track with path and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Railway track with path and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} train depot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Railway train depot
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Road
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Road
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Road with street lights
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Road with street lights
|
||||||
@@ -2937,8 +2939,6 @@ STR_NEWGRF_ERROR_INVALID_ID :Attempt to use
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{RAW_STRING} contains a corrupt sprite. All corrupt sprites will be shown as a red question mark (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{RAW_STRING} contains a corrupt sprite. All corrupt sprites will be shown as a red question mark (?)
|
||||||
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}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set
|
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set.{}Since you are playing a {YELLOW}development snapshot of OpenTTD{WHITE}, you might also need a {YELLOW}development snapshot of the base graphics{WHITE}
|
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:RAW_STRING} was disabled by {2:RAW_STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:RAW_STRING} was disabled by {2:RAW_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})
|
||||||
@@ -3588,10 +3588,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} when o
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Replacing Vehicles
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Replacing Vehicles
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Press to stop the replacement of the engine type selected on the left
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Press to stop the replacement of the engine type selected on the left
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Replacing: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and wagon replacement windows
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and wagon replacement windows
|
||||||
STR_REPLACE_ENGINES :Engines
|
STR_REPLACE_ENGINES :Engines
|
||||||
STR_REPLACE_WAGONS :Wagons
|
STR_REPLACE_WAGONS :Wagons
|
||||||
|
STR_REPLACE_ALL_RAILTYPE :All rail vehicles
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Choose the rail type you want to replace engines for
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Choose the rail type you want to replace engines for
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Displays which engine the left selected engine is being replaced with, if any
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Displays which engine the left selected engine is being replaced with, if any
|
||||||
|
@@ -2576,29 +2576,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Fields
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snow-covered land
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snow-covered land
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} track
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Railway track
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} track with block signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Railway track with block signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} track with pre-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Railway track with pre-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} track with exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Railway track with exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} track with combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Railway track with combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} track with path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Railway track with path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} track with one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Railway track with one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} track with block and pre-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Railway track with block and pre-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} track with block and exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Railway track with block and exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} track with block and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Railway track with block and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} track with block and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Railway track with block and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} track with block and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Railway track with block and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} track with pre- and exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Railway track with pre- and exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} track with pre- and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Railway track with pre- and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} track with pre- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Railway track with pre- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} track with pre- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Railway track with pre- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} track with exit- and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Railway track with exit- and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} track with exit- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Railway track with exit- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} track with exit- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Railway track with exit- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} track with combo- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Railway track with combo- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} track with combo- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Railway track with combo- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} track with path and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Railway track with path and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} train depot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Railway train depot
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Road
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Road
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Road with street lights
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Road with street lights
|
||||||
@@ -2873,8 +2873,6 @@ STR_NEWGRF_ERROR_INVALID_ID :Attempt to use
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contains a corrupt sprite. All corrupt sprites will be shown as a red question mark (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contains a corrupt sprite. All corrupt sprites will be shown as a red question mark (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contians multiple Action 8 entries (sprite{3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contians multiple Action 8 entries (sprite{3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Read past end of psuedo-sprite (sprite{3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Read past end of psuedo-sprite (sprite{3:NUM})
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set
|
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set.{}Since you are playing a {YELLOW}development snapshot of OpenTTD{WHITE}, you might also need a {YELLOW}development snapshot of the base graphics{WHITE}
|
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available (sprite{3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available (sprite{3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was disabled by {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was disabled by {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})
|
||||||
@@ -3508,7 +3506,6 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} when o
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Replacing Vehicles
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Replacing Vehicles
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Press to stop the replacement of the engine type selected on the left
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Press to stop the replacement of the engine type selected on the left
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Replacing: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and wagon replacement windows
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and wagon replacement windows
|
||||||
STR_REPLACE_ENGINES :Engines
|
STR_REPLACE_ENGINES :Engines
|
||||||
STR_REPLACE_WAGONS :Wagons
|
STR_REPLACE_WAGONS :Wagons
|
||||||
|
@@ -2589,6 +2589,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Airport
|
|||||||
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}Cargo accepted: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargo accepted: {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}Rail speed limit: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Rail speed limit: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Road speed limit: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Road speed limit: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2601,29 +2602,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Fields
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snow-covered land
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snow-covered land
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} track
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Railroad track
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} track with block signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Railroad track with block signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} track with pre-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Railroad track with pre-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} track with exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Railroad track with exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} track with combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Railroad track with combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} track with path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Railroad track with path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} track with one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Railroad track with one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} track with block and pre-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Railroad track with block and pre-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} track with block and exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Railroad track with block and exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} track with block and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Railroad track with block and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} track with block and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Railroad track with block and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} track with block and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Railroad track with block and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} track with pre- and exit-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Railroad track with pre- and exit-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} track with pre- and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Railroad track with pre- and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} track with pre- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Railroad track with pre- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} track with pre- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Railroad track with pre- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} track with exit- and combo-signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Railroad track with exit- and combo-signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} track with exit- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Railroad track with exit- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} track with exit- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Railroad track with exit- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} track with combo- and path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Railroad track with combo- and path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} track with combo- and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Railroad track with combo- and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} track with path and one-way path signals
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Railroad track with path and one-way path signals
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} train depot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Railroad train depot
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Road
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Road
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Road with street lights
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Road with street lights
|
||||||
@@ -2906,8 +2907,6 @@ STR_NEWGRF_ERROR_INVALID_ID :Attempt to use
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contains a corrupt sprite. All corrupt sprites will be shown as a red question mark (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contains a corrupt sprite. All corrupt sprites will be shown as a red question mark (?)
|
||||||
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}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set
|
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set.{}Since you are playing a {YELLOW}development snapshot of OpenTTD{WHITE}, you might also need a {YELLOW}development snapshot of the base graphics{WHITE}
|
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was disabled by {2:STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was disabled by {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})
|
||||||
@@ -3557,10 +3556,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} when o
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Replacing Vehicles
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop Replacing Vehicles
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Press to stop the replacement of the engine type selected on the left
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Press to stop the replacement of the engine type selected on the left
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Replacing: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and car replacement windows
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and car replacement windows
|
||||||
STR_REPLACE_ENGINES :Engines
|
STR_REPLACE_ENGINES :Engines
|
||||||
STR_REPLACE_WAGONS :Cars
|
STR_REPLACE_WAGONS :Cars
|
||||||
|
STR_REPLACE_ALL_RAILTYPE :All rail vehicles
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Choose the rail type you want to replace engines for
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Choose the rail type you want to replace engines for
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Displays which engine the left selected engine is being replaced with, if any
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Displays which engine the left selected engine is being replaced with, if any
|
||||||
|
@@ -2451,7 +2451,6 @@ STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} bezo
|
|||||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :la GRF-dosiero estas farita por traduki
|
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :la GRF-dosiero estas farita por traduki
|
||||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Tro da NewGRF-oj estas ŝarĝataj
|
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Tro da NewGRF-oj estas ŝarĝataj
|
||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} enhavas rompitan bildeton. Ĉiuj rompitaj bildetoj aspektos kiel ruĝaj demandsignoj (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} enhavas rompitan bildeton. Ĉiuj rompitaj bildetoj aspektos kiel ruĝaj demandsignoj (?)
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}La nuntempe uza baza grafikaĵaro mankas kelkajn da bildetoj.{}Bonvolu renovigu la baza grafikaĵaro
|
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} estis malaktivata per {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} estis malaktivata per {STRING}
|
||||||
|
|
||||||
# NewGRF related 'general' warnings
|
# NewGRF related 'general' warnings
|
||||||
@@ -2977,7 +2976,6 @@ STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Ne elekt
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Ĉesu Anstataŭi
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Ĉesu Anstataŭi
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Premu por ĉesi anstataŭi la maldekstre elektitan maŝinon
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Premu por ĉesi anstataŭi la maldekstre elektitan maŝinon
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Anstataŭante: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Ŝaltu inter maŝina kaj vagona anstataŭigo
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Ŝaltu inter maŝina kaj vagona anstataŭigo
|
||||||
STR_REPLACE_ENGINES :Maŝinoj
|
STR_REPLACE_ENGINES :Maŝinoj
|
||||||
STR_REPLACE_WAGONS :Vagonoj
|
STR_REPLACE_WAGONS :Vagonoj
|
||||||
|
@@ -2659,29 +2659,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Põllud
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Lumine maa
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Lumine maa
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Kõrb
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Kõrb
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} rööbas
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Raudtee rööbas
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} rööpad koos blokksignaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Raudtee rööpad koos blokksignaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} rööpad koos eelsignaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Raudtee rööpad koos eelsignaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} rööpad väljasõidusignaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Raudtee rööpad väljasõidusignaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} rööpad kombineeritud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Raudtee rööpad kombineeritud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} rööpad koos täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Raudtee rööpad koos täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} tööpad koos ühesuunaliste täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Raudtee tööpad koos ühesuunaliste täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} rööpad koos blokk- ja eelsignaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Raudtee rööpad koos blokk- ja eelsignaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} rööpad koos blokk- ja väljumissignaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Raudtee rööpad koos blokk- ja väljumissignaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} rööpad koos blokk- ja kombineeritud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Raudtee rööpad koos blokk- ja kombineeritud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} rööpad koos blokk- ja täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Raudtee rööpad koos blokk- ja täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} rööpad koos blokksignaalidega ja ühesuunaliste täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Raudtee rööpad koos blokksignaalidega ja ühesuunaliste täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} rööpad koos eel- ja väljumissignaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Raudtee rööpad koos eel- ja väljumissignaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} rööpad koos eel- ja kombineeritud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Raudtee rööpad koos eel- ja kombineeritud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} rööpad koos eel- ja täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Raudtee rööpad koos eel- ja täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} rööpad koos eel- ja ühesuunaliste täiustatud signaaligeda
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Raudtee rööpad koos eel- ja ühesuunaliste täiustatud signaaligeda
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} rööpad koos väljumis- ja kombineeritud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Raudtee rööpad koos väljumis- ja kombineeritud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} rööpad koos väljumis- ja täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Raudtee rööpad koos väljumis- ja täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} rööpad koos väljumis. ja ühesuunaliste täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Raudtee rööpad koos väljumis. ja ühesuunaliste täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} rööpad koos komineeriutd ja täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Raudtee rööpad koos komineeriutd ja täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} rööpad koos komineeritud ja ühesuunaliste täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Raudtee rööpad koos komineeritud ja ühesuunaliste täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} rööpad koos täisutatud ja ühesuunaliste täiustatud signaalidega
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Raudtee rööpad koos täisutatud ja ühesuunaliste täiustatud signaalidega
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} Rongidepoo
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Raudtee Rongidepoo
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Sõidutee
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Sõidutee
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Valgustatud sõidutee
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Valgustatud sõidutee
|
||||||
@@ -2964,8 +2964,6 @@ STR_NEWGRF_ERROR_INVALID_ID :Kasutati kõlbm
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sisaldab vigast pilti. Kõiki vigaseid pilte näidatakse punase küsimärgina (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sisaldab vigast pilti. Kõiki vigaseid pilte näidatakse punase küsimärgina (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sisaldab mitut Action 8 kirjet (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sisaldab mitut Action 8 kirjet (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Loe pseudo-sprite lõpust edasi (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Loe pseudo-sprite lõpust edasi (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Praegune alusgraafika kogu ei sisalda mitmeid spraite.{}Palun uuenda alusgraafika kogu
|
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Praegune alusgraafika kogu ei sisalda mitmeid spraite.{}Palun uuenda alusgraafika kogu.{}Kuna sa mängid {YELLOW}OpenTTD arendusversiooniga{WHITE}, siis ilmselt pead sa kasutama {YELLOW}alusgraafika kogu arendusversiooni{WHITE}
|
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Soovitud GRFi ressursid ei ole saadaval (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Soovitud GRFi ressursid ei ole saadaval (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} blokeeriti {STRING} poolt
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} blokeeriti {STRING} poolt
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :«Sprite» paigutus kõlbmatus vormis («sprite» {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :«Sprite» paigutus kõlbmatus vormis («sprite» {3:NUM})
|
||||||
@@ -3615,7 +3613,6 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} kui va
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Lõpeta Sõidukite Asendamine
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Lõpeta Sõidukite Asendamine
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Vajuta lõpetamaks vasakult valitud veduri asendust
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Vajuta lõpetamaks vasakult valitud veduri asendust
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Asendamisel: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Vaheta aken mootori ja vaguni asendamise aknate vahel
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Vaheta aken mootori ja vaguni asendamise aknate vahel
|
||||||
STR_REPLACE_ENGINES :Vedurid
|
STR_REPLACE_ENGINES :Vedurid
|
||||||
STR_REPLACE_WAGONS :Vaguneid
|
STR_REPLACE_WAGONS :Vaguneid
|
||||||
|
@@ -2341,29 +2341,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Markir
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Kava-klætt lendi
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Kava-klætt lendi
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Oyðimørk
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Oyðimørk
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} breyt
|
STR_LAI_RAIL_DESCRIPTION_TRACK :{G=m}Jarnbreyt breyt
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} breyt við blokk teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{G=m}Jarnbreyt breyt við blokk teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} breyt við for teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{G=m}Jarnbreyt breyt við for teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} breyt við útvegs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{G=m}Jarnbreyt breyt við útvegs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} breyt við blandings teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{G=m}Jarnbreyt breyt við blandings teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} breyt við leið teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{G=m}Jarnbreyt breyt við leið teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} breyt við einvegis leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{G=m}Jarnbreyt breyt við einvegis leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} breyt við blokk og for teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{G=m}Jarnbreyt breyt við blokk og for teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} breyt við blokk og útvegs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{G=m}Jarnbreyt breyt við blokk og útvegs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} breyt við block og blandings teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{G=m}Jarnbreyt breyt við block og blandings teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} breyt við blokk og leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{G=m}Jarnbreyt breyt við blokk og leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} breyt við blokk og einvegis leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{G=m}Jarnbreyt breyt við blokk og einvegis leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} breyt við for og útvegis teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{G=m}Jarnbreyt breyt við for og útvegis teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} breyt við for og blandings teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{G=m}Jarnbreyt breyt við for og blandings teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} breyt við for og leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{G=m}Jarnbreyt breyt við for og leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} breyt við for og einvegis leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{G=m}Jarnbreyt breyt við for og einvegis leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} breyt við útvegs og blandings teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{G=m}Jarnbreyt breyt við útvegs og blandings teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} breyt við útvegs og leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{G=m}Jarnbreyt breyt við útvegs og leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} breyt við útvegs og einvegis leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{G=m}Jarnbreyt breyt við útvegs og einvegis leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} breyt við blandings og leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{G=m}Jarnbreyt breyt við blandings og leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} breyt við blandings og einvegis leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{G=m}Jarnbreyt breyt við blandings og einvegis leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} breyt við leiðs og einvegis leiðs teknum
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{G=m}Jarnbreyt breyt við leiðs og einvegis leiðs teknum
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} Tok goymsla
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{G=m}Jarnbreyt Tok goymsla
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Vegur
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Vegur
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Vegur við lyktapelum
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Vegur við lyktapelum
|
||||||
@@ -3168,7 +3168,6 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} tá ga
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Steðga umbýting av flutningstólum
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Steðga umbýting av flutningstólum
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Trýst fyri at steðga umbýtanini av motor slagnum tú valdi á vinstru síðu
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Trýst fyri at steðga umbýtanini av motor slagnum tú valdi á vinstru síðu
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Býtur um: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift ímillum motor og vogna umbýtingar vindeyga
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift ímillum motor og vogna umbýtingar vindeyga
|
||||||
STR_REPLACE_ENGINES :Motorar
|
STR_REPLACE_ENGINES :Motorar
|
||||||
STR_REPLACE_WAGONS :Vognar
|
STR_REPLACE_WAGONS :Vognar
|
||||||
|
@@ -2601,29 +2601,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Peltoja
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Lumen peittämää maata
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Lumen peittämää maata
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Aavikkoa
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Aavikkoa
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING}
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Rautatie
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} suojastusopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Rautatie suojastusopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} tulo-opastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Rautatie tulo-opastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} poistumisopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Rautatie poistumisopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} yhdistelmäopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Rautatie yhdistelmäopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Rautatie reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} yksisuuntaisilla reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Rautatie yksisuuntaisilla reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} suojastus- ja tulo-opastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Rautatie suojastus- ja tulo-opastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} suojastus- ja poistumisopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Rautatie suojastus- ja poistumisopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} suojastus- ja yhdistelmäopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Rautatie suojastus- ja yhdistelmäopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} suojastus- ja reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Rautatie suojastus- ja reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} suojastus- ja yksisuuntaisilla reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Rautatie suojastus- ja yksisuuntaisilla reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} tulo- ja poistumisopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Rautatie tulo- ja poistumisopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} tulo- ja yhdistelmäopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Rautatie tulo- ja yhdistelmäopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} tulo- ja reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Rautatie tulo- ja reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} tulo- ja yksisuuntaisilla reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Rautatie tulo- ja yksisuuntaisilla reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} poistumis- ja yhdistelmäopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Rautatie poistumis- ja yhdistelmäopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} poistumis- ja reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Rautatie poistumis- ja reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} poistumis- ja yksisuuntaisilla opastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Rautatie poistumis- ja yksisuuntaisilla opastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} yhdistelmä- ja reittiopastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Rautatie yhdistelmä- ja reittiopastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} yhdistelmä- ja yksisuuntaisilla opastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Rautatie yhdistelmä- ja yksisuuntaisilla opastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} reitti- ja yksisuuntaisilla opastimilla
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Rautatie reitti- ja yksisuuntaisilla opastimilla
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} veturitalli
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Rautatie veturitalli
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Tie
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Tie
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Tie katuvaloilla
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Tie katuvaloilla
|
||||||
@@ -2874,7 +2874,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Mene val
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Edelinen sprite
|
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Edelinen sprite
|
||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jatka edelliseen tavalliseen spriteen ja hyppää yli kaikki pseudo-/uudelleenväritetyt/fontti- spritet ja mene loppuun kun päästään ensimmäiseen
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jatka edelliseen tavalliseen spriteen ja hyppää yli kaikki pseudo-/uudelleenväritetyt/fontti- spritet ja mene loppuun kun päästään ensimmäiseen
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Valitun spriten näyttö. Sijaintia ei huomioida spriteä piirrettäessä
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Valitun spriten näyttö. Sijaintia ei huomioida spriteä piirrettäessä
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liikuta spriteä ympäriinsä, muuttaen X- ja Y-sijainteja
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liikuta spriteä ympäriinsä, muuttaen X- ja Y-sijainteja. Ctrl+Klik siirtää spriteä kahdeksan yksikköä kerralla
|
||||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nollaa suhteelliset
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nollaa suhteelliset
|
||||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nollaa suhteelliset erotukset
|
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nollaa suhteelliset erotukset
|
||||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-erotus: {NUM}, Y-erotus: {NUM} (Absoluuttinen)
|
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-erotus: {NUM}, Y-erotus: {NUM} (Absoluuttinen)
|
||||||
@@ -2906,8 +2906,6 @@ STR_NEWGRF_ERROR_INVALID_ID :Yritys käyttä
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sisältää korruptoituneen spriten. Kaikki korruptoituneet spritet näkyvät punaisina kysymysmerkkeinä (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sisältää korruptoituneen spriten. Kaikki korruptoituneet spritet näkyvät punaisina kysymysmerkkeinä (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sisältää useita Action 8-merkintöjä (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sisältää useita Action 8-merkintöjä (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Luku pseudo-spriten ohi (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Luku pseudo-spriten ohi (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Käytössä olevasta perusgrafiikkapaketista puuttuu spritejä.{}Ole hyvä ja päivitä perusgrafiikkapaketti
|
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Käytössä olevasta perusgrafiikkapaketista puuttuu spritejä.{}Päivitä perusgrafiikkapaketti.{}Koska pelaat {YELLOW}OpenTTD:n kehitysversiota{WHITE}, saatat myös tarvita {YELLOW}kehitysversion perusgrafiikkapaketista{WHITE}
|
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Pyydetyt GRF-resurssit eivät ole saatavilla (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Pyydetyt GRF-resurssit eivät ole saatavilla (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} poisti käytöstä NewGRF:n {1:STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} poisti käytöstä NewGRF:n {1:STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Virheellinen/tuntematon spriten asettelumuoto (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Virheellinen/tuntematon spriten asettelumuoto (sprite {3:NUM})
|
||||||
@@ -3557,7 +3555,6 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} kun va
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Lopeta ajoneuvojen korv.
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Lopeta ajoneuvojen korv.
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Napsauta pysäyttääksesi vasemmalta valitun veturityypin korvauksen.
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Napsauta pysäyttääksesi vasemmalta valitun veturityypin korvauksen.
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Korvataan: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Vaihda toiseen korvausikkunaan
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Vaihda toiseen korvausikkunaan
|
||||||
STR_REPLACE_ENGINES :Veturit
|
STR_REPLACE_ENGINES :Veturit
|
||||||
STR_REPLACE_WAGONS :Vaunut
|
STR_REPLACE_WAGONS :Vaunut
|
||||||
|
@@ -2322,7 +2322,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construi
|
|||||||
STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alterner entre construire et retirer des voies, des signaux, des points de contrôle et des gares.{}Ctrl pour retirer également la voie lors du retrait des points de contrôle et des gares.
|
STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alterner entre construire et retirer des voies, des signaux, des points de contrôle et des gares.{}Ctrl pour retirer également la voie lors du retrait des points de contrôle et des gares.
|
||||||
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Convertir/Améliorer le type de rail.{}Shift pour afficher seulement le coût estimé.
|
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Convertir/Améliorer le type de rail.{}Shift pour afficher seulement le coût estimé.
|
||||||
|
|
||||||
STR_RAIL_NAME_RAILROAD :Voie ferrée simple
|
STR_RAIL_NAME_RAILROAD :Voie ferrée
|
||||||
STR_RAIL_NAME_ELRAIL :Voie ferrée électrifiée
|
STR_RAIL_NAME_ELRAIL :Voie ferrée électrifiée
|
||||||
STR_RAIL_NAME_MONORAIL :Monorail
|
STR_RAIL_NAME_MONORAIL :Monorail
|
||||||
STR_RAIL_NAME_MAGLEV :Maglev
|
STR_RAIL_NAME_MAGLEV :Maglev
|
||||||
@@ -2590,6 +2590,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nom de l
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF{NBSP}: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF{NBSP}: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargaison acceptée{NBSP}: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargaison acceptée{NBSP}: {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}Type de rail{NBSP}: {LTBLUE}{STRING}
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Vitesse limite de la voie{NBSP}: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Vitesse limite de la voie{NBSP}: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vitesse limite de la route{NBSP}: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vitesse limite de la route{NBSP}: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2602,29 +2603,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Champs
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Terre enneigée
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Terre enneigée
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Désert
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Désert
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING}{NBSP}
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Voie ferrée
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :{STRING} avec signaux de bloc
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Voie ferrée avec signaux de bloc
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :{STRING} avec pré-signaux
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Voie ferrée avec pré-signaux
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :{STRING} avec signaux de sortie
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Voie ferrée avec signaux de sortie
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :{STRING} avec signaux combinés
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Voie ferrée avec signaux combinés
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :{STRING} avec signaux de chemin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Voie ferrée avec signaux de chemin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :{STRING} avec signaux de chemin à sens unique
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Voie ferrée avec signaux de chemin à sens unique
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :{STRING} avec signal de bloc et pré-signaux
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Voie ferrée avec signal de bloc et pré-signaux
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :{STRING} avec signal de bloc et signaux de sortie
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Voie ferrée avec signal de bloc et signaux de sortie
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :{STRING} avec signal de bloc et signaux combinés
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Voie ferrée avec signal de bloc et signaux combinés
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :{STRING} avec signaux de bloc et de chemin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Voie ferrée avec signaux de bloc et de chemin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :{STRING} avec signaux de bloc et de chemin à sens unique
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Voie ferrée avec signaux de bloc et de chemin à sens unique
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :{STRING} avec pré-signal et signal de sortie
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Voie ferrée avec pré-signal et signal de sortie
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :{STRING} avec pré-signal et signal combiné
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Voie ferrée avec pré-signal et signal combiné
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :{STRING} avec pré-signal et signal de chemin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Voie ferrée avec pré-signal et signal de chemin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :{STRING} avec pré-signal et signal de chemin à sens unique
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Voie ferrée avec pré-signal et signal de chemin à sens unique
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :{STRING} avec signal de sortie et signal combiné
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Voie ferrée avec signal de sortie et signal combiné
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :{STRING} avec signal de sortie et signal de chemin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Voie ferrée avec signal de sortie et signal de chemin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :{STRING} avec signal de sortie et signal de chemin à sens unique
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Voie ferrée avec signal de sortie et signal de chemin à sens unique
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :{STRING} avec signal combiné et signal de chemin
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Voie ferrée avec signal combiné et signal de chemin
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :{STRING} avec signal combiné et signal de chemin à sens unique
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Voie ferrée avec signal combiné et signal de chemin à sens unique
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :{STRING} avec signal de chemin et signal de chemin à sens unique
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Voie ferrée avec signal de chemin et signal de chemin à sens unique
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Dépôt de trains de {STRING}
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Dépôt ferroviaire
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Route
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Route
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Route avec lampadaires
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Route avec lampadaires
|
||||||
@@ -2907,8 +2908,6 @@ STR_NEWGRF_ERROR_INVALID_ID :Tentative d'uti
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contient un sprite corrompu. Tous les sprites corrompus seront remplacés par un point d'interrogation rouge (?).
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contient un sprite corrompu. Tous les sprites corrompus seront remplacés par un point d'interrogation rouge (?).
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Présence multiple de l'Action 8 (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Présence multiple de l'Action 8 (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Lecture après la fin des pseudo-sprite (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Lecture après la fin des pseudo-sprite (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Il manque certains sprites dans les graphiques de base actuellement utilisés.{}Veuillez mettre à jour les graphiques de base.
|
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Il manque un certain nombre de sprites dans les graphiques de base actuellement utilisés.{}Veuillez mettre à jour les graphiques de base.{}Comme vous jouez avec une {YELLOW}version de développement d'OpenTTD{WHITE}, vous devriez utiliser une {YELLOW}version de développement des graphiques de base{WHITE}
|
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Indisponibilité de la ressource demandée (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Indisponibilité de la ressource demandée (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} a été désactivé par {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} a été désactivé par {STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Format de sprite invalide ou inconnu (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Format de sprite invalide ou inconnu (sprite {3:NUM})
|
||||||
@@ -3558,10 +3557,10 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} si vie
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Stopper le remplacement
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Stopper le remplacement
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Appuyer sur ce bouton pour arrêter le remplacement du type de véhicule sélectionné à gauche
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Appuyer sur ce bouton pour arrêter le remplacement du type de véhicule sélectionné à gauche
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}En remplacement{NBSP}: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Alterner entre les fenêtres de remplacement des locomotives ou des wagons
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Alterner entre les fenêtres de remplacement des locomotives ou des wagons
|
||||||
STR_REPLACE_ENGINES :Locomotives
|
STR_REPLACE_ENGINES :Locomotives
|
||||||
STR_REPLACE_WAGONS :Wagons
|
STR_REPLACE_WAGONS :Wagons
|
||||||
|
STR_REPLACE_ALL_RAILTYPE :Tous le véhicules sur rail
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Choisir un type de rail pour le remplacement de locomotives
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Choisir un type de rail pour le remplacement de locomotives
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Ceci affiche par quel type de véhicule sera remplacé celui sélectionné à gauche, si possible
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Ceci affiche par quel type de véhicule sera remplacé celui sélectionné à gauche, si possible
|
||||||
|
@@ -1232,7 +1232,7 @@ STR_CURRENCY_PREVIEW :{LTBLUE}Ro-shea
|
|||||||
STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 not (£) san airgeadra agad
|
STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 not (£) san airgeadra agad
|
||||||
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Atharraich paramadair an airgeadra ghnàthaichte
|
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Atharraich paramadair an airgeadra ghnàthaichte
|
||||||
|
|
||||||
STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Àireamh as motha dhe dh'fharpaisichean: {ORANGE}{COMMA}
|
STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Àireamh as motha dhe cho-fharpaisich: {ORANGE}{COMMA}
|
||||||
|
|
||||||
STR_NONE :Chan eil gin
|
STR_NONE :Chan eil gin
|
||||||
STR_FUNDING_ONLY :Le maoineachadh a-mhàin
|
STR_FUNDING_ONLY :Le maoineachadh a-mhàin
|
||||||
@@ -1431,7 +1431,7 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Na h-uile port-
|
|||||||
STR_CONFIG_SETTING_BRIBE :Ceadaich brìbeadh an ùghdarrais ionadail: {STRING}
|
STR_CONFIG_SETTING_BRIBE :Ceadaich brìbeadh an ùghdarrais ionadail: {STRING}
|
||||||
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Faodaidh companaidhean feuchainn ri ùghdarras ionadail a' bhaile a bhrìbeadh. Ma mhothaicheas neach-sgrùdaidh am brìbeadh, chan fhaod a' chompanaidh dad a dhèanamh tuilleadh sa bhaile fad sia mìosan
|
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Faodaidh companaidhean feuchainn ri ùghdarras ionadail a' bhaile a bhrìbeadh. Ma mhothaicheas neach-sgrùdaidh am brìbeadh, chan fhaod a' chompanaidh dad a dhèanamh tuilleadh sa bhaile fad sia mìosan
|
||||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Ceadaich ceannach aig còirichean giùlain às-dùnach: {STRING}
|
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Ceadaich ceannach aig còirichean giùlain às-dùnach: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ma cheannaicheas companaidh còirichean giùlain às-dùnach airson baile, chan fhaigh stèiseanan (taistealaich no carago) nan co-fharpaisichean carago sam bith fad bliadhna
|
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ma cheannaicheas companaidh còirichean giùlain às-dùnach airson baile, chan fhaigh stèiseanan (taistealaich no carago) nan co-fharpaiseach carago sam bith fad bliadhna
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Ceadaich maoineachadh thogalaichean: {STRING}
|
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Ceadaich maoineachadh thogalaichean: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Faodaidh companaidhean airgead a thoirt dha bhailtean ach an tog iad taighean ùra
|
STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Faodaidh companaidhean airgead a thoirt dha bhailtean ach an tog iad taighean ùra
|
||||||
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Ceadaich maoineachadh ath-thogail rathaidean ionadail: {STRING}
|
STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Ceadaich maoineachadh ath-thogail rathaidean ionadail: {STRING}
|
||||||
@@ -1991,7 +1991,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}A bheil
|
|||||||
# Cheat window
|
# Cheat window
|
||||||
STR_CHEATS :{WHITE}Cealgaireachd
|
STR_CHEATS :{WHITE}Cealgaireachd
|
||||||
STR_CHEATS_TOOLTIP :{BLACK}Is ciall dha bhogsaichean-cromaige gun deach a' chealgaireachd seo a chleachdadh roimhe
|
STR_CHEATS_TOOLTIP :{BLACK}Is ciall dha bhogsaichean-cromaige gun deach a' chealgaireachd seo a chleachdadh roimhe
|
||||||
STR_CHEATS_WARNING :{BLACK}Rabhadh! Tha thu gu bhith a' mealladh na co-fharpaisichean agad. Thoir an aire gun cumar cuimhne air an tàmailt seo gu bràth tuilleadh
|
STR_CHEATS_WARNING :{BLACK}Rabhadh! Tha thu gu bhith a' mealladh nan co-fharpaiseach agad. Thoir an aire gun cumar cuimhne air an tàmailt seo gu bràth tuilleadh
|
||||||
STR_CHEAT_MONEY :{LTBLUE}Meudaich an t-airgead le {CURRENCY_LONG}
|
STR_CHEAT_MONEY :{LTBLUE}Meudaich an t-airgead le {CURRENCY_LONG}
|
||||||
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}A' cluich mar a' chompanaidh: {ORANGE}{COMMA}
|
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}A' cluich mar a' chompanaidh: {ORANGE}{COMMA}
|
||||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer draoidheach (thoir air falbh gnìomhachasan, oibseactan do-ghluasad): {ORANGE}{STRING}
|
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer draoidheach (thoir air falbh gnìomhachasan, oibseactan do-ghluasad): {ORANGE}{STRING}
|
||||||
@@ -2812,29 +2812,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Achaidhean
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Tìr sneachdach
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Tìr sneachdach
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Fàsach
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Fàsach
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Slighe {STRING.gen}
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Slighe Rathad-iarainn
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Slighe {STRING.gen} le comharran bacaidh
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Slighe Rathad-iarainn le comharran bacaidh
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Slighe {STRING.gen} le ro-chomharran
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Slighe Rathad-iarainn le ro-chomharran
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Slighe {STRING.gen} le comharran a-mach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Slighe Rathad-iarainn le comharran a-mach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Slighe {STRING.gen} le comharran aonaichte
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Slighe Rathad-iarainn le comharran aonaichte
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Slighe {STRING.gen} le comharran slighe
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Slighe Rathad-iarainn le comharran slighe
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Slighe {STRING.gen} le comharran aon-shligheach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Slighe Rathad-iarainn le comharran aon-shligheach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Slighe {STRING.gen} le comharran bacaidh is ro-chomharran
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Slighe Rathad-iarainn le comharran bacaidh is ro-chomharran
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Slighe {STRING.gen} le comharran-bacaidh is a-mach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Slighe Rathad-iarainn le comharran-bacaidh is a-mach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Slighe {STRING.gen} le comharran-bacaidh is aonaichte
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Slighe Rathad-iarainn le comharran-bacaidh is aonaichte
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Slighe {STRING.gen} le comharran-bacaidh is slighe
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Slighe Rathad-iarainn le comharran-bacaidh is slighe
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Slighe {STRING.gen} le comharran-bacaidh is aon-shligheach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Slighe Rathad-iarainn le comharran-bacaidh is aon-shligheach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Slighe {STRING.gen} le ro-chomharran is comharran a-mach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Slighe Rathad-iarainn le ro-chomharran is comharran a-mach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Slighe {STRING.gen} le ro-chomharran is comharran aonaichte
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Slighe Rathad-iarainn le ro-chomharran is comharran aonaichte
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Slighe {STRING.gen} le ro-chomharran is comharran slighe
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Slighe Rathad-iarainn le ro-chomharran is comharran slighe
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Slighe {STRING.gen} le ro-chomharran is comharran aon-shligheach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Slighe Rathad-iarainn le ro-chomharran is comharran aon-shligheach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Slighe {STRING.gen} le comharran a-mach is aonaichte
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Slighe Rathad-iarainn le comharran a-mach is aonaichte
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Slighe {STRING.gen} le comharran a-mach is slighe
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Slighe Rathad-iarainn le comharran a-mach is slighe
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Slighe {STRING.gen} le comharran a-mach is aon-shligheach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Slighe Rathad-iarainn le comharran a-mach is aon-shligheach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Slighe {STRING.gen} le comharran aonaichte is slighe
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Slighe Rathad-iarainn le comharran aonaichte is slighe
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Slighe {STRING.gen} le comharran aonaichte is aon-shligheach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Slighe Rathad-iarainn le comharran aonaichte is aon-shligheach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Slighe {STRING.gen} le comharran slighe is aon-shligheach
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Slighe Rathad-iarainn le comharran slighe is aon-shligheach
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Trèan-lann {STRING}
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Trèan-lann Rathad-iarainn
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Rathad
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Rathad
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Rathad le solasan-rathaid
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Rathad le solasan-rathaid
|
||||||
@@ -3135,8 +3135,6 @@ STR_NEWGRF_ERROR_INVALID_ID :Chaidh feuchain
|
|||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}Tha sprite coirbte am broinn {STRING.gen}. Thèid a h-uile sprite coirbte a shealltainn na comharradh-ceiste dhearg (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}Tha sprite coirbte am broinn {STRING.gen}. Thèid a h-uile sprite coirbte a shealltainn na comharradh-ceiste dhearg (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Tha iomadh innteart gnìomh 8 ann (sprite {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Tha iomadh innteart gnìomh 8 ann (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_READ_BOUNDS :Chaidh leughadh thar deireadh a' sprite mas fhìor (sprite {3:NUM})
|
STR_NEWGRF_ERROR_READ_BOUNDS :Chaidh leughadh thar deireadh a' sprite mas fhìor (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Tha sprite no dhà a dhìth air an t-seata ghrafaigeachd bhunasach a tha thu a' cleachdadh an-dràsta.{}Feuch an ùraich thu an seata grafaigeachd bunasach
|
|
||||||
STR_NEWGRF_ERROR_MISSING_SPRITES_UNSTABLE :{WHITE}Tha sprite no dhà a dhìth air an t-seata ghrafaigeachd bhunasach a tha thu a' cleachdadh an-dràsta.{}Feuch an ùraich thu an seata grafaigeachd bunasach.{}Bhon a tha thu a' cluich le {YELLOW}snapshot leasachaidh aig OpenTTD{WHITE}, ’S dòcha gu bheil {YELLOW} snapshot leasachaidh dhen t-seata grafaigeachd bunasach{WHITE} a dhìth ort cuideachd
|
|
||||||
STR_NEWGRF_ERROR_GRM_FAILED :Chan eil na goireasan GRF a chaidh iarraidh ri làimh (sprite {3:NUM})
|
STR_NEWGRF_ERROR_GRM_FAILED :Chan eil na goireasan GRF a chaidh iarraidh ri làimh (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :Chaidh {1:STRING} a chur à comas le {2:STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :Chaidh {1:STRING} a chur à comas le {2:STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Fòrmat co-dhealbhachd sprite mì-dhligheach/neo-aithnichte (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Fòrmat co-dhealbhachd sprite mì-dhligheach/neo-aithnichte (sprite {3:NUM})
|
||||||
@@ -3786,7 +3784,6 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} nuair
|
|||||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Sguir dhe leasachadh nan carbadan
|
STR_REPLACE_VEHICLES_STOP :{BLACK}Sguir dhe leasachadh nan carbadan
|
||||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Briog air ach nach tèid einnseanan dhen t-seòrsa a thagh thu air an taobh chlì a leasachadh
|
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Briog air ach nach tèid einnseanan dhen t-seòrsa a thagh thu air an taobh chlì a leasachadh
|
||||||
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}A' leasachadh: {ORANGE}{STRING}
|
|
||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Gearr leum eadar uinneagan leasachadh nan einnseanan is nan carbadan
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Gearr leum eadar uinneagan leasachadh nan einnseanan is nan carbadan
|
||||||
STR_REPLACE_ENGINES :Einnseanan
|
STR_REPLACE_ENGINES :Einnseanan
|
||||||
STR_REPLACE_WAGONS :Carbadan
|
STR_REPLACE_WAGONS :Carbadan
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user