Merge branch 'master' into jgrpp

# Conflicts:
#	src/vehicle_cmd.cpp
pull/78/head
Jonathan G Rennison 5 years ago
commit 255b6adfc9

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

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

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

@ -1574,7 +1574,7 @@ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station
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,
* 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
* 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
@ -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
* misrouting it. */
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;
}

@ -108,7 +108,7 @@ struct EnginePreviewWindow : Window {
EngineID engine = this->window_number;
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;
SetDParam(0, engine);

@ -1916,7 +1916,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Promijen
STR_CHEAT_SETUP_PROD :{LTBLUE}Omogući izmjeni produkcijskih vrijednosti: {ORANGE}{STRING}
# 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_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_MD5SUM :{BLACK}MD5 suma: {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_NONE :Ništa
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Nema dostupnih informacija
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_REFITTABLE_TO :{BLACK}Prenamjenjivo u: {GOLD}{STRING}
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_MAX_TE :{BLACK} Najveća vučna sila: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Domet: {GOLD}{COMMA} polja

@ -189,6 +189,7 @@ STR_COLOUR_ORANGE :Orange
STR_COLOUR_BROWN :Brun
STR_COLOUR_GREY :Grå
STR_COLOUR_WHITE :Vit
STR_COLOUR_RANDOM :Slumpmässig
# Units used in OpenTTD
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_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_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_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Växla stor/liten fönsterstorlek
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_DEFAULTZOOM_SCREENSHOT :Normalt inzoomad skärmdump
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_SPRITE_ALIGNER :Justering av spriteobjekt
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_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
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_TRACK :{TINY_FONT}{BLACK}Spår
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
# Playlist window
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Musikprogram - '{STRING}'
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Spårindex
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Spellista - '{STRING}'
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_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_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_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_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_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_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}%!
@ -877,10 +884,10 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
# Extra view window
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_MAIN_TO_VIEW :{BLACK}Klistra in vyn
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 :{BLACK}Byt huvudvy
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Kopiera denna vys position till huvudvyn
# Game options window
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_GEL :Georgisk lari (GEL)
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
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_MEDIUM :Medium
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_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_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_HELPTEXT :Aktivering av denna inställning gör så att alla flygplatstyper finns kvar i obegränsad tid efter att de blivit tillgängliga
@ -1288,7 +1299,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Linjernas bredd
STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskap definiera grundläggande gameplay scenarier med olika last och krav stad tillväxt. NewGRF och Game skript tillåter finare kontroll.
STR_CONFIG_SETTING_LAND_GENERATOR :Land generator: {STRING}
STR_CONFIG_SETTING_LAND_GENERATOR :Landgenerator: {STRING}
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Den ursprungliga generatorn beror på bas grafik set, och komponerar fasta landskapsformer. TerraGenesis är en Perlin buller baserad generator med finare inställningar kontroll
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
@ -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_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_SNOWLINE_HEIGHT :Snölinjeshö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 :Snögränsens höjd: {STRING}
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_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
@ -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_DARK_GREEN :Mörkgrön
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_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}
@ -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_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_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_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
@ -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_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_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_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
@ -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}
# 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_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_NONE :{BLACK}Inga
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
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
# 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!!
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
############ 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
@ -2714,11 +2773,12 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Speldeta
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen information tillgänglig
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {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
# 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_TOOLTIP :{BLACK}Ange kartans storlek i rutor. Antalet tillgängliga rutor kommer att bli något lägre
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_DOWN :{BLACK}Minska maximal bergshöjd med ett
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_DOWN :{BLACK}Sänk snögränsens höjd ett ner
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 steg
STR_MAPGEN_LAND_GENERATOR :{BLACK}Landgenerator:
STR_MAPGEN_TREE_PLACER :{BLACK}Trädalgoritm:
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_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_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
@ -2779,10 +2839,10 @@ STR_GENERATION_ABORT_CAPTION :{WHITE}Avbryt g
STR_GENERATION_ABORT_MESSAGE :{YELLOW}Vill du verkligen avbryta genereringen?
STR_GENERATION_PROGRESS :{WHITE}{NUM}% färdigt
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_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_SETTINGUP_GAME :{BLACK}Ställer in spel
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_MD5SUM :{BLACK}MD5sum: {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_NONE :Ingen
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Ingen information tillgänglig
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_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_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_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_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_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
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_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 :{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 på att du vill avpausa?
# NewGRF status
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_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}
# '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_NONE :{ORANGE}- Inga -
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_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_CITY_CAPTION :{WHITE}{TOWN} (Stad)
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_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} krävs
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_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_TRAINS :{WHITE}{COMMA} tåg
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_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_VIEW_HQ_BUTTON :{BLACK}Visa högkvarter
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_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_COMPANY_NAME_BUTTON :{BLACK}Företagsnamn
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_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_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%)
# 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_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} skepp
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_TOOLTIP :{BLACK}Skicka instruktioner till alla fordon på denna lista
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_ROAD_VEHICLE_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_TRAIN_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_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_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
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_REFITTABLE_TO :{BLACK}Anpassningsbar till: {GOLD}{STRING}
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_MAX_TE :{BLACK}Maximal Dragkraft: {GOLD}{FORCE}
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_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_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_DETAIL_TAB_CAPACITIES :{BLACK}Kapaciteter
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_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_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_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
@ -3778,7 +3851,7 @@ STR_ORDER_DROP_SERVICE_DEPOT :Service vid beh
STR_ORDER_DROP_HALT_DEPOT :Stanna
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
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_UNCONDITIONALLY :Alltid
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_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_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_HANGAR :Åk till närmsta hangar
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_CONDITIONAL_UNCONDITIONAL :Skippa till order {COMMA}
STR_ORDER_CONDITIONAL_NUM :Skippa till order {COMMA} när {STRING} {STRING} {COMMA}
STR_ORDER_CONDITIONAL_TRUE_FALSE :Skippa till order {COMMA} när {STRING} {STRING}
STR_ORDER_CONDITIONAL_UNCONDITIONAL :Hoppa till order {COMMA}
STR_ORDER_CONDITIONAL_NUM :Hoppa till order {COMMA} när {STRING} {STRING} {COMMA}
STR_ORDER_CONDITIONAL_TRUE_FALSE :Hoppa till order {COMMA} när {STRING} {STRING}
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_AND_TRAVEL_FOR :och res i {STRING}
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_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_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_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_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 på 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
# 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_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_ON_ONEWAY_ROAD :{WHITE}... vägen är enkelriktad eller blockerad
# Station destruction related errors
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
# Translatable descriptions in media/baseset/*.ob* files
STR_BASEGRAPHICS_DOS_DESCRIPTION :Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan.
STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan (tyska).
STR_BASEGRAPHICS_WIN_DESCRIPTION :Originalgrafiken från Transport Tycoon Deluxe, Windows-utgåvan.
STR_BASESOUNDS_DOS_DESCRIPTION :Originalljuden från Transport Tycoon Deluxe, DOS-utgåvan.
STR_BASESOUNDS_WIN_DESCRIPTION :Originalljuden från Transport Tycoon Deluxe, Windows-utgåvan.
STR_BASEGRAPHICS_DOS_DESCRIPTION :Originalgrafiken från DOS-utgåvan av Transport Tycoon Deluxe.
STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Originalgrafiken från den tyska DOS-utgåvan av Transport Tycoon Deluxe.
STR_BASEGRAPHICS_WIN_DESCRIPTION :Originalgrafiken från Windows-utgåvan av Transport Tycoon Deluxe.
STR_BASESOUNDS_DOS_DESCRIPTION :Originalljuden från DOS-utgåvan av Transport Tycoon Deluxe.
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_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.
##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_SHOPS_AND_OFFICES_1 :Affärer och kontor
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_STADIUM_1 :Arena
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_FLATS_1 :Lägenheter
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_IGLOO_1 :Igloo
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
##id 0x4800
@ -4564,29 +4641,29 @@ STR_SV_STNAME_NORTH :Norra {STRING}
STR_SV_STNAME_SOUTH :Södra {STRING}
STR_SV_STNAME_EAST :Östra {STRING}
STR_SV_STNAME_WEST :Västra {STRING}
STR_SV_STNAME_CENTRAL :{STRING} Centralstation
STR_SV_STNAME_TRANSFER :{STRING} Övergång
STR_SV_STNAME_CENTRAL :{STRING} centralstation
STR_SV_STNAME_TRANSFER :{STRING} övergång
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_WOODS :{STRING} Skog
STR_SV_STNAME_LAKESIDE :{STRING} Sjöstrand
STR_SV_STNAME_WOODS :{STRING} skog
STR_SV_STNAME_LAKESIDE :{STRING} sjöstrand
STR_SV_STNAME_EXCHANGE :{STRING} Växel
STR_SV_STNAME_AIRPORT :{STRING} Flygplats
STR_SV_STNAME_OILFIELD :{STRING} Oljefält
STR_SV_STNAME_MINES :{STRING} Gruva
STR_SV_STNAME_DOCKS :{STRING} Kaj
STR_SV_STNAME_AIRPORT :{STRING} flygplats
STR_SV_STNAME_OILFIELD :{STRING} oljefält
STR_SV_STNAME_MINES :{STRING} gruva
STR_SV_STNAME_DOCKS :{STRING} hamn
STR_SV_STNAME_BUOY :{STRING}
STR_SV_STNAME_WAYPOINT :{STRING}
##id 0x6020
STR_SV_STNAME_ANNEXE :{STRING} Tillbyggnad
STR_SV_STNAME_SIDINGS :{STRING} Förort
STR_SV_STNAME_BRANCH :{STRING} Förgrening
STR_SV_STNAME_ANNEXE :{STRING} tillbyggnad
STR_SV_STNAME_SIDINGS :{STRING} förort
STR_SV_STNAME_BRANCH :{STRING} förgrening
STR_SV_STNAME_UPPER :Övre {STRING}
STR_SV_STNAME_LOWER :Nedre {STRING}
STR_SV_STNAME_HELIPORT :{STRING} Helikopterplats
STR_SV_STNAME_FOREST :{STRING} Skog
STR_SV_STNAME_FALLBACK :{STRING} Station #{NUM}
STR_SV_STNAME_HELIPORT :{STRING} helikopterplats
STR_SV_STNAME_FOREST :{STRING} skog
STR_SV_STNAME_FALLBACK :{STRING} station #{NUM}
############ end of savegame specific region!
##id 0x8000

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

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

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

