Merge branch 'master' into jgrpp
# Conflicts: # src/ground_vehicle.cpp # src/viewport.cpp
This commit is contained in:
@@ -1292,7 +1292,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
GetRunningCost(): 820
|
||||
GetPower(): 300
|
||||
GetWeight(): 47
|
||||
GetMaxTractiveEffort(): 139
|
||||
GetMaxTractiveEffort(): 136
|
||||
GetVehicleType(): 0
|
||||
GetRailType(): 0
|
||||
GetRoadType(): -1
|
||||
@@ -1436,7 +1436,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
GetRunningCost(): 1968
|
||||
GetPower(): 1000
|
||||
GetWeight(): 131
|
||||
GetMaxTractiveEffort(): 388
|
||||
GetMaxTractiveEffort(): 381
|
||||
GetVehicleType(): 0
|
||||
GetRailType(): 0
|
||||
GetRoadType(): -1
|
||||
@@ -1454,7 +1454,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
GetRunningCost(): 2296
|
||||
GetPower(): 1200
|
||||
GetWeight(): 162
|
||||
GetMaxTractiveEffort(): 480
|
||||
GetMaxTractiveEffort(): 471
|
||||
GetVehicleType(): 0
|
||||
GetRailType(): 0
|
||||
GetRoadType(): -1
|
||||
|
@@ -441,9 +441,9 @@ uint Engine::GetDisplayMaxTractiveEffort() const
|
||||
/* Only trains and road vehicles have 'tractive effort'. */
|
||||
switch (this->type) {
|
||||
case VEH_TRAIN:
|
||||
return (10 * this->GetDisplayWeight() * GetEngineProperty(this->index, PROP_TRAIN_TRACTIVE_EFFORT, this->u.rail.tractive_effort)) / 256;
|
||||
return (GROUND_ACCELERATION * this->GetDisplayWeight() * GetEngineProperty(this->index, PROP_TRAIN_TRACTIVE_EFFORT, this->u.rail.tractive_effort)) / 256 / 1000;
|
||||
case VEH_ROAD:
|
||||
return (10 * this->GetDisplayWeight() * GetEngineProperty(this->index, PROP_ROADVEH_TRACTIVE_EFFORT, this->u.road.tractive_effort)) / 256;
|
||||
return (GROUND_ACCELERATION * this->GetDisplayWeight() * GetEngineProperty(this->index, PROP_ROADVEH_TRACTIVE_EFFORT, this->u.road.tractive_effort)) / 256 / 1000;
|
||||
|
||||
default: NOT_REACHED();
|
||||
}
|
||||
|
@@ -22,7 +22,7 @@ enum LandscapeGenerator {
|
||||
LG_TERRAGENESIS = 1, ///< TerraGenesis Perlin landscape generator
|
||||
};
|
||||
|
||||
static const uint GENERATE_NEW_SEED = UINT_MAX; ///< Create a new random seed
|
||||
static const uint32 GENERATE_NEW_SEED = UINT32_MAX; ///< Create a new random seed
|
||||
|
||||
/** Modes for GenerateWorld */
|
||||
enum GenWorldMode {
|
||||
@@ -97,7 +97,7 @@ void SetGeneratingWorldProgress(GenWorldProgress cls, uint total);
|
||||
void IncreaseGeneratingWorldProgress(GenWorldProgress cls);
|
||||
void PrepareGenerateWorldProgress();
|
||||
void ShowGenerateWorldProgress();
|
||||
void StartNewGameWithoutGUI(uint seed);
|
||||
void StartNewGameWithoutGUI(uint32 seed);
|
||||
void ShowCreateScenario();
|
||||
void StartScenarioEditor();
|
||||
|
||||
|
@@ -913,7 +913,7 @@ void StartScenarioEditor()
|
||||
* Start a normal game without the GUI.
|
||||
* @param seed The seed of the new game.
|
||||
*/
|
||||
void StartNewGameWithoutGUI(uint seed)
|
||||
void StartNewGameWithoutGUI(uint32 seed)
|
||||
{
|
||||
/* GenerateWorld takes care of the possible GENERATE_NEW_SEED value in 'seed' */
|
||||
_settings_newgame.game_creation.generation_seed = seed;
|
||||
|
@@ -121,14 +121,14 @@ le_bool Font::getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &poin
|
||||
* Wrapper for doing layouts with ICU.
|
||||
*/
|
||||
class ICUParagraphLayout : public AutoDeleteSmallVector<ParagraphLayouter::Line *, 4>, public ParagraphLayouter {
|
||||
ParagraphLayout *p; ///< The actual ICU paragraph layout.
|
||||
icu::ParagraphLayout *p; ///< The actual ICU paragraph layout.
|
||||
public:
|
||||
/** Visual run contains data about the bit of text with the same font. */
|
||||
class ICUVisualRun : public ParagraphLayouter::VisualRun {
|
||||
const ParagraphLayout::VisualRun *vr; ///< The actual ICU vr.
|
||||
const icu::ParagraphLayout::VisualRun *vr; ///< The actual ICU vr.
|
||||
|
||||
public:
|
||||
ICUVisualRun(const ParagraphLayout::VisualRun *vr) : vr(vr) { }
|
||||
ICUVisualRun(const icu::ParagraphLayout::VisualRun *vr) : vr(vr) { }
|
||||
|
||||
const Font *GetFont() const { return (const Font*)vr->getFont(); }
|
||||
int GetGlyphCount() const { return vr->getGlyphCount(); }
|
||||
@@ -140,10 +140,10 @@ public:
|
||||
|
||||
/** A single line worth of VisualRuns. */
|
||||
class ICULine : public AutoDeleteSmallVector<ICUVisualRun *, 4>, public ParagraphLayouter::Line {
|
||||
ParagraphLayout::Line *l; ///< The actual ICU line.
|
||||
icu::ParagraphLayout::Line *l; ///< The actual ICU line.
|
||||
|
||||
public:
|
||||
ICULine(ParagraphLayout::Line *l) : l(l)
|
||||
ICULine(icu::ParagraphLayout::Line *l) : l(l)
|
||||
{
|
||||
for (int i = 0; i < l->countRuns(); i++) {
|
||||
*this->Append() = new ICUVisualRun(l->getVisualRun(i));
|
||||
@@ -163,13 +163,13 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
ICUParagraphLayout(ParagraphLayout *p) : p(p) { }
|
||||
ICUParagraphLayout(icu::ParagraphLayout *p) : p(p) { }
|
||||
~ICUParagraphLayout() { delete p; }
|
||||
void Reflow() { p->reflow(); }
|
||||
|
||||
ParagraphLayouter::Line *NextLine(int max_width)
|
||||
{
|
||||
ParagraphLayout::Line *l = p->nextLine(max_width);
|
||||
icu::ParagraphLayout::Line *l = p->nextLine(max_width);
|
||||
return l == NULL ? NULL : new ICULine(l);
|
||||
}
|
||||
};
|
||||
@@ -196,7 +196,7 @@ public:
|
||||
}
|
||||
|
||||
/* Fill ICU's FontRuns with the right data. */
|
||||
FontRuns runs(fontMapping.Length());
|
||||
icu::FontRuns runs(fontMapping.Length());
|
||||
for (FontMap::iterator iter = fontMapping.Begin(); iter != fontMapping.End(); iter++) {
|
||||
runs.add(iter->second, iter->first);
|
||||
}
|
||||
@@ -204,7 +204,7 @@ public:
|
||||
LEErrorCode status = LE_NO_ERROR;
|
||||
/* ParagraphLayout does not copy "buff", so it must stay valid.
|
||||
* "runs" is copied according to the ICU source, but the documentation does not specify anything, so this might break somewhen. */
|
||||
ParagraphLayout *p = new ParagraphLayout(buff, length, &runs, NULL, NULL, NULL, _current_text_dir == TD_RTL ? UBIDI_DEFAULT_RTL : UBIDI_DEFAULT_LTR, false, status);
|
||||
icu::ParagraphLayout *p = new icu::ParagraphLayout(buff, length, &runs, NULL, NULL, NULL, _current_text_dir == TD_RTL ? UBIDI_DEFAULT_RTL : UBIDI_DEFAULT_LTR, false, status);
|
||||
if (status != LE_NO_ERROR) {
|
||||
delete p;
|
||||
return NULL;
|
||||
|
@@ -22,7 +22,7 @@
|
||||
|
||||
#ifdef WITH_ICU_LAYOUT
|
||||
#include "layout/ParagraphLayout.h"
|
||||
#define ICU_FONTINSTANCE : public LEFontInstance
|
||||
#define ICU_FONTINSTANCE : public icu::LEFontInstance
|
||||
#else /* WITH_ICU_LAYOUT */
|
||||
#define ICU_FONTINSTANCE
|
||||
#endif /* WITH_ICU_LAYOUT */
|
||||
|
@@ -91,7 +91,7 @@ void GroundVehicle<T, Type>::CalculatePower(uint32& total_power, uint32& max_te,
|
||||
if (current_power > 0) max_te += u->GetWeight() * u->GetTractiveEffort();
|
||||
}
|
||||
|
||||
max_te *= 9800; // Tractive effort in (tonnes * 1000 * 9.8 =) N.
|
||||
max_te *= GROUND_ACCELERATION; // Tractive effort in (tonnes * 1000 * 9.8 =) N.
|
||||
max_te /= 256; // Tractive effort is a [0-255] coefficient.
|
||||
}
|
||||
|
||||
|
@@ -33,7 +33,7 @@ STR_CARGO_PLURAL_COAL :{G=m}Carvão
|
||||
STR_CARGO_PLURAL_MAIL :{G=f}Correspondências
|
||||
STR_CARGO_PLURAL_OIL :{G=m}Petróleo
|
||||
STR_CARGO_PLURAL_LIVESTOCK :{G=m}Gado
|
||||
STR_CARGO_PLURAL_GOODS :{G=f}Bens
|
||||
STR_CARGO_PLURAL_GOODS :{G=m}Bens
|
||||
STR_CARGO_PLURAL_GRAIN :{G=m}Cereais
|
||||
STR_CARGO_PLURAL_WOOD :{G=f}Madeira
|
||||
STR_CARGO_PLURAL_IRON_ORE :{G=m}Minério de Ferro
|
||||
@@ -147,7 +147,7 @@ STR_ABBREV_MAIZE :{TINY_FONT}MI
|
||||
STR_ABBREV_FRUIT :{TINY_FONT}FT
|
||||
STR_ABBREV_DIAMONDS :{TINY_FONT}DM
|
||||
STR_ABBREV_FOOD :{TINY_FONT}AL
|
||||
STR_ABBREV_PAPER :{TINY_FONT}PL
|
||||
STR_ABBREV_PAPER :{TINY_FONT}PP
|
||||
STR_ABBREV_GOLD :{TINY_FONT}OU
|
||||
STR_ABBREV_WATER :{TINY_FONT}AG
|
||||
STR_ABBREV_WHEAT :{TINY_FONT}TG
|
||||
@@ -220,7 +220,7 @@ STR_UNITS_FORCE_IMPERIAL :{COMMA}{NBSP}lb
|
||||
STR_UNITS_FORCE_METRIC :{COMMA}{NBSP}kgf
|
||||
STR_UNITS_FORCE_SI :{COMMA}{NBSP}kN
|
||||
|
||||
STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}pés
|
||||
STR_UNITS_HEIGHT_IMPERIAL :{COMMA}{NBSP}pé{P "" s}
|
||||
STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m
|
||||
|
||||
@@ -476,6 +476,7 @@ STR_ABOUT_MENU_SCREENSHOT :Captura de tela
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ampliado em captura de tela
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Captura de tela em ampliação padrão
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de tela do mapa inteiro
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Exibir taxa de quadros
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de "sprites"
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Alternar caixas limítrofes
|
||||
@@ -651,6 +652,7 @@ STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLA
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Nenhuma música disponível
|
||||
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}"
|
||||
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Faixa
|
||||
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Título
|
||||
@@ -671,11 +673,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Alternar
|
||||
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Exibir janela de seleção de faixas de música
|
||||
|
||||
# Playlist window
|
||||
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Programação Musical - '{STRING}'
|
||||
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} '{STRING}'
|
||||
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Índice de faixas
|
||||
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programa - '{STRING}'
|
||||
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Limpar
|
||||
STR_PLAYLIST_CHANGE_SET :{BLACK}Alterar set
|
||||
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Limpar programa atual (apenas Personalizado 1 ou Personalizado 2)
|
||||
STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Altera a seleção de músicas para outro set instalado
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique na faixa de música para a adicionar ao programa atual (apenas Personalizado 1 ou Personalizado 2)
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clique na faixa de música para remover do programa atual (apenas Personalizado 1 ou Personalizado 2)
|
||||
|
||||
@@ -811,6 +816,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Gerente)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} patrocinou a construção da nova cidade {TOWN}!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Uma nova cidade, {TOWN}, foi construída!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G o a} {STRING} em construção próximo a {TOWN}!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G o a} {STRING} sendo plantada próximo a {TOWN}!
|
||||
@@ -878,10 +884,10 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
|
||||
|
||||
# Extra view window
|
||||
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Janela {COMMA}
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Copiar para janela
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Alterar visualização
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copiar o local da tela principal para esta janela
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Colar da janela
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Colar a localização desta janela para a tela principal
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Colar da visualização principal
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Colar a localização desta janela para a visualização principal
|
||||
|
||||
# Game options window
|
||||
STR_GAME_OPTIONS_CAPTION :{WHITE}Opções do Jogo
|
||||
@@ -923,6 +929,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Sul-Africa
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizado...
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo (RUB)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automóveis
|
||||
@@ -1335,8 +1342,14 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Cor do terreno
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Verde
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde escuro
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta
|
||||
STR_CONFIG_SETTING_SCROLLMODE :Comportamento de rolamento da janela: {STRING}
|
||||
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento ao rolar o mapa
|
||||
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Mover vista com BDM, posição do mouse travada
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com BDM, posição do mouse travada
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com BDM
|
||||
STR_CONFIG_SETTING_SCROLLMODE_LMB :Move o mapa com BEM
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar rolamento da janela: {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a janela principal rola para uma posição específica quando clicado no minimapa ou após localizar um objeto. Ativado torna o rolamento suave. Desativado torna o rolamento instanâneo
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a janela principal rola para uma posição específica quando clicado no minimapa ou após localizar um objeto. Ativado torna o rolamento suave. Desativado torna o rolamento instantâneo
|
||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Exibe distâncias quando usar ferramentas de construção: {STRING}
|
||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Exibe distâncias e diferenças de altitude quando clicando e arrastando enquanto constrói
|
||||
STR_CONFIG_SETTING_LIVERIES :Exibir cores avançadas: {STRING}
|
||||
@@ -2277,6 +2290,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legenda
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Todas
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Nenhuma
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Selecione companhias a serem exibidas
|
||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}não utilizado
|
||||
@@ -2686,9 +2700,48 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 A equipe do OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Taxa de quadros
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Taxa de simulação: {STRING}
|
||||
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tiques simulados por segundo
|
||||
STR_FRAMERATE_RATE_BLITTER :{WHITE}Taxa de quadros: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de quadros renderizados por segundo.
|
||||
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Fator de velocidade do jogo atual: {DECIMAL}x
|
||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está sendo executado, comparado com a velocidade esperada na simulação normal
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Atual
|
||||
STR_FRAMERATE_AVERAGE :{WHITE}Médio
|
||||
STR_FRAMERATE_DATA_POINTS :{WHITE}Dados baseados em {COMMA} medidas
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{WHITE} quadros/s
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} quadros/s
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} quadros/s
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_GL_ECONOMY :{WHITE} Manuseio de carga:
|
||||
STR_FRAMERATE_GL_TRAINS :{WHITE} Tiques de trem:
|
||||
STR_FRAMERATE_GL_ROADVEHS :{WHITE} Tiques de automóveis:
|
||||
STR_FRAMERATE_GL_SHIPS :{WHITE} Tiques de embarcação:
|
||||
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Tiques de aeronave:
|
||||
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Tiques do mundo:
|
||||
STR_FRAMERATE_DRAWING :{WHITE}Renderizações de gráficos:
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Visualizações do mundo:
|
||||
STR_FRAMERATE_VIDEO :{WHITE}Saída de vídeo:
|
||||
STR_FRAMERATE_SOUND :{WHITE}Mixagem de áudio:
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manuseio de carga
|
||||
STR_FRAMETIME_CAPTION_GL_TRAINS :Tiques de trem
|
||||
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Tiques de automóveis
|
||||
STR_FRAMETIME_CAPTION_GL_SHIPS :Tiques de embarcação
|
||||
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Tiques de aeronave:
|
||||
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Tiques do mundo
|
||||
STR_FRAMETIME_CAPTION_DRAWING :Renderizações de gráficos
|
||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderização da janela principal
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Saída de vídeo
|
||||
STR_FRAMETIME_CAPTION_SOUND :Mixagem de áudio
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
@@ -2976,6 +3029,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Coloque
|
||||
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Cidades
|
||||
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Nenhum -
|
||||
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Cidade){BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomes das cidades - clique no nome para centralizar a visualização principal na cidade. Ctrl+Clique abre uma nova janela na localização da cidade
|
||||
STR_TOWN_POPULATION :{BLACK}População mundial: {COMMA}
|
||||
|
||||
@@ -2983,6 +3037,7 @@ STR_TOWN_POPULATION :{BLACK}Populaç
|
||||
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
|
||||
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Cidade)
|
||||
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA}
|
||||
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} últ. mês: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA}
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carga necessária para prover o crescimento:
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} necessário(a)
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} necessário no inverno
|
||||
@@ -4231,6 +4286,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... é u
|
||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... rua na direção errada
|
||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... paradas "drive-thru" não podem ter esquinas
|
||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... paradas "drive-thru" não podem ter junções
|
||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... rua é mão única ou está bloqueada
|
||||
|
||||
# Station destruction related errors
|
||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossível remover parte da estação...
|
||||
@@ -4299,7 +4355,7 @@ STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Impossí
|
||||
STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Remova os semáforos antes
|
||||
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Tipo de linha não apropriado
|
||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Remova a ferrovia antes
|
||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Rua é mão única ou está bloqueado
|
||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Rua é mão única ou está bloqueada
|
||||
STR_ERROR_CROSSING_DISALLOWED :{WHITE}Cruzamentos de nível não são permitidos para esse tipo de trilho
|
||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Impossível construir sinais aqui...
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Impossível construir ferrovia aqui...
|
||||
@@ -4482,6 +4538,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Sons Originais
|
||||
STR_BASESOUNDS_WIN_DESCRIPTION :Sons Originais do Transport Tycoon Deluxe, Edição Windows.
|
||||
STR_BASESOUNDS_NONE_DESCRIPTION :Um pacote de sons sem sons.
|
||||
STR_BASEMUSIC_WIN_DESCRIPTION :Música Original do Transport Tycoon Deluxe, Edição Windows
|
||||
STR_BASEMUSIC_DOS_DESCRIPTION :Música Original do Transport Tycoon Deluxe DOS.
|
||||
STR_BASEMUSIC_TTO_DESCRIPTION :Música Original do Transport Tycoon DOS
|
||||
STR_BASEMUSIC_NONE_DESCRIPTION :Um pacote de músicas sem músicas.
|
||||
|
||||
##id 0x2000
|
||||
|
@@ -475,6 +475,7 @@ STR_ABOUT_MENU_SCREENSHOT :Kuvakaappaus
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Täysin lähennetty kuvakaappaus
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Kuvakaappaus oletuslähennystasolla
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Koko kartan kuvakaappaus
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Näytä kuvataajuus
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Tietoja OpenTTD:stä
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite-kohdistaja
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Reunat päälle/pois
|
||||
@@ -650,6 +651,7 @@ STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLA
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Musiikkia ei ole saatavilla
|
||||
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}"
|
||||
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Raita
|
||||
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Nimi
|
||||
@@ -810,6 +812,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(pääjohtaja)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} rahoitti uuden kaupungin, {TOWN}, rakentamista!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Uusi kaupunki {TOWN} rakennettu!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Uusi {STRING} rakennetaan kaupungin {TOWN} lähistölle!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Uusi {STRING} istutetaan kaupungin {TOWN} lähistölle!
|
||||
@@ -1334,6 +1337,10 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Maaston väri k
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Vihreä
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Tummanvihreä
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violetti
|
||||
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Toiminta karttaa vieritettäessä
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Siirrä karttaa hiiren oikealla painikkeella, hiiren sijainti lukiten
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB :Siirrä karttaa hiiren oikealla painikkeella
|
||||
STR_CONFIG_SETTING_SCROLLMODE_LMB :Siirrä karttaa hiiren vasemmalla painikkeella
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Näkymän tasainen vieritys: {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Hallitse miten päänäkymä siirtyy valittuun paikkaan karttaa klikattaessa tai käytettäessä komentoa joka muuttaa näkymän sijaintia. Mikäli käytössä, päänäkymä siirtyy uuteen sijaintiin pehmeäesti, muutoin se hyppää suoraan valittuun sijaintiin
|
||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Näytä mittauksen työkaluvihje, kun käytetään rakennustyökaluja: {STRING}
|
||||
@@ -1593,7 +1600,7 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Tavallinen
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Nopea
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Erittäin nopea
|
||||
STR_CONFIG_SETTING_LARGER_TOWNS :Suurkaupunkien osuus: {STRING}
|
||||
STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Suurkaupungiksi muuttuvien kaupunkien määrä, eli kaupungit jotka ovat suurempia ja kasvavat nopeammin
|
||||
STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Suurkaupungiksi muuttuvien kaupunkien määrä, eli suurempana aloittavat ja nopeammin kasvavat kaupungit
|
||||
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 / {COMMA}
|
||||
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ei yhtään
|
||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Kasvukerroin alussa: {STRING}
|
||||
@@ -2276,6 +2283,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Rahtivir
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Kaikki
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ei mitään
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Valitse näytettävät yhtiöt
|
||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}käyttämätön
|
||||
@@ -2685,9 +2693,23 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD-
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Kuvataajuus
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Simulaationopeus: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER :{WHITE}Grafiikan kuvataajuus: {STRING}
|
||||
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Pelin nykyinen nopeuskerroin: {DECIMAL}×
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{WHITE} kuvaa/s
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} kuvaa/s
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} kuvaa/s
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_VIDEO :{WHITE}Videolähtö:
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Videolähtö
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
@@ -2975,6 +2997,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Syötä
|
||||
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Kaupungit
|
||||
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Ei mitään -
|
||||
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (suurkaup.){BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Kaupunkien nimet - nimen klikkaaminen keskittää päänäkymän kaupunkiin. Ctrl+Klik avaa uuden näkymäikkunan kaupungin sijaintiin
|
||||
STR_TOWN_POPULATION :{BLACK}Maailman asukasluku: {COMMA}
|
||||
|
||||
@@ -4229,6 +4252,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... kaup
|
||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tie on väärin päin
|
||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... läpiajettavissa pysäkeissä ei voi olla mutkia
|
||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... läpiajettavissa pysäkeissä ei voi olla risteyksiä
|
||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... tie on yksisuuntainen tai suljettu
|
||||
|
||||
# Station destruction related errors
|
||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Aseman osaa ei voi poistaa...
|
||||
|
@@ -823,6 +823,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(사장)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING}은(는) 새로운 도시 {TOWN}을(를) 건설했습니다!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}{TOWN} - 새 도시가 생겼습니다!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}{1:TOWN} 근처에 새로운 {0:STRING}{G 0 "이" "가"} 건설되고 있습니다!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}새 {STRING}{G 0 "이" "가"} {TOWN} 근처에서 자라나고 있습니다!
|
||||
@@ -935,6 +936,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :남아프리카
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :사용자 설정...
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :그루지야 라리 (GEL)
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :이란 리알 (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :신 러시아 루블 (RUB)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}차량 통행 방식
|
||||
|
@@ -3070,13 +3070,16 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 Zespół OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Liczba renderowanych klatek wideo na sekundę.
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Obecny
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_GL_LINKGRAPH :{WHITE} Opóźnienie wykresu połączeń:
|
||||
STR_FRAMERATE_VIDEO :{WHITE}Wyjście video:
|
||||
STR_FRAMERATE_SOUND :{WHITE}Miksowanie dźwięku:
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Wyjście wideo
|
||||
STR_FRAMETIME_CAPTION_SOUND :Miksowanie dźwięku
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
|
@@ -816,6 +816,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Presidente)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}¡{STRING} patrocina la creación del nuevo pueblo de {TOWN}!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}¡El nuevo pueblo de {TOWN} ha sido formado!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}¡Nuev{G o a} {STRING} en construcción cerca de {TOWN}!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}¡Nuev{G o a} {STRING} fundad{G o a} cerca de {TOWN}!
|
||||
@@ -1305,7 +1306,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Número de indu
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distancia máxima de refinerías de petróleo con los bordes del mapa: {STRING}
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Las refinerías de petróleo se construyen cerca del borde del mapa, el cual es costa en mapas con borde marítimo
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Nivel de inicio de nieve: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :En los mapas de clima Subártico, la elevación a la cual la nieve comienza. La nieve también afecta a la generación de industrias y a los requisitos de crecimiento de los pueblos
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :En los mapas de clima Subártico, la elevación a la cual la nieve comienza. La nieve también afecta la generación de industrias y los requisitos de crecimiento de los pueblos
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidad del terreno: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Solo TerraGenesis) Cantidad de colinas: los terrenos más planos tienen menos colinas, aunque suelen ser más extensas. Los terrenos más accidentados tienen múltiples colinas, lo cual puede resultar repetitivo
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muy suave
|
||||
|
@@ -475,6 +475,7 @@ STR_ABOUT_MENU_SCREENSHOT :Ảnh chụp m
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Phóng to đầy đủ ảnh chụp màn hình
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Phóng to mặc định ảnh chụp màn hình
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Ảnh màn hình toàn bản đồ
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Hiển thị tốc độ khung hình
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Giới thiệu 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Trình điều chỉnh sprite
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Bật/tắt hiển thị khối nhà
|
||||
@@ -650,6 +651,7 @@ STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLA
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Không sẵn có nhạc nền
|
||||
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}"
|
||||
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Bài Nhạc
|
||||
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Tên
|
||||
@@ -670,11 +672,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Bật/t
|
||||
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Hiện cửa số chọn bài nhạc
|
||||
|
||||
# Playlist window
|
||||
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Danh sách nhạc - '{STRING}'
|
||||
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
|
||||
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Bảng Bài Nhạc
|
||||
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Chương Trình - '{STRING}'
|
||||
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Xóa
|
||||
STR_PLAYLIST_CHANGE_SET :{BLACK}Tập danh sách thay đổi
|
||||
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Xóa chương trình đang chọn ("Tự chọn 1" và "Tự chọn 2")
|
||||
STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Thay đổi lựa chọn danh sách nhạc khác
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Click vào bài nhạc để thêm vào chương trình hiện tại (cho "Tự chọn 1" hay "Tự chọn 2")
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Click vào bài nhạc để xóa khỏi chương trình hiện tại (cho "Tự chọn 1" hay "Tự chọn 2")
|
||||
|
||||
@@ -810,6 +815,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Giám Đốc)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} Tài trợ xây dựng Thị Xã mới {TOWN}!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Một đô thị mới vừa được xây dựng, có tên là {TOWN}!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}{STRING} mới đang được xây dựng gần {TOWN}!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}{STRING} được lên kế hoạch xây gần {TOWN}!
|
||||
@@ -877,10 +883,10 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
|
||||
|
||||
# Extra view window
|
||||
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Cửa sổ {COMMA}
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Nhìn ở cửa sổ lớn
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Đổi khung nhìn
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Nhìn vị trí này ở cửa sổ lớn chính
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Chuyển về cửa sổ nhỏ
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Chuyển vị trí từ cửa sổ lớn về cửa sổ nhỏ
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Chuyển về cửa sổ chính
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Sao chép vị trí từ cửa sổ này về cửa sổ lớn
|
||||
|
||||
# Game options window
|
||||
STR_GAME_OPTIONS_CAPTION :{WHITE}Cấu Hình Trò Chơi
|
||||
@@ -922,6 +928,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Nam Phi (Z
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Tùy chọn...
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (GEL)
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Đồng Rúp Nga mới (RUB)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Xe cộ
|
||||
@@ -1334,6 +1341,12 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Màu sắc củ
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Lục
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Lục tối
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Tím
|
||||
STR_CONFIG_SETTING_SCROLLMODE :Kiểu cuộn khung nhìn: {STRING}
|
||||
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Hành xử khi kéo, cuộn bản đồ
|
||||
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Kéo cuộn khung nhìn kiểu RMB, khoá vị trí con trỏ chuột
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Kéo cuộn kiểu RMB, khoá vị trí con trỏ chuột
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB :Kéo cuộn bản đồ kiểu RMB
|
||||
STR_CONFIG_SETTING_SCROLLMODE_LMB :Kéo cuộn bản đồ kiểu LMB
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Cuộn uyển chuyển cửa sổ: {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Điều khiển cách màn hình chính cuộn tới vị trí cụ thể khi nháy chuột vào bản đồ nhỏ hoặc khi gõ lệnh cuộn tới đối tượng trên bản đồ. Nếu bật, thì sẽ cuộn trượt, nếu tắt thì nhảy thẳng tới vị trí đó.
|
||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Hiện bảng chú giải đo lường khi dùng các công cụ xây dựng: {STRING}
|
||||
@@ -2276,6 +2289,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Ghi chú
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Tất cả
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Không
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Lựa chọn công ty nào sẽ được hiển thị
|
||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}không sử dụng
|
||||
@@ -2685,9 +2699,52 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Nhóm OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Tốc độ khung hình
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Tốc độ khung giả lập game: {STRING}
|
||||
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Số nhịp đếm giả lập trong mỗi giây
|
||||
STR_FRAMERATE_RATE_BLITTER :{WHITE}Tốc độ khung hình: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Số khu hình vẽ lại mỗi giây.
|
||||
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Chỉ số vận tốc game hiện tại: {DECIMAL}x
|
||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Tốc độ chạy game hiện tại, so với tốc độ bình thường
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Hiện tại
|
||||
STR_FRAMERATE_AVERAGE :{WHITE}Trung bình
|
||||
STR_FRAMERATE_DATA_POINTS :{WHITE}Dữ liệu được tính theo số đo {COMMA}
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{WHITE} khung/s
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} khung/s
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} khung/s
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_GAMELOOP :{WHITE}Tổng vòng lặp khung hình game:
|
||||
STR_FRAMERATE_GL_ECONOMY :{WHITE} Xử lý bốc dỡ hàng:
|
||||
STR_FRAMERATE_GL_TRAINS :{WHITE} Nhịp của tàu hoả:
|
||||
STR_FRAMERATE_GL_ROADVEHS :{WHITE} Nhịp của xe ô-tô
|
||||
STR_FRAMERATE_GL_SHIPS :{WHITE} Số nhịp của tàu thủy:
|
||||
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Số nhịp của máy bay:
|
||||
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Nhịp của bản đồ game:
|
||||
STR_FRAMERATE_GL_LINKGRAPH :{WHITE} Độ trễ tính toán đồ thị:
|
||||
STR_FRAMERATE_DRAWING :{WHITE}Cách vẽ đồ hoạ game:
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Khung nhìn toàn bản đồ:
|
||||
STR_FRAMERATE_VIDEO :Nguồn xuất hình:
|
||||
STR_FRAMERATE_SOUND :{WHITE}Trộn âm thanh:
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Vòng lặp khung hình game
|
||||
STR_FRAMETIME_CAPTION_GL_ECONOMY :Bốc dỡ hàng
|
||||
STR_FRAMETIME_CAPTION_GL_TRAINS :Nhịp cho tàu hoả
|
||||
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Số nhịp xe ôtô
|
||||
STR_FRAMETIME_CAPTION_GL_SHIPS :Nhịp của tàu thủy
|
||||
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Nhịp cho máy bay
|
||||
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Nhịp của bản đồ
|
||||
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Độ trễ tính toán đồ thị
|
||||
STR_FRAMETIME_CAPTION_DRAWING :Cách vẽ đồ hoạ game
|
||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Khung vẽ cả bản đồ game
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Ngõ xuất hình
|
||||
STR_FRAMETIME_CAPTION_SOUND :Trộn âm thanh
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
@@ -2975,6 +3032,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Nhập t
|
||||
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Đô Thị
|
||||
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Không Có -
|
||||
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (đô thị){BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Tên các đô thị - nháy vào tên để xem trung tâm đô thị. Ctrl+Click mở cửa sổ mới về vị trí đô thị
|
||||
STR_TOWN_POPULATION :{BLACK}Dân số thế giới: {COMMA}
|
||||
|
||||
@@ -2982,6 +3040,7 @@ STR_TOWN_POPULATION :{BLACK}Dân s
|
||||
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
|
||||
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Thành Phố)
|
||||
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Dân số: {ORANGE}{COMMA}{BLACK} Toà nhà: {ORANGE}{COMMA}
|
||||
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} tháng trước: {ORANGE}{COMMA}{BLACK} tối đa: {ORANGE}{COMMA}
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Hàng hoá cần để đô thị tăng trưởng:
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} được yêu cầu
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} Yêu cầu trong mùa đông
|
||||
@@ -4230,6 +4289,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... đâ
|
||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... đường quay mặt sai hướng
|
||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... đi qua điểm dừng không thể đi qua góc
|
||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... đi qua điểm dừng không thể có ngã rẽ
|
||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... đường 1 chiều hoặc bị chặn
|
||||
|
||||
# Station destruction related errors
|
||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Không thể xoá bỏ một phần của ga...
|
||||
@@ -4481,6 +4541,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Âm thanh gốc
|
||||
STR_BASESOUNDS_WIN_DESCRIPTION :Âm thanh gốc từ phiên bản Transport Tycoon Deluxe trên Windows
|
||||
STR_BASESOUNDS_NONE_DESCRIPTION :Gói âm thanh này không có âm thanh nào.
|
||||
STR_BASEMUSIC_WIN_DESCRIPTION :Nhạc gốc từ phiên bản Transport Tycoon Deluxe trên Windows
|
||||
STR_BASEMUSIC_DOS_DESCRIPTION :Nhạc của nguyên bản Transport Tycoon Deluxe cho DOS.
|
||||
STR_BASEMUSIC_TTO_DESCRIPTION :Nhạc của nguyên bản Transport Tycoon (Original/World Editor) cho DOS.
|
||||
STR_BASEMUSIC_NONE_DESCRIPTION :Gói âm nhạc này không có nhạc nào.
|
||||
|
||||
##id 0x2000
|
||||
|
@@ -203,11 +203,8 @@ public:
|
||||
StringID str = STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A;
|
||||
Company *c = Company::GetIfValid(_local_company);
|
||||
if (c != NULL) {
|
||||
Money old_money = c->money;
|
||||
c->money = INT64_MAX;
|
||||
assert(_current_company == _local_company);
|
||||
CommandCost costclear = DoCommand(tile, 0, 0, DC_NONE, CMD_LANDSCAPE_CLEAR);
|
||||
c->money = old_money;
|
||||
CommandCost costclear = DoCommand(tile, 0, 0, DC_QUERY_COST, CMD_LANDSCAPE_CLEAR);
|
||||
if (costclear.Succeeded()) {
|
||||
Money cost = costclear.GetCost();
|
||||
if (cost < 0) {
|
||||
|
@@ -447,7 +447,7 @@ void OpenBrowser(const char *url)
|
||||
/** Callback structure of statements to be executed after the NewGRF scan. */
|
||||
struct AfterNewGRFScan : NewGRFScanCallback {
|
||||
Year startyear; ///< The start year.
|
||||
uint generation_seed; ///< Seed for the new game.
|
||||
uint32 generation_seed; ///< Seed for the new game.
|
||||
char *dedicated_host; ///< Hostname for the dedicated server.
|
||||
uint16 dedicated_port; ///< Port for the dedicated server.
|
||||
char *network_conn; ///< Information about the server to connect to, or NULL.
|
||||
@@ -467,6 +467,9 @@ struct AfterNewGRFScan : NewGRFScanCallback {
|
||||
join_server_password(NULL), join_company_password(NULL),
|
||||
save_config_ptr(save_config_ptr), save_config(true)
|
||||
{
|
||||
/* Visual C++ 2015 fails compiling this line (AfterNewGRFScan::generation_seed undefined symbol)
|
||||
* if it's placed outside a member function, directly in the struct body. */
|
||||
assert_compile(sizeof(generation_seed) == sizeof(_settings_game.game_creation.generation_seed));
|
||||
}
|
||||
|
||||
virtual void OnNewGRFsScanned()
|
||||
@@ -730,7 +733,7 @@ int openttd_main(int argc, char *argv[])
|
||||
|
||||
goto exit_noshutdown;
|
||||
}
|
||||
case 'G': scanner->generation_seed = atoi(mgo.opt); break;
|
||||
case 'G': scanner->generation_seed = strtoul(mgo.opt, NULL, 10); break;
|
||||
case 'c': free(_config_file); _config_file = stredup(mgo.opt); break;
|
||||
case 'x': scanner->save_config = false; break;
|
||||
case 'J': _quit_after_days = Clamp(atoi(mgo.opt), 0, INT_MAX); break;
|
||||
|
@@ -36,7 +36,7 @@ void ScriptConfig::Change(const char *name, int version, bool force_exact_match,
|
||||
* for the Script that have the random flag to a random value. */
|
||||
for (ScriptConfigItemList::const_iterator it = this->info->GetConfigList()->begin(); it != this->info->GetConfigList()->end(); it++) {
|
||||
if ((*it).flags & SCRIPTCONFIG_RANDOM) {
|
||||
this->SetSetting((*it).name, InteractiveRandomRange((*it).max_value - (*it).min_value) + (*it).min_value);
|
||||
this->SetSetting((*it).name, InteractiveRandomRange((*it).max_value + 1 - (*it).min_value) + (*it).min_value);
|
||||
}
|
||||
}
|
||||
this->AddRandomDeviation();
|
||||
|
@@ -293,6 +293,19 @@ static const IndustryTileTable _tile_table_oil_rig_0[] = {
|
||||
MK(-2, -4, 255),
|
||||
MK(-3, -4, 255),
|
||||
MK(2, 0, 255),
|
||||
MK(2, -1, 255),
|
||||
MK(1, -1, 255),
|
||||
MK(0, -1, 255),
|
||||
MK(-1, -1, 255),
|
||||
MK(-1, 0, 255),
|
||||
MK(-1, 1, 255),
|
||||
MK(-1, 2, 255),
|
||||
MK(-1, 3, 255),
|
||||
MK(0, 3, 255),
|
||||
MK(1, 3, 255),
|
||||
MK(2, 3, 255),
|
||||
MK(2, 2, 255),
|
||||
MK(2, 1, 255),
|
||||
MKEND
|
||||
};
|
||||
|
||||
|
@@ -17,6 +17,8 @@
|
||||
/** The type all our vehicle IDs have. */
|
||||
typedef uint32 VehicleID;
|
||||
|
||||
static const int GROUND_ACCELERATION = 9800; ///< Acceleration due to gravity, 9.8 m/s^2
|
||||
|
||||
/** Available vehicle types. */
|
||||
enum VehicleType {
|
||||
VEH_BEGIN,
|
||||
|
@@ -105,6 +105,7 @@
|
||||
#include "gui.h"
|
||||
#include "core/container_func.hpp"
|
||||
#include "tunnelbridge_map.h"
|
||||
#include "core/sort_func.hpp"
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
@@ -1525,11 +1526,22 @@ static bool ViewportSortParentSpritesChecker()
|
||||
return true;
|
||||
}
|
||||
|
||||
static int CDECL CompareParentSprites(ParentSpriteToDraw * const *psd, ParentSpriteToDraw * const *psd2)
|
||||
{
|
||||
const ParentSpriteToDraw *ps = *psd;
|
||||
const ParentSpriteToDraw *ps2 = *psd2;
|
||||
return ps->xmin - ps2->xmin;
|
||||
}
|
||||
|
||||
/** Sort parent sprites pointer array */
|
||||
static void ViewportSortParentSprites(ParentSpriteToSortVector *psdv)
|
||||
{
|
||||
ParentSpriteToDraw **psdvend = psdv->End();
|
||||
ParentSpriteToDraw **psd = psdv->Begin();
|
||||
|
||||
/* pre-sort by xmin in ascending order */
|
||||
QSortT(psd, psdvend - psd, CompareParentSprites);
|
||||
|
||||
while (psd != psdvend) {
|
||||
ParentSpriteToDraw *ps = *psd;
|
||||
|
||||
@@ -1566,9 +1578,11 @@ static void ViewportSortParentSprites(ParentSpriteToSortVector *psdv)
|
||||
* I.e. every single order of X, Y, Z says ps2 is behind ps or they overlap.
|
||||
* That is: If one partial order says ps behind ps2, do not change the order.
|
||||
*/
|
||||
if (ps->xmax < ps2->xmin ||
|
||||
ps->ymax < ps2->ymin ||
|
||||
ps->zmax < ps2->zmin) {
|
||||
if (ps->xmax < ps2->xmin) {
|
||||
/* all following sprites have xmin >= ps2->xmin */
|
||||
break;
|
||||
}
|
||||
if (ps->ymax < ps2->ymin || ps->zmax < ps2->zmin) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@@ -15,6 +15,7 @@
|
||||
#include "cpu.h"
|
||||
#include "smmintrin.h"
|
||||
#include "viewport_sprite_sorter.h"
|
||||
#include "core/sort_func.hpp"
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
@@ -25,12 +26,24 @@
|
||||
#define LOAD_128 _mm_loadu_si128
|
||||
#endif
|
||||
|
||||
static int CDECL CompareParentSprites(ParentSpriteToDraw * const *psd, ParentSpriteToDraw * const *psd2)
|
||||
{
|
||||
const ParentSpriteToDraw *ps = *psd;
|
||||
const ParentSpriteToDraw *ps2 = *psd2;
|
||||
return ps->xmin - ps2->xmin;
|
||||
}
|
||||
|
||||
/** Sort parent sprites pointer array using SSE4.1 optimizations. */
|
||||
void ViewportSortParentSpritesSSE41(ParentSpriteToSortVector *psdv)
|
||||
{
|
||||
const __m128i mask_ptest = _mm_setr_epi8(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0);
|
||||
const __m128i mask_ptest2 = _mm_setr_epi8(-1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
ParentSpriteToDraw ** const psdvend = psdv->End();
|
||||
ParentSpriteToDraw **psd = psdv->Begin();
|
||||
|
||||
/* pre-sort by xmin in ascending order */
|
||||
QSortT(psd, psdvend - psd, CompareParentSprites);
|
||||
|
||||
while (psd != psdvend) {
|
||||
ParentSpriteToDraw * const ps = *psd;
|
||||
|
||||
@@ -64,8 +77,14 @@ void ViewportSortParentSpritesSSE41(ParentSpriteToSortVector *psdv)
|
||||
__m128i ps1_max = LOAD_128((__m128i*) &ps->xmax);
|
||||
__m128i ps2_min = LOAD_128((__m128i*) &ps2->xmin);
|
||||
__m128i rslt1 = _mm_cmplt_epi32(ps1_max, ps2_min);
|
||||
if (!_mm_testz_si128(mask_ptest, rslt1))
|
||||
if (!_mm_testz_si128(mask_ptest, rslt1)) {
|
||||
if (!_mm_testz_si128(mask_ptest2, rslt1) /* ps->xmax < ps2->xmin */) {
|
||||
/* all following sprites have xmin >= ps2->xmin */
|
||||
break;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
__m128i ps1_min = LOAD_128((__m128i*) &ps->xmin);
|
||||
__m128i ps2_max = LOAD_128((__m128i*) &ps2->xmax);
|
||||
|
Reference in New Issue
Block a user