diff --git a/src/3rdparty/squirrel/squirrel/sqstate.cpp b/src/3rdparty/squirrel/squirrel/sqstate.cpp index 51289b6a4c..d80d723f9a 100644 --- a/src/3rdparty/squirrel/squirrel/sqstate.cpp +++ b/src/3rdparty/squirrel/squirrel/sqstate.cpp @@ -513,7 +513,7 @@ void RefTable::AllocNodes(SQUnsignedInteger size) bucks[n] = nullptr; temp->refs = 0; new (&temp->obj) SQObjectPtr; - temp->next = temp+1; + temp->next = &temp[1]; temp++; } bucks[n] = nullptr; diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp index eb50165848..9810067aef 100644 --- a/src/blitter/32bpp_anim.cpp +++ b/src/blitter/32bpp_anim.cpp @@ -526,7 +526,7 @@ void Blitter_32bppAnim::CopyFromBuffer(void *video, const void *src, int width, dst += _screen.pitch; /* Copy back the anim-buffer */ memcpy(anim_line, usrc, width * sizeof(uint16)); - usrc = (const uint32 *)((const uint16 *)usrc + width); + usrc = (const uint32 *)&((const uint16 *)usrc)[width]; anim_line += this->anim_buf_pitch; /* Okay, it is *very* likely that the image we stored is using @@ -565,7 +565,7 @@ void Blitter_32bppAnim::CopyToBuffer(const void *video, void *dst, int width, in udst += width; /* Copy the anim-buffer */ memcpy(udst, anim_line, width * sizeof(uint16)); - udst = (uint32 *)((uint16 *)udst + width); + udst = (uint32 *)&((uint16 *)udst)[width]; anim_line += this->anim_buf_pitch; } } diff --git a/src/blitter/32bpp_optimized.cpp b/src/blitter/32bpp_optimized.cpp index 85ef96e11c..6781f7860a 100644 --- a/src/blitter/32bpp_optimized.cpp +++ b/src/blitter/32bpp_optimized.cpp @@ -329,8 +329,9 @@ template Sprite *Blitter_32bppOptimized::EncodeInternal(const const SpriteLoader::CommonPixel *src = (const SpriteLoader::CommonPixel *)src_orig->data; for (uint y = src_orig->height; y > 0; y--) { - Colour *dst_px = (Colour *)(dst_px_ln + 1); - uint16 *dst_n = (uint16 *)(dst_n_ln + 1); + /* Index 0 of dst_px and dst_n is left as space to save the length of the row to be filled later. */ + Colour *dst_px = (Colour *)&dst_px_ln[1]; + uint16 *dst_n = (uint16 *)&dst_n_ln[1]; uint16 *dst_len = dst_n++; diff --git a/src/company_gui.cpp b/src/company_gui.cpp index fb97daa0c8..4966d71569 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -226,7 +226,7 @@ static void DrawPrice(Money amount, int left, int right, int top, TextColour col * Draw a category of expenses/revenues in the year column. * @return The income sum of the category. */ -static Money DrawYearCategory (const Rect &r, int start_y, ExpensesList list, const Money(*tbl)[EXPENSES_END]) +static Money DrawYearCategory (const Rect &r, int start_y, ExpensesList list, const Money(&tbl)[EXPENSES_END]) { int y = start_y; ExpensesType et; @@ -234,7 +234,7 @@ static Money DrawYearCategory (const Rect &r, int start_y, ExpensesList list, co for (uint i = 0; i < list.length; i++) { et = list.et[i]; - Money cost = (*tbl)[et]; + Money cost = tbl[et]; sum += cost; if (cost != 0) DrawPrice(cost, r.left, r.right, y, TC_BLACK); y += FONT_HEIGHT_NORMAL; @@ -254,10 +254,10 @@ static Money DrawYearCategory (const Rect &r, int start_y, ExpensesList list, co * Draw a column with prices. * @param r Available space for drawing. * @param year Year being drawn. - * @param tbl Pointer to table of amounts for \a year. + * @param tbl Reference to table of amounts for \a year. * @note The environment must provide padding at the left and right of \a r. */ -static void DrawYearColumn(const Rect &r, int year, const Money (*tbl)[EXPENSES_END]) +static void DrawYearColumn(const Rect &r, int year, const Money (&tbl)[EXPENSES_END]) { int y = r.top; Money sum; @@ -437,7 +437,7 @@ struct CompanyFinancesWindow : Window { int age = std::min(_cur_year - c->inaugurated_year, 2); int wid_offset = widget - WID_CF_EXPS_PRICE1; if (wid_offset <= age) { - DrawYearColumn(r, _cur_year - (age - wid_offset), c->yearly_expenses + (age - wid_offset)); + DrawYearColumn(r, _cur_year - (age - wid_offset), c->yearly_expenses[age - wid_offset]); } break; } @@ -688,7 +688,7 @@ private: const Company *c; const Livery *livery, *default_livery = nullptr; bool primary = widget == WID_SCL_PRI_COL_DROPDOWN; - byte default_col; + byte default_col = 0; /* Disallow other company colours for the primary colour */ if (this->livery_class < LC_GROUP_RAIL && HasBit(this->sel, LS_DEFAULT) && primary) { diff --git a/src/disaster_vehicle.cpp b/src/disaster_vehicle.cpp index e218fc7bf3..a8d5db9e38 100644 --- a/src/disaster_vehicle.cpp +++ b/src/disaster_vehicle.cpp @@ -40,6 +40,7 @@ #include "sound_func.h" #include "effectvehicle_func.h" #include "roadveh.h" +#include "train.h" #include "ai/ai.hpp" #include "game/game.hpp" #include "company_base.h" @@ -603,17 +604,34 @@ static bool DisasterTick_Big_Ufo(DisasterVehicle *v) } v->current_order.SetDestination(1); - TileIndex tile_org = RandomTile(); - TileIndex tile = tile_org; - do { - if (IsPlainRailTile(tile) && - Company::IsHumanID(GetTileOwner(tile))) { + const auto is_valid_target = [](const Train *t) { + return t->IsFrontEngine() // Only the engines + && Company::IsHumanID(t->owner) // Don't break AIs + && IsPlainRailTile(t->tile) // No tunnels + && (t->vehstatus & VS_CRASHED) == 0; // Not crashed + }; + + uint n = 0; // Total number of targetable trains. + for (const Train *t : Train::Iterate()) { + if (is_valid_target(t)) n++; + } + + if (n == 0) { + /* If there are no targetable trains, destroy the UFO. */ + delete v; + return false; + } + + n = RandomRange(n); // Choose one of them. + for (const Train *t : Train::Iterate()) { + /* Find (n+1)-th train. */ + if (is_valid_target(t) && (n-- == 0)) { + /* Target it. */ + v->dest_tile = t->tile; + v->age = 0; break; } - tile = TILE_MASK(tile + 1); - } while (tile != tile_org); - v->dest_tile = tile; - v->age = 0; + } } return true; diff --git a/src/elrail.cpp b/src/elrail.cpp index fb4de52fcc..1c788d9a5e 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -699,16 +699,14 @@ void SettingsDisableElrail(int32 new_value) { bool disable = (new_value != 0); - /* we will now walk through all electric train engines and change their railtypes if it is the wrong one*/ - const RailType old_railtype = disable ? RAILTYPE_ELECTRIC : RAILTYPE_RAIL; + /* pick appropriate railtype for elrail engines depending on setting */ const RailType new_railtype = disable ? RAILTYPE_RAIL : RAILTYPE_ELECTRIC; /* walk through all train engines */ for (Engine *e : Engine::IterateType(VEH_TRAIN)) { RailVehicleInfo *rv_info = &e->u.rail; - /* if it is an electric rail engine and its railtype is the wrong one */ - if (rv_info->engclass == 2 && rv_info->railtype == old_railtype) { - /* change it to the proper one */ + /* update railtype of engines intended to use elrail */ + if (rv_info->intended_railtype == RAILTYPE_ELECTRIC) { rv_info->railtype = new_railtype; } } diff --git a/src/engine_type.h b/src/engine_type.h index 1cdaf80d7a..30a62a7229 100644 --- a/src/engine_type.h +++ b/src/engine_type.h @@ -43,7 +43,8 @@ struct RailVehicleInfo { byte image_index; RailVehicleTypes railveh_type; byte cost_factor; ///< Purchase cost factor; For multiheaded engines the sum of both engine prices. - RailType railtype; + RailType railtype; ///< Railtype, mangled if elrail is disabled. + RailType intended_railtype; ///< Intended railtype, regardless of elrail being enabled or disabled. uint16 max_speed; ///< Maximum speed (1 unit = 1/1.6 mph = 1 km-ish/h) uint16 power; ///< Power of engine (hp); For multiheaded engines the sum of both engine powers. uint16 weight; ///< Weight of vehicle (tons); For multiheaded engines the weight of each single engine. diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 49ad8fbfca..4eeb38e256 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -878,7 +878,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Rezerve noi de cărbune la {INDUSTRY}!{}Se preconizează dublarea producţiei! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Rezerve noi de petrol la {INDUSTRY}!{}Se preconizează dublarea producţiei! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Noile tehnologii folosite la {INDUSTRY} vor aduce dublarea producţiei! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Producţia de {STRING} de la {INDUSTRY} creste cu {COMMA}%! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Producţia de {STRING} de la {INDUSTRY} crește cu {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} scade producţia cu 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insectele cauzează distrugeri masive la {INDUSTRY}!{}Producţia scade cu 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Producţia de {STRING} de la {INDUSTRY} scade cu {COMMA}%! @@ -4206,13 +4206,13 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Acțiune # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Încărcare / Descărcare -STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Pleaca +STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Pleacă STR_VEHICLE_STATUS_CRASHED :{RED}Accident! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Defect STR_VEHICLE_STATUS_STOPPED :{RED}Oprit STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Oprire, {VELOCITY} STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Fara curent -STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Astept cale libera +STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Aștept cale liberă STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Prea departe pentru următoarea destinație STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Spre {STATION}, {VELOCITY} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index b6e336040d..d5876a87e2 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -2615,8 +2615,8 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}超载 # Linkgraph tooltip -STR_LINKGRAPH_STATS_TOOLTIP :{BLACK}{CARGO_LONG} 每月待从{STATION}运输到{STATION}为({COMMA}%产量){STRING} -STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG}要运回({COMMA}% of capacity) +STR_LINKGRAPH_STATS_TOOLTIP :{BLACK}每月有{CARGO_LONG}待从{STATION}运输到{STATION}(运载能力的{COMMA}%){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}有{CARGO_LONG}要运回(运载能力的{COMMA}%) STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}平均行驶时间: {NUM}{NBSP}天 # Base for station construction window(s) diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 58c0502920..bec5d5f693 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -2933,6 +2933,8 @@ STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Nahodné STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Postaviť mesto na náhodnej pozícii STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Veľa náhodných miest STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Pokryť mapu náhodne umiestnenými mestami +STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Rozbaliť všetky mestá +STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Nechať všetky mestá mierne rásť STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Meno mesta: STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Vložte meno mesta @@ -3413,7 +3415,10 @@ STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Reprezen STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Posúvajte sprite, so súčasnou zmenou X a Y súradnice. Ctrl+klik posunie sprite o osem jednotiek súčasne ###length 2 +STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Offset v strede +STR_SPRITE_ALIGNER_CENTRE_SPRITE :{BLACK}Sprite zarovnávač v strede +STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Zameriavací kríž STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetovať relatívne STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetovať aktuálne relatívne posunutie @@ -4270,7 +4275,7 @@ STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Činnos STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Činnosť aktuálneho lietadla - kliknite na zastavenie/spustenie lietadla # Messages in the start stop button in the vehicle view -STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Nakláda / Vykláda +STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Nakladá / Vykladá STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Opúšta STR_VEHICLE_STATUS_CRASHED :{RED}Zničené! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Pokazený @@ -4530,7 +4535,7 @@ STR_ORDER_TRANSFER_NO_LOAD :(Prelož a nech STR_ORDER_NO_UNLOAD :(Nevykladaj a nalož) STR_ORDER_NO_UNLOAD_FULL_LOAD :(Nevykladaj a čakaj na plné naloženie) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Nevykladaj a čakaj na plné naloženie čohokoľvek) -STR_ORDER_NO_UNLOAD_NO_LOAD :(Žiadne vykládanie ani nakládanie) +STR_ORDER_NO_UNLOAD_NO_LOAD :(Žiadne vykladanie ani nakladanie) STR_ORDER_AUTO_REFIT :(Prestavať na {STRING}) STR_ORDER_FULL_LOAD_REFIT :(Plne nalož s prestavbou na {STRING}) @@ -4595,22 +4600,22 @@ STR_TIMETABLE_STARTING_DATE :{BLACK}Začiato STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Vyberte dátum začiatku cestovného poriadku. Ctrl+klik rozdelí od daného dátumu rovnomerne všetky vozidlá zdieľajúce tieto príkazy na základe ich relatívneho poradia, ak je cestovný poriadok kompletne vyplnený STR_TIMETABLE_CHANGE_TIME :{BLACK}Zmeniť čas -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Zmeniť dĺžku trvania označeného príkazu +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Zmeniť dĺžku trvania označeného príkazu. Ctrl+klik nastaví čas pre všetky príkazy STR_TIMETABLE_CLEAR_TIME :{BLACK}Odstrániť čas -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Odstrániť dĺžku trvania označeného príkazu +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Odstrániť dĺžku trvania označeného príkazu. Ctrl+klik vymaže čas pre všetky príkazy STR_TIMETABLE_CHANGE_SPEED :{BLACK}Zmeniť maximálnu rýchlosť -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Zmeniť maximálnu rýchlosť označeného príkazu +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Zmeniť maximálnu rýchlosť označeného príkazu. Ctrl+klik nastaví rýchlosť pre všetky príkazy STR_TIMETABLE_CLEAR_SPEED :{BLACK}Odstrániť rýchlostné obmedzenie -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Odstrániť obmedzenie maximánej rýchlosti označeného príkazu +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Odstrániť obmedzenie maximánej rýchlosti označeného príkazu. Ctrl+klik vymaže rýchlosť pre všetky príkazy STR_TIMETABLE_RESET_LATENESS :{BLACK}Reset meškania STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Vynulovať počítadlo meškania, takže vozidlo pôjde presne STR_TIMETABLE_AUTOFILL :{BLACK}Automaticky vyplniť -STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Vyplniť časový plán automaticky s hodnotami z nasledujúcej trasy (Ctrl+klik - pokúsiť sa udržať čakacie doby) +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Vyplniť časový plán automaticky s hodnotami z nasledujúcej trasy. Ctrl+klik - pokúsiť sa udržať čakacie doby STR_TIMETABLE_EXPECTED :{BLACK}Očakávané STR_TIMETABLE_SCHEDULED :{BLACK}Plánované @@ -4866,6 +4871,7 @@ STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... prí STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Nemožno vygenerovať priemysel... STR_ERROR_CAN_T_BUILD_HERE :{WHITE}{STRING} sa tu nedá postaviť... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Nemôžete tu postaviť tento typ priemyslu... +STR_ERROR_CAN_T_PROSPECT_INDUSTRY :{WHITE}Nemôžem hľadať priemysel... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... príliš blízko iného priemyslu STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... najskôr je potrebné založiť mesto STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... povolené len jedno pre každé mesto @@ -4880,6 +4886,8 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... les STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... môže byť postavené len nad hranicou snehu STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... môže byť postavené len pod hranicou snehu +STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}Financovanie sa nepodarilo nájsť pre smolu; skúste to znova +STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Nenašli sa žiadne vhodné miesta na vyhliadku pre toto odvetvie STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nenašli sa žiadne vhodné miesta pre '{STRING}' STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Pre získanie lepšej mapy zmeňte parametre jej generovania diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 6362e2b466..7d3d8342c0 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -241,7 +241,7 @@ STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Sökfilter: -STR_LIST_FILTER_OSKTITLE :{BLACK}Skriv in sökfilter +STR_LIST_FILTER_OSKTITLE :{BLACK}Skriv in ett eller flera sökord att filtrera listan efter STR_LIST_FILTER_TOOLTIP :{BLACK}Skriv in ett eller flera sökord att filtrera listan efter STR_TOOLTIP_GROUP_ORDER :{BLACK}Välj order att gruppera på @@ -263,7 +263,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Klicka o STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Växla stor/liten fönsterstorlek STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullningslist - rullar listan upp/ned STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullningslist - rullar listan höger/vänster -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Riv byggnader etc. på en markruta. Ctrl väljer yta diagonalt. Shift växlar mellan att riva/visa beräknad kostnad +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Riv byggnader etc. på en markruta. Ctrl väljer ytan diagonalt. Shift växlar mellan att riva/visa beräknad kostnad # Show engines button ###length VEHICLE_TYPES @@ -394,7 +394,7 @@ STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Bygg vä STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Spårvägskonstruktion STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantera träd. Shift växlar mellan att bygga/visa beräknad kostnad STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Placera skylt -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Placera objekt. Ctrl markerkar området diagonalt. Shift växlar mellan att bygga/visa beräknad kostnad +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Placera objekt. Ctrl väljer ytan diagonalt. Shift växlar mellan att bygga/visa beräknad kostnad # Scenario editor file menu ###length 7 @@ -1713,7 +1713,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillåt datorst STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes innan skript sätts i viloläge: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximalt antal beräkningssteg ett skript kan utföra i en omgång -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maximalt minnesanvändning per skript: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maximal minnesanvändning per skript: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hur mycket minne ett enda skript kan konsumera innan det tvingas avslutas. Det kan behöva ökas för stora kartor. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB @@ -2810,14 +2810,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Generera # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Landskapsplanering -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Sänk ett hörn av marken. Vid dragning kommer hörnet och vald yta att sänkas ner till hörnets nya höjd. Ctrl väljer yta diagonalt. Shift växlar mellan att sänka/visa beräknad kostnad -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Höj ett hörn av marken. Vid dragning kommer hörnet och vald yta att höjas upp till hörnets nya höjd. Ctrl väljer yta diagonalt. Shift växlar mellan att höja/visa beräknad kostnad -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Utjämna land till höjden av det först valda hörnet. Ctrl väljer området diagonalt. Shift växlar mellan att utjämna/visa beräknad kostnad -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Köp mark för framtida användning. Ctrl väljer området diagonalt. Shift växlar mellan att köpa mark/visa beräknad kostnad +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Sänk ett hörn av marken. Vid dragning kommer hörnet och vald yta att sänkas ner till hörnets nya höjd. Ctrl väljer ytan diagonalt. Shift växlar mellan att sänka/visa beräknad kostnad +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Höj ett hörn av marken. Vid dragning kommer hörnet och vald yta att höjas upp till hörnets nya höjd. Ctrl väljer ytan diagonalt. Shift växlar mellan att höja/visa beräknad kostnad +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Utjämna land till höjden av det först valda hörnet. Ctrl väljer ytan diagonalt. Shift växlar mellan att utjämna/visa beräknad kostnad +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Köp mark för framtida användning. Ctrl väljer ytan diagonalt. Shift växlar mellan att köpa mark/visa beräknad kostnad # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Val av objekt -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Välj objekt att bygga. Shift växlar mellan att bygga/visa beräknad kostnad +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Välj objekt att bygga. Ctrl väljer ytan diagonalt. Shift växlar mellan att bygga/visa beräknad kostnad STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Välj typ av objekt att bygga STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Förhandsvisning av objektet STR_OBJECT_BUILD_SIZE :{BLACK}Storlek: {GOLD}{NUM} x {NUM} rutor @@ -3364,7 +3364,7 @@ STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatalt: {S STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Ett fatalt NewGRF-fel har uppstått:{}{STRING} STR_NEWGRF_ERROR_POPUP :{WHITE}Ett NewGRF-fel har uppstått:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} kommer inte att fungera med den TTDPatchversion som rapporterades av OpenTTD -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} är för {STRING}versionen av TTD +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} är för {2:STRING}-versionen av TTD STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} är designat för att användas med {2:STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Felaktig parameter för {1:STRING}: parameter {2:STRING} ({3:NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} måste laddas in innan {2:STRING} @@ -3505,11 +3505,11 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Muta de lokala ###length 8 STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Starta en liten lokal reklamkampanj för att attrahera fler passagerare och mer gods till dina tranporttjänster.{}Ger en temporär boost till stationers betyg i en liten radie runt stadens centrum.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Starta en medelstor lokal reklamkampanj, för att attrahera fler passagerare och mer gods till dina tranporttjänster.{}Ger en temporär boost till stationers betyg i en medelstor radie runt stadens centrum.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Starta en stor lokal reklamkampanj, för att attrahera fler passagerare och mer gods till dina transporttjänster.{}Ger en temporär boost till stationers betyg i en stor radie runt stadens centrum.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Starta en medelstor lokal reklamkampanj, för att attrahera fler passagerare och mer gods till dina tranporttjänster.{}Ger en temporär boost till stationers betyg i en medelstor radie runt stadens centrum.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Starta en stor lokal reklamkampanj, för att attrahera fler passagerare och mer gods till dina transporttjänster.{}Ger en temporär boost till stationers betyg i en stor radie runt stadens centrum.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Bekosta ombyggnad av stadens vägnätverk.{}Orsakar ansenliga störningar för vägtrafik i upp till 6 månader.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Bygg en staty i ditt företags ära.{}Ger en permanent boost till stationers betyg i staden.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Bekosta uppbyggnad av nya byggnader i staden.{}Ger en temporär boost till stadens tillväxt.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Bygg en staty till ditt företags ära.{}Ger en permanent boost till stationers betyg i staden.{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Bekosta konstruktion av nya byggnader i staden.{}Ger en temporär boost till stadens tillväxt.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Köp 1 års exklusiva transporträttigheter i staden.{}De lokala myndigheterna kommer inte tillåta passagerare och gods att använda dina motståndares stationer.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW} Muta de lokala myndigheterna för att öka din värdering, med risk för att få höga böter om du blir upptäckt.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} @@ -4604,7 +4604,7 @@ STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spelskr STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parametrar STR_AI_CONFIG_AI :{SILVER}Datorspelare -STR_AI_CONFIG_CHANGE_AI :Datorspelare +STR_AI_CONFIG_CHANGE_AI :{BLACK}Välj datorspelare STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Välj spelskript STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Läs in ett annat skript STR_AI_CONFIG_CONFIGURE :{BLACK}Konfigurera @@ -4634,7 +4634,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Skärmdu STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Skärmdump av miniatyrkartan # AI Parameters -STR_AI_SETTINGS_CAPTION_AI :Datorspelarens +STR_AI_SETTINGS_CAPTION_AI :{WHITE}Datorspelarens parametrar STR_AI_SETTINGS_CLOSE :{BLACK}Stäng STR_AI_SETTINGS_RESET :{BLACK}Återställ STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} @@ -4690,7 +4690,7 @@ STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Sparfilen är g STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Filen är inte läsbar STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Filen är inte skrivbar STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Integritetskontrollen på datan misslyckades -STR_GAME_SAVELOAD_ERROR_PATCHPACK :Sparat spel är från en modifierat version +STR_GAME_SAVELOAD_ERROR_PATCHPACK :Sparat spel är från en modifierad version STR_GAME_SAVELOAD_NOT_AVAILABLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Spelet sparades i en version som ej stöder spårvagn. Alla spårvagnar har tagits bort @@ -4982,6 +4982,7 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Objekt i STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... huvudkontor i vägen STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kan inte köpa denna mark... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... du äger den redan! +STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... gränsen för konstruktion av objekt är nådd # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan inte skapa grupp... diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 9ec640a922..8d73cf1595 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -204,6 +204,7 @@ STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp STR_UNITS_POWER_METRIC :{COMMA}{NBSP}hp STR_UNITS_POWER_SI :{COMMA}{NBSP}kW +STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}{NBSP}டன் STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}{NBSP}டன் @@ -968,6 +969,7 @@ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}தி STR_GAME_OPTIONS_RESOLUTION_OTHER :மற்றவை STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}விளையாட்டு மறுதொடக்கம் செய்யப்பட்ட பிறகு மட்டுமே இந்த அமைப்பு நடைமுறைக்கு வரும் STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync @@ -975,6 +977,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync +STR_GAME_OPTIONS_GRAPHICS :{BLACK}அசைவூட்டங்கள் STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz @@ -1182,6 +1185,7 @@ STR_CONFIG_SETTING_DISASTERS :பேரழி STR_CONFIG_SETTING_CITY_APPROVAL :நகர மறு அமைப்பின் மீது நகராட்சியின் நிலை: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :நிறுவனங்களின் சத்தம் மற்றும் சுற்றுச்சூழல் சேதம் அவர்களின் நகர மதிப்பீட்டை பாதிக்கும் மற்றும் அவற்றின் பகுதியில் மேலும் கட்டுமான நடவடிக்கைகளைத் தேர்வுசெய்க +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :வரைபட உயர வரம்பு: {STRING} ###setting-zero-is-special STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE} அதிகபட்ச வரைபட உயரமாக இந்த மதிப்பை நீங்கள் தர இயலாது. வரைபடத்தில் குறைந்தது ஒரு மலையாவது இந்த மதிப்பை விட உயரமாக உள்ளது @@ -1275,6 +1279,7 @@ STR_CONFIG_SETTING_FREIGHT_TRAINS :பெரிய STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :ரயில்களில் சரக்குகளை கொண்டு செல்வதன் தாக்கத்தை அமைக்கவும். அதிக மதிப்பு ரயில்களுக்கு, குறிப்பாக மலைகளில் தேவைப்படும் அளவுக்கு சரக்குகளை எடுத்துச் செல்கிறது STR_CONFIG_SETTING_PLANE_SPEED :விமான வேக பெருக்கி: {STRING} +STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :விமானங்களின் போக்குவரத்து வருமானத்தின் அளவைக் குறைக்க, மற்ற வாகன வகைகளுடன் ஒப்பிடும்போது விமானங்களின் ஒப்பீட்டு வேகத்தை அமைக்கவும் STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :விமான விபத்துகளின் எண்ணிக்கை: {STRING} @@ -1291,6 +1296,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}வா STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :கட்டட பராமரிப்பு: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :துவங்கும் நிறுவனத்தின் வண்ணம்: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :துவங்கும் நிறுவனத்தின் வண்ணம் STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :விமான நிலையங்கள் என்றும் காலாவதியாகாது: {STRING} @@ -1436,6 +1442,7 @@ STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :ஒரு அ ###length 3 STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :என்றுமில்லை STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :கேள் +STR_CONFIG_SETTING_USE_RELAY_SERVICE_ALLOW :அனுமதி ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+Click @@ -1591,6 +1598,7 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :தொழிற STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :பொருளாதார மாற்றங்கள்: {STRING} STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :உலக பொருளாதார மாற்றங்களைப் பற்றி செய்தித்தாளினைக் காட்டு +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :நிறுவனத்தால் வழங்கப்படும் தொழில்களின் உற்பத்தி நிலை மாறும்போது செய்தித்தாளைக் காட்டவும் STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :மற்ற தொழிற்சாலைகளின் உற்பத்தி மாற்றங்கள்: {STRING} @@ -1712,6 +1720,7 @@ STR_CONFIG_SETTING_TOWN_GROWTH_FAST :வேகமா STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :அதிவேகமாக STR_CONFIG_SETTING_LARGER_TOWNS :நகரங்கள் மாநகரங்கள் ஆகும் வாய்ப்பு: {STRING} +STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :நகரமாக மாறும் நகரங்களின் எண்ணிக்கை, இதனால் பெரியதாகத் தொடங்கி வேகமாக வளரும் நகரம் STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 இல் {COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :ஒன்றுமில்லை @@ -1759,6 +1768,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :இம்பீ STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :மெட்ரிக் (I) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (மீ³) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :இழு திறன் அலகுகள்: {STRING} ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :இம்பீரியல் (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :மெட்ரிக் (kgf) @@ -2076,12 +2086,14 @@ STR_NETWORK_COMPANY_LIST_CLIENT_LIST :இணைய STR_NETWORK_COMPANY_LIST_SPECTATE :பார்வையாளனாக பார் # Network client list +STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}இணைய வீரர்கள் STR_NETWORK_CLIENT_LIST_SERVER_NAME_EDIT_TOOLTIP :{BLACK}உங்கள் சேவையகத்தின் பெயரைத் திருத்தவும் STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION :சேவையகத்தின் பெயர் STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY :{BLACK}தெரிவுநிலை STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}தொடர்பு வகை STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}உங்கள் சேவையகத்தை மற்றவர்கள் எப்படி அணுகலாம் STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}உங்கள் வீரரின் பெயர் +STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}உங்கள் வீரரின் பெயரைத் திருத்தவும் STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}இந்த நிறுவனத்திற்கான நிர்வாக நடவடிக்கைகள் STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :இந்த நிறுவனத்தில் சேரு STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}இந்த விளையாட்டாளருக்கு ஒரு செய்தியை அனுப்பவும் @@ -2517,6 +2529,7 @@ STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}ஏத STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}ஏதொவொறு இடத்தில் நகரத்தினை நிறுவு STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}பல வெவ்வேறு நகரங்கள் STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}வரைபடத்தினை நகரங்களினால் நிறப்பு +STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}எல்லா ஊர்களையும் விரிவுபடுத்து STR_FOUND_TOWN_NAME_TITLE :{YELLOW}நகரத்தின் பெயர்: STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}நகரத்தின் பெயரினை இடு @@ -2707,6 +2720,7 @@ STR_FRAMERATE_MEMORYUSE :{WHITE}நி STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} நுண்ணொடி STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} மில்லி விநாடி(கள்) +STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} பிரேம்கள்/வினாடி STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} வினாடிக்கு பிரேம்கள் STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES} STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} விநாடி(கள்) @@ -2729,6 +2743,7 @@ STR_FRAMETIME_CAPTION_GL_TRAINS :இரயில STR_FRAMETIME_CAPTION_GL_ROADVEHS :சாலை வாகனத்தின் பயண நேரம் STR_FRAMETIME_CAPTION_GL_AIRCRAFT :விமான டிக்குகள் STR_FRAMETIME_CAPTION_GL_LANDSCAPE :உலக சொடுக்குகள் +STR_FRAMETIME_CAPTION_GL_LINKGRAPH :இணைப்பு வரைபட தாமதம் STR_FRAMETIME_CAPTION_DRAWING :கிராபிக்ஸ் ரெண்டரிங் STR_FRAMETIME_CAPTION_VIDEO :வீடியோ வெளியீடு STR_FRAMETIME_CAPTION_SOUND :ஒலி கலவை @@ -2757,6 +2772,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}ஆட STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}எந்த தகவலும் கிடைக்கவில்லை STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}கோப்பை மேலெழுதவும் STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}ஏற்கனவே உள்ள கோப்பை மேலெழுத விரும்புகிறீர்களா? STR_SAVELOAD_DIRECTORY :{STRING} (கோப்பகம்) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (தாய் கோப்புறை) @@ -2947,6 +2963,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}மு STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}முன்னிருந்தமாதிரி மாற்று STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}தற்போதைய ஆஃப்செட்களை மீட்டமைக்கவும் +STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X ஒதுக்கம்: {NUM}, Y ஒதுக்கம்: {NUM} (அறுதி) STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X ஒதுக்கம்: {NUM}, Y ஒதுக்கம்: {NUM} (சார்பு) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}ஸ்பிரைட்டினைத் தேர்ந்தெடுக்கவும் @@ -3243,6 +3260,7 @@ STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}கப் STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}கடன் வட்டி STR_FINANCES_SECTION_OTHER :{GOLD}மற்றவை +STR_FINANCES_TOTAL_CAPTION :{WHITE}மொத்தம் STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG} STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}வங்கி கையிருப்பு @@ -3381,6 +3399,7 @@ STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :பணிமன STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}பட்டியலில் உள்ள அனைத்து வாகனங்களையும் நிறுத்த இங்கே சொடுக்கவும் STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}பட்டியலில் உள்ள அனைத்து வாகனங்களையும் இயக்க இங்கே சொடுக்கவும் +STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}இந்த வகை வாகனத்திற்கான எஞ்சின் வடிவமைப்புகளின் பட்டியலைப் பார்க்கவும் STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}{COMMA} வாகன{P "த்தின்" ங்களின்} பகிர்ந்த கட்டளைகள் @@ -3461,6 +3480,7 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}தூ STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}விமான வகை: {GOLD}{STRING} ###length 3 +STR_CARGO_TYPE_FILTER_FREIGHT :சரக்கு ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}இரயில் வாகனங்கள் பட்டியல் - மேலும் விவரங்களுக்கு வாகனத்தை சொடுக்கவும் @@ -3475,6 +3495,7 @@ STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}கப STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}விமானத்தை வாங்கு ###length VEHICLE_TYPES +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}வாகனத்தை வாங்கி மாற்றியமை STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}கப்பலை வாங்கி மாற்றியமை STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}விமானத்தை வாங்கி மாற்றியமை diff --git a/src/newgrf.cpp b/src/newgrf.cpp index bf043192e9..41536871d3 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -11382,6 +11382,7 @@ static void AfterLoadGRFs() e->info.climates = 0; } else { e->u.rail.railtype = railtype; + e->u.rail.intended_railtype = railtype; } } diff --git a/src/saveload/upstream/station_sl.cpp b/src/saveload/upstream/station_sl.cpp index e5ce580ed0..c215adb2e8 100644 --- a/src/saveload/upstream/station_sl.cpp +++ b/src/saveload/upstream/station_sl.cpp @@ -250,7 +250,7 @@ public: } size_t num_cargo = this->GetNumCargo(); - for (CargoID i = 0; i < num_cargo; i++) { + for (size_t i = 0; i < num_cargo; i++) { GoodsEntry *ge = &st->goods[i]; SlObject(ge, this->GetLoadDescription()); if (IsSavegameVersionBefore(SLV_183)) { diff --git a/src/saveload/upstream/town_sl.cpp b/src/saveload/upstream/town_sl.cpp index 839a55062e..c6628fc810 100644 --- a/src/saveload/upstream/town_sl.cpp +++ b/src/saveload/upstream/town_sl.cpp @@ -59,7 +59,7 @@ public: void Load(Town *t) const override { size_t num_cargo = this->GetNumCargo(); - for (CargoID i = 0; i < num_cargo; i++) { + for (size_t i = 0; i < num_cargo; i++) { SlObject(&t->supplied[i], this->GetLoadDescription()); } } diff --git a/src/script/api/script_rail.cpp b/src/script/api/script_rail.cpp index 9a1a11e224..bbc7b9af65 100644 --- a/src/script/api/script_rail.cpp +++ b/src/script/api/script_rail.cpp @@ -449,7 +449,7 @@ static bool IsValidSignalType(int signal_type) EnforcePrecondition(false, ::IsValidSignalType(signal)); Track track = INVALID_TRACK; - uint signal_cycles; + uint signal_cycles = 0; int data_index = 2 + (::TileX(front) - ::TileX(tile)) + 2 * (::TileY(front) - ::TileY(tile)); for (int i = 0; i < NUM_TRACK_DIRECTIONS; i++) { diff --git a/src/table/engines.h b/src/table/engines.h index e3b1481d7f..830ab93ced 100644 --- a/src/table/engines.h +++ b/src/table/engines.h @@ -386,7 +386,7 @@ static const EngineInfo _orig_engine_info[] = { * Tractive effort coefficient by default is the same as TTDPatch, 0.30*256=76 * Air drag value depends on the top speed of the vehicle. */ -#define RVI(a, b, c, d, e, f, g, h, i, j, k) { a, b, c, j, d, e, f, g, h, k, i, 0, 0, 0, VE_DEFAULT, 0, 76, 0, 0, 0 } +#define RVI(a, b, c, d, e, f, g, h, i, j, k) { a, b, c, j, j, d, e, f, g, h, k, i, 0, 0, 0, VE_DEFAULT, 0, 76, 0, 0, 0 } #define M RAILVEH_MULTIHEAD #define W RAILVEH_WAGON #define G RAILVEH_SINGLEHEAD diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index 4d7ca57a03..2e011ed701 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -547,7 +547,7 @@ struct TimetableWindow : GeneralVehicleWindow { bool clearable_when_wait_locked = false; if (selected != -1) { const Order *order = v->GetOrder(((selected + 1) / 2) % v->GetNumOrders()); - if (selected % 2 == 1) { + if (selected % 2 != 0) { /* Travel time */ disable = order != nullptr && (order->IsType(OT_CONDITIONAL) || order->IsType(OT_IMPLICIT)); disable_time = disable; @@ -577,7 +577,7 @@ struct TimetableWindow : GeneralVehicleWindow { wait_locked = wait_lockable && order->IsWaitFixed(); } } - bool disable_speed = disable || selected % 2 != 1 || v->type == VEH_AIRCRAFT; + bool disable_speed = disable || selected % 2 == 0 || v->type == VEH_AIRCRAFT; this->SetWidgetDisabledState(WID_VT_CHANGE_TIME, disable_time || (HasBit(v->vehicle_flags, VF_AUTOMATE_TIMETABLE) && !wait_locked)); this->SetWidgetDisabledState(WID_VT_CLEAR_TIME, disable_time || (HasBit(v->vehicle_flags, VF_AUTOMATE_TIMETABLE) && !(wait_locked && clearable_when_wait_locked))); @@ -936,7 +936,7 @@ struct TimetableWindow : GeneralVehicleWindow { StringID current = STR_EMPTY; if (order != nullptr) { - uint time = (selected % 2 == 1) ? order->GetTravelTime() : order->GetWaitTime(); + uint time = (selected % 2 != 0) ? order->GetTravelTime() : order->GetWaitTime(); if (!_settings_client.gui.timetable_in_ticks) time /= DATE_UNIT_SIZE; if (time != 0) { diff --git a/src/video/sdl2_v.h b/src/video/sdl2_v.h index 0757c33a49..ce7d79f249 100644 --- a/src/video/sdl2_v.h +++ b/src/video/sdl2_v.h @@ -20,7 +20,7 @@ /** The SDL video driver. */ class VideoDriver_SDL_Base : public VideoDriver { public: - VideoDriver_SDL_Base() : sdl_window(nullptr), buffer_locked(false), driver_info(this->GetName()) {} + VideoDriver_SDL_Base() : sdl_window(nullptr), buffer_locked(false) {} const char *Start(const StringList ¶m) override; @@ -44,8 +44,6 @@ public: std::vector GetListOfMonitorRefreshRates() override; - const char *GetName() const override { return "sdl"; } - const char *GetInfoString() const override { return this->driver_info.c_str(); } protected: