Merge branch 'master' into jgrpp

# Conflicts:
#	src/industry_cmd.cpp
This commit is contained in:
Jonathan G Rennison
2017-12-10 12:41:58 +00:00
21 changed files with 169 additions and 149 deletions

View File

@@ -66,7 +66,6 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
Date last_cargo_accepted_at; ///< Last day cargo was accepted by this industry Date last_cargo_accepted_at; ///< Last day cargo was accepted by this industry
byte selected_layout; ///< Which tile layout was used when creating the industry byte selected_layout; ///< Which tile layout was used when creating the industry
byte random_triggers; ///< Triggers for the random
uint16 random; ///< Random value used for randomisation of all kinds of things uint16 random; ///< Random value used for randomisation of all kinds of things
PersistentStorage *psa; ///< Persistent storage for NewGRF industries. PersistentStorage *psa; ///< Persistent storage for NewGRF industries.

View File

@@ -492,7 +492,12 @@ static CommandCost ClearTile_Industry(TileIndex tile, DoCommandFlag flags)
return CommandCost(EXPENSES_CONSTRUCTION, indspec->GetRemovalCost()); return CommandCost(EXPENSES_CONSTRUCTION, indspec->GetRemovalCost());
} }
static void TransportIndustryGoods(TileIndex tile) /**
* Move produced cargo from industry to nearby stations.
* @param tile Industry tile
* @return true if any cargo was moved.
*/
static bool TransportIndustryGoods(TileIndex tile)
{ {
Industry *i = Industry::GetByTile(tile); Industry *i = Industry::GetByTile(tile);
const IndustrySpec *indspec = GetIndustrySpec(i->type); const IndustrySpec *indspec = GetIndustrySpec(i->type);
@@ -517,16 +522,7 @@ static void TransportIndustryGoods(TileIndex tile)
} }
} }
if (moved_cargo && !StartStopIndustryTileAnimation(i, IAT_INDUSTRY_DISTRIBUTES_CARGO)) { return moved_cargo;
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
if (newgfx != INDUSTRYTILE_NOANIM) {
ResetIndustryConstructionStage(tile);
SetIndustryCompleted(tile);
SetIndustryGfx(tile, newgfx);
MarkTileDirtyByTile(tile, ZOOM_LVL_DRAW_MAP);
}
}
} }
@@ -811,7 +807,17 @@ static void TileLoop_Industry(TileIndex tile)
if (_game_mode == GM_EDITOR) return; if (_game_mode == GM_EDITOR) return;
TransportIndustryGoods(tile); if (TransportIndustryGoods(tile) && !StartStopIndustryTileAnimation(Industry::GetByTile(tile), IAT_INDUSTRY_DISTRIBUTES_CARGO)) {
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
if (newgfx != INDUSTRYTILE_NOANIM) {
ResetIndustryConstructionStage(tile);
SetIndustryCompleted(tile);
SetIndustryGfx(tile, newgfx);
MarkTileDirtyByTile(tile, ZOOM_LVL_DRAW_MAP);
return;
}
}
if (StartStopIndustryTileAnimation(tile, IAT_TILELOOP)) return; if (StartStopIndustryTileAnimation(tile, IAT_TILELOOP)) return;

View File

