Merge branch 'master' into jgrpp

# Conflicts:
#	src/company_cmd.cpp
#	src/lang/greek.txt
#	src/table/settings.ini
pull/221/head
Jonathan G Rennison 3 years ago
commit 84a7ab180e

@ -165,7 +165,9 @@ jobs:
uses: actions/cache@v2
with:
path: /usr/local/share/vcpkg/installed
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}-0 # Increase the number whenever dependencies are modified
restore-keys: |
${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
- name: Prepare vcpkg
run: |
@ -241,7 +243,9 @@ jobs:
uses: actions/cache@v2
with:
path: vcpkg/installed
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}-0 # Increase the number whenever dependencies are modified
restore-keys: |
${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
- name: Prepare vcpkg
shell: bash

@ -498,7 +498,10 @@ jobs:
uses: actions/cache@v2
with:
path: /usr/local/share/vcpkg/installed
key: ${{ steps.key.outputs.image }}-vcpkg-release
key: ${{ steps.key.outputs.image }}-vcpkg-release-0 # Increase the number whenever dependencies are modified
restore-keys: |
${{ steps.key.outputs.image }}-vcpkg-release
${{ steps.key.outputs.image }}-vcpkg-x64
- name: Prepare vcpkg
run: |
@ -700,7 +703,9 @@ jobs:
uses: actions/cache@v2
with:
path: vcpkg/installed
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}-0 # Increase the number whenever dependencies are modified
restore-keys: |
${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
- name: Prepare vcpkg
shell: bash

@ -65,11 +65,11 @@ Company::Company(uint16 name_1, bool is_ai)
this->name_1 = name_1;
this->location_of_HQ = INVALID_TILE;
this->is_ai = is_ai;
this->terraform_limit = _settings_game.construction.terraform_frame_burst << 16;
this->terraform_limit = (uint32)_settings_game.construction.terraform_frame_burst << 16;
this->clear_limit = _settings_game.construction.clear_frame_burst << 16;
this->tree_limit = _settings_game.construction.tree_frame_burst << 16;
this->purchase_land_limit = _settings_game.construction.purchase_land_frame_burst << 16;
this->build_object_limit = _settings_game.construction.build_object_frame_burst << 16;
this->tree_limit = (uint32)(uint32)_settings_game.construction.tree_frame_burst << 16;
this->purchase_land_limit = (uint32)_settings_game.construction.purchase_land_frame_burst << 16;
this->build_object_limit = (uint32)_settings_game.construction.build_object_frame_burst << 16;
for (uint j = 0; j < 4; j++) this->share_owners[j] = COMPANY_SPECTATOR;
InvalidateWindowData(WC_PERFORMANCE_DETAIL, 0, INVALID_COMPANY);
@ -279,11 +279,11 @@ void SubtractMoneyFromCompanyFract(CompanyID company, const CommandCost &cst)
void UpdateLandscapingLimits()
{
for (Company *c : Company::Iterate()) {
c->terraform_limit = std::min(c->terraform_limit + _settings_game.construction.terraform_per_64k_frames, (uint32)_settings_game.construction.terraform_frame_burst << 16);
c->clear_limit = std::min(c->clear_limit + _settings_game.construction.clear_per_64k_frames, (uint32)_settings_game.construction.clear_frame_burst << 16);
c->tree_limit = std::min(c->tree_limit + _settings_game.construction.tree_per_64k_frames, (uint32)_settings_game.construction.tree_frame_burst << 16);
c->purchase_land_limit = std::min(c->purchase_land_limit + _settings_game.construction.purchase_land_per_64k_frames, (uint32)_settings_game.construction.purchase_land_frame_burst << 16);
c->build_object_limit = std::min(c->build_object_limit + _settings_game.construction.build_object_per_64k_frames, (uint32)_settings_game.construction.build_object_frame_burst << 16);
c->terraform_limit = std::min<uint64>((uint64)c->terraform_limit + _settings_game.construction.terraform_per_64k_frames, (uint64)_settings_game.construction.terraform_frame_burst << 16);
c->clear_limit = std::min<uint64>((uint64)c->clear_limit + _settings_game.construction.clear_per_64k_frames, (uint64)_settings_game.construction.clear_frame_burst << 16);
c->tree_limit = std::min<uint64>((uint64)c->tree_limit + _settings_game.construction.tree_per_64k_frames, (uint64)_settings_game.construction.tree_frame_burst << 16);
c->purchase_land_limit = std::min<uint64>((uint64)c->purchase_land_limit + _settings_game.construction.purchase_land_per_64k_frames, (uint64)_settings_game.construction.purchase_land_frame_burst << 16);
c->build_object_limit = std::min<uint64>((uint64)c->build_object_limit + _settings_game.construction.build_object_per_64k_frames, (uint64)_settings_game.construction.build_object_frame_burst << 16);
}
}

@ -67,6 +67,7 @@ static const CurrencySpec origin_currency_specs[CURRENCY_END] = {
{ 10, "", CF_NOEURO, "HKD" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_HKD }, ///< hong kong dollar
{ 90, "", CF_NOEURO, u8"\u20b9", "", 0, STR_GAME_OPTIONS_CURRENCY_INR }, ///< Indian Rupee
{ 19, "", CF_NOEURO, "Rp", "", 0, STR_GAME_OPTIONS_CURRENCY_IDR }, ///< Indonesian Rupiah
{ 5, "", CF_NOEURO, "RM", "", 0, STR_GAME_OPTIONS_CURRENCY_MYR }, ///< Malaysian Ringgit
};
/** Array of currencies used by the system */

@ -64,6 +64,7 @@ enum Currencies {
CURRENCY_HKD, ///< Hong Kong Dollar
CURRENCY_INR, ///< Indian Rupee
CURRENCY_IDR, ///< Indonesian Rupiah
CURRENCY_MYR, ///< Malaysian Ringgit
CURRENCY_END, ///< always the last item
};

@ -274,6 +274,7 @@ void PerformanceMeasurer::SetExpectedRate(double rate)
*/
/* static */ void PerformanceMeasurer::Paused(PerformanceElement elem)
{
PerformanceMeasurer::SetInactive(elem);
_pf_data[elem].AddPause(GetPerformanceTimer());
}
@ -399,7 +400,6 @@ struct FramerateWindow : Window {
{
const double threshold_good = target * 0.95;
const double threshold_bad = target * 2 / 3;
value = std::min(9999.99, value);
this->value = (uint32)(value * 100);
this->strid = (value > threshold_good) ? STR_FRAMERATE_FPS_GOOD : (value < threshold_bad) ? STR_FRAMERATE_FPS_BAD : STR_FRAMERATE_FPS_WARN;
}
@ -408,7 +408,6 @@ struct FramerateWindow : Window {
{
const double threshold_good = target / 3;
const double threshold_bad = target;
value = std::min(9999.99, value);
this->value = (uint32)(value * 100);
this->strid = (value < threshold_good) ? STR_FRAMERATE_MS_GOOD : (value > threshold_bad) ? STR_FRAMERATE_MS_BAD : STR_FRAMERATE_MS_WARN;
}

@ -1455,6 +1455,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupa les desp
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Defineix la disposició de la companyia a la finestra de despeses
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Treu automàticament els senyals durant la construcció ferroviària: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Treu automàticament els senyals ferroviaris que hi hagi pel mig durant la construcció de rail. Aneu amb compte ja que pot provocar col·lisions de trens.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Límit de velocitat de la partida: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Estableix el límit de velocitat de la partida quan s'activa l'avanç ràpid del temps. 0 = sense límit (tan ràpid com pugui el vostre ordinador). Els valors per sota de 100{NBSP}% alenteixen la partida. El límit de velocitat depèn de les característiques del vostre ordinador i de la partida que esteu jugant (mida del mapa, nombre de vehicles, longitud de les rutes...).
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}{NBSP}% de la velocitat normal
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sense límit (tan ràpid com pugui el vostre ordinador)
STR_CONFIG_SETTING_SOUND_TICKER :Barra de notícies: {STRING}
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Reprodueix un so quan apareixen les notícies resumides a la barra inferior
@ -1822,7 +1826,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprova
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Mostra els paràmetres de les IA/Script de la partida
STR_INTRO_TOOLTIP_QUIT :{BLACK}Surt de l'OpenTTD.
STR_INTRO_BASESET :{WHITE}Al joc de gràfics base seleccionat li falten {NUM} sprite{P "" s}.{}Si us plau, comproveu-ne si hi ha actualitzacions disponibles.
STR_INTRO_BASESET :{WHITE}Al joc de gràfics base seleccionat li falten {NUM} sprite{P "" s}.{}Si us plau, comproveu si hi ha actualitzacions disponibles.
STR_INTRO_TRANSLATION :{BLACK}A aquesta traducció li falten {NUM} caden{P a es}. Si us plau, ajudeu a fer millor l'OpenTTD unint-vos com a traductor. Vegeu el fitxer readme.txt per més detalls.
# Quit window

@ -3675,6 +3675,7 @@ STR_NEWGRF_ERROR_GRM_FAILED :Požadované zd
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} byla vypnuta {STRING}
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Neplatný/neznámý sprite layout formát (sprite {3:NUM})
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Příliš mnoho prvků v seznamu hodnot vlastností (sprite {3:NUM}, vlastnost {4:HEX})
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Neplatné zpětné volání průmyslové produkce (sprite {3:NUM}, "{2:STRING}")
# NewGRF related 'general' warnings
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Varování!

@ -1454,6 +1454,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Uitgaven in bed
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definieer de lay-out voor het bedrijfsuitgavenvenster
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatisch seinen verwijderen tijdens spooraanleg: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Seinen automatisch verwijderen tijdens spooraanleg als deze in de weg staan. Dit kan botsingen veroorzaken.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limiet verhoogde spelsnelheid: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Beperkt de snelheid van het spel wanneer de spelsnelheid is verhoogt. 0 = geen limiet (alleen beperkt door de computer zelf). Waarden onder 100% vertragen het spel. De hoogste waarde hangt af van de specifcaties van de computer en kan afhankelijk van het spel variëren.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normale spelsnelheid
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Geen limiet (alleen beperkt door de computer zelf)
STR_CONFIG_SETTING_SOUND_TICKER :Nieuwsticker: {STRING}
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Speel geluidseffecten af bij korte nieuwsberichten

@ -960,6 +960,7 @@ STR_GAME_OPTIONS_CURRENCY_CNY :Chinese Renminb
STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar (HKD)
STR_GAME_OPTIONS_CURRENCY_INR :Indian Rupee (INR)
STR_GAME_OPTIONS_CURRENCY_IDR :Indonesian Rupiah (IDR)
STR_GAME_OPTIONS_CURRENCY_MYR :Malaysian Ringgit (MYR)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Drive on left

@ -1611,6 +1611,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Zwischensummen
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Lege das Layout für das Fenster mit den Firmenausgaben fest
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatische Entfernung von Signalen während der Errichtung von Bahntrassen: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatische Entfernung von Signalen während der Errichtung der Bahntrasse, wenn diese sich im Weg befinden. Hinweis: Dies kann zu Unfällen führen!
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Zeitraffer Geschwindigkeitslimit: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit wie schnell das Spiel läuft, wenn Zeitraffer aktiviert ist. 0= unlimitiert (so schnell, wie ihr Computer es erlaubt). Eingaben unter 100% können das Spiel verlangsamen. Das obere Limit hängt von den technischen Spezifikationen ihres Computer ab und kann großen Einfluss auf das Spiel haben
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normale Spielgeschwindigkeit
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Keine Beschränkung (so schnell wie ihr Computer es erlaubt)
STR_CONFIG_SETTING_ENABLE_BUILD_RIVER :Aktiviere das Bauen von Flüssen: {STRING}
STR_CONFIG_SETTING_ENABLE_BUILD_RIVER_HELPTEXT :Aktiviere das Bauen von Flüssen außerhalb des Szenarioeditors

@ -295,6 +295,8 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Επιλ
STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Επιλέξτε κριτήρια φιλτραρίσματος
STR_BUTTON_SORT_BY :{BLACK}Ταξινόμηση κατά
STR_BUTTON_RENAME :{BLACK}Μετονομασία
STR_BUTTON_CATCHMENT :{BLACK}Κάλυψη
STR_TOOLTIP_CATCHMENT :{BLACK}Εναλλαγή επίδειξης περιοχής κάλυψης
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Κλείσιμο παραθύρου
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Τίτλος παραθύρου - σύρετε το για να το μετακινήσετε
@ -371,8 +373,13 @@ STR_SORT_BY_CARGO_CAPACITY :Χωρητικ
STR_SORT_BY_RANGE :Εμβέλεια
STR_SORT_BY_POPULATION :Πληθυσμός
STR_SORT_BY_RATING :Εκτίμηση
STR_SORT_BY_NUM_VEHICLES :Αριθμός οχημάτων
STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Συνολικό κέρδος τρέχοντος έτους
STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Μέσος όρος κέρδους τρέχοντος έτους
# Group by options for vehicle list
STR_GROUP_BY_NONE :Καμία
STR_GROUP_BY_SHARED_ORDERS :Κοινές εντολές
# Tooltips for the main toolbar
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Παύση παιχνιδιού
@ -398,6 +405,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Μεγέ
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Σμίκρυνση εικόνας
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Κατασκευή σιδηροτροχιάς
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Κατασκευάστε δρόμους
STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Κτίσιμο τραχιοδρόμων
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Κατασκευή λιμένων
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Κατασκευάστε αεροδρόμια
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Ανοίξτε την μπάρα εργαλείων μορφοποίησης εδάφους για ανύψωση/βύθιση γης, δενδροφύτευση, κλπ.
@ -707,7 +715,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Συντονι
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Επόπτης Διαδρομών
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Διευθυντής
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Ανώτερος Υπάλληλος
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Διαχειριστής
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Πρόεδρος
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Πρόεδρος
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Μεγιστάνας
@ -842,6 +850,7 @@ STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLA
STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Τραχύ Έδαφος
STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Γρασίδι
STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Γυμνό Έδαφος
STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Τροπικό δάσος
STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Χωράφια
STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Δέντρα
STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Βράχοι
@ -873,6 +882,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Εμφά
STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Εμφάνιση τελευταίου μηνύματος ή αναφοράς ειδήσεων
STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - -
STR_STATUSBAR_PAUSED :{YELLOW}* * ΠΑΥΣΗ * *
STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}** ΠΑΎΣΗ (αναμονή για ενημέρωση γραφήματος συνδέσμου) **
STR_STATUSBAR_AUTOSAVE :{RED}ΑΥΤΟΜΑΤΗ ΑΠΟΘΗΚΕΥΣΗ
STR_STATUSBAR_SAVING_GAME :{RED}* * ΑΠΟΘΗΚΕΥΣΗ ΠΑΙΧΝΙΔΙΟΥ * *
@ -967,6 +977,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ένα νέο {STRING} είναι πλέον διαθέσιμο! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Ανοίξτε το παράθυρο ομάδων εστιασμένος στην ομάδα του οχήματος
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}Ο σταθμός {STATION} δεν δέχεται πια {STRING}
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}Ο σταθμός {STATION} δεν δέχεται πια ούτε {STRING} ούτε {STRING}
@ -1034,6 +1045,9 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Γεοργια
STR_GAME_OPTIONS_CURRENCY_IRR :Ιρανικό Ριάλ (IRR)
STR_GAME_OPTIONS_CURRENCY_RUB :Νεο Ρώσικο Ρούβλι (RUB)
STR_GAME_OPTIONS_CURRENCY_MXN :Πεσος Μεξικου (MXN)
STR_GAME_OPTIONS_CURRENCY_NTD :Δολλάριο Νέας Ταϊβάν (NTD)
STR_GAME_OPTIONS_CURRENCY_CNY :Ρενμίνμπι Κίνας (CNY)
STR_GAME_OPTIONS_CURRENCY_INR :Ρουπία Ινδίας (INR)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Οδηγούν από αριστερά
@ -1090,6 +1104,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :άλλη
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Μέγεθος διεπαφής
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Επιλέξτε το μέγεθος στοιχείου διεπαφής
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(αυτόματη ανίχνευση)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Κανονικό
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Διπλό μέγεθος
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Τετραπλό μέγεθος
@ -1534,6 +1549,8 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Διατήρη
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Διατήρηση ανοικτών των εργαλείων για γέφυρες, σήραγγες, κλπ μετά από τη χρήση
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Ομαδοποίηση εξόδων στο παράθυρο οικονομικών της εταιρίας: {STRING}
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Ορίστε τη μορφή για το παράθυρο των εξόδων της εταιρείας
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Όριο ταχύτητας γρήγορης κίνησης: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Όριο ταχύτητας του παιχνιδιού όταν είναι ενεργοποιημένη η γρήγορη ταχύτητα. 0 = κανένα όριο (όσο γρήγορα επιτρέπει ο υπολογιστής σας). Τιμές κάτω του 100% επιβραδύνουν το παιχνίδι. Το ανώτατο όριο εξαρτάται από τις προδιαγραφές του υπολογιστή σας και μπορεί να μεταβάλλεται ανάλογα με το παιχνίδι.
STR_CONFIG_SETTING_SOUND_TICKER :Ήχος ειδήσεων: {STRING}
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Παίζει ήχο για περιληπτικά μηνύματα ειδήσεων
@ -1582,6 +1599,8 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Επιτρέπ
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Επιτρέπεται η συμμετοχή παικτών υπολογιστή AI σε παιχνίδια πολλαπλών παικτών
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#εντολών πριν την παύση δεσμών ενεργειών: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Μέγιστος αριθμός βημάτων υπολογισμού που κάνει κάποιο σενάριο σε κάθε σειρά
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Πόση μνήμη μπορεί να καταναλώσει ένα script προτού τερματιστεί αναγκαστικά. Μπορεί να χρειαστεί να αυξηθεί για μεγαλύτερους χάρτες.
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Τα διαστήματα μεταξύ συντήρησης είναι σε ποσοστά: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Επιλέξτε εάν η επισκευή των οχημάτων εξαρτάται από τον χρόνο που πέρασε από την τελευταία επισκευή ή από την μείωση της αξιοπιστίας κατά ένα συγκεκριμένο ποσοστό της μέγιστης αξιοπιστίας
@ -1640,8 +1659,13 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Ολόκληρ
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Τα έγχρωμα νέα εμφανίζονται από το: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Το έτος κατά το οποίο οι ανακοινώσεις στην εφημερίδα εκτυπώνονται έγχρωμες. Πριν από αυτό το έτος, εκτυπώνονται μονόχρωμες και ασπρόμαυρες
STR_CONFIG_SETTING_STARTING_YEAR :Έτος εκκίνησης: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ECONOMY_TYPE :Τύπος οικονομίας: {STRING}
STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Η ομαλή οικονομία κάνει διαφοροποιήσεις στην παραγωγή πιο συχνά, και σε μικρότερα βήματα. Η παγωμένη οικονομία σταματά τις διαφοροποιήσεις στην παραγωγή και το κλείσιμο των βιομηχανιών. Αυτή η ρύθμιση μπορεί να μην έχει καμία αλλαγή εάν οι τύποι βιομηχανιών προσφέρονται από ένα NewGRF.
STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Ομαλή
STR_CONFIG_SETTING_ALLOW_SHARES :Ενεργοποίηση της δυνατότητας αγοράς μετοχών από άλλες εταιρίες: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Όταν είναι ενεργοποιημένη, επιτρέπεται η αγοραπωλησία εταιρικών μετοχών. Οι μετοχές θα είναι διαθέσιμες μόνο όταν οι εταιρείες φτάνουν μια ορισμένη ηλικία
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Ελάχιστη ηλικία εταιρίας για συναλλαγή μετοχών: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Το ποσοστό κέρδους από το σκέλος μεταφοράς στα συστήματα τροφοδότησης: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Το ποσοστό του εισοδήματος που δίνεται στα ενδιάμεσα σκέλη των συστημάτων τροφοδότησης, δίνοντας μεγαλύτερο έλεγχο στο εισόδημα
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Όταν σύρετε, τοποθετούνται σήματα κάθε: {STRING}
@ -1689,6 +1713,7 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Γραμμικ
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Τοποθέτηση δέντρων εντός παιχνιδιού: {STRING}
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Έλεγχος της τυχαίας εμφάνισης δέντρων κατά τη διάρκεια του παιχνιδιού. Αυτό είναι πιθανό να επηρεάσει βιομηχανίες που εξαρτώνται από την ανάπτυξη των δέντρων, όπως για παράδειγμα οι υλοτομίες
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Φυτρώνει αλλά εξαπλώνεται μόνο σε τροπικό δάσος
STR_CONFIG_SETTING_TOOLBAR_POS :Θέση κύριας εργαλειοθήκης: {STRING}
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Οριζόντια τοποθέτηση της κύριας γραμμής εργαλείων στο επάνω μέρος της οθόνης
@ -1887,6 +1912,7 @@ STR_INTRO_TRANSLATION :{BLACK}Λείπ
# Quit window
STR_QUIT_CAPTION :{WHITE}Έξοδος
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Είστε σίγουροι ότι θέλετε να εγκαταλείψετε το OpenTTD;
STR_QUIT_YES :{BLACK}Ναι
STR_QUIT_NO :{BLACK}Όχι
@ -1898,6 +1924,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Είσ
# Cheat window
STR_CHEATS :{WHITE}Απατεωνιές
STR_CHEATS_TOOLTIP :{BLACK}Τα κουτάκια δείχνουν αν έχετε ξαναχρησιμοποιήσει αυτή την απατεωνιά
STR_CHEATS_NOTE :{BLACK}Σημείωση: κάθε χρήση αυτών των ρυθμίσεων θα καταγραφεί από το αρχείο αποθήκευσης
STR_CHEAT_MONEY :{LTBLUE}Αύξηση χρημάτων κατά {CURRENCY_LONG}
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Παίζετε με την εταιρία: {ORANGE}{COMMA}
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Μαγική μπουλντόζα (αφαιρεί βιομηχανίες, αμετακίνητα αντικείμενα): {ORANGE}{STRING}
@ -2049,6 +2076,7 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Συμμ
STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Ανανέωση διακομιστή
STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Ανανεώση πληροφοριών του διακομιστή
STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Αναζήτηση στο διαδίκτυο για δημόσιους διακομιστές
STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Προσθήκη διακομιστή
STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Προσθέτει ένα διακομιστή στη λίστα ο οποίος θα ελέγχεται κάθε φορά για ενεργά παιχνίδια.
STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Εκκίνηση διακομιστή
@ -2232,6 +2260,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Λανθ
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Ο διακομιστής είναι γεμάτος
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Έχει απαγορευτεί η είσοδος σας από τον διακομιστή
STR_NETWORK_ERROR_KICKED :{WHITE}Έχετε εκδιωχθεί από το παιχνίδι
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Λόγος: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Η χρήση απατεωνιών δεν επιτρέπεται σε αυτόν τον διακομιστή
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Αποστείλατε πάρα πολλές εντολές στον διακομιστή
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Χρειαστήκατε πολύ χρόνο για να συμπληρώσετε τον κωδικό
@ -2273,11 +2302,13 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Παιχνίδ
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Παιχνίδι ακόμα σε παύση ({STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Παιχνίδι ακόμα σε παύση ({STRING}, {STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Παιχνίδι ακόμα σε παύση ({STRING}, {STRING}, {STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_5 :Παιχνίδι ακόμα σε παύση ({STRING}, {STRING}, {STRING}, {STRING}, {STRING})
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Συνεχίση παιχνιδιού ({STRING})
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 :αναμονή για ενημέρωση γραφήματος συνδέσμου
############ End of leave-in-this-order
STR_NETWORK_MESSAGE_CLIENT_LEAVING :αποχώρηση
STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} συμμετέχει στο παιχνίδι
@ -2287,8 +2318,10 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} σ
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ξεκίνησε μια νέα εταιρία (#{2:NUM})
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} αποχώρησε από το παιχνίδι ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} άλλαξαν το όνομά τους σε {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} έδωσε {2:CURRENCY_LONG} σε {1:STRING}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Ο διακομιστής έκλεισε την συνεδρία
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Ο διακομιστής επανεκκινεί...{}Παρακαλώ περιμένετε...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} εκδιώχθηκε. Λόγος: ({STRING})
# Content downloading window
STR_CONTENT_TITLE :{WHITE}Περιεχόμενο κατεβαίνει
@ -2509,6 +2542,8 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Κατα
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης για αυτοκινητόδρομους
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Εναλλαγή κτισίματος/αφαίρεσης της κατασκευής τροχιόδρομου
STR_ROAD_NAME_ROAD :Δρόμος
STR_ROAD_NAME_TRAM :Τροχιόδρομος
# Road depot construction window
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Προσανατολισμός Σταθμού Οχημάτων
@ -2596,6 +2631,10 @@ STR_TREES_RANDOM_TYPE :{BLACK}Δέντ
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Τοποθετήστε δέντρα τυχαίου τύπου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Τυχαία Δέντρα
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Φυτέψτε δέντρα τυχαία στο έδαφος
STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Κανονικό
STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Φυτέψτε μοναδικά δέντρα σέρνοντας πάνω από το τοπίο.
STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Άλσος
STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Φυτέψτε μικρά δάση σέρνοντας πάνω από το τοπίο.
# Land generation window (SE)
STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Δημιουργία Γης
@ -2646,12 +2685,14 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Τυχα
# Fund new industry window
STR_FUND_INDUSTRY_CAPTION :{WHITE}Χρηματοδότηση νέας βιομηχανίας
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Επιλέξτε την κατάλληλη βιομηχανία από την λίστα
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Πολλές τυχαίες βιομηχανίες
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Δημιουργία τυχαίων βιομηχανιών
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Γέμισε τον χάρτη με τυχαία τοποθετημένες βιομηχανίες
STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Κόστος: {YELLOW}{CURRENCY_LONG}
STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Διερεύνηση
STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Κατασκευή
STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Χρηματοδότηση
STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Αφαίρεση όλων των βιομηχανιών
STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Αφαίρεση όλων των βιομηχανιών που υπάρχουν αυτή την στιγμή στον χάρτι
# Industry cargoes window
STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Αλυσίδα βιομηχανιών για τη βιομηχανία {STRING}
@ -2693,8 +2734,10 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Αποδεκτά εμπορεύματα: {LTBLUE}
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Τύπος σιδηροτροχιάς: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Τύπος τραμ: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Όριο ταχύτητας σιδηροτροχιάς: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Όριο ταχύτητας δρόμου: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Όριο ταχύτητας τραμ: {LTBLUE}{VELOCITY}
# Description of land area of different tiles
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Πέτρες
@ -2811,6 +2854,7 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} καρέ/δευτερόλεπτο
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} καρέ/δευτερόλεπτο
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} καρέ/δευτερόλεπτο
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} ς
############ Leave those lines in this order!!
@ -2874,6 +2918,7 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF:
STR_SAVELOAD_FILTER_TITLE :Φιλτράρισμα κειμένου:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Αντικατάσταση Αρχείου
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Είστε σίγουροι οτι θέλετε να αντικαταστήσετε το υπάρχων αρχείο;
STR_SAVELOAD_DIRECTORY :{STRING} (Κατάλογος)
STR_SAVELOAD_OSKTITLE :{BLACK}Δώστε το όνομα του παιχνιδιού προς αποθήκευση
@ -3134,6 +3179,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Εναλ
# Sign window
STR_EDIT_SIGN_CAPTION :{WHITE}Επεξεργασία κειμένου πινακίδας
STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στη τοποθεσία της πινακίδας. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της πινακίδας
STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Μετάβαση στην επόμενη πινακίδα
STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Μετάβαση στη προηγούμενη πινακίδα
@ -3176,6 +3222,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Μετονομ
# Town local authority window
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Τοπική αρχή της πόλης {TOWN}
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Ζώνη
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ποσοστά εταιρίας μεταφορών:
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Διαθέσιμες πράξεις:
@ -3215,10 +3262,10 @@ STR_GOALS_COMPANY_TITLE :{BLACK}Εται
STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Πατήστε στον στόχο για να επικεντρωθεί η οθόνη στη βιομηχανία/πόλη/τετραγωνίδιο. Με Ctrl+Κλικ ανοίγει το παράθυρο θέασης στην τοποθεσία της βιομηχανίας/πόλης/τετραγωνίδιου
# Goal question window
STR_GOAL_QUESTION_CAPTION_QUESTION :Ερώτηση
STR_GOAL_QUESTION_CAPTION_INFORMATION :Πληροφορίες
STR_GOAL_QUESTION_CAPTION_WARNING :Προειδοποίηση
STR_GOAL_QUESTION_CAPTION_ERROR :Σφάλμα
STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Ερώτηση
STR_GOAL_QUESTION_CAPTION_INFORMATION :{BLACK}Πληροφορίες
STR_GOAL_QUESTION_CAPTION_WARNING :{BLACK}Προειδοποίηση
STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Σφάλμα
############ Start of Goal Question button list
STR_GOAL_QUESTION_BUTTON_CANCEL :Ακύρωση
@ -3409,6 +3456,7 @@ STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Εποι
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Λεπτομέρειες
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Προβολή λεπτομερούς μέτρησης υποδομών
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Δώστε χρήματα
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Δώστε χρήματα σε αυτή την εταρία
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Νέο Πρόσωπο
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Επιλογή νέου προσώπου διευθυντή
@ -3426,7 +3474,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Πώλη
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Όνομα Εταιρίας
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Όνομα Διευθυντή
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Εισάγετε το πόσο των χρημάτων που θέλετε να δώσετε
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Εισάγετε το χρηματικό ποσό που θέλετε να δώσετε
STR_BUY_COMPANY_MESSAGE :{WHITE}Ψάχνουμε μία εταιρία μεταφορών για να εξαγοράσει την εταιρία μας.{}{}Θέλετε να εξαγοράσετε την {COMPANY} για {CURRENCY_LONG};
@ -3435,6 +3483,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Υποδ
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Κομμάτια σιδηροτροχιάς:
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Σήματα
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Κομμάτια δρόμου:
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Κομμάτια τραμ:
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Τετραγωνίδια νερού:
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Κανάλια
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Σταθμοί:
@ -3446,7 +3495,13 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Βιομηχανίες
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Τίποτα -
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
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_LIST_CAPTION :{BLACK}Ονόματα βιομηχανιών - πατήστε στο όνομα για κεντράρισμα στη βιομηχανία. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της βιομηχανίας
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Αποδεκτό φορτίο: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Παραγόμενο εμπόρευμα: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Όλοι οι τύποι φορτίου
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -3540,6 +3595,7 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Νέα Οχήμ
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Νέα Οχήματα Maglev
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Νέα Οχήματα Δρόμου
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Νέα οχήματα τραμ
############ range for vehicle availability starts
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Νέα Οχήματα Σιδηρόδρομου
@ -3709,6 +3765,7 @@ STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Μόλι
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}ατμομηχανή
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE.geniki :ατμομηχανής
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :Μηχανή ηλεκτροδοτουμένου σιδηροδρόμου
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}μηχανής μονοτρόχιου
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE.geniki :μηχανής monorail
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}μηχανής maglev
@ -3716,6 +3773,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.geniki :μηχανής
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=n}οχήματος δρόμου
STR_ENGINE_PREVIEW_ROAD_VEHICLE.geniki :Οχήματος δρόμου
STR_ENGINE_PREVIEW_TRAM_VEHICLE :όχημα τροχιοδρόμου
STR_ENGINE_PREVIEW_AIRCRAFT :{G=n}αεροσκάφους
STR_ENGINE_PREVIEW_AIRCRAFT.geniki :αεροσκάφους
@ -3761,12 +3819,14 @@ STR_REPLACE_WAGONS :Βαγόνια
STR_REPLACE_ALL_RAILTYPE :Όλα τα οχήματα σιδηρόδρομου
STR_REPLACE_HELP_RAILTYPE :{BLACK}Επιλέξτε τον τύπο σιδηροδρόμου για τον οποίο θέλετε να γίνει η αντικατάσταση των μηχανών
STR_REPLACE_HELP_ROADTYPE :{BLACK}Επιλέξτε τον τύπο δρόμου για τον οποίο θέλετε να γίνει η αντικατάσταση των μηχανών
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Εμφανίζει ποια μηχανή αυτή στα αριστερά θα αντικατασταθεί, εάν υπάρχει
STR_REPLACE_RAIL_VEHICLES :Οχήματα Σιδηροδρόμου
STR_REPLACE_ELRAIL_VEHICLES :Οχήματα Ηλεκτρικού Σιδηροδρόμου
STR_REPLACE_MONORAIL_VEHICLES :Οχήματα Μονοτρόχιου
STR_REPLACE_MAGLEV_VEHICLES :Οχήματα Maglev
STR_REPLACE_TRAM_VEHICLES :Οχήματα τροχιοδρόμου
STR_REPLACE_REMOVE_WAGON :{BLACK}Αφαίρεση βαγονιού: {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Υποχρεώνει την αυτόματη αντικατάσταση να διατηρεί σταθερό το μήκος του τρένου αφαιρώντας βαγόνια (ξεκινώντας από μπροστά), όταν η αντικατάσταση της μηχανής κάνει το τρένο μεγαλύτερο
@ -3774,6 +3834,8 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Υποχ
# Vehicle view
STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE}
STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του οχήματος. Με διπλό κλικ θα ακολουθείται το αυτοκίνητο στην κύρια προβολή. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του οχήματος
STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του πλοίου. Με διπλό κλικ θα ακολουθείται το πλοίο στην κύρια προβολή. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του πλοίου
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το τρένο στο αμαξοστάσιο. Με Ctrl+Κλικ κάνει μόνο επισκευή
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το όχημα στο αμαξοστάσιο. Με Ctrl+Κλικ κάνει μόνο επισκευή
@ -3805,6 +3867,7 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Εμφά
STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Εμφάνιση λεπτομερειών πλοίου
STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Εμφάνιση λεπτομερειών αεροσκάφους
STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχων ενέργεια οχήματος - κάντε κλικ για να σταματήσετε/ξεκινήσετε το όχημα
# Messages in the start stop button in the vehicle view
@ -4033,6 +4096,7 @@ STR_ORDER_REFIT_STOP_ORDER :(Μετατρο
STR_ORDER_STOP_ORDER :(Στάση)
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Δεν μπορείτε να χρησιμοποιήσετε τον σταθμό){POP_COLOUR} {STRING} {STATION} {STRING}
STR_ORDER_IMPLICIT :(Σιωπηρή)
@ -4211,6 +4275,9 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Αποδ
STR_AI_LIST_CANCEL :{BLACK}Άκυρωση
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Να μην γίνει αλλαγή δέσμης ενεργειών
STR_SCREENSHOT_CAPTION :{WHITE}Βγάλτε στιγμιότυπο εικόνας
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Το στιγμιότυπο οθόνης έχει μεγεθυνθεί πλήρως
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Στιγμιότυπο χάρτη υψομετρίας
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Παράμετροι
@ -4476,6 +4543,7 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Λάθος τύ
STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}Το {VEHICLE} είναι πολύ μεγάλο μετά την ανανέωση
STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Χωρίς εφαρμογή κανόνων αυτόματης ανανέωσης/αντικατάστασης
STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(χρηματικό όριο)
STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Το καινούριο όχημα δεν μπορεί να επανεξοπλιστεί σε σειρά {NUM}
# Rail construction errors
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Αδύνατος συνδυασμός σιδηροδρόμου
@ -4503,6 +4571,11 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Αδύν
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Δεν μπορεί να αφαιρεθεί τροχιόδρομος από εδώ...
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... δεν υπάρχει δρόμος
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... δεν υπάρχει τροχιόδρομος
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Δε γίνεται να μετατραπεί ο τύπος δρόμου εδώ...
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Δε γίνεται να μετατραπεί ο τύπος τραμ εδώ...
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Δεν υπάρχει κατάλληλος δρόμος
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Καμία κατάλληλη γραμμή του τραμ
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... μη συμβατός τραχιοδρόμος
# Waterway construction errors
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Δεν μπορεί να κτιστεί κανάλι εδώ
@ -4759,13 +4832,13 @@ STR_INDUSTRY_NAME_SUGAR_MINE :{G=n}Ορυχε
##id 0x6000
STR_SV_EMPTY :
STR_SV_UNNAMED :Ανώνυμο
STR_SV_TRAIN_NAME :{G=n}Τρένο {COMMA}
STR_SV_TRAIN_NAME :{G=n}Τρένο #{COMMA}
STR_SV_TRAIN_NAME.geniki :Τρένου {COMMA}
STR_SV_ROAD_VEHICLE_NAME :{G=n}Όχημα Δρόμου {COMMA}
STR_SV_ROAD_VEHICLE_NAME :{G=n}Όχημα Δρόμου #{COMMA}
STR_SV_ROAD_VEHICLE_NAME.geniki :Οχήματος Δρόμου {COMMA}
STR_SV_SHIP_NAME :{G=n}Πλοίο {COMMA}
STR_SV_SHIP_NAME :{G=n}Πλοίο #{COMMA}
STR_SV_SHIP_NAME.geniki :Πλοίου {COMMA}
STR_SV_AIRCRAFT_NAME :{G=n}Αεροσκάφος {COMMA}
STR_SV_AIRCRAFT_NAME :{G=n}Αεροσκάφος #{COMMA}
STR_SV_AIRCRAFT_NAME.geniki :Αεροσκάφους {COMMA}
STR_SV_STNAME :{STRING}
@ -5068,6 +5141,7 @@ STR_FORMAT_BUOY_NAME :Σημαδού
STR_FORMAT_BUOY_NAME_SERIAL :Σημαδούρα {TOWN} #{COMMA}
STR_FORMAT_COMPANY_NUM :(Εταιρία {COMMA})
STR_FORMAT_GROUP_NAME :Ομάδα {COMMA}
STR_FORMAT_GROUP_VEHICLE_NAME :{GROUP} #{COMMA}
STR_FORMAT_INDUSTRY_NAME :{1:STRING} {0:TOWN}
STR_FORMAT_WAYPOINT_NAME :Σημείο Καθοδήγησης {TOWN}
STR_FORMAT_WAYPOINT_NAME_SERIAL :Σημείο Καθοδήγησης {TOWN} #{COMMA}