@ -941,7 +941,9 @@ do_clear:;
*/
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;
}

@ -1960,17 +1960,15 @@ bool SlObjectMember(void *ptr, const SaveLoad *sld)
}
break;
/* SL_WRITEBYTE translates a value of a variable to another one upon
* saving or loading.
* XXX - variable renaming abuse
* 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 */
/* SL_WRITEBYTE writes a value to the savegame to identify the type of an object.
* When loading, the value is read explictly with SlReadByte() to determine which
* object description to use. */
case SL_WRITEBYTE:
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: *(byte *)ptr = sld->version_from; break;
case SLA_PTRS: break;
case SLA_LOAD:
case SLA_PTRS:
case SLA_NULL: break;
default: NOT_REACHED();
}

@ -461,7 +461,7 @@ typedef SaveLoad SaveLoadGlobVarList;
#define SLE_CONDNULL(length, from, to) SLE_CONDNULL_X(length, from, to, SlXvFeatureTest())
/** 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_ST_INCLUDE() {false, SL_ST_INCLUDE, 0, 0, 0, SL_MAX_VERSION, NULL, 0, SlXvFeatureTest()}

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

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

@ -162,7 +162,7 @@ struct BaseSetTextfileWindow : public TextfileWindow {
template <class TBaseSet>
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);
}

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

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

@ -366,7 +366,7 @@ void CmdRefitTrainFromTemplate(Train *t, TemplateVehicle *tv, DoCommandFlag flag
// refit t as tv
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
t = t->GetNextUnit();

@ -65,7 +65,7 @@ TextfileWindow::TextfileWindow(TextfileType file_type) : Window(&_textfile_desc)
this->CreateNestedTree();
this->vscroll = this->GetScrollbar(WID_TF_VSCROLLBAR);
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->hscroll->SetStepSize(10); // Speed up horizontal scrollbar

@ -3845,7 +3845,8 @@ uint16 ReversingDistanceTargetSpeed(const Train *v)
bool TrainController(Train *v, Vehicle *nomove, bool reverse)
{
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 update_signal_tunbridge_exit = false;
Direction old_direction = INVALID_DIR;
@ -4378,7 +4379,7 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse)
invalid_rail:
/* We've reached end of line?? */
if (prev != NULL) error("Disconnecting train");
if (prev != NULL) return true; //error("Disconnecting train");
reverse_train_direction:
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
if (!use_refit) {
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 (use_refit) {
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 {
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();

@ -465,13 +465,13 @@ static CommandCost RefitVehicle(Vehicle *v, bool only_this, uint8 num_vehicles,
* @param flags type of operation
* @param p1 vehicle ID to refit
* @param p2 various bitstuffed elements
* - p2 = (bit 0-4) - 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 0-7) - New cargo type to refit to.
* - 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.
* 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
* @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();
bool auto_refit = HasBit(p2, 6);
bool is_virtual_train = HasBit(p2, 5);
bool auto_refit = HasBit(p2, 24);
bool is_virtual_train = HasBit(p2, 31);
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())) {
@ -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);
/* Check cargo */
CargoID new_cid = GB(p2, 0, 5);
CargoID new_cid = GB(p2, 0, 8);
byte new_subtype = GB(p2, 8, 8);
if (new_cid >= NUM_CARGO) return CMD_ERROR;
/* 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);
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 */
byte subtype = GetBestFittingSubType(v, w, v->cargo_type);
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);
}

@ -940,8 +940,8 @@ struct RefitWindow : public Window {
{
assert(_current_company == _local_company);
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 |
this->num_vehicles << 16, DC_QUERY_COST, GetCmdRefitVeh(v->type));
CommandCost cost = DoCommand(v->tile, this->selected_vehicle, option->cargo | option->subtype << 8 | this->num_vehicles << 16 |
(int)this->auto_refit << 24, DC_QUERY_COST, GetCmdRefitVeh(v->type));
if (cost.Failed()) return INVALID_STRING_ID;
@ -1200,12 +1200,12 @@ struct RefitWindow : public Window {
if (this->order == INVALID_VEH_ORDER_ID) {
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) {
delete this;
}
} 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;

Loading…
Cancel
Save