@@ -1286,8 +1286,8 @@ STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Aguardar {COMMA
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir população da cidade na janela da cidade: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir população da cidade na janela da cidade: {STRING}
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grossura das linhas nos gráficos: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das linhas nos gráficos: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grossura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir. STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir.
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING} STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino
@@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Mover a tela com o botão esquerdo: {STRING} STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Mover a tela com o botão esquerdo: {STRING}
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Ativa rolamento do mapa por clique e arraste com o botão esquerdo. Especialmente útil ao usar um touchscreen para o rolamento STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Ativa rolamento do mapa por clique e arraste com o botão esquerdo. Especialmente útil ao usar um touchscreen para o rolamento
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fechar janela com botão direito do mouse: {STRING}
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janela ao clicar com o botão direito do mouse nela. Desativa o tooltip com o botão direito!
STR_CONFIG_SETTING_AUTOSAVE :Auto-salvar: {STRING} STR_CONFIG_SETTING_AUTOSAVE :Auto-salvar: {STRING}
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecione intervalo entre jogos salvos automaticamente STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecione intervalo entre jogos salvos automaticamente
@@ -1536,12 +1538,12 @@ STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Exibe uma janel
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de sinal a ser construído: {STRING} STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de sinal a ser construído: {STRING}
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo padrão de sinal a se utilizar STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo padrão de sinal a se utilizar
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Avançado STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :De trajeto
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Avançado de mão única STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :De trajeto de mão única
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Tipo de sinal a ser exibido: {STRING} STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Tipo de sinal a ser exibido: {STRING}
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleciona quais tipos de sinal a exibir, quando Ctrl+Clicar em Construir Sinais com a ferramenta Sinal STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleciona quais tipos de sinal a exibir, quando Ctrl+Clicar em Construir Sinais com a ferramenta Sinal
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Normal apenas STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Normal apenas
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Avançados apenas STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :De trajeto apenas
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos
STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de ruas para novas cidades: {STRING} STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de ruas para novas cidades: {STRING}
@@ -1762,6 +1764,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Checar p
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Exibe configurações de IA e script do jogo STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Exibe configurações de IA e script do jogo
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD' STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD'
STR_INTRO_BASESET :{BLACK}Faltam {NUM} "sprite{P "" s}" no conjunto de gráficos base selecionado. Por favor verifique se há atualizações para ele.
STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nessa tradução. Por favor faça o OpenTTD melhor se inscrevendo como tradutor. Leia Readme.txt para mais detalhes. STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nessa tradução. Por favor faça o OpenTTD melhor se inscrevendo como tradutor. Leia Readme.txt para mais detalhes.
# Quit window # Quit window
@@ -2356,14 +2359,14 @@ STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinais p
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de saída (semáforo){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de saída (semáforo){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal combo (semáforo){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal combo (semáforo){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal avançado(Semáforo){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de trajeto(Semáforo){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Semáforo){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo, porém não permite a passagem na via contrária STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de trajeto de mão única(Semáforo){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo, porém não permite a passagem na via contrária
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal Padrão (elétrico){}Sinais são necessários para impedir que trens batam em redes de ferrovias com mais de uma máquina STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal Padrão (elétrico){}Sinais são necessários para impedir que trens batam em redes de ferrovias com mais de uma máquina
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de saída(elétrico){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de saída(elétrico){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combo (elétrico){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações de pré-sinais STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combo (elétrico){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações de pré-sinais
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de trajeto(Elétrico){}Um sinal de trajeto permite mais de um trem entrar em um bloco de sinal ao mesmo tempo, se o trem puder reservar um trajeto para um ponto seguro de parada. Sinais de trajeto padrões podem ser passados pelo lado de trás STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de trajeto (Elétrico){}Um sinal de trajeto permite mais de um trem entrar em um bloco de sinal ao mesmo tempo, se o trem puder reservar um trajeto para um ponto seguro de parada. Sinais de trajeto padrões podem ser passados pelo lado de trás
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Elétrico){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo, porém não permite a passagem na via contrária STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Elétrico){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo, porém não permite a passagem na via contrária
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Quando selecionado, clicar num sinal existente converte-o para o tipo selecionado e suas variantes. Ctrl+Clique muda a variante atual. Shift+Clique mostra o preço estimado da conversão STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Quando selecionado, clicar num sinal existente converte-o para o tipo selecionado e suas variantes. Ctrl+Clique muda a variante atual. Shift+Clique mostra o preço estimado da conversão
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densidade dos sinais ao clicar e arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densidade dos sinais ao clicar e arrastar
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a densidade dos sinais STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a densidade dos sinais
@@ -2588,6 +2591,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nome da
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE}
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de ferrovia: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY}
@@ -2600,29 +2604,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Campos
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Neve STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Neve
STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto
STR_LAI_RAIL_DESCRIPTION_TRACK :Trilho de Ferrovia STR_LAI_RAIL_DESCRIPTION_TRACK :Trilho de ferrovia
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trilho de Ferrovia 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 Ferrovia 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 Ferrovia 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 Ferrovia 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 Ferrovia com sinais avançados STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trilho de ferrovia com sinais de trajeto
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de Ferrovia com sinais avançados de mão única STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de Ferrovia com sinais de trajeto de mão única
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trilho de Ferrovia com sinais normais e pré-sinais STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trilho de ferrovia com sinais normais e pré-sinais
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trilho de Ferrovia com sinais normais e pré-sinais STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trilho de ferrovia com sinais normais e pré-sinais
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de Ferrovia com sinais normais e sinais-combo STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de ferrovia com sinais normais e sinais-combo
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de Ferrovia com sinais normais e avançados STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de ferrovia com sinais normais e de trajeto
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_NORMAL_NOENTRYSIGNALS :Trilho de ferrovia com sinais normais e de trajeto de mão única
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trilho de Ferrovia com pré-sinais e de saída STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trilho de ferrovia com pré-sinais e de saída
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de Ferrovia com pré-sinais e sinais-combo STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de ferrovia com pré-sinais e sinais-combo
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_PBSSIGNALS :Trilho de ferrovia com pré-sinais e sinais de trajeto
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_PRE_NOENTRYSIGNALS :Trilho de ferrovia com pré-sinais de trajeto e de mão única
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trilho de Ferrovia com sinais de saída e sinais-combo STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trilho de ferrovia com sinais de saída e sinais-combo
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trilho de Ferrovia com sinais de saída e avançados STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trilho de ferrovia com sinais de saída e de trajeto
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Trilho de Ferrovia 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 de trajeto e de mão única
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de Ferrovia com sinais-combo e avançados STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de ferrovia com sinais-combo e de trajeto
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_COMBO_NOENTRYSIGNALS :Trilho de ferrovia com sinais-combo de trajeto e 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_TRACK_WITH_PBS_NOENTRYSIGNALS :Trilho de ferrovia com sinais de trajeto normais e de mão única
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de Ferrovia 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
@@ -3293,6 +3297,11 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requer:
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
############ range for requires ends ############ range for requires ends
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}aguardando
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
############ range for produces starts ############ range for produces starts
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}
@@ -3361,6 +3370,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos o
STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo
STR_GROUP_PROFIT_THIS_YEAR :Lucros deste ano:
STR_GROUP_PROFIT_LAST_YEAR :Lucros do ano passado:
STR_GROUP_OCCUPANCY :Uso atual:
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
# Build vehicle window # Build vehicle window
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários
@@ -3393,6 +3406,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Todos as cargas
STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE} STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING}
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de trens - clique num trem para informações. Cltr+Clique para alterar a visibilidade do tipo de trem STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de trens - clique num trem para informações. Cltr+Clique para alterar a visibilidade do tipo de trem
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de automóveis - clique num automóvel para informações. Cltr+Clique para alterar a visibilidade do tipo de automóvel STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de automóveis - clique num automóvel para informações. Cltr+Clique para alterar a visibilidade do tipo de automóvel
@@ -3527,6 +3541,10 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva magl
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de manutenção: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de manutenção: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Vel.: {VELOCITY} Potência: {POWER} Tração Máx: {6:FORCE}{}Custo de manutenção: {4:CURRENCY_LONG}/yr{}Capacidade: {5:CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Vel.: {VELOCITY} Potência: {POWER} Tração Máx: {6:FORCE}{}Custo de manutenção: {4:CURRENCY_LONG}/yr{}Capacidade: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Vel. Max.: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de manuteção: {CURRENCY_LONG}/ano STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Vel. Max.: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de manuteção: {CURRENCY_LONG}/ano
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidade: {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
# Autoreplace window # Autoreplace window
STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING} STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING}
@@ -3556,6 +3574,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Pression
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Troca entre substituir máquinas e substituir vagões STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Troca entre substituir máquinas e substituir vagões
STR_REPLACE_ENGINES :Motores STR_REPLACE_ENGINES :Motores
STR_REPLACE_WAGONS :Vagões STR_REPLACE_WAGONS :Vagões
STR_REPLACE_ALL_RAILTYPE :Todos os veículos ferroviários
STR_REPLACE_HELP_RAILTYPE :{BLACK}Escolha o tipo de ferrovia para o qual deseja efetuar a substituição dos motores STR_REPLACE_HELP_RAILTYPE :{BLACK}Escolha o tipo de ferrovia para o qual deseja efetuar a substituição dos motores
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o tipo de motor que substituirá o que está selecionado à esquerda, se algum STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o tipo de motor que substituirá o que está selecionado à esquerda, se algum
@@ -3648,6 +3667,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ano{P "
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA})
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade Max: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade Max: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vel. Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING}
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Vel. Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} quadrados
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}
@@ -3778,7 +3799,7 @@ STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Percentual carr
STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade
STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima
STR_ORDER_CONDITIONAL_AGE :Idade (anos) STR_ORDER_CONDITIONAL_AGE :Idade (anos)
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessia de manutenção STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita de manutenção
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos) STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos)

