Merge branch 'master' into jgrpp

# Conflicts:
#	src/vehicle_cmd.cpp
This commit is contained in:
Jonathan G Rennison
2019-01-31 02:04:02 +00:00
23 changed files with 256 additions and 160 deletions

7
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,7 @@
## Version of OpenTTD
## Expected result
## Actual result
## Steps to reproduce

View File

@@ -1,7 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14 # Visual Studio Version 16
VisualStudioVersion = 14.0.23107.0 VisualStudioVersion = 16.0.28516.95
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openttd", "openttd_vs142.vcxproj", "{668328A0-B40E-4CDB-BD72-D0064424414A}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openttd", "openttd_vs142.vcxproj", "{668328A0-B40E-4CDB-BD72-D0064424414A}"
EndProject EndProject
@@ -97,6 +96,9 @@ Global
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1DE4D2BD-DBC4-4304-907E-34994EEAA4C1}
EndGlobalSection
GlobalSection(DPCodeReviewSolutionGUID) = preSolution GlobalSection(DPCodeReviewSolutionGUID) = preSolution
DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}
EndGlobalSection EndGlobalSection

View File

@@ -660,7 +660,7 @@ struct ScriptTextfileWindow : public TextfileWindow {
*/ */
void ShowScriptTextfileWindow(TextfileType file_type, CompanyID slot) void ShowScriptTextfileWindow(TextfileType file_type, CompanyID slot)
{ {
DeleteWindowByClass(WC_TEXTFILE); DeleteWindowById(WC_TEXTFILE, file_type);
new ScriptTextfileWindow(file_type, slot); new ScriptTextfileWindow(file_type, slot);
} }

View File

@@ -1574,7 +1574,7 @@ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station
if (st->goods[cid].cargo.HasCargoFor(next_station.Get(cid))) { if (st->goods[cid].cargo.HasCargoFor(next_station.Get(cid))) {
/* Try to find out if auto-refitting would succeed. In case the refit is allowed, /* Try to find out if auto-refitting would succeed. In case the refit is allowed,
* the returned refit capacity will be greater than zero. */ * the returned refit capacity will be greater than zero. */
DoCommand(v_start->tile, v_start->index, cid | 1U << 6 | 0xFF << 8 | 1U << 16, DC_QUERY_COST, GetCmdRefitVeh(v_start)); // Auto-refit and only this vehicle including artic parts. DoCommand(v_start->tile, v_start->index, cid | 1U << 24 | 0xFF << 8 | 1U << 16, DC_QUERY_COST, GetCmdRefitVeh(v_start)); // Auto-refit and only this vehicle including artic parts.
/* Try to balance different loadable cargoes between parts of the consist, so that /* Try to balance different loadable cargoes between parts of the consist, so that
* all of them can be loaded. Avoid a situation where all vehicles suddenly switch * all of them can be loaded. Avoid a situation where all vehicles suddenly switch
* to the first loadable cargo for which there is only one packet. If the capacities * to the first loadable cargo for which there is only one packet. If the capacities
@@ -1597,7 +1597,7 @@ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station
* "via any station" before reserving. We rather produce some more "any station" cargo than * "via any station" before reserving. We rather produce some more "any station" cargo than
* misrouting it. */ * misrouting it. */
IterateVehicleParts(v_start, ReturnCargoAction(st, INVALID_STATION)); IterateVehicleParts(v_start, ReturnCargoAction(st, INVALID_STATION));
CommandCost cost = DoCommand(v_start->tile, v_start->index, new_cid | 1U << 6 | 0xFF << 8 | 1U << 16, DC_EXEC, GetCmdRefitVeh(v_start)); // Auto-refit and only this vehicle including artic parts. CommandCost cost = DoCommand(v_start->tile, v_start->index, new_cid | 1U << 24 | 0xFF << 8 | 1U << 16, DC_EXEC, GetCmdRefitVeh(v_start)); // Auto-refit and only this vehicle including artic parts.
if (cost.Succeeded()) v->First()->profit_this_year -= cost.GetCost() << 8; if (cost.Succeeded()) v->First()->profit_this_year -= cost.GetCost() << 8;
} }

View File

@@ -108,7 +108,7 @@ struct EnginePreviewWindow : Window {
EngineID engine = this->window_number; EngineID engine = this->window_number;
SetDParam(0, GetEngineCategoryName(engine)); SetDParam(0, GetEngineCategoryName(engine));
int y = r.top + GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, r.right - r.top + 1); int y = r.top + GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, r.right - r.left + 1);
y = DrawStringMultiLine(r.left, r.right, r.top, y, STR_ENGINE_PREVIEW_MESSAGE, TC_FROMSTRING, SA_CENTER) + WD_PAR_VSEP_WIDE; y = DrawStringMultiLine(r.left, r.right, r.top, y, STR_ENGINE_PREVIEW_MESSAGE, TC_FROMSTRING, SA_CENTER) + WD_PAR_VSEP_WIDE;
SetDParam(0, engine); SetDParam(0, engine);

View File

@@ -1916,7 +1916,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Promijen
STR_CHEAT_SETUP_PROD :{LTBLUE}Omogući izmjeni produkcijskih vrijednosti: {ORANGE}{STRING} STR_CHEAT_SETUP_PROD :{LTBLUE}Omogući izmjeni produkcijskih vrijednosti: {ORANGE}{STRING}
# Livery window # Livery window
STR_LIVERY_CAPTION :{WHITE}Nova boja STR_LIVERY_CAPTION :{WHITE}{COMPANY} -Boja
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Pokaži generalne sheme boja STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Pokaži generalne sheme boja
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Pokaži sheme boja za vlak STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Pokaži sheme boja za vlak
@@ -2989,7 +2989,12 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Verzija:
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibilna verzija: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibilna verzija: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5 suma: {SILVER}{STRING} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5 suma: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Osnovna postavka (D)
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Osnovna postavka (D) / 32 bpp
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legacy (W)
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Legacy (W) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametri: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametri: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ništa
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Nema dostupnih informacija STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Nema dostupnih informacija
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nije pronađena odgovarajuća datoteka STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nije pronađena odgovarajuća datoteka
@@ -3554,6 +3559,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Nosivost
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK} Pokretni vagoni:.{GOLD}+{POWER}{BLACK} Težina: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK} Pokretni vagoni:.{GOLD}+{POWER}{BLACK} Težina: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Prenamjenjivo u: {GOLD}{STRING} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Prenamjenjivo u: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Sve vrste tereta STR_PURCHASE_INFO_ALL_TYPES :Sve vrste tereta
STR_PURCHASE_INFO_NONE :Ništa
STR_PURCHASE_INFO_ALL_BUT :Sve osim {CARGO_LIST} STR_PURCHASE_INFO_ALL_BUT :Sve osim {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK} Najveća vučna sila: {GOLD}{FORCE} STR_PURCHASE_INFO_MAX_TE :{BLACK} Najveća vučna sila: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Domet: {GOLD}{COMMA} polja STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Domet: {GOLD}{COMMA} polja

View File

@@ -189,6 +189,7 @@ STR_COLOUR_ORANGE :Orange
STR_COLOUR_BROWN :Brun STR_COLOUR_BROWN :Brun
STR_COLOUR_GREY :Grå STR_COLOUR_GREY :Grå
STR_COLOUR_WHITE :Vit STR_COLOUR_WHITE :Vit
STR_COLOUR_RANDOM :Slumpmässig
# Units used in OpenTTD # Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
@@ -241,7 +242,7 @@ STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Fönster
STR_TOOLTIP_SHADE :{BLACK}Dölj fönster - Visa bara namnlisten STR_TOOLTIP_SHADE :{BLACK}Dölj fönster - Visa bara namnlisten
STR_TOOLTIP_DEBUG :{BLACK}Visa NewGRF felsökningsinformation STR_TOOLTIP_DEBUG :{BLACK}Visa NewGRF felsökningsinformation
STR_TOOLTIP_DEFSIZE :{BLACK}Återställ fönstret till standardstorlek. Ctrl-klicka för att sätta nuvarande storlek som ny standard STR_TOOLTIP_DEFSIZE :{BLACK}Återställ fönstret till standardstorlek. Ctrl-klicka för att sätta nuvarande storlek som ny standard
STR_TOOLTIP_STICKY :{BLACK}Markera att fönstret ska lämnas öppet när 'Stäng alla fönster'-knappen används. Ctrl+Click för att spara som default STR_TOOLTIP_STICKY :{BLACK}Markera att fönstret ska lämnas öppet när 'Stäng alla fönster'-knappen används. Ctrl+klick för att spara som standardinställning
STR_TOOLTIP_RESIZE :{BLACK}Klicka och dra för att förstora fönstret STR_TOOLTIP_RESIZE :{BLACK}Klicka och dra för att förstora fönstret
STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Växla stor/liten fönsterstorlek 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_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullningslist - rullar listan upp/ned
@@ -475,6 +476,7 @@ STR_ABOUT_MENU_SCREENSHOT :Skärmdump
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fullt inzoomad skärmdump STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fullt inzoomad skärmdump
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Normalt inzoomad skärmdump STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Normalt inzoomad skärmdump
STR_ABOUT_MENU_GIANT_SCREENSHOT :Skärmdump av hela kartan STR_ABOUT_MENU_GIANT_SCREENSHOT :Skärmdump av hela kartan
STR_ABOUT_MENU_SHOW_FRAMERATE :Visa bildfrekvens
STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD' STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Justering av spriteobjekt STR_ABOUT_MENU_SPRITE_ALIGNER :Justering av spriteobjekt
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Slå av/på yttre gränser för grafiska element STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Slå av/på yttre gränser för grafiska element
@@ -650,6 +652,7 @@ STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLA
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}-- STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM} STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------ STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Ingen musik tillgänglig
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}" STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}"
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Spår STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Spår
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Titel STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Titel
@@ -670,11 +673,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Växla s
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Visa fönstret för val av musikspår STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Visa fönstret för val av musikspår
# Playlist window # Playlist window
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Musikprogram - '{STRING}'
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}" STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Spårindex STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Spårindex
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Spellista - '{STRING}' STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Spellista - '{STRING}'
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Töm STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Töm
STR_PLAYLIST_CHANGE_SET :{BLACK}Byt samling
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Töm aktuell spellista (enbart Personlig1 eller Personlig2) STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Töm aktuell spellista (enbart Personlig1 eller Personlig2)
STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Ändra musikvalet till en annan installerad samling
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klicka på ett musikstycke för att lägga till det i spellistan (enbart Personlig1 eller Personlig2) STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klicka på ett musikstycke för att lägga till det i spellistan (enbart Personlig1 eller Personlig2)
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klicka på ett musikstycke för att ta bort det från spellistan (endast Personlig1 och Personlig2) STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klicka på ett musikstycke för att ta bort det från spellistan (endast Personlig1 och Personlig2)
@@ -810,6 +816,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(VD) STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(VD)
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} har sponsrat byggnationen av nya staden {TOWN}! STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} har sponsrat byggnationen av nya staden {TOWN}!
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}En ny stad, kallad {TOWN}, har grundats!
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Ny {STRING} under konstruktion nära {TOWN}! STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Ny {STRING} under konstruktion nära {TOWN}!
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Ny {STRING} planteras nära {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Ny {STRING} planteras nära {TOWN}!
@@ -823,7 +830,7 @@ STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLAC
STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Lågkonjunkturen över!{}{}Uppsving i handeln ger tillförsikt till industrier när ekonomin stärks! STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Lågkonjunkturen över!{}{}Uppsving i handeln ger tillförsikt till industrier när ekonomin stärks!
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} ökar produktionen! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} ökar produktionen!
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nytt lager av kol funnet vid {INDUSTRY}!{}Produktionen fördubblas! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Ny fyndighet av kol upptäckt vid {INDUSTRY}!{}Produktionen fördubblas!
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nya oljereserver funna vid {INDUSTRY}!{}Produktionen fördubblas! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nya oljereserver funna vid {INDUSTRY}!{}Produktionen fördubblas!
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Nya jordbruksmetoder vid {INDUSTRY} ger fördubblad produktion! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Nya jordbruksmetoder vid {INDUSTRY} ger fördubblad produktion!
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produktionen av {STRING} vid {INDUSTRY} upp med {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produktionen av {STRING} vid {INDUSTRY} upp med {COMMA}%!
@@ -877,10 +884,10 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
# Extra view window # Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vyfönster {COMMA} STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vyfönster {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopiera till vy STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Byt vy
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiera huvudvyns position till detta vyfönster STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiera huvudvyns position till detta vyfönster
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Klistra in vyn STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Byt huvudvy
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Flytta huvudvyns position till positionen i det här vyfönstret STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Kopiera denna vys position till huvudvyn
# Game options window # Game options window
STR_GAME_OPTIONS_CAPTION :{WHITE}Spelinställningar STR_GAME_OPTIONS_CAPTION :{WHITE}Spelinställningar
@@ -922,6 +929,8 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Sydafrikansk ra
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Egen... STR_GAME_OPTIONS_CURRENCY_CUSTOM :Egen...
STR_GAME_OPTIONS_CURRENCY_GEL :Georgisk lari (GEL) STR_GAME_OPTIONS_CURRENCY_GEL :Georgisk lari (GEL)
STR_GAME_OPTIONS_CURRENCY_IRR :Iransk rial (IRR) STR_GAME_OPTIONS_CURRENCY_IRR :Iransk rial (IRR)
STR_GAME_OPTIONS_CURRENCY_RUB :Ny rysk rubel (RUB)
STR_GAME_OPTIONS_CURRENCY_MXN :Mexikansk peso (MXN)
############ end of currency region ############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vägfordon STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vägfordon
@@ -1044,7 +1053,7 @@ STR_VARIETY_VERY_LOW :Väldigt låg
STR_VARIETY_LOW :Låg STR_VARIETY_LOW :Låg
STR_VARIETY_MEDIUM :Medium STR_VARIETY_MEDIUM :Medium
STR_VARIETY_HIGH :Hög STR_VARIETY_HIGH :Hög
STR_VARIETY_VERY_HIGH :Väldigt Hög STR_VARIETY_VERY_HIGH :Väldigt hög
STR_AI_SPEED_VERY_SLOW :Väldigt långsam STR_AI_SPEED_VERY_SLOW :Väldigt långsam
STR_AI_SPEED_SLOW :Långsam STR_AI_SPEED_SLOW :Långsam
@@ -1251,6 +1260,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det är
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Underhåll av infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Underhåll av infrastruktur: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Om det är aktiverat så kostar underhåll av infrastruktur. Kostnaden ökar mer än proportionellt mot nätverkets storlek, vilket innebär att större företag drabbas hårdare än små företag av underhållskostnader. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Om det är aktiverat så kostar underhåll av infrastruktur. Kostnaden ökar mer än proportionellt mot nätverkets storlek, vilket innebär att större företag drabbas hårdare än små företag av underhållskostnader.
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Företagets startfärg: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Välj startfärg för företaget
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flygplatser blir aldrig gamla: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flygplatser blir aldrig gamla: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Aktivering av denna inställning gör så att alla flygplatstyper finns kvar i obegränsad tid efter att de blivit tillgängliga STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Aktivering av denna inställning gör så att alla flygplatstyper finns kvar i obegränsad tid efter att de blivit tillgängliga
@@ -1298,8 +1309,8 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industritäthet
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Ange hur många industrier som ska genereras och vilken nivå som ska bibehållas under spelet STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Ange hur många industrier som ska genereras och vilken nivå som ska bibehållas under spelet
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximalt avstånd mellan oljeraffinaderier och kartans kant: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximalt avstånd mellan oljeraffinaderier och kartans kant: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oljeraffinaderier byggs bara nära kartans kanter, alltså vid kusten om det är en ö-karta STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oljeraffinaderier byggs bara nära kartans kanter, alltså vid kusten om det är en ö-karta
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snölinjeshöjd: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snögränsens höjd: {STRING}
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontroll på vilken höjd snön börjar i subarktiska landskapet. Snö påverkar också industrin generation och stad tillväxtkrav STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontrollerar på vilken höjd snön börjar i det subarktiska landskapet. Snö påverkar även industrigeneration och städers tillväxtkrav
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Terrängens svårhetsgrad: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Terrängens svårhetsgrad: {STRING}
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis endast) Välj frekvensen av kullar: Smooth landskap har färre, mer utbredda kullar. Rough landskap har många kullar, som kan se repetitiva STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis endast) Välj frekvensen av kullar: Smooth landskap har färre, mer utbredda kullar. Rough landskap har många kullar, som kan se repetitiva
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Väldigt lätt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Väldigt lätt
@@ -1335,6 +1346,12 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Terrängens fä
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Grön STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Grön
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Mörkgrön STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Mörkgrön
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violett STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violett
STR_CONFIG_SETTING_SCROLLMODE :Vyfönsters skrollningsbeteende: {STRING}
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Beteende vid scrollning av kartan
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Rör vyn med höger musknapp, musens position låst
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Rör kartan med höger musknapp, musens position låst
STR_CONFIG_SETTING_SCROLLMODE_RMB :Rör kartan med höger musknapp
STR_CONFIG_SETTING_SCROLLMODE_LMB :Rör kartan med vänster musknapp
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Mjuk scrollning av vy: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :Mjuk scrollning av vy: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrollera hur huvudvyn skrollar till en specifik position vid klick på minikartan eller när ett kommando används för att skrolla till ett specifikt objekt på kartan. Om det är aktiverat skrollar vyn mjukt, om det är inaktiverat hoppar den direkt till målet STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrollera hur huvudvyn skrollar till en specifik position vid klick på minikartan eller när ett kommando används för att skrolla till ett specifikt objekt på kartan. Om det är aktiverat skrollar vyn mjukt, om det är inaktiverat hoppar den direkt till målet
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Visa måtthjälptext vid användning av byggverktyg: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :Visa måtthjälptext vid användning av byggverktyg: {STRING}
@@ -1493,7 +1510,7 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Produktionsför
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Visa nyhetstidning vid förändring av industriers produktionsnivåer för industrier som används av det egna företaget STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Visa nyhetstidning vid förändring av industriers produktionsnivåer för industrier som används av det egna företaget
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Produktionsförändring vid industri som motståndare betjänar: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Produktionsförändring vid industri som motståndare betjänar: {STRING}
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Visa nyhetstidning vid förändring av industriers produktionsnivåer för industrier som används av motståndare STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Visa nyhetstidning vid förändring av industriers produktionsnivåer för industrier som används av motståndare
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Andra produktionsförändringar vid industrier.: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Andra produktionsförändringar vid industrier: {STRING}
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Visa nyhetstidning vid förändring av industriers produktionsnivåer för industrier som inte används av motståndare eller det egna företaget STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Visa nyhetstidning vid förändring av industriers produktionsnivåer för industrier som inte används av motståndare eller det egna företaget
STR_CONFIG_SETTING_NEWS_ADVICE :Råd / information om företagets fordon: {STRING} STR_CONFIG_SETTING_NEWS_ADVICE :Råd / information om företagets fordon: {STRING}
STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Visa meddelande ifall att ett fordon behöver uppmärksamhet STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Visa meddelande ifall att ett fordon behöver uppmärksamhet
@@ -1548,7 +1565,7 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 rutnät
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Slumpmässig STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Slumpmässig
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Städer tillåts bygga vägar: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Städer tillåts bygga vägar: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Tillåt städer att bygga vägar för att kunna växa. Stäng av för att hindra städernas lokala myndigheter från att själva bygga vägar STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Tillåt städer att bygga vägar för att kunna växa. Stäng av för att hindra städernas lokala myndigheter från att själva bygga vägar
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Städer är tillåtna att bygga plankorsningar: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Städer tillåts bygga plankorsningar: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Om denna inställning aktiveras så blir det tillåtet för städer att bygga plankorsningar STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Om denna inställning aktiveras så blir det tillåtet för städer att bygga plankorsningar
STR_CONFIG_SETTING_NOISE_LEVEL :Tillåt stadskontrollerade bullernivåer för flygplatser: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL :Tillåt stadskontrollerade bullernivåer för flygplatser: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Med denna inställning avstängd kan det finnas max två flygplatser i varje stad. Med inställningen påslagen begränsas antalet flygplatser i en stad istället av vilken bullernivå staden accepterar, vilket styrs av populationen, flygplatsens storlek och avstånd till staden STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Med denna inställning avstängd kan det finnas max två flygplatser i varje stad. Med inställningen påslagen begränsas antalet flygplatser i en stad istället av vilken bullernivå staden accepterar, vilket styrs av populationen, flygplatsens storlek och avstånd till staden
@@ -1803,7 +1820,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Ändra n
STR_CHEAT_SETUP_PROD :{LTBLUE}Aktivera modifiering av produktionsvärden: {ORANGE}{STRING} STR_CHEAT_SETUP_PROD :{LTBLUE}Aktivera modifiering av produktionsvärden: {ORANGE}{STRING}
# Livery window # Livery window
STR_LIVERY_CAPTION :{WHITE}Nytt färgval STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Färgschema
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Visa generellt färgschema STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Visa generellt färgschema
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Visa färgscheman för tåg STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Visa färgscheman för tåg
@@ -2277,6 +2294,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legend f
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Alla STR_LINKGRAPH_LEGEND_ALL :{BLACK}Alla
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Inga STR_LINKGRAPH_LEGEND_NONE :{BLACK}Inga
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Välj företag att visa STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Välj företag att visa
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
# Linkgraph legend window and linkgraph legend in smallmap # Linkgraph legend window and linkgraph legend in smallmap
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}oanvänd STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}oanvänd
@@ -2686,9 +2704,50 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD-
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet
# Framerate display window # Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Bildfrekvens
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulationsfrekvens: {STRING}
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antal spel-tick som simuleras per sekund.
STR_FRAMERATE_RATE_BLITTER :{BLACK}Bildfrekvens för grafik: {STRING}
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antal bildrutor som återges per sekund.
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Spelets nuvarande hastighetsfaktor: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hur snabbt spelet för närvarande körs, jämfört med förväntad hastighet vid normal simulationsfrekvens.
STR_FRAMERATE_CURRENT :{WHITE}Nuvarande
STR_FRAMERATE_AVERAGE :{WHITE}Genomsnittlig
STR_FRAMERATE_DATA_POINTS :{BLACK}Data baseras på {COMMA} mätvärden
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} bildrutor/s
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} bildrutor/s
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} bildrutor/s
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMERATE_GAMELOOP :{BLACK}Totalt för spel-loopen:
STR_FRAMERATE_GL_ECONOMY :{BLACK} Godshantering:
STR_FRAMERATE_GL_TRAINS :{BLACK} Tåg-tick:
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Vägfordons-tick:
STR_FRAMERATE_GL_SHIPS :{BLACK} Skepps-tick:
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Flygplans-tick:
STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Världs-tick:
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Länkgrafens fördröjning:
STR_FRAMERATE_DRAWING :{BLACK}Grafikåtergivning:
STR_FRAMERATE_VIDEO :{BLACK}Videoutmatning:
STR_FRAMERATE_SOUND :{BLACK}Ljudmixning:
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Spel-loop
STR_FRAMETIME_CAPTION_GL_ECONOMY :Godshantering
STR_FRAMETIME_CAPTION_GL_TRAINS :Tåg-tick
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Vägfordons-tick
STR_FRAMETIME_CAPTION_GL_SHIPS :Skepps-tick
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Flygplans-tick
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Världs-tick
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Länkgrafens fördröjning
STR_FRAMETIME_CAPTION_DRAWING :Grafikåtergivning
STR_FRAMETIME_CAPTION_VIDEO :Videoutmatning
STR_FRAMETIME_CAPTION_SOUND :Ljudmixning
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -2714,11 +2773,12 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Speldeta
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen information tillgänglig STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen information tillgänglig
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_FILTER_TITLE :{BLACK}Sökfilter:
STR_SAVELOAD_OSKTITLE :{BLACK}Mata in ett namn för detta sparade spel STR_SAVELOAD_OSKTITLE :{BLACK}Mata in ett namn för detta sparade spel
# World generation # World generation
STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Generera Värld STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Generera värld
STR_MAPGEN_MAPSIZE :{BLACK}Kartstorlek: STR_MAPGEN_MAPSIZE :{BLACK}Kartstorlek:
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Ange kartans storlek i rutor. Antalet tillgängliga rutor kommer att bli något lägre STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Ange kartans storlek i rutor. Antalet tillgängliga rutor kommer att bli något lägre
STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_BY :{BLACK}*
@@ -2729,8 +2789,8 @@ STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maximal
STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Öka maximal bergshöjd med ett STR_MAPGEN_MAX_HEIGHTLEVEL_UP :{BLACK}Öka maximal bergshöjd med ett
STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Minska maximal bergshöjd med ett STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Minska maximal bergshöjd med ett
STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Snögränsens höjd: STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Snögränsens höjd:
STR_MAPGEN_SNOW_LINE_UP :{BLACK}Höj snögränsens höjd ett upp STR_MAPGEN_SNOW_LINE_UP :{BLACK}Höj snögränsens höjd ett steg
STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Sänk snögränsens höjd ett ner STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Sänk snögränsens höjd ett steg
STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerator: STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerator:
STR_MAPGEN_TREE_PLACER :{BLACK}Trädalgoritm: STR_MAPGEN_TREE_PLACER :{BLACK}Trädalgoritm:
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrängtyp: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrängtyp:
@@ -2768,7 +2828,7 @@ STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generera
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Slumpat land STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Slumpat land
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Höjd av platt land: STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Höjd av platt land:
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Sänk höjden av platt land ett ner STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Sänk höjden av platt land ett ner
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Öka höjden av platt land ett upp STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Öka höjden av platt land ett steg
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Ändra höjd av platt land STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Ändra höjd av platt land
@@ -2779,10 +2839,10 @@ STR_GENERATION_ABORT_CAPTION :{WHITE}Avbryt g
STR_GENERATION_ABORT_MESSAGE :{YELLOW}Vill du verkligen avbryta genereringen? STR_GENERATION_ABORT_MESSAGE :{YELLOW}Vill du verkligen avbryta genereringen?
STR_GENERATION_PROGRESS :{WHITE}{NUM}% färdigt STR_GENERATION_PROGRESS :{WHITE}{NUM}% färdigt
STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM}
STR_GENERATION_WORLD_GENERATION :{BLACK}Generera Värld STR_GENERATION_WORLD_GENERATION :{BLACK}Generera värld
STR_GENERATION_RIVER_GENERATION :{BLACK}Generera Flod STR_GENERATION_RIVER_GENERATION :{BLACK}Generera Flod
STR_GENERATION_TREE_GENERATION :{BLACK}Generera Träd STR_GENERATION_TREE_GENERATION :{BLACK}Generera Träd
STR_GENERATION_OBJECT_GENERATION :{BLACK}Generera Objekt STR_GENERATION_OBJECT_GENERATION :{BLACK}Generera objekt
STR_GENERATION_CLEARING_TILES :{BLACK}Svår och stenig markgenerering STR_GENERATION_CLEARING_TILES :{BLACK}Svår och stenig markgenerering
STR_GENERATION_SETTINGUP_GAME :{BLACK}Ställer in spel STR_GENERATION_SETTINGUP_GAME :{BLACK}Ställer in spel
STR_GENERATION_PREPARING_TILELOOP :{BLACK}Kör tile-loop STR_GENERATION_PREPARING_TILELOOP :{BLACK}Kör tile-loop
@@ -2831,7 +2891,12 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Version:
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibel version: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibel version: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palett: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palett: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Standard (D)
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Standard (D) / 32 bpp
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Äldre (W)
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Äldre (W) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paramerar: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paramerar: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ingen
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Ingen information tillgänglig STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Ingen information tillgänglig
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matchande fil hittades ej STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matchande fil hittades ej
@@ -2905,13 +2970,15 @@ STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :För många New
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Att ladda {1:STRING} som statisk NewGRF med {STRING} kan orsaka desynkronisering STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Att ladda {1:STRING} som statisk NewGRF med {STRING} kan orsaka desynkronisering
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Oväntat spriteobjekt (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Oväntat spriteobjekt (spriteobjekt {3:NUM})
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Okänd Action 0-egenskap {4:HEX} (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Okänd Action 0-egenskap {4:HEX} (spriteobjekt {3:NUM})
STR_NEWGRF_ERROR_INVALID_ID :Försökt att använda ett ogiltligt ID (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Försök att använda ett ogiltligt ID (spriteobjekt {3:NUM})
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} innehåller en skadad bild. Alla korrupta bilder kommer att visas som ett rött frågetecken (?) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} innehåller en skadad bild. Alla korrupta bilder kommer att visas som ett rött frågetecken (?)
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Innehåller flera Action 8 (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Innehåller flera Action 8 (spriteobjekt {3:NUM})
STR_NEWGRF_ERROR_READ_BOUNDS :Läste förbi slutet av pseudo-spriteobjekt (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_READ_BOUNDS :Läste förbi slutet av pseudo-spriteobjekt (spriteobjekt {3:NUM})
STR_NEWGRF_ERROR_GRM_FAILED :Efterfrågade GRF-resurser är inte tillgängliga (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_GRM_FAILED :Efterfrågade GRF-resurser är inte tillgängliga (spriteobjekt {3:NUM})
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} har inaktiverats av {2:STRING} STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} har inaktiverats av {2:STRING}
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Felaktig/okänd layout-format av spriteobjekt (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Felaktigt/okänt layout-format av spriteobjekt (spriteobjekt {3:NUM})
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :För många poster i listan med egenskapsvärden (spriteobjekt {3:NUM}, egenskap {4:HEX})
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Ogiltig industriproduktions-callback (spriteobjekt {3:NUM}, "{1:STRING}")
# NewGRF related 'general' warnings # NewGRF related 'general' warnings
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Varning! STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Varning!
@@ -2924,7 +2991,7 @@ STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Kan inte
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatibel GRF laddad för saknade filer STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatibel GRF laddad för saknade filer
STR_NEWGRF_DISABLED_WARNING :{WHITE}Saknad GRF-fil har stängts av STR_NEWGRF_DISABLED_WARNING :{WHITE}Saknad GRF-fil har stängts av
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Saknad(e) GRF-fil(er) STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Saknad(e) GRF-fil(er)
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Avpausning kan krascha OpenTTD. Skicka ej igen bugg-rapport för möjlig krasch.{}Är du säker att du vill avpausa? STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Avpausning kan krascha OpenTTD. Skicka ej bugg-rapporter för eventuella resulterande krascher.{}Är du säker att du vill avpausa?
# NewGRF status # NewGRF status
STR_NEWGRF_LIST_NONE :Inga STR_NEWGRF_LIST_NONE :Inga
@@ -2941,7 +3008,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tåg '{V
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' ger felaktig information STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' ger felaktig information
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Last/återställnings information för '{1:ENGINE}' är skilld ifrån köp lista efter konstruktion. Detta kan leda till att utomatisk förnyelse/uppgradering misslyckas med att anpassa fordonen/vagnarna korrekt STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Last/återställnings information för '{1:ENGINE}' är skilld ifrån köp lista efter konstruktion. Detta kan leda till att utomatisk förnyelse/uppgradering misslyckas med att anpassa fordonen/vagnarna korrekt
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' skapade en ändlös loop i en produktions-callback-funktion STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' skapade en oändlig loop i en produktions-callback-funktion
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback-funktion {1:HEX} returnerade ett okänt/ogiltligt resultat {2:HEX} STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback-funktion {1:HEX} returnerade ett okänt/ogiltligt resultat {2:HEX}
# 'User removed essential NewGRFs'-placeholders for stuff without specs # 'User removed essential NewGRFs'-placeholders for stuff without specs
@@ -2976,6 +3043,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Mata in
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Städer STR_TOWN_DIRECTORY_CAPTION :{WHITE}Städer
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Inga - STR_TOWN_DIRECTORY_NONE :{ORANGE}- Inga -
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Stad){BLACK} ({COMMA})
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Stadsnamn - klicka på ett namn för att centrera huvudvyn på staden. Ctrl+klick öppnar en ny vy över stadens läge STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Stadsnamn - klicka på ett namn för att centrera huvudvyn på staden. Ctrl+klick öppnar en ny vy över stadens läge
STR_TOWN_POPULATION :{BLACK}Global folkmängd: {COMMA} STR_TOWN_POPULATION :{BLACK}Global folkmängd: {COMMA}
@@ -2983,6 +3051,7 @@ STR_TOWN_POPULATION :{BLACK}Global f
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Stad) STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Stad)
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Invånare: {ORANGE}{COMMA}{BLACK} Hus: {ORANGE}{COMMA} STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Invånare: {ORANGE}{COMMA}{BLACK} Hus: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} förra månaden: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Fraktgods behövs för ortens tillväxt: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Fraktgods behövs för ortens tillväxt:
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} krävs STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} krävs
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} krävs under vintern STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} krävs under vintern
@@ -3212,7 +3281,7 @@ STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY
STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(VD) STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(VD)
STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Etablerades: {WHITE}{NUM} STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Etablerades: {WHITE}{NUM}
STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Färgval: STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Färgschema:
STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Fordon: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Fordon:
STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tåg STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tåg
STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} vägfordon STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} vägfordon
@@ -3229,7 +3298,7 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA}
STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} flygplats{P "" er} STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} flygplats{P "" er}
STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Inga STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Inga
STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Bygg Högkvarter STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Bygg högkvarter
STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bygg företagets huvudkontor STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bygg företagets huvudkontor
STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Visa högkvarter STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Visa högkvarter
STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Vy av företagets huvudkontor STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Vy av företagets huvudkontor
@@ -3241,7 +3310,7 @@ STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Ge penga
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nytt ansikte STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nytt ansikte
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Välj nytt ansikte på VD:n STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Välj nytt ansikte på VD:n
STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Färgval STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Färgschema
STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Byt färg på företaget STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Byt färg på företaget
STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Företagsnamn STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Företagsnamn
STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Byt företagets namn STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Byt företagets namn
@@ -3289,6 +3358,9 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centrera
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktionsnivå: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktionsnivå: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Industrin har annonserat att den snart kommer att stänga! STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Industrin har annonserat att den snart kommer att stänga!
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Kräver: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Producerar: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Kräver: STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Kräver:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
@@ -3298,7 +3370,7 @@ STR_CONFIG_GAME_PRODUCTION :{WHITE}Ändra p
STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Ändra produktionsnivå (procent, upp till 800%) STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Ändra produktionsnivå (procent, upp till 800%)
# Vehicle lists # Vehicle lists
STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Tåg STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} tåg
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Vägfordon STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Vägfordon
STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} skepp STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} skepp
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} flygplan STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} flygplan
@@ -3319,17 +3391,17 @@ STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Se lista
STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Behandlingslista STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Behandlingslista
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Skicka instruktioner till alla fordon på denna lista STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Skicka instruktioner till alla fordon på denna lista
STR_VEHICLE_LIST_REPLACE_VEHICLES :Byt ut fordon STR_VEHICLE_LIST_REPLACE_VEHICLES :Byt ut fordon
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Skicka till Service STR_VEHICLE_LIST_SEND_FOR_SERVICING :Skicka på service
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Skicka till Depå STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Skicka till depå
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Skicka till Depå STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Skicka till depå
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Skicka till Depå STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Skicka till depå
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Skicka till Hangar STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Skicka till hangar
STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Klicka för att stoppa alla fordon i listan STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Klicka för att stoppa alla fordon i listan
STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Klicka för att starta alla fordon i listan STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Klicka för att starta alla fordon i listan
STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Delade instruktioner med {COMMA} Fordon{P "" s} STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Delade instruktioner med {COMMA} fordon
# Group window # Group window
STR_GROUP_ALL_TRAINS :Alla tåg STR_GROUP_ALL_TRAINS :Alla tåg
@@ -3389,6 +3461,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapacite
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Motoriserade vagnar: {GOLD}+{POWER}{BLACK} Vikt: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Motoriserade vagnar: {GOLD}+{POWER}{BLACK} Vikt: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Anpassningsbar till: {GOLD}{STRING} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Anpassningsbar till: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Alla typer av last STR_PURCHASE_INFO_ALL_TYPES :Alla typer av last
STR_PURCHASE_INFO_NONE :Ingen
STR_PURCHASE_INFO_ALL_BUT :Allt utom {CARGO_LIST} STR_PURCHASE_INFO_ALL_BUT :Allt utom {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Maximal Dragkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maximal Dragkraft: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Räckvidd: {GOLD}{COMMA} rutor STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Räckvidd: {GOLD}{COMMA} rutor
@@ -3400,7 +3473,7 @@ STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Skeppsli
STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Flygplanslista. Klicka på flygplan för information. Ctrl+klick visar eller döljer flygplanstypen STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Flygplanslista. Klicka på flygplan för information. Ctrl+klick visar eller döljer flygplanstypen
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Köp fordon STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Köp fordon
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Köp Fordon STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Köp fordon
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Köp skepp STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Köp skepp
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Köp flygplan STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Köp flygplan
@@ -3702,7 +3775,7 @@ STR_VEHICLE_DETAIL_TAB_INFORMATION :{BLACK}Informat
STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Visa detaljer för tågfordon STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Visa detaljer för tågfordon
STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}Kapaciteter STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}Kapaciteter
STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Visa kapaciteter för varje fordon STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Visa kapaciteter för varje fordon
STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}Gods Totalt STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}Gods totalt
STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Visa tågets totala kapacitet, separera för typ av gods STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Visa tågets totala kapacitet, separera för typ av gods
STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapacitet: {LTBLUE} STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapacitet: {LTBLUE}
@@ -3766,7 +3839,7 @@ STR_ORDER_DROP_NO_UNLOADING :Ej avlastning
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ändra avlastningsbeteende för markerad order STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ändra avlastningsbeteende för markerad order
STR_ORDER_REFIT :{BLACK}Anpassa STR_ORDER_REFIT :{BLACK}Anpassa
STR_ORDER_REFIT_TOOLTIP :{BLACK}Välj vilken godstyp anpassningen ska göras i denna order. Ctrl-klick för att ta bort anpassningsordern STR_ORDER_REFIT_TOOLTIP :{BLACK}Välj vilken godstyp anpassningen ska göras till i denna order. Ctrl-klick för att ta bort anpassningsordern
STR_ORDER_REFIT_AUTO :{BLACK}Auto-anpassning vid station STR_ORDER_REFIT_AUTO :{BLACK}Auto-anpassning vid station
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Välj vilket lasttyp att auto-anpassa till i den här ordningen. Ctrl+klicka för att ta bort anpassningsinstruktionen. Auto-anpassning vid stationer kommer enbart att utföras om fordonet tillåter det STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Välj vilket lasttyp att auto-anpassa till i den här ordningen. Ctrl+klicka för att ta bort anpassningsinstruktionen. Auto-anpassning vid stationer kommer enbart att utföras om fordonet tillåter det
STR_ORDER_DROP_REFIT_AUTO :Fast lasttyp STR_ORDER_DROP_REFIT_AUTO :Fast lasttyp
@@ -3778,7 +3851,7 @@ STR_ORDER_DROP_SERVICE_DEPOT :Service vid beh
STR_ORDER_DROP_HALT_DEPOT :Stanna STR_ORDER_DROP_HALT_DEPOT :Stanna
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Skippa den här ordern om service ej behövs STR_ORDER_SERVICE_TOOLTIP :{BLACK}Skippa den här ordern om service ej behövs
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Fordonsdata att basera hoppning STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Fordonsdata att basera hopp på
# Conditional order variables, must follow order of OrderConditionVariable enum # Conditional order variables, must follow order of OrderConditionVariable enum
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Laddningsprocent STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Laddningsprocent
@@ -3788,6 +3861,7 @@ STR_ORDER_CONDITIONAL_AGE :Ålder (år)
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Behöver service STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Behöver service
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Återstående livstid (år) STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Återstående livstid (år)
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maximal tillförlitlighet
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hur man jämför fordonsdata med givet värde STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hur man jämför fordonsdata med givet värde
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :samma som STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :samma som
@@ -3811,7 +3885,7 @@ STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Ta bort
STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Sluta dela STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Sluta dela
STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Sluta dela orderlistan. Ctrl+Klick tar även bort alla order för det här fordonet STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Sluta dela orderlistan. Ctrl+Klick tar även bort alla order för det här fordonet
STR_ORDERS_GO_TO_BUTTON :{BLACK}Åk Till STR_ORDERS_GO_TO_BUTTON :{BLACK}Åk till
STR_ORDER_GO_TO_NEAREST_DEPOT :Åk till närmsta depå STR_ORDER_GO_TO_NEAREST_DEPOT :Åk till närmsta depå
STR_ORDER_GO_TO_NEAREST_HANGAR :Åk till närmsta hangar STR_ORDER_GO_TO_NEAREST_HANGAR :Åk till närmsta hangar
STR_ORDER_CONDITIONAL :Villkorat order-hopp STR_ORDER_CONDITIONAL :Villkorat order-hopp
@@ -3880,9 +3954,9 @@ STR_ORDER_STOP_LOCATION_FAR_END :[slutet]
STR_ORDER_OUT_OF_RANGE :{RED} (Nästa destination är utanför räckvidden) STR_ORDER_OUT_OF_RANGE :{RED} (Nästa destination är utanför räckvidden)
STR_ORDER_CONDITIONAL_UNCONDITIONAL :Skippa till order {COMMA} STR_ORDER_CONDITIONAL_UNCONDITIONAL :Hoppa till order {COMMA}
STR_ORDER_CONDITIONAL_NUM :Skippa till order {COMMA} när {STRING} {STRING} {COMMA} STR_ORDER_CONDITIONAL_NUM :Hoppa till order {COMMA} när {STRING} {STRING} {COMMA}
STR_ORDER_CONDITIONAL_TRUE_FALSE :Skippa till order {COMMA} när {STRING} {STRING} STR_ORDER_CONDITIONAL_TRUE_FALSE :Hoppa till order {COMMA} när {STRING} {STRING}
STR_INVALID_ORDER :{RED} (Ogiltig order) STR_INVALID_ORDER :{RED} (Ogiltig order)
@@ -3906,7 +3980,7 @@ STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(resor för {ST
STR_TIMETABLE_STAY_FOR :och stanna i {STRING} STR_TIMETABLE_STAY_FOR :och stanna i {STRING}
STR_TIMETABLE_AND_TRAVEL_FOR :och res i {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :och res i {STRING}
STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" ar} STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" ar}
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" s} STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick
STR_TIMETABLE_TOTAL_TIME :{BLACK}Den här tidtabellen kommer ta {STRING} att slutföra STR_TIMETABLE_TOTAL_TIME :{BLACK}Den här tidtabellen kommer ta {STRING} att slutföra
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Denna tidtabell kommer att ta åtminstonde {STRING} att slutföra (allt är inte inlagt i en tidtabell) STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Denna tidtabell kommer att ta åtminstonde {STRING} att slutföra (allt är inte inlagt i en tidtabell)
@@ -3920,7 +3994,7 @@ STR_TIMETABLE_STATUS_START_AT :{BLACK}Den här
STR_TIMETABLE_STARTING_DATE :{BLACK}Startdatum STR_TIMETABLE_STARTING_DATE :{BLACK}Startdatum
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Välj ett datum som startpunkt för den här tidtabellen. Om tidtabellen är fullt tidssatt så innebär Ctrl+klick att startpunkten sätts för denna tidtabell och att startpunkten för övriga fordon som delar dessa order fördelas ut jämt baserat på deras relativa ordning STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Välj ett datum som startpunkt för den här tidtabellen. Om tidtabellen är fullt tidssatt så innebär Ctrl+klick att startpunkten sätts för denna tidtabell och att startpunkten för övriga fordon som delar dessa order fördelas ut jämt baserat på deras relativa ordning
STR_TIMETABLE_CHANGE_TIME :{BLACK}Ändra Tid STR_TIMETABLE_CHANGE_TIME :{BLACK}Ändra tid
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ändra hur lång tid den markerade ordern bör ta STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ändra hur lång tid den markerade ordern bör ta
STR_TIMETABLE_CLEAR_TIME :{BLACK}Rensa tid STR_TIMETABLE_CLEAR_TIME :{BLACK}Rensa tid
@@ -3976,7 +4050,7 @@ STR_AI_GAME_SCRIPT :{BLACK}Spelskri
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Visa debug-utskrifter för spelskript STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Visa debug-utskrifter för spelskript
STR_ERROR_AI_NO_AI_FOUND :Ingen passande datorspelare hittades.{}Denna datorspelare är en test-datorspelare och kommer inte göra någonting.{}Du kan ladda ner nya datorspelare genom spelets 'Online-innehåll'-system STR_ERROR_AI_NO_AI_FOUND :Ingen passande datorspelare hittades.{}Denna datorspelare är en test-datorspelare och kommer inte göra någonting.{}Du kan ladda ner nya datorspelare genom spelets 'Online-innehåll'-system
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Ett av scripten som körs har krachat. Vänligen raportera detta till datorspelarens skapare med en skärmdump förstret 'Felsökning av datorspelare / spelskript' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Ett av skripten som körs har kraschat. Vänligen rapportera detta till datorspelarens skapare med en skärmdump av förstret 'Felsökning av datorspelare / spelskript'
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Felsökning av datorspelare / spelskript är bara tillgänglig för servern STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Felsökning av datorspelare / spelskript är bara tillgänglig för servern
# AI configuration window # AI configuration window
@@ -4220,6 +4294,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... dett
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vägen pekar i fel riktning STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vägen pekar i fel riktning
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... genomfartshållplatser kan inte ha gatuhörn STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... genomfartshållplatser kan inte ha gatuhörn
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... genomfartshållplatser kan inte ha korsningar STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... genomfartshållplatser kan inte ha korsningar
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... vägen är enkelriktad eller blockerad
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ej ta bort del av station... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ej ta bort del av station...
@@ -4464,13 +4539,15 @@ STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Kan inte
STR_DESKTOP_SHORTCUT_COMMENT :Ett simuleringsspel baserat på Transport Tycoon Deluxe STR_DESKTOP_SHORTCUT_COMMENT :Ett simuleringsspel baserat på Transport Tycoon Deluxe
# Translatable descriptions in media/baseset/*.ob* files # Translatable descriptions in media/baseset/*.ob* files
STR_BASEGRAPHICS_DOS_DESCRIPTION :Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan. STR_BASEGRAPHICS_DOS_DESCRIPTION :Originalgrafiken från DOS-utgåvan av Transport Tycoon Deluxe.
STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan (tyska). STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Originalgrafiken från den tyska DOS-utgåvan av Transport Tycoon Deluxe.
STR_BASEGRAPHICS_WIN_DESCRIPTION :Originalgrafiken från Transport Tycoon Deluxe, Windows-utgåvan. STR_BASEGRAPHICS_WIN_DESCRIPTION :Originalgrafiken från Windows-utgåvan av Transport Tycoon Deluxe.
STR_BASESOUNDS_DOS_DESCRIPTION :Originalljuden från Transport Tycoon Deluxe, DOS-utgåvan. STR_BASESOUNDS_DOS_DESCRIPTION :Originalljuden från DOS-utgåvan av Transport Tycoon Deluxe.
STR_BASESOUNDS_WIN_DESCRIPTION :Originalljuden från Transport Tycoon Deluxe, Windows-utgåvan. STR_BASESOUNDS_WIN_DESCRIPTION :Originalljuden från Windows-utgåvan av Transport Tycoon Deluxe.
STR_BASESOUNDS_NONE_DESCRIPTION :Ett ljudpaket utan några ljud. STR_BASESOUNDS_NONE_DESCRIPTION :Ett ljudpaket utan några ljud.
STR_BASEMUSIC_WIN_DESCRIPTION :Originalmusiken från Transport Tycoon Deluxe, Windows-utgåvan. STR_BASEMUSIC_WIN_DESCRIPTION :Originalmusiken från Windows-utgåvan av Transport Tycoon Deluxe.
STR_BASEMUSIC_DOS_DESCRIPTION :Originalmusiken från DOS-utgåvan av Transport Tycoon Deluxe.
STR_BASEMUSIC_TTO_DESCRIPTION :Originalmusiken från DOS-utgåvan av Transport Tycoon (Original/World Editor).
STR_BASEMUSIC_NONE_DESCRIPTION :Ett musikpaket utan någon musik. STR_BASEMUSIC_NONE_DESCRIPTION :Ett musikpaket utan någon musik.
##id 0x2000 ##id 0x2000
@@ -4488,11 +4565,11 @@ STR_TOWN_BUILDING_NAME_PARK_1 :Park
STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Kontorslokaler STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Kontorslokaler
STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Affärer och kontor STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Affärer och kontor
STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Modern kontorsbyggnad STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Modern kontorsbyggnad
STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Varuhus STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Lagerbyggnad
STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Kontorsbyggnad STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Kontorsbyggnad
STR_TOWN_BUILDING_NAME_STADIUM_1 :Arena STR_TOWN_BUILDING_NAME_STADIUM_1 :Arena
STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Gamla hus STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Gamla hus
STR_TOWN_BUILDING_NAME_COTTAGES_1 :Stuga STR_TOWN_BUILDING_NAME_COTTAGES_1 :Stugor
STR_TOWN_BUILDING_NAME_HOUSES_1 :Hus STR_TOWN_BUILDING_NAME_HOUSES_1 :Hus
STR_TOWN_BUILDING_NAME_FLATS_1 :Lägenheter STR_TOWN_BUILDING_NAME_FLATS_1 :Lägenheter
STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Hög kontorsbyggnad STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Hög kontorsbyggnad
@@ -4506,7 +4583,7 @@ STR_TOWN_BUILDING_NAME_CINEMA_1 :Biograf
STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Shoppingcenter STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Shoppingcenter
STR_TOWN_BUILDING_NAME_IGLOO_1 :Igloo STR_TOWN_BUILDING_NAME_IGLOO_1 :Igloo
STR_TOWN_BUILDING_NAME_TEPEES_1 :Kåtor STR_TOWN_BUILDING_NAME_TEPEES_1 :Kåtor
STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Tekanne-Hus STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Tekanne-hus
STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Spargris STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Spargris
##id 0x4800 ##id 0x4800
@@ -4564,29 +4641,29 @@ STR_SV_STNAME_NORTH :Norra {STRING}
STR_SV_STNAME_SOUTH :Södra {STRING} STR_SV_STNAME_SOUTH :Södra {STRING}
STR_SV_STNAME_EAST :Östra {STRING} STR_SV_STNAME_EAST :Östra {STRING}
STR_SV_STNAME_WEST :Västra {STRING} STR_SV_STNAME_WEST :Västra {STRING}
STR_SV_STNAME_CENTRAL :{STRING} Centralstation STR_SV_STNAME_CENTRAL :{STRING} centralstation
STR_SV_STNAME_TRANSFER :{STRING} Övergång STR_SV_STNAME_TRANSFER :{STRING} övergång
STR_SV_STNAME_HALT :{STRING} hållplats STR_SV_STNAME_HALT :{STRING} hållplats
STR_SV_STNAME_VALLEY :{STRING} Dal STR_SV_STNAME_VALLEY :{STRING} dal
STR_SV_STNAME_HEIGHTS :{STRING} Höjder STR_SV_STNAME_HEIGHTS :{STRING} Höjder
STR_SV_STNAME_WOODS :{STRING} Skog STR_SV_STNAME_WOODS :{STRING} skog
STR_SV_STNAME_LAKESIDE :{STRING} Sjöstrand STR_SV_STNAME_LAKESIDE :{STRING} sjöstrand
STR_SV_STNAME_EXCHANGE :{STRING} Växel STR_SV_STNAME_EXCHANGE :{STRING} Växel
STR_SV_STNAME_AIRPORT :{STRING} Flygplats STR_SV_STNAME_AIRPORT :{STRING} flygplats
STR_SV_STNAME_OILFIELD :{STRING} Oljefält STR_SV_STNAME_OILFIELD :{STRING} oljefält
STR_SV_STNAME_MINES :{STRING} Gruva STR_SV_STNAME_MINES :{STRING} gruva
STR_SV_STNAME_DOCKS :{STRING} Kaj STR_SV_STNAME_DOCKS :{STRING} hamn
STR_SV_STNAME_BUOY :{STRING} STR_SV_STNAME_BUOY :{STRING}
STR_SV_STNAME_WAYPOINT :{STRING} STR_SV_STNAME_WAYPOINT :{STRING}
##id 0x6020 ##id 0x6020
STR_SV_STNAME_ANNEXE :{STRING} Tillbyggnad STR_SV_STNAME_ANNEXE :{STRING} tillbyggnad
STR_SV_STNAME_SIDINGS :{STRING} Förort STR_SV_STNAME_SIDINGS :{STRING} förort
STR_SV_STNAME_BRANCH :{STRING} Förgrening STR_SV_STNAME_BRANCH :{STRING} förgrening
STR_SV_STNAME_UPPER :Övre {STRING} STR_SV_STNAME_UPPER :Övre {STRING}
STR_SV_STNAME_LOWER :Nedre {STRING} STR_SV_STNAME_LOWER :Nedre {STRING}
STR_SV_STNAME_HELIPORT :{STRING} Helikopterplats STR_SV_STNAME_HELIPORT :{STRING} helikopterplats
STR_SV_STNAME_FOREST :{STRING} Skog STR_SV_STNAME_FOREST :{STRING} skog
STR_SV_STNAME_FALLBACK :{STRING} Station #{NUM} STR_SV_STNAME_FALLBACK :{STRING} station #{NUM}
############ end of savegame specific region! ############ end of savegame specific region!
##id 0x8000 ##id 0x8000

View File

@@ -76,7 +76,7 @@ struct ContentTextfileWindow : public TextfileWindow {
void ShowContentTextfileWindow(TextfileType file_type, const ContentInfo *ci) void ShowContentTextfileWindow(TextfileType file_type, const ContentInfo *ci)
{ {
DeleteWindowByClass(WC_TEXTFILE); DeleteWindowById(WC_TEXTFILE, file_type);
new ContentTextfileWindow(file_type, ci); new ContentTextfileWindow(file_type, ci);
} }

View File

@@ -561,7 +561,7 @@ struct NewGRFTextfileWindow : public TextfileWindow {
void ShowNewGRFTextfileWindow(TextfileType file_type, const GRFConfig *c) void ShowNewGRFTextfileWindow(TextfileType file_type, const GRFConfig *c)
{ {
DeleteWindowByClass(WC_TEXTFILE); DeleteWindowById(WC_TEXTFILE, file_type);
new NewGRFTextfileWindow(file_type, c); new NewGRFTextfileWindow(file_type, c);
} }

View File

@@ -126,7 +126,9 @@ void CDECL error(const char *s, ...)
vseprintf(buf, lastof(buf), s, va); vseprintf(buf, lastof(buf), s, va);
va_end(va); va_end(va);
if (VideoDriver::GetInstance() == NULL || VideoDriver::GetInstance()->HasGUI()) {
ShowOSErrorBox(buf, true); ShowOSErrorBox(buf, true);
}
/* Set the error message for the crash log and then invoke it. */ /* Set the error message for the crash log and then invoke it. */
CrashLog::SetErrorMessage(buf); CrashLog::SetErrorMessage(buf);

View File

@@ -941,7 +941,9 @@ do_clear:;
*/ */
static bool CanConnectToRoad(TileIndex tile, RoadType rt, DiagDirection dir) static bool CanConnectToRoad(TileIndex tile, RoadType rt, DiagDirection dir)
{ {
RoadBits bits = GetAnyRoadBits(tile + TileOffsByDiagDir(dir), rt, false); tile += TileOffsByDiagDir(dir);
if (!IsValidTile(tile)) return false;
RoadBits bits = GetAnyRoadBits(tile, rt, false);
return (bits & DiagDirToRoadBits(ReverseDiagDir(dir))) != 0; return (bits & DiagDirToRoadBits(ReverseDiagDir(dir))) != 0;
} }

View File

@@ -1960,17 +1960,15 @@ bool SlObjectMember(void *ptr, const SaveLoad *sld)
} }
break; break;
/* SL_WRITEBYTE translates a value of a variable to another one upon /* SL_WRITEBYTE writes a value to the savegame to identify the type of an object.
* saving or loading. * When loading, the value is read explictly with SlReadByte() to determine which
* XXX - variable renaming abuse * object description to use. */
* game_value: the value of the variable ingame is abused by sld->version_from
* file_value: the value of the variable in the savegame is abused by sld->version_to */
case SL_WRITEBYTE: case SL_WRITEBYTE:
switch (_sl.action) { switch (_sl.action) {
case SLA_SAVE: SlWriteByte(sld->version_to); break; case SLA_SAVE: SlWriteByte(*(uint8 *)ptr); break;
case SLA_LOAD_CHECK: case SLA_LOAD_CHECK:
case SLA_LOAD: *(byte *)ptr = sld->version_from; break; case SLA_LOAD:
case SLA_PTRS: break; case SLA_PTRS:
case SLA_NULL: break; case SLA_NULL: break;
default: NOT_REACHED(); default: NOT_REACHED();
} }

View File

@@ -461,7 +461,7 @@ typedef SaveLoad SaveLoadGlobVarList;
#define SLE_CONDNULL(length, from, to) SLE_CONDNULL_X(length, from, to, SlXvFeatureTest()) #define SLE_CONDNULL(length, from, to) SLE_CONDNULL_X(length, from, to, SlXvFeatureTest())
/** Translate values ingame to different values in the savegame and vv. */ /** Translate values ingame to different values in the savegame and vv. */
#define SLE_WRITEBYTE(base, variable, value) SLE_GENERAL(SL_WRITEBYTE, base, variable, 0, 0, value, value) #define SLE_WRITEBYTE(base, variable) SLE_GENERAL(SL_WRITEBYTE, base, variable, 0, 0, 0, 0)
#define SLE_VEH_INCLUDE() {false, SL_VEH_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, SlXvFeatureTest()} #define SLE_VEH_INCLUDE() {false, SL_VEH_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, SlXvFeatureTest()}
#define SLE_ST_INCLUDE() {false, SL_ST_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, SlXvFeatureTest()} #define SLE_ST_INCLUDE() {false, SL_ST_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, SlXvFeatureTest()}

View File

@@ -438,7 +438,7 @@ static const SaveLoad _base_station_desc[] = {
static OldPersistentStorage _old_st_persistent_storage; static OldPersistentStorage _old_st_persistent_storage;
static const SaveLoad _station_desc[] = { static const SaveLoad _station_desc[] = {
SLE_WRITEBYTE(Station, facilities, FACIL_NONE), SLE_WRITEBYTE(Station, facilities),
SLE_ST_INCLUDE(), SLE_ST_INCLUDE(),
SLE_VAR(Station, train_station.tile, SLE_UINT32), SLE_VAR(Station, train_station.tile, SLE_UINT32),
@@ -475,7 +475,7 @@ static const SaveLoad _station_desc[] = {
}; };
static const SaveLoad _waypoint_desc[] = { static const SaveLoad _waypoint_desc[] = {
SLE_WRITEBYTE(Waypoint, facilities, FACIL_WAYPOINT), SLE_WRITEBYTE(Waypoint, facilities),
SLE_ST_INCLUDE(), SLE_ST_INCLUDE(),
SLE_VAR(Waypoint, town_cn, SLE_UINT16), SLE_VAR(Waypoint, town_cn, SLE_UINT16),

View File

@@ -752,7 +752,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
static const SaveLoad _train_desc[] = { static const SaveLoad _train_desc[] = {
SLE_WRITEBYTE(Vehicle, type, VEH_TRAIN), SLE_WRITEBYTE(Vehicle, type),
SLE_VEH_INCLUDE(), SLE_VEH_INCLUDE(),
SLE_VAR(Train, crash_anim_pos, SLE_UINT16), SLE_VAR(Train, crash_anim_pos, SLE_UINT16),
SLE_VAR(Train, force_proceed, SLE_UINT8), SLE_VAR(Train, force_proceed, SLE_UINT8),
@@ -777,7 +777,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
}; };
static const SaveLoad _roadveh_desc[] = { static const SaveLoad _roadveh_desc[] = {
SLE_WRITEBYTE(Vehicle, type, VEH_ROAD), SLE_WRITEBYTE(Vehicle, type),
SLE_VEH_INCLUDE(), SLE_VEH_INCLUDE(),
SLE_VAR(RoadVehicle, state, SLE_UINT8), SLE_VAR(RoadVehicle, state, SLE_UINT8),
SLE_VAR(RoadVehicle, frame, SLE_UINT8), SLE_VAR(RoadVehicle, frame, SLE_UINT8),
@@ -798,7 +798,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
}; };
static const SaveLoad _ship_desc[] = { static const SaveLoad _ship_desc[] = {
SLE_WRITEBYTE(Vehicle, type, VEH_SHIP), SLE_WRITEBYTE(Vehicle, type),
SLE_VEH_INCLUDE(), SLE_VEH_INCLUDE(),
SLE_VAR(Ship, state, SLE_UINT8), SLE_VAR(Ship, state, SLE_UINT8),
SLE_CONDDEQUE(Ship, path, SLE_UINT8, 203, SL_MAX_VERSION), SLE_CONDDEQUE(Ship, path, SLE_UINT8, 203, SL_MAX_VERSION),
@@ -810,7 +810,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
}; };
static const SaveLoad _aircraft_desc[] = { static const SaveLoad _aircraft_desc[] = {
SLE_WRITEBYTE(Vehicle, type, VEH_AIRCRAFT), SLE_WRITEBYTE(Vehicle, type),
SLE_VEH_INCLUDE(), SLE_VEH_INCLUDE(),
SLE_VAR(Aircraft, crashed_counter, SLE_UINT16), SLE_VAR(Aircraft, crashed_counter, SLE_UINT16),
SLE_VAR(Aircraft, pos, SLE_UINT8), SLE_VAR(Aircraft, pos, SLE_UINT8),
@@ -834,7 +834,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
}; };
static const SaveLoad _special_desc[] = { static const SaveLoad _special_desc[] = {
SLE_WRITEBYTE(Vehicle, type, VEH_EFFECT), SLE_WRITEBYTE(Vehicle, type),
SLE_VAR(Vehicle, subtype, SLE_UINT8), SLE_VAR(Vehicle, subtype, SLE_UINT8),
@@ -866,7 +866,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
}; };
static const SaveLoad _disaster_desc[] = { static const SaveLoad _disaster_desc[] = {
SLE_WRITEBYTE(Vehicle, type, VEH_DISASTER), SLE_WRITEBYTE(Vehicle, type),
SLE_REF(Vehicle, next, REF_VEHICLE_OLD), SLE_REF(Vehicle, next, REF_VEHICLE_OLD),

View File

@@ -162,7 +162,7 @@ struct BaseSetTextfileWindow : public TextfileWindow {
template <class TBaseSet> template <class TBaseSet>
void ShowBaseSetTextfileWindow(TextfileType file_type, const TBaseSet* baseset, StringID content_type) void ShowBaseSetTextfileWindow(TextfileType file_type, const TBaseSet* baseset, StringID content_type)
{ {
DeleteWindowByClass(WC_TEXTFILE); DeleteWindowById(WC_TEXTFILE, file_type);
new BaseSetTextfileWindow<TBaseSet>(file_type, baseset, content_type); new BaseSetTextfileWindow<TBaseSet>(file_type, baseset, content_type);
} }

View File

@@ -540,6 +540,7 @@ int CDECL main(int argc, char *argv[])
HeaderFileWriter writer(pathbuf); HeaderFileWriter writer(pathbuf);
writer.WriteHeader(data); writer.WriteHeader(data);
writer.Finalise(data); writer.Finalise(data);
if (_errors != 0) return 1;
} else if (mgo.numleft >= 1) { } else if (mgo.numleft >= 1) {
char *r; char *r;

View File

@@ -1946,96 +1946,96 @@ static const char * const _name_romanian_real[] = {
"Alba Iulia", "Alba Iulia",
"Alexandria", "Alexandria",
"Babadag", "Babadag",
"Bac\xC3\xA3u", "Bac\xC4\x83u",
"Baia Mare", "Baia Mare",
"B\xC3\xA3ile Herculane", "B\xC4\x83ile Herculane",
"B\xC3\xA3ilesti", "B\xC4\x83ilesti",
"B\xC3\xA2rlad", "B\xC3\xA2rlad",
"Bicaz", "Bicaz",
"Bistrita", "Bistri\xC8\x9B""a",
"Blaj", "Blaj",
"Borsec", "Borsec",
"Botosani", "Boto\xC8\x99""ani",
"Br\xC3\xA3ila", "Br\xC4\x83ila",
"Brasov", "Bra\xC8\x9Bov",
"Bucuresti", "Bucure\xC8\x99ti",
"Buftea", "Buftea",
"Buz\xC3\xA3u", "Buz\xC4\x83u",
"C\xC3\xA3l\xC3\xA3rasi", "C\xC4\x83l\xC4\x83rasi",
"Caransebes", "Caransebe\xC8\x99",
"Cernavod\xC3\xA3", "Cernavod\xC4\x83",
"Cluj-Napoca", "Cluj-Napoca",
"Constanta", "Constan\xC8\x9B""a",
"Covasna", "Covasna",
"Craiova", "Craiova",
"Dej", "Dej",
"Deva", "Deva",
"Dorohoi", "Dorohoi",
"Dr.-Tr. Severin", "Drobeta-Turnu Severin",
"Dr\xC3\xA3g\xC3\xA3sani", "Dr\xC4\x83g\xC4\x83sani",
"F\xC3\xA3g\xC3\xA3ras", "F\xC4\x83g\xC4\x83ras",
"F\xC3\xA3lticeni", "F\xC4\x83lticeni",
"Fetesti", "Fete\xC8\x99ti",
"Focsani", "Foc\xC8\x99""ani",
"Galati", "Gala\xC8\x99i",
"Gheorgheni", "Gheorgheni",
"Giurgiu", "Giurgiu",
"H\xC3\xA2rsova", "H\xC3\xA2r\xC8\x99ova",
"Hunedoara", "Hunedoara",
"Husi", "Hu\xC8\x99i",
"Iasi", "Ia\xC8\x99i",
"Isaccea", "Isaccea",
"Lugoj", "Lugoj",
"M\xC3\xA3""cin", "M\xC4\x83""cin",
"Mangalia", "Mangalia",
"Medgidia", "Medgidia",
"Medias", "Media\xC8\x99",
"Miercurea Ciuc", "Miercurea Ciuc",
"Mizil", "Mizil",
"Motru", "Motru",
"N\xC3\xA3s\xC3\xA3ud", "N\xC4\x83s\xC4\x83ud",
"N\xC3\xA3vodari", "N\xC4\x83vodari",
"Odobesti", "Odobe\xC8x99ti",
"Oltenita", "Olteni\xC8\x9B""a",
"Onesti", "One\xC8\x99ti",
"Oradea", "Oradea",
"Orsova", "Or\xC8\x99ova",
"Petrosani", "Petro\xC8\x99""ani",
"Piatra Neamt", "Piatra Neam\xC8\x9B",
"Pitesti", "Pite\xC8\x99ti",
"Ploiesti", "Ploie\xC8\x99ti",
"Predeal", "Predeal",
"R\xC3\xA2mnicu V\xC3\xA2lcea", "R\xC3\xA2mnicu V\xC3\xA2lcea",
"Reghin", "Reghin",
"Resita", "Re\xC8\x99i\xC8\x9B""a",
"Roman", "Roman",
"Rosiorii de Vede", "Ro\xC8\x99iorii de Vede",
"Satu Mare", "Satu Mare",
"Sebes", "Sebe\xC8\x99",
"Sf\xC3\xA2ntu Gheorghe", "Sf\xC3\xA2ntu Gheorghe",
"Sibiu", "Sibiu",
"Sighisoara", "Sighi\xC8\x99oara",
"Sinaia", "Sinaia",
"Slatina", "Slatina",
"Slobozia", "Slobozia",
"Sovata", "Sovata",
"Suceava", "Suceava",
"Sulina", "Sulina",
"T\xC3\xA3nd\xC3\xA3rei", "T\xC4\x83nd\xC4\x83rei",
"T\xC3\xA2rgoviste", "T\xC3\xA2rgoviste",
"T\xC3\xA2rgu Jiu", "T\xC3\xA2rgu Jiu",
"T\xC3\xA2rgu Mures", "T\xC3\xA2rgu Mures",
"Tecuci", "Tecuci",
"Timisoara", "Timi\xC8\x99oara",
"Tulcea", "Tulcea",
"Turda", "Turda",
"Turnu M\xC3\xA3gurele", "Turnu M\xC4\x83gurele",
"Urziceni", "Urziceni",
"Vaslui", "Vaslui",
"Vatra Dornei", "Vatra Dornei",
"Victoria", "Victoria",
"Videle", "Videle",
"Zal\xC3\xA3u", "Zal\xC4\x83u",
}; };
static const char * const _name_slovak_real[] = { static const char * const _name_slovak_real[] = {

View File

@@ -366,7 +366,7 @@ void CmdRefitTrainFromTemplate(Train *t, TemplateVehicle *tv, DoCommandFlag flag
// refit t as tv // refit t as tv
uint32 cb = GetCmdRefitVeh(t); uint32 cb = GetCmdRefitVeh(t);
DoCommand(t->tile, t->index, tv->cargo_type | tv->cargo_subtype << 8 | 1 << 16 | (1 << 5), flags, cb); DoCommand(t->tile, t->index, tv->cargo_type | tv->cargo_subtype << 8 | (1 << 16) | (1 << 31), flags, cb);
// next // next
t = t->GetNextUnit(); t = t->GetNextUnit();

View File

@@ -65,7 +65,7 @@ TextfileWindow::TextfileWindow(TextfileType file_type) : Window(&_textfile_desc)
this->CreateNestedTree(); this->CreateNestedTree();
this->vscroll = this->GetScrollbar(WID_TF_VSCROLLBAR); this->vscroll = this->GetScrollbar(WID_TF_VSCROLLBAR);
this->hscroll = this->GetScrollbar(WID_TF_HSCROLLBAR); this->hscroll = this->GetScrollbar(WID_TF_HSCROLLBAR);
this->FinishInitNested(); this->FinishInitNested(file_type);
this->GetWidget<NWidgetCore>(WID_TF_CAPTION)->SetDataTip(STR_TEXTFILE_README_CAPTION + file_type, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS); this->GetWidget<NWidgetCore>(WID_TF_CAPTION)->SetDataTip(STR_TEXTFILE_README_CAPTION + file_type, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS);
this->hscroll->SetStepSize(10); // Speed up horizontal scrollbar this->hscroll->SetStepSize(10); // Speed up horizontal scrollbar

View File

@@ -3845,7 +3845,8 @@ uint16 ReversingDistanceTargetSpeed(const Train *v)
bool TrainController(Train *v, Vehicle *nomove, bool reverse) bool TrainController(Train *v, Vehicle *nomove, bool reverse)
{ {
Train *first = v->First(); Train *first = v->First();
Train *prev; Train *prev = nullptr;
SCOPE_INFO_FMT([&], "TrainController: %s, %s, %s", scope_dumper().VehicleInfo(v), scope_dumper().VehicleInfo(prev), scope_dumper().VehicleInfo(nomove));
bool direction_changed = false; // has direction of any part changed? bool direction_changed = false; // has direction of any part changed?
bool update_signal_tunbridge_exit = false; bool update_signal_tunbridge_exit = false;
Direction old_direction = INVALID_DIR; Direction old_direction = INVALID_DIR;
@@ -4378,7 +4379,7 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse)
invalid_rail: invalid_rail:
/* We've reached end of line?? */ /* We've reached end of line?? */
if (prev != NULL) error("Disconnecting train"); if (prev != NULL) return true; //error("Disconnecting train");
reverse_train_direction: reverse_train_direction:
if (old_trackbits != INVALID_TRACK_BIT && (v->track ^ old_trackbits) & TRACK_BIT_WORMHOLE) { if (old_trackbits != INVALID_TRACK_BIT && (v->track ^ old_trackbits) & TRACK_BIT_WORMHOLE) {
@@ -5471,7 +5472,7 @@ CommandCost CmdTemplateReplaceVehicle(TileIndex tile, DoCommandFlag flags, uint3
// the template refit will be set further down, if we use it at all // the template refit will be set further down, if we use it at all
if (!use_refit) { if (!use_refit) {
uint32 cb = GetCmdRefitVeh(new_chain); uint32 cb = GetCmdRefitVeh(new_chain);
DoCommand(new_chain->tile, new_chain->index, store_refit_ct | store_refit_csubt << 8 | 1 << 16 | (1 << 5), flags, cb); DoCommand(new_chain->tile, new_chain->index, store_refit_ct | store_refit_csubt << 8 | (1 << 16) | (1 << 31), flags, cb);
} }
} }
@@ -5509,10 +5510,10 @@ CommandCost CmdTemplateReplaceVehicle(TileIndex tile, DoCommandFlag flags, uint3
if (need_refit && flags == DC_EXEC) { if (need_refit && flags == DC_EXEC) {
if (use_refit) { if (use_refit) {
uint32 cb = GetCmdRefitVeh(tmp_chain); uint32 cb = GetCmdRefitVeh(tmp_chain);
DoCommand(tmp_chain->tile, tmp_chain->index, cur_tmpl->cargo_type | (cur_tmpl->cargo_subtype << 8) | (1 << 16) | (1 << 5), flags, cb); DoCommand(tmp_chain->tile, tmp_chain->index, cur_tmpl->cargo_type | (cur_tmpl->cargo_subtype << 8) | (1 << 16) | (1 << 31), flags, cb);
} else { } else {
uint32 cb = GetCmdRefitVeh(tmp_chain); uint32 cb = GetCmdRefitVeh(tmp_chain);
DoCommand(tmp_chain->tile, tmp_chain->index, store_refit_ct | (store_refit_csubt << 8) | (1 << 16) | (1 << 5), flags, cb); DoCommand(tmp_chain->tile, tmp_chain->index, store_refit_ct | (store_refit_csubt << 8) | (1 << 16) | (1 << 31), flags, cb);
} }
} }
cur_tmpl = cur_tmpl->GetNextUnit(); cur_tmpl = cur_tmpl->GetNextUnit();

View File

@@ -465,13 +465,13 @@ static CommandCost RefitVehicle(Vehicle *v, bool only_this, uint8 num_vehicles,
* @param flags type of operation * @param flags type of operation
* @param p1 vehicle ID to refit * @param p1 vehicle ID to refit
* @param p2 various bitstuffed elements * @param p2 various bitstuffed elements
* - p2 = (bit 0-4) - New cargo type to refit to. * - p2 = (bit 0-7) - New cargo type to refit to.
* - p2 = (bit 5) - Is a virtual train (used by template replacement to allow refitting without stopped-in-depot checks)
* - p2 = (bit 6) - Automatic refitting.
* - p2 = (bit 7) - Refit only this vehicle. Used only for cloning vehicles.
* - p2 = (bit 8-15) - New cargo subtype to refit to. 0xFF means to try keeping the same subtype according to GetBestFittingSubType(). * - p2 = (bit 8-15) - New cargo subtype to refit to. 0xFF means to try keeping the same subtype according to GetBestFittingSubType().
* - p2 = (bit 16-23) - Number of vehicles to refit (not counting articulated parts). Zero means all vehicles. * - p2 = (bit 16-23) - Number of vehicles to refit (not counting articulated parts). Zero means all vehicles.
* Only used if "refit only this vehicle" is false. * Only used if "refit only this vehicle" is false.
* - p2 = (bit 24) - Automatic refitting.
* - p2 = (bit 25) - Refit only this vehicle. Used only for cloning vehicles.
* - p2 = (bit 31) - Is a virtual train (used by template replacement to allow refitting without stopped-in-depot checks)
* @param text unused * @param text unused
* @return the cost of this operation or an error * @return the cost of this operation or an error
*/ */
@@ -486,8 +486,8 @@ CommandCost CmdRefitVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
Vehicle *front = v->First(); Vehicle *front = v->First();
bool auto_refit = HasBit(p2, 6); bool auto_refit = HasBit(p2, 24);
bool is_virtual_train = HasBit(p2, 5); bool is_virtual_train = HasBit(p2, 31);
bool free_wagon = v->type == VEH_TRAIN && Train::From(front)->IsFreeWagon(); // used by autoreplace/renew bool free_wagon = v->type == VEH_TRAIN && Train::From(front)->IsFreeWagon(); // used by autoreplace/renew
if (is_virtual_train || (v->type == VEH_TRAIN && Train::From(front)->IsVirtual())) { if (is_virtual_train || (v->type == VEH_TRAIN && Train::From(front)->IsVirtual())) {
@@ -516,12 +516,12 @@ CommandCost CmdRefitVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
if (front->vehstatus & VS_CRASHED) return_cmd_error(STR_ERROR_VEHICLE_IS_DESTROYED); if (front->vehstatus & VS_CRASHED) return_cmd_error(STR_ERROR_VEHICLE_IS_DESTROYED);
/* Check cargo */ /* Check cargo */
CargoID new_cid = GB(p2, 0, 5); CargoID new_cid = GB(p2, 0, 8);
byte new_subtype = GB(p2, 8, 8); byte new_subtype = GB(p2, 8, 8);
if (new_cid >= NUM_CARGO) return CMD_ERROR; if (new_cid >= NUM_CARGO) return CMD_ERROR;
/* For ships and aircraft there is always only one. */ /* For ships and aircraft there is always only one. */
bool only_this = HasBit(p2, 7) || front->type == VEH_SHIP || front->type == VEH_AIRCRAFT; bool only_this = HasBit(p2, 25) || front->type == VEH_SHIP || front->type == VEH_AIRCRAFT;
uint8 num_vehicles = GB(p2, 16, 8); uint8 num_vehicles = GB(p2, 16, 8);
CommandCost cost = RefitVehicle(v, only_this, num_vehicles, new_cid, new_subtype, flags, auto_refit); CommandCost cost = RefitVehicle(v, only_this, num_vehicles, new_cid, new_subtype, flags, auto_refit);
@@ -1468,7 +1468,7 @@ CommandCost CmdCloneVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
/* Find out what's the best sub type */ /* Find out what's the best sub type */
byte subtype = GetBestFittingSubType(v, w, v->cargo_type); byte subtype = GetBestFittingSubType(v, w, v->cargo_type);
if (w->cargo_type != v->cargo_type || w->cargo_subtype != subtype) { if (w->cargo_type != v->cargo_type || w->cargo_subtype != subtype) {
CommandCost cost = DoCommand(0, w->index, v->cargo_type | 1U << 7 | (subtype << 8), flags, GetCmdRefitVeh(v)); CommandCost cost = DoCommand(0, w->index, v->cargo_type | 1U << 25 | (subtype << 8), flags, GetCmdRefitVeh(v));
if (cost.Succeeded()) total_cost.AddCost(cost); if (cost.Succeeded()) total_cost.AddCost(cost);
} }

View File

@@ -940,8 +940,8 @@ struct RefitWindow : public Window {
{ {
assert(_current_company == _local_company); assert(_current_company == _local_company);
Vehicle *v = Vehicle::Get(this->window_number); Vehicle *v = Vehicle::Get(this->window_number);
CommandCost cost = DoCommand(v->tile, this->selected_vehicle, option->cargo | (int)this->auto_refit << 6 | option->subtype << 8 | CommandCost cost = DoCommand(v->tile, this->selected_vehicle, option->cargo | option->subtype << 8 | this->num_vehicles << 16 |
this->num_vehicles << 16, DC_QUERY_COST, GetCmdRefitVeh(v->type)); (int)this->auto_refit << 24, DC_QUERY_COST, GetCmdRefitVeh(v->type));
if (cost.Failed()) return INVALID_STRING_ID; if (cost.Failed()) return INVALID_STRING_ID;
@@ -1200,12 +1200,12 @@ struct RefitWindow : public Window {
if (this->order == INVALID_VEH_ORDER_ID) { if (this->order == INVALID_VEH_ORDER_ID) {
bool delete_window = this->selected_vehicle == v->index && this->num_vehicles == UINT8_MAX; bool delete_window = this->selected_vehicle == v->index && this->num_vehicles == UINT8_MAX;
if (DoCommandP(v->tile, this->selected_vehicle, this->cargo->cargo | this->cargo->subtype << 8 | this->num_vehicles << 16 | this->is_virtual_train << 5, if (DoCommandP(v->tile, this->selected_vehicle, this->cargo->cargo | this->cargo->subtype << 8 | this->num_vehicles << 16 | this->is_virtual_train << 31,
GetCmdRefitVeh(v)) && delete_window) { GetCmdRefitVeh(v)) && delete_window) {
delete this; delete this;
} }
} else { } else {
if (DoCommandP(v->tile, v->index, this->cargo->cargo | this->cargo->subtype << 8 | this->order << 16 | this->is_virtual_train << 5, CMD_ORDER_REFIT)) delete this; if (DoCommandP(v->tile, v->index, this->cargo->cargo | this->cargo->subtype << 8 | this->order << 16 | this->is_virtual_train << 31, CMD_ORDER_REFIT)) delete this;
} }
} }
break; break;