Merge branch 'master' into jgrpp
# Conflicts: # src/industry_cmd.cpp # src/station_cmd.cpp # src/station_func.h
This commit is contained in:
@@ -1707,20 +1707,12 @@ static void PopulateStationsNearby(Industry *ind)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get our list of nearby stations. */
|
||||
FindStationsAroundTiles(ind->location, &ind->stations_near, false, ind->index);
|
||||
|
||||
/* Test if industry can accept cargo */
|
||||
uint cargo_index;
|
||||
for (cargo_index = 0; cargo_index < lengthof(ind->accepts_cargo); cargo_index++) {
|
||||
if (ind->accepts_cargo[cargo_index] != CT_INVALID) break;
|
||||
}
|
||||
if (cargo_index >= lengthof(ind->accepts_cargo)) return;
|
||||
|
||||
/* Cargo is accepted, add industry to nearby stations nearby industry list. */
|
||||
for (Station *st : ind->stations_near) {
|
||||
st->industries_near.insert(ind);
|
||||
}
|
||||
ForAllStationsAroundTiles(ind->location, [ind](Station *st, TileIndex tile) {
|
||||
if (!IsTileType(tile, MP_INDUSTRY) || GetIndustryIndex(tile) != ind->index) return false;
|
||||
ind->stations_near.insert(st);
|
||||
st->AddIndustryToDeliver(ind);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -945,6 +945,7 @@ STR_GAME_OPTIONS_CURRENCY_MXN :멕시코 페
|
||||
STR_GAME_OPTIONS_CURRENCY_NTD :신 타이완 달러 (NTD)
|
||||
STR_GAME_OPTIONS_CURRENCY_CNY :중국 위안 (CNY)
|
||||
STR_GAME_OPTIONS_CURRENCY_HKD :홍콩 달러 (HKD)
|
||||
STR_GAME_OPTIONS_CURRENCY_INR :인도 루피 (INR)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}차량 통행 방식
|
||||
@@ -5115,16 +5116,16 @@ STR_PERCENT_NONE_SMALL :{TINY_FONT}{WHI
|
||||
STR_PERCENT_NONE :{WHITE}{NUM}%
|
||||
|
||||
# Income 'floats'
|
||||
STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED}가격: {CURRENCY_LONG}
|
||||
STR_INCOME_FLOAT_COST :{RED}가격: {CURRENCY_LONG}
|
||||
STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED}지출: {CURRENCY_LONG}
|
||||
STR_INCOME_FLOAT_COST :{RED}지출: {CURRENCY_LONG}
|
||||
STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GREEN}수익: {CURRENCY_LONG}
|
||||
STR_INCOME_FLOAT_INCOME :{GREEN}수익: {CURRENCY_LONG}
|
||||
STR_FEEDER_TINY :{TINY_FONT}{YELLOW}환승: {CURRENCY_LONG}
|
||||
STR_FEEDER :{YELLOW}환승: {CURRENCY_LONG}
|
||||
STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}환승: {CURRENCY_LONG}{WHITE} / {GREEN}수익: {CURRENCY_LONG}
|
||||
STR_FEEDER_INCOME :{YELLOW}환승: {CURRENCY_LONG}{WHITE} / {GREEN}수익: {CURRENCY_LONG}
|
||||
STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}환승: {CURRENCY_LONG}{WHITE} / {RED}가격: {CURRENCY_LONG}
|
||||
STR_FEEDER_COST :{YELLOW}환승: {CURRENCY_LONG}{WHITE} / {RED}가격: {CURRENCY_LONG}
|
||||
STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}환승: {CURRENCY_LONG}{WHITE} / {RED}지출: {CURRENCY_LONG}
|
||||
STR_FEEDER_COST :{YELLOW}환승: {CURRENCY_LONG}{WHITE} / {RED}지출: {CURRENCY_LONG}
|
||||
STR_MESSAGE_ESTIMATED_COST :{WHITE}예상 가격: {CURRENCY_LONG}
|
||||
STR_MESSAGE_ESTIMATED_INCOME :{WHITE}예상 수익: {CURRENCY_LONG}
|
||||
|
||||
|
@@ -469,6 +469,7 @@ STR_TOOLBAR_SOUND_MUSIC :Skaņa/mūzika
|
||||
############ range for message menu starts
|
||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Pēdējais ziņojums/avīzes raksts
|
||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Ziņojumu vēsture
|
||||
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Dzēst visus ziņojumus
|
||||
############ range ends here
|
||||
|
||||
############ range for about menu starts
|
||||
@@ -670,6 +671,7 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Ieslēgt
|
||||
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Rādīt mūzikas celiņu atlases logu
|
||||
|
||||
# Playlist window
|
||||
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Mūzikas programma - “{STRING}”
|
||||
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
|
||||
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Celiņu rādītājs
|
||||
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programma - '{STRING}'
|
||||
@@ -927,9 +929,11 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Dienvidāfrikas
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Cita...
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :Gruzijas lari (GEL)
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Irānas riāli (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Jaunais Krievijas rublis (RUB)
|
||||
STR_GAME_OPTIONS_CURRENCY_MXN :Meksikas peso (MXN)
|
||||
STR_GAME_OPTIONS_CURRENCY_NTD :Jaunais Taivānas dolārs (NTD)
|
||||
STR_GAME_OPTIONS_CURRENCY_CNY :Ķīnas juaņa (CNY)
|
||||
STR_GAME_OPTIONS_CURRENCY_INR :Indijas rūpija (INR)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Autotransporta līdzekļi
|
||||
@@ -1128,6 +1132,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spēles iestat
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spēles iestatījumi (tiek iekļauti saglabājumā, ietekmē tikai pašreizējo spēli)
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Uzņēmuma iestatījumi (tiek iekļauti saglabājumos, ietekmē tikai jaunās spēles)
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Uzņēmuma iestatījumi (tiek iekļauti saglabājumā, ietekmē tikai pašreizējo uzņēmumu)
|
||||
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Rādīt visus meklēšanas rezultātus, iestatot{}{SILVER}Kategoriju {BLACK}uz {WHITE}{STRING}
|
||||
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Rādīt visus meklēšanas rezultātus, iestatot{}{SILVER}Kategorija {BLACK}uz {WHITE}{STRING} {BLACK}un {SILVER}Tips {BLACK}uz {WHITE}Visi iestatījumu veidi
|
||||
STR_CONFIG_SETTINGS_NONE :{WHITE}-Nav-
|
||||
|
||||
@@ -1259,6 +1264,7 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktūra
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Kad ieslēgts, infrastruktūras uzturēšana nav bezmaksas. Izmaksas pieaug proporcionāli tīkla izmēram, tādā veidā tas ietekmē lielākus uzņēmumus vairāk kā mazus.
|
||||
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Sākotnējā uzņēmuma krāsa: {STRING}
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Izvēlieties uzņēmuma sākotnējo krāsu
|
||||
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Lidostas darbosies mūžīgi: {STRING}
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ieslēdzot šo iestatījumu, katrs lidostas veids pēc tā ieviešanas vienmēr ir pieejams
|
||||
@@ -1294,6 +1300,7 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Rāda pilsētu
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Diagrammu līniju platums: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Diagrammu līniju platums. Šauras līnijas ir precīzāk nolasāmas, platākas vieglāk saskatīt un atšķirt to krāsas
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Rādīt jauno NewGRF paplašinājumu nosaukumus uzbūvēto transportlīdzekļu logā: {STRING}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Uzbūvēto transportlīdzekļu loga pievienot rindu, kurā būtu redzams, no kura NewGRF nāk izvēlētais transportlīdzeklis.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Ainava: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Ainavas nosaka pamata spēles scenārijus ar dažādām kravām un pilsētu izaugsmes nosacījumiem. NewGRF un spēles skripti dod smalkākas kontroles iespējas
|
||||
@@ -1344,6 +1351,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :{G=f}tumši za
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :{G=f}violeta
|
||||
STR_CONFIG_SETTING_SCROLLMODE :Skatvietas ritināšanas uzvedība: {STRING}
|
||||
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Uzvedība, kad ritina karti
|
||||
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Pārvietot skatvietu ar labo peles pogu, peles pozīcija ir fiksēta
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Pārvietot karti ar labo peles pogu, peles pozīcija ir fiksēta
|
||||
STR_CONFIG_SETTING_SCROLLMODE_LMB :Pārvietot karti ar kreiso peles pogu
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Plūdena skatvietas ritināšana: {STRING}
|
||||
@@ -1524,6 +1532,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :pilns
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Krāsaini avīžu raksti parādās: {STRING} gadā
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Gads kad sāk drukāt krāsainas avīzes. Pirms šā gada tās ir melnbaltas
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Sākuma gads: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Vērtēšanas beigu gads: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nekad
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Atļaut vienmērīgas izmaiņas ekonomikā: {STRING}
|
||||
@@ -1533,6 +1542,7 @@ STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Ja iespējots,
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimālais uzņēmuma vecums, lai tirgotos ar akcijām: {STRING}
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Iestatīt minimālo uzņēmuma vecums, lai citi varētu pirkt un pārdod to akcijas.
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Procenti no kopējās peļņas, ko maksā tranzītstacijās: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Procenti no ienākumiem, kas tiek doti starpposmiem padeves sistēmās, kas dod lielāku kontroli pār ienākumiem
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Velkot izvietot signālierīces uz katra: {STRING}
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Iestatīt attālumus, kādos līdz nākamajam šķērslim (signālierīcei, dzelzceļa mezglam) uz ceļa tiks būvētas signālierīces, ja tās tiek vilktas
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} lauciņ{P 0 a a a}
|
||||
@@ -1548,6 +1558,7 @@ STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :bloķēšanas s
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :ceļa signāli
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :vienvirziena ceļa signāli
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Braukt garām signālu veidiem: {STRING}
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Izvēlieties, caur kuriem signālu veidiem iet cauri, kad uz uzbūvētas signālierīces tiek veikts Ctrl+klikšķis ar signālu rīku
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :tikai bloķēšanas signāliem
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :tikai ceļa signāliem
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :visiem
|
||||
@@ -1570,6 +1581,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Šā iestatīju
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :aizliegta
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :atļauta
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :atļauta, ar brīvi izvēlētu izkārtojumu
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Pilsētas kravu radīšana: {STRING}
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Cik daudz kravas rada pilsētu mājas, attiecībā pret kopējo pilsētas iedzīvotāju skaitu.{}Kvadrātisks pieaugums: divas reizes lielāka pilsēta rada četras reizes vairāk pasažieru.{}Lineārs pieaugums: divas reizes lielāka pilsēta rada divas reizes vairāk pasažieru.
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kvadrātisks (sākotnējais)
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineārs
|
||||
@@ -1618,6 +1630,8 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Lielpilsētu vi
|
||||
|
||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Atjaunināt sadales grafu ik pa {STRING}{NBSP}dien{P 0:2 ai ām ām}
|
||||
STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT :Laiks starp secīgām saišu grafa pārrēķināšanām. Katra pārrēķināšana izskaitļo plānos vienai grafa komponentei. Tas nozīmē, ka šim iestatījumam vērtība X nenozīmē, ka viss grafs tiks atjaunināts ir pēc X dienām. Tikai dažas komponentes tiks pārrēķinātas. Jo mazāka iestatītā vērtība, jo vairāk laika CPU pavadīs rēķinot. Jo lielāka iestatītā vērtība, jo ilgāk nevarēs sākties kravu izplatīšana jaunos maršrutos.
|
||||
STR_CONFIG_SETTING_LINKGRAPH_TIME :Dot {STRING}{NBSP}dien{P 0:2 u as u} izplatīšanas grafa pārrēķināšanai
|
||||
STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Laiks, ko aizņem katra saišu grafa komponenšu pārrēķināšana. Kad sākas pārrēķināšana, tiek izveidots pavediens, kuram ir atļauts darboties norādīto dienu skaitu. Jo īsāku skaitli šeit ievadīsiet, jo lielāka iespēja, ka pavediens nebūs laicīgi paveicis savu darbu. Tādā gadījumā spēle apstāsies (“iebremzēs”) līdz darbs būs pabeigts. Jo lielāku skaitli šeit iestatīsiet, jo ilgāk aizņems izplatīšanas atjaunināšana, kad tiks mainīti maršruti.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuāli
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetriska
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simetriska
|
||||
@@ -1908,6 +1922,7 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Mainīt
|
||||
# Network server list
|
||||
STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Vairākspēlētāju spēle
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED :{BLACK}Izsludināt
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED_TOOLTIP :{BLACK}Izvēlieties starp reklamēto (interneta) un nereklamēto (lokālā tīkla, LAN) spēli
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED_NO :Nē
|
||||
STR_NETWORK_SERVER_LIST_ADVERTISED_YES :Jā
|
||||
STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Spēlētāja vārds:
|
||||
@@ -2286,6 +2301,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Kravas p
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Visi
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Neviens
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Izvēlēties attēlojamos uzņēmumus
|
||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}nelietots
|
||||
@@ -2598,6 +2614,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Lidostas
|
||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Pieņem kravu: {LTBLUE}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Sliežu veids: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Ceļu tips: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Sliežu ātruma ierobežojums: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Ceļa ātruma ierobežojums: {LTBLUE}{VELOCITY}
|
||||
@@ -2720,6 +2737,7 @@ STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMA
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} kadri/s
|
||||
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
||||
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
|
||||
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} m
|
||||
############ Leave those lines in this order!!
|
||||
@@ -3359,6 +3377,7 @@ STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUST
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} un vēl {NUM}...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Ražotņu nosaukumi - klikšķināt uz nosaukuma, lai centrētu skatu uz ražotni. Ctrl+klikšķis atvērs jaunu skatvietu pie ražotnes
|
||||
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Pieņemamā krava: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Saražotā krava: {SILVER}{STRING}
|
||||
@@ -3479,6 +3498,7 @@ STR_PURCHASE_INFO_COST :{BLACK}Cena: {G
|
||||
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Izmaksas: {GOLD}{CURRENCY_LONG}{BLACK} (Pielāgošanas izmaksas: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Svars: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Cena: {GOLD}{CURRENCY_LONG}{BLACK} Ātrums: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Cena: {GOLD}{CURRENCY_LONG}{BLACK} (Pielāgošanas maksa: {GOLD}{CURRENCY_LONG}{BLACK}) Ātrums: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Ietilpība: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Motorvagoni: {GOLD}+{POWER}zs{BLACK} Svars: {GOLD}+{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Pielāgojams uz: {GOLD}{STRING}
|
||||
@@ -3511,6 +3531,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkt iz
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Pirkt un pielāgot izcelto vilcienu. Shift+klikšķis parāda novērtētās izmaksas, neveicot iegādi
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Pirkt un pielāgot izcelto ceļa transportlīdzekli. Shift+klikšķis parāda novērtētās izmaksas, neveicot iegādi
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Pirkt un pielāgot izcelto kuģi. Shift+klikšķis parāda novērtētās izmaksas, neveicot iegādi
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Pirkt un pielāgot izcelto lidaparātu. Shift+klikšķis parāda novērtētās izmaksas, neveicot iegādi
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Pārdēvēt
|
||||
|
@@ -1485,7 +1485,11 @@ void CheckCaches(bool force_check, std::function<void(const char *)> log)
|
||||
CCLOG("industry neutral station stations_near mismatch: ind %i, (recalc size: %u, neutral size: %u)", (int)ind->index, (uint)ind->stations_near.size(), (uint)stlist.size());
|
||||
}
|
||||
} else {
|
||||
FindStationsAroundTiles(ind->location, &stlist, false, ind->index);
|
||||
ForAllStationsAroundTiles(ind->location, [ind, &stlist](Station *st, TileIndex tile) {
|
||||
if (!IsTileType(tile, MP_INDUSTRY) || GetIndustryIndex(tile) != ind->index) return false;
|
||||
stlist.insert(st);
|
||||
return true;
|
||||
});
|
||||
if (ind->stations_near != stlist) {
|
||||
CCLOG("industry FindStationsAroundTiles mismatch: ind %i, (recalc size: %u, find size: %u)", (int)ind->index, (uint)ind->stations_near.size(), (uint)stlist.size());
|
||||
}
|
||||
|
@@ -378,12 +378,11 @@ bool Station::IsWithinRangeOfDockingTile(TileIndex tile, uint max_distance) cons
|
||||
/**
|
||||
* Add nearby industry to station's industries_near list if it accepts cargo.
|
||||
* @param ind Industry
|
||||
* @param st Station
|
||||
*/
|
||||
static void AddIndustryToDeliver(Industry *ind, Station *st)
|
||||
void Station::AddIndustryToDeliver(Industry *ind)
|
||||
{
|
||||
/* Don't check further if this industry is already in the list */
|
||||
if (st->industries_near.find(ind) != st->industries_near.end()) return;
|
||||
if (this->industries_near.find(ind) != this->industries_near.end()) return;
|
||||
|
||||
/* Include only industries that can accept cargo */
|
||||
uint cargo_index;
|
||||
@@ -392,7 +391,7 @@ static void AddIndustryToDeliver(Industry *ind, Station *st)
|
||||
}
|
||||
if (cargo_index >= lengthof(ind->accepts_cargo)) return;
|
||||
|
||||
st->industries_near.insert(ind);
|
||||
this->industries_near.insert(ind);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -483,7 +482,7 @@ void Station::RecomputeCatchment(bool no_clear_nearby_lists)
|
||||
i->stations_near.insert(this);
|
||||
|
||||
/* Add if we can deliver to this industry as well */
|
||||
AddIndustryToDeliver(i, this);
|
||||
this->AddIndustryToDeliver(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -833,6 +833,7 @@ public:
|
||||
}
|
||||
|
||||
bool CatchmentCoversTown(TownID t) const;
|
||||
void AddIndustryToDeliver(Industry *ind);
|
||||
void RemoveFromAllNearbyLists();
|
||||
|
||||
inline bool TileIsInCatchment(TileIndex tile) const
|
||||
@@ -889,4 +890,42 @@ public:
|
||||
|
||||
void RebuildStationKdtree();
|
||||
|
||||
/**
|
||||
* Call a function on all stations that have any part of the requested area within their catchment.
|
||||
* @tparam Func The type of funcion to call
|
||||
* @param area The TileArea to check
|
||||
* @param func The function to call, must take two parameters: Station* and TileIndex and return true
|
||||
* if coverage of that tile is acceptable for a given station or false if search should continue
|
||||
*/
|
||||
template<typename Func>
|
||||
void ForAllStationsAroundTiles(const TileArea &ta, Func func)
|
||||
{
|
||||
/* Not using, or don't have a nearby stations list, so we need to scan. */
|
||||
btree::btree_set<StationID> seen_stations;
|
||||
|
||||
/* Scan an area around the building covering the maximum possible station
|
||||
* to find the possible nearby stations. */
|
||||
uint max_c = _settings_game.station.modified_catchment ? MAX_CATCHMENT : CA_UNMODIFIED;
|
||||
max_c += _settings_game.station.catchment_increase;
|
||||
TileArea ta_ext = TileArea(ta).Expand(max_c);
|
||||
TILE_AREA_LOOP(tile, ta_ext) {
|
||||
if (IsTileType(tile, MP_STATION)) seen_stations.insert(GetStationIndex(tile));
|
||||
}
|
||||
|
||||
for (StationID stationid : seen_stations) {
|
||||
Station *st = Station::GetIfValid(stationid);
|
||||
if (st == nullptr) continue; /* Waypoint */
|
||||
|
||||
/* Check if station is attached to an industry */
|
||||
if (!_settings_game.station.serve_neutral_industries && st->industry != nullptr) continue;
|
||||
|
||||
/* Test if the tile is within the station's catchment */
|
||||
TILE_AREA_LOOP(tile, ta) {
|
||||
if (st->TileIsInCatchment(tile)) {
|
||||
if (func(st, tile)) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* STATION_BASE_H */
|
||||
|
@@ -36,6 +36,7 @@
|
||||
#include "animated_tile_func.h"
|
||||
#include "elrail_func.h"
|
||||
#include "station_base.h"
|
||||
#include "station_func.h"
|
||||
#include "station_kdtree.h"
|
||||
#include "roadstop_base.h"
|
||||
#include "newgrf_railtype.h"
|
||||
@@ -4218,60 +4219,6 @@ static void AddNearbyStationsByCatchment(TileIndex tile, StationList *stations,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find all stations around a rectangular producer (industry, house, headquarter, ...)
|
||||
*
|
||||
* @param location The location/area of the producer
|
||||
* @param[out] stations The list to store the stations in
|
||||
* @param use_nearby Use nearby station list of industry/town associated with location.tile
|
||||
*/
|
||||
void FindStationsAroundTiles(const TileArea &location, StationList * const stations, bool use_nearby, const IndustryID industry_filter)
|
||||
{
|
||||
if (use_nearby) {
|
||||
/* Industries and towns maintain a list of nearby stations */
|
||||
if (IsTileType(location.tile, MP_INDUSTRY)) {
|
||||
/* Industry nearby stations are already filtered by catchment. */
|
||||
*stations = Industry::GetByTile(location.tile)->stations_near;
|
||||
return;
|
||||
} else if (IsTileType(location.tile, MP_HOUSE)) {
|
||||
/* Town nearby stations need to be filtered per tile. */
|
||||
assert(location.w == 1 && location.h == 1);
|
||||
AddNearbyStationsByCatchment(location.tile, stations, Town::GetByTile(location.tile)->stations_near);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Not using, or don't have a nearby stations list, so we need to scan. */
|
||||
|
||||
btree::btree_set<StationID> seen_stations;
|
||||
|
||||
/* Scan an area around the building covering the maximum possible station
|
||||
* to find the possible nearby stations. */
|
||||
uint max_c = _settings_game.station.modified_catchment ? MAX_CATCHMENT : CA_UNMODIFIED;
|
||||
max_c += _settings_game.station.catchment_increase;
|
||||
TileArea ta = TileArea(location).Expand(max_c);
|
||||
TILE_AREA_LOOP(tile, ta) {
|
||||
if (IsTileType(tile, MP_STATION)) seen_stations.insert(GetStationIndex(tile));
|
||||
}
|
||||
|
||||
for (StationID stationid : seen_stations) {
|
||||
Station *st = Station::GetIfValid(stationid);
|
||||
if (st == nullptr) continue; /* Waypoint */
|
||||
|
||||
/* Check if station is attached to an industry */
|
||||
if (!_settings_game.station.serve_neutral_industries && st->industry != nullptr) continue;
|
||||
|
||||
/* Test if the tile is within the station's catchment */
|
||||
TILE_AREA_LOOP(tile, location) {
|
||||
if (industry_filter != INVALID_INDUSTRY && (!IsTileType(tile, MP_INDUSTRY) || GetIndustryIndex(tile) != industry_filter)) continue;
|
||||
if (st->TileIsInCatchment(tile)) {
|
||||
stations->insert(st);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Run a tile loop to find stations around a tile, on demand. Cache the result for further requests
|
||||
* @return pointer to a StationList containing all stations found
|
||||
@@ -4279,12 +4226,22 @@ void FindStationsAroundTiles(const TileArea &location, StationList * const stati
|
||||
const StationList *StationFinder::GetStations()
|
||||
{
|
||||
if (this->tile != INVALID_TILE) {
|
||||
FindStationsAroundTiles(*this, &this->stations);
|
||||
if (IsTileType(this->tile, MP_HOUSE)) {
|
||||
/* Town nearby stations need to be filtered per tile. */
|
||||
assert(this->w == 1 && this->h == 1);
|
||||
AddNearbyStationsByCatchment(this->tile, &this->stations, Town::GetByTile(this->tile)->stations_near);
|
||||
} else {
|
||||
ForAllStationsAroundTiles(*this, [this](Station *st, TileIndex tile) {
|
||||
this->stations.insert(st);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
this->tile = INVALID_TILE;
|
||||
}
|
||||
return &this->stations;
|
||||
}
|
||||
|
||||
|
||||
static bool CanMoveGoodsToStation(const Station *st, CargoID type)
|
||||
{
|
||||
/* Is the station reserved exclusively for somebody else? */
|
||||
|
@@ -22,8 +22,6 @@
|
||||
|
||||
void ModifyStationRatingAround(TileIndex tile, Owner owner, int amount, uint radius);
|
||||
|
||||
void FindStationsAroundTiles(const TileArea &location, StationList *stations, bool use_nearby = true, IndustryID industry_filter = INVALID_INDUSTRY);
|
||||
|
||||
void ShowStationViewWindow(StationID station);
|
||||
void UpdateAllStationVirtCoords();
|
||||
void ClearAllStationCachedNames();
|
||||
|
@@ -105,7 +105,7 @@ static void FindStationsAroundSelection()
|
||||
|
||||
Station *adjacent = nullptr;
|
||||
|
||||
/* Direct loop instead of FindStationsAroundTiles as we are not interested in catchment area */
|
||||
/* Direct loop instead of ForAllStationsAroundTiles as we are not interested in catchment area */
|
||||
TILE_AREA_LOOP(tile, ta) {
|
||||
if (IsTileType(tile, MP_STATION) && GetTileOwner(tile) == _local_company) {
|
||||
Station *st = Station::GetByTile(tile);
|
||||
|
@@ -2484,7 +2484,12 @@ static void MakeTownHouse(TileIndex t, Town *town, byte counter, byte stage, Hou
|
||||
if (size & BUILDING_2_TILES_X) ClearMakeHouseTile(t + TileDiffXY(1, 0), town, counter, stage, ++type, random_bits);
|
||||
if (size & BUILDING_HAS_4_TILES) ClearMakeHouseTile(t + TileDiffXY(1, 1), town, counter, stage, ++type, random_bits);
|
||||
|
||||
if (!_generating_world) FindStationsAroundTiles(TileArea(t, (size & BUILDING_2_TILES_X) ? 2 : 1, (size & BUILDING_2_TILES_Y) ? 2 : 1), &town->stations_near, false);
|
||||
if (!_generating_world) {
|
||||
ForAllStationsAroundTiles(TileArea(t, (size & BUILDING_2_TILES_X) ? 2 : 1, (size & BUILDING_2_TILES_Y) ? 2 : 1), [town](Station *st, TileIndex tile) {
|
||||
town->stations_near.insert(st);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user