@ -1626,6 +1626,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :재정 창에
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :재정 창에 나타나는 회사 비용을 어떻게 표시할지 설정합니다.
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :선로 건설 중 신호기 자동 제거: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :신호기가 이미 있는 선로에 선로를 추가로 설치하면 신호기를 자동으로 제거합니다. 잘못 사용하면 잠재적으로 열차가 충돌할 수 있다는 점을 명심하세요.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :빨리 감기 속도 제한: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :빨리 감기를 했을 때 게임이 진행되는 속도를 제한할 수 있습니다. 0으로 설정하면 컴퓨터가 허용하는 만큼 빠르게 돌립니다. 100% 미만의 값으로 설정하면 게임이 느리게 돌아갑니다. 빨리 감기 속도의 최댓값은 컴퓨터의 성능에 따라 결정되며 맵에 따라 다를 수 있습니다.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :보통 게임 속도의 {NUM}%
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :제한 없음 (컴퓨터가 허용하는 만큼 빠르게)
STR_CONFIG_SETTING_ENABLE_BUILD_RIVER :강 건설 활성화: {STRING}
STR_CONFIG_SETTING_ENABLE_BUILD_RIVER_HELPTEXT :시나리오 편집기 밖에서 강을 건설할 수 있게 할지 설정합니다.

