diff --git a/changelog.txt b/changelog.txt index 883560397e..12d3ffe756 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,184 @@ +13.0-beta1 (2022-10-31) +------------------------------------------------------------------------ +Feature: Airport construction GUI displays infrastructure cost (#10094) +Feature: Purchase land multiple tiles at a time (#10027) +Feature: Add sticky pin & shade widgets to Object Selection UI panel (#10019, #10020) +Feature: Improved handling of HiDPI and mixed-DPI screens (#9994, #9996, #9997, #10064) +Feature: Alternative linkgraph colour schemes (#9866) +Feature: Allow Shift+Insert as paste in edit box (#9836) +Feature: Setting to make the local town authority rubber-stamp all actions (#9833) +Feature: Add/extend console commands to enable screenshot automation (#9771) +Feature: [Linkgraph] Show a tooltip with statistics when hovering a link (#9760) +Feature: Build objects by area (#9709) +Feature: Add setting to hide news about competitors vehicle crash (#9653) +Feature: Ctrl-click to remove fully autoreplaced vehicles from list (#9639) +Feature: Wide rivers on map generation (#9628) +Add: [Script] ScriptCargo::GetWeight to get cargo weights (#9930) +Add: Command line option to skip NewGRF scanning (#9879) +Add: Show video driver name in Game Options window (#9872) +Add: [NewGRF] Map seed as global variable (#9834) +Add: [Script] IndustryType::ResolveNewGRFID to resolve industry id from grf_local_id and grfid (#9798) +Add: [Script] ObjectType::ResolveNewGRFID to resolve object id from grfid and grf_local_id (#9795) +Update: To all the friends we have lost and those we have gained (#10000) +Change: Use the Simulation subcategory to openttd.desktop (#10015) +Change: Constantly update destination of 'any depot' orders (#9959) +Change: Use an indent, not a dash, to list train capacity (#9887) +Change: [NewGRF] Increase vehicle sprite stack from 4 layers to 8 (#9863) +Change: Don't pay Property Maintenance on stations when Infrastructure Maintenance is disabled (#9828) +Change: Improved layout of the finance window (#9827) +Change: [Admin] Bump admin port protocol due to command changes (#9754) +Change: Suppress vehicle age warnings for stopped vehicles (#9718) +Change: Make pf.yapf.rail_firstred_twoway_eol on by default (#9544) +Change: Deliver cargo to the closest industry first (#9536) +Fix: Lots of fixes to how windows handle resizing (#10040, #10042, #10046, #10051, #10056, #10068, #10070, #10098) +Fix: Console commands list_ai output was truncated with a suitably large number of AIs (#10075) +Fix #9876: MacBook Touch Bar crash / render issues w/ 32bpp graphics (#10060) +Fix: Reduce framerate overhead in Train::Tick (#10055) +Fix: Only open scenario editor date query once (#10050) +Fix #10048: Don't relocate company HQ on the same exact location (#10049) +Fix #10038: Missing upper bounds check when loading custom playlists (#10039) +Fix: Wrong string used to determine size of zoomed out station sign (#10036) +Fix: Disable "turn around" button for other companies' road vehicles (#10033) +Fix: Online Players list mouse hover behaviour (#10031) +Fix: [NewGRF] Weirdness of new stations (#10017) +Fix #9854: DrawStringMultiLine() could draw beyond its bounding box (#10014) +Fix: Incorrect player name in online players window (#10013) +Fix #8099: News window zoom level fixes (#10005) +Fix: [NewGRF] Upper 16 random bits should be the same for all station tiles in callback 140 (#9992) +Fix #9989: £0 Net Profit is neither negative nor positive (#9991) +Fix #9804: Only apply sprite_zoom_min setting when sprites available (#9988) +Fix #9972: Add missing fill/resize flags on Framerate window widgets (#9982) +Fix #9935: Use more selectivity when building SSE specific code (#9980) +Fix #9940: Print debuglevel parse errors to console when changed from console (#9979) +Fix #9977: Clearing the console with a large number of lines could cause a crash (#9978) +Fix #9974: Console command getsysdate did not work due to off-by-one error (#9975) +Fix: [NewGRF] Default value of RailVehicleInfo::railveh_type was inconsistent with other default properties (#9967) +Fix #8584: Vehicles with shared orders getting invalid or unexpected start dates (#9955) +Fix #9951: [NewGRF] Scenario editor random industries button broke NewGRF persistent storage (#9952) +Fix: Validation of various internal command parameters that could have allowed a rogue client to crash servers (#9942, #9943, #9944, #9945, #9946, #9947, #9948, #9950) +Fix #9937: Station industries_near incorrect after removing part moved sign (#9938) +Fix: [Script] ScriptRoad::HasRoadType really check for RoadType (#9934) +Fix #9363: Rebuild client list on reinit event (#9929) +Fix #9925: Industry tile layout validation for layouts of only one tile (#9926) +Fix #9918: Reset industy last production year on scenario start (#9920) +Fix #9914: Prevent more useless pathfinder run for blocked vehicles (#9917) +Fix: List a max of four share owners instead of three (#9905) +Fix: [NewGRF] Industry layouts with zero regular tiles should be invalid (#9902) +Fix #9869: Remove docking tile when doing a clear square (#9898) +Fix: New player companies use favorite manager face, if saved (#9895) +Fix: Towns don't build parallel, redundant bridges (#9891) +Fix #9712: Cap town bridge length at original 11-tile limit (#9890) +Fix #9883: Show cost/income float over end tile of rail or road construction (#9889) +Fix #9870: Don't update infrastructure totals when overbuilding object on canal (#9888) +Fix #9877: GS could trigger 'Cost: £0' cost message (#9878) +Fix 44f2ef1: [strgen] Allow gender for {CARGO_SHORT} (#9873) +Fix #9867: Industry::stations_near not filled at industry creation (#9868) +Fix #9853: Incorrect merge of guiflags and flags for osk_activation (#9855) +Fix #6544: Don't join AI company when loading network game in singleplayer (#9794) +Fix: Company values do not properly account for shares (#9770) +Fix #9546: Crash when no industries are present in game (#9726) +Fix #9708: [Linkgraph] Don't assume vehicles have a non-zero max speed (#9693) +Fix #9665: [Linkgraph] Fix travel times of non-direct journeys (#9693) +Fix #8797: Use logical rail length when placing signals (#9652) +Cleanup: [NewGRF] Remove unused flag sprites (#10052) + + +12.2 (2022-04-02) +------------------------------------------------------------------------ +Feature: Remember the last-used signal between games (#9792) +Change: [MacOS] Allow touchbar usage on all supported OS versions (#9776) +Change: Add a timestamp in name of crash files (#9761) +Fix #9736: Duplicate multiplayer window opens upon canceling password entry (#9842) +Fix: Removing long roads doesn't prioritise refusal of local authority over other errors (#9831) +Fix #9020: Glitchy station coverage highlight when changing selection (#9825) +Fix: Correct some Romanian town names (#9819) +Fix: Original music playback rate was slightly too fast (#9814) +Fix #9811: Use the NewGRF-defined vehicle center when dragging ships and aircraft (#9812) +Fix: Do not let shares in the company taking over another company disappear (#9808) +Fix #9802: Crash when using lots of NewGRF waypoint types (#9803) +Fix #9766: Don't write uninitialised data in config file (#9767) +Fix #9743: [MacOS] Don't try to render touchbar sprites with invalid zoom level (#9776) +Fix #9774: Building roadstop in estimation mode updates station acceptance (#9775) +Fix: If vehicles only refit to cargo-slots >= 32, the default cargo was wrong (#9744) +Fix #9735: Possible desync when replacing a depot on same tile (#9738) +Fix #9730: [Network] Connections can use an invalid socket due to a race condition (#9731) +Fix: Don't show sign edit window for GS-owned signs (#9716) +Fix #9702: Display order window for vehicle group on ctrl-click only when using shared orders (#9704) +Fix #9680: Crash when loading really old savegames with aircraft in certain places (#9699) +Fix: Update last servicing dates when using the date cheat (#9694) +Fix: Error message shows about missing glyphs while suitable fallback font is found (#9692) + + +12.1 (2021-11-08) +------------------------------------------------------------------------ +Feature: Button to toggle showing advanced signal types (#9617) +Change: Don't show screenshot GUI in screenshots (#9674) +Change: Suppress panning in intro game, while user is interacting with the GUI (#9645) +Change: Draw rotor in cursor when dragging helicopters in depots (#9612) +Fix: Invalid memory access when loading a currency NewGRF (#9675) +Fix #9579: Object and HQ construction is Construction cost, not Property Maintenance (#9673) +Fix #9669: Ships exiting a blocked depot/lock could exit in the wrong direction (#9672) +Fix: Every 16th client never reconnects after server restart (#9666) +Fix #9643: Screenshots were always written as BMP files (#9644) +Fix #9630: Intro game could zoom in/out more than allowed by settings (#9633) +Fix #9626: Incorrect loading of script saved data (#9629) +Fix: Emergency crash save had the wrong NewGRF list saved in it (#9627) +Fix #9595: Always use plural forms of cargo for subsidy strings (#9619) +Fix #9614: Refresh rate dropdown was still active when vsync was enabled (#9618) +Fix: Don't use 'server address' string in server list when displaying an invite code (#9615) + + +12.0 (2021-10-17) +------------------------------------------------------------------------ +Add: [Network] Keep the refresh button in lowered state while refreshing (#9600) +Add: Console command to list search directories for various things (#9583) +Fix: Try all possible reverse directions when a ship reaches a dead end (#9610) +Fix: Incorrect Romanian own name (#9598) +Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594) +Fix #9548: [Squirrel] Crash during engine cleanup after reaching memory limit on realloc (#9592) +Fix #9588: [Squirrel] Reaching memory limit during script registration could prevent further script detections (#9589) +Fix: Make ships more likely to find their destination at the cost of slightly worse paths (#9576) +Change: Reverse ship when leaving docks if a better path exists (#9610) +Change: Allow all tiles around docks to be docking tiles (#9578) + + +12.0-RC1 (2021-09-25) +------------------------------------------------------------------------ +Feature: Display icon/text whether vehicle is lost in vehicle (list) window (#9543) +Feature: [MacOS] Add selected toolbar buttons to MacBook Pro Touch Bar (#9511) +Feature: Button to open order window from vehicle shared orders window (#9325) +Feature: Ctrl-Clicking shared order vehicle list opens order window (#9325) +Feature: Multiple rotating views on title screen (#8980) +Feature: Hide block signals in GUI by default (#8688) +Add: [Script] Allow GameScripts to build neutral objects (#9568) +Add: [Network] Allow sending chat messages via admin port (#9563) +Add: [AI/GS] Missing water related functions and objects (#8390) +Fix: Industry funding window did not update when changing funding method (#9572) +Fix #9562: [NewGRF] Handle case of invalid Action2 with zero results (#9564) +Fix: Incorrect error messages when placing water in scenario editor (#9560) +Fix #9484: Update locale currencies settings config map (#9559) +Fix: Prevent train reversing when entirely inside a train depot (#9557) +Fix: [Network] Add back 'Spectate' option to company toolbar menu (#9556) +Fix #9463: [Win32] Work around XAudio2 crashes (#9549) +Fix #8603: Don't give focus to text filter when opening Object GUI (#9547) +Fix #9241: Grove and forest tree brushes did not also create rainforest terrain (#9542) +Fix: [Network] Several crashes in our network code (#9534, #9456) +Fix #9527: Crash when trying to place multi-tile objects at map edge (#9529) +Fix: [Network] SendCmdNames only sent one name per packet (#9528) +Fix #9407: Desync when founding a town nearby a station (#9526) +Fix #9521: Don't load at just removed docks that were part of a multi-dock station (#9524) +Fix: Ships always tried to avoid docking tiles when pathfinding (even if nothing was on them) (#9522) +Fix: [Network] Convert server_advertise to server_game_type in config file (#9515) +Fix #9490: [Network] A full server couldn't be queried (#9508) +Fix: [Network] Don't show GameScript " (v0)" for old servers (#9507) +Fix: [Network] Show query errors in the server listing instead of error popup (#9506) +Fix: [Network] Crash when last-joined server was no longer available (#9503) +Fix #9501: [Network] Crash when more than one game-info query was pending (#9502) +Fix: Wrong error message when building canals over ship depots / locks (#9410) +Fix: Reduce cost of building canals over objects on sea (#9410) +Change: [Linkgraph] Delete links only served by vehicles stopped in depot (#9499) + + 12.0-beta2 (2021-08-19) ------------------------------------------------------------------------ Feature: [Linkgraph] Prioritize faster routes for passengers, mail and express cargo (#9457) diff --git a/src/lang/frisian.txt b/src/lang/frisian.txt index 77040b24ee..941b6ae2ba 100644 --- a/src/lang/frisian.txt +++ b/src/lang/frisian.txt @@ -226,7 +226,7 @@ STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Filtertekst: +STR_LIST_FILTER_TITLE :{BLACK}Filter: STR_LIST_FILTER_OSKTITLE :{BLACK}Foer filter namme yn STR_LIST_FILTER_TOOLTIP :{BLACK}Typ in wurd yn om de list te filterjen @@ -253,13 +253,13 @@ STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Brek geb ###length VEHICLE_TYPES STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Ferburgen treinen sjen litte STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Ferburgen weinen sjen litte -STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Ferburgen skepen sjen litte +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Ferburgen skippen sjen litte STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Ferburgen fleanmasines sjen litte ###length VEHICLE_TYPES STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen treinen toand STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen weinen toand -STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen skepen toand +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen skippen toand STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Mei it ynskeakelje fan dizze knop wurde ek ferburgen fleantugen toand # Query window @@ -339,7 +339,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Lit de b STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Betelje de bou fan in nije yndustry STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Lit in list sjen fan de treinen fan dit bedriuw. Ctrl + klik ipent of slût de groep/reau list STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Lit in list sjen fan de auto's fan dit bedriuw. Ctrl + Klik ipent of slût de groep/reau list -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Lit in list sjen fan de skepen fan dit bedriuw. Ctrl + Klik ipent of slût de groep/reau list +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Lit in list sjen fan de skippen fan dit bedriuw. Ctrl + Klik ipent of slût de groep/reau list STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Lit in list sjen fan de fleantugen fan dit bedriuw. Ctrl+Klik skeakelt tusken de list groep/reau STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Ynzoome STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}ûtzoome @@ -885,7 +885,12 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subsydzje oanbieding ferrûn:{}{}{STRING} fan {STRING} nei {STRING} sil no net in subsydzje krije. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsydzje ôfrûn:{}{}{STRING} tsjinst fan {STRING} nei {STRING} krijt gjin subsydzje mear. +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsydzje oanbean:{}{}Earste{STRING} tsjinst fan {STRING} nei {STRING} krijt {NUM} jier subsydzje fan 'e gemeente! ###length 4 +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsydzje tawezen oan {STRING}!{}{}{STRING} tsjinst fan {STRING} nei {STRING} krijt 50% ekstra betelle foar {P 4 "it" "de"} kommende {NUM} jier! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsydzje tawezen oan {STRING}!{}{}{STRING} tsjinst fan {STRING} nei {STRING} krijt dûbel betelle foar {P 4 "it" "de"} kommende {NUM} jier! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsydzje tawezen oan {STRING}!{}{}{STRING} tsjinst fan {STRING} nei {STRING} krijt trijedûbel betelle foar {P 4 "it" "de"} kommende {NUM} jier! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsydzje tawezen oan {STRING}!{}{}{STRING} tsjinst fan {STRING} nei {STRING} krijt fjouwerdûbel betelle foar {P 4 "it" "de"} kommende {NUM} jier! STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Ferkearsgaos yn {TOWN}!{}{}Dykreparaasje betelle troch {STRING} bringt 6 moannen oan ellinde foar ferkearsdielnimmers! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transportmonopoalje! @@ -1119,6 +1124,7 @@ STR_TERRAIN_TYPE_FLAT :Sljocht STR_TERRAIN_TYPE_HILLY :Heuvelich STR_TERRAIN_TYPE_MOUNTAINOUS :Bergich STR_TERRAIN_TYPE_ALPINIST :Alpinist +STR_TERRAIN_TYPE_CUSTOM :Oanpaste hichte ###length 4 STR_CITY_APPROVAL_LENIENT :Meigeand @@ -1130,7 +1136,7 @@ STR_WARNING_NO_SUITABLE_AI :{WHITE}Gjin br # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Ynstellings -STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtertekst: +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Alles útklappe STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Alles ynklappe STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(gjin útlis beskikber) @@ -1605,8 +1611,8 @@ STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksimaal oanta STR_CONFIG_SETTING_MAX_AIRCRAFT :Maksimaal oantal fleanmasines per bedriuw: {STRING} STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksimaal oantal fleanmasines dat in bedriuw hawwe kin -STR_CONFIG_SETTING_MAX_SHIPS :Maksimaal oantal skepen per bedriuw: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimaal oantal skepen dat in bedriuw hawwe kin +STR_CONFIG_SETTING_MAX_SHIPS :Maksimaal oantal skippen per bedriuw: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimaal oantal skippen dat in bedriuw hawwe kin STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Ferbied treinen foar computerspilers: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :By ynskeakeljen is it ûnmooglik foar kompjûterspilers om treinen te bouwen @@ -1778,6 +1784,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x ###length 3 +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :Tempo fan stêdsútwreiding: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Tempo fan stêdsútwreiding @@ -1893,6 +1900,7 @@ STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ûnj STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :koe net fûn wurde STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :Dat strykt net mei dizze ferzje fan OpenTTD STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ûnbekind +STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Gjin geheugen mear # Video initalization errors @@ -2081,7 +2089,9 @@ STR_NETWORK_SERVER_LIST_LANDSCAPE :{SILVER}Lânski STR_NETWORK_SERVER_LIST_MAP_SIZE :{SILVER}Lângrutte: {WHITE}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_SERVER_VERSION :{SILVER}Serverferzje: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Serveradres: {WHITE}{STRING} +STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Útnûgingskoade: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Start datum: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Spulskript: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{BLACK}Mei wachtwurd beskerme! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVER NET BESKIKBER STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}SERVER FOL @@ -2136,12 +2146,14 @@ STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server i STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Bedriuw is beskerme. Fier wachtwurd yn # Network company list added strings -STR_NETWORK_COMPANY_LIST_CLIENT_LIST :{WHITE}Client lyst +STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Online spilers STR_NETWORK_COMPANY_LIST_SPECTATE :{WHITE}Taskôgje # Network client list STR_NETWORK_CLIENT_LIST_SERVER_NAME :{BLACK}Namme STR_NETWORK_CLIENT_LIST_SERVER_NAME_TOOLTIP :{BLACK}Namme fan de server wêrsto op spilest +STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY :{BLACK}Sichtberheid +STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Dyn namme STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Dit bisto sels STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} klïïnt{P "" en} / {NUM} bedriuw{P "" en} @@ -2150,6 +2162,7 @@ STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} kl STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_DIRECT :{BLACK}Iepenbier +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Bisto der wis fan bedriuw '{COMPANY}' fuort te smiten? STR_NETWORK_ASK_RELAY_NO :{BLACK}Nee STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Ja, net wer freegje @@ -2178,6 +2191,7 @@ STR_NETWORK_CHAT_TO_COMPANY :[Team] Oan {STR STR_NETWORK_CHAT_CLIENT :[Privee] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_TO_CLIENT :[Privee] Nei {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_ALL :[Yderiin] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_EXTERNAL :[{3:STRING}] {0:STRING}: {WHITE}{1:STRING} STR_NETWORK_CHAT_OSKTITLE :{BLACK}Skriuw berjocht foar netwurk chat # Network messages @@ -2685,6 +2699,7 @@ STR_FRAMERATE_CURRENT :Aktueel STR_FRAMERATE_AVERAGE :{WHITE}Gemiddeld STR_FRAMERATE_MEMORYUSE :{WHITE}Geheugen STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms +STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s ###length 15 @@ -2755,6 +2770,7 @@ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Grutte: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{BLACK}Sniehichte oanpasse +STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Snie-oerflak (yn %) STR_MAPGEN_START_DATE_QUERY_CAPT :{BLACK}Startjier oanpasse # SE Map generation @@ -2791,7 +2807,7 @@ STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}útgebre STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}NewGRF bestânen diet brûkt wurde STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}NewGRF bestânen diet net brûkt binne STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Selektearje ynstellings: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter namme: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Selektearre ynstellings lade STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Sla ynstellings op STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Sla dizze list op as foarynstelling @@ -3162,11 +3178,12 @@ STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Trein Ûn STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Lânfartugen ûnderhâldskosten STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Fleantúch Ûnderhâldskosten STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Skip Ûnderhâldskosten +STR_FINANCES_SECTION_INFRASTRUCTURE :{GOLD}Ynfrastruktuer STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Rinte op liening STR_FINANCES_SECTION_OTHER :{GOLD}Oaren -STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG} -STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} +STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG} +STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Jild STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Eigen fûnsen STR_FINANCES_LOAN_TITLE :{WHITE}Liening @@ -3241,6 +3258,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Yndustryen STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Gjin - STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} +STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_FILTER_NONE :Gjin # Industry view @@ -3251,8 +3269,9 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Sintrear STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produksje nivo: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Yndustry kundicht drigend sluten oan! -STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Fereaskje: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Nedichheden: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Nedichheden: STR_CONFIG_GAME_PRODUCTION :{WHITE}Feroarje produksjenivo (mearfâld fan 8, maksimaal 2040) STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Feroarje produksjenivo (persintaazje, maksimaal 800%) @@ -3261,19 +3280,19 @@ STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Feroarje ###length VEHICLE_TYPES STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Trein{P "" en} STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Wein{P "" en} -STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} {P Skip Skepen} +STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} Skip{P "" "pen"} STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Fleantúch ###length VEHICLE_TYPES STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Treinen - klik op trein foar ynformaasje STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Weinen - klik op wein foar ynformaasje -STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Skepen - klik op skip foar ynformaasje +STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Skippen - klik op skip foar ynformaasje STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Fleantugen - klik op fleantúch foar ynformaasje ###length VEHICLE_TYPES STR_VEHICLE_LIST_AVAILABLE_TRAINS :Beskikbere Treinen STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Beskikbere Weinen -STR_VEHICLE_LIST_AVAILABLE_SHIPS :Beskikbere Skepen +STR_VEHICLE_LIST_AVAILABLE_SHIPS :Beskikbere Skippen STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Beskikbere Fleantugen STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}List beheare @@ -3293,13 +3312,13 @@ STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Klik om ###length VEHICLE_TYPES STR_GROUP_ALL_TRAINS :Alle treinen STR_GROUP_ALL_ROAD_VEHICLES :Alle weinen -STR_GROUP_ALL_SHIPS :Alle skepen +STR_GROUP_ALL_SHIPS :Alle skippen STR_GROUP_ALL_AIRCRAFTS :Alle fleantugen ###length VEHICLE_TYPES STR_GROUP_DEFAULT_TRAINS :Net-groepearre treinen STR_GROUP_DEFAULT_ROAD_VEHICLES :Net-groepearre weinen -STR_GROUP_DEFAULT_SHIPS :Net-groepearre skepen +STR_GROUP_DEFAULT_SHIPS :Net-groepearre skippen STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) @@ -3325,7 +3344,7 @@ STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nije trammen # Vehicle availability ###length VEHICLE_TYPES -STR_BUY_VEHICLE_SHIP_CAPTION :Nije Skepen +STR_BUY_VEHICLE_SHIP_CAPTION :Nije Skippen STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nije fleantugen STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Kosten: {GOLD}{CURRENCY_LONG}{BLACK} Gewicht: {GOLD}{WEIGHT_SHORT} @@ -3354,7 +3373,7 @@ STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Fleantú ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Keapje trein STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Keapje auto -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Keapje boat +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Keapje skip STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Keapje fleantúch ###length VEHICLE_TYPES @@ -3363,7 +3382,7 @@ STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Auto kea ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Keapje ferljochte trein STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Keapje ferljochte auto. Shift+Klik toant ferwachte kosten sûnder te keapje -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Keapje ferljochte boat. Shift+Klik toant ferwachte kosten sûnder te keapje +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Keapje ferljochte skip. Shift+Klik toant ferwachte kosten sûnder te keapje STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Keapje ferljochte fleantúch. Shift+Klik toant ferwachte kosten sûnder te keapje ###length VEHICLE_TYPES @@ -3377,7 +3396,7 @@ STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Jou in n ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Treintype neame STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Autotype neame -STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Boattype neame +STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Skiptype neame STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Fleantúchtype neame ###length VEHICLE_TYPES @@ -3415,7 +3434,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ###length VEHICLE_TYPES STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Weinen - Brûk rjochter mûsklik op de wein foar ynformaasje -STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Skepen - Brûk rjochter mûsklik op it skip foar ynformaasje +STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Skippen - Brûk rjochter mûsklik op it skip foar ynformaasje ###length VEHICLE_TYPES STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Tôgje trein hjirhinne om it te ferkeapjen @@ -3426,16 +3445,17 @@ STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Tôgje f ###length VEHICLE_TYPES STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}Ferkeapje alle treinen yn dit depot STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :Ferkeapje alle weinen yn disse garage +STR_DEPOT_SELL_ALL_BUTTON_SHIP_TOOLTIP :{BLACK}Ferkeapje alle skippen yn dit dok STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Ferkeapje alle fleantugen yn hangar ###length VEHICLE_TYPES -STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Ferfang automatysk skippen yn de skipmakkerij +STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Ferfang automatysk skippen yn it dok STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Ferfang automatysk alle fleantugen yn disse fleantúchhangaar ###length VEHICLE_TYPES STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nije fiertugen STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Nije Weinen -STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Nije Skepen +STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Nije Skippen STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Nije Fleantugen ###length VEHICLE_TYPES @@ -3458,7 +3478,7 @@ STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Klik om STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Klik om alle fleantugen yn dizze hangaar te stopje ###length VEHICLE_TYPES -STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Klik om alle skepen te starte +STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Klik om alle skippen in it dok te starte # Engine preview window @@ -3503,6 +3523,7 @@ STR_REPLACE_ENGINES :Motoaren STR_REPLACE_MONORAIL_VEHICLES :Monorail weinen STR_REPLACE_MAGLEV_VEHICLES :Maglev treinen +STR_REPLACE_TRAM_VEHICLES :Trams # Vehicle view @@ -3552,6 +3573,7 @@ STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Ûnderw STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Ûnderweis nei{DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}ûnderhâld yn {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Kin {DEPOT}, {VELOCITY} net berikke # Vehicle stopped/started animations ###length 2 @@ -3569,6 +3591,7 @@ STR_VEHICLE_DETAILS_CAPTION :{WHITE}{VEHICLE STR_VEHICLE_DETAILS_TRAIN_RENAME :{BLACK}Jou trein in namme STR_VEHICLE_DETAILS_ROAD_VEHICLE_RENAME :{BLACK}Namme fan de wein STR_VEHICLE_DETAILS_SHIP_RENAME :{BLACK}Skip in namme jaan +STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Fleantúch neame STR_VEHICLE_INFO_AGE :{COMMA} jier{P "" ren} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} jier{P "" ren} ({COMMA}) @@ -3666,6 +3689,7 @@ STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Feroarje STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Alle fracht folslein lade STR_ORDER_DROP_LOAD_IF_POSSIBLE :Lade as beskikber +STR_ORDER_DROP_FULL_LOAD_ALL :Alle fracht folslein lade STR_ORDER_DROP_FULL_LOAD_ANY :Samar in fracht folslein lade STR_ORDER_DROP_NO_LOADING :Net laden @@ -3688,16 +3712,26 @@ STR_ORDER_SERVICE_TOOLTIP :{BLACK}Sla dizz # Conditional order variables, must follow order of OrderConditionVariable enum ###length 8 +STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Laadpersintaazje STR_ORDER_CONDITIONAL_RELIABILITY :Betrouberens STR_ORDER_CONDITIONAL_MAX_SPEED :Maksimale snelheid STR_ORDER_CONDITIONAL_AGE :âlderdom (yn jierren) +STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Ûnderhâld nedich STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Altyd +STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Restearjende libbensdoer (jieren) STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maksimale betrouberheid ###next-name-looks-similar +STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :is gelyk oan STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :is net gelyk oan +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :is minder as +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :is minder of gelyk oan +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :is mear as +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :is minder as +STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :is wier STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :is net wier +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Wearde om mei te ferlykjen STR_ORDERS_SKIP_BUTTON :{BLACK}Oerslaan @@ -3708,6 +3742,7 @@ STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Stop die STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stopje mei dielde bestimmingen STR_ORDERS_GO_TO_BUTTON :{BLACK}Gean Nei +STR_ORDER_CONDITIONAL :Kondisjoneel nei oarder ljeppe STR_ORDER_SHARE :Dielde Bestimmingen @@ -3769,9 +3804,9 @@ STR_ORDER_STOP_LOCATION_FAR_END :[ein] STR_ORDER_OUT_OF_RANGE :{RED} (Folgjende bestimming is bûten berik) -STR_ORDER_CONDITIONAL_UNCONDITIONAL :Ljep nei opdracht {COMMA} -STR_ORDER_CONDITIONAL_NUM :Ljep nei opdracht {COMMA} at {STRING} {STRING} {COMMA} -STR_ORDER_CONDITIONAL_TRUE_FALSE :Ljep nei opdracht {COMMA} at {STRING} {STRING} +STR_ORDER_CONDITIONAL_UNCONDITIONAL :Ljep nei oarder {COMMA} +STR_ORDER_CONDITIONAL_NUM :Ljep nei oarder {COMMA} as {STRING} {STRING} {COMMA} +STR_ORDER_CONDITIONAL_TRUE_FALSE :Ljep nei oarder {COMMA} as {STRING} {STRING} STR_INVALID_ORDER :{RED} (Unjildige opdracht) @@ -4245,7 +4280,7 @@ STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Kin flea ###length VEHICLE_TYPES STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Kin gjin trein keapje... STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Kin gjin auto keapje... -STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Kin gjin boat keapje... +STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Kin skip net keapje... STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Kin gjin fleantúch keapje... ###length VEHICLE_TYPES @@ -4411,9 +4446,9 @@ STR_INDUSTRY_NAME_SUGAR_MINE :Sûkermyn ##id 0x6000 STR_SV_EMPTY : STR_SV_UNNAMED :Net neamt -STR_SV_TRAIN_NAME :Trein {COMMA} -STR_SV_ROAD_VEHICLE_NAME :Lânfartúg {COMMA} -STR_SV_SHIP_NAME :Skip {COMMA} +STR_SV_TRAIN_NAME :Trein #{COMMA} +STR_SV_ROAD_VEHICLE_NAME :Lânfartúg #{COMMA} +STR_SV_SHIP_NAME :Skip #{COMMA} STR_SV_AIRCRAFT_NAME :Fleantúch {COMMA} ###length 27 @@ -4668,8 +4703,8 @@ STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Chugger-Chug Pa STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Shivershake Passazjier Fearboat STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :Yate Frachtskip STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :Bakewell Frachtskip -STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :MightyMover Guod boat -STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :Powernaut Guodskip +STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :MightyMover Frachtskip +STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :Powernaut Frachtskip ###length 41 STR_VEHICLE_NAME_AIRCRAFT_SAMPSON_U52 :Sampson U52 diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 0a4b65187a..9eb8d367dd 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -1017,6 +1017,7 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :இரண்ட STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :நான்கு மடங்கு +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz STR_GAME_OPTIONS_BASE_GRF :{BLACK}அடிப்படை அசைவூட்டம் STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}பயன்படுத்தப்போகும் அடிப்படை அசைவூட்டத்தினை தேர்ந்தெடுக்கவும் @@ -1032,6 +1033,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}பய STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} பிழையான கோப்பு{P "" கள்} STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}அடிப்படை இசைத் தொகுப்பு பற்றிய கூடுதல் தகவல்கள் +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}ஆதரிக்கப்பட்ட திரைத் தெளிவுத்திரங்களின் வரிசை பெற முடியவில்லை STR_ERROR_FULLSCREEN_FAILED :{WHITE}முழுத்திரை நிலை தோல்வியடைந்தது # Custom currency window @@ -1259,10 +1261,11 @@ STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :அதிகப STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :கட்டப்படும் சுரங்கங்களின் அதிகபட்ச நீளம் STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :மனித அடிப்படை தொழிற்சாலை கட்டுமான வழி: {STRING} +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :முதன்மைத் தொழிற்சாலை நிதியம் வழி. 'ஒன்றுமில்லை' என்றால் அவற்றை நிதியளிக்க முடியாது, 'கனிமத்தேட்டம்' என்றால் நிதியளிக்க முடியும், ஆனால் நிலப்படத்தில் ஒரு சீரற்ற இடத்தில் கட்டுமானம் ஏற்படும் மற்றும் சமமாக தோல்வியடையலாம், 'மற்ற தொழிற்சாலைகளைப் போல' என்றால் நிறுவனங்களால் துணைத் தொழிற்சாலைகளை போல வேண்டிய இடத்தில் முதன்மை தொழிற்சாலைகள் கட்டமைக்கலாம் ###length 3 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :ஒன்றுமில்லை STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :மற்ற தொழிற்சாலைகளைப் போல -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :எங்கேயாவது +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :கனிமத்தேட்டம் STR_CONFIG_SETTING_INDUSTRY_PLATFORM :தொழிற்சாலைகள் அருகே உள்ள சம நிலங்கள்: {STRING} STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :ஒரு தொழிலைச் சுற்றியுள்ள தட்டையான இடத்தின் அளவு. தடங்கள் மற்றும் பலவற்றைக் கட்டுவதற்கு ஒரு தொழிற்துறையைச் சுற்றி வெற்று இடம் இருப்பதை இது உறுதி செய்கிறது @@ -1581,6 +1584,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :பழுதுபார்த்தல்கள் இடையே உள்ள காலத்தினை சதவிகிதத்தில் காட்டவும்: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS :இரயிகளின் பழுதுபார்த்தல் இடைவேளி: {STRING} +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :புதிய இரயில் வாகனங்களுக்கான இயல்புநிலை சேவை இடைவெளியை அமைக்கவும், வாகனத்திற்கு வெளிப்படையான சேவை இடைவெளி எதுவும் அமைக்கப்படவில்லை என்றால் STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :சாலை வாகனங்களின் பழுதுபார்த்தல் இடைவேளி: {STRING} STR_CONFIG_SETTING_SERVINT_AIRCRAFT :விமாங்களின் பழுதுபார்த்தல் இடைவேளி: {STRING} STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :புதிய விமானங்களுக்கான இயல்புநிலை சேவை இடைவெளியை அமைக்கவும், வாகனத்திற்கு வெளிப்படையான சேவை இடைவெளி எதுவும் அமைக்கப்படவில்லை என்றால் @@ -2123,6 +2127,7 @@ STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}இந STR_NETWORK_CLIENT_LIST_CHAT_SPECTATOR_TOOLTIP :{BLACK}அனைத்து பார்வையாளர்களுக்கும் ஒரு செய்தியை அனுப்பவும் STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(புதிய நிறுவனம்) STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}புதிய நிறுவனத்தினை நிறுவி விளையாடு +STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :இது நீன்கள் STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} வாடிக்கையாளர்{P "" கள்} / {NUM} நிறுவன{P ம் ங்கள்} # Matches ConnectionType @@ -2232,6 +2237,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :விளைய STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :வீரர்கள் இணைக்கப்படுகின்றனர் STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :எனது STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :விளையாட்டின் ஸ்கிரிப்ட் +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :இணைப்பு வரைப்பட மேம்படுத்தற்காக காத்திருக்கிறது STR_NETWORK_MESSAGE_CLIENT_LEAVING :விட்டுச்செல்கிறார் STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} விளையாட்டில் சேர்ந்து உள்ளார் @@ -2970,6 +2976,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} ஆ STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} இற்கு OpenTTD பதிப்பு {STRING} இற்கு அதிகமான பதிப்பு தேவைப்படுகிறது STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF கோப்பு மொழிபெயர்க்க வடிமைக்கப்பட்டது STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :அளவிற்கு அதிகமான NewGRF கள் ஏற்றப்பட்டுள்ளன +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :{2:STRING}உடன் {1:STRING}ஐ நிலையான NewGRFஆக ஏற்றுவதால் இணைப்பு பீழை ஏற்படலாம் STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :எதிர்பார்க்கப்படாத ஸ்பிரைட்டு(ஸ்பிரைட்டு {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :தெரியாத செயல் 0 பொருள் {4:HEX} (ஸ்பிரிட் {3:NUM}) STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :பல அதிரடி 8 உள்ளீடுகளைக் கொண்டுள்ளது (ஸ்பிரிட் {3:NUM}) @@ -4057,6 +4064,7 @@ STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}AI இ STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}AI பதிவு செய்தி இடைவெளி சரத்துடன் பொருந்தும்போது உடைப்பதை இயக்கவும் / முடக்கவும் STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}உடைத்து ஆம்: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}உடைத்து ஆம் +STR_AI_DEBUG_BREAK_STR_TOOLTIP :ஒரு AI பதிவு குறிப்பும் இந்த சரமும் (உரையும்) ஒண்றாக இருக்கும் போது, ஆட்டம் இடை நிருத்தப்படும். STR_AI_DEBUG_MATCH_CASE :{BLACK}case இனை சரிபடுத்தவும் STR_AI_DEBUG_CONTINUE :{BLACK}தொடரு STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}AI இனை தொடரு diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 300a9eed96..d401788090 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -2642,6 +2642,7 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Không h STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Hiện vùng che phủ của điểm đề xuất STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Chấp nhận: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Cung cấp: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST :{BLACK}Chi phí bảo trì: {GOLD}{CURRENCY_SHORT}/năm # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Nối ga, bến diff --git a/src/linkgraph/linkgraph.cpp b/src/linkgraph/linkgraph.cpp index b8119c7a2e..15b2495f95 100644 --- a/src/linkgraph/linkgraph.cpp +++ b/src/linkgraph/linkgraph.cpp @@ -74,9 +74,14 @@ void LinkGraph::Compress() for (NodeID node2 = 0; node2 < this->Size(); ++node2) { BaseEdge &edge = this->edges[node1][node2]; if (edge.capacity > 0) { - edge.capacity = std::max(1U, edge.capacity / 2); + uint new_capacity = std::max(1U, edge.capacity / 2); + if (edge.capacity < (1 << 16)) { + edge.travel_time_sum = edge.travel_time_sum * new_capacity / edge.capacity; + } else if (edge.travel_time_sum != 0) { + edge.travel_time_sum = std::max(1ULL, edge.travel_time_sum / 2); + } + edge.capacity = new_capacity; edge.usage /= 2; - edge.travel_time_sum = std::max(1ULL, edge.travel_time_sum / 2); } } } diff --git a/src/linkgraph/refresh.cpp b/src/linkgraph/refresh.cpp index 604bd2836a..a06eb3d574 100644 --- a/src/linkgraph/refresh.cpp +++ b/src/linkgraph/refresh.cpp @@ -232,6 +232,7 @@ void LinkRefresher::RefreshStats(const Order *cur, const Order *next, uint8 flag StationID next_station = next->GetDestination(); Station *st = Station::GetIfValid(cur->GetDestination()); if (st != nullptr && next_station != INVALID_STATION && next_station != st->index) { + Station *st_to = Station::Get(next_station); for (CargoID c = 0; c < NUM_CARGO; c++) { /* Refresh the link and give it a minimum capacity. */ @@ -240,21 +241,21 @@ void LinkRefresher::RefreshStats(const Order *cur, const Order *next, uint8 flag uint cargo_quantity = this->capacities[c]; if (cargo_quantity == 0) continue; + if (this->vehicle->GetDisplayMaxSpeed() == 0) continue; + /* If not allowed to merge link graphs, make sure the stations are * already in the same link graph. */ - if (!this->allow_merge && st->goods[c].link_graph != Station::Get(next_station)->goods[c].link_graph) { + if (!this->allow_merge && st->goods[c].link_graph != st_to->goods[c].link_graph) { continue; } /* A link is at least partly restricted if a vehicle can't load at its source. */ EdgeUpdateMode restricted_mode = (cur->GetCargoLoadType(c) & OLFB_NO_LOAD) == 0 ? EUM_UNRESTRICTED : EUM_RESTRICTED; - Station *st_to = Station::GetIfValid(next_station); /* This estimates the travel time of the link as the time needed * to travel between the stations at half the max speed of the consist. * The result is in tiles/tick (= 2048 km-ish/h). */ - uint32 time_estimate = (st_to != nullptr) ? - DistanceManhattan(st->xy, st_to->xy) * 4096U / this->vehicle->GetDisplayMaxSpeed() : 0; + uint32 time_estimate = DistanceManhattan(st->xy, st_to->xy) * 4096U / this->vehicle->GetDisplayMaxSpeed(); if (HasBit(flags, AIRCRAFT)) restricted_mode |= EUM_AIRCRAFT; diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 157f6d88ff..11538b844a 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3812,6 +3812,13 @@ bool AfterLoadGame() } } + /* Use current order time to approximate last loading time */ + if (IsSavegameVersionBefore(SLV_LAST_LOADING_TICK) && SlXvIsFeatureMissing(XSLFI_LAST_LOADING_TICK)) { + for (Vehicle *v : Vehicle::Iterate()) { + v->last_loading_tick = std::max(_tick_counter, static_cast(v->current_order_time)) - v->current_order_time; + } + } + if (!IsSavegameVersionBefore(SLV_MULTITRACK_LEVEL_CROSSINGS)) { _settings_game.vehicle.adjacent_crossings = true; } else if (SlXvIsFeatureMissing(XSLFI_ADJACENT_CROSSINGS)) { diff --git a/src/saveload/extended_ver_sl.cpp b/src/saveload/extended_ver_sl.cpp index 6f7a4fc757..e2dc4a99ca 100644 --- a/src/saveload/extended_ver_sl.cpp +++ b/src/saveload/extended_ver_sl.cpp @@ -179,6 +179,7 @@ const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = { { XSLFI_SCRIPT_INT64, XSCF_NULL, 1, 1, "script_int64", nullptr, nullptr, nullptr }, { XSLFI_U64_TICK_COUNTER, XSCF_NULL, 1, 1, "u64_tick_counter", nullptr, nullptr, nullptr }, { XSLFI_LINKGRAPH_TRAVEL_TIME, XSCF_NULL, 1, 1, "linkgraph_travel_time", nullptr, nullptr, nullptr }, + { XSLFI_LAST_LOADING_TICK, XSCF_NULL, 1, 1, "last_loading_tick", nullptr, nullptr, nullptr }, { XSLFI_NULL, XSCF_NULL, 0, 0, nullptr, nullptr, nullptr, nullptr },// This is the end marker }; diff --git a/src/saveload/extended_ver_sl.h b/src/saveload/extended_ver_sl.h index 753bd8ac55..d50ff398d3 100644 --- a/src/saveload/extended_ver_sl.h +++ b/src/saveload/extended_ver_sl.h @@ -133,6 +133,7 @@ enum SlXvFeatureIndex { XSLFI_SCRIPT_INT64, ///< See: SLV_SCRIPT_INT64 XSLFI_U64_TICK_COUNTER, ///< See: SLV_U64_TICK_COUNTER XSLFI_LINKGRAPH_TRAVEL_TIME, ///< See: SLV_LINKGRAPH_TRAVEL_TIME + XSLFI_LAST_LOADING_TICK, ///< See: SLV_LAST_LOADING_TICK XSLFI_RIFF_HEADER_60_BIT, ///< Size field in RIFF chunk header is 60 bit XSLFI_HEIGHT_8_BIT, ///< Map tile height is 8 bit instead of 4 bit, but savegame version may be before this became true in trunk diff --git a/src/saveload/upstream/vehicle_sl.cpp b/src/saveload/upstream/vehicle_sl.cpp index 855e472a0a..093686bf20 100644 --- a/src/saveload/upstream/vehicle_sl.cpp +++ b/src/saveload/upstream/vehicle_sl.cpp @@ -172,7 +172,7 @@ public: SLE_CONDVAR(Vehicle, group_id, SLE_UINT16, SLV_60, SL_MAX_VERSION), SLE_CONDVAR(Vehicle, current_order_time, SLE_UINT32, SLV_67, SL_MAX_VERSION), - //SLE_CONDVAR(Vehicle, last_loading_tick, SLE_UINT64, SLV_LAST_LOADING_TICK, SL_MAX_VERSION), + SLE_CONDVAR(Vehicle, last_loading_tick, SLE_UINT64, SLV_LAST_LOADING_TICK, SL_MAX_VERSION), SLE_CONDVAR(Vehicle, lateness_counter, SLE_INT32, SLV_67, SL_MAX_VERSION), }; #if defined(_MSC_VER) && (_MSC_VER == 1915 || _MSC_VER == 1916) diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 76cdba5861..232543a8ac 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -797,6 +797,7 @@ SaveLoadTable GetVehicleDescription(VehicleType vt) SLE_CONDVAR(Vehicle, current_order_time, SLE_UINT32, SLV_67, SL_MAX_VERSION), SLE_CONDVAR_X(Vehicle, current_loading_time, SLE_UINT32, SL_MIN_VERSION, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_AUTO_TIMETABLE)), SLE_CONDVAR_X(Vehicle, current_loading_time, SLE_UINT32, SL_MIN_VERSION, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_JOKERPP, SL_JOKER_1_23)), + SLE_CONDVAR_X(Vehicle, last_loading_tick, SLE_UINT64, SL_MIN_VERSION, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_LAST_LOADING_TICK)), SLE_CONDNULL_X(4, SL_MIN_VERSION, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_SPRINGPP)), SLE_CONDVAR(Vehicle, lateness_counter, SLE_INT32, SLV_67, SL_MAX_VERSION), diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index e3595a43c8..2bc50d8b3b 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -167,7 +167,7 @@ class NIHVehicle : public NIHelper { output.print(buffer); } if (BaseStation::IsValidID(v->last_loading_station)) { - seprintf(buffer, lastof(buffer), " V Last loading visited: %u, %s", v->last_loading_station, BaseStation::Get(v->last_loading_station)->GetCachedName()); + seprintf(buffer, lastof(buffer), " V Last loading station: %u, %s", v->last_loading_station, BaseStation::Get(v->last_loading_station)->GetCachedName()); output.print(buffer); } if (v->IsGroundVehicle()) { diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 89801f4c07..2f3a81f40e 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -450,6 +450,7 @@ Vehicle::Vehicle(VehicleType type) this->cargo_age_counter = 1; this->last_station_visited = INVALID_STATION; this->last_loading_station = INVALID_STATION; + this->last_loading_tick = 0; this->cur_image_valid_dir = INVALID_DIR; this->vcache.cached_veh_flags = 0; } @@ -3140,9 +3141,9 @@ void Vehicle::DeleteUnreachedImplicitOrders() */ static void VehicleIncreaseStats(const Vehicle *front) { - uint32 travel_time = front->current_order_time; for (const Vehicle *v = front; v != nullptr; v = v->Next()) { StationID last_loading_station = HasBit(front->vehicle_flags, VF_LAST_LOAD_ST_SEP) ? v->last_loading_station : front->last_loading_station; + uint64 loading_tick = HasBit(front->vehicle_flags, VF_LAST_LOAD_ST_SEP) ? v->last_loading_tick : front->last_loading_tick; if (v->refit_cap > 0 && last_loading_station != INVALID_STATION && last_loading_station != front->last_station_visited && @@ -3157,7 +3158,7 @@ static void VehicleIncreaseStats(const Vehicle *front) EdgeUpdateMode restricted_mode = EUM_INCREASE; if (v->type == VEH_AIRCRAFT) restricted_mode |= EUM_AIRCRAFT; IncreaseStats(Station::Get(last_loading_station), v->cargo_type, front->last_station_visited, v->refit_cap, - std::min(v->refit_cap, v->cargo.StoredCount()), travel_time, restricted_mode); + std::min(v->refit_cap, v->cargo.StoredCount()), _tick_counter - loading_tick, restricted_mode); } } } @@ -3378,6 +3379,7 @@ void Vehicle::LeaveStation() /* if the vehicle could load here or could stop with cargo loaded set the last loading station */ this->last_loading_station = this->last_station_visited; + this->last_loading_tick = _tick_counter; ClrBit(this->vehicle_flags, VF_LAST_LOAD_ST_SEP); } else if (cargoes_can_leave_with_cargo == 0) { /* can leave with no cargoes */ @@ -3391,16 +3393,20 @@ void Vehicle::LeaveStation() /* NB: this is saved here as we overwrite it on the first iteration of the loop below */ StationID head_last_loading_station = this->last_loading_station; + uint64 head_last_loading_tick = this->last_loading_tick; for (Vehicle *u = this; u != nullptr; u = u->Next()) { StationID last_loading_station = HasBit(this->vehicle_flags, VF_LAST_LOAD_ST_SEP) ? u->last_loading_station : head_last_loading_station; + uint64 last_loading_tick = HasBit(this->vehicle_flags, VF_LAST_LOAD_ST_SEP) ? u->last_loading_tick : head_last_loading_tick; if (u->cargo_type < NUM_CARGO && HasBit(cargoes_can_load_unload, u->cargo_type)) { if (HasBit(cargoes_can_leave_with_cargo, u->cargo_type)) { u->last_loading_station = this->last_station_visited; + u->last_loading_tick = _tick_counter; } else { u->last_loading_station = INVALID_STATION; } } else { u->last_loading_station = last_loading_station; + u->last_loading_tick = last_loading_tick; } } SetBit(this->vehicle_flags, VF_LAST_LOAD_ST_SEP); diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 4558eed572..a63663f343 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -59,7 +59,7 @@ enum VehicleFlags { /* gap, above are common with upstream */ VF_SEPARATION_ACTIVE = 11, ///< Whether timetable auto-separation is currently active VF_SCHEDULED_DISPATCH = 12, ///< Whether the vehicle should follow a timetabled dispatching schedule - VF_LAST_LOAD_ST_SEP = 13, ///< Each vehicle of this chain has its last_loading_station field set separately + VF_LAST_LOAD_ST_SEP = 13, ///< Each vehicle of this chain has its last_loading_station and last_loading_tick fields set separately VF_TIMETABLE_SEPARATION = 14, ///< Whether timetable auto-separation is enabled VF_AUTOMATE_TIMETABLE = 15, ///< Whether the vehicle should manage the timetable automatically. VF_HAVE_SLOT = 16, ///< Vehicle has 1 or more slots @@ -349,6 +349,7 @@ public: StationID last_station_visited; ///< The last station we stopped at. StationID last_loading_station; ///< Last station the vehicle has stopped at and could possibly leave from with any cargo loaded. (See VF_LAST_LOAD_ST_SEP). + uint64 last_loading_tick; ///< Last time (relative to _tick_counter) the vehicle has stopped at a station and could possibly leave with any cargo loaded. (See VF_LAST_LOAD_ST_SEP). CargoID cargo_type; ///< type of cargo this vehicle is carrying byte cargo_subtype; ///< Used for livery refits (NewGRF variations)