1
0
Fork 0

Compare commits

..

3 Commits

Author SHA1 Message Date
Tyler Trahan f49ffaaaea
Fix e4fd99a, Fix #11270: Vehicle max age is not subject to leap years (#11372) 2023-10-15 22:34:03 +00:00
Peter Nelson 356a5d5773
Codechange: Use std::vector in fallback layouter, and shorten accessors. (#11355)
This avoids use of malloc/free (and custom move constructors), and follows how the exist layouters are written.
2023-10-15 21:59:10 +01:00
translators 2be1b72a5b Update: Translations from eints
hungarian: 50 changes by Norodix
2023-10-15 18:36:51 +00:00
5 changed files with 104 additions and 129 deletions

View File

@ -1388,7 +1388,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 75
GetMaxSpeed(): 64
GetPrice(): 8203
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 820
GetPower(): 300
GetWeight(): 47
@ -1532,7 +1532,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 80
GetMaxSpeed(): 112
GetPrice(): 15234
GetMaxAge(): 7671
GetMaxAge(): 7686
GetRunningCost(): 1968
GetPower(): 1000
GetWeight(): 131
@ -1550,7 +1550,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 84
GetMaxSpeed(): 128
GetPrice(): 22265
GetMaxAge(): 7305
GetMaxAge(): 7320
GetRunningCost(): 2296
GetPower(): 1200
GetWeight(): 162
@ -3476,7 +3476,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 78
GetMaxSpeed(): 56
GetPrice(): 4921
GetMaxAge(): 4383
GetMaxAge(): 4392
GetRunningCost(): 426
GetPower(): 90
GetWeight(): 10
@ -3602,7 +3602,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 77
GetMaxSpeed(): 48
GetPrice(): 4429
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -3656,7 +3656,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 92
GetMaxSpeed(): 48
GetPrice(): 4716
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -3764,7 +3764,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 98
GetMaxSpeed(): 48
GetPrice(): 4511
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -3818,7 +3818,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 97
GetMaxSpeed(): 48
GetPrice(): 4306
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -3872,7 +3872,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 87
GetMaxSpeed(): 48
GetPrice(): 4388
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -3926,7 +3926,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 97
GetMaxSpeed(): 48
GetPrice(): 4675
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -3980,7 +3980,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 98
GetMaxSpeed(): 48
GetPrice(): 4839
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -4034,7 +4034,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 97
GetMaxSpeed(): 48
GetPrice(): 4962
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -4088,7 +4088,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 82
GetMaxSpeed(): 48
GetPrice(): 4593
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -4142,7 +4142,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 76
GetMaxSpeed(): 48
GetPrice(): 5947
GetMaxAge(): 5479
GetMaxAge(): 5490
GetRunningCost(): 421
GetPower(): 120
GetWeight(): 9
@ -5060,7 +5060,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 99
GetMaxSpeed(): 24
GetPrice(): 30468
GetMaxAge(): 10958
GetMaxAge(): 10980
GetRunningCost(): 2296
GetPower(): -1
GetWeight(): -1
@ -5096,7 +5096,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 88
GetMaxSpeed(): 32
GetPrice(): 18281
GetMaxAge(): 10958
GetMaxAge(): 10980
GetRunningCost(): 1476
GetPower(): -1
GetWeight(): -1
@ -5186,7 +5186,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 81
GetMaxSpeed(): 24
GetPrice(): 24375
GetMaxAge(): 10958
GetMaxAge(): 10980
GetRunningCost(): 2460
GetPower(): -1
GetWeight(): -1
@ -5258,7 +5258,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 58
GetMaxSpeed(): 236
GetPrice(): 28710
GetMaxAge(): 7305
GetMaxAge(): 7320
GetRunningCost(): 2390
GetPower(): -1
GetWeight(): -1
@ -5276,7 +5276,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 95
GetMaxSpeed(): 236
GetPrice(): 30761
GetMaxAge(): 8766
GetMaxAge(): 8784
GetRunningCost(): 2812
GetPower(): -1
GetWeight(): -1
@ -5330,7 +5330,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetReliability(): 77
GetMaxSpeed(): 236
GetPrice(): 30761
GetMaxAge(): 10958
GetMaxAge(): 10980
GetRunningCost(): 2756
GetPower(): -1
GetWeight(): -1
@ -9323,8 +9323,8 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetEngineType(): 153
GetUnitNumber(): 1
GetAge(): 1
GetMaxAge(): 5479
GetAgeLeft(): 5478
GetMaxAge(): 5490
GetAgeLeft(): 5489
GetCurrentSpeed(): 7
GetRunningCost(): 421
GetProfitThisYear(): -1
@ -9416,17 +9416,17 @@ ERROR: IsEnd() is invalid as Begin() is never called
14 => 0
13 => 0
MaxAge ListDump:
16 => 10958
14 => 10958
17 => 7305
13 => 5479
12 => 5479
16 => 10980
14 => 10980
17 => 7320
13 => 5490
12 => 5490
AgeLeft ListDump:
16 => 10958
14 => 10958
17 => 7305
13 => 5479
12 => 5478
16 => 10980
14 => 10980
17 => 7320
13 => 5490
12 => 5489
CurrentSpeed ListDump:
12 => 27
17 => 0

View File

@ -438,7 +438,8 @@ uint Engine::GetDisplayMaxTractiveEffort() const
*/
TimerGameCalendar::Date Engine::GetLifeLengthInDays() const
{
return TimerGameCalendar::DateAtStartOfYear(this->info.lifelength + _settings_game.vehicle.extend_vehicle_life);
/* Assume leap years; this gives the player a bit more than the given amount of years, but never less. */
return static_cast<int32_t>(this->info.lifelength + _settings_game.vehicle.extend_vehicle_life) * CalendarTime::DAYS_IN_LEAP_YEAR;
}
/**
@ -663,7 +664,7 @@ void SetYearEngineAgingStops()
/* Base year ending date on half the model life */
TimerGameCalendar::YearMonthDay ymd;
TimerGameCalendar::ConvertDateToYMD(ei->base_intro + static_cast<int32_t>(TimerGameCalendar::DateAtStartOfYear(ei->lifelength)) / 2, &ymd);
TimerGameCalendar::ConvertDateToYMD(ei->base_intro + (static_cast<int32_t>(ei->lifelength) * CalendarTime::DAYS_IN_LEAP_YEAR) / 2, &ymd);
_year_engine_aging_stops = std::max(_year_engine_aging_stops, ymd.year);
}