@ -1457,6 +1457,9 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Grupper utgifte
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definer oppsettet for vinduet som viser selskapets utgifter
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatisk fjerne signaler mens jernbane bygges: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatisk fjerne signaler mens jernbane bygges dersom signalene er i veien. Vær oppmerksom på at dette kan potensielt lede til togkrasj.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Grense for hvor fort spillet kjører: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal hastighet
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Ingen grense (så fort som maskinen din tillater)
STR_CONFIG_SETTING_SOUND_TICKER :Nyhetstavle: {STRING}
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Spille av lyd for oppsummerte nyhetsmeldinger

@ -705,7 +705,7 @@ STR_GROUP_BY_SHARED_ORDERS :Polecenia wspó
# Tooltips for the main toolbar
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pauza
STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Szybkie przemijanie czasu w grze
STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Przyspieszenie czasu w grze
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opcje
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Zapis gry, opuszczenie gry, wyjście
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Wyświetl mapę, dodatkowy podgląd lub listę napisów
@ -1834,6 +1834,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Pogrupuj wydatk
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Określa układ okienka wydatków firmy
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatycznie usuwaj sygnały podczas budowy torów: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatycznie usuwaj sygnały, które przeszkadzają w budowie toru. Pamiętaj, że może to doprowadzić do zderzenia pociągów, w przypadku usunięcia ważnych sygnałów.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Ograniczenie prędkości przyspieszonego czasu w grze: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Ograniczenie prędkości gry, kiedy przyspieszenie czasu jest włączone. 0 = bez ograniczenia (tak szybko, jak pozwoli na to komputer). Wartości poniżej 100% spowolnią grę. Górny limit jest zależny od specyfikacji komputera i może się różnić w zależności od rozgrywki.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normalnej prędkości gry
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Brak ograniczenia (tak szybko, jak pozwoli na to komputer)
STR_CONFIG_SETTING_SOUND_TICKER :Pasek informacji: {STRING}
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Odtwarzaj dźwięk dla podsumowania wiadomości

@ -614,7 +614,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Coordinador de
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Supervisor de Rutas
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Jefe
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Subdirector
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Director
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Director(a)
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Presidente
STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Magnate
@ -697,7 +697,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clic en
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Lista de empresas que han llegado a {NUM}
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tabla de clasificación de empresas en {NUM}
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Hombre de negocios
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Empresario(a)
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Empresario
STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Industrial
STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Capitalista
@ -948,6 +948,7 @@ STR_GAME_OPTIONS_CURRENCY_NTD :Nuevo dólar ta
STR_GAME_OPTIONS_CURRENCY_CNY :Yuan chino (CNY)
STR_GAME_OPTIONS_CURRENCY_HKD :Dólar honkonés (HKD)
STR_GAME_OPTIONS_CURRENCY_INR :Rupia india (INR)
STR_GAME_OPTIONS_CURRENCY_IDR :Rupia indonesia (IDR)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Manejar por la izquierda
@ -1004,6 +1005,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :Otra
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño de la interfaz
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Elegir el tamaño de los elementos de la interfaz
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(detectar)
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doble
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Cuádruple
@ -1011,6 +1013,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Cuádruple
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamaño de letra
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Elegir qué tamaño de letra usar en la interfaz
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(detectar)
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doble
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Cuádruple
@ -1452,6 +1455,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupar gastos
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definir el diseño de la ventana de finanzas
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Quitar señales de forma automática al construir vías férreas: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Quitar las señales de forma automática al construir vías férreas si estas obstruyen. Puede provocar choques de trenes.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Límite de velocidad del avance rápido: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Límite de velocidad del avance rápido. 0 significa sin límite o la velocidad que el sistema permita. Valores debajo de 100% retardan el juego. El límite más alto varía en factor de las capacidades del sistema y el juego.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% velocidad normal
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sin límite (lo que permita el sistema)
STR_CONFIG_SETTING_SOUND_TICKER :Boletín de noticias: {STRING}
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Reproducir sonido para mensajes resumidos de noticias
@ -2847,6 +2854,8 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF:
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtrar texto:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobrescribir archivo
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}¿Estás seguro de sobrescribir el archivo?
STR_SAVELOAD_DIRECTORY :{STRING} (Carpeta)
STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Carpeta superior)
STR_SAVELOAD_OSKTITLE :{BLACK}Indicar un nombre para la partida a guardar
@ -2997,7 +3006,7 @@ STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Número
# NewGRF inspect window
STR_NEWGRF_INSPECT_CAPTION :{WHITE}Analizar: {STRING}
STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Superior
STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspeccionar objeto del entorno superior
STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspeccionar objeto del entorno externo
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} en {HEX}
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objeto

@ -1454,6 +1454,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Gruppera utgift
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Välj layout för företagens utgiftsfönster
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatiskt ta bort signaler vid byggande av järnväg: {STRING}
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Ta automatiskt bort signaler vid byggande av järnväg om signalerna är i vägen. Notera att detta kan leda till att tåg krockar.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Snabbspolnings begränsning: {STRING}
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begränsa hur snabbt spelet går när snabbspolning är aktiverad. 0 = ingen begränsning (så snabbt som din dator tillåter). Värden under 100% saktar ner spelet. Den övre begränsningen beror på din dators specifikationer och kan variera beroende på spelet.
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal spel hastighet
STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Ingen begränsning (Så snabbt som din dator tillåter)
STR_CONFIG_SETTING_SOUND_TICKER :Summerade nyheter: {STRING}
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Spela ljudeffekt för sammanfattade nyhetsmeddelanden

@ -309,6 +309,7 @@ STR_SORT_BY_POPULATION :மக்கள
STR_SORT_BY_RATING :மதிப்பீடு
# Group by options for vehicle list
STR_GROUP_BY_NONE :ஒன்றுமில்லை
# Tooltips for the main toolbar
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}இடை நிறுத்து
@ -1356,6 +1357,7 @@ STR_CONFIG_SETTING_AI_PROFILE_EASY :எளிதா
STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :நடுத்தரமான
STR_CONFIG_SETTING_AI_PROFILE_HARD :கடுமையான
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :கணினிகளை பல்வீரர் ஆட்டத்தில் அனுமதி: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT :பழுதுபார்த்தல்கள் இடையே உள்ள காலத்தினை சதவிகிதத்தில் காட்டவும்: {STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS :இரயிகளின் பழுதுபார்த்தல் இடைவேளி: {STRING}
@ -1609,6 +1611,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}நீ
# Cheat window
STR_CHEATS :{WHITE}ஏமாற்றுகள்
STR_CHEATS_NOTE :{BLACK}குறிப்பு: இந்த அமைப்புகளின் எந்தவொரு பயன்பாடும் பதிவு செய்யப்படும்
STR_CHEAT_MONEY :{LTBLUE}{CURRENCY_LONG} ஆக பணத்தை உயர்த்து
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}இந்த நிறுவனமாக ஆடுகிறீர்கள்: {ORANGE}{COMMA}
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}அதிசய நிலச்சமனி (தொழிற்சாலைகள் மற்றும் பொருட்களை நீக்குவதற்கு): {ORANGE}{STRING}
@ -1980,6 +1983,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING}
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} புதிய நிறுவனம் (#{2:NUM})வை துவக்கி உள்ளார்
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ஆட்டத்தை விட்டு வெளியேரினார் ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} அவரது/அவளது பெயரினை {STRING} என்று மாற்றினார்
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} தங்கள் நிறுவனத்திற்கு {1:STRING} {2:CURRENCY_LONG} கொடுத்தார்
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}சர்வர் ஆட்டத்தினை முடித்தது
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}சர்வர் மீண்டும் தொடங்குகிறது...{}சற்று பொறுக்கவும்...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} வெளியேற்றப்பட்டார். காரணம்: ({STRING})
@ -2297,7 +2301,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}ஏத
# Fund new industry window
STR_FUND_INDUSTRY_CAPTION :{WHITE}புதிய தொழிற்சாலையினை நிறுவு
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}இந்தப் பட்டியலிருந்து பொருத்தமான தொழிற்சாலை ஒன்றினை தேர்ந்தெடு
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :பல மாறுபட்ட தொழிற்சாலைகள்
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}மாறுபட்ட தொழிற்சாலைகளை உருவாககுக
STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}விலை: {YELLOW}{CURRENCY_LONG}
STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}எங்கேயோ நிறுவு
STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}கட்டு
@ -2795,10 +2799,10 @@ STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING}
STR_GOALS_COMPANY_TITLE :{BLACK}நிறுவனத்தின் குறிக்கோள்கள்:
# Goal question window
STR_GOAL_QUESTION_CAPTION_QUESTION :கேள்வி
STR_GOAL_QUESTION_CAPTION_INFORMATION :தகவல்
STR_GOAL_QUESTION_CAPTION_WARNING :எச்சரிக்கை
STR_GOAL_QUESTION_CAPTION_ERROR :பிழை
STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}கேள்வி
STR_GOAL_QUESTION_CAPTION_INFORMATION :{BLACK}தகவல்
STR_GOAL_QUESTION_CAPTION_WARNING :{BLACK}எச்சரிக்கை
STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}பிழை
############ Start of Goal Question button list
STR_GOAL_QUESTION_BUTTON_CANCEL :இரத்து செய்
@ -2997,6 +3001,7 @@ STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :நிறுவ
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :மேலாளரின் பெயர்
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :கொடுக்கப்படும் பணத்தின் அளவினை இடவும்
STR_BUY_COMPANY_MESSAGE :{WHITE}எங்கள் நிறுவனத்தை கையகப்படுத்த ஒரு போக்குவரத்து நிறுவனத்தை நாங்கள் தேடுகிறோம்.{}{}நீங்கள் {COMPANY}யை {CURRENCY_LONG} வாங்க விரும்புகிறீர்களா?
# Company infrastructure window
STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY} இன் கட்டுமானங்கள்
@ -3144,11 +3149,12 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}வி
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}கப்பலை வாங்கி மாற்றியமை
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}விமானத்தை வாங்கி மாற்றியமை
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}காட்டப்படும் இரயில் வாகனத்தை வாங்கவும். Shift+Click செய்தால் வாங்கும்போது ஆகும் மதிப்பிடப்பட்டச் செலவுகளைக் காட்டு
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}காட்டப்படும் இரயில் வாகனத்தை வாங்கவும். Shift+Click செய்தால் வாங்கும்போது ஆகும் மதிப்பிடப்பட்டச் செலவுகளைக் காட்டும்.
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}காட்டப்படும் சாலை வாகனத்தை வாங்கவும். Shift+Click செய்தால் வாங்கும்போது ஆகும் மதிப்பிடப்பட்டச் செலவுகளைக் காட்டும்
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}காட்டப்படும் கப்பலை வாங்கவும். Shift+Click செய்தால் வாங்கும்போது ஆகும் மதிப்பிடப்பட்டச் செலவுகளைக் காட்டும்
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}காட்டப்படும் விமானத்தை வாங்கவும். Shift+Click செய்தால் வாங்கும்போது ஆகும் மதிப்பிடப்பட்டச் செலவுகளைக் காட்டும்
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}காட்டப்படும் சாலை வாகனத்தை வாங்கி புதுப்பிக்கவும். Shift+Click செய்தால் வாங்கும்போது ஆகும் மதிப்பிடப்பட்டச் செலவுகளைக் காட்டும்.
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}பெயரிடு
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}பெயரிடு
@ -4258,10 +4264,10 @@ STR_INDUSTRY_NAME_SUGAR_MINE :சர்க்
##id 0x6000
STR_SV_EMPTY :
STR_SV_UNNAMED :பெயரிடாதது
STR_SV_TRAIN_NAME :இரயில் {COMMA}
STR_SV_ROAD_VEHICLE_NAME :சாலை வாகனம் {COMMA}
STR_SV_SHIP_NAME :கப்பல் {COMMA}
STR_SV_AIRCRAFT_NAME :விமானம் {COMMA}
STR_SV_TRAIN_NAME :இரயில் #{COMMA}
STR_SV_ROAD_VEHICLE_NAME :சாலை வாகனம் #{COMMA}
STR_SV_SHIP_NAME :கப்பல் #{COMMA}
STR_SV_AIRCRAFT_NAME :விமானம் #{COMMA}
STR_SV_STNAME :{STRING}
STR_SV_STNAME_NORTH :{STRING} வடக்கு

@ -21,6 +21,15 @@
#include "zoom_type.h"
#include "openttd.h"
/* Used to validate sizes of "max" value in settings. */
const size_t MAX_SLE_UINT8 = UINT8_MAX;
const size_t MAX_SLE_UINT16 = UINT16_MAX;
const size_t MAX_SLE_UINT32 = UINT32_MAX;
const size_t MAX_SLE_UINT = UINT_MAX;
const size_t MAX_SLE_INT8 = INT8_MAX;
const size_t MAX_SLE_INT16 = INT16_MAX;
const size_t MAX_SLE_INT32 = INT32_MAX;
const size_t MAX_SLE_INT = INT_MAX;
/** Settings profiles and highscore tables. */
enum SettingsProfile {

@ -186,11 +186,13 @@ struct SettingsIniFile : IniLoadFile {
};
OutputStore _stored_output; ///< Temporary storage of the output, until all processing is done.
OutputStore _post_amble_output; ///< Similar to _stored_output, but for the post amble.
static const char *PREAMBLE_GROUP_NAME = "pre-amble"; ///< Name of the group containing the pre amble.
static const char *PREAMBLE_GROUP_NAME = "pre-amble"; ///< Name of the group containing the pre amble.
static const char *POSTAMBLE_GROUP_NAME = "post-amble"; ///< Name of the group containing the post amble.
static const char *TEMPLATES_GROUP_NAME = "templates"; ///< Name of the group containing the templates.
static const char *DEFAULTS_GROUP_NAME = "defaults"; ///< Name of the group containing default values for the template variables.
static const char *TEMPLATES_GROUP_NAME = "templates"; ///< Name of the group containing the templates.
static const char *VALIDATION_GROUP_NAME = "validation"; ///< Name of the group containing the validation statements.
static const char *DEFAULTS_GROUP_NAME = "defaults"; ///< Name of the group containing default values for the template variables.
/**
* Load the INI file.
@ -239,17 +241,84 @@ static const char *FindItemValue(const char *name, IniGroup *grp, IniGroup *defa
return item->value->c_str();
}
/**
* Parse a single entry via a template and output this.
* @param item The template to use for the output.
* @param grp Group current being used for template rendering.
* @param default_grp Default values for items not set in @grp.
* @param output Output to use for result.
*/
static void DumpLine(IniItem *item, IniGroup *grp, IniGroup *default_grp, OutputStore &output)
{
static const int MAX_VAR_LENGTH = 64;
/* Prefix with #if/#ifdef/#ifndef */
static const char * const pp_lines[] = {"if", "ifdef", "ifndef", nullptr};
int count = 0;
for (const char * const *name = pp_lines; *name != nullptr; name++) {
const char *condition = FindItemValue(*name, grp, default_grp);
if (condition != nullptr) {
output.Add("#", 1);
output.Add(*name);
output.Add(" ", 1);
output.Add(condition);
output.Add("\n", 1);
count++;
}
}
/* Output text of the template, except template variables of the form '$[_a-z0-9]+' which get replaced by their value. */
const char *txt = item->value->c_str();
while (*txt != '\0') {
if (*txt != '$') {
output.Add(txt, 1);
txt++;
continue;
}
txt++;
if (*txt == '$') { // Literal $
output.Add(txt, 1);
txt++;
continue;
}
/* Read variable. */
char variable[MAX_VAR_LENGTH];
int i = 0;
while (i < MAX_VAR_LENGTH - 1) {
if (!(txt[i] == '_' || (txt[i] >= 'a' && txt[i] <= 'z') || (txt[i] >= '0' && txt[i] <= '9'))) break;
variable[i] = txt[i];
i++;
}
variable[i] = '\0';
txt += i;
if (i > 0) {
/* Find the text to output. */
const char *valitem = FindItemValue(variable, grp, default_grp);
if (valitem != nullptr) output.Add(valitem);
} else {
output.Add("$", 1);
}
}
output.Add("\n", 1); // \n after the expanded template.
while (count > 0) {
output.Add("#endif\n");
count--;
}
}
/**
* Output all non-special sections through the template / template variable expansion system.
* @param ifile Loaded INI data.
*/
static void DumpSections(IniLoadFile *ifile)
{
static const int MAX_VAR_LENGTH = 64;
static const char * const special_group_names[] = {PREAMBLE_GROUP_NAME, POSTAMBLE_GROUP_NAME, DEFAULTS_GROUP_NAME, TEMPLATES_GROUP_NAME, nullptr};
static const char * const special_group_names[] = {PREAMBLE_GROUP_NAME, POSTAMBLE_GROUP_NAME, DEFAULTS_GROUP_NAME, TEMPLATES_GROUP_NAME, VALIDATION_GROUP_NAME, nullptr};
IniGroup *default_grp = ifile->GetGroup(DEFAULTS_GROUP_NAME, false);
IniGroup *templates_grp = ifile->GetGroup(TEMPLATES_GROUP_NAME, false);
IniGroup *validation_grp = ifile->GetGroup(VALIDATION_GROUP_NAME, false);
if (templates_grp == nullptr) return;
/* Output every group, using its name as template name. */
@ -263,61 +332,14 @@ static void DumpSections(IniLoadFile *ifile)
fprintf(stderr, "settingsgen: Warning: Cannot find template %s\n", grp->name.c_str());
continue;
}
DumpLine(template_item, grp, default_grp, _stored_output);
/* Prefix with #if/#ifdef/#ifndef */
static const char * const pp_lines[] = {"if", "ifdef", "ifndef", nullptr};
int count = 0;
for (const char * const *name = pp_lines; *name != nullptr; name++) {
const char *condition = FindItemValue(*name, grp, default_grp);
if (condition != nullptr) {
_stored_output.Add("#", 1);
_stored_output.Add(*name);
_stored_output.Add(" ", 1);
_stored_output.Add(condition);
_stored_output.Add("\n", 1);
count++;
if (validation_grp != nullptr) {
IniItem *validation_item = validation_grp->GetItem(grp->name, false); // Find template value.
if (validation_item != nullptr && validation_item->value.has_value()) {
DumpLine(validation_item, grp, default_grp, _post_amble_output);
}
}
/* Output text of the template, except template variables of the form '$[_a-z0-9]+' which get replaced by their value. */
const char *txt = template_item->value->c_str();
while (*txt != '\0') {
if (*txt != '$') {
_stored_output.Add(txt, 1);
txt++;
continue;
}
txt++;
if (*txt == '$') { // Literal $
_stored_output.Add(txt, 1);
txt++;
continue;
}
/* Read variable. */
char variable[MAX_VAR_LENGTH];
int i = 0;
while (i < MAX_VAR_LENGTH - 1) {
if (!(txt[i] == '_' || (txt[i] >= 'a' && txt[i] <= 'z') || (txt[i] >= '0' && txt[i] <= '9'))) break;
variable[i] = txt[i];
i++;
}
variable[i] = '\0';
txt += i;
if (i > 0) {
/* Find the text to output. */
const char *valitem = FindItemValue(variable, grp, default_grp);
if (valitem != nullptr) _stored_output.Add(valitem);
} else {
_stored_output.Add("$", 1);
}
}
_stored_output.Add("\n", 1); // \n after the expanded template.
while (count > 0) {
_stored_output.Add("#endif\n");
count--;
}
}
}
@ -476,6 +498,7 @@ int CDECL main(int argc, char *argv[])
}
_stored_output.Clear();
_post_amble_output.Clear();
for (int i = 0; i < mgo.numleft; i++) ProcessIniFile(mgo.argv[i]);
@ -483,6 +506,7 @@ int CDECL main(int argc, char *argv[])
if (output_file == nullptr) {
CopyFile(before_file, stdout);
_stored_output.Write(stdout);
_post_amble_output.Write(stdout);
CopyFile(after_file, stdout);
} else {
static const char * const tmp_output = "tmp2.xxx";
@ -494,6 +518,7 @@ int CDECL main(int argc, char *argv[])
}
CopyFile(before_file, fp);
_stored_output.Write(fp);
_post_amble_output.Write(fp);
CopyFile(after_file, fp);
fclose(fp);

@ -22,6 +22,9 @@ SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $in
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
SDT_END = SDT_END()
[validation]
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
[defaults]
flags = 0
guiflags = SGF_PER_COMPANY

@ -14,6 +14,9 @@ SDT_CHR = SDT_CHR($base, $var, $flags, $guiflags, $def,
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr),
SDT_END = SDT_END()
[validation]
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
[defaults]
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NONE

@ -47,6 +47,13 @@ SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $ma
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
SDT_END = SDT_END()
[validation]
SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
[defaults]
flags = 0
guiflags = SGF_NONE
@ -151,7 +158,8 @@ var = game_creation.snow_line_height
type = SLE_UINT8
def = DEF_SNOWLINE_HEIGHT * TILE_HEIGHT
min = MIN_SNOWLINE_HEIGHT * TILE_HEIGHT
max = MAX_SNOWLINE_HEIGHT * TILE_HEIGHT
# "max" used to be MAX_SNOWLINE_HEIGHT * TILE_HEIGHT, but this would overflow the storage.
max = UINT8_MAX
to = SLV_22
;;game_creation.desert_amount

@ -26,6 +26,10 @@ SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def,
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
SDTG_END = SDTG_END()
[validation]
SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
[defaults]
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NONE

@ -153,6 +153,14 @@ SDT_END = SDT_END()
SDT_LINKGRAPH_PER_CARGO = SDT_ENUM(GameSettings, linkgraph.distribution_per_cargo[$linkgraph_cargo], SLE_UINT8, $flags | SLF_NOT_IN_CONFIG, $guiflags | SGF_NO_NEWGAME, DT_PER_CARGO_DEFAULT, STR_CONFIG_SETTING_DISTRIBUTION_PER_CARGO, STR_CONFIG_SETTING_DISTRIBUTION_PER_CARGO_HELPTEXT, $proc, $from, $to, SC_EXPERT, false, SlXvFeatureTest(XSLFTO_AND, XSLFI_LINKGRAPH_MODES), nullptr, _linkgraph_mode_per_cargo),
[validation]
SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
[defaults]
flags = 0
guiflags = SGF_NONE
@ -592,7 +600,7 @@ type = SLE_UINT16
from = SLV_156
def = 4096
min = 0
max = 1 << 30
max = 1 << 15
interval = 1
cat = SC_EXPERT
@ -614,7 +622,7 @@ type = SLE_UINT16
from = SLV_156
def = 4096
min = 0
max = 1 << 30
max = 1 << 15
interval = 1
cat = SC_EXPERT
@ -636,7 +644,7 @@ type = SLE_UINT16
from = SLV_175
def = 4096
min = 0
max = 1 << 30
max = 1 << 15
interval = 1
cat = SC_EXPERT
@ -657,7 +665,7 @@ var = construction.purchase_land_frame_burst
type = SLE_UINT16
def = 1024
min = 0
max = 1 << 30
max = 1 << 15
interval = 1
cat = SC_EXPERT
patxname = ""buy_land_rate_limit.construction.purchase_land_frame_burst""
@ -679,7 +687,7 @@ var = construction.build_object_frame_burst
type = SLE_UINT16
def = 2048
min = 0
max = 1 << 30
max = 1 << 15
interval = 1
cat = SC_EXPERT
patxname = ""build_object_rate_limit.construction.build_object_frame_burst""
@ -5209,7 +5217,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED | SGF_NO_NETWORK
def = 2500
min = 0
max = 100000
max = 50000
interval = 10
str = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT
strhelp = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT

@ -18,6 +18,9 @@ SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def,
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
SDTG_END = SDTG_END()
[validation]
SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
[defaults]
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NONE

@ -14,6 +14,9 @@ SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def,
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
SDT_END = SDT_END()
[validation]
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for $base.$var exceeds storage size");
[defaults]
base = WindowDesc
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC

@ -196,6 +196,10 @@ bool VideoDriver_Cocoa::ToggleFullscreen(bool full_screen)
if ([ this->window respondsToSelector:@selector(toggleFullScreen:) ]) {
[ this->window performSelector:@selector(toggleFullScreen:) withObject:this->window ];
/* Hide the menu bar and the dock */
[ NSMenu setMenuBarVisible:!full_screen ];
this->UpdateVideoModes();
return true;
}

@ -42,7 +42,7 @@ bool VideoDriver::Tick()
}
/* Prevent drawing when switching mode, as windows can be removed when they should still appear. */
if (this->HasGUI() && cur_ticks >= this->next_draw_tick && (_switch_mode == SM_NONE || HasModalProgress())) {
if (this->HasGUI() && cur_ticks >= this->next_draw_tick && (_switch_mode == SM_NONE || _game_mode == GM_BOOTSTRAP || HasModalProgress())) {
this->next_draw_tick += this->GetDrawInterval();
/* Avoid next_draw_tick getting behind more and more if it cannot keep up. */
if (this->next_draw_tick < cur_ticks - ALLOWED_DRIFT * this->GetDrawInterval()) this->next_draw_tick = cur_ticks;

@ -138,7 +138,7 @@ bool VideoDriver_Win32Base::MakeWindow(bool full_screen)
_fullscreen = full_screen;
/* recreate window? */
if ((full_screen || this->fullscreen) && this->main_wnd) {
if ((full_screen != this->fullscreen) && this->main_wnd) {
DestroyWindow(this->main_wnd);
this->main_wnd = 0;
}
@ -716,7 +716,9 @@ LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
if (video_driver->fullscreen) {
if (active && minimized) {
/* Restore the game window */
Dimension d = _bck_resolution; // Save current non-fullscreen window size as it will be overwritten by ShowWindow.
ShowWindow(hwnd, SW_RESTORE);
_bck_resolution = d;
video_driver->MakeWindow(true);
} else if (!active && !minimized) {
/* Minimise the window and restore desktop */

Loading…
Cancel
Save