View File

@@ -572,7 +572,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zumirano do kra
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD' STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnjanje sprite-a STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnanje spritea
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granične okvire STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granične okvire
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Mijenjaj boju blatnih blokova STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Mijenjaj boju blatnih blokova
############ range ends here ############ range ends here
@@ -778,7 +778,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klikni n
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikni na glazbenu traku kako bi ju uklonio iz trenutnog programa (samo Proizvoljno 1 ili Proizvoljno 2) STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikni na glazbenu traku kako bi ju uklonio iz trenutnog programa (samo Proizvoljno 1 ili Proizvoljno 2)
# Highscore window # Highscore window
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Najbolje tvrtke koje su dosigle razinu {NUM} STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Najbolje tvrtke do {NUM}. godine
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tablica tvrtki u {NUM} STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tablica tvrtki u {NUM}
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Privrednik STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Privrednik
@@ -962,13 +962,13 @@ STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION
STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku} STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku}
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku} i {STRING.aku} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku} i {STRING.aku}
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Istekla je ponuda subvencije:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više neće biti subvencioniran STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Istekla je ponuda za poticaje:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više neće biti potican
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija je povučena:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više nije subvencioniran STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija je povučena:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više nije subvencioniran
STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuđena je subvencija:{}{}Prvi koji preveze {STRING.aku} od {STRING} do {STRING} primat će jednogodišnju subvenciju od lokalne samouprave! STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuđen je poticaj:{}{}Prvi koji preveze {STRING.aku} od {STRING} do {STRING} primat će jednogodišnji poticaj lokalne samouprave!
STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se 50% više sljedećih godinu dana! STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se 50% više sljedećih godinu dana!
STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se dvostruko sljedećih godinu dana! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se dvostruko sljedećih godinu dana!
STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se trostruko sljedećih godinu dana! STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Poticaj je dodijeljen tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se trostruko sljedećih godinu dana!
STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se četverostruko sljedećih godinu dana! STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Poticaj je dodijeljen tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se četverostruko sljedećih godinu dana!
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Grad {TOWN} zahvatio je prometni kaos!{}{}Program rekonstrukcije cesta koji financira tvrtka {STRING} sljedećih će 6 mjeseci zadavati glavobolje motoriziranima! STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Grad {TOWN} zahvatio je prometni kaos!{}{}Program rekonstrukcije cesta koji financira tvrtka {STRING} sljedećih će 6 mjeseci zadavati glavobolje motoriziranima!
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopol transporta! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopol transporta!
@@ -1245,7 +1245,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Brzina gradnje:
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitiraj količinu građevinskih akcija za UI-je STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitiraj količinu građevinskih akcija za UI-je
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Kvarovi vozila: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Kvarovi vozila: {STRING}
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontroliraj kako često se mogu pokvariti loše servisirana vozila STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontroliraj kako često se mogu pokvariti loše servisirana vozila
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Množitelj za subvencije: {STRING} STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Množitelj za poticaje: {STRING}
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Postavi koliko se plaća za subvencionirane veze STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Postavi koliko se plaća za subvencionirane veze
STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Građevinski troškovi: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Građevinski troškovi: {STRING}
STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Postavi razinu građevinskih troškova i troškova kupnje STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Postavi razinu građevinskih troškova i troškova kupnje
@@ -1385,9 +1385,9 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debljina linija
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati
STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING} STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni definiraju osnovne scenarije za igru sa različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre dozvoljavaju detaljnije kontrole i postavke. STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni određuju osnovne scenarije za igru s različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre omogućavaju detaljnije kontrole i postavke.
STR_CONFIG_SETTING_LAND_GENERATOR :Generator zemlje: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Generator zemlje: {STRING}
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originalni generator ovisi o baznom grafičkom setu i stvara fiksne oblike u terenu. TerraGenesis je generator baziran na Perlinu sa detaljnijim kontrolama i postavkama. STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Izvorni generator ovisi o osnovnom grafičkom setu i stvara fiksne oblike terena. TerraGenesis je generator temeljen na Perlinovom šumu s detaljnijim kontrolama i postavkama.
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Izvorni STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Izvorni
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
STR_CONFIG_SETTING_TERRAIN_TYPE :Vrsta terena: {STRING} STR_CONFIG_SETTING_TERRAIN_TYPE :Vrsta terena: {STRING}
@@ -1580,17 +1580,17 @@ STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Uključivanjem
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Dolazak prvog vozila na postaju igrača: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Dolazak prvog vozila na postaju igrača: {STRING}
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Prikaži novine kada prvo vozilo dođe na stanicu novog igrača STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Prikaži novine kada prvo vozilo dođe na stanicu novog igrača
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Dolazak prvog vozila na postaju suparnika: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Dolazak prvog vozila na postaju suparnika: {STRING}
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Prikaži novine kada prvo vozilo dođe na suparnikovu stanicu STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Prikaži novosti kada prvo vozilo dođe na protivničku postaju
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Nesreće / katastrofe: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Nesreće / katastrofe: {STRING}
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Prikaži novine kod nesreća ili katastrofa STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Prikaži novine kod nesreća ili katastrofa
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Podaci vezani za tvrtku: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Podaci vezani za tvrtku: {STRING}
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikaži novine kada se pojavi nova tvrtka ili kada tvrtke riskiraju bankrot STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikaži novosti kada se pojavi nova tvrtka ili kada tvrtke riskiraju bankrot
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje industrije: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje industrije: {STRING}
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikaži novine kada se nove industrije otvaraju STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikaži novine kada se nove industrije otvaraju
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje industrije: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje industrije: {STRING}
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novine kada se industrije zatvaraju STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novosti kada se industrije zatvaraju
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Promjene u gospodarstvu: {STRING} STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Gospodarske promjene: {STRING}
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novine vezano za globalne promjene u ekonomiji STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novosti vezane za globalne gospodarske promjene
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promjene u proizvodnji industrija koje opslužuje tvrtka: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promjene u proizvodnji industrija koje opslužuje tvrtka: {STRING}
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka opslužuje STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka opslužuje
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promjene u proizvodnji industrija koje opslužuju suparnici: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promjene u proizvodnji industrija koje opslužuju suparnici: {STRING}
@@ -1602,11 +1602,11 @@ STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Prikaži poruke
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING}
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikaži novine kada neki novi tip vozila postane dostupan STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikaži novine kada neki novi tip vozila postane dostupan
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Promjene u prihvaćanju tereta: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Promjene u prihvaćanju tereta: {STRING}
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Prikaži poruke o stanicama koje mijenjaju prihvaćanje nekih tereta STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Prikaži poruke o postajama koje mijenjaju prihvaćanje nekih tereta
STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencije: {STRING} STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencije: {STRING}
STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikaži novine vezano za događaje o subvencijama STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikaži novosti vezane za poticaje
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Opće informacije: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Opće informacije: {STRING}
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikaži novine vezano za opće događaje kao za kupnju ekskluzivnih prava ili financiranje rekonstrukcije cesta STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikaži novosti vezane za opće događaje kao što su kupnja ekskluzivnih prava ili financiranje rekonstrukcije cesta
STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Isključeno STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Isključeno
STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Sažetak STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Sažetak
@@ -1615,7 +1615,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Sve
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING} STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine
STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING} STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi tečnu ekonomiju (više manjih izazova): {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi stabilno gospodarstvo (više manjih izazova): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a
STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dopušta se kupnja i prodaja dionica tvrtki. Dionice će postati dostupne samo za tvrtke određene starosti STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dopušta se kupnja i prodaja dionica tvrtki. Dionice će postati dostupne samo za tvrtke određene starosti
@@ -1651,11 +1651,11 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Nasumično
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Gradovi mogu graditi ceste: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Gradovi mogu graditi ceste: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Dopusti gradovima građenje cesta u svrhu rasta. Isključi za sprečavanje gradskih vlasti u samostalnoj gradnji cesta STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Dopusti gradovima građenje cesta u svrhu rasta. Isključi za sprečavanje gradskih vlasti u samostalnoj gradnji cesta
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Gradovi smiju graditi pružne prijelaze: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Gradovi smiju graditi pružne prijelaze: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Uključivanje ove postavke dozvoljava se gradovima da grade cestovno-pružne prijelaze STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Uključivanje ove postavke dopušta gradovima izgradnju cestovno-pružnih prijelaza
STR_CONFIG_SETTING_NOISE_LEVEL :Omogući određivanje razine buke za zračne luke od strane gradova: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL :Omogući određivanje razine buke za zračne luke od strane gradova: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dvije zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je ograničen količinom dopuštene buke u gradu, koja ovisi o broju stanovnika i udaljenosti i veličini zračne luke STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dvije zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je ograničen količinom dopuštene buke u gradu, koja ovisi o broju stanovnika i udaljenosti i veličini zračne luke
STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje gradova tijekom igre: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje gradova tijekom igre: {STRING}
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Uklučivanje ove postavke dozvoljava igračima osnivanje novih gradova tijekom igre STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Uklučivanje ove postavke dopušta igračima osnivanje novih gradova tijekom igre
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabranjeno STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabranjeno
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dopušteno STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dopušteno
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dopušteno, proizvoljan raspored grada STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dopušteno, proizvoljan raspored grada
@@ -1882,8 +1882,8 @@ STR_OSNAME_SUNOS :SunOS
# Abandon game # Abandon game
STR_ABANDON_GAME_CAPTION :{WHITE}Napusti igru STR_ABANDON_GAME_CAPTION :{WHITE}Napusti igru
STR_ABANDON_GAME_QUERY :{YELLOW}Jesi li siguran da želiš napustiti ovu igru? STR_ABANDON_GAME_QUERY :{YELLOW}Doista želiš napustiti ovu igru?
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Jesi li siguran da želiš napustiti ovaj scenarij? STR_ABANDON_SCENARIO_QUERY :{YELLOW}Doista želiš napustiti ovaj scenarij?
# Cheat window # Cheat window
STR_CHEATS :{WHITE}Varanje STR_CHEATS :{WHITE}Varanje
@@ -2375,7 +2375,7 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Namjesti
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Učini objekte nevidljivima umjesto prozirnima STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Učini objekte nevidljivima umjesto prozirnima
# Linkgraph legend window # Linkgraph legend window
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legenda protoka tereta STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Kazalo protoka tereta
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Sve STR_LINKGRAPH_LEGEND_ALL :{BLACK}Sve
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ništa STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ništa
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi tvrtke koje će se prikazati STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi tvrtke koje će se prikazati
@@ -2450,13 +2450,13 @@ STR_STATION_CLASS_WAYP :Čvorišta
# Signal window # Signal window
STR_BUILD_SIGNAL_CAPTION :{WHITE}Izbornik signala STR_BUILD_SIGNAL_CAPTION :{WHITE}Izbornik signala
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Standardni signal (semafor){}Ovo je najosnovnija vrsta signala, dozvoljava istovremeno samo jedan vlak u bloku STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Standardni signal (semafor){}Ovo je najosnovnija vrsta signala, dopušta istovremeno samo jedan vlak u bloku
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ulazni signal (semafor){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ulazni signal (semafor){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Izlazni signal (semafor){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Izlazni signal (semafor){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Kombo signal (semafor){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala. STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Kombo signal (semafor){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Standardne putne signale moguće je proći iz suprotnog smjera. STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Standardne putne signale moguće je proći iz suprotnog smjera.
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Jednosmjerni putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Jednosmjerne putne signale nije moguće proći iz suprotnog smjera STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Jednosmjerni putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Jednosmjerne putne signale nije moguće proći iz suprotnog smjera
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standardni signal (električni){}Ovo je najosnovnija vrsta signala, dozvoljava istovremeno samo jedan vlak u bloku STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standardni signal (električni){}Ovo je najosnovnija vrsta signala, istovremeno dopušta samo jedan vlak u bloku
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ulazni signal (električni){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ulazni signal (električni){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Izlazni signal (električni){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima. STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Izlazni signal (električni){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima.
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombo signal (električni){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala. STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombo signal (električni){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
@@ -2570,7 +2570,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Proizved
STR_LANDSCAPING_TOOLBAR :{WHITE}Uređivanje krajolika STR_LANDSCAPING_TOOLBAR :{WHITE}Uređivanje krajolika
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Snizi jedan kut zemlje. Povlačenje snižava prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova. STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Snizi jedan kut zemlje. Povlačenje snižava prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Podigni jedan kut zemlje. Povlačenje podiže prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova. STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Podigni jedan kut zemlje. Povlačenje podiže prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Poravnaj područje zemlje na visinu prvog odabranog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova. STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Izravnaj zemlju na visinu prvog odabranog kuta. Ctrl odabire područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kupi zemlju za buduću uporabu. Shift mijenja prikaz građenje/procjena troškova. STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kupi zemlju za buduću uporabu. Shift mijenja prikaz građenje/procjena troškova.
# Object construction window # Object construction window

View File

@@ -1762,6 +1762,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verifica
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostrar definições de IA e de script de jogo STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostrar definições de IA e de script de jogo
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair de 'OpenTTD' STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair de 'OpenTTD'
STR_INTRO_BASESET :{BLACK}O conjunto de gráficos base seleccionado tem {NUM} sprite{P "" s} em falta. Por favor verifique se existem atualizações para o conjunto.
STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nesta tradução. Ajude o OpenTTD em inscrever-se como tradutor. Leia readme.txt para mais detalhes. STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nesta tradução. Ajude o OpenTTD em inscrever-se como tradutor. Leia readme.txt para mais detalhes.
# Quit window # Quit window
@@ -3293,6 +3294,8 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Necessá
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessário: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessário: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
############ range for requires ends ############ range for requires ends
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}a aguardar
############ range for produces starts ############ range for produces starts
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}
@@ -3361,6 +3364,8 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos o
STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo
STR_GROUP_PROFIT_LAST_YEAR :Lucro no último ano:
STR_GROUP_OCCUPANCY :Utilização actual:
# Build vehicle window # Build vehicle window
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários
@@ -3527,6 +3532,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva magl
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de circulação: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de circulação: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG}
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER} Máx. F.T.: {6:FORCE}{}Custo de circulação: {4:CURRENCY_LONG}/ano{}Capacidade: {5:CARGO_LONG} STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER} Máx. F.T.: {6:FORCE}{}Custo de circulação: {4:CURRENCY_LONG}/ano{}Capacidade: {5:CARGO_LONG}
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Máx. Velocidade: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de circulação: {CURRENCY_LONG}/ano STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Máx. Velocidade: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de circulação: {CURRENCY_LONG}/ano
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máxima: {VELOCITY}{}Tipo de Aeronave: {STRING} Alcance: {COMMA}{}Capacity: {CARGO_LONG}, {CARGO_LONG}{}Custo de circulação: {CURRENCY_LONG}/yr
# Autoreplace window # Autoreplace window
STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING} STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING}
@@ -3648,6 +3654,7 @@ STR_VEHICLE_INFO_AGE :{COMMA} ano{P "
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA})
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Máx. velocidade: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Máx. velocidade: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vel. máxima: {LTBLUE}{VELOCITY} {BLACK}Tipo de Aeronave: {LTBLUE}{STRING}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Max. velocidade: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Max. velocidade: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Máx. velocidade: {LTBLUE}{VELOCITY} {BLACK}Máx. E.T.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Máx. velocidade: {LTBLUE}{VELOCITY} {BLACK}Máx. E.T.: {LTBLUE}{FORCE}

View File

@@ -3363,6 +3363,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :移除所有车
STR_GROUP_RENAME_CAPTION :{BLACK}重命名分组 STR_GROUP_RENAME_CAPTION :{BLACK}重命名分组
STR_GROUP_PROFIT_THIS_YEAR :今年利润:
STR_GROUP_PROFIT_LAST_YEAR :去年利润 STR_GROUP_PROFIT_LAST_YEAR :去年利润
STR_GROUP_OCCUPANCY_VALUE :{NUM}% STR_GROUP_OCCUPANCY_VALUE :{NUM}%
@@ -3562,6 +3563,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}点击
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 :挂车
STR_REPLACE_ALL_RAILTYPE :所有铁路车辆
STR_REPLACE_HELP_RAILTYPE :{BLACK}选择要更新的车辆对应的铁路类型 STR_REPLACE_HELP_RAILTYPE :{BLACK}选择要更新的车辆对应的铁路类型
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}显示用来替换左侧被选定车辆的新车辆 STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}显示用来替换左侧被选定车辆的新车辆

View File

@@ -347,21 +347,6 @@ static byte MapAircraftMovementAction(const Aircraft *v)
return this->v == NULL ? 0 : this->v->waiting_triggers; return this->v == NULL ? 0 : this->v->waiting_triggers;
} }
/* virtual */ void VehicleScopeResolver::SetTriggers(int triggers) const
{
/* Evil cast to get around const-ness. This used to be achieved by an
* innocent looking function pointer cast... Currently I cannot see a
* way of avoiding this without removing consts deep within gui code.
*/
Vehicle *v = const_cast<Vehicle *>(this->v);
/* This function must only be called when processing triggers -- any
* other time is an error. */
assert(this->ro.trigger != 0);
if (v != NULL) v->waiting_triggers = triggers;
}
/* virtual */ ScopeResolver *VehicleResolverObject::GetScope(VarSpriteGroupScope scope, byte relative) /* virtual */ ScopeResolver *VehicleResolverObject::GetScope(VarSpriteGroupScope scope, byte relative)
{ {
@@ -1146,13 +1131,18 @@ static void DoTriggerVehicle(Vehicle *v, VehicleTrigger trigger, byte base_rando
assert(v != NULL); assert(v != NULL);
VehicleResolverObject object(v->engine_type, v, VehicleResolverObject::WO_CACHED, false, CBID_RANDOM_TRIGGER); VehicleResolverObject object(v->engine_type, v, VehicleResolverObject::WO_CACHED, false, CBID_RANDOM_TRIGGER);
object.trigger = trigger; object.waiting_triggers = v->waiting_triggers | trigger;
v->waiting_triggers = object.waiting_triggers; // store now for var 5F
const SpriteGroup *group = object.Resolve(); const SpriteGroup *group = object.Resolve();
if (group == NULL) return; if (group == NULL) return;
/* Store remaining triggers. */
v->waiting_triggers = object.GetRemainingTriggers();
/* Rerandomise bits. Scopes other than SELF are invalid for rerandomisation. For bug-to-bug-compatibility with TTDP we ignore the scope. */
byte new_random_bits = Random(); byte new_random_bits = Random();
uint32 reseed = object.GetReseedSum(); // The scope only affects triggers, not the reseeding uint32 reseed = object.GetReseedSum();
v->random_bits &= ~reseed; v->random_bits &= ~reseed;
v->random_bits |= (first ? new_random_bits : base_random_bits) & reseed; v->random_bits |= (first ? new_random_bits : base_random_bits) & reseed;

View File

@@ -33,7 +33,6 @@ struct VehicleScopeResolver : public ScopeResolver {
/* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetRandomBits() const;
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
/* virtual */ uint32 GetTriggers() const; /* virtual */ uint32 GetTriggers() const;
/* virtual */ void SetTriggers(int triggers) const;
}; };
/** Resolver for a vehicle (chain) */ /** Resolver for a vehicle (chain) */

View File

@@ -187,12 +187,6 @@ void DecreaseBuildingCount(Town *t, HouseID house_id)
return this->not_yet_constructed ? 0 : GetHouseTriggers(this->tile); return this->not_yet_constructed ? 0 : GetHouseTriggers(this->tile);
} }
/* virtual */ void HouseScopeResolver::SetTriggers(int triggers) const
{
assert(!this->not_yet_constructed && IsValidTile(this->tile) && IsTileType(this->tile, MP_HOUSE));
SetHouseTriggers(this->tile, triggers);
}
static uint32 GetNumHouses(HouseID house_id, const Town *town) static uint32 GetNumHouses(HouseID house_id, const Town *town)
{ {
uint8 map_id_count, town_id_count, map_class_count, town_class_count; uint8 map_id_count, town_id_count, map_class_count, town_class_count;
@@ -771,14 +765,19 @@ static void DoTriggerHouse(TileIndex tile, HouseTrigger trigger, byte base_rando
if (hs->grf_prop.spritegroup[0] == NULL) return; if (hs->grf_prop.spritegroup[0] == NULL) return;
HouseResolverObject object(hid, tile, Town::GetByTile(tile), CBID_RANDOM_TRIGGER); HouseResolverObject object(hid, tile, Town::GetByTile(tile), CBID_RANDOM_TRIGGER);
object.trigger = trigger; object.waiting_triggers = GetHouseTriggers(tile) | trigger;
SetHouseTriggers(tile, object.waiting_triggers); // store now for var 5F
const SpriteGroup *group = object.Resolve(); const SpriteGroup *group = object.Resolve();
if (group == NULL) return; if (group == NULL) return;
/* Store remaining triggers. */
SetHouseTriggers(tile, object.GetRemainingTriggers());
/* Rerandomise bits. Scopes other than SELF are invalid for houses. For bug-to-bug-compatibility with TTDP we ignore the scope. */
byte new_random_bits = Random(); byte new_random_bits = Random();
byte random_bits = GetHouseRandomBits(tile); byte random_bits = GetHouseRandomBits(tile);
uint32 reseed = object.GetReseedSum(); // The scope only affects triggers, not the reseeding uint32 reseed = object.GetReseedSum();
random_bits &= ~reseed; random_bits &= ~reseed;
random_bits |= (first ? new_random_bits : base_random) & reseed; random_bits |= (first ? new_random_bits : base_random) & reseed;
SetHouseRandomBits(tile, random_bits); SetHouseRandomBits(tile, random_bits);

View File

@@ -33,7 +33,6 @@ struct HouseScopeResolver : public ScopeResolver {
/* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetRandomBits() const;
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
/* virtual */ uint32 GetTriggers() const; /* virtual */ uint32 GetTriggers() const;
/* virtual */ void SetTriggers(int triggers) const;
}; };
/** /**

View File

@@ -380,13 +380,7 @@ static uint32 GetCountAndDistanceOfClosestInstance(byte param_setID, byte layout
/* virtual */ uint32 IndustriesScopeResolver::GetTriggers() const /* virtual */ uint32 IndustriesScopeResolver::GetTriggers() const
{ {
return this->industry != NULL ? this->industry->random_triggers : 0; return 0;
}
/* virtual */ void IndustriesScopeResolver::SetTriggers(int triggers) const
{
assert(this->industry != NULL && this->industry->index != INVALID_INDUSTRY);
this->industry->random_triggers = triggers;
} }
/* virtual */ void IndustriesScopeResolver::StorePSA(uint pos, int32 value) /* virtual */ void IndustriesScopeResolver::StorePSA(uint pos, int32 value)

View File

@@ -26,7 +26,6 @@ struct IndustriesScopeResolver : public ScopeResolver {
/* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetRandomBits() const;
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
/* virtual */ uint32 GetTriggers() const; /* virtual */ uint32 GetTriggers() const;
/* virtual */ void SetTriggers(int triggers) const;
/* virtual */ void StorePSA(uint pos, int32 value); /* virtual */ void StorePSA(uint pos, int32 value);
}; };

View File

@@ -117,12 +117,6 @@ uint32 GetRelativePosition(TileIndex tile, TileIndex ind_tile)
return GetIndustryTriggers(this->tile); return GetIndustryTriggers(this->tile);
} }
/* virtual */ void IndustryTileScopeResolver::SetTriggers(int triggers) const
{
assert(this->industry != NULL && this->industry->index != INVALID_INDUSTRY && IsValidTile(this->tile) && IsTileType(this->tile, MP_INDUSTRY));
SetIndustryTriggers(this->tile, triggers);
}
/** /**
* Get the associated NewGRF file from the industry graphics. * Get the associated NewGRF file from the industry graphics.
* @param gfx Graphics to query. * @param gfx Graphics to query.
@@ -326,11 +320,16 @@ static void DoTriggerIndustryTile(TileIndex tile, IndustryTileTrigger trigger, I
if (itspec->grf_prop.spritegroup[0] == NULL) return; if (itspec->grf_prop.spritegroup[0] == NULL) return;
IndustryTileResolverObject object(gfx, tile, ind, CBID_RANDOM_TRIGGER); IndustryTileResolverObject object(gfx, tile, ind, CBID_RANDOM_TRIGGER);
object.trigger = trigger; object.waiting_triggers = GetIndustryTriggers(tile) | trigger;
SetIndustryTriggers(tile, object.waiting_triggers); // store now for var 5F
const SpriteGroup *group = object.Resolve(); const SpriteGroup *group = object.Resolve();
if (group == NULL) return; if (group == NULL) return;
/* Store remaining triggers. */
SetIndustryTriggers(tile, object.GetRemainingTriggers());
/* Rerandomise tile bits */
byte new_random_bits = Random(); byte new_random_bits = Random();
byte random_bits = GetIndustryRandomBits(tile); byte random_bits = GetIndustryRandomBits(tile);
random_bits &= ~object.reseed[VSG_SCOPE_SELF]; random_bits &= ~object.reseed[VSG_SCOPE_SELF];

View File

@@ -26,7 +26,6 @@ struct IndustryTileScopeResolver : public ScopeResolver {
/* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetRandomBits() const;
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
/* virtual */ uint32 GetTriggers() const; /* virtual */ uint32 GetTriggers() const;
/* virtual */ void SetTriggers(int triggers) const;
}; };
/** Resolver for industry tiles. */ /** Resolver for industry tiles. */

View File

@@ -110,12 +110,6 @@ ScopeResolver::~ScopeResolver() {}
return 0; return 0;
} }
/**
* Set the triggers. Base class implementation does nothing.
* @param triggers Triggers to set.
*/
/* virtual */ void ScopeResolver::SetTriggers(int triggers) const {}
/** /**
* Get a variable value. Default implementation has no available variables. * Get a variable value. Default implementation has no available variables.
* @param variable Variable to read * @param variable Variable to read
@@ -356,21 +350,15 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con
const SpriteGroup *RandomizedSpriteGroup::Resolve(ResolverObject &object) const const SpriteGroup *RandomizedSpriteGroup::Resolve(ResolverObject &object) const
{ {
ScopeResolver *scope = object.GetScope(this->var_scope, this->count); ScopeResolver *scope = object.GetScope(this->var_scope, this->count);
if (object.trigger != 0) { if (object.callback == CBID_RANDOM_TRIGGER) {
/* Handle triggers */ /* Handle triggers */
/* Magic code that may or may not do the right things... */ byte match = this->triggers & object.waiting_triggers;
byte waiting_triggers = scope->GetTriggers();
byte match = this->triggers & (waiting_triggers | object.trigger);
bool res = (this->cmp_mode == RSG_CMP_ANY) ? (match != 0) : (match == this->triggers); bool res = (this->cmp_mode == RSG_CMP_ANY) ? (match != 0) : (match == this->triggers);
if (res) { if (res) {
waiting_triggers &= ~match; object.used_triggers |= match;
object.reseed[this->var_scope] |= (this->num_groups - 1) << this->lowest_randbit; object.reseed[this->var_scope] |= (this->num_groups - 1) << this->lowest_randbit;
} else {
waiting_triggers |= object.trigger;
} }
scope->SetTriggers(waiting_triggers);
} }
uint32 mask = (this->num_groups - 1) << this->lowest_randbit; uint32 mask = (this->num_groups - 1) << this->lowest_randbit;