View File

@ -39,22 +39,20 @@ class FallbackParagraphLayout : public ParagraphLayouter {
public:
/** Visual run contains data about the bit of text with the same font. */
class FallbackVisualRun : public ParagraphLayouter::VisualRun {
std::vector<GlyphID> glyphs; ///< The glyphs we're drawing.
std::vector<float> positions; ///< The positions of the glyphs.
std::vector<int> glyph_to_char; ///< The char index of the glyphs.
Font *font; ///< The font used to layout these.
GlyphID *glyphs; ///< The glyphs we're drawing.
float *positions; ///< The positions of the glyphs.
int *glyph_to_char; ///< The char index of the glyphs.
int glyph_count; ///< The number of glyphs.
public:
FallbackVisualRun(Font *font, const char32_t *chars, int glyph_count, int char_offset, int x);
FallbackVisualRun(FallbackVisualRun &&other) noexcept;
~FallbackVisualRun() override;
const Font *GetFont() const override;
int GetGlyphCount() const override;
const GlyphID *GetGlyphs() const override;
const float *GetPositions() const override;
int GetLeading() const override;
const int *GetGlyphToCharMap() const override;
const Font *GetFont() const override { return this->font; }
int GetGlyphCount() const override { return static_cast<int>(this->glyphs.size()); }
const GlyphID *GetGlyphs() const override { return this->glyphs.data(); }
const float *GetPositions() const override { return this->positions.data(); }
int GetLeading() const override { return this->GetFont()->fc->GetHeight(); }
const int *GetGlyphToCharMap() const override { return this->glyph_to_char.data(); }
};
/** A single line worth of VisualRuns. */
@ -112,19 +110,19 @@ public:
* @param x The initial x position for this run.
*/
FallbackParagraphLayout::FallbackVisualRun::FallbackVisualRun(Font *font, const char32_t *chars, int char_count, int char_offset, int x) :
font(font), glyph_count(char_count)
font(font)
{
const bool isbuiltin = font->fc->IsBuiltInFont();
this->glyphs = MallocT<GlyphID>(this->glyph_count);
this->glyph_to_char = MallocT<int>(this->glyph_count);
this->glyphs.reserve(char_count);
this->glyph_to_char.reserve(char_count);
/* Positions contains the location of the begin of each of the glyphs, and the end of the last one. */
this->positions = MallocT<float>(this->glyph_count * 2 + 2);
this->positions.resize(char_count * 2 + 2);
this->positions[0] = x;
for (int i = 0; i < this->glyph_count; i++) {
this->glyphs[i] = font->fc->MapCharToGlyph(chars[i]);
for (int i = 0; i < char_count; i++) {
const GlyphID &glyph_id = this->glyphs.emplace_back(font->fc->MapCharToGlyph(chars[i]));
if (isbuiltin) {
this->positions[2 * i + 1] = font->fc->GetAscender(); // Apply sprite font's ascender.
} else if (chars[i] >= SCC_SPRITE_START && chars[i] <= SCC_SPRITE_END) {
@ -132,85 +130,11 @@ FallbackParagraphLayout::FallbackVisualRun::FallbackVisualRun(Font *font, const
} else {
this->positions[2 * i + 1] = 0; // No ascender adjustment.
}
this->positions[2 * i + 2] = this->positions[2 * i] + font->fc->GetGlyphWidth(this->glyphs[i]);
this->glyph_to_char[i] = char_offset + i;
this->positions[2 * i + 2] = this->positions[2 * i] + font->fc->GetGlyphWidth(glyph_id);
this->glyph_to_char.push_back(char_offset + i);
}
}
/** Move constructor for visual runs.*/
FallbackParagraphLayout::FallbackVisualRun::FallbackVisualRun(FallbackVisualRun &&other) noexcept : font(other.font), glyph_count(other.glyph_count)
{
this->positions = other.positions;
this->glyph_to_char = other.glyph_to_char;
this->glyphs = other.glyphs;
other.positions = nullptr;
other.glyph_to_char = nullptr;
other.glyphs = nullptr;
}
/** Free all data. */
FallbackParagraphLayout::FallbackVisualRun::~FallbackVisualRun()
{
free(this->positions);
free(this->glyph_to_char);
free(this->glyphs);
}
/**
* Get the font associated with this run.
* @return The font.
*/
const Font *FallbackParagraphLayout::FallbackVisualRun::GetFont() const
{
return this->font;
}
/**
* Get the number of glyphs in this run.
* @return The number of glyphs.
*/
int FallbackParagraphLayout::FallbackVisualRun::GetGlyphCount() const
{
return this->glyph_count;
}
/**
* Get the glyphs of this run.
* @return The glyphs.
*/
const GlyphID *FallbackParagraphLayout::FallbackVisualRun::GetGlyphs() const
{
return this->glyphs;
}
/**
* Get the positions of this run.
* @return The positions.
*/
const float *FallbackParagraphLayout::FallbackVisualRun::GetPositions() const
{
return this->positions;
}
/**
* Get the glyph-to-character map for this visual run.
* @return The glyph-to-character map.
*/
const int *FallbackParagraphLayout::FallbackVisualRun::GetGlyphToCharMap() const
{
return this->glyph_to_char;
}
/**
* Get the height of this font.
* @return The height of the font.
*/
int FallbackParagraphLayout::FallbackVisualRun::GetLeading() const
{
return this->GetFont()->fc->GetHeight();
}
/**
* Get the height of the line.
* @return The maximum height of the line.

View File

@ -254,6 +254,9 @@ STR_COLOUR_WHITE :Fehér
STR_COLOUR_RANDOM :Véletlenszerű
###length 17
STR_COLOUR_SECONDARY_ORANGE :Narancssárga
STR_COLOUR_SECONDARY_GREY :Szürke
STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Ugyanaz mint az elsődleges
# Units used in OpenTTD
@ -569,6 +572,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Az összes üze
# About menu
###length 11
STR_ABOUT_MENU_LAND_BLOCK_INFO :Terület-információ
STR_ABOUT_MENU_HELP :Súgó és útmutatók
STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Átváltás konzolra
STR_ABOUT_MENU_AI_DEBUG :MI / Játékszkript nyomkövetés
@ -1109,6 +1113,13 @@ STR_GAME_OPTIONS_GUI_SCALE_3X :3x
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Automata felmérés
STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Részvétel automata felmérésben
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Ha engedélyezve van, az OpenTTD továbbít egy felmérést a játékból kilépéskor
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Felmérésről és titoktartásról
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Ezzel megnyithatsz egy oldalt a böngészőben ahol további információt érhetsz el az automata felmérésről.
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Felmérés eredményének előnézete
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Mutasd a jelenleg futó játékhoz tartozó felmérés eredményeit.
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika
@ -1293,6 +1304,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Balra
STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Középen
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Jobbra
STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}másodperc{P 0 "" ek}
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximális kezdeti hitelkeret: {STRING}
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálisan kölcsönözhető összeg (az inflációtól eltekintve)
@ -1464,6 +1476,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :nincs*
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :csökkentett
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :normál
STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Más vállalat tulajdonában lévő utak és sínek egyszintű kereszteződésének engedélyezése: {STRING}
STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Engedélyezd más vállalat tulajdonában lévő utak és sínek egyszintű kereszteződésének építését
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Áthaladó megállóhelyek engedélyezése települési tulajdonú utakon: {STRING}
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Áthaladó megállóhelyek építésének engedélyezése települési tulajdonú utakon
@ -1477,6 +1491,8 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Bekapcsolva az
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :A vállalat kezdő színsémája: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :A vállalat színsémája a játék kezdetén
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Kezdő vállalat másodlagos színe: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Válassz egy másodlagos színt a vállalatnak, ha NewGRF-et használsz ami ezt lehetővé teszi.
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Repülőterek nem avulnak el: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Bekapcsolva minden repülőtértípus örökké elérhető marad bevezetése után
@ -1679,6 +1695,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Kikapcsolva
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Ablakok bezárása jobb gombbal: {STRING}
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :A jobb gombbal való kattintás az ablak területén bezárja az ablakot. Ez a beállítás kikapcsolja a segédletek jobb gombbal való megjelenítését!
###length 3
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Nem
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Igen
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Igen, a zároltakat kivéve
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Játékmentés dátumformátuma: {STRING}
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :A játékmentésekben használt dátum formátuma
@ -2007,6 +2026,8 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Átlagos város
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Kapcsolatgrafikon frissítése minden {STRING}{NBSP}másodpercben{P 0:2 "" s}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :A kapcsolatgrafikon következő újrakalkulálása között eltelt idő. Minden újrakalkulálás során egy komponens tervei kerülnek kiszámításra. Ez azt jelenti, hogy az X érték beállítása nem jelenti azt, hogy az egész grafikon X másodpercenként frissül. Csak néhány komponens lesz frissítve. Minél rövidebbre van állítva, annál több CPU időre van szükség a kiszámításhoz. Ha hosszabbra van állítva, akkor hosszabb időbe telik, amíg az áruelosztás elkezdődik az új útvonalakon.
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :A kapcsolatgrafikon újrakalkulálására szánt idő, {STRING}
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :A kapcsolatgrafikon újrakalkulálására szánt idő. Egy újrakalkulálás megkezdésekor létrejön egy új szál ami ennyi másodpercig futhat. Minél rövidebbre állítod ezt a paramétert annál valószínűbb hogy a számítás nem készül el mire kellene. Ha ez megtörténik akkor a játék megáll amíg el nem készül a számítással ("laggol"). Minél hosszabbra állítod ezt az időt annál hosszabb idő telik el az útvonalak változása és az eloszlás frissítése között.
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Utasok szétosztása: {STRING}
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :A "Szimmetrikus" azt jelenti, hogy megközelítóleg ugyanannyi utas megy majd A-ból B-be, mint B-ből A-ba. Az "Aszimmetrikus" beállítás esetén a különbözö irányokba tetszőleges mennyiségű utas mehet. "Kézi" esetben az utasok nem lesznek automatikusan szétosztva.
@ -2139,6 +2160,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}{BYTES}
# Video initalization errors
STR_VIDEO_DRIVER_ERROR :{WHITE}Hiba a videobeállításokban...
STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nem található kompatibilis GPU. Hardveres gyorsítás kikapcsolva.
STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... A videókártya illesztőprogram hibát okozott. Hardveres gyorsítás kikapcsolva
# Intro window
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
@ -2152,6 +2174,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Hálóza
STR_INTRO_GAME_OPTIONS :{BLACK}Alapbeállítások
STR_INTRO_HIGHSCORE :{BLACK}Rekord tábla
STR_INTRO_HELP :{BLACK}Súgó és útmutatók
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Beállítások
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF beállítások
STR_INTRO_ONLINE_CONTENT :{BLACK}Letölthető tartalmak
@ -2173,6 +2196,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Játékv
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}A játék alapvető beállításainak (pl. nyelv, grafikus alapcsomag, stb.) megjelenítése
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Rekord tábla megjelenítése
STR_INTRO_TOOLTIP_HELP :{BLACK}Férj hozzá a dokumentációhoz és az online tartalmakhoz
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}A beállítások megjelenítése
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF beállítások megjelenítése
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Új és frissített tartalmak megtekintése és letöltése
@ -2195,6 +2219,14 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Biztosa
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Biztosan abba akarod hagyni a pálya szerkesztését?
# Help window
STR_HELP_WINDOW_CAPTION :{BLACK}Súgó és útmutatók
STR_HELP_WINDOW_WEBSITES :{BLACK}Weboldalak
STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumentumok
STR_HELP_WINDOW_CHANGELOG :{BLACK}Változtatások listája
STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Ismert hibák
STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Útmutató / Wiki
STR_HELP_WINDOW_BUGTRACKER :{BLACK}Hiba jelentése
STR_HELP_WINDOW_COMMUNITY :{BLACK}Közösség
# Cheat window
STR_CHEATS :{WHITE}Csalások
@ -2471,6 +2503,12 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Nem
STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Igen, most az egyszer
STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Igen, ne kérdezd újra
STR_NETWORK_ASK_SURVEY_CAPTION :Részvétel automata felmérésben?
STR_NETWORK_ASK_SURVEY_TEXT :Szeretnél részt venni az automata felmérésben?{}Az OpenTTD a játékból kilépéskor egy felmérést fog továbbítani.{}Ezt a beállítást bármikor megváltoztathatod a "Játék beállítások" menüpontban.
STR_NETWORK_ASK_SURVEY_PREVIEW :Felmérés eredményének előnézete
STR_NETWORK_ASK_SURVEY_LINK :Felmérésről és titoktartásról
STR_NETWORK_ASK_SURVEY_NO :Nem
STR_NETWORK_ASK_SURVEY_YES :Igen
STR_NETWORK_SPECTATORS :Megfigyelők
@ -2677,6 +2715,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Építhe
STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Hidak átlátszóságának bekapcsolása. Ctrl+kattintással zárolható
STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Tereptárgyak (adótornyok, világítótornyok stb.) átlátszóságának bekapcsolása. Ctrl+kattintással zárolható
STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Felsővezetékek átlátszóságának bekapcsolása. Ctrl+kattintással zárolható
STR_TRANSPARENT_TEXT_TOOLTIP :BLACK}Töltő és ár/bevétel feliratok átlátszóságának bekapcsolása. Ctrl+kattintással zárolható
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Az objektum ne átlátszó legyen, hanem láthatatlan
# Linkgraph legend window
@ -3407,6 +3446,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Objektum
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} {HEX}-ban
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objektum
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Pályatípus
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Út típus
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF változó 60+x paraméter (hexadecimális)
@ -3813,6 +3853,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Részlet
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Részletes információk megtekintése az infrastruktúráról
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Adományozz pénzt
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Utalj pénzt ennek a vállalatnak
STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Erőszakos átvétel
STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Vedd át erőszakkal a vállalat vezetését
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Új arc
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Új arc választása az elnöknek
@ -3828,6 +3870,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Elnök neve
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Mennyi pénzt szeretnél adományozni?
STR_BUY_COMPANY_MESSAGE :{WHITE}Vállalatunk vagyontárgyait eladásra kínáljuk: járművek, terület és hálózat tulajdonok, bankszámla{}{}Megveszed {COMPANY} vállalatot {CURRENCY_LONG}-ért?
STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}A {COMPANY} erőszakos átvételével megvásárolod minden vagyonát, visszafizeted minden adósságát és kifizeted 2 évi nyereségét.{}{}Mindezek becsült értéke {CURRENCY_LONG}.{}{}Biztosan folytatni akarod ezt az átvételt?
# Company infrastructure window
STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY} infrastruktúrája
@ -3899,6 +3942,7 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Lista ke
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}A listán szereplő járműveknek utasítás küldése
STR_VEHICLE_LIST_REPLACE_VEHICLES :Járművek lecserélése
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Javításra küld
STR_VEHICLE_LIST_CREATE_GROUP :Csoport létrehozása
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Idei nyereség: {CURRENCY_LONG} (Tavalyi: {CURRENCY_LONG})
STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}]
STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING}
@ -4716,6 +4760,10 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN
# Textfile window
STR_TEXTFILE_JUMPLIST :{WHITE}Tartalomjegyzék
STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Ugrás egy fejezetre a jelenlegi fileban ezzel a listával
STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Lépj vissza a navigáció történetben
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Lépj előre a navigáció történetben
STR_TEXTFILE_WRAP_TEXT :{WHITE}Szöveg törése
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Szöveg törése az ablakban, hogy minden kiférjen és ne kelljen görgetni
STR_TEXTFILE_VIEW_README :{BLACK}Readme megtekintése
@ -4725,6 +4773,8 @@ STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licenc
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} {STRING} readme-je
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}A(z) {STRING} {STRING} változásainak listája
STR_TEXTFILE_LICENCE_CAPTION :{WHITE}A(z) {STRING} {STRING} licence
STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Felmérés eredményének előnézete
STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD dokumentum '{STRING}'
# Vehicle loading indicators

View File

@ -305,7 +305,7 @@ CommandCost CmdSetTimetableStart(DoCommandFlag flags, VehicleID veh_id, bool tim
/* Don't let a timetable start more than 15 years into the future or 1 year in the past. */
if (start_date < 0 || start_date > CalendarTime::MAX_DATE) return CMD_ERROR;
if (start_date - TimerGameCalendar::date > TimerGameCalendar::DateAtStartOfYear(MAX_TIMETABLE_START_YEARS)) return CMD_ERROR;
if (start_date - TimerGameCalendar::date > static_cast<int32_t>(MAX_TIMETABLE_START_YEARS) * CalendarTime::DAYS_IN_LEAP_YEAR) return CMD_ERROR;
if (TimerGameCalendar::date - start_date > CalendarTime::DAYS_IN_LEAP_YEAR) return CMD_ERROR;
if (timetable_all && !v->orders->IsCompleteTimetable()) return CommandCost(STR_ERROR_TIMETABLE_INCOMPLETE);
if (timetable_all && start_date + total_duration / Ticks::DAY_TICKS > CalendarTime::MAX_DATE) return CMD_ERROR;