Merge branch 'master' into jgrpp

# Conflicts:
#	src/economy.cpp
pull/78/head
Jonathan G Rennison 5 years ago
commit 635ee89b86

@ -585,6 +585,8 @@ struct AISettingsWindow : public Window {
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
{
this->RebuildVisibleSettings();
HideDropDownMenu(this);
DeleteChildWindows(WC_QUERY_STRING);
}
private:

@ -1609,6 +1609,17 @@ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station
cur_company.Restore();
}
/**
* Test whether a vehicle can load cargo at a station even if exclusive transport rights are present.
* @param st Station with cargo waiting to be loaded.
* @param v Vehicle loading the cargo.
* @return true when a vehicle can load the cargo.
*/
static bool MayLoadUnderExclusiveRights(const Station *st, const Vehicle *v)
{
return st->owner != OWNER_NONE || st->town->exclusive_counter == 0 || st->town->exclusivity == v->owner;
}
struct ReserveCargoAction {
Station *st;
const CargoStationIDStackSet &next_station;
@ -1628,7 +1639,7 @@ struct ReserveCargoAction {
if (flags & OLFB_NO_LOAD) return true;
if (!(flags & OLFB_FULL_LOAD) && !through_load) return true;
}
if (v->cargo_cap > v->cargo.RemainingCount()) {
if (v->cargo_cap > v->cargo.RemainingCount() && MayLoadUnderExclusiveRights(st, v)) {
st->goods[v->cargo_type].cargo.Reserve(v->cargo_cap - v->cargo.RemainingCount(),
&v->cargo, st->xy, next_station.Get(v->cargo_type));
}
@ -1944,7 +1955,7 @@ static void LoadUnloadVehicle(Vehicle *front)
/* If there's goods waiting at the station, and the vehicle
* has capacity for it, load it on the vehicle. */
uint cap_left = v->cargo_cap - v->cargo.StoredCount();
if (cap_left > 0 && (v->cargo.ActionCount(VehicleCargoList::MTA_LOAD) > 0 || ge->cargo.AvailableCount() > 0)) {
if (cap_left > 0 && (v->cargo.ActionCount(VehicleCargoList::MTA_LOAD) > 0 || ge->cargo.AvailableCount() > 0) && MayLoadUnderExclusiveRights(st, v)) {
if (v->cargo.StoredCount() == 0) TriggerVehicle(v, VEHICLE_TRIGGER_NEW_CARGO);
if (_settings_game.order.gradual_loading) cap_left = min(cap_left, GetLoadAmount(v));

File diff suppressed because it is too large Load Diff

@ -466,6 +466,7 @@ STR_TOOLBAR_SOUND_MUSIC :Sound/music
############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Last message/news report
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Message history
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Delete all messages
############ range ends here
############ range for about menu starts
@ -2081,6 +2082,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Disconne
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server is protected. Enter password
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Company is protected. Enter password
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Client list
# Network company list added strings
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Client list
@ -2378,9 +2380,9 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Combo Si
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Path Signal (electric){}A path signal allows more than one train to enter a signal block at the same time, if the train can reserve a path to a safe stopping point. Standard path signals can be passed from the back side
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}One-way Path Signal (electric){}A path signal allows more than one train to enter a signal block at the same time, if the train can reserve a path to a safe stopping point. One-way path signals can't be passed from the back side
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signal Convert{}When selected, clicking an existing signal will convert it to the selected signal type and variant. Ctrl+Click will toggle the existing variant. Shift+Click shows estimated conversion cost
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dragging signal density
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dragging signal distance
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Decrease dragging signal distance
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Increase dragging signal density
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Increase dragging signal distance
# Bridge selection window
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Select Rail Bridge
@ -2721,6 +2723,7 @@ STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMA
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} frames/s
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} frames/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}Game loop total:
STR_FRAMERATE_GL_ECONOMY :{BLACK} Cargo handling:
@ -2980,6 +2983,7 @@ STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF r
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was disabled by {2:STRING}
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Invalid/unknown sprite layout format (sprite {3:NUM})
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Too many elements in property value list (sprite {3:NUM}, property {4:HEX})
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Invalid industry production callback (sprite {3:NUM}, "{1:STRING}")
# NewGRF related 'general' warnings
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Caution!
@ -3105,6 +3109,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bribe t
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Goals
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Global Goals
STR_GOALS_SPECTATOR :Global Goals
STR_GOALS_GLOBAL_TITLE :{BLACK}Global goals:
STR_GOALS_TEXT :{ORANGE}{STRING}
STR_GOALS_NONE :{ORANGE}- None -
@ -3153,6 +3158,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click on
# Story book window
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Story Book
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global Story Book
STR_STORY_BOOK_SPECTATOR :Global Story Book
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Page {NUM}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Jump to a specific page by selecting it in this drop down list.
@ -3359,6 +3365,9 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Center t
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Production level: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}The industry has announced imminent closure!
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Requires: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produces: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}