View File

@@ -293,7 +293,6 @@ struct ScopeResolver {
virtual uint32 GetRandomBits() const; virtual uint32 GetRandomBits() const;
virtual uint32 GetTriggers() const; virtual uint32 GetTriggers() const;
virtual void SetTriggers(int triggers) const;
virtual uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; virtual uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
virtual void StorePSA(uint reg, int32 value); virtual void StorePSA(uint reg, int32 value);
@@ -315,9 +314,10 @@ struct ResolverObject {
uint32 callback_param1; ///< First parameter (var 10) of the callback. uint32 callback_param1; ///< First parameter (var 10) of the callback.
uint32 callback_param2; ///< Second parameter (var 18) of the callback. uint32 callback_param2; ///< Second parameter (var 18) of the callback.
byte trigger;
uint32 last_value; ///< Result of most recent DeterministicSpriteGroup (including procedure calls) uint32 last_value; ///< Result of most recent DeterministicSpriteGroup (including procedure calls)
uint32 waiting_triggers; ///< Waiting triggers to be used by any rerandomisation. (scope independent)
uint32 used_triggers; ///< Subset of cur_triggers, which actually triggered some rerandomisation. (scope independent)
uint32 reseed[VSG_END]; ///< Collects bits to rerandomise while triggering triggers. uint32 reseed[VSG_END]; ///< Collects bits to rerandomise while triggering triggers.
const GRFFile *grffile; ///< GRFFile the resolved SpriteGroup belongs to const GRFFile *grffile; ///< GRFFile the resolved SpriteGroup belongs to
@@ -346,6 +346,14 @@ struct ResolverObject {
virtual ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0); virtual ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0);
/**
* Returns the waiting triggers that did not trigger any rerandomisation.
*/
uint32 GetRemainingTriggers() const
{
return this->waiting_triggers & ~this->used_triggers;
}
/** /**
* Returns the OR-sum of all bits that need reseeding * Returns the OR-sum of all bits that need reseeding
* independent of the scope they were accessed with. * independent of the scope they were accessed with.
@@ -367,7 +375,8 @@ struct ResolverObject {
void ResetState() void ResetState()
{ {
this->last_value = 0; this->last_value = 0;
this->trigger = 0; this->waiting_triggers = 0;
this->used_triggers = 0;
memset(this->reseed, 0, sizeof(this->reseed)); memset(this->reseed, 0, sizeof(this->reseed));
} }
}; };

View File

@@ -235,13 +235,6 @@ static uint32 GetRailContinuationInfo(TileIndex tile)
} }
/* virtual */ void StationScopeResolver::SetTriggers(int triggers) const
{
BaseStation *st = const_cast<BaseStation *>(this->st);
assert(st != NULL);
st->waiting_triggers = triggers;
}
/** /**
* Station variable cache * Station variable cache
* This caches 'expensive' station variable lookups which iterate over * This caches 'expensive' station variable lookups which iterate over
@@ -997,8 +990,9 @@ void TriggerStationRandomisation(Station *st, TileIndex tile, StationRandomTrigg
} }
} }
/* Convert trigger to bit */ /* Store triggers now for var 5F */
uint8 trigger_bit = 1 << trigger; SetBit(st->waiting_triggers, trigger);
uint32 used_triggers = 0;
/* Check all tiles over the station to check if the specindex is still in use */ /* Check all tiles over the station to check if the specindex is still in use */
TILE_AREA_LOOP(tile, area) { TILE_AREA_LOOP(tile, area) {
@@ -1014,11 +1008,13 @@ void TriggerStationRandomisation(Station *st, TileIndex tile, StationRandomTrigg
if (cargo_type == CT_INVALID || HasBit(ss->cargo_triggers, cargo_type)) { if (cargo_type == CT_INVALID || HasBit(ss->cargo_triggers, cargo_type)) {
StationResolverObject object(ss, st, tile, CBID_RANDOM_TRIGGER, 0); StationResolverObject object(ss, st, tile, CBID_RANDOM_TRIGGER, 0);
object.trigger = trigger_bit; object.waiting_triggers = st->waiting_triggers;
const SpriteGroup *group = object.Resolve(); const SpriteGroup *group = object.Resolve();
if (group == NULL) continue; if (group == NULL) continue;
used_triggers |= object.used_triggers;
uint32 reseed = object.GetReseedSum(); uint32 reseed = object.GetReseedSum();
if (reseed != 0) { if (reseed != 0) {
whole_reseed |= reseed; whole_reseed |= reseed;
@@ -1037,6 +1033,7 @@ void TriggerStationRandomisation(Station *st, TileIndex tile, StationRandomTrigg
} }
/* Update whole station random bits */ /* Update whole station random bits */
st->waiting_triggers &= ~used_triggers;
if ((whole_reseed & 0xFFFF) != 0) { if ((whole_reseed & 0xFFFF) != 0) {
st->random_bits &= ~whole_reseed; st->random_bits &= ~whole_reseed;
st->random_bits |= Random() & whole_reseed; st->random_bits |= Random() & whole_reseed;

View File

@@ -34,7 +34,6 @@ struct StationScopeResolver : public ScopeResolver {
/* virtual */ uint32 GetRandomBits() const; /* virtual */ uint32 GetRandomBits() const;
/* virtual */ uint32 GetTriggers() const; /* virtual */ uint32 GetTriggers() const;
/* virtual */ void SetTriggers(int triggers) const;
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const; /* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
}; };

View File

@@ -57,7 +57,7 @@ static const SaveLoad _industry_desc[] = {
SLEG_CONDARR(_old_ind_persistent_storage.storage, SLE_UINT32, 16, 76, 160), SLEG_CONDARR(_old_ind_persistent_storage.storage, SLE_UINT32, 16, 76, 160),
SLE_CONDREF(Industry, psa, REF_STORAGE, 161, SL_MAX_VERSION), SLE_CONDREF(Industry, psa, REF_STORAGE, 161, SL_MAX_VERSION),
SLE_CONDVAR(Industry, random_triggers, SLE_UINT8, 82, SL_MAX_VERSION), SLE_CONDNULL(1, 82, 196), // random_triggers
SLE_CONDVAR(Industry, random, SLE_UINT16, 82, SL_MAX_VERSION), SLE_CONDVAR(Industry, random, SLE_UINT16, 82, SL_MAX_VERSION),
SLE_CONDNULL(32, 2, 143), // old reserved space SLE_CONDNULL(32, 2, 143), // old reserved space

View File

@@ -34,6 +34,10 @@
#define MAPVK_VK_TO_CHAR (2) #define MAPVK_VK_TO_CHAR (2)
#endif #endif
#ifndef PM_QS_INPUT
#define PM_QS_INPUT 0x20000
#endif
static struct { static struct {
HWND main_wnd; HWND main_wnd;
HBITMAP dib_sect; HBITMAP dib_sect;
@@ -737,7 +741,6 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
case WM_MOUSEMOVE: { case WM_MOUSEMOVE: {
int x = (int16)LOWORD(lParam); int x = (int16)LOWORD(lParam);
int y = (int16)HIWORD(lParam); int y = (int16)HIWORD(lParam);
POINT pt;
/* If the mouse was not in the window and it has moved it means it has /* If the mouse was not in the window and it has moved it means it has
* come into the window, so start drawing the mouse. Also start * come into the window, so start drawing the mouse. Also start
@@ -747,7 +750,18 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
SetTimer(hwnd, TID_POLLMOUSE, MOUSE_POLL_DELAY, (TIMERPROC)TrackMouseTimerProc); SetTimer(hwnd, TID_POLLMOUSE, MOUSE_POLL_DELAY, (TIMERPROC)TrackMouseTimerProc);
} }
if (_cursor.UpdateCursorPosition(x, y, true)) { if (_cursor.fix_at) {
/* Get all queued mouse events now in case we have to warp the cursor. In the
* end, we only care about the current mouse position and not bygone events. */
MSG m;
while (PeekMessage(&m, hwnd, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_REMOVE | PM_NOYIELD | PM_QS_INPUT)) {
x = (int16)LOWORD(m.lParam);
y = (int16)HIWORD(m.lParam);
}
}
if (_cursor.UpdateCursorPosition(x, y, false)) {
POINT pt;
pt.x = _cursor.pos.x; pt.x = _cursor.pos.x;
pt.y = _cursor.pos.y; pt.y = _cursor.pos.y;
ClientToScreen(hwnd, &pt); ClientToScreen(hwnd, &pt);

View File

@@ -1684,7 +1684,7 @@ static Point GetAutoPlacePosition(int width, int height)
* of the closebox * of the closebox
*/ */
int left = rtl ? _screen.width - width : 0, top = toolbar_y; int left = rtl ? _screen.width - width : 0, top = toolbar_y;
int offset_x = rtl ? -NWidgetLeaf::closebox_dimension.width : NWidgetLeaf::closebox_dimension.width; int offset_x = rtl ? -(int)NWidgetLeaf::closebox_dimension.width : (int)NWidgetLeaf::closebox_dimension.width;
int offset_y = max<int>(NWidgetLeaf::closebox_dimension.height, FONT_HEIGHT_NORMAL + WD_CAPTIONTEXT_TOP + WD_CAPTIONTEXT_BOTTOM); int offset_y = max<int>(NWidgetLeaf::closebox_dimension.height, FONT_HEIGHT_NORMAL + WD_CAPTIONTEXT_TOP + WD_CAPTIONTEXT_BOTTOM);
restart: restart: