Merge branch 'master' into jgrpp
This commit is contained in:
@@ -1184,7 +1184,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Allow terraform
|
||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Allow terraforming under buildings and tracks without removing them
|
||||
STR_CONFIG_SETTING_CATCHMENT :Allow more realistically sized catchment areas: {STRING}
|
||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Have differently sized catchment areas for different types of stations and airports
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Company stations can serve industries with attached neutral stations: {STRING}
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Company stations can serve industries that have built-in neutral stations: {STRING}
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :When enabled, industries with attached stations (such as Oil Rigs) may also be served by company owned stations built nearby. When disabled, these industries may only be served by their attached stations. Any nearby company stations won't be able to serve them, nor will the attached station serve anything else other than the industry
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Allow removal of more town-owned roads, bridges and tunnels: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Make it easier to remove town-owned infrastructure and buildings
|
||||
@@ -3436,6 +3436,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Ungrouped road
|
||||
STR_GROUP_DEFAULT_SHIPS :Ungrouped ships
|
||||
STR_GROUP_DEFAULT_AIRCRAFTS :Ungrouped aircraft
|
||||
|
||||
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
|
||||
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - click on a group to list all vehicles of this group. Drag and drop groups to arrange hierarchy.
|
||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Click to create a group
|
||||
@@ -4473,6 +4474,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Can't cr
|
||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Can't delete this group...
|
||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Can't rename group...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Can't set parent group...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... loops in the group hierarchy are not allowed
|
||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Can't remove all vehicles from this group...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Can't add the vehicle to this group...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Can't add shared vehicles to group...
|
||||
|
@@ -3500,6 +3500,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Csoportosítatl
|
||||
STR_GROUP_DEFAULT_SHIPS :Csoportosítatlan hajók
|
||||
STR_GROUP_DEFAULT_AIRCRAFTS :Csoportosítatlan repülők
|
||||
|
||||
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
|
||||
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Csoportok - Kattints a csoport nevére a járművek listázásához. Húzással a csoportokat hierarchiába rendezheted.
|
||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Csoport létrehozásához kattints ide
|
||||
@@ -4537,6 +4538,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Csoport
|
||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Csoport törlése sikertelen...
|
||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Csoport átnevezése sikertelen...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Nem teheted ezt a csoportot a másik alcsoportjává...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... kört okozna a csoporthierarchiában
|
||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Csoport járműveinek törlése sikertelen...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Jármű hozzáadása a csoporthoz sikertelen...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Megosztott jármű csoporthoz való hozzáadása sikertelen...
|
||||
|
@@ -1005,6 +1005,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Praeses)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}Novum oppidum {1:TOWN} constructum expensis a {0:STRING} comparatis!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Novum oppidum nomine {TOWN} conditum!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G us a um i ae a} {STRING} construitur apud {TOWN}!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G us a um i ae a} {STRING} adsit{G 0 us a um i ae a} apud {TOWN}!
|
||||
@@ -1176,11 +1177,16 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :alia
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Magnitudo interfaciei
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Eligere magnitudinem interfaciei adhibendam
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Solita
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Simplex
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duplex
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quadruplex
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Magnitudo Litterarum
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Eligere magnitudinem litterarum adhibendam
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Simplex
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duplex
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quadruplex
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Fundamentum graphicum
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Eligere fundamentum graphicum adhibendum
|
||||
@@ -1364,6 +1370,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Sinere terram p
|
||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Sinere terram plasmare sub aedificia et vias; tum necesse non est aedificia viasve removere
|
||||
STR_CONFIG_SETTING_CATCHMENT :Sinere magnitudines regionum acceptionis magis realisticas esse: {STRING}
|
||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Si electa, aeroportus et alii stationum typi habent meliores regiones acceptionis
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Stationes societatum licet operari industriis quae proprias stationes habent: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Sinere plures vias, pontes, et cuniculos removere in oppidis: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Si electa, infrastructura et aedificia oppidorum sunt magis facilia remotu
|
||||
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitudo traminum maxima: {STRING}
|
||||
@@ -1449,6 +1456,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Non lice
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Tuitio infrastructurae: {STRING}
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Electa, infrastructura prodit expensa tuitionis. Expensa crescunt celerius quam pro portione magnitudini retis, ergo societates magnae affectantur magis quam parvae
|
||||
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Societatis color initialis: {STRING}
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Eligere colorem initialem societatis
|
||||
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportus numquam recedunt: {STRING}
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Electa, omnes aeroportuum typi permanent post introductionem
|
||||
@@ -1761,6 +1770,10 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Electa, licet l
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Non licet
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Licet
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Licet, atque propria dispositio oppidi
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Productionis urbani modus: {STRING}
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quot onera aedificia oppidorum faciunt.{}Modus quadraticus: Oppidum duplarum incolarum, quadruplex faciat vectores.{}Modus linearis: Oppidum duplarum incolarum, duplex faciat vectores.
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadraticus (originalis)
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linearis
|
||||
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Positio arborum in ludo: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Quomodo arbores apparent intra ludum. Forsitan industriae afficiuntur quibus necesse sunt arbores, e.g. castra lignatorum
|
||||
@@ -2262,6 +2275,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Disiunge
|
||||
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servatrum tutum est. Tesseram inscribe
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Societas tuta est. Tesseram inscribe
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Index clientum
|
||||
|
||||
# Network company list added strings
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Index clientum
|
||||
@@ -2899,6 +2913,7 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Currens
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
|
||||
@@ -2935,6 +2950,8 @@ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nulla in
|
||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||
STR_SAVELOAD_FILTER_TITLE :{BLACK}Series colans:
|
||||
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Superscribere Fasciculo
|
||||
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Esne certus te velle superscribere huic fasciculo?
|
||||
|
||||
STR_SAVELOAD_OSKTITLE :{BLACK}Inscribe nomen ludi
|
||||
|
||||
@@ -3052,7 +3069,12 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Editio:
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Editio congrua minima: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Coloris tabula: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Solita (D)
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Solita (D) / 32 bpp
|
||||
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Antiqua (W)
|
||||
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Antiqua (W) / 32 bpp
|
||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametra: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Nulla
|
||||
|
||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Nulla indicia parabilia
|
||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Par fasciculus non inventus
|
||||
@@ -3133,6 +3155,8 @@ STR_NEWGRF_ERROR_READ_BOUNDS :Lectio post ter
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Opes GRF desideratae non parabiles (spiritus {3:NUM})
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} neglectus est a {2:STRING}
|
||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Irrita/ignota dispositio spiritus (spiritus {3:NUM})
|
||||
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Nimis elementa in indice possessionum (spiritus {3:NUM}, elementum {4:HEX})
|
||||
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Revocatio productionis industriae irrita (spiritus {3:NUM}, "{2:STRING}")
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Maxime Cavendum Est!
|
||||
@@ -3164,6 +3188,7 @@ STR_NEWGRF_BUGGY :{WHITE}NewGRF '
|
||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Indicium oneris/reficiendi '{1:ENGINE}' post constructionem differt eo quod est in indice emptionis. Ergo fortasse autoredemptio/automutatio non possit reficere
|
||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' facit ut versatur ad infinitum in revocatione productionis
|
||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Revocatio {1:HEX} reddidit conlationem ignotam irritamve {2:HEX}
|
||||
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' reddidit onus irritum in revocatione productionis apud {2:HEX}
|
||||
|
||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||
STR_NEWGRF_INVALID_CARGO :<onus irritum>
|
||||
@@ -3307,6 +3332,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in
|
||||
# Story book window
|
||||
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Librum Fabularum
|
||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Librum Fabularum Universale
|
||||
STR_STORY_BOOK_SPECTATOR :Librum Fabularum Universale
|
||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Pagina {NUM}
|
||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Salire ad quamdam paginam eligendo eam in hac indice
|
||||
@@ -3569,6 +3595,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Vehicula viaria
|
||||
STR_GROUP_DEFAULT_SHIPS :Naves sine grege
|
||||
STR_GROUP_DEFAULT_AIRCRAFTS :Aeroplana sine grege
|
||||
|
||||
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
|
||||
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Greges - preme in gregem ut index vehiculorum huius gregis ostendeatur. Trahe poneque greges ut ordinentur.
|
||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Preme ut grex creatur
|
||||
@@ -3602,6 +3629,7 @@ STR_BUY_VEHICLE_SHIP_CAPTION :Naves Novae
|
||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Aeroplana Nova
|
||||
|
||||
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}{BLACK} Pondus: {GOLD}{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}{BLACK} (Pretium Reficiendi: {GOLD}{CURRENCY_LONG}{BLACK}) Pondus: {GOLD}{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Velocitas: {GOLD}{VELOCITY}{BLACK} Potestas: {GOLD}{POWER}
|
||||
STR_PURCHASE_INFO_SPEED :{BLACK}Velocitas: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Velocitas in mare: {GOLD}{VELOCITY}
|
||||
@@ -3612,12 +3640,15 @@ STR_PURCHASE_INFO_REFITTABLE :(refectabilis)
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Productum: {GOLD}{NUM}{BLACK} Aetas: {GOLD}{COMMA} ann{P us i}
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Constantia Maxima: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}
|
||||
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}{BLACK} (Pretium Reficiendi: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Pondus: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}{BLACK} Velocitas: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Pretium: {GOLD}{CURRENCY_LONG}{BLACK} (Pretium Reficiendi: {GOLD}{CURRENCY_LONG}{BLACK}) Velocitas: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacitas: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Currus Potentiati: {GOLD}+{POWER}{BLACK} Pondus: {GOLD}+{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Refectabilis: {GOLD}{STRING.dat}
|
||||
STR_PURCHASE_INFO_ALL_TYPES :Omnibus onerum typis
|
||||
STR_PURCHASE_INFO_NONE :Nulla
|
||||
STR_PURCHASE_INFO_ALL_BUT :Omnibus praeterquam {CARGO_LIST.dat}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Vis Tractionis Maxima: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Max. distantia volatus: {GOLD}{COMMA} tegulas
|
||||
@@ -4027,6 +4058,7 @@ STR_ORDER_CONDITIONAL_AGE :aetas (annorum)
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :ministrandum
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :semper
|
||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :aetas reliqua (anni)
|
||||
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Constantia maxima
|
||||
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Quomodo valores electi componuntur indicio vehiculi
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :aequalis est
|
||||
|
@@ -1258,7 +1258,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :Factor de veloc
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Establece la velocidad relativa de las aeronaves comparada con la de otros vehículos para reducir las utilidades de transportación aérea
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1/{COMMA}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES :Cantidad de accidentes aéreos: {STRING}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Probabilidad de que ocurran accidentes aéreos
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Probabilidad de que ocurran accidentes aéreos.{}* Las aeronaves grandes son más propensas a accidentes en areopuertos pequeños
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ninguno*
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reducida
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal
|
||||
@@ -1584,6 +1584,10 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Los jugadores p
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Prohibido
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, diseño urbano personalizado
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Generación de cargamento en pueblios: {STRING}
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Cantidad de cargamento producido por las casas con relación a la población.{}Crecimiento cuadrado: un pueblo de doble tamaño genera el cuádruple de pasajeros.{}Crecimiento lineal: un pueblo de doble tamaño genera el doble de pasajeros.
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Cuadrado
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineal
|
||||
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Crecimiento de árboles durante la partida: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controlar la aparición aleatoria de árboles durante la partida. Esto puede afectar industrias que dependen del crecimiento de árboles, como los aserraderos
|
||||
@@ -2131,7 +2135,7 @@ STR_NETWORK_CHAT_ALL :[Todos] {STRING
|
||||
STR_NETWORK_CHAT_OSKTITLE :{BLACK}Introducir mensaje para el chat en red
|
||||
|
||||
# Network messages
|
||||
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}No se encontraron ni compilaron dispositivos sin soporte de red
|
||||
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}No se encontraron dispositivos de red
|
||||
STR_NETWORK_ERROR_NOSERVER :{WHITE}No se pudo encontrar ninguna partida en red
|
||||
STR_NETWORK_ERROR_NOCONNECTION :{WHITE}El servidor no responde a la petición
|
||||
STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}No se pudo conectar debido a incompatibilidad de NewGRF
|
||||
@@ -3024,6 +3028,7 @@ STR_NEWGRF_BUGGY :{WHITE}El NewGR
|
||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La información de cargamento o reequipamiento para '{1:ENGINE}' difiere de la lista de compra después de la construcción. Esto puede causar que la renovación y el reemplazo automático no haga el reequipamiento correcta
|
||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la llamada de producción
|
||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}La llamada {1:HEX} devolvió un resultado desconocido o no válido {2:HEX}
|
||||
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' retornó un tipo inválido de cargamento en la llamada de producción en {2:HEX}
|
||||
|
||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||
STR_NEWGRF_INVALID_CARGO :<cargamento no válido>
|
||||
@@ -3463,6 +3468,7 @@ STR_BUY_VEHICLE_SHIP_CAPTION :Nuevos barcos
|
||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuevas aeronaves
|
||||
|
||||
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Costo: {GOLD}{CURRENCY_LONG}{BLACK} Peso: {GOLD}{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Costo: {GOLD}{CURRENCY_LONG}{BLACK} (Costo de reformación: {GOLD}{CURRENCY_LONG}{BLACK}) Peso: {GOLD}{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Velocidad: {GOLD}{VELOCITY}{BLACK} Potencia: {GOLD}{POWER}
|
||||
STR_PURCHASE_INFO_SPEED :{BLACK}Velocidad: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Velocidad en océano: {GOLD}{VELOCITY}
|
||||
@@ -3473,8 +3479,10 @@ STR_PURCHASE_INFO_REFITTABLE :(reequipable)
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Diseñado: {GOLD}{NUM}{BLACK} Duración: {GOLD}{COMMA} año{P "" s}
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Máx. fiabilidad: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Costo: {GOLD}{CURRENCY_LONG}
|
||||
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Costo: {GOLD}{CURRENCY_LONG}{BLACK} (Costo de reformación: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Peso: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Costo: {GOLD}{CURRENCY_LONG}{BLACK} Velocidad: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Costo: {GOLD}{CURRENCY_LONG}{BLACK} (Costo de reformación: {GOLD}{CURRENCY_LONG}{BLACK}) Velocidad: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacidad: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones con motor: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reforma: {GOLD}{STRING}
|
||||
@@ -3495,12 +3503,20 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Comprar
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Comprar
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Comprar
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar y reformar tren
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar y reformar vehículo
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar y reformar barco
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar y reformar aeronave
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar el tren elegido. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar el vehículo de carretera elegido. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar el barco elegido. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar la aeronave elegida. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar tren seleccionado. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar vehículo seleccionado. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar barco seleccionado. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar areonave seleccionada. Mayús+Clic muestra una estimación del precio sin realizar la compra
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Cambiar nombre
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Cambiar nombre
|
||||
|
@@ -139,7 +139,10 @@ void LinkGraph::RemoveNode(NodeID id)
|
||||
node_edges[id] = node_edges[last_node];
|
||||
}
|
||||
Station::Get(this->nodes[last_node].station)->goods[this->cargo].node = id;
|
||||
this->nodes.erase(this->nodes.begin() + id);
|
||||
/* Erase node by swapping with the last element. Node index is referenced
|
||||
* directly from station goods entries so the order and position must remain. */
|
||||
this->nodes[id] = this->nodes.back();
|
||||
this->nodes.pop_back();
|
||||
this->edges.EraseColumn(id);
|
||||
/* Not doing EraseRow here, as having the extra invalid row doesn't hurt
|
||||
* and removing it would trigger a lot of memmove. The data has already
|
||||
|
@@ -58,6 +58,8 @@ const char *MusicDriver_FluidSynth::Start(const char * const *param)
|
||||
/* Create the settings. */
|
||||
_midi.settings = new_fluid_settings();
|
||||
if (!_midi.settings) return "Could not create midi settings";
|
||||
/* Don't try to lock sample data in memory, OTTD usually does not run with privileges allowing that */
|
||||
fluid_settings_setint(_midi.settings, "synth.lock-memory", 0);
|
||||
|
||||
/* Create the synthesizer. */
|
||||
_midi.synth = new_fluid_synth(_midi.settings);
|
||||
|
@@ -100,6 +100,7 @@ AirportSpec AirportSpec::specs[NUM_AIRPORTS]; ///< Airport specifications.
|
||||
assert(type < lengthof(AirportSpec::specs));
|
||||
const AirportSpec *as = &AirportSpec::specs[type];
|
||||
if (type >= NEW_AIRPORT_OFFSET && !as->enabled) {
|
||||
if (_airport_mngr.GetGRFID(type) == 0) return as;
|
||||
byte subst_id = _airport_mngr.GetSubstituteID(type);
|
||||
if (subst_id == AT_INVALID) return as;
|
||||
as = &AirportSpec::specs[subst_id];
|
||||
@@ -129,6 +130,24 @@ bool AirportSpec::IsAvailable() const
|
||||
return _cur_year <= this->max_year;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the airport would be within the map bounds at the given tile.
|
||||
* @param table Selected layout table. This affects airport rotation, and therefore dimenions.
|
||||
* @param tile Top corner of the airport.
|
||||
* @return true iff the airport would be within the map bounds at the given tile.
|
||||
*/
|
||||
bool AirportSpec::IsWithinMapBounds(byte table, TileIndex tile) const
|
||||
{
|
||||
if (table >= this->num_table) return false;
|
||||
|
||||
byte w = this->size_x;
|
||||
byte h = this->size_y;
|
||||
if (this->rotation[table] == DIR_E || this->rotation[table] == DIR_W) Swap(w, h);
|
||||
|
||||
return TileX(tile) + w < MapSizeX() &&
|
||||
TileY(tile) + h < MapSizeY();
|
||||
}
|
||||
|
||||
/**
|
||||
* This function initializes the airportspec array.
|
||||
*/
|
||||
|
@@ -123,6 +123,7 @@ struct AirportSpec {
|
||||
static AirportSpec *GetWithoutOverride(byte type);
|
||||
|
||||
bool IsAvailable() const;
|
||||
bool IsWithinMapBounds(byte table, TileIndex index) const;
|
||||
|
||||
static void ResetAirports();
|
||||
|
||||
|
@@ -29,7 +29,6 @@
|
||||
#include "core/random_func.hpp"
|
||||
#include "aircraft.h"
|
||||
#include "roadveh.h"
|
||||
#include "ship.h"
|
||||
#include "station_base.h"
|
||||
#include "waypoint_base.h"
|
||||
#include "company_base.h"
|
||||
@@ -1085,42 +1084,6 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
||||
if (!Order::CanAllocateItem()) return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
|
||||
if (v->orders.list == NULL && !OrderList::CanAllocateItem()) return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
|
||||
|
||||
if (v->type == VEH_SHIP && _settings_game.pf.pathfinder_for_ships != VPF_NPF) {
|
||||
/* Make sure the new destination is not too far away from the previous */
|
||||
const Order *prev = NULL;
|
||||
uint n = 0;
|
||||
|
||||
/* Find the last goto station or depot order before the insert location.
|
||||
* If the order is to be inserted at the beginning of the order list this
|
||||
* finds the last order in the list. */
|
||||
const Order *o;
|
||||
FOR_VEHICLE_ORDERS(v, o) {
|
||||
switch (o->GetType()) {
|
||||
case OT_GOTO_STATION:
|
||||
case OT_GOTO_DEPOT:
|
||||
case OT_GOTO_WAYPOINT:
|
||||
prev = o;
|
||||
break;
|
||||
|
||||
default: break;
|
||||
}
|
||||
if (++n == sel_ord && prev != NULL) break;
|
||||
}
|
||||
if (prev != NULL) {
|
||||
uint dist;
|
||||
if (new_order.IsType(OT_CONDITIONAL)) {
|
||||
/* The order is not yet inserted, so we have to do the first iteration here. */
|
||||
dist = GetOrderDistance(prev, v->GetOrder(new_order.GetConditionSkipToOrder()), v);
|
||||
} else {
|
||||
dist = GetOrderDistance(prev, &new_order, v);
|
||||
}
|
||||
|
||||
if (dist >= SHIP_MAX_ORDER_DISTANCE) {
|
||||
return_cmd_error(STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
Order *new_o = new Order();
|
||||
new_o->AssignOrder(new_order);
|
||||
|
41
src/rail.cpp
41
src/rail.cpp
@@ -358,13 +358,14 @@ RailTypes AddDateIntroducedRailTypes(RailTypes current, Date date)
|
||||
/**
|
||||
* Get the rail types the given company can build.
|
||||
* @param company the company to get the rail types for.
|
||||
* @param introduces If true, include rail types introduced by other rail types
|
||||
* @return the rail types.
|
||||
*/
|
||||
RailTypes GetCompanyRailtypes(CompanyID company)
|
||||
RailTypes GetCompanyRailtypes(CompanyID company, bool introduces)
|
||||
{
|
||||
RailTypes rts = RAILTYPES_NONE;
|
||||
|
||||
Engine *e;
|
||||
const Engine *e;
|
||||
FOR_ALL_ENGINES_OF_TYPE(e, VEH_TRAIN) {
|
||||
const EngineInfo *ei = &e->info;
|
||||
|
||||
@@ -374,12 +375,46 @@ RailTypes GetCompanyRailtypes(CompanyID company)
|
||||
|
||||
if (rvi->railveh_type != RAILVEH_WAGON) {
|
||||
assert(rvi->railtype < RAILTYPE_END);
|
||||
if (introduces) {
|
||||
rts |= GetRailTypeInfo(rvi->railtype)->introduces_railtypes;
|
||||
} else {
|
||||
SetBit(rts, rvi->railtype);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return AddDateIntroducedRailTypes(rts, _date);
|
||||
if (introduces) return AddDateIntroducedRailTypes(rts, _date);
|
||||
return rts;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of rail types, regardless of company availability.
|
||||
* @param introduces If true, include rail types introduced by other rail types
|
||||
* @return the rail types.
|
||||
*/
|
||||
RailTypes GetRailTypes(bool introduces)
|
||||
{
|
||||
RailTypes rts = RAILTYPES_NONE;
|
||||
|
||||
const Engine *e;
|
||||
FOR_ALL_ENGINES_OF_TYPE(e, VEH_TRAIN) {
|
||||
const EngineInfo *ei = &e->info;
|
||||
if (!HasBit(ei->climates, _settings_game.game_creation.landscape)) continue;
|
||||
|
||||
const RailVehicleInfo *rvi = &e->u.rail;
|
||||
if (rvi->railveh_type != RAILVEH_WAGON) {
|
||||
assert(rvi->railtype < RAILTYPE_END);
|
||||
if (introduces) {
|
||||
rts |= GetRailTypeInfo(rvi->railtype)->introduces_railtypes;
|
||||
} else {
|
||||
SetBit(rts, rvi->railtype);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (introduces) return AddDateIntroducedRailTypes(rts, MAX_DAY);
|
||||
return rts;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -455,7 +455,8 @@ bool ValParamRailtype(const RailType rail);
|
||||
RailTypes AddDateIntroducedRailTypes(RailTypes current, Date date);
|
||||
|
||||
RailType GetBestRailtype(const CompanyID company);
|
||||
RailTypes GetCompanyRailtypes(const CompanyID c);
|
||||
RailTypes GetCompanyRailtypes(CompanyID company, bool introduces = true);
|
||||
RailTypes GetRailTypes(bool introduces);
|
||||
|
||||
RailType GetRailTypeByLabel(RailTypeLabel label, bool allow_alternate_labels = true);
|
||||
|
||||
|
@@ -2182,20 +2182,20 @@ void InitializeRailGUI()
|
||||
*/
|
||||
DropDownList *GetRailTypeDropDownList(bool for_replacement, bool all_option)
|
||||
{
|
||||
RailTypes used_railtypes = RAILTYPES_NONE;
|
||||
|
||||
/* Find the used railtypes. */
|
||||
Engine *e;
|
||||
FOR_ALL_ENGINES_OF_TYPE(e, VEH_TRAIN) {
|
||||
if (!HasBit(e->info.climates, _settings_game.game_creation.landscape)) continue;
|
||||
|
||||
used_railtypes |= GetRailTypeInfo(e->u.rail.railtype)->introduces_railtypes;
|
||||
}
|
||||
|
||||
/* Get the date introduced railtypes as well. */
|
||||
used_railtypes = AddDateIntroducedRailTypes(used_railtypes, MAX_DAY);
|
||||
RailTypes used_railtypes;
|
||||
RailTypes avail_railtypes;
|
||||
|
||||
const Company *c = Company::Get(_local_company);
|
||||
|
||||
/* Find the used railtypes. */
|
||||
if (for_replacement) {
|
||||
avail_railtypes = GetCompanyRailtypes(c->index, false);
|
||||
used_railtypes = GetRailTypes(false);
|
||||
} else {
|
||||
avail_railtypes = c->avail_railtypes;
|
||||
used_railtypes = GetRailTypes(true);
|
||||
}
|
||||
|
||||
DropDownList *list = new DropDownList();
|
||||
|
||||
if (all_option) {
|
||||
@@ -2223,9 +2223,9 @@ DropDownList *GetRailTypeDropDownList(bool for_replacement, bool all_option)
|
||||
StringID str = for_replacement ? rti->strings.replace_text : (rti->max_speed > 0 ? STR_TOOLBAR_RAILTYPE_VELOCITY : STR_JUST_STRING);
|
||||
DropDownListParamStringItem *item;
|
||||
if (for_replacement) {
|
||||
item = new DropDownListParamStringItem(str, rt, !HasBit(c->avail_railtypes, rt));
|
||||
item = new DropDownListParamStringItem(str, rt, !HasBit(avail_railtypes, rt));
|
||||
} else {
|
||||
DropDownListIconItem *iconitem = new DropDownListIconItem(rti->gui_sprites.build_x_rail, PAL_NONE, str, rt, !HasBit(c->avail_railtypes, rt));
|
||||
DropDownListIconItem *iconitem = new DropDownListIconItem(rti->gui_sprites.build_x_rail, PAL_NONE, str, rt, !HasBit(avail_railtypes, rt));
|
||||
iconitem->SetDimension(d);
|
||||
item = iconitem;
|
||||
}
|
||||
|
@@ -24,6 +24,8 @@
|
||||
* \li AIGroup::SetSecondaryColour
|
||||
* \li AIGroup::GetPrimaryColour
|
||||
* \li AIGroup::GetSecondaryColour
|
||||
* \li AIVehicle::BuildVehicleWithRefit
|
||||
* \li AIVehicle::GetBuildWithRefitCapacity
|
||||
*
|
||||
* \b 1.9.0
|
||||
*
|
||||
|
@@ -19,6 +19,10 @@
|
||||
*
|
||||
* This version is not yet released. The following changes are not set in stone yet.
|
||||
*
|
||||
* API additions:
|
||||
* \li GSVehicle::BuildVehicleWithRefit
|
||||
* \li GSVehicle::GetBuildWithRefitCapacity
|
||||
*
|
||||
* \b 1.9.0
|
||||
*
|
||||
* API additions:
|
||||
|
@@ -136,8 +136,10 @@
|
||||
if (!::IsValidTile(tile)) return -1;
|
||||
if (!IsAirportInformationAvailable(type)) return -1;
|
||||
|
||||
if (_settings_game.economy.station_noise_level) {
|
||||
const AirportSpec *as = ::AirportSpec::Get(type);
|
||||
if (!as->IsWithinMapBounds(0, tile)) return -1;
|
||||
|
||||
if (_settings_game.economy.station_noise_level) {
|
||||
AirportTileTableIterator it(as->table[0], tile);
|
||||
uint dist;
|
||||
AirportGetNearestTown(as, it, dist);
|
||||
@@ -155,6 +157,8 @@
|
||||
if (!IsAirportInformationAvailable(type)) return INVALID_TOWN;
|
||||
|
||||
const AirportSpec *as = AirportSpec::Get(type);
|
||||
if (!as->IsWithinMapBounds(0, tile)) return INVALID_TOWN;
|
||||
|
||||
uint dist;
|
||||
return AirportGetNearestTown(as, AirportTileTableIterator(as->table[0], tile), dist)->index;
|
||||
}
|
||||
|
@@ -256,9 +256,6 @@
|
||||
if (!IsValidEngine(engine_id)) return 0;
|
||||
|
||||
switch (GetVehicleType(engine_id)) {
|
||||
case ScriptVehicle::VT_WATER:
|
||||
return _settings_game.pf.pathfinder_for_ships != VPF_NPF ? 129 : 0;
|
||||
|
||||
case ScriptVehicle::VT_AIR:
|
||||
return ::Engine::Get(engine_id)->GetRange() * ::Engine::Get(engine_id)->GetRange();
|
||||
|
||||
|
@@ -472,9 +472,6 @@
|
||||
|
||||
const ::Vehicle *v = ::Vehicle::Get(vehicle_id);
|
||||
switch (v->type) {
|
||||
case VEH_SHIP:
|
||||
return _settings_game.pf.pathfinder_for_ships != VPF_NPF ? 129 : 0;
|
||||
|
||||
case VEH_AIRCRAFT:
|
||||
return ::Aircraft::From(v)->acache.cached_max_range_sqr;
|
||||
|
||||
|
@@ -60,8 +60,6 @@ struct Ship FINAL : public SpecializedVehicle<Ship, VEH_SHIP> {
|
||||
void SetDestTile(TileIndex tile);
|
||||
};
|
||||
|
||||
static const uint SHIP_MAX_ORDER_DISTANCE = 130;
|
||||
|
||||
/**
|
||||
* Iterate over all ships.
|
||||
* @param var The variable used for iteration.
|
||||
|
@@ -496,8 +496,8 @@ static Track ChooseShipTrack(Ship *v, TileIndex tile, DiagDirection enterdir, Tr
|
||||
bool path_found = true;
|
||||
Track track;
|
||||
|
||||
if (v->dest_tile == 0 || DistanceManhattan(tile, v->dest_tile) > SHIP_MAX_ORDER_DISTANCE + 5) {
|
||||
/* No destination or destination too far, don't invoke pathfinder. */
|
||||
if (v->dest_tile == 0) {
|
||||
/* No destination, don't invoke pathfinder. */
|
||||
track = TrackBitsToTrack(v->state);
|
||||
if (!IsDiagonalTrack(track)) track = TrackToOppositeTrack(track);
|
||||
if (!HasBit(tracks, track)) track = FindFirstTrack(tracks);
|
||||
|
@@ -241,7 +241,7 @@ static const LegendAndColour * const _legend_table[] = {
|
||||
SmallMapColourScheme _heightmap_schemes[] = {
|
||||
{NULL, _green_map_heights, lengthof(_green_map_heights), MKCOLOUR_XXXX(0x5B)}, ///< Green colour scheme.
|
||||
{NULL, _dark_green_map_heights, lengthof(_dark_green_map_heights), MKCOLOUR_XXXX(0x62)}, ///< Dark green colour scheme.
|
||||
{NULL, _violet_map_heights, lengthof(_violet_map_heights), MKCOLOUR_XXXX(0x82)}, ///< Violet colour scheme.
|
||||
{NULL, _violet_map_heights, lengthof(_violet_map_heights), MKCOLOUR_XXXX(0x81)}, ///< Violet colour scheme.
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -2403,6 +2403,7 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
|
||||
/* Check if a valid, buildable airport was chosen for construction */
|
||||
const AirportSpec *as = AirportSpec::Get(airport_type);
|
||||
if (!as->IsAvailable() || layout >= as->num_table) return CMD_ERROR;
|
||||
if (!as->IsWithinMapBounds(layout, tile)) return CMD_ERROR;
|
||||
|
||||
Direction rotation = as->rotation[layout];
|
||||
int w = as->size_x;
|
||||
|
@@ -223,6 +223,7 @@ static void GetVideoModes()
|
||||
for (int i = 0; modes[i]; i++) {
|
||||
uint w = modes[i]->w;
|
||||
uint h = modes[i]->h;
|
||||
if (w < 640 || h < 480) continue; // reject too small resolutions
|
||||
int j;
|
||||
for (j = 0; j < n; j++) {
|
||||
if (_resolutions[j].width == w && _resolutions[j].height == h) break;
|
||||
@@ -234,6 +235,7 @@ static void GetVideoModes()
|
||||
if (++n == lengthof(_resolutions)) break;
|
||||
}
|
||||
}
|
||||
if (n == 0) usererror("No usable screen resolutions found!\n");
|
||||
_num_resolutions = n;
|
||||
SortResolutions(_num_resolutions);
|
||||
}
|
||||
|
Reference in New Issue
Block a user