openttd 1.5-rc1
--HG-- branch : openttd
This commit is contained in:
Binary file not shown.
@@ -1,30 +1,41 @@
|
||||
1.5.0-RC1 (2015-03-18)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [NewGRF] Display relative offset changes in the sprite aligner [FS#6236] (r27174)
|
||||
- Fix: Original road vehicle acceleration crashed for vehicles taking over [FS#6255] (r27190)
|
||||
- Fix: GCC 5 compilation (r27185, r27183)
|
||||
- Fix: Data race due to lazy initialisation of objects [FS#5969] (r27178)
|
||||
- Fix: Compilation with MinGW64 (r27176)
|
||||
- Fix: Use the regular clipping functions in the sprite aligner instead of some magic [FS#6237] (r27173)
|
||||
- Fix: Windows randomly drops SetCursorPos calls, breaking the RMB-scrolling [FS#6238] (r27172)
|
||||
|
||||
|
||||
1.5.0-beta2 (2015-02-24)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [NoGo] Game scripts can point to a location, station, industry, or town when publishing news. (r27164)
|
||||
- Feature: Allow changing max heightlevel in scenario editor. (r27151)
|
||||
- Feature: Make use of both rocky tile sets from the base graphics. (r27117)
|
||||
- Change: Scale (non-custom) default window sizes according to GUI zoom. (r27147)
|
||||
- Change: Make statusbar and chat-entry window use the same width as the toolbar. (r27146)
|
||||
- Change: The chatbox-width setting now uses percent of screen width instead of pixels. (r27144)
|
||||
- Change: [NewGRF] Interpret negative positions in industry layouts depending on GRF version. (r27138)
|
||||
- Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped too far, when OpenTTD lagged during mouse event processing. (r27167)
|
||||
- Fix: Toolbars were not invalidated when changing max-vehicles settings. [FS#6204] (r27163)
|
||||
- Fix: Tile selection was drawn outside of map in some cases. [FS#6208] (r27162)
|
||||
- Fix: Reimplement the viewport drawing algorithm. [FS#6156] [FS#6206] (r27161)
|
||||
- Fix: Issues with smallmap and viewport coordinates and transformations. (r27160, r27159, r27158)
|
||||
- Fix: Mark bridge middle tiles dirty when building/removing/changing bridges. (r27157)
|
||||
- Fix: Rounding and unit-conversion inconsistencies in calls to MarkAllViewportsDirty. (r27148)
|
||||
- Fix: Oilrig empty-tile checks were incorrect due to wrong TileIndexDiff->TileIndexDiffC conversion. (r27137)
|
||||
- Fix: Misalignment in generate world window in case of small fonts. (r27135)
|
||||
- Fix: Dragging of free wagons in depot failed with GUI zoom. (r27133)
|
||||
- Fix: Reduce memory footprint of map array by shuffling its members. [FS#6218] (r27132, r27126)
|
||||
- Fix: Dropdown- and tooltip-windows should not steal the focus. (r27131)
|
||||
- Fix: [NewGRF] Action 7/9 condition 0A failed for present, but disabled, NewGRF. (r27119)
|
||||
- Fix: Road vehicles could not reverse to be sent to depots when the following tile has the right type to run on, but could not be entered. [FS#6183] (r27107)
|
||||
- Fix: Use the actual max speed of the vehicle in front when determining if a RV can overtake. [FS#6176] (r27106)
|
||||
- Fix: grow_counter was not properly bounded by growth_rate, but by some other value used to calculate growth_rate. [FS#6195] (r27105)
|
||||
- Fix: [Script] Support 64 bits integers in ScriptLists. [FS#6194] (r27104)
|
||||
- Fix: [Script] Money values would end up wrong in strings when outside the bounds of a 32 bits integer. [FS#6194] (r27102)
|
||||
- Feature: [NoGo] Game scripts can point to a location, station, industry, or town when publishing news (r27164)
|
||||
- Feature: Allow changing max heightlevel in scenario editor (r27151)
|
||||
- Feature: Make use of both rocky tile sets from the base graphics (r27117)
|
||||
- Change: Scale (non-custom) default window sizes according to GUI zoom (r27147)
|
||||
- Change: Make statusbar and chat-entry window use the same width as the toolbar (r27146)
|
||||
- Change: The chatbox-width setting now uses percent of screen width instead of pixels (r27144)
|
||||
- Change: [NewGRF] Interpret negative positions in industry layouts depending on GRF version (r27138)
|
||||
- Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped too far, when OpenTTD lagged during mouse event processing (r27167)
|
||||
- Fix: Toolbars were not invalidated when changing max-vehicles settings [FS#6204] (r27163)
|
||||
- Fix: Tile selection was drawn outside of map in some cases [FS#6208] (r27162)
|
||||
- Fix: Reimplement the viewport drawing algorithm [FS#6156] [FS#6206] (r27161)
|
||||
- Fix: Issues with smallmap and viewport coordinates and transformations (r27160, r27159, r27158)
|
||||
- Fix: Mark bridge middle tiles dirty when building/removing/changing bridges (r27157)
|
||||
- Fix: Rounding and unit-conversion inconsistencies in calls to MarkAllViewportsDirty (r27148)
|
||||
- Fix: Oilrig empty-tile checks were incorrect due to wrong TileIndexDiff->TileIndexDiffC conversion (r27137)
|
||||
- Fix: Misalignment in generate world window in case of small fonts (r27135)
|
||||
- Fix: Dragging of free wagons in depot failed with GUI zoom (r27133)
|
||||
- Fix: Reduce memory footprint of map array by shuffling its members [FS#6218] (r27132, r27126)
|
||||
- Fix: Dropdown- and tooltip-windows should not steal the focus (r27131)
|
||||
- Fix: [NewGRF] Action 7/9 condition 0A failed for present, but disabled, NewGRF (r27119)
|
||||
- Fix: Road vehicles could not reverse to be sent to depots when the following tile has the right type to run on, but could not be entered [FS#6183] (r27107)
|
||||
- Fix: Use the actual max speed of the vehicle in front when determining if a RV can overtake [FS#6176] (r27106)
|
||||
- Fix: grow_counter was not properly bounded by growth_rate, but by some other value used to calculate growth_rate [FS#6195] (r27105)
|
||||
- Fix: [Script] Support 64 bits integers in ScriptLists [FS#6194] (r27104)
|
||||
- Fix: [Script] Money values would end up wrong in strings when outside the bounds of a 32 bits integer [FS#6194] (r27102)
|
||||
|
||||
|
||||
1.5.0-beta1 (2014-12-24)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
OpenTTD's known bugs
|
||||
Last updated: 2015-02-24
|
||||
Release version: 1.5.0-beta2
|
||||
Last updated: 2015-03-18
|
||||
Release version: 1.5.0-RC1
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
openttd (1.5.0~RC1-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.5.0-RC1
|
||||
|
||||
-- OpenTTD <info@openttd.org> Wed, 18 Mar 2015 21:00:00 +0100
|
||||
|
||||
openttd (1.5.0~beta2-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.5.0-beta2
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
!define APPV_MAJOR 1
|
||||
!define APPV_MINOR 5
|
||||
!define APPV_MAINT 0
|
||||
!define APPV_BUILD 1
|
||||
!define APPV_EXTRA "-beta2"
|
||||
!define APPV_BUILD 2
|
||||
!define APPV_EXTRA "-RC1"
|
||||
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Last updated: 2015-02-24
|
||||
Release version: 1.5.0-beta2
|
||||
Last updated: 2015-03-18
|
||||
Release version: 1.5.0-RC1
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: ai_gui.cpp 26954 2014-10-04 18:19:22Z peter1138 $ */
|
||||
/* $Id: ai_gui.cpp 27187 2015-03-15 12:19:58Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -970,7 +970,7 @@ struct AIDebugWindow : public Window {
|
||||
static const int top_offset; ///< Offset of the text at the top of the WID_AID_LOG_PANEL.
|
||||
static const int bottom_offset; ///< Offset of the text at the bottom of the WID_AID_LOG_PANEL.
|
||||
|
||||
static const unsigned int MAX_BREAK_STR_STRING_LENGTH = 256; ///< Maximum length of the break string.
|
||||
static const uint MAX_BREAK_STR_STRING_LENGTH = 256; ///< Maximum length of the break string.
|
||||
|
||||
static CompanyID ai_debug_company; ///< The AI that is (was last) being debugged.
|
||||
int redraw_timer; ///< Timer for redrawing the window, otherwise it'll happen every tick.
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#include "cmd_helper.h"
|
||||
#include "tunnelbridge_map.h"
|
||||
#include "road_gui.h"
|
||||
#include "tilehighlight_func.h"
|
||||
|
||||
#include "widgets/bridge_widget.h"
|
||||
|
||||
@@ -73,8 +72,6 @@ void CcBuildBridge(const CommandCost &result, TileIndex end_tile, uint32 p1, uin
|
||||
DiagDirection start_direction = ReverseDiagDir(GetTunnelBridgeDirection(p1));
|
||||
ConnectRoadToStructure(p1, start_direction);
|
||||
}
|
||||
|
||||
StoreRailPlacementEndpoints(p1, end_tile, (TileX(p1) == TileX(end_tile)) ? TRACK_Y : TRACK_X, false);
|
||||
}
|
||||
|
||||
/** Window class for handling the bridge-build GUI. */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: cheat_gui.cpp 27151 2015-02-14 21:55:30Z frosch $ */
|
||||
/* $Id: cheat_gui.cpp 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -108,7 +108,7 @@ static int32 ClickChangeDateCheat(int32 p1, int32 p2)
|
||||
if (p1 == _cur_year) return _cur_year;
|
||||
|
||||
Date new_date = ConvertYMDToDate(p1, ymd.month, ymd.day);
|
||||
LinkGraphSchedule::Instance()->ShiftDates(new_date - _date);
|
||||
LinkGraphSchedule::instance.ShiftDates(new_date - _date);
|
||||
SetDate(new_date, _date_fract);
|
||||
EnginesMonthlyLoop();
|
||||
SetWindowDirty(WC_STATUS_BAR, 0);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: fontcache.cpp 27134 2015-02-01 20:54:24Z frosch $ */
|
||||
/* $Id: fontcache.cpp 27187 2015-03-15 12:19:58Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -536,8 +536,8 @@ const Sprite *FreeTypeFontCache::GetGlyph(GlyphID key)
|
||||
aa = (slot->bitmap.pixel_mode == FT_PIXEL_MODE_GRAY);
|
||||
|
||||
/* Add 1 pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */
|
||||
unsigned int width = max(1U, (unsigned int)slot->bitmap.width + (this->fs == FS_NORMAL));
|
||||
unsigned int height = max(1U, (unsigned int)slot->bitmap.rows + (this->fs == FS_NORMAL));
|
||||
uint width = max(1U, (uint)slot->bitmap.width + (this->fs == FS_NORMAL));
|
||||
uint height = max(1U, (uint)slot->bitmap.rows + (this->fs == FS_NORMAL));
|
||||
|
||||
/* Limit glyph size to prevent overflows later on. */
|
||||
if (width > 256 || height > 256) usererror("Font glyph is too large");
|
||||
@@ -553,8 +553,8 @@ const Sprite *FreeTypeFontCache::GetGlyph(GlyphID key)
|
||||
|
||||
/* Draw shadow for medium size */
|
||||
if (this->fs == FS_NORMAL && !aa) {
|
||||
for (unsigned int y = 0; y < (unsigned int)slot->bitmap.rows; y++) {
|
||||
for (unsigned int x = 0; x < (unsigned int)slot->bitmap.width; x++) {
|
||||
for (uint y = 0; y < (uint)slot->bitmap.rows; y++) {
|
||||
for (uint x = 0; x < (uint)slot->bitmap.width; x++) {
|
||||
if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) {
|
||||
sprite.data[1 + x + (1 + y) * sprite.width].m = SHADOW_COLOUR;
|
||||
sprite.data[1 + x + (1 + y) * sprite.width].a = aa ? slot->bitmap.buffer[x + y * slot->bitmap.pitch] : 0xFF;
|
||||
@@ -563,8 +563,8 @@ const Sprite *FreeTypeFontCache::GetGlyph(GlyphID key)
|
||||
}
|
||||
}
|
||||
|
||||
for (unsigned int y = 0; y < (unsigned int)slot->bitmap.rows; y++) {
|
||||
for (unsigned int x = 0; x < (unsigned int)slot->bitmap.width; x++) {
|
||||
for (uint y = 0; y < (uint)slot->bitmap.rows; y++) {
|
||||
for (uint x = 0; x < (uint)slot->bitmap.width; x++) {
|
||||
if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) {
|
||||
sprite.data[x + y * sprite.width].m = FACE_COLOUR;
|
||||
sprite.data[x + y * sprite.width].a = aa ? slot->bitmap.buffer[x + y * slot->bitmap.pitch] : 0xFF;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: gfx.cpp 27167 2015-02-22 23:06:45Z frosch $ */
|
||||
/* $Id: gfx.cpp 27172 2015-02-28 17:13:07Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -1636,8 +1636,11 @@ bool CursorVars::UpdateCursorPosition(int x, int y, bool queued_warp)
|
||||
|
||||
bool need_warp = false;
|
||||
if (this->fix_at) {
|
||||
if (!this->queued_warp && (this->delta.x != 0 || this->delta.y != 0)) {
|
||||
/* Trigger warp. */
|
||||
if (this->delta.x != 0 || this->delta.y != 0) {
|
||||
/* Trigger warp.
|
||||
* Note: We also trigger warping again, if there is already a pending warp.
|
||||
* This makes it more tolerant about the OS or other software inbetween
|
||||
* botchering the warp. */
|
||||
this->queued_warp = queued_warp;
|
||||
need_warp = true;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender male
|
||||
|
||||
|
||||
# $Id: afrikaans.txt 27136 2015-02-05 17:45:18Z translators $
|
||||
# $Id: afrikaans.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -799,7 +799,7 @@ STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLAC
|
||||
STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Olie raffinadery het ontplof naby {TOWN}!
|
||||
STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}fabriek vernietig in agterdogtig omstandighede naby {TOWN}!
|
||||
STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}'VVV' beland naby {TOWN}!
|
||||
STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Kool myn bedaaring los spoor van vernietiging naby {TOWN}!
|
||||
STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Steenkool myn ongeluk los spoor van vernietiging naby {TOWN}!
|
||||
STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Oorstroom!{}Te minste {COMMA} vermis, aangeneem dood na beduidende oorstroom!
|
||||
|
||||
STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Vervoer maatsappy in moelikheid!
|
||||
@@ -827,7 +827,7 @@ STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLAC
|
||||
STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Insinking Oor!{}{}Oplewing in sake gee vertroue na nywerhede as ekonomie versterk!
|
||||
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} vermeerder produksie!
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nuwe kool laag gevind by {INDUSTRY}!{}Produksie is verwag om te verdubbel!
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nuwe steenkool laag gevind by {INDUSTRY}!{}Produksie word voorspel dat dit sal verdubbel!
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nuwe olie reserwes gevind by {INDUSTRY}!{}Produksie is verwag om te verdubbel!
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Verbeterde boerdery metodes by {INDUSTRY} sal produksie verdubbel!
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}{STRING} produksie by {INDUSTRY} vermeerder {COMMA}%!
|
||||
@@ -1048,11 +1048,11 @@ STR_NUM_CUSTOM :Pasmaak
|
||||
STR_NUM_CUSTOM_NUMBER :Pasmaak ({NUM})
|
||||
|
||||
STR_VARIETY_NONE :Geen
|
||||
STR_VARIETY_VERY_LOW :Baaie Laag
|
||||
STR_VARIETY_VERY_LOW :Baie Laag
|
||||
STR_VARIETY_LOW :Laag
|
||||
STR_VARIETY_MEDIUM :Middelmatig
|
||||
STR_VARIETY_HIGH :Hoog
|
||||
STR_VARIETY_VERY_HIGH :Baaie Hoog
|
||||
STR_VARIETY_VERY_HIGH :Baie Hoog
|
||||
|
||||
STR_AI_SPEED_VERY_SLOW :Baie Stadig
|
||||
STR_AI_SPEED_SLOW :Stadig
|
||||
@@ -2880,7 +2880,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige s
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gaan na vorige normale sprite, en ignoreer enige pseudo/her-kleur/font sprite en spring terug na die einde
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorstelling van geselekteerde sprite. Die belyning word geignoreer waneer sprite geteken word
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Beweeg die sprite rond, verander die X en Y afwyking
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X afwyking: {NUM}, Y afwyking: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Relatiewe herstel
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Herstel die huidige relatiewe verplasing
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X verplasing: {NUM}, Y verplasing: {NUM} (Werklik)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X verplasing: {NUM}, Y verplasing: {NUM} (Relatief)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Kies sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Kies 'n sprite van enige plek op die skerm
|
||||
|
||||
@@ -4683,7 +4686,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera'
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Passasierswa
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Pos Wa
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Kool Trok
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Steenkool Trok
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :Olie Tenkwa
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :Lewende Hawe Wa
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :Goedere Wa
|
||||
@@ -4715,7 +4718,7 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_MKII_SUPERBUS :Foster MkII Sup
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKI_BUS :Ploddyphut MkI Bus
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKII_BUS :Ploddyphut MkII Bus
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKIII_BUS :Ploddyphut MkIII Bus
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Balogh Kool Trok
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Balogh Steenkool Trok
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Uhl Kool Trok
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :DW Kool Trok
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :MPS Pos Trok
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x14
|
||||
|
||||
|
||||
# $Id: arabic_egypt.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: arabic_egypt.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2495,7 +2495,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}العف
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}نابع للعفريتة الطبيعية التالية، تجاوز اي عفريتة موقوفة/ مصبوغة/مخطوطة و انهي في البداية.
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}عرض العفريتة المختارة حاليا. يتم تجاهل الموائمة عند رسم هذا العفريت.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}حرك العفريتة في الجوار، غير الاحداثيات س ، ص.
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}احداث س: {NUM}، احداث ص: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}اختر عفريتة
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}اختر عفريتة من اي مكان في الشاشة.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x21
|
||||
|
||||
|
||||
# $Id: basque.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: basque.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2725,7 +2725,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Aldez au
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Aurreko grafiko arruntera joan, pseudo/birkoloretu/grafiko tipoak desgaituz
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Orain aukeratutako grafikoaren aurkezpena. Alineazioa ez da kontua hartzen grafiko hau egiterakoan
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}"Sprit"-a mugitu inguruan, X eta Y-ren desplazamenduak aldatuz
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X desplazamendua {NUM}, Y desplazamendua: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}"Sprit"-a aukeratu
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pantaillako edozein lekutatik aukeratu "sprite" bat
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case m f n p nom gen dat acc abl pre
|
||||
|
||||
|
||||
# $Id: belarusian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: belarusian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -3212,7 +3212,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Папя
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перайсьці да папярэдняга звычайнага спрайта, прапускаючы змяняючыя колер, шрыфтавыя, псэўдаспрайты. Пераход з пачатку сьпісу да апошняга спрайта.
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Прадстаўленьне выбранага спрайта. Выраўноўваньне не ўлічваецца пры прарысоўцы гэтага спрайта.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайце спрайт, зьмяняючы зрушэньне па X і па Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Зрушэньне па X: {NUM}, зрушэньне па Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Выбраць спрайт
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Абярыце любы спрайт на экране
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender m f
|
||||
|
||||
|
||||
# $Id: brazilian_portuguese.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: brazilian_portuguese.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2868,7 +2868,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}"Sprite"
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Retorna ao "sprite" normal anterior, pulando quaisquer "sprites" falsos, recoloridos ou de fontes, e junta tudo do primeiro ao último
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do "sprite" atualmente selecionado. O alinhamento é ignorado ao desenhar esse "sprite"
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o "sprite", alterando os offsets X e Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Escolher "sprite"
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Escolhe um "sprite" de qualquer lugar na tela
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case m f n p
|
||||
|
||||
|
||||
# $Id: bulgarian.txt 27122 2015-01-19 17:45:27Z translators $
|
||||
# $Id: bulgarian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2815,7 +2815,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Пред
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Продължи към предишен нормален sprite, Пропускайки всички псевдо/прерисувани/текстови sprite и ги облечи в края
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Показване на избрания sprite. Подредбата се пренебрегва при рисуването му.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Преместване на sprite, променяйки X и Y координатите
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X координата: {NUM}, Y координата: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Избери sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Избери sprite от целия екран
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender Masculin Femenin
|
||||
|
||||
|
||||
# $Id: catalan.txt 27114 2015-01-06 17:45:49Z translators $
|
||||
# $Id: catalan.txt 27180 2015-03-10 17:47:16Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -250,10 +250,10 @@ STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de
|
||||
STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Enderroca edificis, etc. en un quadre de terreny. Ctrl selecciona l'àrea en diagonal. Shift commuta construir/mostrar el cost estimat
|
||||
|
||||
# Show engines button
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostrar ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostrar ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostrar ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostrar ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Mostra ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostra ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Mostra ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostra ocultats
|
||||
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Activant aquest botó, també es mostraran els vehicles ferroviaris ocultats
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Activant aquest botó, també es mostraran els vehicles de carretera ocultats
|
||||
@@ -324,7 +324,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Mostra l
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Mostra la llista d'estacions de la companyia
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Mostra informació financera de la companyia
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Mostra informació general de la companyia
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Mostra llibre
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Mostra llibre de partida
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Mostra llista d'objectius
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Mostra gràfics
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Mostra la taula de la lliga d'empreses
|
||||
@@ -1404,7 +1404,7 @@ STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Mostra els temp
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostra l'arribada i la sortida als horaris: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostra als horaris l'arribada anticipadament i les hores de sortida
|
||||
STR_CONFIG_SETTING_QUICKGOTO :Creació ràpida d'ordres per a vehicles: {STRING}
|
||||
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pre-selecciona el botó 'Vés-hi' quan s'obri la finestra d'ordres
|
||||
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Preselecciona el botó 'Vés a' quan s'obri la finestra d'ordres
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipus predeterminat de via (en nova partida/càrrega de partida): {STRING}
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipus de via a seleccionar després de començar o carregar una partida. 'El més antic disponible' selecciona el tipus de vies més antic disponible, 'El més modern disponible' selecciona el tipus de vies més modern, i 'El més utilitzat disponible' selecciona el tipus de vies que s'utilitzi més actualment
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :El més antic disponible
|
||||
@@ -2510,7 +2510,7 @@ STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Crear no
|
||||
STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Restableix paisatge
|
||||
STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Treure totes les propietats pertanyents a companyies del mapa
|
||||
|
||||
STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Restablir Paisatge
|
||||
STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Restableix Paisatge
|
||||
STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Estàs segur que vols treure totes les propietats pertanyents a companyies?
|
||||
|
||||
# Town generation window (SE)
|
||||
@@ -2874,24 +2874,27 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paràmet
|
||||
STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alineant sprite {COMMA} ({STRING})
|
||||
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sprite següent
|
||||
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Procedeix cap al següent sprite normal, saltant qualsevol sprite pseudo/recolor/font i passant de l'últim sprite al primer
|
||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Anar a l'sprite
|
||||
STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Anar cap a l'sprite donat. Si l'sprite no és un sprite normal, procedir cap al següent sprite normal
|
||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Vés a l'sprite
|
||||
STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Va cap a l'sprite donat. Si l'sprite no és un sprite normal, procedir cap al següent sprite normal
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Procedeix cap a l'sprite normal anterior, saltant qualsevol sprite pseudo/recolor/font i passant del primer sprite a l'últim
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representació de l'sprite seleccionat actualment. L'alineació s'ignora quan es dibuixa aquest sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mou l'sprite al voltant, canviant els desplaçaments en X i Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Desplaçament X: {NUM}, Desplaçament Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Restableix relatius
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Restableix els desplaçaments relatius actuals
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Desplaçament X: {NUM}, Desplaçament Y: {NUM} (Absolut)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Desplaçament X: {NUM}, Desplaçament Y: {NUM} (Relatiu)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Agafa un sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Agafa un sprite de qualsevol lloc de la pantalla
|
||||
|
||||
STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Anar a l'sprite
|
||||
STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Vés a l'sprite
|
||||
|
||||
# NewGRF (self) generated warnings/errors
|
||||
STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_MSG_WARNING :{RED}Alerta: {SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_MSG_ERROR :{RED}Error: {SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatal: {SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Ha passat un error fatal de NewGRF: {}{STRING}
|
||||
STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}S'ha produït un error fatal de NewGRF: {}{STRING}
|
||||
STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} no funcionarà amb la versió de TTDPatch informada per OpenTTD
|
||||
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} és per la versió {STRING} de TTD
|
||||
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} està dissenyat per ser utilitzat amb {STRING}
|
||||
@@ -3083,8 +3086,8 @@ STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING
|
||||
STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clica al servei per centrar la vista a la indústria/població. Ctrl+Clic obre una nova vista al lloc de la indústria/població
|
||||
|
||||
# Story book window
|
||||
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Llibre
|
||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Llibre Global
|
||||
STR_STORY_BOOK_CAPTION :{WHITE}Llibre de Partida de {COMPANY}
|
||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Llibre Global de Partida
|
||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Pàgina {NUM}
|
||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Salteu a una pàgina seleccionant-la en aquesta llista desplegable.
|
||||
@@ -3180,7 +3183,7 @@ STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Canvia e
|
||||
STR_EDIT_WAYPOINT_NAME :{WHITE}Edita nom del punt de pas
|
||||
|
||||
# Finances window
|
||||
STR_FINANCES_CAPTION :{WHITE}{COMPANY} Economia {BLACK}{COMPANY_NUM}
|
||||
STR_FINANCES_CAPTION :{WHITE}Finances de {COMPANY} {BLACK}{COMPANY_NUM}
|
||||
STR_FINANCES_EXPENDITURE_INCOME_TITLE :{WHITE}Despeses/Ingressos
|
||||
STR_FINANCES_YEAR :{WHITE}{NUM}
|
||||
STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Construcció
|
||||
@@ -3421,15 +3424,15 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Canvia e
|
||||
STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Canvia el nom del model de vaixell
|
||||
STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Canvia el nom del model d'avió
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar
|
||||
STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar
|
||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Oculta
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Oculta
|
||||
STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Oculta
|
||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Oculta
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar
|
||||
STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar
|
||||
STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar
|
||||
STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Mostra
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Mostra
|
||||
STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Mostra
|
||||
STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Mostra
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna mostrar/ocultar el vehicle ferroviari
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna mostrar/ocultar l'automòbil
|
||||
@@ -4649,7 +4652,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :{G=Masculin}Vag
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :{G=Masculin}Vagó per Passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :{G=Masculin}Vagó de Passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :{G=Masculin}Vagó per Correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :{G=Masculin}Vagó per Carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :{G=Masculin}Tanc de Petroli
|
||||
@@ -4681,7 +4684,7 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cíclope'
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Quimera' (Elèctrica)
|
||||
STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :{G=Masculin}Vagó per Passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :{G=Masculin}Vagó de Passatgers
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :{G=Masculin}Vagó per Correu
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :{G=Masculin}Vagó per Carbó
|
||||
STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :{G=Masculin}Tanc de Petroli
|
||||
@@ -4769,9 +4772,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :{G=Masculin}Cam
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_SUGAR_TRUCK :{G=Masculin}Camió per Sucre MightyMover
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_SUGAR_TRUCK :{G=Masculin}Camió per Sucre Powernaught
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_SUGAR_TRUCK :{G=Masculin}Camió per Sucre Wizzowow
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COLA_TRUCK :{G=Masculin}Camió per Refresc MightyMover
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COLA_TRUCK :{G=Masculin}Camió per Refresc Powernaught
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :{G=Masculin}Camió per Refresc Wizzowow
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COLA_TRUCK :{G=Masculin}Camió per Refrescs MightyMover
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COLA_TRUCK :{G=Masculin}Camió per Refrescs Powernaught
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :{G=Masculin}Camió per Refrescs Wizzowow
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COTTON_CANDY :{G=Masculin}Camió per Cotó de Sucre MightyMover
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COTTON_CANDY :{G=Masculin}Camió per Cotó de Sucre Powernaught
|
||||
STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :{G=Masculin}Camió per Cotó de Sucre Wizzowow
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case nom gen dat aku vok lok ins
|
||||
|
||||
|
||||
# $Id: croatian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: croatian.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2975,7 +2975,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Prethodn
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Otiđi na prethodni normalni sprite, preskačući svaki pseudo/prebojani/font sprite i {BLACK}Otiđi na sljedeći normalni sprite, preskačući svaki pseudo/prebojani/font sprite i nakon dolaska na prvi prebaci na zadnjeg
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Prikaz trenutno odabranog spritea. Poravnjanje se ignorira kod crtanja ovog spritea.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pomakni sprite mijenjajući X i Y pomake
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X pomak: {NUM}, Y pomak: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Poništi relativne
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Poništi trenutne relativne pomake
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X pomak: {NUM}, Y pomak: {NUM} (Apsolutni)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X pomak: {NUM}, Y pomak: {NUM} (Relativni)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Odaberi sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Odaberi sprite od bilo gdje na ekranu
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case nom gen dat acc voc loc ins big small
|
||||
|
||||
|
||||
# $Id: czech.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: czech.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2972,7 +2972,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Předcho
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jít na předchozí normální sprite (s grafikou), přičemž se přeskakují pseudo-/barvící/znakové sprity a při dosažení začátku se jde na konec
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Zobrazení vybraného spritu. Posun se při jeho vykreslení neuvažoval
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Posouvání spritu změnou souřadnic X a Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Posun X: {NUM}, posun Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vybrat sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Klikni na sprite kdekoli na obrazovce
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x2d
|
||||
|
||||
|
||||
# $Id: danish.txt 27114 2015-01-06 17:45:49Z translators $
|
||||
# $Id: danish.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Tidliger
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsæt til den forrige normal sprite, springe over nogen pseudo / recolour / FONT sprites og indpakning rundt fra den første sprite til det sidste
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Repræsentation af den markerede sprite. Justeringen ignoreres når denne sprite tegnes.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flyt spriten rundt for at ændre X- og Y-forskydningen
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-forskydning: {NUM}, Y-forskydning: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vælg grafikelement
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Vælg en sprite fra et vilkårligt sted på skærmen
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x1f
|
||||
|
||||
|
||||
# $Id: dutch.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: dutch.txt 27177 2015-03-02 17:46:37Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige a
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ga naar vorige normale afbeelding, sla alle pseudo/herkleur/lettertype afbeeldingen over en ga naar het einde bij het begin
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige afbeelding. De uitlijning wordt genegeerd bij het weergeven van de afbeelding
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Afbeelding verplaatsen, dit verandert X en Y offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Herstel relatief
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Herstel de huidige relative offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absoluut)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Relatief)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Kies afbeelding
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Kies een afbeelding van een willekeurige plaats op het scherm
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x01
|
||||
|
||||
|
||||
# $Id: english.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: english.txt 27174 2015-03-01 08:17:14Z alberth $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2316,7 +2316,6 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Maglev Construc
|
||||
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Build railway track. Ctrl toggles build/remove for railway construction. Shift toggles building/showing cost estimate
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Build railway track using the Autorail mode. Ctrl toggles build/remove for railway construction. Shift toggles building/showing cost estimate
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_POLYRAIL :{BLACK}Build railway track using the Polyline mode. Ctrl toggles build/remove for railway construction. Shift toggles building/showing cost estimate
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Build train depot (for buying and servicing trains). Shift toggles building/showing cost estimate
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Convert rail to waypoint. Ctrl enables joining waypoints. Shift toggles building/showing cost estimate
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Build railway station. Ctrl enables joining stations. Shift toggles building/showing cost estimate
|
||||
@@ -2880,7 +2879,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Previous
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around from the first sprite to the last
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reset relative
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reset the current relative offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absolute)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Relative)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pick sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pick a sprite from anywhere on the screen
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x3D
|
||||
|
||||
|
||||
# $Id: english_AU.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: english_AU.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2848,7 +2848,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Previous
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the begin
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pick sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pick a sprite from anywhere on the screen
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x00
|
||||
|
||||
|
||||
# $Id: english_US.txt 27165 2015-02-22 17:45:17Z translators $
|
||||
# $Id: english_US.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Previous
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around from the first sprite to the last
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pick sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pick a sprite from anywhere on the screen
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##case n
|
||||
|
||||
|
||||
# $Id: esperanto.txt 27116 2015-01-10 17:46:35Z translators $
|
||||
# $Id: esperanto.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2431,7 +2431,6 @@ STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sekvanta
|
||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Iru al bildeto
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Antaŭa bildeto
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Movu ĉirkaŭ la bildeton, ŝanĝante la X kaj Y distancojn
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X distanco: {NUM}, Y distanco: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Elektu bildeto
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Elektu bildeton ie el la ekrano
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##case g in sü
|
||||
|
||||
|
||||
# $Id: estonian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: estonian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2874,7 +2874,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Eelmine
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the begin
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liiguta spraiti , muutes X ja Y tasakaalu
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X tasakaal: {NUM}, Y tasakaal: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Korja sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Korja sprite ükskõik kust ekraanil
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x35
|
||||
|
||||
|
||||
# $Id: finnish.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: finnish.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Edelinen
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Jatka edelliseen tavalliseen spriteen ja hyppää yli kaikki pseudo-/uudelleenväritetyt/fontti- spritet ja mene loppuun kun päästään ensimmäiseen
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Valitun spriten näyttö. Sijaintia ei huomioida spriteä piirrettäessä
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liikuta spriteä ympäriinsä, muuttaen X- ja Y-sijainteja
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-sijainti: {NUM}, Y-sijainti: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Nollaa suhteelliset
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nollaa suhteelliset erotukset
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-erotus: {NUM}, Y-erotus: {NUM} (Absoluuttinen)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X-erotus: {NUM}, Y-erotus: {NUM} (Suhteellinen)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Valitse sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Valitse sprite ruudulta
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender m m2 f
|
||||
|
||||
|
||||
# $Id: french.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: french.txt 27181 2015-03-11 17:46:24Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2880,7 +2880,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite p
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Se rendre au précédent sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant du premier vers le dernier
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation du sprite actuellement séléctionné. L'alignement est ignoré lors de l'affichage de ce sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Déplacer le sprite, en modifiant les décalages X et Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Décalage X{NBSP}: {NUM}, décalage Y{NBSP}: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Réinitialiser les relatifs
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Réinitialiser les décalages relatifs courants
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Décalage X{NBSP}: {NUM}, décalage Y{NBSP}: {NUM} (Absolu)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Décalage X{NBSP}: {NUM}, décalage Y{NBSP}: {NUM} (Relatif)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Choisir un sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Choisir un des sprites affichés sur l'écran
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case nom gen dat voc
|
||||
|
||||
|
||||
# $Id: gaelic.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: gaelic.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -3108,7 +3108,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}An sprit
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lean air adhart dhan sprite àbhaisteach roimhe, a' gearradh leum thairis air sprites mas fhìor/ath-dhathaidh/crutha-chlò is a' pasgadh aig an toiseach gun sprite mu dheireadh
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Riochdachadh air an sprite a thagh thu an-dràsta. Thèid an co-thaobhadh a chur dhan dàrna taobh nuair a thèid an sprite a tharraing
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Gluais an sprite mu thimcheall, ag atharrachadh nam frith-àireamhan aig X is Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Frith-àireamh X: {NUM}, frith-àireamh Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Ath-shuidhich na frith-àireamhean dàimheach
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Ath-shuidhich na frith-àireamhean dàimheach làithreach
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}frith-àireamh X: {NUM}, frith-àireamh Y: {NUM} (absaloideach)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}frith-àireamh X: {NUM}, frith-àireamh Y: {NUM} (dàimheach)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Tagh sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Tagh sprite bho àite sam bith air an sgrìn
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender m f n
|
||||
|
||||
|
||||
# $Id: galician.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: galician.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2837,7 +2837,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite a
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir ao sprite anterior, ignorando pseudosprites, sprites recoloreados e sprites de fonte, e volvendo a empezar ao chegar ao inicio
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representación do sprite seleccionado. A aliñación ignórase ao debuxar este sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move-lo sprite, cambiando os valores de X e Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Desp. X: {NUM}, Desp. Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Seleccionar sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Seleccionar un sprite en calquera parte da pantalla
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender m w n p
|
||||
|
||||
|
||||
# $Id: german.txt 27153 2015-02-15 17:45:47Z translators $
|
||||
# $Id: german.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2880,7 +2880,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorherig
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gehe zum vorherigen normalen Sprite und überspringe alle Pseudo-, Recolour- und Schriftsprites (springt ggf. vom letzten bis zum ersten Sprite)
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Darstellung des aktuellen Sprites. Die Ausrichtung wird beim Zeichnen des Sprites ignoriert
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Bewege die Sprites und ändere dadurch die X- und Y-Offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-Offset: {NUM}, Y-Offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Sprite auswählen
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Wähle ein Sprite vom Bildschirm aus
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case subs date geniki
|
||||
|
||||
|
||||
# $Id: greek.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: greek.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2855,7 +2855,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Προη
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Προχώρησε στο προηγούμενο κανονικό sprite, προσπερνώντας οποιαδήποτε ψευδό/επαναχρωματιζόμενα/γραμματοσειράς sprites και ξαναεκτέλεσε τη διαδικασία από το πρώτο sprite ως το τελεταίο
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Επανεμφάνιση του επιλεγμένου sprite. Η ευθυγράμμιση αγνοείται όταν γίνεται η σχεδίαση του sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Μετακίνηση του sprite τριγύρω, αλλάζοντας τα στίγματα Χ και Υ
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Στίγμα Χ: {NUM}, Στίγμα Υ: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Επιλογή sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Επιλογή ενός sprite από οπουδήποτε στη οθόνη
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case singular plural gen
|
||||
|
||||
|
||||
# $Id: hebrew.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: hebrew.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -109,7 +109,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK.plural :משקאות מ
|
||||
|
||||
# Quantity of cargo
|
||||
STR_QUANTITY_NOTHING :
|
||||
STR_QUANTITY_PASSENGERS :{P 0 "נוסע " ""}{COMMA}{P "" " נוסעים"}
|
||||
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}נוסע{P "" ים}
|
||||
STR_QUANTITY_COAL :{WEIGHT_LONG} של פחם
|
||||
STR_QUANTITY_MAIL :{P 0 "שק " ""}{COMMA}{P "" " שקים"} של דואר
|
||||
STR_QUANTITY_OIL :{VOLUME_LONG} של נפט
|
||||
@@ -988,6 +988,8 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}רזלו
|
||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}בחר את רזולוציית המסך
|
||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :אחר
|
||||
|
||||
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}ערכת גרפיקה בסיסית
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}בחר בערכת גרפיקה בסיסית לשימוש
|
||||
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{P 0 "קובץ " ""}{NUM}{P "" " קבצים"} חסר{P 0 "" ים}/הושחט{P 0 "" ו}
|
||||
@@ -1088,7 +1090,7 @@ STR_CITY_APPROVAL_HOSTILE :עויין
|
||||
|
||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}אין בינות מלאכותיות מתאימות...{}באפשרותך להוריד בינות מלאכותיות בעזרת מערכת ה'תוכן המקוון'
|
||||
|
||||
# Advanced settings window
|
||||
# Settings tree window
|
||||
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}מחרוזת סינון:
|
||||
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}הרחב הכל
|
||||
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}צמצם הכל
|
||||
@@ -1104,9 +1106,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :הגדרת חב
|
||||
STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}קטגוריה:
|
||||
STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}סוג:
|
||||
STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}מגביל את הרשימה להלן תוך שימוש בסינון שהוגדר מראש.
|
||||
STR_CONFIG_SETTING_RESTRICT_BASIC :הגדרות בסיסיות
|
||||
STR_CONFIG_SETTING_RESTRICT_ADVANCED :הגדרות מתקדמות
|
||||
STR_CONFIG_SETTING_RESTRICT_ALL :הגדרות מומחה / כל ההגדרות
|
||||
STR_CONFIG_SETTING_RESTRICT_BASIC :הגדרות בסיסיות (הצג רק הגדרות חשובות)
|
||||
STR_CONFIG_SETTING_RESTRICT_ADVANCED :הגדרות מתקדמות (הצג את רוב ההגדרות)
|
||||
STR_CONFIG_SETTING_RESTRICT_ALL :הגדרות מומחה (הצג את כל ההגדרות, כולל הגדרות משונות)
|
||||
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :הגדרות בעלות ערך השונה מברירת המחדל
|
||||
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :הגדרות בעלות ערך השונה מזה אשר בהגדרות המשחק החדש שלך
|
||||
|
||||
@@ -1277,7 +1279,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :משך הצגת
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :פרק הזמן להצגת הודעות שגיאה בחלון אדום. יש לשים לב כי כמה הודעות שגיאה (קריטיות) אינן נסגרות אוטומטית אחרי פרק זמן זה, אלא יש לסגור אותן ידנית
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{P 0 "שנייה " ""}{COMMA}{P "" " שניות"}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY :הצג רמזים צצים: {STRING}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :השהייה טרם הצגת רמזים צצים כאשר העכבר מרחף מעל חלק ממשק. לחלופין, ניתן לקשר רמזים צצים לכפתור העכבר הימני
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :השהייה טרם הצגת רמזים צצים כאשר העכבר מרחף מעל חלק ממשק. לחלופין, ניתן לקשר רמזים צצים לכפתור העכבר הימני כאשר מוגדר 0.
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :רחף למשך {P 0 "שניה " ""}{COMMA}{P "" " שניות"}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :קליק ימני
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :הראה את אוכלוסיית העיר בתוך תוית השם של העיר: {STRING}
|
||||
@@ -1526,7 +1528,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :בחר את ה
|
||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :{STRING} :בנה רמזורים מכאניים לפני
|
||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :קבע את השנה בה רמזורים חשמליים ישמשו במסילות. לפני שנה זו יהיו בשימוש רמזורים מכניים (פעולתם זהה, הם רק נראים אחרת)
|
||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :{STRING} :אפשר ממשק ויזואלי עבור רמזורים
|
||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :הצג חלון לבחירת סוג הרמזור להצבה, במקום רק מעבר בין האפשרויות ללא חלון באמצעות הקלקה על "בנה רמזורים" תוך לחיצה על מקש Ctrl
|
||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :הצג חלון לבחירת סוג הרמזור להצבה, במקום רק מעבר בין האפשרויות באמצעות Ctrl+לחיצה על רמזורים בנויים
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :{STRING} :ברירת מחדל לבניית רמזורי רכבת
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :סוג רמזור לשימוש בברירת מחדל
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :רמזורי בלוק
|
||||
@@ -1611,7 +1613,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"סימטרי"
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :אופן החלוקה עבור דואר: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"סימטרי" הכוונה שכמות הדואר מתחנה א' לתחנה ב' הוא פחות או יותר אותה כמות הדואר מתחנה ב' לתחנה א'. "אסימטרי" הכוונה שכמויות דואר שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור דואר.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :אופן החלוקה עבור מחלקה משוריינת: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :מחלקה משוריינת מובילה חפצי ערך באקלים ממוזג, יהלומים באקלים טרופי וזהב באקלים קר. קבצי שדרוג גראפי עלולים לשנות חלוקה זו. "סימטרי" הכוונה שכמות המטען מתחנה א' לתחנה ב' הוא פחות או יותר אותה כמות המטען מתחנה ב' לתחנה א'. "אסימטרי" הכוונה שכמויות מטען שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור המטען. באקלים קר מומלץ לקבוע למצב אסימטרי או ידני כי בנקים לא שולחים זהב חזרה למכרות יהלומים. באקלים ממוטזג או טרופי ניתן לבחור גם במצב סימטרי כאשר בנקים ישלחו חפצי ערך חזרה למקור של אותם חפצי ערך.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :מחלקה משוריינת מובילה חפצי ערך באקלים ממוזג, יהלומים באקלים טרופי וזהב באקלים קר. קבצי שדרוג גראפי עלולים לשנות חלוקה זו. "סימטרי" הכוונה שכמות המטען מתחנה א' לתחנה ב' הוא פחות או יותר אותה כמות המטען מתחנה ב' לתחנה א'. "אסימטרי" הכוונה שכמויות מטען שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור המטען. באקלים קר מומלץ לקבוע למצב אסימטרי או ידני כי בנקים לא שולחים זהב חזרה למכרות יהלומים. באקלים ממוזג או טרופי ניתן לבחור גם במצב סימטרי כאשר בנקים ישלחו חפצי ערך חזרה למקור של אותם חפצי ערך.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :אופן החלוקה עבור מטענים אחרים: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"אסימטרי" הכוונה שכמויות מטען שרירותיות יכולות להישלח לכל אחד מהכיוונים. "ידני" הכוונה שאין חלוקה אוטומטית עבור המטען.
|
||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :דיוק החלוקה: {STRING}
|
||||
@@ -1647,7 +1649,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :מטרי (קי
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :בינלאומית (קילו ניוטון)
|
||||
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :יחידות גובה: {STRING}
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :כאשר מוצגים גבהים השתמש ביחידות שנבחרו.
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :כאשר מוצגים גבהים השתמש ביחידות שנבחרו
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :בריטית (רגל)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :מטרי (מטר)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (מטר)
|
||||
@@ -2828,10 +2830,9 @@ STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}עבור
|
||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}דלג לספרייט
|
||||
STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}עבור לספרייט הנתון. אם הוא אינו ספרייט רגיל, עבור לספרייט הרגיל הראשון שבא אחריו
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}הספרייט הקודם
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}עבור לספרייט הקודם, כאשר נדלג על כל הספרייטים המיוחדים ונחזור בסוף לתחילת הרשימה
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}עבור לספרייט הקודם, כאשר נדלג על כל הספרייטים המיוחדים ונחזור מתחילת הרשימה לסופה
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}הייצוג של הספרייט הנבחר. בעת ציור הספרייט, נתעלם מהיישור שלו
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}הזז את הספרייט, תוך שינוי מיקום על צירי ה-X וה-Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X היסט: {NUM}, Y היסט: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}בחר ספרייט
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}בחר ספרייט מנקודה כלשהיא במסך
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##case t ba
|
||||
|
||||
|
||||
# $Id: hungarian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: hungarian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2943,7 +2943,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Előző
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Továbbhaladás az előző normál spritera, kihagyva bármilyen ál/átszínező/betű spriteokat, az elején folytatva az utolsóval
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}A jelenleg kiválasztott sprite ábrázolása. Az elhelyezkedés kikapcsolt sprite-rajzolás közben
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sprite elmozdítása, módosítva az X és Y offszeteket
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offszet: {NUM}, Y offszet: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Sprite felszedése
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Szedj fel egy spriteot akárhonnan a képernyőről
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender karlkyn kvenkyn hvorugkyn
|
||||
|
||||
|
||||
# $Id: icelandic.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: icelandic.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2711,7 +2711,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Fyrri hr
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fara á fyrri venjulegu hreyfimynd, sleppir gervi/endurlitun/letur hreyfimyndum og fer aftast í listen þegar upphafi er náð.
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Framsetning á valinni hreyfimynd. Samstillingu er sleppt við teikningu á þessari hreyfimynd.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Færðu hreyfimyndina, breytir X og Y hliðrun
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X hliðrun: {NUM}, Y hliðrun: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Veldu hreyfimynd
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Veldu hreyfimynd hvaðan sem er af skjánum
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x5a
|
||||
|
||||
|
||||
# $Id: indonesian.txt 27154 2015-02-18 17:45:30Z translators $
|
||||
# $Id: indonesian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite s
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lanjutkan ke sprite normal sebelumnya, lewati sembarang sprite bayangan/warna ulang/huruf dan pembungkus saat mulai
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Mewakili sprite yang sedang dipilih. Penjajaran diabaikan ketika sprite ini digambar
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pindahkan sprite, mengubah offset X dan Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih sebuah sprite di manapun pada layar
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x08
|
||||
|
||||
|
||||
# $Id: irish.txt 27121 2015-01-18 17:45:32Z translators $
|
||||
# $Id: irish.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2844,7 +2844,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite r
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Téigh ar aghaigh chuig an gnáth-sprite roimhe, ag scipeáil thar aon bhréag-sprite nó sprite athdathaithe/clófhoirne agus ag timfhilleadh ag an tús
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Léiriú den sprite atá roghnaithe faoi láthair. Déantar neamhaird den ailíniú agus an sprite seo á tharraingt
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Bog an sprite timpeall, ag athrú an seach-chur X agus Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}seach-chur X: {NUM}, seach-chur Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Roghnaigh sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Roghnaigh sprite ó áit ar bith ar an scáileán
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case ms mp fs fp
|
||||
|
||||
|
||||
# $Id: italian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: italian.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2908,8 +2908,11 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Va allo
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Precedente
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Procede al precedente sprite normale, saltanto qualsiasi sprite speciale, di ricoloramento o carattere e tornando all'ultimo se viene raggiunto il primo della lista
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Rappresentazione dello sprite corrente. L'allineamento viene ignorato in questa casella.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sposta lo sprite, cambiando i posizionamenti X e Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Posizionamento X: {NUM}, Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sposta lo sprite, cambiando gli spiazzamenti X e Y
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reimposta posizione relativa
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reimposta gli spiazzamenti relativi attuali
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Posizione X: {NUM}, Y: {NUM} (assoluto)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Posizione X: {NUM}, Y: {NUM} (relativo)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Scegli sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Sceglie uno o più sprite da un qualsiasi punto dello schermo
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x39
|
||||
|
||||
|
||||
# $Id: japanese.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: japanese.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}前の
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}前のノーマルスプライトに戻ります。始端と終端は連続しているものとみなし、疑似/リカラー/フォントスプライトはスキップします
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}現在選択されているスプライトの代表絵を示します。この配列はスプライトを描画するときには無視されます
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}X・Yオフセットを変更し、スプライトを移動します
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Xオフセット: {NUM}, Yオフセット: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}スプライトを選ぶ
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}画面内からスプライトを選びます
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender m f
|
||||
|
||||
|
||||
# $Id: korean.txt 27154 2015-02-18 17:45:30Z translators $
|
||||
# $Id: korean.txt 27189 2015-03-16 17:45:22Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -1218,7 +1218,7 @@ STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :진행 방향
|
||||
STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :오른쪽에
|
||||
STR_CONFIG_SETTING_SHOWFINANCES :연말에 자동으로 재정 창을 띄움: {STRING}
|
||||
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :이 옵션을 켜면 회사의 재정 상태를 확인하기 쉽도록 매년 말에 재정 창이 자동으로 뜹니다.
|
||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :새로 지정하는 경로는 기본적으로 '직통'으로 처리: {STRING}
|
||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :새로 지정하는 경로는 기본적으로 '직행'으로 처리: {STRING}
|
||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :일반적으로 차량은 경로 상에 있는 모든 역에 정차하게 되어있습니다. 이 옵션을 켜면 차량이 마지막 목적지까지 정차없이 모든 역을 통과할 것입니다. 이 옵션은 새로 경로를 지정하는 차량에만 적용되는 점을 알아두십시오. 하지만 각 차량의 경로는 두 가지 방법 중에 원하는 대로 다시 설정할 수 있습니다.
|
||||
STR_CONFIG_SETTING_STOP_LOCATION :새로 지정하는 역 정차 경로는 기본적으로 역의 {STRING}에 정지하도록 설정
|
||||
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :열차가 기본적으로 정거장의 어느 위치에 정차할 것인지를 설정합니다. '가까운 쪽'은 역에 진입하는 곳과 가까운 곳에, '중간'은 역 중앙에, '먼쪽'은 진입하는 곳과 먼 곳에 정차합니다. 이 옵션은 새로 경로를 지정하는 차량에만 적용되는 점을 알아두십시오. 하지만 각 차량의 경로는 두 가지 방법 중에 원하는 대로 다시 설정할 수 있습니다.
|
||||
@@ -1322,7 +1322,7 @@ STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :지도의 나
|
||||
STR_CONFIG_SETTING_TREE_PLACER_NONE :없음
|
||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :오리지널
|
||||
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :향상됨
|
||||
STR_CONFIG_SETTING_ROAD_SIDE :자동차/전차: {STRING}
|
||||
STR_CONFIG_SETTING_ROAD_SIDE :자동차 통행 방향: {STRING}
|
||||
STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :통행방향을 선택하세요.
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :높이맵 회전: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :반시계방향
|
||||
@@ -1711,7 +1711,7 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}설정
|
||||
# Config errors
|
||||
STR_CONFIG_ERROR :{WHITE}설정 파일에서 오류 발생
|
||||
STR_CONFIG_ERROR_ARRAY :{WHITE}... 배열 '{STRING}'에서 오류 발생
|
||||
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... '{1:STRING}'{G 0 "은" "는"} '{0:STRING}'에 사용할 수 없습니다
|
||||
STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... '{1:STRING}'에 잘못된 값('{0:STRING}')이 지정되었습니다.
|
||||
STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... 설정 '{STRING}' 끝에 후행문자(??)
|
||||
STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... NewGRF '{STRING}' 무시중: '{STRING}'{G 1 "과" "와"} GRF ID가 겹침
|
||||
STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... 유효하지 않은 NewGRF '{STRING}' 무시중: {STRING}
|
||||
@@ -1802,10 +1802,10 @@ STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}터널
|
||||
STR_CHEAT_NO_JETCRASH :{LTBLUE}대형 항공기가 소형 공항에서 (자주) 충돌하지 않게 함: {ORANGE}{STRING}
|
||||
STR_CHEAT_EDIT_MAX_HL :{LTBLUE}최대 지형 고도값 수정: {ORANGE}{NUM}
|
||||
STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}최대 지형 높이값을 수정합니다.
|
||||
STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :온대 기후 지형
|
||||
STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :아한대 지형
|
||||
STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :아열대 기후 지형
|
||||
STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :장난감나라 지형
|
||||
STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :온대 기후
|
||||
STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :아한대 기후
|
||||
STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :아열대 기후
|
||||
STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :장난감나라
|
||||
STR_CHEAT_CHANGE_DATE :{LTBLUE}날짜 변경: {ORANGE}{DATE_SHORT}
|
||||
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}현재의 연도를 변경
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}1차 산업시설 생산량 조절 허용: {ORANGE}{STRING}
|
||||
@@ -2065,7 +2065,7 @@ STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}회사
|
||||
############ End of leave-in-this-order
|
||||
STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM}명의 접속자가 먼저 기다리고 있습니다
|
||||
STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}지금까지 {BYTES}를 다운로드하였습니다
|
||||
STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} 다운로드 됨
|
||||
STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} 다운로드 완료
|
||||
|
||||
STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}접속 끊기
|
||||
|
||||
@@ -2360,17 +2360,17 @@ STR_STATION_CLASS_WAYP :{G=f}경유지
|
||||
STR_BUILD_SIGNAL_CAPTION :{WHITE}신호기 선택
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}폐색 신호기 (구식){}가장 기본적인 신호기 형식입니다. 단 한 대의 열차만이 이 폐색 구간을 통과할 수 있습니다.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}입구 신호기 (구식){}다음 폐색 구간에 있는 출구 신호기가 하나라도 파란불이면 파란불이 되며, 그렇지 않은 경우에는 빨간불이 됩니다.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}출구 신호기 (구식){}일반 신호기와 기능이 똑같지만, 입구 & 콤보 신호기와 올바르게 연계되어야 합니다.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}콤보 신호기 (구식){}콤보 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지 구조"를 건설할 수 있도록 도와줍니다.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}출구 신호기 (구식){}일반 신호기와 기능이 똑같지만, 입구 & 복합 신호기와 올바르게 연계되어야 합니다.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}복합 신호기 (구식){}복합 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지 구조"를 건설할 수 있도록 도와줍니다.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}경로 신호기 (구식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 경로 신호기는 반대편에서 통과가 가능합니다.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}단방향 경로 신호기 (구식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 단방향 경로 신호기는 반대편에서 통과가 불가능합니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}폐색 신호기 (전자식){}가장 기본적인 신호기 형식입니다. 단 한 대의 열차만이 이 폐색 구간을 통과할 수 있습니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}입구 신호기 (전자식){}다음 폐색 구간에 있는 출구 신호기가 하나라도 파란불이면 파란불이 되며, 그렇지 않은 경우에는 빨간불이 됩니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}출구 신호기 (전자식){}일반 신호기와 기능이 똑같지만, 입구 & 콤보 신호기와 올바르게 연계되어야 합니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}콤보 신호기 (전자식){}콤보 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지식 구조"를 건설할 수 있도록 도와줍니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}출구 신호기 (전자식){}일반 신호기와 기능이 똑같지만, 입구 & 복합 신호기와 올바르게 연계되어야 합니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}복합 신호기 (전자식){}복합 신호기는 입구 신호기와 출구 신호기의 역할을 동시에 합니다. 이 신호기는 사전 신호기의 거대한 "나뭇가지식 구조"를 건설할 수 있도록 도와줍니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}경로 신호기 (전자식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 경로 신호기는 반대편에서 통과가 가능합니다.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}단방향 경로 신호기 (전자식){}경로 신호기는 경로가 겹치지 않는 경우에 한 대 이상의 열차가 한 폐색 구간에 동시에 들어갈 수 있게 해줍니다. 단방향 경로 신호기는 반대편에서 통과가 불가능합니다.
|
||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}신호기 변환{}이 버튼을 선택한 뒤 이미 설치된 신호기를 클릭하면, 신호기의 종류(일반/입구/출구/콤보/경로)와 형식(구식↔전자식)을 변경하고, CTRL+클릭하면 신호기의 형식을 변경합니다. SHIFT+클릭을 사용하면 예상 가격을 볼 수 있습니다.
|
||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}신호기 변환{}이 버튼을 선택한 뒤 이미 설치된 신호기를 클릭하면, 신호기의 종류(일반/입구/출구/복합/경로)와 형식(구식↔전자식)을 변경하고, CTRL+클릭하면 신호기의 형식을 변경합니다. SHIFT+클릭을 사용하면 예상 가격을 볼 수 있습니다.
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}드래그시 신호기 간격
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}드래그시 신호기 간격 감소
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}드래그시 신호기 증가
|
||||
@@ -2563,7 +2563,7 @@ STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}소비
|
||||
STR_INDUSTRY_CARGOES_HOUSES :{WHITE}도시 가구
|
||||
STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}이 산업시설의 공급자와 고객을 보려면 클릭하세요.
|
||||
STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}이 화물의 공급자와 고객을 보려면 클릭하세요.
|
||||
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}산업망 표시
|
||||
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}산업시설 연계도 보기
|
||||
STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}이 산업시설에서 생산/소비하는 화물을 보여줍니다.
|
||||
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}지도에 표시
|
||||
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}위 산업망에 표시된 산업을 소형지도에서 볼 수 있게 합니다.
|
||||
@@ -2610,23 +2610,23 @@ STR_LAI_RAIL_DESCRIPTION_TRACK :{STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :일반 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :입구 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :출구 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :콤보 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :복합 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :단방향 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :일반 신호기와 입구 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :일반 신호기와 출구 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :일반 신호기와 콤보 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :일반 신호기와 복합 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :일반 신호기와 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :일반 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :입구 신호기와 출구 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :입구 신호기와 콤보 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :입구 신호기와 복합 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :입구 신호기와 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :입구 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :출구 신호기와 콤보 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :출구 신호기와 복합 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :출구 신호기와 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :출구 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :콤보 신호기와 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :콤보 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :복합 신호기와 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :복합 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :경로 신호기와 단방향 경로 신호기가 설치된 {STRING} 선로
|
||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :{STRING} 차량기지
|
||||
|
||||
@@ -2880,7 +2880,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}이전
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}(위조/재색상/글씨 스프라이트를 제외한) 이전 보통 스프라이트로 이동하고, 첫 번째 스프라이트에 다다르면 마지막으로 돌아갑니다.
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}현재 선택된 스프라이트를 표시합니다. 이 스프라이트가 그려졌을때의 정렬은 무시합니다.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}X축이나 Y축 방향으로 스프라이트를 이동시킵니다.
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X축: {NUM}, Y축: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}상대값 초기화
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}현재 상대값 좌표를 초기화
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X 좌표: {NUM}, Y 좌표: {NUM} (절댓값)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X 좌표: {NUM}, Y 좌표: {NUM} (상대값)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}스프라이트 선택
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}화면에서 스프라이트를 골라 냅니다.
|
||||
|
||||
@@ -3137,7 +3140,7 @@ STR_STATION_VIEW_VIA_ANY :{RED}어디든
|
||||
STR_STATION_VIEW_FROM_HERE :{GREEN}여기에서 출발하는 {CARGO_SHORT}
|
||||
STR_STATION_VIEW_VIA_HERE :{GREEN}이 역을 경유하는 {CARGO_SHORT}
|
||||
STR_STATION_VIEW_TO_HERE :{GREEN}이 역에 도착하는 {CARGO_SHORT}
|
||||
STR_STATION_VIEW_NONSTOP :{YELLOW}직통 {CARGO_SHORT}
|
||||
STR_STATION_VIEW_NONSTOP :{YELLOW}직행 {CARGO_SHORT}
|
||||
|
||||
STR_STATION_VIEW_GROUP_S_V_D :출발-경유-도착
|
||||
STR_STATION_VIEW_GROUP_S_D_V :출발-도착-경유
|
||||
@@ -3224,10 +3227,10 @@ STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}없음
|
||||
STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}회사가치: {WHITE}{CURRENCY_LONG}
|
||||
STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}({COMMA}% {COMPANY}의 소유)
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}기반시설:
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}철도 {COMMA}칸
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}선로 {COMMA}칸
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}도로 {COMMA}칸
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}운하시설 {COMMA}칸
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}정거장 {COMMA}칸
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}항만시설 {COMMA}칸
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}역 {COMMA}칸
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}공항 {COMMA}개
|
||||
STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}없음
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case kas
|
||||
|
||||
|
||||
# $Id: latvian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: latvian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2799,7 +2799,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Iepriek
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Iet pie iepriekšējā parastā gariņa, izlaižot visus pseido/pārkrāsotos/fonta gariņus
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Atlasītā gariņa attēlojums. To attēlojot, izkārtojums netiek ievērots
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pārvietot gariņu, lai mainītu X un Y vērtības
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X garums: {NUM}, Y garums: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Paņemt gariņu
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Paņemt gariņu no jebkuras vietas ekrānā
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case kas ko kam ka kuo kur kreip
|
||||
|
||||
|
||||
# $Id: lithuanian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: lithuanian.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -3098,7 +3098,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Buvęs a
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Pereiti prie buvusio animacinio objekto praleidžiant visus pseudo/spalvinimo/šriftų objektus peršokant į pabaigą pradžioje
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Atvaizdavimas dabartinio pasirinkto sprite. Suderinamumas yra ignoruojamas, rengiant šį sprite
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Perkelti sprite aplink, keičiant X ir Y atsvaras
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X atsvara: {NUM}, Y atsvara: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Anuliuoti santykinius
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Anuliuoti santykinius poslinkius
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X poslinkis: {NUM}, Y poslinkis: {NUM} (Absoliutus)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X poslinkis: {NUM}, Y poslinkis: {NUM} (Santykinis)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pasirinkti sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pasirinkite sprite iš bet kurios vietos ekrane
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x23
|
||||
|
||||
|
||||
# $Id: luxembourgish.txt 27112 2015-01-04 17:45:35Z translators $
|
||||
# $Id: luxembourgish.txt 27182 2015-03-13 17:45:21Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Fiiresch
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Géi weider op déi nächst normal Sprite, iwwersprang all pseudo/recolour/font Sprite an sprang zréck op den Ufank no der leschter.
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representatioun vun der grad gewielter Sprite. Den Alignement gëtt ignoréiert wann d'Sprite gezun gëtt
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Beweg Sprite, X an Y offsets enneren sech
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Relativ zerécksetzen
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Momentan relativ Offsets zerécksetzen
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X-Offset: {NUM}, Y-Offset: {NUM} (Absolut)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X-Offset: {NUM}, Y-Offset: {NUM} (Relativ)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Wiel Sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Wiel en Sprite egalwou um Schierm aus
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x3c
|
||||
|
||||
|
||||
# $Id: malay.txt 27153 2015-02-15 17:45:47Z translators $
|
||||
# $Id: malay.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2573,7 +2573,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Peperi s
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Teruskan ke peperi dahulu yang biasa, melangkau sebarang peperi pseudo/warna kembali/fon dan memusing balik semula
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Perwakilan peperi yang terpilih. Penjajaran tidak diendahkan apabila sedang melukiskan peperi.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Alih peperi, mengubahkan ofset X dan Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X ofset: {NUM}, Y ofset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih peperi
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih peperi di mana-mana sahaja dari skrin
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case small
|
||||
|
||||
|
||||
# $Id: norwegian_bokmal.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: norwegian_bokmal.txt 27180 2015-03-10 17:47:16Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2883,7 +2883,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Forrige
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsett til forrige normale sprite og hopp over enhver pseudo-/omfargings-/skrifttype- sprite, samt start om ved begynnelsen
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Forhåndsvisning av valgt sprite. Innrettingen ignoreres når spriten tegnes
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytt spriten rundt omkring, for å endre X- og Y-forskyvningene
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-forskyvning: {NUM}, Y-forskyvning: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Tilbakestill relativt
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Nullstill de nåværende relative forskyvninger
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X forskyvning: {NUM}, Y forskyvning: {NUM} (Absolutt)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X forskyvning: {NUM}, Y forskyvning: {NUM} (Relativt)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Velg en sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Velg en sprite fra et vilkårlig sted på skjermen
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case small
|
||||
|
||||
|
||||
# $Id: norwegian_nynorsk.txt 27124 2015-01-22 17:45:22Z translators $
|
||||
# $Id: norwegian_nynorsk.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2800,7 +2800,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Førre s
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsett til neste normale sprite og hopp over einhver pseudo-/omfargings-/skrifttype- sprite, samt start om ved byrjinga
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Førehandsvisning av valgt sprite. Innrettinga ignorerast når spriten tegnes
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytt spriten rundt omkring, for å endre X- og Y-forskyvningene
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X-forskyvning: {NUM}, Y-forskyvning: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vel sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Vel ein sprite frå eit vilkårleg sted på skjermen
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case d c b n m w
|
||||
|
||||
|
||||
# $Id: polish.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: polish.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -3259,7 +3259,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Poprzedn
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Idź do poprzedniego normalnego obrazka, pomijając jakiekolwiek pseudo/kolorowe/znakowe obrazki i zawijaj je od pierwszego do ostatniego
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Przedstawienie wybranego orbazka. Dostosowanie jest ignorowane podczas rysowania tego obrazka
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Poruszaj obrazkiem, zmieniając przesunięcia X i Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Przesunięcie X: {NUM}, Przesunięcie Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetuj zależność
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetuj aktualne offsety zależne
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Całkowity)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (Zależny)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Wybierz obrazek
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Wybierz obrazek z dowolnego miejsca na ekranie
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender n m f mp fp
|
||||
|
||||
|
||||
# $Id: portuguese.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: portuguese.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2863,7 +2863,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Gráfico
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceder ao gráfico normal anterior, ignorando quaisquer gráficos pseudo/recolorir/tipo-de-letra e dando a volta no início
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do gráfico seleccionado actualmente. O alinhamento é ignorado a desenhar este gráfico
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mover o gráfico, mudando os desvios X e Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Desvio X: {NUM}, Desvio Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Escolher gráfico
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Escolha um gráfico de qualquer lado no ecrã
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x28
|
||||
|
||||
|
||||
# $Id: romanian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: romanian.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -249,7 +249,15 @@ STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bara de
|
||||
STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolează clădiri, străzi, etc. pe un pătrățel de teren. Ctrl pentru selectare pe diagonală. Shift comută construcție/estimare cost
|
||||
|
||||
# Show engines button
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Arată ascunse
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Arată ascunse
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Arată ascunse
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Arată ascunse
|
||||
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Activând acest buton, și trenurile vor fi afișate
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Activând acest buton, și autovehiculele vor fi afișate
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Activând acest button, și vapoarele ascunse vor fi afișate
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Activând acest buton, și aeronavele ascunse vor fi afișate
|
||||
|
||||
# Query window
|
||||
STR_BUTTON_DEFAULT :{BLACK}Prestabilit(e)
|
||||
@@ -1074,6 +1082,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Foarte plat
|
||||
STR_TERRAIN_TYPE_FLAT :Plat
|
||||
STR_TERRAIN_TYPE_HILLY :Deluros
|
||||
STR_TERRAIN_TYPE_MOUNTAINOUS :Muntos
|
||||
STR_TERRAIN_TYPE_ALPINIST :Alpinist
|
||||
|
||||
STR_CITY_APPROVAL_PERMISSIVE :Permisivă
|
||||
STR_CITY_APPROVAL_TOLERANT :Tolerantă
|
||||
@@ -1267,8 +1276,8 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Durata de afiș
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durata afișării mesajelor de eroare în fereastra roșie. Unele mesaje de eroare (cele critice) nu sunt închise automat după trecerea acestei perioade, și trebuie închise manual.
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} secund{P 0 ă e}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY :Afișează texte informative: {STRING}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Durata dinaintea afișării textelor informative când se ține mouse-ul pe un element al interfeței. Alternativ, afișarea textelor informative poate fi setată pentru click-dreapta
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :După {COMMA} secund{P 0 ă e}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Durata dinaintea afișării sfaturilor când se ține mausul pe un element al interfeței. Alternativ, afișarea sfaturilor poate fi setată pentru clic-dreapta
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Plutește {COMMA} milisecund{P 0 ă e}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Click dreapta
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Afişează populaţia unui oras lângă nume: {STRING}
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Afișează populația orașelor în numele afișate pe hartă
|
||||
@@ -2805,7 +2814,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Imaginea
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mergi la precedenta imagine normală, sărind peste pseudo-imagini, recolorări sau fonturi şi reporneşte când s-a ajuns la sfârşit
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Reprezentarea imaginii curente. Aliniamentul este ignorat
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mişcă imaginea schimbând distanţele pe axele X şi Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}distanţa X: {NUM}, distanţa Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetează relativele
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetază limitele relative actuale
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Limita X: {NUM}, Limita Y: {NUM} (Absolut)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Limita X: {NUM}, Limita Y: {NUM} (Relativ)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Alege imagine
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Alege o imagine de oriunde de pe ecran
|
||||
|
||||
@@ -3343,8 +3355,17 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Redenume
|
||||
STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Redenumeşte modelul de navă
|
||||
STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Redenumeşte modelul de aeronavă
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde
|
||||
STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde
|
||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Ascunde
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Afișează
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Afișează
|
||||
STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Afișează
|
||||
STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Afișează
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comută ascunderea/afișarea tipului de tren
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comutator pentru afişarea tipului de autovehicul
|
||||
STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comutator pentru afişarea tipului de navă
|
||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Comutator pentru afişarea tipului de aeronavă
|
||||
@@ -3453,6 +3474,10 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Autovehicolul
|
||||
STR_REPLACE_VEHICLE_SHIP :Nava
|
||||
STR_REPLACE_VEHICLE_AIRCRAFT :Aeronava
|
||||
|
||||
STR_REPLACE_VEHICLE_VEHICLES_IN_USE :{YELLOW}Vehicule în uz
|
||||
STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Coloana vehiculelor pe care le deții
|
||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Vehicule disponibile
|
||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Coloana vehiculelor disponibile pentru înlocuire
|
||||
|
||||
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Alege tipul de motor pentru înlocuire
|
||||
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Alege noul tip de motor pe care doreşti să-l foloseşti în locul motorului selectat în stânga
|
||||
@@ -4097,6 +4122,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... păd
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... poate fi construit doar deasupra liniei zăpezii
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... poate fi construit doar sub linia zăpezii
|
||||
|
||||
STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modifică parametrii generatorului ca să obții o hartă mai bună
|
||||
|
||||
# Station construction related errors
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Nu se poate construi o gară aici...
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case m f n p nom gen dat acc abl pre
|
||||
|
||||
|
||||
# $Id: russian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: russian.txt 27177 2015-03-02 17:46:37Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -3059,7 +3059,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Пред
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Перейти к предыдущему нормальному спрайту, пропуская изменяющие цвет, шрифтовые, псевдоспрайты. Переход из начала списка к последнему спрайту.
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Представление выбранного спрайта. Выравнивание не учитывается при прорисовке этого спрайта.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Двигайте спрайт, изменяя смещение по X и по Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Смещение по X: {NUM}, Смещение по Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Сброс смещения
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Сбросить значения относительного смещения
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Смещение X: {NUM}; смещение Y: {NUM} (абсолютное)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Смещение X: {NUM}; смещение Y: {NUM} (относительное)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Выбрать спрайт
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Выберите любой спрайт на экране
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case nom big gen dat aku vok lok ins
|
||||
|
||||
|
||||
# $Id: serbian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: serbian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2940,7 +2940,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Prethodn
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Vraća se na prethodni normalan sprajt, preskačući sve pseudo/prebojavajuće/font sprajtove i prelazi na kraj posle početnog
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Prikaz trenutno odabranog sprajta. Poravnanje se ignoriše tokom iscrtavanja ovog sprajta
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Premeštanje sprajta po kordinatama, menjanjem X i Y pomeraja
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X pomeraj: {NUM}, Y pomeraj: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Odabiranje sprajta
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Odabiranje sprajta bilo gde sa ekrana
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x56
|
||||
|
||||
|
||||
# $Id: simplified_chinese.txt 27130 2015-01-31 17:45:21Z translators $
|
||||
# $Id: simplified_chinese.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}上一
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}继续处理上一个正常的图形元素,略过任何虚位/重新着色/文字字型相关的图形元素;并且在处理到第一个图形元素后,返回最后的图形元素继续处理。
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}显示目前选取的 sprite。当 sprite 正在描绘时会忽略其定位。
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}移动 sprite 到指定的 X 与 Y 座标位移
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X 座标位移: {NUM}, Y 座标位移: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}选择 sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}请从屏幕画面中任意选取一个 sprite
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case g
|
||||
|
||||
|
||||
# $Id: slovak.txt 27116 2015-01-10 17:46:35Z translators $
|
||||
# $Id: slovak.txt 27179 2015-03-09 18:15:33Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -428,6 +428,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Koniec
|
||||
|
||||
############ range for settings menu starts
|
||||
STR_SETTINGS_MENU_GAME_OPTIONS :Nastavenia hry
|
||||
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Nastavenia
|
||||
STR_SETTINGS_MENU_SCRIPT_SETTINGS :Umelá inteligencia / Nastavenia hry
|
||||
STR_SETTINGS_MENU_NEWGRF_SETTINGS :Nastavenie NewGRF
|
||||
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Nastavenie priehľadnosti
|
||||
@@ -1045,6 +1046,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :iné
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veľkosť rozhrania
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normálne
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná veľkosť
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Štvornásobná veľkosť
|
||||
|
||||
@@ -1149,6 +1151,7 @@ STR_CITY_APPROVAL_HOSTILE :Odmietavy
|
||||
STR_WARNING_NO_SUITABLE_AI :{WHITE}Nieje dostupné žiadne použiteľné AI...{}Niekoľko AI je možné stiahnuť cez 'Online obsah'
|
||||
|
||||
# Settings tree window
|
||||
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Nastavenia
|
||||
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrovací reťazec:
|
||||
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Rozšíriť všetko
|
||||
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Zbaliť všetky
|
||||
@@ -1336,7 +1339,7 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Potrebné finan
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimálna suma ktorá musí zostať na účte pred plánovanou automatickou výmenou vozidiel.
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION :Trvanie zobrazenia chybovej hlášky: {STRING}
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Trvanie zobrazenia chybovej hlášky v červenom okne. Uvedomte si že niektoré "kritické" správy nezmiznú po uplynutí času, ale musia byť zatvorené ručne.
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund(y)
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sek{P unda undy únd}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY :Ukáž nápovedu: {STRING}
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oneskorenie pred tým ako bude zobrazená nápoveda po ukázaní myšou. Nápoveda môže byť eventuálne nastavené aj na PRAVÉ tlačítko myši.
|
||||
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Zobrazenie na {COMMA} sekúnd
|
||||
@@ -1632,7 +1635,7 @@ STR_CONFIG_SETTING_STATUSBAR_POS :Pozícia inform
|
||||
STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Horizontálna poloha stavového riadku na spodu obrazovky
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS :Rádius uchytenia okna: {STRING}
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Vzdialenosť medzi oknami pred tým ako je okno pripojené automaticky k vedľajšiemu oknu
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel(ov)
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel{P "" y ov}
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :vypnuté
|
||||
STR_CONFIG_SETTING_SOFT_LIMIT :Maximálný počet nepriľnavých okien: {STRING}
|
||||
STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Počet otvorených neprilepených okien pred tým ako sa najstrašie okno automatický zatvorí
|
||||
@@ -1793,6 +1796,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Viacero
|
||||
|
||||
STR_INTRO_GAME_OPTIONS :{BLACK}Nastavenia hry
|
||||
STR_INTRO_HIGHSCORE :{BLACK}Najlepší hráči
|
||||
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Nastavenia
|
||||
STR_INTRO_NEWGRF_SETTINGS :{BLACK}Nastavenia NewGRF
|
||||
STR_INTRO_ONLINE_CONTENT :{BLACK}Skontrolovať online obsah
|
||||
STR_INTRO_SCRIPT_SETTINGS :{BLACK}Umelá inteligencia / Nastavenia skriptu
|
||||
@@ -1812,6 +1816,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vybrať
|
||||
|
||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Zobraziť nastavenia hry
|
||||
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Zobraziť tabuľku hráčov s najvyšším skóre
|
||||
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Nastavenie zobrazenia
|
||||
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Zobraziť NewGRF nastavenia
|
||||
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Skontrolovať nový a aktualizovaný obsah pre stiahnutie
|
||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Zobraz umelú inteligenciu a nastavenia skriptu
|
||||
@@ -2931,7 +2936,8 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Predchá
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Prejsť na predchádzajúci normálny sprite, vynechajúc akékoľvek falošné/prefarbené sprites a sprites fontu použité na začiatku
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Reprezentuje aktuálne zvolený objekt. Zarovnanie je ignorované pri vykresľovaní objektu
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pri hýbaní objektom, sa menia X a Y súradnice
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X súradnica: {NUM}, Y súradnica: {NUM}
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (absolútne)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset: {NUM}, Y offset: {NUM} (relatívne)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Vybrať objekt
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Vyberte objekt z obrazovky
|
||||
|
||||
@@ -3472,7 +3478,15 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Premenov
|
||||
STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Premenovať typ lode
|
||||
STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Premenovať typ lietadla
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Skryť
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Skryť
|
||||
STR_BUY_VEHICLE_SHIP_HIDE_TOGGLE_BUTTON :{BLACK}Skryť
|
||||
STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}Skryť
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť
|
||||
STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť
|
||||
STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Zobraziť
|
||||
|
||||
|
||||
STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Premenovať typ vlaku
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##case r d t
|
||||
|
||||
|
||||
# $Id: slovenian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: slovenian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2976,7 +2976,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Prejšnj
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Nadaljuj k prejšnji navadni sličici, zanemari vse navidezne/pobarvane/besedilne sličice in okvir na koncu
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Predstavitev trenutno izbrane sličice. Zamik je zanemarjen pri risanju te sličice
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Premakni sličico s spreminjanjem X in Y osi
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X zamik: {NUM}, Y zamik: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Izberi sličico
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Izberi sličico kjerkoli na zaslonu
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##gender m f
|
||||
|
||||
|
||||
# $Id: spanish.txt 27114 2015-01-06 17:45:49Z translators $
|
||||
# $Id: spanish.txt 27180 2015-03-10 17:47:16Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -615,8 +615,8 @@ STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Mostrar
|
||||
############ Those following lines need to be in this order!!
|
||||
STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Vehículos:
|
||||
STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Estaciones:
|
||||
STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Beneficio Min.:
|
||||
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Ingreso Min.:
|
||||
STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Beneficio Mín.:
|
||||
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Ingreso Mín.:
|
||||
STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Ingreso Máx.:
|
||||
STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Entregado:
|
||||
STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Carga:
|
||||
@@ -2830,7 +2830,7 @@ STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comproba
|
||||
STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Fichero: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versión: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. versión compatible: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versión compatible: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING}
|
||||
@@ -2880,7 +2880,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite a
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Saltar al sprite anterior (ignorando pseudosprites, sprites recoloreados y sprites de fuente) y pasar del primer al último sprite
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representación del sprite seleccionado. Su alineamiento es ignorado al dibujarlo
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mover el sprite, cambiando los ajustes X e Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Ajuste X: {NUM}, Ajuste Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reiniciar coordenadas relativas
|
||||
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reinicia las coordenadas relativas actuales
|
||||
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Coordenada X: {NUM}, Coordenada Y: {NUM} (Absoluta)
|
||||
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Coordenada X: {NUM}, Coordenada Y: {NUM} (Relativa)
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Seleccionar sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Seleccionar un sprite de cualquier parte de la pantalla
|
||||
|
||||
@@ -3180,7 +3183,7 @@ STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Cambiar
|
||||
STR_EDIT_WAYPOINT_NAME :{WHITE}Editar nombre del punto de ruta
|
||||
|
||||
# Finances window
|
||||
STR_FINANCES_CAPTION :{WHITE}{COMPANY} Finanzas {BLACK}{COMPANY_NUM}
|
||||
STR_FINANCES_CAPTION :{WHITE}Finanzas de {COMPANY} {BLACK}{COMPANY_NUM}
|
||||
STR_FINANCES_EXPENDITURE_INCOME_TITLE :{WHITE}Gastos/Ingresos
|
||||
STR_FINANCES_YEAR :{WHITE}{NUM}
|
||||
STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Construcción
|
||||
@@ -3528,10 +3531,10 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotora
|
||||
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Coste: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER}{}Coste Operativo: {CURRENCY_LONG}/año{}Capacidad: {CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Coste: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER} F.T. Máxima: {6:FORCE}{}Coste de operación: {4:CURRENCY_LONG}/año{}Capacidad: {5:CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Max.: {VELOCITY}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Max.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Coste: {CURRENCY_LONG} Velocidad Max.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste de Operación: {CURRENCY_LONG}/año
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Max.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}{}Coste de Operación: {CURRENCY_LONG}/año
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST:{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste de Operación: {CURRENCY_LONG}/año
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}{}Coste de Operación: {CURRENCY_LONG}/año
|
||||
|
||||
# Autoreplace window
|
||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Reemplazar {STRING} - {STRING}
|
||||
@@ -3654,9 +3657,9 @@ STR_VEHICLE_INFO_AGE :{COMMA} año{P
|
||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} año{P "" s} ({COMMA})
|
||||
|
||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidad Máx.: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocidad Max.: {LTBLUE}{VELOCITY} {BLACK}Alcance: {LTBLUE}{COMMA} casillas
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Max.: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Max.: {LTBLUE}{VELOCITY} {BLACK}F.T. Max.: {LTBLUE}{FORCE}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Velocidad Máx.: {LTBLUE}{VELOCITY} {BLACK}Alcance: {LTBLUE}{COMMA} casillas
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Máx.: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potencia: {LTBLUE}{POWER}{BLACK} Velocidad Máx.: {LTBLUE}{VELOCITY} {BLACK}F.T. Máx.: {LTBLUE}{FORCE}
|
||||
|
||||
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Beneficios este año: {LTBLUE}{CURRENCY_LONG} (último año: {CURRENCY_LONG})
|
||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilidad: {LTBLUE}{COMMA}% {BLACK}Averías desde el último mantenimiento: {LTBLUE}{COMMA}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x2e
|
||||
|
||||
|
||||
# $Id: swedish.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: swedish.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Tidigare
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsätt till föregående normala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om från slutet efter första spriteobjektet
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation av det valda objektet. Justeringen ignoreras när objektet ritas.
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytta runt objektet, ändrar X och Y offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Välj objekt
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Välj ett objekt på bildskärmen
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x0A
|
||||
|
||||
|
||||
# $Id: tamil.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: tamil.txt 27177 2015-03-02 17:46:37Z translators $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -97,7 +97,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :குளிர
|
||||
STR_QUANTITY_NOTHING :
|
||||
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP} பயணி{P "" கள்}
|
||||
STR_QUANTITY_COAL :{WEIGHT_LONG} நிலக்கரி
|
||||
STR_QUANTITY_MAIL :{COMMA} அஞ்சல் பை{P "" கள்}
|
||||
STR_QUANTITY_MAIL :{COMMA}{NBSP} அஞ்சல் பை{P "" கள்}
|
||||
STR_QUANTITY_OIL :{VOLUME_LONG} எண்ணெய்
|
||||
STR_QUANTITY_LIVESTOCK :{COMMA} கால்நடை{P "" கள்}
|
||||
STR_QUANTITY_GOODS :{COMMA} சரக்குப் பெட்டி{P "" கள்}
|
||||
@@ -248,6 +248,10 @@ STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll b
|
||||
STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}சதுர நிலப்பகுதியில் கட்டிடம் போன்றவற்றை இடிக்க. Ctrl தேர்வுசெய்திட. Shift உத்தேச செலவை/கட்டிடத்தை காட்டிட
|
||||
|
||||
# Show engines button
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}மறைந்திருப்பதை காட்டு
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}மறைந்திருப்பதை காட்டு
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}மறைந்திருப்பதை காட்டு
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}மறைந்திருப்பதை காட்டு
|
||||
|
||||
|
||||
# Query window
|
||||
@@ -389,6 +393,7 @@ STR_FILE_MENU_EXIT :வெளிய
|
||||
# map menu
|
||||
STR_MAP_MENU_MAP_OF_WORLD :உலகப் படம்
|
||||
STR_MAP_MENU_EXTRA_VIEW_PORT :கூடுதல் பார்வைபடம்
|
||||
STR_MAP_MENU_LINGRAPH_LEGEND :சரக்கு செல்லும் வழிப் படம்
|
||||
STR_MAP_MENU_SIGN_LIST :குறிகளின் பட்டியல்
|
||||
|
||||
############ range for town menu starts
|
||||
@@ -1062,7 +1067,7 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :நிறுவ
|
||||
|
||||
STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}பகுப்பு:
|
||||
STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}வகை:
|
||||
STR_CONFIG_SETTING_RESTRICT_BASIC :அடிப்படை அமைப்புகள்
|
||||
STR_CONFIG_SETTING_RESTRICT_BASIC :அடிப்படை அமைப்புகளை மட்டுமே காட்டு
|
||||
STR_CONFIG_SETTING_RESTRICT_ADVANCED :சிறப்பு அமைப்புகள்
|
||||
STR_CONFIG_SETTING_RESTRICT_ALL :அதிக / அனைத்து அமைப்புகள்
|
||||
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :முதலில் இருந்த மதிப்பினை மாற்றம் செய்யப்பட்ட அமைப்புகள்
|
||||
@@ -2528,7 +2533,6 @@ STR_SPRITE_ALIGNER_CAPTION :{WHITE}ஸ்
|
||||
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}அடுத்த ஸ்பிரைட்டு
|
||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}ஸ்பிரைட்டுயிற்கு செல்லவும்
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}முந்தைய ஸ்பிரைட்டு
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}ஸ்பிரைட்டினைத் தேர்ந்தெடுக்கவும்
|
||||
|
||||
STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}ஸ்பிரைட்டிற்கு செல்லவும்
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x42
|
||||
|
||||
|
||||
# $Id: thai.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: thai.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2798,7 +2798,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}sprite
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}เคลื่อนไปยัง sprite ปกติอันก่อนหน้า โดยข้าม pseudo/recolour/font และวกกลับเมื่อถึงจุดเริ่มต้น
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}แสดง sprite ที่เลือกใหม่อีกครั้ง
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}ย้าย sprite wxiv[q, แก้ไขแกน X และ Y สำหรับความคลาดเคลื่อน
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X คลาดเคลื่อน: {NUM}, Y คลาดเคลื่อน: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}หยิบ sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}หยิบ sprite จากที่ใดก็ตามในหน้าจอ
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x0c
|
||||
|
||||
|
||||
# $Id: traditional_chinese.txt 27156 2015-02-20 17:45:21Z translators $
|
||||
# $Id: traditional_chinese.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}上一
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}繼續處理上一個正常的子畫面,略過任何虛位/重新著色/文字字型相關的子畫面,並在到達第一個子畫面後,返回最後的子畫面繼續進行處理。
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}顯示目前選取的 sprite。當 sprite 正在描繪時會忽略其定位
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}移動 sprite 到指定的 X 及 Y 座標位移
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X 座標位移:{NUM}, Y 座標位移:{NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}選取 Sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}請從畫面中任意選取一個 sprite
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
##case tamlanan
|
||||
|
||||
|
||||
# $Id: turkish.txt 27142 2015-02-10 17:45:15Z translators $
|
||||
# $Id: turkish.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2809,7 +2809,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Önceki
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Tüm sahte/yeniden renklendirme/yazı tipi nesnelerini ve baştaki sargıyı atlayarak bir önceki normal nesneye geç
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Seçili nesnenin mevcut gösterimi. Bu nesneyi çizerken hizalama ihmal edilir
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Nesneyi X ve Y ofsetlerini değiştirerek gezdir
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X ofseti: {NUM}, Y ofseti: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Nesne seç
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Ekrandaki herhangi bir yerden bir nesne seçin
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
##case r d z
|
||||
|
||||
|
||||
# $Id: ukrainian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: ukrainian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2973,7 +2973,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Попе
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Повернутися до попереднього нормального спрайту, пропускаючи будь-які псевдоспрайти, спрайти зі зміненими кольорами та шрифтові спрайти, а також обгортки (wrap) навколо на початку
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Відображення обраного спрайту (вирівнювання ігнорується)
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайте спрайт навколо, змінюючи його зміщення за X та Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Зміщення за X: {NUM}, Зміщення за Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Вибрати спрайт
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Оберіть будь-який спрайт на екрані
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x32
|
||||
|
||||
|
||||
# $Id: frisian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: frisian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2392,7 +2392,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Foarig f
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Gean tebek nei de foarige ôfbylding, sla pseudo/werkleure/lettertype ôfbyldings oer en begjin wer oernei at it begjin berikke is
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Represintaasje fan de no selektearre ôfbylding. Dizze wurdt net rjochte by it tekenjen
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Ferweech de ôfbylding, feroarje de X en Y útslach
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Utslach X: {NUM}, Utslach Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Kies ôfbylding
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pak in ôfbylding fan alle lokaasjes op it skerm ôf
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x62
|
||||
|
||||
|
||||
# $Id: persian.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: persian.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2572,7 +2572,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}تصوی
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}نمایش تصویر عادی قبلی، بدون انجام دادن هر گونه تغییرات
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}نمایش تصویر انتخاب شده. تغییر مکان تصویر در زمان بارگزاری اعمال نمی شود
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}تغییر مکان تصویر، تغییر مقدار اضافه شونده به X و Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}مقدار اضافه شونده به X: {NUM}, مقدار اضافه شونده به Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}برداشتن تصویر
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}برداشتن یک تصویر از یک نقطه از صفحه نمایش
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x54
|
||||
|
||||
|
||||
# $Id: vietnamese.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: vietnamese.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2856,7 +2856,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite t
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Xử lý sprite bình thường ở trước, bỏ qua các loại pseudo/recolour/font sprite căn theo điểm bắt đầu
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Theo những thông tin của sprite đã chọn. Thì việc căn chỉnh khi vẽ đối với sprite này sẽ bị bỏ qua
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Di chuyển sprite xung quanh, thay đổi X và Y offsets
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}X offset: {NUM}, Y offset: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Chọn sprite
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Chọn sprite ở bất cứ đâu trên màn hình
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
##grflangid 0x0f
|
||||
|
||||
|
||||
# $Id: welsh.txt 27103 2015-01-01 20:51:18Z rubidium $
|
||||
# $Id: welsh.txt 27184 2015-03-13 20:53:29Z rubidium $
|
||||
|
||||
# This file is part of OpenTTD.
|
||||
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
@@ -2879,7 +2879,6 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Corlun b
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Mynd i'r corlun cyffredin blaenorol, gan hepgor unrhyw gorluniau ailliwio/ffont/llidgorluniau, ac amlapio o'r corlun cyntaf i'r olaf
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Cynrychioliad o'r corlun a ddewiswyd. Fe anwybyddir yr aliniad wrth lunio'r corlun
|
||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Symud y corlun, gan newid yr atredau X ac Y
|
||||
STR_SPRITE_ALIGNER_OFFSETS :{BLACK}Atred X: {NUM}, Atred Y: {NUM}
|
||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Dewis corlun
|
||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Dewis corlun o ynrhyw fan ar y sgrïn
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: linkgraphjob.cpp 26482 2014-04-23 20:13:33Z rubidium $ */
|
||||
/* $Id: linkgraphjob.cpp 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -21,6 +21,13 @@
|
||||
LinkGraphJobPool _link_graph_job_pool("LinkGraphJob");
|
||||
INSTANTIATE_POOL_METHODS(LinkGraphJob)
|
||||
|
||||
/**
|
||||
* Static instance of an invalid path.
|
||||
* Note: This instance is created on task start.
|
||||
* Lazy creation on first usage results in a data race between the CDist threads.
|
||||
*/
|
||||
/* static */ Path *Path::invalid_path = new Path(INVALID_NODE, true);
|
||||
|
||||
/**
|
||||
* Create a link graph job from a link graph. The link graph will be copied so
|
||||
* that the calculations don't interfer with the normal operations on the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: linkgraphjob.h 26347 2014-02-16 18:42:59Z fonsinchen $ */
|
||||
/* $Id: linkgraphjob.h 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -343,6 +343,8 @@ public:
|
||||
*/
|
||||
class Path {
|
||||
public:
|
||||
static Path *invalid_path;
|
||||
|
||||
Path(NodeID n, bool source = false);
|
||||
|
||||
/** Get the node this leg passes. */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: linkgraphschedule.cpp 26482 2014-04-23 20:13:33Z rubidium $ */
|
||||
/* $Id: linkgraphschedule.cpp 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -18,6 +18,13 @@
|
||||
|
||||
#include "../safeguards.h"
|
||||
|
||||
/**
|
||||
* Static instance of LinkGraphSchedule.
|
||||
* Note: This instance is created on task start.
|
||||
* Lazy creation on first usage results in a data race between the CDist threads.
|
||||
*/
|
||||
/* static */ LinkGraphSchedule LinkGraphSchedule::instance;
|
||||
|
||||
/**
|
||||
* Start the next job in the schedule.
|
||||
*/
|
||||
@@ -68,9 +75,8 @@ void LinkGraphSchedule::JoinNext()
|
||||
/* static */ void LinkGraphSchedule::Run(void *j)
|
||||
{
|
||||
LinkGraphJob *job = (LinkGraphJob *)j;
|
||||
LinkGraphSchedule *schedule = LinkGraphSchedule::Instance();
|
||||
for (uint i = 0; i < lengthof(schedule->handlers); ++i) {
|
||||
schedule->handlers[i]->Run(*job);
|
||||
for (uint i = 0; i < lengthof(instance.handlers); ++i) {
|
||||
instance.handlers[i]->Run(*job);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,12 +96,11 @@ void LinkGraphSchedule::SpawnAll()
|
||||
*/
|
||||
/* static */ void LinkGraphSchedule::Clear()
|
||||
{
|
||||
LinkGraphSchedule *inst = LinkGraphSchedule::Instance();
|
||||
for (JobList::iterator i(inst->running.begin()); i != inst->running.end(); ++i) {
|
||||
for (JobList::iterator i(instance.running.begin()); i != instance.running.end(); ++i) {
|
||||
(*i)->JoinThread();
|
||||
}
|
||||
inst->running.clear();
|
||||
inst->schedule.clear();
|
||||
instance.running.clear();
|
||||
instance.schedule.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -135,15 +140,6 @@ LinkGraphSchedule::~LinkGraphSchedule()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the link graph schedule or create it if necessary.
|
||||
*/
|
||||
/* static */ LinkGraphSchedule *LinkGraphSchedule::Instance()
|
||||
{
|
||||
static LinkGraphSchedule inst;
|
||||
return &inst;
|
||||
}
|
||||
|
||||
/**
|
||||
* Spawn or join a link graph job or compress a link graph if any link graph is
|
||||
* due to do so.
|
||||
@@ -153,9 +149,9 @@ void OnTick_LinkGraph()
|
||||
if (_date_fract != LinkGraphSchedule::SPAWN_JOIN_TICK) return;
|
||||
Date offset = _date % _settings_game.linkgraph.recalc_interval;
|
||||
if (offset == 0) {
|
||||
LinkGraphSchedule::Instance()->SpawnNext();
|
||||
LinkGraphSchedule::instance.SpawnNext();
|
||||
} else if (offset == _settings_game.linkgraph.recalc_interval / 2) {
|
||||
LinkGraphSchedule::Instance()->JoinNext();
|
||||
LinkGraphSchedule::instance.JoinNext();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: linkgraphschedule.h 26347 2014-02-16 18:42:59Z fonsinchen $ */
|
||||
/* $Id: linkgraphschedule.h 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -51,8 +51,8 @@ protected:
|
||||
public:
|
||||
/* This is a tick where not much else is happening, so a small lag might go unnoticed. */
|
||||
static const uint SPAWN_JOIN_TICK = 21; ///< Tick when jobs are spawned or joined every day.
|
||||
static LinkGraphSchedule instance;
|
||||
|
||||
static LinkGraphSchedule *Instance();
|
||||
static void Run(void *j);
|
||||
static void Clear();
|
||||
|
||||
|
||||
@@ -148,15 +148,14 @@ public:
|
||||
*/
|
||||
void SetNode(NodeID source, NodeID node)
|
||||
{
|
||||
static const FlowStat::SharesMap empty;
|
||||
const FlowStatMap &flows = this->job[node].Flows();
|
||||
FlowStatMap::const_iterator it = flows.find(this->job[source].Station());
|
||||
if (it != flows.end()) {
|
||||
this->it = it->second.GetShares()->begin();
|
||||
this->end = it->second.GetShares()->end();
|
||||
} else {
|
||||
this->it = empty.begin();
|
||||
this->end = empty.end();
|
||||
this->it = FlowStat::empty_sharesmap.begin();
|
||||
this->end = FlowStat::empty_sharesmap.end();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,11 +378,10 @@ void MCF1stPass::EliminateCycle(PathVector &path, Path *cycle_begin, uint flow)
|
||||
*/
|
||||
bool MCF1stPass::EliminateCycles(PathVector &path, NodeID origin_id, NodeID next_id)
|
||||
{
|
||||
static Path *invalid_path = new Path(INVALID_NODE, true);
|
||||
Path *at_next_pos = path[next_id];
|
||||
|
||||
/* this node has already been searched */
|
||||
if (at_next_pos == invalid_path) return false;
|
||||
if (at_next_pos == Path::invalid_path) return false;
|
||||
|
||||
if (at_next_pos == NULL) {
|
||||
/* Summarize paths; add up the paths with the same source and next hop
|
||||
@@ -431,7 +429,7 @@ bool MCF1stPass::EliminateCycles(PathVector &path, NodeID origin_id, NodeID next
|
||||
* could be found in this branch, thus it has to be searched again next
|
||||
* time we spot it.
|
||||
*/
|
||||
path[next_id] = found ? NULL : invalid_path;
|
||||
path[next_id] = found ? NULL : Path::invalid_path;
|
||||
return found;
|
||||
}
|
||||
|
||||
|
||||
@@ -110,7 +110,6 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settin
|
||||
InitializeEconomy();
|
||||
|
||||
ResetObjectToPlace();
|
||||
ResetRailPlacementSnapping();
|
||||
|
||||
GamelogReset();
|
||||
GamelogStartAction(GLAT_START);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: misc_gui.cpp 27134 2015-02-01 20:54:24Z frosch $ */
|
||||
/* $Id: misc_gui.cpp 27194 2015-03-17 22:08:48Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -432,6 +432,7 @@ static const char * const _credits[] = {
|
||||
" Mike Ragsdale - OpenTTD installer",
|
||||
" Christian Rosentreter (tokai) - MorphOS / AmigaOS port",
|
||||
" Richard Kempton (richK) - additional airports, initial TGP implementation",
|
||||
" Emperor Jake - titlegame",
|
||||
"",
|
||||
" Alberto Demichelis - Squirrel scripting language \xC2\xA9 2003-2008",
|
||||
" L. Peter Deutsch - MD5 implementation \xC2\xA9 1999, 2000, 2002",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: newgrf_debug_gui.cpp 27134 2015-02-01 20:54:24Z frosch $ */
|
||||
/* $Id: newgrf_debug_gui.cpp 27174 2015-03-01 08:17:14Z alberth $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -806,8 +806,11 @@ GrfSpecFeature GetGrfSpecFeature(VehicleType type)
|
||||
|
||||
/** Window used for aligning sprites. */
|
||||
struct SpriteAlignerWindow : Window {
|
||||
SpriteID current_sprite; ///< The currently shown sprite
|
||||
typedef SmallPair<int16, int16> XyOffs; ///< Pair for x and y offsets of the sprite before alignment. First value contains the x offset, second value y offset.
|
||||
|
||||
SpriteID current_sprite; ///< The currently shown sprite.
|
||||
Scrollbar *vscroll;
|
||||
SmallMap<SpriteID, XyOffs> offs_start_map; ///< Mapping of starting offsets for the sprites which have been aligned in the sprite aligner window.
|
||||
|
||||
SpriteAlignerWindow(WindowDesc *desc, WindowNumber wno) : Window(desc)
|
||||
{
|
||||
@@ -821,17 +824,31 @@ struct SpriteAlignerWindow : Window {
|
||||
|
||||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
const Sprite *spr = GetSprite(this->current_sprite, ST_NORMAL);
|
||||
switch (widget) {
|
||||
case WID_SA_CAPTION:
|
||||
SetDParam(0, this->current_sprite);
|
||||
SetDParamStr(1, FioGetFilename(GetOriginFileSlot(this->current_sprite)));
|
||||
break;
|
||||
|
||||
case WID_SA_OFFSETS: {
|
||||
const Sprite *spr = GetSprite(this->current_sprite, ST_NORMAL);
|
||||
case WID_SA_OFFSETS_ABS:
|
||||
SetDParam(0, spr->x_offs);
|
||||
SetDParam(1, spr->y_offs);
|
||||
break;
|
||||
|
||||
case WID_SA_OFFSETS_REL: {
|
||||
/* Relative offset is new absolute offset - starting absolute offset.
|
||||
* Show 0, 0 as the relative offsets if entry is not in the map (meaning they have not been changed yet).
|
||||
*/
|
||||
const SmallPair<SpriteID, XyOffs> *key_offs_pair = this->offs_start_map.Find(this->current_sprite);
|
||||
if (key_offs_pair != this->offs_start_map.End()) {
|
||||
SetDParam(0, spr->x_offs - key_offs_pair->second.first);
|
||||
SetDParam(1, spr->y_offs - key_offs_pair->second.second);
|
||||
} else {
|
||||
SetDParam(0, 0);
|
||||
SetDParam(1, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
@@ -856,20 +873,20 @@ struct SpriteAlignerWindow : Window {
|
||||
case WID_SA_SPRITE: {
|
||||
/* Center the sprite ourselves */
|
||||
const Sprite *spr = GetSprite(this->current_sprite, ST_NORMAL);
|
||||
int width = r.right - r.left + 1;
|
||||
int height = r.bottom - r.top + 1;
|
||||
int x = r.left - UnScaleGUI(spr->x_offs) + (width - UnScaleGUI(spr->width) ) / 2;
|
||||
int y = r.top - UnScaleGUI(spr->y_offs) + (height - UnScaleGUI(spr->height)) / 2;
|
||||
int width = r.right - r.left + 1 - WD_BEVEL_LEFT - WD_BEVEL_RIGHT;
|
||||
int height = r.bottom - r.top + 1 - WD_BEVEL_TOP - WD_BEVEL_BOTTOM;
|
||||
int x = -UnScaleGUI(spr->x_offs) + (width - UnScaleGUI(spr->width) ) / 2;
|
||||
int y = -UnScaleGUI(spr->y_offs) + (height - UnScaleGUI(spr->height)) / 2;
|
||||
|
||||
/* And draw only the part within the sprite area */
|
||||
SubSprite subspr = {
|
||||
spr->x_offs + (spr->width - UnScaleGUI(width) ) / 2 + 1,
|
||||
spr->y_offs + (spr->height - UnScaleGUI(height)) / 2 + 1,
|
||||
spr->x_offs + (spr->width + UnScaleGUI(width) ) / 2 - 1,
|
||||
spr->y_offs + (spr->height + UnScaleGUI(height)) / 2 - 1,
|
||||
};
|
||||
DrawPixelInfo new_dpi;
|
||||
if (!FillDrawPixelInfo(&new_dpi, r.left + WD_BEVEL_LEFT, r.top + WD_BEVEL_TOP, width, height)) break;
|
||||
DrawPixelInfo *old_dpi = _cur_dpi;
|
||||
_cur_dpi = &new_dpi;
|
||||
|
||||
DrawSprite(this->current_sprite, PAL_NONE, x, y, NULL, ZOOM_LVL_GUI);
|
||||
|
||||
_cur_dpi = old_dpi;
|
||||
|
||||
DrawSprite(this->current_sprite, PAL_NONE, x, y, &subspr, ZOOM_LVL_GUI);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -949,6 +966,11 @@ struct SpriteAlignerWindow : Window {
|
||||
* particular NewGRF developer.
|
||||
*/
|
||||
Sprite *spr = const_cast<Sprite *>(GetSprite(this->current_sprite, ST_NORMAL));
|
||||
|
||||
/* Remember the original offsets of the current sprite, if not already in mapping. */
|
||||
if (!(this->offs_start_map.Contains(this->current_sprite))) {
|
||||
this->offs_start_map.Insert(this->current_sprite, XyOffs(spr->x_offs, spr->y_offs));
|
||||
}
|
||||
switch (widget) {
|
||||
case WID_SA_UP: spr->y_offs--; break;
|
||||
case WID_SA_DOWN: spr->y_offs++; break;
|
||||
@@ -960,6 +982,12 @@ struct SpriteAlignerWindow : Window {
|
||||
MarkWholeScreenDirty();
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_SA_RESET_REL:
|
||||
/* Reset the starting offsets for the current sprite. */
|
||||
this->offs_start_map.Erase(this->current_sprite);
|
||||
this->SetDirty();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1035,8 +1063,12 @@ static const NWidgetPart _nested_sprite_aligner_widgets[] = {
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_SA_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SPRITE_ALIGNER_MOVE_TOOLTIP), SetResize(0, 0),
|
||||
NWidget(NWID_SPACER), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(WWT_LABEL, COLOUR_GREY, WID_SA_OFFSETS_ABS), SetDataTip(STR_SPRITE_ALIGNER_OFFSETS_ABS, STR_NULL), SetFill(1, 0), SetPadding(0, 10, 0, 10),
|
||||
NWidget(WWT_LABEL, COLOUR_GREY, WID_SA_OFFSETS_REL), SetDataTip(STR_SPRITE_ALIGNER_OFFSETS_REL, STR_NULL), SetFill(1, 0), SetPadding(0, 10, 0, 10),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(10, 5, 10),
|
||||
NWidget(WWT_LABEL, COLOUR_GREY, WID_SA_OFFSETS), SetDataTip(STR_SPRITE_ALIGNER_OFFSETS, STR_NULL), SetFill(1, 0),
|
||||
NWidget(NWID_SPACER), SetFill(1, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SA_RESET_REL), SetDataTip(STR_SPRITE_ALIGNER_RESET_BUTTON, STR_SPRITE_ALIGNER_RESET_TOOLTIP), SetFill(0, 0),
|
||||
NWidget(NWID_SPACER), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL), SetPIP(10, 5, 10),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: win32.h 25676 2013-08-05 20:36:55Z michi_cc $ */
|
||||
/* $Id: win32.h 27176 2015-03-02 09:10:16Z planetmaker $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -35,7 +35,7 @@ TCHAR *convert_to_fs(const char *name, TCHAR *utf16_buf, size_t buflen, bool con
|
||||
|
||||
HRESULT OTTDSHGetFolderPath(HWND, int, HANDLE, DWORD, LPTSTR);
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
#if defined(__MINGW32__) && !defined(__MINGW64__)
|
||||
#define SHGFP_TYPE_CURRENT 0
|
||||
#endif /* __MINGW32__ */
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
typedef SmallVector<Train *, 16> TrainList;
|
||||
|
||||
RailtypeInfo _railtypes[RAILTYPE_END];
|
||||
TileIndex _rail_track_endtile; ///< The end of a rail track; as hidden return from the rail build/remove command for GUI purposes.
|
||||
|
||||
assert_compile(sizeof(_original_railtypes) <= sizeof(_railtypes));
|
||||
|
||||
@@ -417,8 +416,6 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
||||
Track track = Extract<Track, 0, 3>(p2);
|
||||
CommandCost cost(EXPENSES_CONSTRUCTION);
|
||||
|
||||
_rail_track_endtile = INVALID_TILE;
|
||||
|
||||
if (!ValParamRailtype(railtype) || !ValParamTrackOrientation(track)) return CMD_ERROR;
|
||||
|
||||
Slope tileh = GetTileSlope(tile);
|
||||
@@ -435,10 +432,7 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
||||
|
||||
ret = CheckTrackCombination(tile, trackbit, flags);
|
||||
if (ret.Succeeded()) ret = EnsureNoTrainOnTrack(tile, track);
|
||||
if (ret.Failed()) {
|
||||
if (ret.GetErrorMessage() == STR_ERROR_ALREADY_BUILT) _rail_track_endtile = tile;
|
||||
return ret;
|
||||
}
|
||||
if (ret.Failed()) return ret;
|
||||
|
||||
ret = CheckRailSlope(tileh, trackbit, GetTrackBits(tile), tile);
|
||||
if (ret.Failed()) return ret;
|
||||
@@ -527,7 +521,6 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
||||
}
|
||||
|
||||
if (IsLevelCrossing(tile) && GetCrossingRailBits(tile) == trackbit) {
|
||||
_rail_track_endtile = tile;
|
||||
return_cmd_error(STR_ERROR_ALREADY_BUILT);
|
||||
}
|
||||
/* FALL THROUGH */
|
||||
@@ -567,7 +560,6 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
||||
}
|
||||
|
||||
cost.AddCost(RailBuildCost(railtype));
|
||||
_rail_track_endtile = tile;
|
||||
return cost;
|
||||
}
|
||||
|
||||
@@ -586,8 +578,6 @@ CommandCost CmdRemoveSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
||||
CommandCost cost(EXPENSES_CONSTRUCTION);
|
||||
bool crossing = false;
|
||||
|
||||
_rail_track_endtile = INVALID_TILE;
|
||||
|
||||
if (!ValParamTrackOrientation(track)) return CMD_ERROR;
|
||||
TrackBits trackbit = TrackToTrackBits(track);
|
||||
|
||||
@@ -714,7 +704,6 @@ CommandCost CmdRemoveSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
||||
if (v != NULL) TryPathReserve(v, true);
|
||||
}
|
||||
|
||||
_rail_track_endtile = tile;
|
||||
return cost;
|
||||
}
|
||||
|
||||
@@ -848,8 +837,6 @@ static CommandCost CmdRailTrackHelper(TileIndex tile, DoCommandFlag flags, uint3
|
||||
bool remove = HasBit(p2, 7);
|
||||
RailType railtype = Extract<RailType, 0, 4>(p2);
|
||||
|
||||
_rail_track_endtile = INVALID_TILE;
|
||||
|
||||
if ((!remove && !ValParamRailtype(railtype)) || !ValParamTrackOrientation(track)) return CMD_ERROR;
|
||||
if (p1 >= MapSize()) return CMD_ERROR;
|
||||
TileIndex end_tile = p1;
|
||||
@@ -861,12 +848,10 @@ static CommandCost CmdRailTrackHelper(TileIndex tile, DoCommandFlag flags, uint3
|
||||
bool had_success = false;
|
||||
CommandCost last_error = CMD_ERROR;
|
||||
for (;;) {
|
||||
TileIndex last_endtile = _rail_track_endtile;
|
||||
CommandCost ret = DoCommand(tile, remove ? 0 : railtype, TrackdirToTrack(trackdir), flags, remove ? CMD_REMOVE_SINGLE_RAIL : CMD_BUILD_SINGLE_RAIL);
|
||||
|
||||
if (ret.Failed()) {
|
||||
last_error = ret;
|
||||
if (_rail_track_endtile == INVALID_TILE) _rail_track_endtile = last_endtile;
|
||||
if (last_error.GetErrorMessage() != STR_ERROR_ALREADY_BUILT && !remove) {
|
||||
if (HasBit(p2, 8)) return last_error;
|
||||
break;
|
||||
|
||||
131
src/rail_gui.cpp
131
src/rail_gui.cpp
@@ -52,14 +52,9 @@ static bool _convert_signal_button; ///< convert signal button in the s
|
||||
static SignalVariant _cur_signal_variant; ///< set the signal variant (for signal GUI)
|
||||
static SignalType _cur_signal_type; ///< set the signal type (for signal GUI)
|
||||
|
||||
extern TileIndex _rail_track_endtile; // rail_cmd.cpp
|
||||
|
||||
/* Map the setting: default_signal_type to the corresponding signal type */
|
||||
static const SignalType _default_signal_type[] = {SIGTYPE_NORMAL, SIGTYPE_PBS, SIGTYPE_PBS_ONEWAY};
|
||||
|
||||
static const int HOTKEY_POLYRAIL = 0x1000;
|
||||
static const int HOTKEY_NEW_POLYRAIL = 0x1001;
|
||||
|
||||
struct RailStationGUISettings {
|
||||
Axis orientation; ///< Currently selected rail station orientation
|
||||
|
||||
@@ -96,20 +91,13 @@ void CcPlaySound1E(const CommandCost &result, TileIndex tile, uint32 p1, uint32
|
||||
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_20_SPLAT_RAIL, tile);
|
||||
}
|
||||
|
||||
static CommandContainer GenericPlaceRailCmd(TileIndex tile, Track track)
|
||||
static void GenericPlaceRail(TileIndex tile, int cmd)
|
||||
{
|
||||
CommandContainer ret = {
|
||||
tile, // tile
|
||||
_cur_railtype, // p1
|
||||
track, // p2
|
||||
_remove_button_clicked ?
|
||||
CMD_REMOVE_SINGLE_RAIL | CMD_MSG(STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK) :
|
||||
CMD_BUILD_SINGLE_RAIL | CMD_MSG(STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK), // cmd
|
||||
CcPlaySound1E, // callback
|
||||
"" // text
|
||||
};
|
||||
|
||||
return ret;
|
||||
DoCommandP(tile, _cur_railtype, cmd,
|
||||
_remove_button_clicked ?
|
||||
CMD_REMOVE_SINGLE_RAIL | CMD_MSG(STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK) :
|
||||
CMD_BUILD_SINGLE_RAIL | CMD_MSG(STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK),
|
||||
CcPlaySound1E);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -288,7 +276,6 @@ void CcBuildRailTunnel(const CommandCost &result, TileIndex tile, uint32 p1, uin
|
||||
if (result.Succeeded()) {
|
||||
if (_settings_client.sound.confirm) SndPlayTileFx(SND_20_SPLAT_RAIL, tile);
|
||||
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
|
||||
StoreRailPlacementEndpoints(tile, _build_tunnel_endtile, TileX(tile) == TileX(_build_tunnel_endtile) ? TRACK_Y : TRACK_X, false);
|
||||
} else {
|
||||
SetRedErrorSquare(_build_tunnel_endtile);
|
||||
}
|
||||
@@ -318,7 +305,7 @@ static bool RailToolbar_CtrlChanged(Window *w)
|
||||
|
||||
/* allow ctrl to switch remove mode only for these widgets */
|
||||
for (uint i = WID_RAT_BUILD_NS; i <= WID_RAT_BUILD_STATION; i++) {
|
||||
if ((i <= WID_RAT_POLYRAIL || i >= WID_RAT_BUILD_WAYPOINT) && w->IsWidgetLowered(i)) {
|
||||
if ((i <= WID_RAT_AUTORAIL || i >= WID_RAT_BUILD_WAYPOINT) && w->IsWidgetLowered(i)) {
|
||||
ToggleRailButton_Remove(w);
|
||||
return true;
|
||||
}
|
||||
@@ -362,45 +349,25 @@ static void BuildRailClick_Remove(Window *w)
|
||||
}
|
||||
}
|
||||
|
||||
static CommandContainer DoRailroadTrackCmd(TileIndex start_tile, TileIndex end_tile, Track track)
|
||||
static void DoRailroadTrack(int mode)
|
||||
{
|
||||
CommandContainer ret = {
|
||||
start_tile, // tile
|
||||
end_tile, // p1
|
||||
_cur_railtype | (track << 4), // p2
|
||||
_remove_button_clicked ?
|
||||
CMD_REMOVE_RAILROAD_TRACK | CMD_MSG(STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK) :
|
||||
CMD_BUILD_RAILROAD_TRACK | CMD_MSG(STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK), // cmd
|
||||
CcPlaySound1E, // callback
|
||||
"" // text
|
||||
};
|
||||
|
||||
return ret;
|
||||
DoCommandP(TileVirtXY(_thd.selstart.x, _thd.selstart.y), TileVirtXY(_thd.selend.x, _thd.selend.y), _cur_railtype | (mode << 4),
|
||||
_remove_button_clicked ?
|
||||
CMD_REMOVE_RAILROAD_TRACK | CMD_MSG(STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK) :
|
||||
CMD_BUILD_RAILROAD_TRACK | CMD_MSG(STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK),
|
||||
CcPlaySound1E);
|
||||
}
|
||||
|
||||
static void HandleAutodirPlacement()
|
||||
{
|
||||
Track track = (Track)(_thd.drawstyle & HT_DIR_MASK); // 0..5
|
||||
TileIndex start_tile = TileVirtXY(_thd.selstart.x, _thd.selstart.y);
|
||||
TileIndex end_tile = TileVirtXY(_thd.selend.x, _thd.selend.y);
|
||||
int trackstat = _thd.drawstyle & HT_DIR_MASK; // 0..5
|
||||
|
||||
CommandContainer cmd = (_thd.drawstyle & HT_RAIL) ?
|
||||
GenericPlaceRailCmd(end_tile, track) : // one tile case
|
||||
DoRailroadTrackCmd(start_tile, end_tile, track); // multitile selection
|
||||
|
||||
/* When overbuilding existing tracks in polyline mode we just want to move the
|
||||
* snap point without altering the user with the "already built" error. Don't
|
||||
* execute the command right away, firstly check if tracks are being overbuilt. */
|
||||
if (!(_thd.place_mode & HT_POLY) || _shift_pressed ||
|
||||
DoCommand(&cmd, DC_AUTO | DC_NO_WATER).GetErrorMessage() != STR_ERROR_ALREADY_BUILT) {
|
||||
/* place tracks */
|
||||
if (!DoCommandP(&cmd)) return;
|
||||
if (_thd.drawstyle & HT_RAIL) { // one tile case
|
||||
GenericPlaceRail(TileVirtXY(_thd.selend.x, _thd.selend.y), trackstat);
|
||||
return;
|
||||
}
|
||||
|
||||
/* save new snap points for the polyline tool */
|
||||
if (!_shift_pressed && _rail_track_endtile != INVALID_TILE) {
|
||||
StoreRailPlacementEndpoints(start_tile, _rail_track_endtile, track, true);
|
||||
}
|
||||
DoRailroadTrack(trackstat);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -494,7 +461,6 @@ struct BuildRailToolbarWindow : Window {
|
||||
this->GetWidget<NWidgetCore>(WID_RAT_BUILD_EW)->widget_data = rti->gui_sprites.build_ew_rail;
|
||||
this->GetWidget<NWidgetCore>(WID_RAT_BUILD_Y)->widget_data = rti->gui_sprites.build_y_rail;
|
||||
this->GetWidget<NWidgetCore>(WID_RAT_AUTORAIL)->widget_data = rti->gui_sprites.auto_rail;
|
||||
this->GetWidget<NWidgetCore>(WID_RAT_POLYRAIL)->widget_data = rti->gui_sprites.auto_rail;
|
||||
this->GetWidget<NWidgetCore>(WID_RAT_BUILD_DEPOT)->widget_data = rti->gui_sprites.build_depot;
|
||||
this->GetWidget<NWidgetCore>(WID_RAT_CONVERT_RAIL)->widget_data = rti->gui_sprites.convert_rail;
|
||||
this->GetWidget<NWidgetCore>(WID_RAT_BUILD_TUNNEL)->widget_data = rti->gui_sprites.build_tunnel;
|
||||
@@ -523,7 +489,6 @@ struct BuildRailToolbarWindow : Window {
|
||||
case WID_RAT_BUILD_EW:
|
||||
case WID_RAT_BUILD_Y:
|
||||
case WID_RAT_AUTORAIL:
|
||||
case WID_RAT_POLYRAIL:
|
||||
case WID_RAT_BUILD_WAYPOINT:
|
||||
case WID_RAT_BUILD_STATION:
|
||||
case WID_RAT_BUILD_SIGNALS:
|
||||
@@ -555,15 +520,6 @@ struct BuildRailToolbarWindow : Window {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget == WID_RAT_POLYRAIL) {
|
||||
Dimension d = GetSpriteSize(SPR_BLOT);
|
||||
uint offset = this->IsWidgetLowered(WID_RAT_POLYRAIL) ? 1 : 0;
|
||||
DrawSprite(SPR_BLOT, PALETTE_TO_GREY, (r.left + r.right - d.width) / 2 + offset, (r.top + r.bottom - d.height) / 2 + offset);
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
if (widget < WID_RAT_BUILD_NS) return;
|
||||
@@ -595,40 +551,6 @@ struct BuildRailToolbarWindow : Window {
|
||||
this->last_user_action = widget;
|
||||
break;
|
||||
|
||||
case WID_RAT_POLYRAIL: {
|
||||
bool was_snap = CurrentlySnappingRailPlacement();
|
||||
bool was_open = this->IsWidgetLowered(WID_RAT_POLYRAIL);
|
||||
bool do_snap;
|
||||
bool do_open;
|
||||
/* "polyrail" hotkey - activate polyline tool in snapping mode, close the tool if snapping mode is already active
|
||||
* "new_polyrail" hotkey - activate polyline tool in non-snapping (new line) mode, close the tool if non-snapping mode is already active
|
||||
* button ctrl-clicking - switch between snapping and non-snapping modes, open the tool in non-snapping mode if it is closed
|
||||
* button clicking - open the tool in non-snapping mode, close the tool if it is opened */
|
||||
if (this->last_user_action == HOTKEY_POLYRAIL) {
|
||||
do_snap = true;
|
||||
do_open = !was_open || !was_snap;
|
||||
} else if (this->last_user_action == HOTKEY_NEW_POLYRAIL) {
|
||||
do_snap = false;
|
||||
do_open = !was_open || was_snap;
|
||||
} else if (_ctrl_pressed) {
|
||||
do_snap = !was_open || !was_snap;
|
||||
do_open = true;
|
||||
} else {
|
||||
do_snap = false;
|
||||
do_open = !was_open;
|
||||
}
|
||||
/* close the tool explicitly so it can be re-opened in different snapping mode */
|
||||
if (was_open) ResetObjectToPlace();
|
||||
/* open the tool in desired mode */
|
||||
if (do_open && HandlePlacePushButton(this, WID_RAT_POLYRAIL, GetRailTypeInfo(railtype)->cursor.autorail, do_snap ? (HT_RAIL | HT_POLY) : (HT_RAIL | HT_NEW_POLY))) {
|
||||
/* if we are re-opening the tool but we couldn't switch the snapping
|
||||
* then close the tool instead of appearing to be doing nothing */
|
||||
if (was_open && do_snap != CurrentlySnappingRailPlacement()) ResetObjectToPlace();
|
||||
}
|
||||
this->last_user_action = WID_RAT_POLYRAIL;
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_RAT_DEMOLISH:
|
||||
HandlePlacePushButton(this, WID_RAT_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT | HT_DIAGONAL);
|
||||
this->last_user_action = widget;
|
||||
@@ -693,15 +615,7 @@ struct BuildRailToolbarWindow : Window {
|
||||
virtual EventState OnHotkey(int hotkey)
|
||||
{
|
||||
MarkTileDirtyByTile(TileVirtXY(_thd.pos.x, _thd.pos.y)); // redraw tile selection
|
||||
|
||||
if (hotkey == HOTKEY_POLYRAIL || hotkey == HOTKEY_NEW_POLYRAIL) {
|
||||
/* Indicate to the OnClick that the action comes from a hotkey rather
|
||||
* then from a click and that the CTRL state should be ignored. */
|
||||
this->last_user_action = hotkey;
|
||||
hotkey = WID_RAT_POLYRAIL;
|
||||
}
|
||||
|
||||
return this->Window::OnHotkey(hotkey);
|
||||
return Window::OnHotkey(hotkey);
|
||||
}
|
||||
|
||||
virtual void OnPlaceObject(Point pt, TileIndex tile)
|
||||
@@ -724,7 +638,6 @@ struct BuildRailToolbarWindow : Window {
|
||||
break;
|
||||
|
||||
case WID_RAT_AUTORAIL:
|
||||
case WID_RAT_POLYRAIL:
|
||||
VpStartPlaceSizing(tile, VPM_RAILDIRS, DDSP_PLACE_RAIL);
|
||||
break;
|
||||
|
||||
@@ -872,8 +785,6 @@ static EventState RailToolbarGlobalHotkeys(int hotkey)
|
||||
}
|
||||
|
||||
const uint16 _railtoolbar_autorail_keys[] = {'5', 'A' | WKC_GLOBAL_HOTKEY, 0};
|
||||
const uint16 _railtoolbar_polyrail_keys[] = {'5' | WKC_CTRL, 'A' | WKC_CTRL | WKC_GLOBAL_HOTKEY, 0};
|
||||
const uint16 _railtoolbar_new_poly_keys[] = {'5' | WKC_CTRL | WKC_SHIFT, 'A' | WKC_CTRL | WKC_SHIFT | WKC_GLOBAL_HOTKEY, 0};
|
||||
|
||||
static Hotkey railtoolbar_hotkeys[] = {
|
||||
Hotkey('1', "build_ns", WID_RAT_BUILD_NS),
|
||||
@@ -881,8 +792,6 @@ static Hotkey railtoolbar_hotkeys[] = {
|
||||
Hotkey('3', "build_ew", WID_RAT_BUILD_EW),
|
||||
Hotkey('4', "build_y", WID_RAT_BUILD_Y),
|
||||
Hotkey(_railtoolbar_autorail_keys, "autorail", WID_RAT_AUTORAIL),
|
||||
Hotkey(_railtoolbar_polyrail_keys, "polyrail", HOTKEY_POLYRAIL),
|
||||
Hotkey(_railtoolbar_new_poly_keys, "new_polyrail", HOTKEY_NEW_POLYRAIL),
|
||||
Hotkey('6', "demolish", WID_RAT_DEMOLISH),
|
||||
Hotkey('7', "depot", WID_RAT_BUILD_DEPOT),
|
||||
Hotkey('8', "waypoint", WID_RAT_BUILD_WAYPOINT),
|
||||
@@ -913,8 +822,6 @@ static const NWidgetPart _nested_build_rail_widgets[] = {
|
||||
SetFill(0, 1), SetMinimalSize(22, 22), SetDataTip(SPR_IMG_RAIL_NW, STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_RAT_AUTORAIL),
|
||||
SetFill(0, 1), SetMinimalSize(22, 22), SetDataTip(SPR_IMG_AUTORAIL, STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_RAT_POLYRAIL),
|
||||
SetFill(0, 1), SetMinimalSize(22, 22), SetDataTip(SPR_IMG_AUTORAIL, STR_RAIL_TOOLBAR_TOOLTIP_BUILD_POLYRAIL),
|
||||
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(4, 22), SetDataTip(0x0, STR_NULL), EndContainer(),
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: road_cmd.cpp 27157 2015-02-22 14:01:24Z frosch $ */
|
||||
/* $Id: road_cmd.cpp 27186 2015-03-14 14:27:07Z michi_cc $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -1156,16 +1156,15 @@ const byte _road_sloped_sprites[14] = {
|
||||
};
|
||||
|
||||
/**
|
||||
* Whether to draw unpaved roads regardless of the town zone.
|
||||
* By default, OpenTTD always draws roads as unpaved if they are on a desert
|
||||
* tile or above the snowline. Newgrf files, however, can set a bit that allows
|
||||
* paved roads to be built on desert tiles as they would be on grassy tiles.
|
||||
* Should the road be drawn as a unpaved snow/desert road?
|
||||
* By default, roads are always drawn as unpaved if they are on desert or
|
||||
* above the snow line, but NewGRFs can override this for desert.
|
||||
*
|
||||
* @param tile The tile the road is on
|
||||
* @param roadside What sort of road this is
|
||||
* @return True if the road should be drawn unpaved regardless of the roadside.
|
||||
* @return True if snow/desert road sprites should be used.
|
||||
*/
|
||||
static bool AlwaysDrawUnpavedRoads(TileIndex tile, Roadside roadside)
|
||||
static bool DrawRoadAsSnowDesert(TileIndex tile, Roadside roadside)
|
||||
{
|
||||
return (IsOnSnow(tile) &&
|
||||
!(_settings_game.game_creation.landscape == LT_TROPIC && HasGrfMiscBit(GMB_DESERT_PAVED_ROADS) &&
|
||||
@@ -1245,7 +1244,7 @@ static void DrawRoadBits(TileInfo *ti)
|
||||
|
||||
Roadside roadside = GetRoadside(ti->tile);
|
||||
|
||||
if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) {
|
||||
if (DrawRoadAsSnowDesert(ti->tile, roadside)) {
|
||||
image += 19;
|
||||
} else {
|
||||
switch (roadside) {
|
||||
@@ -1328,7 +1327,7 @@ static void DrawTile_Road(TileInfo *ti)
|
||||
|
||||
Roadside roadside = GetRoadside(ti->tile);
|
||||
|
||||
if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) {
|
||||
if (DrawRoadAsSnowDesert(ti->tile, roadside)) {
|
||||
road += 19;
|
||||
} else {
|
||||
switch (roadside) {
|
||||
@@ -1354,7 +1353,7 @@ static void DrawTile_Road(TileInfo *ti)
|
||||
|
||||
Roadside roadside = GetRoadside(ti->tile);
|
||||
|
||||
if (AlwaysDrawUnpavedRoads(ti->tile, roadside)) {
|
||||
if (DrawRoadAsSnowDesert(ti->tile, roadside)) {
|
||||
image += 8;
|
||||
} else {
|
||||
switch (roadside) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: roadveh_cmd.cpp 27134 2015-02-01 20:54:24Z frosch $ */
|
||||
/* $Id: roadveh_cmd.cpp 27190 2015-03-16 20:01:14Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -824,8 +824,9 @@ static void RoadVehCheckOvertake(RoadVehicle *v, RoadVehicle *u)
|
||||
if (v->state >= RVSB_IN_ROAD_STOP || !IsStraightRoadTrackdir((Trackdir)(v->state & RVSB_TRACKDIR_MASK))) return;
|
||||
|
||||
/* Can't overtake a vehicle that is moving faster than us. If the vehicle in front is
|
||||
* accelerating, take the maximum speed for the comparison, else the current speed. */
|
||||
int u_speed = u->GetAcceleration() > 0 ? u->GetCurrentMaxSpeed() : u->cur_speed;
|
||||
* accelerating, take the maximum speed for the comparison, else the current speed.
|
||||
* Original acceleration always accelerates, so always use the maximum speed. */
|
||||
int u_speed = (_settings_game.vehicle.roadveh_acceleration_model == AM_ORIGINAL || u->GetAcceleration() > 0) ? u->GetCurrentMaxSpeed() : u->cur_speed;
|
||||
if (u_speed >= v->GetCurrentMaxSpeed() &&
|
||||
!(u->vehstatus & VS_STOPPED) &&
|
||||
u->cur_speed != 0) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: linkgraph_sl.cpp 26646 2014-06-14 13:35:39Z fonsinchen $ */
|
||||
/* $Id: linkgraph_sl.cpp 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -220,7 +220,7 @@ static void Load_LGRJ()
|
||||
*/
|
||||
static void Load_LGRS()
|
||||
{
|
||||
SlObject(LinkGraphSchedule::Instance(), GetLinkGraphScheduleDesc());
|
||||
SlObject(&LinkGraphSchedule::instance, GetLinkGraphScheduleDesc());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -246,7 +246,7 @@ void AfterLoadLinkGraphs()
|
||||
}
|
||||
}
|
||||
|
||||
LinkGraphSchedule::Instance()->SpawnAll();
|
||||
LinkGraphSchedule::instance.SpawnAll();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -278,7 +278,7 @@ static void Save_LGRJ()
|
||||
*/
|
||||
static void Save_LGRS()
|
||||
{
|
||||
SlObject(LinkGraphSchedule::Instance(), GetLinkGraphScheduleDesc());
|
||||
SlObject(&LinkGraphSchedule::instance, GetLinkGraphScheduleDesc());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -286,7 +286,7 @@ static void Save_LGRS()
|
||||
*/
|
||||
static void Ptrs_LGRS()
|
||||
{
|
||||
SlObject(LinkGraphSchedule::Instance(), GetLinkGraphScheduleDesc());
|
||||
SlObject(&LinkGraphSchedule::instance, GetLinkGraphScheduleDesc());
|
||||
}
|
||||
|
||||
extern const ChunkHandler _linkgraph_chunk_handlers[] = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: ai_changelog.hpp 27032 2014-10-23 09:47:15Z rubidium $ */
|
||||
/* $Id: ai_changelog.hpp 27195 2015-03-18 19:33:34Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -17,8 +17,6 @@
|
||||
*
|
||||
* \b 1.5.0
|
||||
*
|
||||
* 1.5.0 is not yet released. The following changes are not set in stone yet.
|
||||
*
|
||||
* API additions:
|
||||
* \li AIList::SwapList
|
||||
* \li AIStation::GetCargoPlanned
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: game_window.hpp.sq 27152 2015-02-15 14:56:21Z frosch $ */
|
||||
/* $Id: game_window.hpp.sq 27174 2015-03-01 08:17:14Z alberth $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -774,10 +774,12 @@ void SQGSWindow_Register(Squirrel *engine)
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_RIGHT, "WID_SA_RIGHT");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_DOWN, "WID_SA_DOWN");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_SPRITE, "WID_SA_SPRITE");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_OFFSETS, "WID_SA_OFFSETS");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_OFFSETS_ABS, "WID_SA_OFFSETS_ABS");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_OFFSETS_REL, "WID_SA_OFFSETS_REL");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_PICKER, "WID_SA_PICKER");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_LIST, "WID_SA_LIST");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_SCROLLBAR, "WID_SA_SCROLLBAR");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SA_RESET_REL, "WID_SA_RESET_REL");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NP_SHOW_NUMPAR, "WID_NP_SHOW_NUMPAR");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NP_NUMPAR_DEC, "WID_NP_NUMPAR_DEC");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_NP_NUMPAR_INC, "WID_NP_NUMPAR_INC");
|
||||
@@ -904,7 +906,6 @@ void SQGSWindow_Register(Squirrel *engine)
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RAT_BUILD_EW, "WID_RAT_BUILD_EW");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RAT_BUILD_Y, "WID_RAT_BUILD_Y");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RAT_AUTORAIL, "WID_RAT_AUTORAIL");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RAT_POLYRAIL, "WID_RAT_POLYRAIL");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RAT_DEMOLISH, "WID_RAT_DEMOLISH");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RAT_BUILD_DEPOT, "WID_RAT_BUILD_DEPOT");
|
||||
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_RAT_BUILD_WAYPOINT, "WID_RAT_BUILD_WAYPOINT");
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: game_changelog.hpp 27164 2015-02-22 17:25:29Z alberth $ */
|
||||
/* $Id: game_changelog.hpp 27195 2015-03-18 19:33:34Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -17,8 +17,6 @@
|
||||
*
|
||||
* \b 1.5.0
|
||||
*
|
||||
* 1.5.0 is not yet released. The following changes are not set in stone yet.
|
||||
*
|
||||
* API additions:
|
||||
* \li GSList::SwapList
|
||||
* \li GSStation::GetCargoPlanned
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: script_window.hpp 27152 2015-02-15 14:56:21Z frosch $ */
|
||||
/* $Id: script_window.hpp 27174 2015-03-01 08:17:14Z alberth $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -1800,10 +1800,12 @@ public:
|
||||
WID_SA_RIGHT = ::WID_SA_RIGHT, ///< Move the sprite to the right.
|
||||
WID_SA_DOWN = ::WID_SA_DOWN, ///< Move the sprite down.
|
||||
WID_SA_SPRITE = ::WID_SA_SPRITE, ///< The actual sprite.
|
||||
WID_SA_OFFSETS = ::WID_SA_OFFSETS, ///< The sprite offsets.
|
||||
WID_SA_OFFSETS_ABS = ::WID_SA_OFFSETS_ABS, ///< The sprite offsets (absolute).
|
||||
WID_SA_OFFSETS_REL = ::WID_SA_OFFSETS_REL, ///< The sprite offsets (relative).
|
||||
WID_SA_PICKER = ::WID_SA_PICKER, ///< Sprite picker.
|
||||
WID_SA_LIST = ::WID_SA_LIST, ///< Queried sprite list.
|
||||
WID_SA_SCROLLBAR = ::WID_SA_SCROLLBAR, ///< Scrollbar for sprite list.
|
||||
WID_SA_RESET_REL = ::WID_SA_RESET_REL, ///< Reset relative sprite offset
|
||||
};
|
||||
|
||||
/* automatically generated from ../../widgets/newgrf_widget.h */
|
||||
@@ -1982,7 +1984,6 @@ public:
|
||||
WID_RAT_BUILD_EW = ::WID_RAT_BUILD_EW, ///< Build rail along the game view X axis.
|
||||
WID_RAT_BUILD_Y = ::WID_RAT_BUILD_Y, ///< Build rail along the game grid Y axis.
|
||||
WID_RAT_AUTORAIL = ::WID_RAT_AUTORAIL, ///< Autorail tool.
|
||||
WID_RAT_POLYRAIL = ::WID_RAT_POLYRAIL, ///< Polyline rail tool.
|
||||
WID_RAT_DEMOLISH = ::WID_RAT_DEMOLISH, ///< Destroy something with dynamite!
|
||||
WID_RAT_BUILD_DEPOT = ::WID_RAT_BUILD_DEPOT, ///< Build a depot.
|
||||
WID_RAT_BUILD_WAYPOINT = ::WID_RAT_BUILD_WAYPOINT, ///< Build a waypoint.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: station.cpp 27030 2014-10-21 19:16:47Z rubidium $ */
|
||||
/* $Id: station.cpp 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -106,7 +106,7 @@ Station::~Station()
|
||||
}
|
||||
lg->RemoveNode(this->goods[c].node);
|
||||
if (lg->Size() == 0) {
|
||||
LinkGraphSchedule::Instance()->Unqueue(lg);
|
||||
LinkGraphSchedule::instance.Unqueue(lg);
|
||||
delete lg;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: station_base.h 26891 2014-09-21 16:19:52Z fonsinchen $ */
|
||||
/* $Id: station_base.h 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -37,6 +37,8 @@ class FlowStat {
|
||||
public:
|
||||
typedef std::map<uint32, StationID> SharesMap;
|
||||
|
||||
static const SharesMap empty_sharesmap;
|
||||
|
||||
/**
|
||||
* Invalid constructor. This can't be called as a FlowStat must not be
|
||||
* empty. However, the constructor must be defined and reachable for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: station_cmd.cpp 26891 2014-09-21 16:19:52Z fonsinchen $ */
|
||||
/* $Id: station_cmd.cpp 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -58,6 +58,13 @@
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
/**
|
||||
* Static instance of FlowStat::SharesMap.
|
||||
* Note: This instance is created on task start.
|
||||
* Lazy creation on first usage results in a data race between the CDist threads.
|
||||
*/
|
||||
/* static */ const FlowStat::SharesMap FlowStat::empty_sharesmap;
|
||||
|
||||
/**
|
||||
* Check whether the given tile is a hangar.
|
||||
* @param t the tile to of whether it is a hangar.
|
||||
@@ -3536,7 +3543,7 @@ void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint c
|
||||
if (ge2.link_graph == INVALID_LINK_GRAPH) {
|
||||
if (LinkGraph::CanAllocateItem()) {
|
||||
lg = new LinkGraph(cargo);
|
||||
LinkGraphSchedule::Instance()->Queue(lg);
|
||||
LinkGraphSchedule::instance.Queue(lg);
|
||||
ge2.link_graph = lg->index;
|
||||
ge2.node = lg->AddNode(st2);
|
||||
} else {
|
||||
@@ -3558,11 +3565,11 @@ void IncreaseStats(Station *st, CargoID cargo, StationID next_station_id, uint c
|
||||
if (ge1.link_graph != ge2.link_graph) {
|
||||
LinkGraph *lg2 = LinkGraph::Get(ge2.link_graph);
|
||||
if (lg->Size() < lg2->Size()) {
|
||||
LinkGraphSchedule::Instance()->Unqueue(lg);
|
||||
LinkGraphSchedule::instance.Unqueue(lg);
|
||||
lg2->Merge(lg); // Updates GoodsEntries of lg
|
||||
lg = lg2;
|
||||
} else {
|
||||
LinkGraphSchedule::Instance()->Unqueue(lg2);
|
||||
LinkGraphSchedule::instance.Unqueue(lg2);
|
||||
lg->Merge(lg2); // Updates GoodsEntries of lg2
|
||||
}
|
||||
}
|
||||
@@ -3684,7 +3691,7 @@ static uint UpdateStationWaiting(Station *st, CargoID type, uint amount, SourceT
|
||||
if (ge.link_graph == INVALID_LINK_GRAPH) {
|
||||
if (LinkGraph::CanAllocateItem()) {
|
||||
lg = new LinkGraph(type);
|
||||
LinkGraphSchedule::Instance()->Queue(lg);
|
||||
LinkGraphSchedule::instance.Queue(lg);
|
||||
ge.link_graph = lg->index;
|
||||
ge.node = lg->AddNode(st);
|
||||
} else {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: object_land.h 25876 2013-10-17 21:41:17Z planetmaker $ */
|
||||
/* $Id: object_land.h 27183 2015-03-13 19:42:49Z rubidium $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -123,7 +123,7 @@ static const DrawTileSprites _object_hq[] = {
|
||||
|
||||
#undef TILE_SPRITE_LINE
|
||||
|
||||
#define M(name, size, build_cost_multiplier, clear_cost_multiplier, height, climate, gen_amount, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, climate, size, build_cost_multiplier, clear_cost_multiplier, 0, 0xFFFFFFFF, flags, {0, 0, 0, 0}, 0, height, 1, gen_amount, true }
|
||||
#define M(name, size, build_cost_multiplier, clear_cost_multiplier, height, climate, gen_amount, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, climate, size, build_cost_multiplier, clear_cost_multiplier, 0, MAX_DAY + 1, flags, {0, 0, 0, 0}, 0, height, 1, gen_amount, true }
|
||||
|
||||
/* Climates
|
||||
* T = Temperate
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
#include "gfx_type.h"
|
||||
#include "tilehighlight_type.h"
|
||||
#include "track_type.h"
|
||||
|
||||
void PlaceProc_DemolishArea(TileIndex tile);
|
||||
bool GUIPlaceProcDragXY(ViewportDragDropSelectionProcess proc, TileIndex start_tile, TileIndex end_tile);
|
||||
@@ -31,10 +30,6 @@ void VpSetPlaceSizingLimit(int limit);
|
||||
|
||||
void UpdateTileSelection();
|
||||
|
||||
void StoreRailPlacementEndpoints(TileIndex start_tile, TileIndex end_tile, Track start_track, bool bidirectional = true);
|
||||
void ResetRailPlacementSnapping();
|
||||
bool CurrentlySnappingRailPlacement();
|
||||
|
||||
extern TileHighlightData _thd;
|
||||
|
||||
#endif /* TILEHIGHLIGHT_FUNC_H */
|
||||
|
||||
@@ -28,8 +28,6 @@ enum HighLightStyle {
|
||||
HT_RAIL = 0x080, ///< autorail (one piece), lower bits: direction
|
||||
HT_VEHICLE = 0x100, ///< vehicle is accepted as target as well (bitmask)
|
||||
HT_DIAGONAL = 0x200, ///< Also allow 'diagonal rectangles'. Only usable in combination with #HT_RECT or #HT_POINT.
|
||||
HT_POLY = 0x400, ///< polyline mode; connect highlighted track with previous one
|
||||
HT_NEW_POLY = 0xC00, ///< start completly new polyline; implies #HT_POLY
|
||||
HT_DRAG_MASK = 0x0F8, ///< Mask for the tile drag-type modes.
|
||||
|
||||
/* lower bits (used with HT_LINE and HT_RAIL):
|
||||
@@ -56,15 +54,11 @@ struct TileHighlightData {
|
||||
|
||||
Point new_pos; ///< New value for \a pos; used to determine whether to redraw the selection.
|
||||
Point new_size; ///< New value for \a size; used to determine whether to redraw the selection.
|
||||
Point new_offs; ///< New value for \a offs; used to determine whether to redraw the selection.
|
||||
Point new_outersize; ///< New value for \a outersize; used to determine whether to redraw the selection.
|
||||
byte dirty; ///< Whether the build station window needs to redraw due to the changed selection.
|
||||
|
||||
Point selstart; ///< The location where the dragging started.
|
||||
Point selend; ///< The location where the drag currently ends.
|
||||
Point selstart2; ///< The location where the second segment of a polyline track starts.
|
||||
Point selend2; ///< The location where the second segment of a polyline track ends.
|
||||
HighLightStyle dir2; ///< Direction of the second segment of a polyline track, HT_DIR_END if second segment is not selected. HT_LINE drawstyle.
|
||||
byte sizelimit; ///< Whether the selection is limited in length, and what the maximum length is.
|
||||
|
||||
HighLightStyle drawstyle; ///< Lower bits 0-3 are reserved for detailed highlight information.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: toolbar_gui.cpp 27150 2015-02-14 21:22:47Z frosch $ */
|
||||
/* $Id: toolbar_gui.cpp 27178 2015-03-07 18:27:01Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -1125,7 +1125,7 @@ void SetStartingYear(Year year)
|
||||
_settings_game.game_creation.starting_year = Clamp(year, MIN_YEAR, MAX_YEAR);
|
||||
Date new_date = ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1);
|
||||
/* If you open a savegame as scenario there may already be link graphs.*/
|
||||
LinkGraphSchedule::Instance()->ShiftDates(new_date - _date);
|
||||
LinkGraphSchedule::instance.ShiftDates(new_date - _date);
|
||||
SetDate(new_date, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: townname.cpp 26510 2014-04-25 17:35:29Z rubidium $ */
|
||||
/* $Id: townname.cpp 27187 2015-03-15 12:19:58Z frosch $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -635,7 +635,7 @@ static char *MakeCzechTownName(char *buf, const char *last, uint32 seed)
|
||||
choose = _name_czech_subst_full[stem].choose;
|
||||
allow = _name_czech_subst_full[stem].allow;
|
||||
} else {
|
||||
unsigned int map[lengthof(_name_czech_subst_ending)];
|
||||
uint map[lengthof(_name_czech_subst_ending)];
|
||||
int ending_start = -1, ending_stop = -1;
|
||||
|
||||
/* Load the substantive */
|
||||
|
||||
755
src/viewport.cpp
755
src/viewport.cpp
@@ -63,8 +63,6 @@
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "core/math_func.hpp"
|
||||
#include "core/smallvec_type.hpp"
|
||||
#include "landscape.h"
|
||||
#include "viewport_func.h"
|
||||
#include "station_base.h"
|
||||
@@ -151,34 +149,6 @@ typedef SmallVector<StringSpriteToDraw, 4> StringSpriteToDrawVector;
|
||||
typedef SmallVector<ParentSpriteToDraw, 64> ParentSpriteToDrawVector;
|
||||
typedef SmallVector<ChildScreenSpriteToDraw, 16> ChildScreenSpriteToDrawVector;
|
||||
|
||||
enum RailSnapMode {
|
||||
RSM_NO_SNAP,
|
||||
RSM_SNAP_TO_TILE,
|
||||
RSM_SNAP_TO_RAIL,
|
||||
};
|
||||
|
||||
/**
|
||||
* Snapping point for a track.
|
||||
*
|
||||
* Point where a track (rail/road/other) can be snapped to while selecting tracks with polyline
|
||||
* tool (HT_POLY). Besides of x/y coordinates expressed in tile "units" it contains a set of
|
||||
* allowed line directions.
|
||||
*/
|
||||
struct LineSnapPoint : Point {
|
||||
uint8 dirs; ///< Allowed line directions, set of #Direction bits.
|
||||
};
|
||||
|
||||
typedef SmallVector<LineSnapPoint, 4> LineSnapPoints; ///< Set of snapping points
|
||||
|
||||
/** Coordinates of a polyline track made of 2 connected line segments. */
|
||||
struct Polyline {
|
||||
Point start; ///< The point where the first segment starts (as given in LineSnapPoint).
|
||||
Direction first_dir; ///< Direction of the first line segment.
|
||||
uint first_len; ///< Length of the first segment - number of track pieces.
|
||||
Direction second_dir; ///< Direction of the second line segment.
|
||||
uint second_len; ///< Length of the second segment - number of track pieces.
|
||||
};
|
||||
|
||||
/** Data structure storing rendering information */
|
||||
struct ViewportDrawer {
|
||||
DrawPixelInfo dpi;
|
||||
@@ -210,16 +180,6 @@ bool _draw_dirty_blocks = false;
|
||||
uint _dirty_block_colour = 0;
|
||||
static VpSpriteSorter _vp_sprite_sorter = NULL;
|
||||
|
||||
static RailSnapMode _rail_snap_mode = RSM_NO_SNAP; ///< Type of rail track snapping (polyline tool).
|
||||
static LineSnapPoints _tile_snap_points; ///< Tile to which a rail track will be snapped to (polyline tool).
|
||||
static LineSnapPoints _rail_snap_points; ///< Set of points where a rail track will be snapped to (polyline tool).
|
||||
static LineSnapPoint _current_snap_lock; ///< Start point and direction at which selected track is locked on currently (while dragging in polyline mode).
|
||||
|
||||
static RailSnapMode GetRailSnapMode();
|
||||
static void SetRailSnapMode(RailSnapMode mode);
|
||||
static TileIndex GetRailSnapTile();
|
||||
static void SetRailSnapTile(TileIndex tile);
|
||||
|
||||
static Point MapXYZToViewport(const ViewPort *vp, int x, int y, int z)
|
||||
{
|
||||
Point p = RemapCoords(x, y, z);
|
||||
@@ -854,17 +814,13 @@ static bool IsInRangeInclusive(int begin, int end, int check)
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether a point is inside the selected rectangle given by _thd.size, _thd.pos and _thd.diagonal
|
||||
* Checks whether a point is inside the selected a diagonal rectangle given by _thd.size and _thd.pos
|
||||
* @param x The x coordinate of the point to be checked.
|
||||
* @param y The y coordinate of the point to be checked.
|
||||
* @return True if the point is inside the rectangle, else false.
|
||||
*/
|
||||
static bool IsInsideSelectedRectangle(int x, int y)
|
||||
bool IsInsideRotatedRectangle(int x, int y)
|
||||
{
|
||||
if (!_thd.diagonal) {
|
||||
return IsInsideBS(x, _thd.pos.x, _thd.size.x) && IsInsideBS(y, _thd.pos.y, _thd.size.y);
|
||||
}
|
||||
|
||||
int dist_a = (_thd.size.x + _thd.size.y); // Rotated coordinate system for selected rectangle.
|
||||
int dist_b = (_thd.size.x - _thd.size.y); // We don't have to divide by 2. It's all relative!
|
||||
int a = ((x - _thd.pos.x) + (y - _thd.pos.y)); // Rotated coordinate system for the point under scrutiny.
|
||||
@@ -981,45 +937,53 @@ static void DrawTileSelectionRect(const TileInfo *ti, PaletteID pal)
|
||||
DrawSelectionSprite(sel, pal, ti, 7, FOUNDATION_PART_NORMAL);
|
||||
}
|
||||
|
||||
static HighLightStyle GetPartOfAutoLine(int px, int py, const Point &selstart, const Point &selend, HighLightStyle dir)
|
||||
static bool IsPartOfAutoLine(int px, int py)
|
||||
{
|
||||
if (!IsInRangeInclusive(selstart.x & ~TILE_UNIT_MASK, selend.x & ~TILE_UNIT_MASK, px)) return HT_DIR_END;
|
||||
if (!IsInRangeInclusive(selstart.y & ~TILE_UNIT_MASK, selend.y & ~TILE_UNIT_MASK, py)) return HT_DIR_END;
|
||||
px -= _thd.selstart.x;
|
||||
py -= _thd.selstart.y;
|
||||
|
||||
px -= selstart.x & ~TILE_UNIT_MASK;
|
||||
py -= selstart.y & ~TILE_UNIT_MASK;
|
||||
if ((_thd.drawstyle & HT_DRAG_MASK) != HT_LINE) return false;
|
||||
|
||||
switch (dir) {
|
||||
case HT_DIR_X: return (py == 0) ? HT_DIR_X : HT_DIR_END;
|
||||
case HT_DIR_Y: return (px == 0) ? HT_DIR_Y : HT_DIR_END;
|
||||
case HT_DIR_HU: return (px == -py) ? HT_DIR_HU : (px == -py - (int)TILE_SIZE) ? HT_DIR_HL : HT_DIR_END;
|
||||
case HT_DIR_HL: return (px == -py) ? HT_DIR_HL : (px == -py + (int)TILE_SIZE) ? HT_DIR_HU : HT_DIR_END;
|
||||
case HT_DIR_VL: return (px == py) ? HT_DIR_VL : (px == py + (int)TILE_SIZE) ? HT_DIR_VR : HT_DIR_END;
|
||||
case HT_DIR_VR: return (px == py) ? HT_DIR_VR : (px == py - (int)TILE_SIZE) ? HT_DIR_VL : HT_DIR_END;
|
||||
default: NOT_REACHED(); break;
|
||||
switch (_thd.drawstyle & HT_DIR_MASK) {
|
||||
case HT_DIR_X: return py == 0; // x direction
|
||||
case HT_DIR_Y: return px == 0; // y direction
|
||||
case HT_DIR_HU: return px == -py || px == -py - 16; // horizontal upper
|
||||
case HT_DIR_HL: return px == -py || px == -py + 16; // horizontal lower
|
||||
case HT_DIR_VL: return px == py || px == py + 16; // vertical left
|
||||
case HT_DIR_VR: return px == py || px == py - 16; // vertical right
|
||||
default:
|
||||
NOT_REACHED();
|
||||
}
|
||||
|
||||
return HT_DIR_END;
|
||||
}
|
||||
|
||||
/* [direction][side] */
|
||||
static const HighLightStyle _autorail_type[6][2] = {
|
||||
{ HT_DIR_X, HT_DIR_X },
|
||||
{ HT_DIR_Y, HT_DIR_Y },
|
||||
{ HT_DIR_HU, HT_DIR_HL },
|
||||
{ HT_DIR_HL, HT_DIR_HU },
|
||||
{ HT_DIR_VL, HT_DIR_VR },
|
||||
{ HT_DIR_VR, HT_DIR_VL }
|
||||
};
|
||||
|
||||
#include "table/autorail.h"
|
||||
|
||||
/**
|
||||
* Draws autorail highlights.
|
||||
*
|
||||
* @param *ti TileInfo Tile that is being drawn
|
||||
* @param autorail_type \c HT_DIR_XXX, offset into _AutorailTilehSprite[][]
|
||||
* @param pal Palette to use, -1 to autodetect
|
||||
* @param autorail_type Offset into _AutorailTilehSprite[][]
|
||||
*/
|
||||
static void DrawAutorailSelection(const TileInfo *ti, HighLightStyle autorail_type, PaletteID pal = -1)
|
||||
static void DrawAutorailSelection(const TileInfo *ti, uint autorail_type)
|
||||
{
|
||||
SpriteID image;
|
||||
PaletteID pal;
|
||||
int offset;
|
||||
|
||||
FoundationPart foundation_part = FOUNDATION_PART_NORMAL;
|
||||
Slope autorail_tileh = RemoveHalftileSlope(ti->tileh);
|
||||
if (IsHalftileSlope(ti->tileh)) {
|
||||
static const HighLightStyle _lower_rail[CORNER_END] = { HT_DIR_VR, HT_DIR_HU, HT_DIR_VL, HT_DIR_HL }; // CORNER_W, CORNER_S, CORNER_E, CORNER_N
|
||||
static const uint _lower_rail[4] = { 5U, 2U, 4U, 3U };
|
||||
Corner halftile_corner = GetHalftileSlopeCorner(ti->tileh);
|
||||
if (autorail_type != _lower_rail[halftile_corner]) {
|
||||
foundation_part = FOUNDATION_PART_HALFTILE;
|
||||
@@ -1028,17 +992,16 @@ static void DrawAutorailSelection(const TileInfo *ti, HighLightStyle autorail_ty
|
||||
}
|
||||
}
|
||||
|
||||
assert(autorail_type < HT_DIR_END);
|
||||
offset = _AutorailTilehSprite[autorail_tileh][autorail_type];
|
||||
if (offset >= 0) {
|
||||
image = SPR_AUTORAIL_BASE + offset;
|
||||
if (pal == (PaletteID)-1) pal = _thd.make_square_red ? PALETTE_SEL_TILE_RED : PAL_NONE;
|
||||
pal = PAL_NONE;
|
||||
} else {
|
||||
image = SPR_AUTORAIL_BASE - offset;
|
||||
if (pal == (PaletteID)-1) pal = PALETTE_SEL_TILE_RED;
|
||||
pal = PALETTE_SEL_TILE_RED;
|
||||
}
|
||||
|
||||
DrawSelectionSprite(image, pal, ti, 7, foundation_part);
|
||||
DrawSelectionSprite(image, _thd.make_square_red ? PALETTE_SEL_TILE_RED : pal, ti, 7, foundation_part);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1051,61 +1014,66 @@ static void DrawTileSelection(const TileInfo *ti)
|
||||
bool is_redsq = _thd.redsq == ti->tile;
|
||||
if (is_redsq) DrawTileSelectionRect(ti, PALETTE_TILE_RED_PULSATING);
|
||||
|
||||
switch (_thd.drawstyle & HT_DRAG_MASK) {
|
||||
default: break; // No tile selection active?
|
||||
/* No tile selection active? */
|
||||
if ((_thd.drawstyle & HT_DRAG_MASK) == HT_NONE) return;
|
||||
|
||||
case HT_RECT:
|
||||
if (!is_redsq) {
|
||||
if (IsInsideSelectedRectangle(ti->x, ti->y)) {
|
||||
DrawTileSelectionRect(ti, _thd.make_square_red ? PALETTE_SEL_TILE_RED : PAL_NONE);
|
||||
} else if (_thd.outersize.x > 0 &&
|
||||
/* Check if it's inside the outer area? */
|
||||
IsInsideBS(ti->x, _thd.pos.x + _thd.offs.x, _thd.size.x + _thd.outersize.x) &&
|
||||
IsInsideBS(ti->y, _thd.pos.y + _thd.offs.y, _thd.size.y + _thd.outersize.y)) {
|
||||
/* Draw a blue rect. */
|
||||
DrawTileSelectionRect(ti, PALETTE_SEL_TILE_BLUE);
|
||||
if (_thd.diagonal) { // We're drawing a 45 degrees rotated (diagonal) rectangle
|
||||
if (IsInsideRotatedRectangle((int)ti->x, (int)ti->y)) goto draw_inner;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Inside the inner area? */
|
||||
if (IsInsideBS(ti->x, _thd.pos.x, _thd.size.x) &&
|
||||
IsInsideBS(ti->y, _thd.pos.y, _thd.size.y)) {
|
||||
draw_inner:
|
||||
if (_thd.drawstyle & HT_RECT) {
|
||||
if (!is_redsq) DrawTileSelectionRect(ti, _thd.make_square_red ? PALETTE_SEL_TILE_RED : PAL_NONE);
|
||||
} else if (_thd.drawstyle & HT_POINT) {
|
||||
/* Figure out the Z coordinate for the single dot. */
|
||||
int z = 0;
|
||||
FoundationPart foundation_part = FOUNDATION_PART_NORMAL;
|
||||
if (ti->tileh & SLOPE_N) {
|
||||
z += TILE_HEIGHT;
|
||||
if (RemoveHalftileSlope(ti->tileh) == SLOPE_STEEP_N) z += TILE_HEIGHT;
|
||||
}
|
||||
if (IsHalftileSlope(ti->tileh)) {
|
||||
Corner halftile_corner = GetHalftileSlopeCorner(ti->tileh);
|
||||
if ((halftile_corner == CORNER_W) || (halftile_corner == CORNER_E)) z += TILE_HEIGHT;
|
||||
if (halftile_corner != CORNER_S) {
|
||||
foundation_part = FOUNDATION_PART_HALFTILE;
|
||||
if (IsSteepSlope(ti->tileh)) z -= TILE_HEIGHT;
|
||||
}
|
||||
}
|
||||
break;
|
||||
DrawSelectionSprite(_cur_dpi->zoom <= ZOOM_LVL_DETAIL ? SPR_DOT : SPR_DOT_SMALL, PAL_NONE, ti, z, foundation_part);
|
||||
} else if (_thd.drawstyle & HT_RAIL) {
|
||||
/* autorail highlight piece under cursor */
|
||||
HighLightStyle type = _thd.drawstyle & HT_DIR_MASK;
|
||||
assert(type < HT_DIR_END);
|
||||
DrawAutorailSelection(ti, _autorail_type[type][0]);
|
||||
} else if (IsPartOfAutoLine(ti->x, ti->y)) {
|
||||
/* autorail highlighting long line */
|
||||
HighLightStyle dir = _thd.drawstyle & HT_DIR_MASK;
|
||||
uint side;
|
||||
|
||||
case HT_POINT:
|
||||
if (IsInsideSelectedRectangle(ti->x, ti->y)) {
|
||||
/* Figure out the Z coordinate for the single dot. */
|
||||
int z = 0;
|
||||
FoundationPart foundation_part = FOUNDATION_PART_NORMAL;
|
||||
if (ti->tileh & SLOPE_N) {
|
||||
z += TILE_HEIGHT;
|
||||
if (RemoveHalftileSlope(ti->tileh) == SLOPE_STEEP_N) z += TILE_HEIGHT;
|
||||
}
|
||||
if (IsHalftileSlope(ti->tileh)) {
|
||||
Corner halftile_corner = GetHalftileSlopeCorner(ti->tileh);
|
||||
if ((halftile_corner == CORNER_W) || (halftile_corner == CORNER_E)) z += TILE_HEIGHT;
|
||||
if (halftile_corner != CORNER_S) {
|
||||
foundation_part = FOUNDATION_PART_HALFTILE;
|
||||
if (IsSteepSlope(ti->tileh)) z -= TILE_HEIGHT;
|
||||
}
|
||||
}
|
||||
DrawSelectionSprite(_cur_dpi->zoom <= ZOOM_LVL_DETAIL ? SPR_DOT : SPR_DOT_SMALL, PAL_NONE, ti, z, foundation_part);
|
||||
if (dir == HT_DIR_X || dir == HT_DIR_Y) {
|
||||
side = 0;
|
||||
} else {
|
||||
TileIndex start = TileVirtXY(_thd.selstart.x, _thd.selstart.y);
|
||||
side = Delta(Delta(TileX(start), TileX(ti->tile)), Delta(TileY(start), TileY(ti->tile)));
|
||||
}
|
||||
break;
|
||||
|
||||
case HT_RAIL:
|
||||
if (ti->tile == TileVirtXY(_thd.pos.x, _thd.pos.y)) {
|
||||
assert((_thd.drawstyle & HT_DIR_MASK) < HT_DIR_END);
|
||||
DrawAutorailSelection(ti, _thd.drawstyle & HT_DIR_MASK);
|
||||
}
|
||||
break;
|
||||
|
||||
case HT_LINE: {
|
||||
HighLightStyle type = GetPartOfAutoLine(ti->x, ti->y, _thd.selstart, _thd.selend, _thd.drawstyle & HT_DIR_MASK);
|
||||
if (type < HT_DIR_END) {
|
||||
DrawAutorailSelection(ti, type);
|
||||
} else if (_thd.dir2 < HT_DIR_END) {
|
||||
type = GetPartOfAutoLine(ti->x, ti->y, _thd.selstart2, _thd.selend2, _thd.dir2);
|
||||
if (type < HT_DIR_END) DrawAutorailSelection(ti, type, PALETTE_SEL_TILE_BLUE);
|
||||
}
|
||||
break;
|
||||
DrawAutorailSelection(ti, _autorail_type[dir][side]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check if it's inside the outer area? */
|
||||
if (!is_redsq && _thd.outersize.x > 0 &&
|
||||
IsInsideBS(ti->x, _thd.pos.x + _thd.offs.x, _thd.size.x + _thd.outersize.x) &&
|
||||
IsInsideBS(ti->y, _thd.pos.y + _thd.offs.y, _thd.size.y + _thd.outersize.y)) {
|
||||
/* Draw a blue rect. */
|
||||
DrawTileSelectionRect(ti, PALETTE_SEL_TILE_BLUE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1971,7 +1939,7 @@ static void SetSelectionTilesDirty()
|
||||
int x_start = _thd.pos.x;
|
||||
int y_start = _thd.pos.y;
|
||||
|
||||
if (_thd.outersize.x != 0 || _thd.outersize.y != 0) {
|
||||
if (_thd.outersize.x != 0) {
|
||||
x_size += _thd.outersize.x;
|
||||
x_start += _thd.offs.x;
|
||||
y_size += _thd.outersize.y;
|
||||
@@ -2194,7 +2162,7 @@ static void PlaceObject()
|
||||
}
|
||||
|
||||
|
||||
bool HandleViewportClicked(const ViewPort *vp, int x, int y, bool double_click)
|
||||
bool HandleViewportClicked(const ViewPort *vp, int x, int y)
|
||||
{
|
||||
const Vehicle *v = CheckClickOnVehicle(vp, x, y);
|
||||
|
||||
@@ -2204,18 +2172,6 @@ bool HandleViewportClicked(const ViewPort *vp, int x, int y, bool double_click)
|
||||
|
||||
/* Vehicle placement mode already handled above. */
|
||||
if ((_thd.place_mode & HT_DRAG_MASK) != HT_NONE) {
|
||||
if (_thd.place_mode & HT_POLY) {
|
||||
/* In polyline mode double-clicking on a single white line, finishes current polyline.
|
||||
* If however the user double-clicks on a line that has a white and a blue section,
|
||||
* both lines (white and blue) will be constructed consecutively. */
|
||||
static bool stop_snap_on_double_click = false;
|
||||
if (double_click && stop_snap_on_double_click) {
|
||||
SetRailSnapMode(RSM_NO_SNAP);
|
||||
return true;
|
||||
}
|
||||
stop_snap_on_double_click = !(_thd.drawstyle & HT_LINE) || (_thd.dir2 == HT_DIR_END);
|
||||
}
|
||||
|
||||
PlaceObject();
|
||||
return true;
|
||||
}
|
||||
@@ -2342,8 +2298,8 @@ void SetTileSelectSize(int w, int h)
|
||||
|
||||
void SetTileSelectBigSize(int ox, int oy, int sx, int sy)
|
||||
{
|
||||
_thd.new_offs.x = ox * TILE_SIZE;
|
||||
_thd.new_offs.y = oy * TILE_SIZE;
|
||||
_thd.offs.x = ox * TILE_SIZE;
|
||||
_thd.offs.y = oy * TILE_SIZE;
|
||||
_thd.new_outersize.x = sx * TILE_SIZE;
|
||||
_thd.new_outersize.y = sy * TILE_SIZE;
|
||||
}
|
||||
@@ -2383,36 +2339,7 @@ Window *TileHighlightData::GetCallbackWnd()
|
||||
return FindWindowById(this->window_class, this->window_number);
|
||||
}
|
||||
|
||||
static HighLightStyle CalcPolyrailDrawstyle(Point pt, bool dragging);
|
||||
|
||||
static inline void CalcNewPolylineOutersize()
|
||||
{
|
||||
/* use the 'outersize' to mark the second (blue) part of a polyline selection */
|
||||
if (_thd.dir2 < HT_DIR_END) {
|
||||
/* get bounds of the second part */
|
||||
int outer_x1 = _thd.selstart2.x & ~TILE_UNIT_MASK;
|
||||
int outer_y1 = _thd.selstart2.y & ~TILE_UNIT_MASK;
|
||||
int outer_x2 = _thd.selend2.x & ~TILE_UNIT_MASK;
|
||||
int outer_y2 = _thd.selend2.y & ~TILE_UNIT_MASK;
|
||||
if (outer_x1 > outer_x2) Swap(outer_x1, outer_x2);
|
||||
if (outer_y1 > outer_y2) Swap(outer_y1, outer_y2);
|
||||
/* include the first part */
|
||||
outer_x1 = min<int>(outer_x1, _thd.new_pos.x);
|
||||
outer_y1 = min<int>(outer_y1, _thd.new_pos.y);
|
||||
outer_x2 = max<int>(outer_x2, _thd.new_pos.x + _thd.new_size.x - TILE_SIZE);
|
||||
outer_y2 = max<int>(outer_y2, _thd.new_pos.y + _thd.new_size.y - TILE_SIZE);
|
||||
/* write new values */
|
||||
_thd.new_offs.x = outer_x1 - _thd.new_pos.x;
|
||||
_thd.new_offs.y = outer_y1 - _thd.new_pos.y;
|
||||
_thd.new_outersize.x = outer_x2 - outer_x1 + TILE_SIZE - _thd.new_size.x;
|
||||
_thd.new_outersize.y = outer_y2 - outer_y1 + TILE_SIZE - _thd.new_size.y;
|
||||
} else {
|
||||
_thd.new_offs.x = 0;
|
||||
_thd.new_offs.y = 0;
|
||||
_thd.new_outersize.x = 0;
|
||||
_thd.new_outersize.y = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates tile highlighting for all cases.
|
||||
@@ -2469,42 +2396,10 @@ void UpdateTileSelection()
|
||||
y1 += TILE_SIZE / 2;
|
||||
break;
|
||||
case HT_RAIL:
|
||||
/* Draw one highlighted tile in any direction */
|
||||
new_drawstyle = GetAutorailHT(pt.x, pt.y);
|
||||
break;
|
||||
case HT_LINE:
|
||||
/* HT_POLY */
|
||||
if (_thd.place_mode & HT_POLY) {
|
||||
RailSnapMode snap_mode = GetRailSnapMode();
|
||||
if (snap_mode == RSM_NO_SNAP ||
|
||||
(snap_mode == RSM_SNAP_TO_TILE && GetRailSnapTile() == TileVirtXY(pt.x, pt.y))) {
|
||||
new_drawstyle = GetAutorailHT(pt.x, pt.y);
|
||||
_thd.new_offs.x = 0;
|
||||
_thd.new_offs.y = 0;
|
||||
_thd.new_outersize.x = 0;
|
||||
_thd.new_outersize.y = 0;
|
||||
_thd.dir2 = HT_DIR_END;
|
||||
} else {
|
||||
new_drawstyle = CalcPolyrailDrawstyle(pt, false);
|
||||
if (new_drawstyle != HT_NONE) {
|
||||
x1 = _thd.selstart.x & ~TILE_UNIT_MASK;
|
||||
y1 = _thd.selstart.y & ~TILE_UNIT_MASK;
|
||||
int x2 = _thd.selend.x & ~TILE_UNIT_MASK;
|
||||
int y2 = _thd.selend.y & ~TILE_UNIT_MASK;
|
||||
if (x1 > x2) Swap(x1, x2);
|
||||
if (y1 > y2) Swap(y1, y2);
|
||||
_thd.new_pos.x = x1;
|
||||
_thd.new_pos.y = y1;
|
||||
_thd.new_size.x = x2 - x1 + TILE_SIZE;
|
||||
_thd.new_size.y = y2 - y1 + TILE_SIZE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
/* HT_RAIL */
|
||||
if (_thd.place_mode & HT_RAIL) {
|
||||
/* Draw one highlighted tile in any direction */
|
||||
new_drawstyle = GetAutorailHT(pt.x, pt.y);
|
||||
break;
|
||||
}
|
||||
/* HT_LINE */
|
||||
switch (_thd.place_mode & HT_DIR_MASK) {
|
||||
case HT_DIR_X: new_drawstyle = HT_LINE | HT_DIR_X; break;
|
||||
case HT_DIR_Y: new_drawstyle = HT_LINE | HT_DIR_Y; break;
|
||||
@@ -2523,8 +2418,6 @@ void UpdateTileSelection()
|
||||
}
|
||||
_thd.selstart.x = x1 & ~TILE_UNIT_MASK;
|
||||
_thd.selstart.y = y1 & ~TILE_UNIT_MASK;
|
||||
_thd.selend.x = x1;
|
||||
_thd.selend.y = y1;
|
||||
break;
|
||||
default:
|
||||
NOT_REACHED();
|
||||
@@ -2535,13 +2428,10 @@ void UpdateTileSelection()
|
||||
}
|
||||
}
|
||||
|
||||
if (new_drawstyle & HT_LINE) CalcNewPolylineOutersize();
|
||||
|
||||
/* redraw selection */
|
||||
if (_thd.drawstyle != new_drawstyle ||
|
||||
_thd.pos.x != _thd.new_pos.x || _thd.pos.y != _thd.new_pos.y ||
|
||||
_thd.size.x != _thd.new_size.x || _thd.size.y != _thd.new_size.y ||
|
||||
_thd.offs.x != _thd.new_offs.x || _thd.offs.y != _thd.new_offs.y ||
|
||||
_thd.outersize.x != _thd.new_outersize.x ||
|
||||
_thd.outersize.y != _thd.new_outersize.y ||
|
||||
_thd.diagonal != new_diagonal) {
|
||||
@@ -2551,7 +2441,6 @@ void UpdateTileSelection()
|
||||
_thd.drawstyle = new_drawstyle;
|
||||
_thd.pos = _thd.new_pos;
|
||||
_thd.size = _thd.new_size;
|
||||
_thd.offs = _thd.new_offs;
|
||||
_thd.outersize = _thd.new_outersize;
|
||||
_thd.diagonal = new_diagonal;
|
||||
_thd.dirty = 0xff;
|
||||
@@ -2601,11 +2490,6 @@ void VpStartPlaceSizing(TileIndex tile, ViewportPlaceMethod method, ViewportDrag
|
||||
} else if (_thd.place_mode & (HT_RAIL | HT_LINE)) {
|
||||
_thd.place_mode = HT_SPECIAL | others;
|
||||
_thd.next_drawstyle = _thd.drawstyle | others;
|
||||
_current_snap_lock.x = -1;
|
||||
if ((_thd.place_mode & HT_POLY) != 0 && GetRailSnapMode() == RSM_NO_SNAP) {
|
||||
SetRailSnapMode(RSM_SNAP_TO_TILE);
|
||||
SetRailSnapTile(tile);
|
||||
}
|
||||
} else {
|
||||
_thd.place_mode = HT_SPECIAL | others;
|
||||
_thd.next_drawstyle = HT_POINT | others;
|
||||
@@ -2797,31 +2681,7 @@ static int CalcHeightdiff(HighLightStyle style, uint distance, TileIndex start_t
|
||||
return (int)(h1 - h0) * TILE_HEIGHT_STEP;
|
||||
}
|
||||
|
||||
static void ShowLengthMeasurement(HighLightStyle style, TileIndex start_tile, TileIndex end_tile, TooltipCloseCondition close_cond = TCC_LEFT_CLICK, bool show_single_tile_length = false)
|
||||
{
|
||||
static const StringID measure_strings_length[] = {STR_NULL, STR_MEASURE_LENGTH, STR_MEASURE_LENGTH_HEIGHTDIFF};
|
||||
|
||||
if (_settings_client.gui.measure_tooltip) {
|
||||
uint distance = DistanceManhattan(start_tile, end_tile) + 1;
|
||||
byte index = 0;
|
||||
uint64 params[2];
|
||||
|
||||
if (show_single_tile_length || distance != 1) {
|
||||
int heightdiff = CalcHeightdiff(style, distance, start_tile, end_tile);
|
||||
/* If we are showing a tooltip for horizontal or vertical drags,
|
||||
* 2 tiles have a length of 1. To bias towards the ceiling we add
|
||||
* one before division. It feels more natural to count 3 lengths as 2 */
|
||||
if ((style & HT_DIR_MASK) != HT_DIR_X && (style & HT_DIR_MASK) != HT_DIR_Y) {
|
||||
distance = CeilDiv(distance, 2);
|
||||
}
|
||||
|
||||
params[index++] = distance;
|
||||
if (heightdiff != 0) params[index++] = heightdiff;
|
||||
}
|
||||
|
||||
ShowMeasurementTooltips(measure_strings_length[index], index, params, close_cond);
|
||||
}
|
||||
}
|
||||
static const StringID measure_strings_length[] = {STR_NULL, STR_MEASURE_LENGTH, STR_MEASURE_LENGTH_HEIGHTDIFF};
|
||||
|
||||
/**
|
||||
* Check for underflowing the map.
|
||||
@@ -2852,170 +2712,6 @@ static void CheckOverflow(int &test, int &other, int max, int mult)
|
||||
test = max;
|
||||
}
|
||||
|
||||
static const uint X_DIRS = (1 << DIR_NE) | (1 << DIR_SW);
|
||||
static const uint Y_DIRS = (1 << DIR_SE) | (1 << DIR_NW);
|
||||
static const uint HORZ_DIRS = (1 << DIR_W) | (1 << DIR_E);
|
||||
static const uint VERT_DIRS = (1 << DIR_N) | (1 << DIR_S);
|
||||
|
||||
Trackdir PointDirToTrackdir(const Point &pt, Direction dir)
|
||||
{
|
||||
Trackdir ret;
|
||||
|
||||
if (IsDiagonalDirection(dir)) {
|
||||
ret = DiagDirToDiagTrackdir(DirToDiagDir(dir));
|
||||
} else {
|
||||
int x = pt.x & TILE_UNIT_MASK;
|
||||
int y = pt.y & TILE_UNIT_MASK;
|
||||
int ns = x + y;
|
||||
int we = y - x;
|
||||
if (HasBit(HORZ_DIRS, dir)) {
|
||||
ret = TrackDirectionToTrackdir(ns < (int)TILE_SIZE ? TRACK_UPPER : TRACK_LOWER, dir);
|
||||
} else {
|
||||
ret = TrackDirectionToTrackdir(we < 0 ? TRACK_LEFT : TRACK_RIGHT, dir);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static bool FindPolyline(const Point &pt, const LineSnapPoint &start, Polyline *ret)
|
||||
{
|
||||
/* relative coordinats of the mouse point (offset against the snap point) */
|
||||
int x = pt.x - start.x;
|
||||
int y = pt.y - start.y;
|
||||
int we = y - x;
|
||||
int ns = x + y;
|
||||
|
||||
/* in-tile alignment of the snap point (there are two variants: [0, 8] or [8, 0]) */
|
||||
uint align_x = start.x & TILE_UNIT_MASK;
|
||||
uint align_y = start.y & TILE_UNIT_MASK;
|
||||
assert((align_x == TILE_SIZE / 2 && align_y == 0 && !(start.dirs & X_DIRS)) || (align_x == 0 && align_y == TILE_SIZE / 2 && !(start.dirs & Y_DIRS)));
|
||||
|
||||
/* absolute distance between points (in tiles) */
|
||||
uint d_x = abs(RoundDivSU(x < 0 ? x - align_y : x + align_y, TILE_SIZE));
|
||||
uint d_y = abs(RoundDivSU(y < 0 ? y - align_x : y + align_x, TILE_SIZE));
|
||||
uint d_ns = abs(RoundDivSU(ns, TILE_SIZE));
|
||||
uint d_we = abs(RoundDivSU(we, TILE_SIZE));
|
||||
|
||||
/* Find on which quadrant is the mouse point (reltively to the snap point).
|
||||
* Numeration (clockwise like in Direction):
|
||||
* ortho diag
|
||||
* \ 2 / 2 | 3
|
||||
* \ / --+---> [we]
|
||||
* 1 X 3 1 | 0
|
||||
* / \ v
|
||||
* [x] 0 [y] [ns] */
|
||||
uint ortho_quadrant = 2 * (x < 0) + ((x < 0) != (y < 0)); // implicit cast: false/true --> 0/1
|
||||
uint diag_quadrant = 2 * (ns < 0) + ((ns < 0) != (we < 0));
|
||||
|
||||
/* direction from the snap point to the mouse point */
|
||||
Direction ortho_line_dir = ChangeDir(DIR_S, (DirDiff)(2 * ortho_quadrant)); // DIR_S is the middle of the ortho quadrant no. 0
|
||||
Direction diag_line_dir = ChangeDir(DIR_SE, (DirDiff)(2 * diag_quadrant)); // DIR_SE is the middle of the diag quadrant no. 0
|
||||
if (!HasBit(start.dirs, ortho_line_dir) && !HasBit(start.dirs, diag_line_dir)) return false;
|
||||
|
||||
/* length of booth segments of auto line (choosing orthogonal direction first) */
|
||||
uint ortho_len = 0, ortho_len2 = 0;
|
||||
if (HasBit(start.dirs, ortho_line_dir)) {
|
||||
bool is_len_even = (align_x != 0) ? d_x >= d_y : d_x <= d_y;
|
||||
ortho_len = 2 * min(d_x, d_y) - (int)is_len_even;
|
||||
assert((int)ortho_len >= 0);
|
||||
if (d_ns == 0 || d_we == 0) { // just single segment?
|
||||
ortho_len++;
|
||||
} else {
|
||||
ortho_len2 = abs((int)d_x - (int)d_y) + (int)is_len_even;
|
||||
}
|
||||
}
|
||||
|
||||
/* length of booth segments of auto line (choosing diagonal direction first) */
|
||||
uint diag_len = 0, diag_len2 = 0;
|
||||
if (HasBit(start.dirs, diag_line_dir)) {
|
||||
if (d_x == 0 || d_y == 0) { // just single segment?
|
||||
diag_len = d_x + d_y;
|
||||
} else {
|
||||
diag_len = min(d_ns, d_we);
|
||||
diag_len2 = d_x + d_y - diag_len;
|
||||
}
|
||||
}
|
||||
|
||||
/* choose the best variant */
|
||||
if (ortho_len != 0 && diag_len != 0) {
|
||||
/* in the first place, choose this line whose first segment ends up closer
|
||||
* to the mouse point (thus the second segment is shorter) */
|
||||
int cmp = ortho_len2 - diag_len2;
|
||||
/* if equeal, choose the shorter line */
|
||||
if (cmp == 0) cmp = ortho_len - diag_len;
|
||||
/* finally look at small "units" and choose the line which is closer to the mouse point */
|
||||
if (cmp == 0) cmp = min(abs(we), abs(ns)) - min(abs(x), abs(y));
|
||||
/* based on comparison, disable one of variants */
|
||||
if (cmp > 0) {
|
||||
ortho_len = 0;
|
||||
} else {
|
||||
diag_len = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* store results */
|
||||
if (ortho_len != 0) {
|
||||
ret->first_dir = ortho_line_dir;
|
||||
ret->first_len = ortho_len;
|
||||
ret->second_dir = (ortho_len2 != 0) ? diag_line_dir : INVALID_DIR;
|
||||
ret->second_len = ortho_len2;
|
||||
} else if (diag_len != 0) {
|
||||
ret->first_dir = diag_line_dir;
|
||||
ret->first_len = diag_len;
|
||||
ret->second_dir = (diag_len2 != 0) ? ortho_line_dir : INVALID_DIR;
|
||||
ret->second_len = diag_len2;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
ret->start = start;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate squared euclidean distance between two points.
|
||||
* @param a the first point
|
||||
* @param b the second point
|
||||
* @return |b - a| ^ 2
|
||||
*/
|
||||
static inline uint SqrDist(const Point &a, const Point &b)
|
||||
{
|
||||
return (b.x - a.x) * (b.x - a.x) + (b.y - a.y) * (b.y - a.y);
|
||||
}
|
||||
|
||||
static LineSnapPoint *FindBestPolyline(const Point &pt, LineSnapPoint *snap_points, uint num_points, Polyline *ret)
|
||||
{
|
||||
/* Find the best polyline (a pair of two lines - the white one and the blue
|
||||
* one) led from any of saved snap points to the mouse cursor. */
|
||||
|
||||
LineSnapPoint *best_snap_point = NULL; // the best polyline we found so far is led from this snap point
|
||||
|
||||
for (int i = 0; i < (int)num_points; i++) {
|
||||
/* try to fit a polyline */
|
||||
Polyline polyline;
|
||||
if (!FindPolyline(pt, snap_points[i], &polyline)) continue; // skip non-matching snap points
|
||||
/* check whether we've found a better polyline */
|
||||
if (best_snap_point != NULL) {
|
||||
/* firstly choose shorter polyline (the one with smaller amount of
|
||||
* track pieces composing booth the white and the blue line) */
|
||||
uint cur_len = polyline.first_len + polyline.second_len;
|
||||
uint best_len = ret->first_len + ret->second_len;
|
||||
if (cur_len > best_len) continue;
|
||||
/* secondly choose that polyline which has longer first (white) line */
|
||||
if (cur_len == best_len && polyline.first_len < ret->first_len) continue;
|
||||
/* finally check euclidean distance to snap points and choose the
|
||||
* one which is closer */
|
||||
if (cur_len == best_len && polyline.first_len == ret->first_len && SqrDist(pt, snap_points[i]) >= SqrDist(pt, *best_snap_point)) continue;
|
||||
}
|
||||
/* save the found polyline */
|
||||
*ret = polyline;
|
||||
best_snap_point = &snap_points[i];
|
||||
}
|
||||
|
||||
return best_snap_point;
|
||||
}
|
||||
|
||||
/** while dragging */
|
||||
static void CalcRaildirsDrawstyle(int x, int y, int method)
|
||||
{
|
||||
@@ -3202,83 +2898,32 @@ static void CalcRaildirsDrawstyle(int x, int y, int method)
|
||||
}
|
||||
}
|
||||
|
||||
if (_settings_client.gui.measure_tooltip) {
|
||||
TileIndex t0 = TileVirtXY(_thd.selstart.x, _thd.selstart.y);
|
||||
TileIndex t1 = TileVirtXY(x, y);
|
||||
uint distance = DistanceManhattan(t0, t1) + 1;
|
||||
byte index = 0;
|
||||
uint64 params[2];
|
||||
|
||||
if (distance != 1) {
|
||||
int heightdiff = CalcHeightdiff(b, distance, t0, t1);
|
||||
/* If we are showing a tooltip for horizontal or vertical drags,
|
||||
* 2 tiles have a length of 1. To bias towards the ceiling we add
|
||||
* one before division. It feels more natural to count 3 lengths as 2 */
|
||||
if ((b & HT_DIR_MASK) != HT_DIR_X && (b & HT_DIR_MASK) != HT_DIR_Y) {
|
||||
distance = CeilDiv(distance, 2);
|
||||
}
|
||||
|
||||
params[index++] = distance;
|
||||
if (heightdiff != 0) params[index++] = heightdiff;
|
||||
}
|
||||
|
||||
ShowMeasurementTooltips(measure_strings_length[index], index, params);
|
||||
}
|
||||
|
||||
_thd.selend.x = x;
|
||||
_thd.selend.y = y;
|
||||
_thd.dir2 = HT_DIR_END;
|
||||
_thd.next_drawstyle = b;
|
||||
|
||||
ShowLengthMeasurement(b, TileVirtXY(_thd.selstart.x, _thd.selstart.y), TileVirtXY(_thd.selend.x, _thd.selend.y));
|
||||
}
|
||||
|
||||
static HighLightStyle CalcPolyrailDrawstyle(Point pt, bool dragging)
|
||||
{
|
||||
RailSnapMode snap_mode = GetRailSnapMode();
|
||||
|
||||
/* are we only within one tile? */
|
||||
if (snap_mode == RSM_SNAP_TO_TILE && GetRailSnapTile() == TileVirtXY(pt.x, pt.y)) {
|
||||
_thd.selend.x = pt.x;
|
||||
_thd.selend.y = pt.y;
|
||||
return GetAutorailHT(pt.x, pt.y);
|
||||
}
|
||||
|
||||
/* find the best track */
|
||||
Polyline line;
|
||||
|
||||
bool lock_snapping = dragging && snap_mode == RSM_SNAP_TO_RAIL;
|
||||
if (!lock_snapping) _current_snap_lock.x = -1;
|
||||
|
||||
const LineSnapPoint *snap_point;
|
||||
if (_current_snap_lock.x != -1) {
|
||||
snap_point = FindBestPolyline(pt, &_current_snap_lock, 1, &line);
|
||||
} else if (snap_mode == RSM_SNAP_TO_TILE) {
|
||||
snap_point = FindBestPolyline(pt, _tile_snap_points.Begin(), _tile_snap_points.Length(), &line);
|
||||
} else {
|
||||
assert(snap_mode == RSM_SNAP_TO_RAIL);
|
||||
snap_point = FindBestPolyline(pt, _rail_snap_points.Begin(), _rail_snap_points.Length(), &line);
|
||||
}
|
||||
|
||||
if (snap_point == NULL) return HT_NONE; // no match
|
||||
|
||||
if (lock_snapping && _current_snap_lock.x == -1) {
|
||||
/* lock down the snap point */
|
||||
_current_snap_lock = *snap_point;
|
||||
_current_snap_lock.dirs &= (1 << line.first_dir) | (1 << ReverseDir(line.first_dir));
|
||||
}
|
||||
|
||||
TileIndexDiffC first_dir = TileIndexDiffCByDir(line.first_dir);
|
||||
_thd.selstart.x = line.start.x;
|
||||
_thd.selstart.y = line.start.y;
|
||||
_thd.selend.x = _thd.selstart.x + line.first_len * first_dir.x * (IsDiagonalDirection(line.first_dir) ? TILE_SIZE : TILE_SIZE / 2);
|
||||
_thd.selend.y = _thd.selstart.y + line.first_len * first_dir.y * (IsDiagonalDirection(line.first_dir) ? TILE_SIZE : TILE_SIZE / 2);
|
||||
_thd.selstart2.x = _thd.selend.x;
|
||||
_thd.selstart2.y = _thd.selend.y;
|
||||
_thd.selstart.x += first_dir.x;
|
||||
_thd.selstart.y += first_dir.y;
|
||||
_thd.selend.x -= first_dir.x;
|
||||
_thd.selend.y -= first_dir.y;
|
||||
Trackdir seldir = PointDirToTrackdir(_thd.selstart, line.first_dir);
|
||||
_thd.selstart.x &= ~TILE_UNIT_MASK;
|
||||
_thd.selstart.y &= ~TILE_UNIT_MASK;
|
||||
|
||||
if (line.second_len != 0) {
|
||||
TileIndexDiffC second_dir = TileIndexDiffCByDir(line.second_dir);
|
||||
_thd.selend2.x = _thd.selstart2.x + line.second_len * second_dir.x * (IsDiagonalDirection(line.second_dir) ? TILE_SIZE : TILE_SIZE / 2);
|
||||
_thd.selend2.y = _thd.selstart2.y + line.second_len * second_dir.y * (IsDiagonalDirection(line.second_dir) ? TILE_SIZE : TILE_SIZE / 2);
|
||||
_thd.selstart2.x += second_dir.x;
|
||||
_thd.selstart2.y += second_dir.y;
|
||||
_thd.selend2.x -= second_dir.x;
|
||||
_thd.selend2.y -= second_dir.y;
|
||||
Trackdir seldir2 = PointDirToTrackdir(_thd.selstart2, line.second_dir);
|
||||
_thd.selstart2.x &= ~TILE_UNIT_MASK;
|
||||
_thd.selstart2.y &= ~TILE_UNIT_MASK;
|
||||
_thd.dir2 = (HighLightStyle)TrackdirToTrack(seldir2);
|
||||
} else {
|
||||
_thd.dir2 = HT_DIR_END;
|
||||
}
|
||||
|
||||
HighLightStyle ret = HT_LINE | (HighLightStyle)TrackdirToTrack(seldir);
|
||||
ShowLengthMeasurement(ret, TileVirtXY(_thd.selstart.x, _thd.selstart.y), TileVirtXY(_thd.selend.x, _thd.selend.y), TCC_HOVER, true);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3298,12 +2943,6 @@ void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method)
|
||||
return;
|
||||
}
|
||||
|
||||
if ((_thd.place_mode & HT_POLY) && GetRailSnapMode() != RSM_NO_SNAP) {
|
||||
Point pt = { x, y };
|
||||
_thd.next_drawstyle = CalcPolyrailDrawstyle(pt, true);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Special handling of drag in any (8-way) direction */
|
||||
if (method & (VPM_RAILDIRS | VPM_SIGNALDIRS)) {
|
||||
_thd.selend.x = x;
|
||||
@@ -3356,12 +2995,27 @@ calc_heightdiff_single_direction:;
|
||||
x = sx + Clamp(x - sx, -limit, limit);
|
||||
y = sy + Clamp(y - sy, -limit, limit);
|
||||
}
|
||||
/* With current code passing a HT_LINE style to calculate the height
|
||||
* difference is enough. However if/when a point-tool is created
|
||||
* with this method, function should be called with new_style (below)
|
||||
* instead of HT_LINE | style case HT_POINT is handled specially
|
||||
* new_style := (_thd.next_drawstyle & HT_RECT) ? HT_LINE | style : _thd.next_drawstyle; */
|
||||
ShowLengthMeasurement(HT_LINE | style, TileVirtXY(sx, sy), TileVirtXY(x, y));
|
||||
if (_settings_client.gui.measure_tooltip) {
|
||||
TileIndex t0 = TileVirtXY(sx, sy);
|
||||
TileIndex t1 = TileVirtXY(x, y);
|
||||
uint distance = DistanceManhattan(t0, t1) + 1;
|
||||
byte index = 0;
|
||||
uint64 params[2];
|
||||
|
||||
if (distance != 1) {
|
||||
/* With current code passing a HT_LINE style to calculate the height
|
||||
* difference is enough. However if/when a point-tool is created
|
||||
* with this method, function should be called with new_style (below)
|
||||
* instead of HT_LINE | style case HT_POINT is handled specially
|
||||
* new_style := (_thd.next_drawstyle & HT_RECT) ? HT_LINE | style : _thd.next_drawstyle; */
|
||||
int heightdiff = CalcHeightdiff(HT_LINE | style, 0, t0, t1);
|
||||
|
||||
params[index++] = distance;
|
||||
if (heightdiff != 0) params[index++] = heightdiff;
|
||||
}
|
||||
|
||||
ShowMeasurementTooltips(measure_strings_length[index], index, params);
|
||||
}
|
||||
break;
|
||||
|
||||
case VPM_X_AND_Y_LIMITED: // Drag an X by Y constrained rect area.
|
||||
@@ -3440,7 +3094,6 @@ calc_heightdiff_single_direction:;
|
||||
|
||||
_thd.selend.x = x;
|
||||
_thd.selend.y = y;
|
||||
_thd.dir2 = HT_DIR_END;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3458,10 +3111,11 @@ EventState VpHandlePlaceSizingDrag()
|
||||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
/* While dragging execute the drag procedure of the corresponding window (mostly VpSelectTilesWithMethod() ).
|
||||
* Do it even if the button is no longer pressed to make sure that OnPlaceDrag was called at least once. */
|
||||
w->OnPlaceDrag(_thd.select_method, _thd.select_proc, GetTileBelowCursor());
|
||||
if (_left_button_down) return ES_HANDLED;
|
||||
/* while dragging execute the drag procedure of the corresponding window (mostly VpSelectTilesWithMethod() ) */
|
||||
if (_left_button_down) {
|
||||
w->OnPlaceDrag(_thd.select_method, _thd.select_proc, GetTileBelowCursor());
|
||||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
/* mouse button released..
|
||||
* keep the selected tool, but reset it to the original mode. */
|
||||
@@ -3472,18 +3126,14 @@ EventState VpHandlePlaceSizingDrag()
|
||||
} else if (_thd.select_method & VPM_SIGNALDIRS) {
|
||||
_thd.place_mode = HT_RECT | others;
|
||||
} else if (_thd.select_method & VPM_RAILDIRS) {
|
||||
_thd.place_mode = (_thd.select_method & ~VPM_RAILDIRS ? _thd.next_drawstyle : HT_RAIL) | others;
|
||||
_thd.place_mode = (_thd.select_method & ~VPM_RAILDIRS) ? _thd.next_drawstyle : (HT_RAIL | others);
|
||||
} else {
|
||||
_thd.place_mode = HT_POINT | others;
|
||||
}
|
||||
SetTileSelectSize(1, 1);
|
||||
|
||||
if (_thd.place_mode & HT_POLY) {
|
||||
if (GetRailSnapMode() == RSM_SNAP_TO_TILE) SetRailSnapMode(RSM_NO_SNAP);
|
||||
if (_thd.drawstyle == HT_NONE) return ES_HANDLED;
|
||||
}
|
||||
|
||||
w->OnPlaceMouseUp(_thd.select_method, _thd.select_proc, _thd.selend, TileVirtXY(_thd.selstart.x, _thd.selstart.y), TileVirtXY(_thd.selend.x, _thd.selend.y));
|
||||
|
||||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
@@ -3530,10 +3180,6 @@ void SetObjectToPlace(CursorID icon, PaletteID pal, HighLightStyle mode, WindowC
|
||||
VpStartPreSizing();
|
||||
}
|
||||
|
||||
if (mode & HT_POLY) {
|
||||
SetRailSnapMode((mode & HT_NEW_POLY) == HT_NEW_POLY ? RSM_NO_SNAP : RSM_SNAP_TO_RAIL);
|
||||
}
|
||||
|
||||
if ((icon & ANIMCURSOR_FLAG) != 0) {
|
||||
SetAnimatedMouseCursor(_animcursors[icon & ~ANIMCURSOR_FLAG]);
|
||||
} else {
|
||||
@@ -3584,116 +3230,3 @@ void InitializeSpriteSorter()
|
||||
}
|
||||
assert(_vp_sprite_sorter != NULL);
|
||||
}
|
||||
|
||||
static LineSnapPoint LineSnapPointAtRailTrackEndpoint(TileIndex tile, DiagDirection exit_dir, bool bidirectional)
|
||||
{
|
||||
LineSnapPoint ret;
|
||||
ret.x = (TILE_SIZE / 2) * (uint)(2 * TileX(tile) + TileIndexDiffCByDiagDir(exit_dir).x + 1);
|
||||
ret.y = (TILE_SIZE / 2) * (uint)(2 * TileY(tile) + TileIndexDiffCByDiagDir(exit_dir).y + 1);
|
||||
|
||||
ret.dirs = 0;
|
||||
SetBit(ret.dirs, DiagDirToDir(exit_dir));
|
||||
SetBit(ret.dirs, ChangeDir(DiagDirToDir(exit_dir), DIRDIFF_45LEFT));
|
||||
SetBit(ret.dirs, ChangeDir(DiagDirToDir(exit_dir), DIRDIFF_45RIGHT));
|
||||
if (bidirectional) ret.dirs |= ROR<uint8>(ret.dirs, DIRDIFF_REVERSE);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the position of lastly built rail track; for highlighting purposes.
|
||||
*
|
||||
* In "polyline" highlighting mode, the stored end point will be used as a snapping point for new
|
||||
* tracks allowing to place multi-segment polylines.
|
||||
*
|
||||
* @param start_tile tile where the track starts
|
||||
* @param end_tile tile where the track ends
|
||||
* @param start_track track piece on the start_tile
|
||||
* @param bidirectional_exit whether to allow to highlight next track in any direction; otherwise new track will have to fallow the stored one (usefull when placing tunnels and bridges)
|
||||
*/
|
||||
void StoreRailPlacementEndpoints(TileIndex start_tile, TileIndex end_tile, Track start_track, bool bidirectional_exit)
|
||||
{
|
||||
if (start_tile != INVALID_TILE && end_tile != INVALID_TILE) {
|
||||
/* calculate trackdirs at booth ends of the track */
|
||||
Trackdir exit_trackdir_at_start = TrackToTrackdir(start_track);
|
||||
Trackdir exit_trackdir_at_end = ReverseTrackdir(TrackToTrackdir(start_track));
|
||||
if (start_tile != end_tile) { // multi-tile case
|
||||
/* determine proper direction (pointing outside of the track) */
|
||||
uint distance = DistanceManhattan(start_tile, end_tile);
|
||||
if (distance > DistanceManhattan(TileAddByDiagDir(start_tile, TrackdirToExitdir(exit_trackdir_at_start)), end_tile)) {
|
||||
Swap(exit_trackdir_at_start, exit_trackdir_at_end);
|
||||
}
|
||||
/* determine proper track on the end tile - switch between upper/lower or left/right based on the length */
|
||||
if (distance % 2 != 0) exit_trackdir_at_end = NextTrackdir(exit_trackdir_at_end);
|
||||
}
|
||||
|
||||
LineSnapPoint snap_start = LineSnapPointAtRailTrackEndpoint(start_tile, TrackdirToExitdir(exit_trackdir_at_start), bidirectional_exit);
|
||||
LineSnapPoint snap_end = LineSnapPointAtRailTrackEndpoint(end_tile, TrackdirToExitdir(exit_trackdir_at_end), bidirectional_exit);
|
||||
/* Find if we already had these coordinates before. */
|
||||
LineSnapPoint *snap;
|
||||
bool had_start = false;
|
||||
bool had_end = false;
|
||||
for (snap = _rail_snap_points.Begin(); snap != _rail_snap_points.End(); snap++) {
|
||||
had_start |= (snap->x == snap_start.x && snap->y == snap_start.y);
|
||||
had_end |= (snap->x == snap_end.x && snap->y == snap_end.y);
|
||||
}
|
||||
/* Create new snap point set. */
|
||||
if (had_start && had_end) {
|
||||
/* just stop snaping, don't forget snap points */
|
||||
SetRailSnapMode(RSM_NO_SNAP);
|
||||
} else {
|
||||
/* include only new points */
|
||||
_rail_snap_points.Clear();
|
||||
if (!had_start) *_rail_snap_points.Append() = snap_start;
|
||||
if (!had_end) *_rail_snap_points.Append() = snap_end;
|
||||
SetRailSnapMode(RSM_SNAP_TO_RAIL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CurrentlySnappingRailPlacement()
|
||||
{
|
||||
return (_thd.place_mode & HT_POLY) && GetRailSnapMode() == RSM_SNAP_TO_RAIL;
|
||||
}
|
||||
|
||||
static RailSnapMode GetRailSnapMode()
|
||||
{
|
||||
if (_rail_snap_mode == RSM_SNAP_TO_TILE && _tile_snap_points.Length() == 0) return RSM_NO_SNAP;
|
||||
if (_rail_snap_mode == RSM_SNAP_TO_RAIL && _rail_snap_points.Length() == 0) return RSM_NO_SNAP;
|
||||
return _rail_snap_mode;
|
||||
}
|
||||
|
||||
static void SetRailSnapMode(RailSnapMode mode)
|
||||
{
|
||||
_rail_snap_mode = mode;
|
||||
|
||||
if ((_thd.place_mode & HT_POLY) && (GetRailSnapMode() == RSM_NO_SNAP)) {
|
||||
SetTileSelectSize(1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
static TileIndex GetRailSnapTile()
|
||||
{
|
||||
if (_tile_snap_points.Length() == 0) return INVALID_TILE;
|
||||
return TileVirtXY(_tile_snap_points[DIAGDIR_NE].x, _tile_snap_points[DIAGDIR_NE].y);
|
||||
}
|
||||
|
||||
static void SetRailSnapTile(TileIndex tile)
|
||||
{
|
||||
_tile_snap_points.Clear();
|
||||
if (tile == INVALID_TILE) return;
|
||||
|
||||
for (DiagDirection dir = DIAGDIR_BEGIN; dir < DIAGDIR_END; dir++) {
|
||||
LineSnapPoint *point = _tile_snap_points.Append();
|
||||
*point = LineSnapPointAtRailTrackEndpoint(tile, dir, false);
|
||||
point->dirs = ROR<uint8>(point->dirs, DIRDIFF_REVERSE);
|
||||
}
|
||||
}
|
||||
|
||||
void ResetRailPlacementSnapping()
|
||||
{
|
||||
_rail_snap_mode = RSM_NO_SNAP;
|
||||
_tile_snap_points.Clear();
|
||||
_rail_snap_points.Clear();
|
||||
_current_snap_lock.x = -1;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ void ViewportAddString(const DrawPixelInfo *dpi, ZoomLevel small_from, const Vie
|
||||
void StartSpriteCombine();
|
||||
void EndSpriteCombine();
|
||||
|
||||
bool HandleViewportClicked(const ViewPort *vp, int x, int y, bool double_click);
|
||||
bool HandleViewportClicked(const ViewPort *vp, int x, int y);
|
||||
void SetRedErrorSquare(TileIndex tile);
|
||||
void SetTileSelectSize(int w, int h);
|
||||
void SetTileSelectBigSize(int ox, int oy, int sx, int sy);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: newgrf_debug_widget.h 25946 2013-11-07 18:17:21Z frosch $ */
|
||||
/* $Id: newgrf_debug_widget.h 27174 2015-03-01 08:17:14Z alberth $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -25,19 +25,21 @@ enum NewGRFInspectWidgets {
|
||||
|
||||
/** Widgets of the #SpriteAlignerWindow class. */
|
||||
enum SpriteAlignerWidgets {
|
||||
WID_SA_CAPTION, ///< Caption of the window.
|
||||
WID_SA_PREVIOUS, ///< Skip to the previous sprite.
|
||||
WID_SA_GOTO, ///< Go to a given sprite.
|
||||
WID_SA_NEXT, ///< Skip to the next sprite.
|
||||
WID_SA_UP, ///< Move the sprite up.
|
||||
WID_SA_LEFT, ///< Move the sprite to the left.
|
||||
WID_SA_RIGHT, ///< Move the sprite to the right.
|
||||
WID_SA_DOWN, ///< Move the sprite down.
|
||||
WID_SA_SPRITE, ///< The actual sprite.
|
||||
WID_SA_OFFSETS, ///< The sprite offsets.
|
||||
WID_SA_PICKER, ///< Sprite picker.
|
||||
WID_SA_LIST, ///< Queried sprite list.
|
||||
WID_SA_SCROLLBAR, ///< Scrollbar for sprite list.
|
||||
WID_SA_CAPTION, ///< Caption of the window.
|
||||
WID_SA_PREVIOUS, ///< Skip to the previous sprite.
|
||||
WID_SA_GOTO, ///< Go to a given sprite.
|
||||
WID_SA_NEXT, ///< Skip to the next sprite.
|
||||
WID_SA_UP, ///< Move the sprite up.
|
||||
WID_SA_LEFT, ///< Move the sprite to the left.
|
||||
WID_SA_RIGHT, ///< Move the sprite to the right.
|
||||
WID_SA_DOWN, ///< Move the sprite down.
|
||||
WID_SA_SPRITE, ///< The actual sprite.
|
||||
WID_SA_OFFSETS_ABS, ///< The sprite offsets (absolute).
|
||||
WID_SA_OFFSETS_REL, ///< The sprite offsets (relative).
|
||||
WID_SA_PICKER, ///< Sprite picker.
|
||||
WID_SA_LIST, ///< Queried sprite list.
|
||||
WID_SA_SCROLLBAR, ///< Scrollbar for sprite list.
|
||||
WID_SA_RESET_REL, ///< Reset relative sprite offset
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_NEWGRF_DEBUG_WIDGET_H */
|
||||
|
||||
@@ -21,7 +21,6 @@ enum RailToolbarWidgets {
|
||||
WID_RAT_BUILD_EW, ///< Build rail along the game view X axis.
|
||||
WID_RAT_BUILD_Y, ///< Build rail along the game grid Y axis.
|
||||
WID_RAT_AUTORAIL, ///< Autorail tool.
|
||||
WID_RAT_POLYRAIL, ///< Polyline rail tool.
|
||||
WID_RAT_DEMOLISH, ///< Destroy something with dynamite!
|
||||
WID_RAT_BUILD_DEPOT, ///< Build a depot.
|
||||
WID_RAT_BUILD_WAYPOINT, ///< Build a waypoint.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: window.cpp 27147 2015-02-13 21:25:48Z frosch $ */
|
||||
/* $Id: window.cpp 27185 2015-03-13 20:54:35Z rubidium $ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
@@ -1079,7 +1079,16 @@ Window::~Window()
|
||||
free(this->nested_array); // Contents is released through deletion of #nested_root.
|
||||
delete this->nested_root;
|
||||
|
||||
this->window_class = WC_INVALID;
|
||||
/*
|
||||
* Make fairly sure that this is written, and not "optimized" away.
|
||||
* The delete operator is overwritten to not delete it; the deletion
|
||||
* happens at a later moment in time after the window has been
|
||||
* removed from the list of windows to prevent issues with items
|
||||
* being removed during the iteration as not one but more windows
|
||||
* may be removed by a single call to ~Window by means of the
|
||||
* DeleteChildWindows function.
|
||||
*/
|
||||
const_cast<volatile WindowClass &>(this->window_class) = WC_INVALID;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2816,7 +2825,7 @@ static void MouseLoop(MouseClick click, int mousewheel)
|
||||
case MC_DOUBLE_LEFT:
|
||||
case MC_LEFT:
|
||||
DEBUG(misc, 2, "Cursor: 0x%X (%d)", _cursor.sprite, _cursor.sprite);
|
||||
if (!HandleViewportClicked(vp, x, y, click == MC_DOUBLE_LEFT) &&
|
||||
if (!HandleViewportClicked(vp, x, y) &&
|
||||
!(w->flags & WF_DISABLE_VP_SCROLL) &&
|
||||
_settings_client.gui.left_mouse_btn_scrolling) {
|
||||
_scrolling_viewport = true;
|
||||
|
||||
Reference in New Issue
Block a user