@ -849,6 +849,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}Chan eil ceòl ann
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}“{STRING}"
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Traca
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Tiotal
@ -869,10 +870,12 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Toglaich
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Seall uinneag taghadh tracaichean ciùil
# Playlist window
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Prògram ciùil - "{STRING}"
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} “{STRING}"
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Clàr-amais nan traca
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Prògram - “{STRING}"
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Falamhaich
STR_PLAYLIST_CHANGE_SET :{BLACK}Atharraich an seata
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Falamhaich am prògram làithreach (Gnàthaichte1 no Gnàthaichte2 a-mhàin)
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Dèan briogadh air traca ciùil gus a chur ris a' phrògram làithreach (Gnàthaichte1 no Gnàthaichte2 a-mhàin)
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Dèan briogadh air traca ciùil gus a thoirt air falbh bhon phrògram làithreach (Gnàthaichte1 no Gnàthaichte2 a-mhàin)
@ -1079,10 +1082,10 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Port-seallaidh {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Cuir lethbhreac sa phort-seallaidh seo
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Atharraich am port-seallaidh
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Cuir lethbhreac dhen ionad air a' phrìomh shealladh sa phort-seallaidh seo
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Cuir ann bhon phort-seallaidh seo
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Cuir ionad a' phuirt-seallaidh seo sa phrìomh shealladh
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Atharraich am prìomh phort-seallaidh
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Cuir lethbhreac de dh'ionad a' phuirt-seallaidh seo sa phrìomh shealladh
# Game options window
STR_GAME_OPTIONS_CAPTION :{WHITE}Roghainnean a' gheama
@ -1453,6 +1456,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Cha ghab
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Cumail suas a' bhun-structair: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Nuair a bhios seo air, bidh cumail suas a' bhun-structair a' cosg airgid. Fàsaidh na cosgaisean nas luaithe na meud an lìonraidh, mar sin bheir an roghainn seo barrachd buaidh air companaidhean mòra
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Dath tòiseachadh na companaidh: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Tagh dath tòiseachaidh airson na companaidh
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Chan fhalbh an ùine air puirt-adhair: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Nuair a chuireas tu an roghainn seo an comas, cumaidh gach port-adhair a' dol gu bràth an dèidh a thogail
@ -1537,6 +1542,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Dath na crutha-
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Uaine
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Dorch-uaine
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Purpaidh
STR_CONFIG_SETTING_SCROLLMODE_RMB :Gluais am mapa le putan deas na luchaige
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Sgroladh mìn nam port-seallaidh: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Tagh mar a ghluaiseas am prìomh-shealladh gu ionad sònraichte. Ma tha seo dheth, thèid leum dhan ionad a chaidh a thaghadh sa bhad
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Seall gliocasan-sgrìn tomhais le innealan togail: {STRING}
@ -2005,6 +2011,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Atharrai
STR_CHEAT_SETUP_PROD :{LTBLUE}Cuir an comas atharrachadh air luachan saothrachaidh: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Sgeama nan dath
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Seall sgeamannan nan dath coitcheann
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Seall sgeamannan nan dath airson trèanaichean
@ -2572,9 +2579,9 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Comharra
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Comharra slighe (dealain){}Leigidh comharra slighe le barrachd air aon trèan dol a-steach dhan bhloca comharra air an aon àm, mas urrainn dhan trèan slighe gu ionad stadaidh sàbhailte a ghlèidheadh. Faodar dol seachad air comharran slighe àbhaisteach on chùlaibh
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Comharra slighe aon-shligheach (dealain){}Leigidh comharra slighe le barrachd air aon trèan dol a-steach dhan bhloca comharra air an aon àm, mas urrainn dhan trèan slighe gu ionad stadaidh sàbhailte a ghlèidheadh. Chan fhaodar dol seachad air comharran slighe àbhaisteach on chùlaibh
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Iompachadh chomharran{}Ma thagh thu seo s tu a' briogadh air comharra a tha ann, iompaichidh seo an comharra dhan t-seòrsa a thagh thu. Seallaidh Shift+briogadh tuairmse air cosgaisean an iompachaidh dhut
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dlùths nan comharran air an cruthachadh le slaodadh
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Lùghdaich dlùths nan comharran air an cruthachadh le slaodadh
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Meudaich dlùths nan comharran air an cruthachadh le slaodadh
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Astar nan comharran air an cruthachadh le slaodadh
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Lùghdaich astar nan comharran air an cruthachadh le slaodadh
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Meudaich astar nan comharran air an cruthachadh le slaodadh
# Bridge selection window
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Tagh drochaid rèile
@ -2924,9 +2931,29 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 An sgioba OpenTTD
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Reat fhrèamaichean
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_BLITTER :{BLACK}Reat fhrèamaichean na grafaigeachd: {STRING}
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factar làithreach air luaths a' gheama: {DECIMAL}x
STR_FRAMERATE_CURRENT :{WHITE}Làithreach
STR_FRAMERATE_AVERAGE :{WHITE}Cuibheasach
STR_FRAMERATE_DATA_POINTS :{BLACK}Dàta stèidhichte air {COMMA} {P "tomhas" "thomhas" "tomhasan" "tomhas" }
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} {P "fhrèam" "fhrèam" "frèamaichean" "frèam" }/diog
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} {P "fhrèam" "fhrèam" "frèamaichean" "frèam" }/diog
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
############ Leave those lines in this order!!
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Dàil air graf nan ceangal:
STR_FRAMERATE_DRAWING :{BLACK}Reandaradh na grafaigeachd:
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Puirt-sheallaidh an t-saoghail:
STR_FRAMERATE_VIDEO :{BLACK}Às-chur video:
STR_FRAMERATE_SOUND :{BLACK}Measgachadh fuaime:
############ End of leave-in-this-order
############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Lùb a' gheama
STR_FRAMETIME_CAPTION_GL_LINKGRAPH : Dàil air graf nan ceangal
STR_FRAMETIME_CAPTION_VIDEO :Às-chur video
STR_FRAMETIME_CAPTION_SOUND :Measgachadh fuaime
############ End of leave-in-this-order
@ -2952,6 +2979,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Fiosrach
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Chan eil fiosrachadh ri làimh
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sgrìobh thairis air an fhaidhle
STR_SAVELOAD_OSKTITLE :{BLACK}Cuir a-steach ainm ùr gus an geama a shàbhaladh
@ -3069,6 +3097,10 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Tionndad
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}An tionndadh as sine a tha co-chòrdail: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}Suim MD5: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Pailead: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Bun-roghainn (D)
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Bun-roghainn (D) / 32 bpp
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Dìleabach (W)
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Dìleabach (W) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paramadairean: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Chan eil fiosrachadh ri làimh
@ -3221,6 +3253,7 @@ STR_TOWN_POPULATION :{BLACK}Sluagh a
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Mòr-bhaile)
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Sluagh: {ORANGE}{COMMA}{BLACK} Taighean: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} sa mhìos seo chaidh: {ORANGE}{COMMA}{BLACK} as motha: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carago a tha a dhìth ach am fàs am baile:
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{RED}Feum air {ORANGE}{STRING}
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{BLACK}Feum air {ORANGE}{STRING}{BLACK} sa gheamhradh
@ -3273,6 +3306,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Ceannai
# Goal window
STR_GOALS_CAPTION :{WHITE}Amasan aig {COMPANY}
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Amasan coitcheann
STR_GOALS_SPECTATOR :Amasan coitcheann
STR_GOALS_GLOBAL_TITLE :{BLACK}Amasan coitcheann:
STR_GOALS_TEXT :{ORANGE}{STRING}
STR_GOALS_NONE :{ORANGE}- Chan eil gin -
@ -3627,6 +3661,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Tomhas-l
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Carbadan le cumhachd: {GOLD}+{POWER}{BLACK} Cuideam: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Gabhaidh mùthadh airson: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Na h-uile seòrsa dhe charago
STR_PURCHASE_INFO_NONE :Chan eil gin
STR_PURCHASE_INFO_ALL_BUT :Na h-uile ach {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Spàirn tàirnge as motha: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Astar: {GOLD}{COMMA} {P leac leac leacan leac}
@ -4458,6 +4493,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... tha
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tha comhair an rathaid cearr
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... chan urrainn dha dhoiseanan a bhith aig stèiseanan draibhidh troimhe
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... chan urrainn dha ghoibhlean a bhith aig stèiseanan draibhidh troimhe
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... rathad aon-shligheach no bacte
# Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Cha ghabh pàirt dhen stèisean toirt air falbh...
@ -4709,6 +4745,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Fuaimean aig an
STR_BASESOUNDS_WIN_DESCRIPTION :Fuaimean aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
STR_BASESOUNDS_NONE_DESCRIPTION :Pacaid fhuaimean anns nach eil fuaim sam bith.
STR_BASEMUSIC_WIN_DESCRIPTION :Ceòl aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
STR_BASEMUSIC_DOS_DESCRIPTION :Ceòl aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
STR_BASEMUSIC_TTO_DESCRIPTION :Ceòl aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe (Original/World Editor).
STR_BASEMUSIC_NONE_DESCRIPTION :Pacaid ciùil anns nach eil fonn sam bith.
##id 0x2000

@ -190,6 +190,8 @@ STR_COLOUR_ORANGE :Turuncu
STR_COLOUR_BROWN :Kahverengi
STR_COLOUR_GREY :Gri
STR_COLOUR_WHITE :Beyaz
STR_COLOUR_RANDOM :Rastgele
STR_COLOUR_DEFAULT :Varsayılan
# Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mil/s
@ -465,6 +467,7 @@ STR_TOOLBAR_SOUND_MUSIC :Ses/müzik
############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Son mesaj/haber raporu
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Mesaj geçmişi
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Tüm mesajları sil
############ range ends here
############ range for about menu starts
@ -476,6 +479,7 @@ STR_ABOUT_MENU_SCREENSHOT :Ekran görünt
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Tamamen yakınlaştırılmış ekran görüntüsü
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Varsayılan yakınlıkta ekran görüntüsü
STR_ABOUT_MENU_GIANT_SCREENSHOT :Tüm harita ekran görüntüsü
STR_ABOUT_MENU_SHOW_FRAMERATE :Kare oranını göster
STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD' Hakkında
STR_ABOUT_MENU_SPRITE_ALIGNER :Nesne hizalayıcı
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Çerçeveleri aç/kapa
@ -651,6 +655,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}Kullanılabilir müzik yok
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}"
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Şarkı
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Başlığı
@ -671,11 +676,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Rastgele
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Şarkı seçim penceresini göster
# Playlist window
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Müzik Programı - '{STRING}'
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Parça Listesi
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Program - '{STRING}'
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Temizle
STR_PLAYLIST_CHANGE_SET :{BLACK}Seti değiştir
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Kullanılan programı temizle (Özel1 veya Özel2 için)
STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Müzik seçimini başka kurulu sete değiştir
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Kullanılan programa eklenecek parçayı seçin (Özel1 veya Özel2 için)
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Kullanılan programdan kaldırılacak parçaya tıklayın (Özel1 veya Özel2 için)
@ -811,6 +819,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Yönetici)
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} {TOWN} adlı yeni kasabanın inşaasını finanse etti!
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}{TOWN} adında yeni bir kasaba inşa edildi!
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Yeni bir {STRING}, {TOWN} şehri yakınlarında kuruldu!
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Yeni bir {STRING}, {TOWN} şehri yakınlarında kuruldu!
@ -878,10 +887,10 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Görünüm {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Görünümü kopyala
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Görüş alanını değiştir
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Ana görünümü bu pencereye kopyala
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Görünümü yapıştır
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Bu görünümü ana görünüme yapıştır
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Ana görünümü değiştir
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Bu görüş alanını ana görünüme kopyala
# Game options window
STR_GAME_OPTIONS_CAPTION :{WHITE}Seçenekler
@ -923,6 +932,8 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Güney Afrika R
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Özel...
STR_GAME_OPTIONS_CURRENCY_GEL :Gürcistan Larisi (GEL)
STR_GAME_OPTIONS_CURRENCY_IRR :İran Riyali (IRR)
STR_GAME_OPTIONS_CURRENCY_RUB :Yeni Rus Rublesi (RUB)
STR_GAME_OPTIONS_CURRENCY_MXN :Meksika Pezosu (MXN)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Karayolu taşıtları
@ -1223,7 +1234,7 @@ STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Etkinleştirili
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Kapalı
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Asıl görüş alanı, sadece tam ekran
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Ana görüş alanı
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Tüm görünümler
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Tüm görüş alanları
STR_CONFIG_SETTING_BRIBE :Belediye rüşveti izinli: {STRING}
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Şirketlerin yerel yönetime rüşvet vermeyi denemelerine izin ver. Şayet rüşvet girişimi bir gözlemci tarafından fark edilirse şirket o bölgede altı ay eylemde bulunamaz
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Şehrin ulaşım haklarını satın alma izinli: {STRING}
@ -1236,7 +1247,7 @@ STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Diğer şirketl
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Çok oyunculu oyunlarda şirketler arası para transferine izin ver
STR_CONFIG_SETTING_FREIGHT_TRAINS :Ağır yük trenleri için ağırlık çarpanı: {STRING}
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Trenlerde yük taşımanın etkisini ayarlayın. Yüksek bir değer trenlerde yük taşımayı özellikle tepelerde daha zor hale getirir
STR_CONFIG_SETTING_PLANE_SPEED :Uçak hız faktörü: {STRING}
STR_CONFIG_SETTING_PLANE_SPEED :Uçak hız çarpanı: {STRING}
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Havayolundan elde edilen geliri azaltmak için uçakların diğer araç türlerine göre hızını ayarlayın
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
STR_CONFIG_SETTING_PLANE_CRASHES :Uçak kazası sayısı: {STRING}
@ -1252,6 +1263,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Araçlar
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Altyapı bakımları: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Etkinleştirildiğinde; altyapı, bakım giderine neden olur. Maliyet ağ büyüklüğüne göre daha hızlı yükselir, dolayısıyla büyük şirketleri küçüklere göre daha çok etkiler
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Şirket başlangıç rengi: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Şirketin başlangıç rengini seç
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Havalimanlarının süresi asla dolmasın: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Bu ayarı etkinleştirmek her havaalanı türünün, tanıtımından sonra sürekli olarak kullanılabilir kalmasını sağlar.
@ -1336,7 +1349,13 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Küçük harita
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Yeşil
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Koyu yeşil
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Mor
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Düzgün viewport kaydırması: {STRING}
STR_CONFIG_SETTING_SCROLLMODE :Bakış noktası kaydırma davranışı: {STRING}
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Haritada gezinirkenki davranış
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Sağ Fare Tuşu ile görüş alanını hareket ettir, fare konumu kilitli
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Sağ Fare Tuşu ile haritayı hareket ettir, fare konumu kilitli
STR_CONFIG_SETTING_SCROLLMODE_RMB :Sağ Fare Tuşu ile haritayı hareket ettir
STR_CONFIG_SETTING_SCROLLMODE_LMB :Sol Fare Tuşu ile haritayı hareket ettir
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Düzgün bakış noktası kaydırması: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Küçük haritaya tıklandığında veya harita üzerindeki belli bir nesneye gidilmesi için komut verildiğinde ana görüntünün nasıl kaydırılacağını kontrol eder. Etkinleştirildiğinde harita kayarak ilerler, kapatıldığında ise doğrudan hedeflenen noktaya atlama yapar.
STR_CONFIG_SETTING_MEASURE_TOOLTIP :İnşa araçları kullanılırken ölçüm ipucu göster: {STRING}
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :İnşaat işlemleri sırasında fareyi sürükleyince kare-uzaklıkları ve yükseklik farklarını göster.
@ -1578,9 +1597,9 @@ STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Yeni pencereler
STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA}
STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :etkisiz
STR_CONFIG_SETTING_ZOOM_MIN :Azami yaklaşma seviyesi: {STRING}
STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Haritadan kısımlar gösteren pencereler (viewport) için azami yaklaştırma (zoom-in) seviyesi. Daha yüksek yaklaştırma ayarları oyunun bellek gereksinimini arttırır.
STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Görüş alanları için azami yakınlaşma seviyesi. Daha yüksek uzaklaştırma ayarları oyunda gecikmelere sebep olabilir
STR_CONFIG_SETTING_ZOOM_MAX :Azami uzaklaşma seviyesi: {STRING}
STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Haritadan kısımlar gösteren pencereler (viewport) için azami uzaklaştırma (zoom-out) seviyesi. Daha yüksek uzaklaştırma ayarları oyunda gecikmelere sebep olabilir
STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Görüş alanları için azami uzaklaşma seviyesi. Daha yüksek uzaklaştırma ayarları oyunda gecikmelere sebep olabilir
STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x
STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x
STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normal
@ -1666,7 +1685,7 @@ STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafikl
STR_CONFIG_SETTING_SOUND :{ORANGE}Ses
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Arayüz
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Genel
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Harita kısım pencereleri
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Görüş alanları
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}İnşaat
STR_CONFIG_SETTING_ADVISORS :{ORANGE}Haberler / Danışmanlar
STR_CONFIG_SETTING_COMPANY :{ORANGE}Şirket
@ -1804,6 +1823,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Yılı d
STR_CHEAT_SETUP_PROD :{LTBLUE}Üretim değerlerini değiştir: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Renk Düzeni
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Genel renk şemalarını göster
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tren renk düzenlerini göster
@ -2063,6 +2083,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Bağlant
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Sunucu korumalı. Parola girin
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Şirket korumalı. Parola girin
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}İstemci listesi
# Network company list added strings
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Oyuncu listesi
@ -2275,6 +2296,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Kargo Ak
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Hepsi
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Hiçbiri
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Gösterilecek şirketleri seçin
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
# Linkgraph legend window and linkgraph legend in smallmap
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}kullanılmayan
@ -2359,9 +2381,9 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Karış
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Yol Sinyali (elektrikli){}Yol sinyali, gelen tren güvenli bir durma noktasına yol ayırabiliyor ise bir sinyal bloğuna aynı anda birden fazla trenin girmesine izin verir. Standart yol sinyalleri arka taraftan geçişe izin verir
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Tek Yön Yol Sinyali (elektrikli){}Yol sinyali, gelen tren güvenli bir durma noktasına yol ayırabiliyor ise bir sinyal bloğuna aynı anda birden fazla trenin girmesine izin verir. Tek yön yol sinyalleri arka taraftan geçişe izin vermez
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Sinyal Dönüştür{}Seçildiğinde, tıklama var olan sinyali seçili sinyal tür ve alt türüne çevirir, CTRL ile tıklama mevcut alt türü değiştirir. Shift ile tıklama maliyet tahminini gösterir
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Sinyal sürükleme yoğunluğu
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Sinyal sürükleme yoğunluğunu azalt
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Sinyal sürükleme yoğunluğunu arttır
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Sinyal sürükleme mesafesi
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Sinyal sürükleme mesafesini azalt
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Sinyal sürükleme mesafesini arttır
# Bridge selection window
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Tren Köprüsü Seç
@ -2684,9 +2706,52 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD ekibi
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Kare oranı
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simülasyon oranı: {STRING}
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Saniyede simüle edilen oyun zaman birim sayısı.
STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafik kare oranı: {STRING}
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Saniyede işlenecek video kare sayısı.
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Şu anki oyun hız çarpanı: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beklenen normal simülasyon hızı yerine, şu anda oyunun ne kadar hızlı çalıştığı.
STR_FRAMERATE_CURRENT :{WHITE}Geçerli
STR_FRAMERATE_AVERAGE :{WHITE}Ortalama
STR_FRAMERATE_DATA_POINTS :{BLACK}Veriler {COMMA} ölçümlerine dayanır
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} kare/s
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} kare/s
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} kare/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}Oyun döngüsü toplam:
STR_FRAMERATE_GL_ECONOMY :{BLACK} Kargo işleme:
STR_FRAMERATE_GL_TRAINS :{BLACK} Tren zaman birimleri:
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Yol taşıt zaman birimleri:
STR_FRAMERATE_GL_SHIPS :{BLACK} Gemi zaman birimleri:
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Hava taşıtı zaman birimleri:
STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Dünya zaman birimleri:
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Bağlantı grafiği gecikmesi:
STR_FRAMERATE_DRAWING :{BLACK}Grafik işleme:
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Dünya görüş alanları:
STR_FRAMERATE_VIDEO :{BLACK}Video çıkışı:
STR_FRAMERATE_SOUND :{BLACK}Ses karıştırma:
############ End of leave-in-this-order
############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Oyun döngüsü
STR_FRAMETIME_CAPTION_GL_ECONOMY :Kargo işleme
STR_FRAMETIME_CAPTION_GL_TRAINS :Tren zaman birimleri
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Yol aracı zaman birimleri
STR_FRAMETIME_CAPTION_GL_SHIPS :Gemi zaman birimleri
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Hava taşıtı zaman birimleri
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Dünya zaman birimleri
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Bağlantı grafiği gecikmesi
STR_FRAMETIME_CAPTION_DRAWING :Grafik işleme
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Dünya görüş alanı derleme
STR_FRAMETIME_CAPTION_VIDEO :Video çıkışı
STR_FRAMETIME_CAPTION_SOUND :Ses karıştırma
############ End of leave-in-this-order
@ -2712,6 +2777,9 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Oyun Ayr
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Mevcut bilgi yok
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_FILTER_TITLE :{BLACK}Süzgeç dizgesi:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Dosya Üzerine Yaz
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Mevcut dosyanın üzerine yazmak istediğinizden emin misiniz?
STR_SAVELOAD_OSKTITLE :{BLACK}Kayıtlı oyun için bir isim girin
@ -2829,7 +2897,12 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Sürüm:
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}En düşük uyumlu sürüm: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palet: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Varsayılan (D)
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Varsayılan (D) / 32 bpp
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Eski (W)
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Eski (W) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Seçenekler: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Hiçbiri
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Hiç bilgi yok
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Eşleşen dosya bulunamadı
@ -2910,6 +2983,8 @@ STR_NEWGRF_ERROR_READ_BOUNDS :Pseudo-nesne bi
STR_NEWGRF_ERROR_GRM_FAILED :İstenen GRF kaynakları mevcut değil (nesne {3:NUM})
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} {STRING} tarafından deaktive edildi
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Geçersiz/bilinmeyen nesne yerleşim biçimi (nesne {3:NUM})
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Özellik değeri listesinde çok fazla öğe (sprite {3:NUM}, özellik {4:HEX})
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Geçersiz endüstri üretim geri çağrımı (sprite {3:NUM}, "{1:STRING}")
# NewGRF related 'general' warnings
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Uyarı!
@ -2974,6 +3049,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Tabela i
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Şehirler
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Hiçbiri -
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Şehir){BLACK} ({COMMA})
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Şehir isimleri - şehre bakmak için ismine tıkla. Ctrl ile tıklama şehrin konumunu gösteren yeni bir pencere açar
STR_TOWN_POPULATION :{BLACK}Dünya nüfusu: {COMMA}
@ -2981,6 +3057,7 @@ STR_TOWN_POPULATION :{BLACK}Dünya n
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Şehir)
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Nüfus: {ORANGE}{COMMA}{BLACK} Ev: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} son ay: {ORANGE}{COMMA}{BLACK} azami: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Kasaba büyümesi için gerekli kargo:
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} gerekli
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} kışın gerekir
@ -3033,7 +3110,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Yakalan
# Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Hedefler
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Evrensel Amaçlar
STR_GOALS_GLOBAL_TITLE :{BLACK}Genel hedefler:
STR_GOALS_SPECTATOR :Evrensel Amaçlar
STR_GOALS_GLOBAL_TITLE :{BLACK}Evrensel amaçlar:
STR_GOALS_TEXT :{ORANGE}{STRING}
STR_GOALS_NONE :{ORANGE}- Hiçbiri -
STR_GOALS_SPECTATOR_NONE :{ORANGE}- Kullanılamaz -
@ -3081,6 +3159,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Görünt
# Story book window
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Hikaye Kitabı
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Evrensel Hikaye Kitabı
STR_STORY_BOOK_SPECTATOR :Evrensel Hikaye Kitabı
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Sayfa {NUM}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Bu listeden seçerek istenilen sayfaya git.
@ -3187,7 +3266,7 @@ STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Hava Taş
STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Gemi Bakımları
STR_FINANCES_SECTION_PROPERTY_MAINTENANCE :{GOLD}İnşaat bakımları
STR_FINANCES_SECTION_TRAIN_INCOME :{GOLD}Tren Geliri
STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Kara Taşıtı Geliri
STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Yol Taşıtı Geliri
STR_FINANCES_SECTION_AIRCRAFT_INCOME :{GOLD}Hava Taşıtı Geliri
STR_FINANCES_SECTION_SHIP_INCOME :{GOLD}Gemi Geliri
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Kredi Faizi
@ -3287,6 +3366,9 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Görünt
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Üretim seviyesi: %{YELLOW}{COMMA}
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Fabrika çok yakında kapanacağını duyurdu!
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Gereken: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Üretilen: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Gereken:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
@ -3344,6 +3426,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruplar
STR_GROUP_CREATE_TOOLTIP :{BLACK}Grup oluşturmak için tıklayın
STR_GROUP_DELETE_TOOLTIP :{BLACK}Seçili grubu sil
STR_GROUP_RENAME_TOOLTIP :{BLACK}Seçili grubun ismini değiştir
STR_GROUP_LIVERY_TOOLTIP :{BLACK}Seçien grubun logosunu değiştir
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Bu grubu otomatik yenilemeden ayrı tutmak için tıklayın
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Grubu Sil
@ -3387,6 +3470,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapasite
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Güç Veren Vagonlar: {GOLD}+{POWER}{BLACK} Ağırlık: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Dönüştürülebildiği kargolar: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Tüm kargo türleri
STR_PURCHASE_INFO_NONE :Hiçbiri
STR_PURCHASE_INFO_ALL_BUT :Şunlar hariç tümü: {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Aza. Çekim Gücü: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Menzil: {GOLD}{COMMA} kare
@ -3786,6 +3870,7 @@ STR_ORDER_CONDITIONAL_AGE :Araç yaşı (y
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Bakım gerektirir
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Her zaman
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Kalan ömrü (yıl)
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Azami güvenilirlik
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Araç verisinin verilen değerle nasıl karşılaştırılacağı
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :eşittir
@ -4218,6 +4303,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... bu y
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... yol yanlış yönde
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... yol üstü duraklar köşe üzerine inşa edilemez
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... yol üstü duraklar kavşak üzerine inşa edilemez
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... yol tek yön ya da engellenmiş
# Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}İstasyonun parçasi kaldırılamaz...
@ -4469,6 +4555,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Özgün Transpo
STR_BASESOUNDS_WIN_DESCRIPTION :Özgün Transport Tycoon Deluxe Windows sürümü sesleri.
STR_BASESOUNDS_NONE_DESCRIPTION :Ses içermeyen boş bir ses kümesi.
STR_BASEMUSIC_WIN_DESCRIPTION :Özgün Transport Tycoon Deluxe Windows sürümü müzikleri.
STR_BASEMUSIC_DOS_DESCRIPTION :Özgün Transport Tycoon Deluxe DOS sürüm müziği.
STR_BASEMUSIC_TTO_DESCRIPTION :Özgün Transport Tycoon Deluxe (Original/World Editor) DOS sürümü müzikleri.
STR_BASEMUSIC_NONE_DESCRIPTION :Müzik içermeyen boş bir müzik paketi.
##id 0x2000

@ -149,7 +149,11 @@ bool MusicDriver_FluidSynth::IsSongPlaying()
void MusicDriver_FluidSynth::SetVolume(byte vol)
{
/* Allowed range of synth.gain is 0.0 to 10.0 */
if (fluid_settings_setnum(_midi.settings, "synth.gain", 1.0 * vol / 128.0) != 1) {
/* fluidsynth's default gain is 0.2, so use this as "full
* volume". Set gain using OpenTTD's volume, as a number between 0
* and 0.2. */
double gain = (1.0 * vol) / (128.0 * 5.0);
if (fluid_settings_setnum(_midi.settings, "synth.gain", gain) != 1) {
DEBUG(driver, 0, "Could not set volume");
}
}

@ -799,7 +799,7 @@ struct MusicWindow : public Window {
byte *vol = (widget == WID_M_MUSIC_VOL) ? &_settings_client.music.music_vol : &_settings_client.music.effect_vol;
byte new_vol = x * 127 / this->GetWidget<NWidgetBase>(widget)->current_x;
byte new_vol = Clamp(x * 127 / (int)this->GetWidget<NWidgetBase>(widget)->current_x, 0, 127);
if (_current_text_dir == TD_RTL) new_vol = 127 - new_vol;
/* Clamp to make sure min and max are properly settable */
if (new_vol > 124) new_vol = 127;
@ -810,7 +810,7 @@ struct MusicWindow : public Window {
this->SetDirty();
}
_left_button_clicked = false;
if (click_count > 0) this->mouse_capture_widget = widget;
break;
}

@ -1305,15 +1305,7 @@ int SmallMapWindow::GetPositionOnLegend(Point pt)
{
switch (widget) {
case WID_SM_MAP: { // Map window
/*
* XXX: scrolling with the left mouse button is done by subsequently
* clicking with the left mouse button; clicking once centers the
* large map at the selected point. So by unclicking the left mouse
* button here, it gets reclicked during the next inputloop, which
* would make it look like the mouse is being dragged, while it is
* actually being (virtually) clicked every inputloop.
*/
_left_button_clicked = false;
if (click_count > 0) this->mouse_capture_widget = widget;
const NWidgetBase *wid = this->GetWidget<NWidgetBase>(WID_SM_MAP);
Window *w = FindWindowById(WC_MAIN_WINDOW, 0);

@ -4075,7 +4075,7 @@ uint MoveGoodsToStation(CargoID type, uint amount, SourceType source_type, Sourc
Station *st = *st_iter;
/* Is the station reserved exclusively for somebody else? */
if (st->town->exclusive_counter > 0 && st->town->exclusivity != st->owner) continue;
if (st->owner != OWNER_NONE && st->town->exclusive_counter > 0 && st->town->exclusivity != st->owner) continue;
if (st->goods[type].rating == 0) continue; // Lowest possible rating, better not to give cargo anymore

@ -15,7 +15,6 @@
#include "core/smallvec_type.hpp"
#include "core/smallstack_type.hpp"
#include "tilearea_type.h"
#include <list>
typedef uint16 StationID;
typedef uint16 RoadStopID;
@ -93,9 +92,6 @@ enum CatchmentArea {
static const uint MAX_LENGTH_STATION_NAME_CHARS = 128; ///< The maximum length of a station name in characters including '\0'
/** List of station IDs */
typedef std::list<StationID> StationIDList;
/** List of stations */
typedef SmallVector<Station *, 2> StationList;

@ -3992,12 +3992,12 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse)
v->cur_speed = 0;
v->subspeed = 0;
v->progress = 255; // make sure that every bit of acceleration will hit the signal again, so speed stays 0.
if (!_settings_game.pf.reverse_at_signals || ++v->wait_counter < _settings_game.pf.wait_oneway_signal * 20) return false;
if (!_settings_game.pf.reverse_at_signals || ++v->wait_counter < _settings_game.pf.wait_oneway_signal * DAY_TICKS * 2) return false;
} else if (HasSignalOnTrackdir(gp.new_tile, i)) {
v->cur_speed = 0;
v->subspeed = 0;
v->progress = 255; // make sure that every bit of acceleration will hit the signal again, so speed stays 0.
if (!_settings_game.pf.reverse_at_signals || ++v->wait_counter < _settings_game.pf.wait_twoway_signal * 73) {
if (!_settings_game.pf.reverse_at_signals || ++v->wait_counter < _settings_game.pf.wait_twoway_signal * DAY_TICKS * 2) {
DiagDirection exitdir = TrackdirToExitdir(i);
TileIndex o_tile = TileAddByDiagDir(gp.new_tile, exitdir);

@ -99,7 +99,7 @@ static void ScrollbarClickPositioning(Window *w, NWidgetScrollbar *sb, int x, in
_scroller_click_timeout = 3;
sb->UpdatePosition(rtl ? 1 : -1);
}
w->scrolling_scrollbar = sb->index;
w->mouse_capture_widget = sb->index;
} else if (pos >= ma - button_size) {
/* Pressing the lower button? */
SetBit(sb->disp_flags, NDB_SCROLLBAR_DOWN);
@ -108,7 +108,7 @@ static void ScrollbarClickPositioning(Window *w, NWidgetScrollbar *sb, int x, in
_scroller_click_timeout = 3;
sb->UpdatePosition(rtl ? -1 : 1);
}
w->scrolling_scrollbar = sb->index;
w->mouse_capture_widget = sb->index;
} else {
Point pt = HandleScrollbarHittest(sb, mi, ma, sb->type == NWID_HSCROLLBAR);
@ -119,7 +119,7 @@ static void ScrollbarClickPositioning(Window *w, NWidgetScrollbar *sb, int x, in
} else {
_scrollbar_start_pos = pt.x - mi - button_size;
_scrollbar_size = ma - mi - button_size * 2;
w->scrolling_scrollbar = sb->index;
w->mouse_capture_widget = sb->index;
_cursorpos_drag_start = _cursor.pos;
}
}
@ -2038,7 +2038,7 @@ void NWidgetScrollbar::Draw(const Window *w)
bool up_lowered = HasBit(this->disp_flags, NDB_SCROLLBAR_UP);
bool down_lowered = HasBit(this->disp_flags, NDB_SCROLLBAR_DOWN);
bool middle_lowered = !(this->disp_flags & ND_SCROLLBAR_BTN) && w->scrolling_scrollbar == this->index;
bool middle_lowered = !(this->disp_flags & ND_SCROLLBAR_BTN) && w->mouse_capture_widget == this->index;
if (this->type == NWID_HSCROLLBAR) {
DrawHorizontalScrollbar(r, this->colour, up_lowered, middle_lowered, down_lowered, this);

@ -1852,7 +1852,7 @@ void Window::InitNested(WindowNumber window_number)
* Empty constructor, initialization has been moved to #InitNested() called from the constructor of the derived class.
* @param desc The description of the window.
*/
Window::Window(WindowDesc *desc) : window_desc(desc), scrolling_scrollbar(-1)
Window::Window(WindowDesc *desc) : window_desc(desc), mouse_capture_widget(-1)
{
}
@ -1941,7 +1941,7 @@ static void DecreaseWindowCounters()
NWidgetScrollbar *sb = static_cast<NWidgetScrollbar*>(nwid);
if (sb->disp_flags & (ND_SCROLLBAR_UP | ND_SCROLLBAR_DOWN)) {
sb->disp_flags &= ~(ND_SCROLLBAR_UP | ND_SCROLLBAR_DOWN);
w->scrolling_scrollbar = -1;
w->mouse_capture_widget = -1;
sb->SetDirty(w);
}
}
@ -2393,47 +2393,66 @@ static void StartWindowSizing(Window *w, bool to_left)
}
/**
* handle scrollbar scrolling with the mouse.
* Handle scrollbar scrolling with the mouse.
* @param w window with active scrollbar.
*/
static void HandleScrollbarScrolling(Window *w)
{
int i;
NWidgetScrollbar *sb = w->GetWidget<NWidgetScrollbar>(w->mouse_capture_widget);
bool rtl = false;
if (sb->type == NWID_HSCROLLBAR) {
i = _cursor.pos.x - _cursorpos_drag_start.x;
rtl = _current_text_dir == TD_RTL;
} else {
i = _cursor.pos.y - _cursorpos_drag_start.y;
}
if (sb->disp_flags & ND_SCROLLBAR_BTN) {
if (_scroller_click_timeout == 1) {
_scroller_click_timeout = 3;
sb->UpdatePosition(rtl == HasBit(sb->disp_flags, NDB_SCROLLBAR_UP) ? 1 : -1);
w->SetDirty();
}
return;
}
/* Find the item we want to move to and make sure it's inside bounds. */
int pos = min(max(0, i + _scrollbar_start_pos) * sb->GetCount() / _scrollbar_size, max(0, sb->GetCount() - sb->GetCapacity()));
if (rtl) pos = max(0, sb->GetCount() - sb->GetCapacity() - pos);
if (pos != sb->GetPosition()) {
sb->SetPosition(pos);
w->SetDirty();
}
}
/**
* Handle active widget (mouse draggin on widget) with the mouse.
* @return State of handling the event.
*/
static EventState HandleScrollbarScrolling()
static EventState HandleActiveWidget()
{
Window *w;
FOR_ALL_WINDOWS_FROM_BACK(w) {
if (w->scrolling_scrollbar >= 0) {
if (w->mouse_capture_widget >= 0) {
/* Abort if no button is clicked any more. */
if (!_left_button_down) {
w->scrolling_scrollbar = -1;
w->mouse_capture_widget = -1;
w->SetDirty();
return ES_HANDLED;
}
int i;
NWidgetScrollbar *sb = w->GetWidget<NWidgetScrollbar>(w->scrolling_scrollbar);
bool rtl = false;
/* If cursor hasn't moved, there is nothing to do. */
if (_cursor.delta.x == 0 && _cursor.delta.y == 0) return ES_HANDLED;
if (sb->type == NWID_HSCROLLBAR) {
i = _cursor.pos.x - _cursorpos_drag_start.x;
rtl = _current_text_dir == TD_RTL;
/* Handle scrollbar internally, or dispatch click event */
WidgetType type = w->GetWidget<NWidgetBase>(w->mouse_capture_widget)->type;
if (type == NWID_VSCROLLBAR || type == NWID_HSCROLLBAR) {
HandleScrollbarScrolling(w);
} else {
i = _cursor.pos.y - _cursorpos_drag_start.y;
}
if (sb->disp_flags & ND_SCROLLBAR_BTN) {
if (_scroller_click_timeout == 1) {
_scroller_click_timeout = 3;
sb->UpdatePosition(rtl == HasBit(sb->disp_flags, NDB_SCROLLBAR_UP) ? 1 : -1);
w->SetDirty();
}
return ES_HANDLED;
}
/* Find the item we want to move to and make sure it's inside bounds. */
int pos = min(max(0, i + _scrollbar_start_pos) * sb->GetCount() / _scrollbar_size, max(0, sb->GetCount() - sb->GetCapacity()));
if (rtl) pos = max(0, sb->GetCount() - sb->GetCapacity() - pos);
if (pos != sb->GetPosition()) {
sb->SetPosition(pos);
w->SetDirty();
Point pt = { _cursor.pos.x - w->left, _cursor.pos.y - w->top };
w->OnClick(pt, w->mouse_capture_widget, 0);
}
return ES_HANDLED;
}
@ -2873,7 +2892,7 @@ static void MouseLoop(MouseClick click, int mousewheel)
if (VpHandlePlaceSizingDrag() == ES_HANDLED) return;
if (HandleMouseDragDrop() == ES_HANDLED) return;
if (HandleWindowDragging() == ES_HANDLED) return;
if (HandleScrollbarScrolling() == ES_HANDLED) return;
if (HandleActiveWidget() == ES_HANDLED) return;
if (HandleViewportScroll() == ES_HANDLED) return;
HandleMouseOver();

@ -376,7 +376,7 @@ public:
NWidgetStacked *shade_select; ///< Selection widget (#NWID_SELECTION) to use for shading the window. If \c NULL, window cannot shade.
Dimension unshaded_size; ///< Last known unshaded size (only valid while shaded).
int scrolling_scrollbar; ///< Widgetindex of just being dragged scrollbar. -1 if none is active.
int mouse_capture_widget; ///< Widgetindex of current mouse capture widget (e.g. dragged scrollbar). -1 if no widget has mouse capture.
Window *parent; ///< Parent window.

Loading…
Cancel
Save