Merge branch 'enhanced_viewport_overlay' into jgrpp
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -29,6 +29,7 @@ docs/source/*
|
||||
media/openttd.desktop
|
||||
media/openttd.desktop.install
|
||||
objs/*
|
||||
projects/.vs
|
||||
projects/Debug
|
||||
projects/Release
|
||||
projects/*.ncb
|
||||
|
@@ -22,6 +22,7 @@ Makefile.bundle
|
||||
media/openttd.desktop
|
||||
media/openttd.desktop.install
|
||||
objs/*
|
||||
projects/.vs
|
||||
projects/*.ncb
|
||||
projects/*.suo
|
||||
projects/*.sdf
|
||||
|
Binary file not shown.
@@ -77,7 +77,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
@@ -75,7 +75,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
Binary file not shown.
@@ -76,7 +76,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
@@ -23,3 +23,16 @@
|
||||
-1 sprites/airports.png 8bpp 82 88 64 31 -31 0 normal
|
||||
-1 sprites/airports.png 8bpp 162 88 64 31 -31 0 normal
|
||||
-1 sprites/airports.png 8bpp 242 88 64 31 -31 0 normal
|
||||
-1 * 0 0C "Climate specific sprites by PaulC"
|
||||
-1 * 0 07 83 01 \7! 01 03
|
||||
-1 * 0 05 90 02 0D
|
||||
-1 sprites/airports.png 8bpp 320 88 64 31 -31 0 normal
|
||||
-1 sprites/airports.png 8bpp 400 88 64 31 -31 0 normal
|
||||
-1 * 0 07 83 01 \7! 02 03
|
||||
-1 * 0 05 90 02 0D
|
||||
-1 sprites/airports.png 8bpp 480 88 64 31 -31 0 normal
|
||||
-1 sprites/airports.png 8bpp 560 88 64 31 -31 0 normal
|
||||
-1 * 0 07 83 01 \7! 03 03
|
||||
-1 * 0 05 90 02 0D
|
||||
-1 sprites/airports.png 8bpp 640 88 64 31 -31 0 normal
|
||||
-1 sprites/airports.png 8bpp 720 88 64 31 -31 0 normal
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 9.3 KiB |
12
media/extra_grf/airports_orig_extra.nfo
Normal file
12
media/extra_grf/airports_orig_extra.nfo
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// 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.
|
||||
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Climate specific airport sprite by PaulC"
|
||||
-1 * 0 07 83 01 \7! 03 02
|
||||
-1 * 0 0A 01 01 2F 08
|
||||
-1 sprites/airports.png 8bpp 20 170 42 39 -19 -21 normal
|
@@ -78,6 +78,7 @@
|
||||
#include "chars_orig_extra.nfo"
|
||||
#include "shore.nfo"
|
||||
#include "fix_graphics.nfo"
|
||||
#include "airports_orig_extra.nfo"
|
||||
#include "canals_extra.nfo"
|
||||
#include "rivers/rapids.nfo"
|
||||
#include "rivers/temperate.nfo"
|
||||
|
@@ -5,7 +5,7 @@ Source: http://www.openttd.org
|
||||
|
||||
|
||||
Files: *
|
||||
Copyright: © 2004-2017 Ludvig Strigeous and others.
|
||||
Copyright: © 2004-2018 Ludvig Strigeous and others.
|
||||
License: GPL-2.0
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License version 2.0 as
|
||||
|
@@ -2,7 +2,7 @@
|
||||
# spec file for package openttd
|
||||
#
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2007-2017 The OpenTTD developers
|
||||
# Copyright (c) 2007-2018 The OpenTTD developers
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
|
@@ -680,6 +680,7 @@ http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip
|
||||
X.X) Credits
|
||||
---- -------
|
||||
The OpenTTD team (in alphabetical order):
|
||||
Grzegorz Duczyński (adf88) - General coding (since 1.7.2)
|
||||
Albert Hofkamp (Alberth) - GUI expert (since 0.7)
|
||||
Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)
|
||||
Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)
|
||||
|
@@ -78,7 +78,7 @@ static const CompanyManagerFaceBitsInfo _cmf_info[] = {
|
||||
/* CMFV_MOUSTACHE */ { 13, 2, { 3, 0, 3, 0 }, { 0x367, 0, 0x397, 0 } }, ///< Depends on CMFV_HAS_MOUSTACHE
|
||||
/* CMFV_LIPS */ { 13, 4, { 12, 10, 9, 9 }, { 0x35B, 0x351, 0x3A5, 0x3C8 } }, ///< Depends on !CMFV_HAS_MOUSTACHE
|
||||
/* CMFV_NOSE */ { 17, 3, { 8, 4, 4, 5 }, { 0x349, 0x34C, 0x393, 0x3B3 } }, ///< Depends on !CMFV_HAS_MOUSTACHE
|
||||
/* CMFV_HAIR */ { 20, 4, { 9, 5, 5, 4 }, { 0x382, 0x38B, 0x3D4, 0x3D9 } },
|
||||
/* CMFV_HAIR */ { 20, 4, { 9, 5, 5, 5 }, { 0x382, 0x38B, 0x3D4, 0x3D9 } },
|
||||
/* CMFV_JACKET */ { 24, 2, { 3, 3, 3, 3 }, { 0x36B, 0x378, 0x36B, 0x378 } },
|
||||
/* CMFV_COLLAR */ { 26, 2, { 4, 4, 4, 4 }, { 0x36E, 0x37B, 0x36E, 0x37B } },
|
||||
/* CMFV_TIE_EARRING */ { 28, 3, { 6, 3, 6, 3 }, { 0x372, 0x37F, 0x372, 0x3D1 } }, ///< Depends on CMFV_HAS_TIE_EARRING
|
||||
|
@@ -685,12 +685,16 @@ static void CompanyCheckBankrupt(Company *c)
|
||||
*/
|
||||
static void CompaniesGenStatistics()
|
||||
{
|
||||
Station *st;
|
||||
/* Check for bankruptcy each month */
|
||||
Company *c;
|
||||
FOR_ALL_COMPANIES(c) {
|
||||
CompanyCheckBankrupt(c);
|
||||
}
|
||||
|
||||
Backup<CompanyByte> cur_company(_current_company, FILE_LINE);
|
||||
Company *c;
|
||||
|
||||
if (!_settings_game.economy.infrastructure_maintenance) {
|
||||
Station *st;
|
||||
FOR_ALL_STATIONS(st) {
|
||||
cur_company.Change(st->owner);
|
||||
CommandCost cost(EXPENSES_PROPERTY, _price[PR_STATION_VALUE] >> 1);
|
||||
@@ -719,11 +723,6 @@ static void CompaniesGenStatistics()
|
||||
}
|
||||
cur_company.Restore();
|
||||
|
||||
/* Check for bankruptcy each month */
|
||||
FOR_ALL_COMPANIES(c) {
|
||||
CompanyCheckBankrupt(c);
|
||||
}
|
||||
|
||||
/* Only run the economic statics and update company stats every 3rd month (1st of quarter). */
|
||||
if (!HasBit(1 << 0 | 1 << 3 | 1 << 6 | 1 << 9, _cur_month)) return;
|
||||
|
||||
|
@@ -2686,7 +2686,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi
|
||||
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Die OpenTTD span
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Die OpenTTD span
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel
|
||||
|
@@ -2318,7 +2318,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
|
||||
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
||||
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2017 فريق النسخة المفتوحة
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2018 فريق النسخة المفتوحة
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة
|
||||
|
@@ -2590,7 +2590,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa
|
||||
|
@@ -3018,7 +3018,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на
|
||||
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2017 Каманда распрацоўнікаў OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2018 Каманда распрацоўнікаў OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню
|
||||
|
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr
|
||||
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 A equipe do OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 A equipe do OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo
|
||||
|
@@ -2624,7 +2624,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр
|
||||
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта
|
||||
|
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet
|
||||
STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats.
|
||||
STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 L'equip de l'OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 L'equip de l'OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida
|
||||
|
@@ -2785,7 +2785,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD tim
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD tim
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru
|
||||
|
@@ -2782,7 +2782,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Tým OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Tým OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru
|
||||
|
@@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Fra
|
||||
|
||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Venstreklik-scrolling: {STRING}
|
||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Aktiver rulle kortet ved at trække den med venstre museknap. Dette er især nyttigt, når du bruger en touch-screen til at rulle
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Luk vindue ved højre-klik: {STRING}
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Lukker vinduet ved at højreklikke inde i det. Deaktiverer værktøjstip ved at højreklikke!
|
||||
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Auto gem: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vælg interval mellem automatisk gemte spil
|
||||
@@ -1762,6 +1764,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tjek for
|
||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vis computerspiller/spilscript indstillinger
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Afslut 'OpenTTD'
|
||||
|
||||
STR_INTRO_BASESET :{BLACK} Det aktuelt valgte base grafiksæt mangler {NUM} sprite {P "" s}. Se venligst efter opdateringer til basesættet.
|
||||
STR_INTRO_TRANSLATION :{BLACK}Denne oversættelse mangler {NUM} streng{P "" e}. Hjælp venligst med at gøre OpenTTD bedre ved at tilmelde dig som oversætter. Se readme.txt for detaljer.
|
||||
|
||||
# Quit window
|
||||
@@ -2588,6 +2591,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Lufthavn
|
||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Accepteret last: {LTBLUE}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tog type: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Togspors hastighedsgrænse: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vej hastighedsbegrænsning: {LTBLUE}{VELOCITY}
|
||||
|
||||
@@ -2603,13 +2607,13 @@ STR_LAI_CLEAR_DESCRIPTION_DESERT :Ørken
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Jernbane spor
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Jernbane spor med bloksignaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Jernbane spor med with pre-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangssignaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangs-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Jernbane spor med kombinerede signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Jernbane spor med rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Jernbane spor med en-vejs-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Jernbane spor med blok- og pre-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Jernbane spor med blok- og udgangs-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok og kombinerede signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok- og kombinerede signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Jernbane spor med blok- og rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Jernbane spor med blok og en-vejs rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Jernbane spor med pre- og udgangs-signaler
|
||||
@@ -2620,7 +2624,7 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Jernbane spor m
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Jernbane spor med udgangs- og rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Jernbane spor med udgangs- og en-vejs rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Jernbane spor med kombinerede og rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinerede og en-vejs rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinationede- og en-vejs rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Jernbane spor med rute- og en-vejs rute-signaler
|
||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbane togdepot
|
||||
|
||||
@@ -2686,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se
|
||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD teamet
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD teamet
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
|
||||
@@ -3293,6 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Kræver:
|
||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Kræver: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||
############ range for requires ends
|
||||
|
||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Kræver:
|
||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} venter{STRING}
|
||||
|
||||
############ range for produces starts
|
||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING}
|
||||
@@ -3361,6 +3368,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle kør
|
||||
|
||||
STR_GROUP_RENAME_CAPTION :{BLACK}Omdøb en gruppe
|
||||
|
||||
STR_GROUP_PROFIT_THIS_YEAR :Afkast i år:
|
||||
STR_GROUP_PROFIT_LAST_YEAR :Afkast sidste år:
|
||||
STR_GROUP_OCCUPANCY :Nuværende brug:
|
||||
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||
|
||||
# Build vehicle window
|
||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye jernbanekøretøjer
|
||||
@@ -3393,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle lasttyper
|
||||
STR_PURCHASE_INFO_ALL_BUT :Alle undtagen {CARGO_LIST}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. trækkraft: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rækkevidde: {GOLD}{COMMA} felter
|
||||
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Fly type: {GOLD}{STRING}
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Togvalgsliste - klik på et køretøj for mere information
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over køretøjstyper - klik på køretøj for information
|
||||
@@ -3527,6 +3539,10 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnetskinnelok
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Styrke: {POWER}{}Driftsomkostninger: {CURRENCY_LONG}/år{}Kapacitet: {CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Hestekræfter: {POWER} Maks. Trækkraft: {6:FORCE}{}Driftsomkostning: {4:CURRENCY_LONG}/år{}Kapacitet: {5:CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hast.: {VELOCITY}{}Kapacitet: {CARGO_LONG}{}Driftsomkostninger: {CURRENCY_LONG}/år
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Aircraft type: {STRING}{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Fly type: {STRING}{}Kapacitet: {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Fly type: {STRING} Rækkevidde: {COMMA} felter{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed{VELOCITY}{}Fly type: {STRING} Rækkevidde: {COMMA} felter{}Kapacitet: {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||
|
||||
# Autoreplace window
|
||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Udskift {STRING} - {STRING}
|
||||
@@ -3556,6 +3572,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Tryk for
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift imellem lokomotiv- og vognudskiftningsvindue
|
||||
STR_REPLACE_ENGINES :Lokomotiver
|
||||
STR_REPLACE_WAGONS :Vogne
|
||||
STR_REPLACE_ALL_RAILTYPE :Alle jernbanevogne
|
||||
|
||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Vælg den skinne type, du ønsker at udskifte lokomotiver til
|
||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket køretøj det valgte køretøj til venstre bliver udskiftet med, hvis det udskiftes
|
||||
@@ -3648,6 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} år ({C
|
||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA})
|
||||
|
||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. hast.: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. hastighed: {LTBLUE}{VELOCITY} {BLACK}Fly type: {LTBLUE}{STRING}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. hastighed: {LTBLUE}{VELOCITY} {BLACK}Fly type: {LTBLUE}{STRING} {BLACK}Rækkevidde: {LTBLUE}{COMMA} felter
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY} {BLACK}Maks. trækkraft: {LTBLUE}{FORCE}
|
||||
|
||||
|
@@ -2689,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr
|
||||
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Het OpenTTD-team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Het OpenTTD-team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
|
||||
|
@@ -3148,7 +3148,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||
|
@@ -2660,7 +2660,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||
|
@@ -2689,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||
|
@@ -2263,7 +2263,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanie poseda
|
||||
STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 La teamo de OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 La teamo de OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Konservu Ludon
|
||||
|
@@ -2743,7 +2743,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ettevõtte maa
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD meeskond
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD meeskond
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Mängu salvestamine
|
||||
|
@@ -2425,7 +2425,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ogn hjá fyrit
|
||||
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upprunalig upphavsrættindi {COPYRIGHT} 1995 Chris Sawyer, Øll rættindi umbiðin
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáva {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD toymi
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD toymi
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Goym spæl
|
||||
|
@@ -2689,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Yhtiön omistam
|
||||
STR_ABOUT_OPENTTD :{WHITE}Tietoja OpenTTD:stä
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Alkuperäiset oikeudet {COPYRIGHT} 1995 Chris Sawyer, kaikki oikeudet pidätetään
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Tallenna peli
|
||||
|
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrain apparte
|
||||
STR_ABOUT_OPENTTD :{WHITE}À propos de OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Tous droits réservés
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 L'équipe OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 L'équipe OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sauvegarder la partie
|
||||
|
@@ -2930,7 +2930,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tìr a' chompan
|
||||
STR_ABOUT_OPENTTD :{WHITE}Mu dheidhinn OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Còir-lethbhreac tùsail {COPYRIGHT} 1995 Chris Sawyer, a h-uile còir glèidhte
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD tionndadh {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 An sgioba OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 An sgioba OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sàbhail an geama
|
||||
|
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreo propieda
|
||||
STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright orixinal {COPYRIGHT} 1995 Chris Sawyer, Tódolos dereitos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 O equipo de OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 O equipo de OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gravar partida
|
||||
|
@@ -3141,7 +3141,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firmeneigenes G
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Transport Tycoon-Urheberrecht {COPYRIGHT} 1995 Chris Sawyer, alle Rechte vorbehalten
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-Version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-Team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-Team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spiel speichern
|
||||
|
@@ -1479,6 +1479,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Απενεργ
|
||||
|
||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Μετάβαση με αριστερό κλικ: {STRING}
|
||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Ενεργοποίηση της κύλισης του χάρτη σύροντας τον με το αριστερό κουμπί του ποντικιού. Αυτό είναι ιδιαίτερα χρήσιμο για την κύλιση όταν χρησιμοποιείται οθόνη αφής
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Κλείσιμο παραθύρου με δεξί-κλικ: {STRING}
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Κλείνει το παράθυρο με δεξί πάτημα μέσα του. Απενεργοποιεί την ανάδυση επεξηγήσεων με το δεξί κουμπί!
|
||||
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Αυτόματο σώσιμο: {STRING}
|
||||
@@ -2795,7 +2796,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ιδιοκτη
|
||||
STR_ABOUT_OPENTTD :{WHITE}Σχετικά με το OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Αρχικά Πνευματικά Δικαιώματα {COPYRIGHT} 1995 Chris Sawyer, Όλα τα δικαιώματα διατηρούνται
|
||||
STR_ABOUT_VERSION :{BLACK}Έκδοση OpenTTD{REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Η ομάδα του OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Η ομάδα του OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Αποθήκευση Παιχνιδιού
|
||||
|
@@ -2703,7 +2703,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :שטח בבעל
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD אודות
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}כל הזכויות שמורות , {COPYRIGHT}1995 כריס סויר - זכויות יוצרים מקוריות
|
||||
STR_ABOUT_VERSION :{BLACK}{REV} גירסה , OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}שמור משחק
|
||||
|
@@ -2753,7 +2753,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Vállalat álta
|
||||
STR_ABOUT_OPENTTD :{WHITE}Az OpenTTD-ről
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Eredeti copyright {COPYRIGHT} 1995 Chris Sawyer, Minden jog fenntartva
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD {REV} verzió
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 Az OpenTTD csapat
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 Az OpenTTD csapat
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Játék mentése
|
||||
|
@@ -2534,7 +2534,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land í eigu fy
|
||||
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upphaflegur höfundarréttur {COPYRIGHT} 1995 Chris Sawyer, Öll réttindi áskilin
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáfa {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD hópurinn
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD hópurinn
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Vista leik
|
||||
|
@@ -2685,7 +2685,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah milik Per
|
||||
STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hak Cipta asli {COPYRIGHT} 1995 Chris Sawyer, Hak Cipta dilindungi
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Tim OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Tim OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpan Permainan
|
||||
|
@@ -2685,7 +2685,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Talamh faoi úi
|
||||
STR_ABOUT_OPENTTD :{WHITE}Maidir le OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Cóipcheart bunaidh {COPYRIGHT} 1995 Chris Sawyer, Gach ceart ar cosaint
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD leagan {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 An fhoireann OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 An fhoireann OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sábháil an Cluiche
|
||||
|
@@ -2719,7 +2719,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno possedu
|
||||
STR_ABOUT_OPENTTD :{WHITE}Informazioni su OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright originale {COPYRIGHT} 1995 Chris Sawyer, Tutti i diritti riservati
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versione {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Il team OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Il team OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salva partita
|
||||
|
@@ -2686,7 +2686,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :社有地
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTDについて
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}オリジナル版権{COPYRIGHT} 1995 Chris Sawyer All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD バージョン {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}ゲームを保存
|
||||
|
@@ -3148,7 +3148,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :회사 소유
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD에 대해서
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD 버전 {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD 개발팀
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD 개발팀
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}게임 저장
|
||||
|
@@ -2626,7 +2626,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Uzņēmumam pie
|
||||
STR_ABOUT_OPENTTD :{WHITE}Par OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oriģināla autortiesības {COPYRIGHT} 1995 Kriss Sojers. Visas tiesības paturētas
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD darba grupa
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD darba grupa
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Saglabāt spēli
|
||||
|
@@ -2904,7 +2904,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanijos žem
|
||||
STR_ABOUT_OPENTTD :{WHITE}Apie OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pradinės versijos teisės priklauso {COPYRIGHT} 1995 Chris Sawyer, Visos teisės saugomos
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD komanda
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD komanda
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Išsaugoti žaidimą
|
||||
|
@@ -2689,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land am Firmenb
|
||||
STR_ABOUT_OPENTTD :{WHITE}Iwwert OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original Copyright {COPYRIGHT} 1995 Chris Sawyer, All Rechter virbehalen
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD Versioun {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 D'OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 D'OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spill späicheren
|
||||
|
@@ -2404,7 +2404,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah dimiliki
|
||||
STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hakcipta Asal {COPYRIGHT} 1995 Chris Sawyer, Hakcipta terpelihara
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpankan Permainan
|
||||
|
@@ -2693,7 +2693,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firma-eid lando
|
||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opprinnelig opphavsbeskyttet {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheter reservert
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-teamet
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spill
|
||||
|
@@ -2606,7 +2606,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Feltet eigast a
|
||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opphaveleg opphavsbeskytta av {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheiter reservert
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV}. Oversett til nynorsk av Thor Morten Skogrand med fleire.
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-teamet
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spel
|
||||
|
@@ -3069,7 +3069,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren w posiada
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prawa Autorskie {COPYRIGHT} 1995 Chris Sawyer, Wszelkie prawa zastrzeżone
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD wersja {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 Zespół OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 Zespół OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Zapisz grę
|
||||
|
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno proprie
|
||||
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Direitos de autor originais {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 A equipa do OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 A equipa do OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Jogo
|
||||
|
@@ -2650,7 +2650,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren în propr
|
||||
STR_ABOUT_OPENTTD :{WHITE}Despre OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Toate drepturile rezervate
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versiunea {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Echipa OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Echipa OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvează joc
|
||||
|
@@ -2875,7 +2875,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земля в
|
||||
STR_ABOUT_OPENTTD :{WHITE}Об OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинальные авторские права {COPYRIGHT} 1995 Chris Sawyer. Все права защищены.
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Команда разработчиков OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Команда разработчиков OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Сохранить игру
|
||||
|
@@ -2880,7 +2880,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemljište u po
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originalni kopirajt {COPYRIGHT} 1995 Chris Sawyer, Sva prava zadržana
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD tim
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD tim
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sačuvaj poziciju
|
||||
|
@@ -2686,7 +2686,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司属地
|
||||
STR_ABOUT_OPENTTD :{WHITE}关于 OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原始版权由 {COPYRIGHT} 1995 Chris Sawyer 所有,保留一切权力。
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD 团队
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD 团队
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}保存游戏
|
||||
|
@@ -2753,7 +2753,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Spoločnosťou
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pôvodný copyright: {COPYRIGHT} 1995 Chris Sawyer, všetky práva vyhradené
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verzia {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 team OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 team OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložiť hru
|
||||
|
@@ -2839,7 +2839,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ozemlje v lasti
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prvotne avtorske pravice {COPYRIGHT} 1995 Chris Sawyer, vse pravice pridržane
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD različica {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 ekipa OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 ekipa OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Shrani igro
|
||||
|
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propied
|
||||
STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright Original {COPYRIGHT} 1995 Chris Sawyer, Todos los derechos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 El equipo OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 El equipo OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Juego
|
||||
|
@@ -1857,7 +1857,7 @@ STR_FACE_FEMALE_BUTTON :{BLACK}Mujer
|
||||
STR_FACE_FEMALE_TOOLTIP :{BLACK}Elegir cara femenina
|
||||
STR_FACE_NEW_FACE_BUTTON :{BLACK}Nueva cara
|
||||
STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Generar cara al azar
|
||||
STR_FACE_ADVANCED :{BLACK}Avanzada
|
||||
STR_FACE_ADVANCED :{BLACK}Avanzado
|
||||
STR_FACE_ADVANCED_TOOLTIP :{BLACK}Selección avanzada de caras
|
||||
STR_FACE_SIMPLE :{BLACK}Simple
|
||||
STR_FACE_SIMPLE_TOOLTIP :{BLACK}Selección simple de caras
|
||||
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propied
|
||||
STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos los derechos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017, el equipo de OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018, el equipo de OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar partida
|
||||
@@ -4493,7 +4493,7 @@ STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Edificio de ofi
|
||||
STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Conjunto habitacional pequeño
|
||||
STR_TOWN_BUILDING_NAME_CHURCH_1 :Iglesia
|
||||
STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Complejo de oficinas
|
||||
STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas de pueblo
|
||||
STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas adosadas
|
||||
STR_TOWN_BUILDING_NAME_HOTEL_1 :Hotel
|
||||
STR_TOWN_BUILDING_NAME_STATUE_1 :Estatua
|
||||
STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Fuente
|
||||
|
@@ -2689,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Mark som ägs a
|
||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Ursprunglig upphovsrätt {COPYRIGHT} 1995 Chris Sawyer, Alla rättigheter hävdas
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD-teamet
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD-teamet
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spara spel
|
||||
|
@@ -2376,7 +2376,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :நிறுவ
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ஐ பற்றி
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}அசல் உரிமைகள் {COPYRIGHT} 1995 கிறிஸ் சாயர், எல்லா உரிமைகளும் பதிவுசெய்யப்பட்டது
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD பதிப்பு {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD குழுமம்
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD குழுமம்
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}ஆட்டத்தை பதிவு செய்
|
||||
|
@@ -2633,7 +2633,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :บริษั
|
||||
STR_ABOUT_OPENTTD :{WHITE}เกี่ยวกับ OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}ลิขสิทธิ์เดิม {COPYRIGHT} ค.ศ.1995 ของ Chris Sawyer, สงวนลิขสิทธิ์
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD รุ่นที่ {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2017 ของ The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2018 ของ The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}บันทึกเกม
|
||||
|
@@ -2685,7 +2685,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司所有土
|
||||
STR_ABOUT_OPENTTD :{WHITE}關於 OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原著作權為 {COPYRIGHT} 1995 Chris Sawyer,保留所有權利
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD 開發小組
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD 開發小組
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}儲存遊戲
|
||||
|
@@ -2690,7 +2690,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Satın alınmı
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD Hakkında
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Telif hakkı {COPYRIGHT} 1995 Chris Sawyer, Her hakkı saklıdır
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD sürüm {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD ekibi
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD ekibi
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Oyunu Kaydet
|
||||
|
@@ -2816,7 +2816,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ця ділян
|
||||
STR_ABOUT_OPENTTD :{WHITE}Про OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторське право {COPYRIGHT} 1995 Кріс Сойєр, Всі права захищені
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD версія {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 команда OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 команда OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Зберегти гру
|
||||
|
@@ -2475,7 +2475,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Lân fan bedriu
|
||||
STR_ABOUT_OPENTTD :{WHITE}Oer OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Orizjineel copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-ferzje {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 It OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 It OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spul Opslaan
|
||||
|
@@ -776,7 +776,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Stabeyo di komp
|
||||
|
||||
# About OpenTTD window
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versiono {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 La kruo OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 La kruo OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Ludo Detali
|
||||
|
@@ -1202,7 +1202,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Компани
|
||||
STR_ABOUT_OPENTTD :{WHITE}За OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинален copyright {COPYRIGHT} 1995 Chris Sawyer, Сите права се задржани
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD верзија {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD тимот
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD тимот
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_LOAD_BUTTON :{BLACK}Оптоварување
|
||||
|
@@ -2387,7 +2387,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :زمین خری
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD در باره ی
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD ویرایش {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}ذخیره ی بازی
|
||||
|
@@ -2689,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Đất công ty
|
||||
STR_ABOUT_OPENTTD :{WHITE}Về OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Nguyên tác bản quyền {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD phiên bản {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Nhóm OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Nhóm OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lưu Ván Chơi
|
||||
|
@@ -2686,7 +2686,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tir cwmni
|
||||
STR_ABOUT_OPENTTD :{WHITE}Gwybodaeth am OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hawlfraint Wreiddiol {COPYRIGHT} 1995 Chris Sawyer, Holl cedwir pob hawl
|
||||
STR_ABOUT_VERSION :{BLACK}fersiwn OpenTTD {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 Y tîm OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 Y tîm OpenTTD
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Cadw Gêm
|
||||
|
@@ -409,6 +409,7 @@ static const char * const _credits[] = {
|
||||
"Original graphics by Simon Foster",
|
||||
"",
|
||||
"The OpenTTD team (in alphabetical order):",
|
||||
" Grzegorz Duczy\xC5\x84ski (adf88) - General coding (since 1.7.2)",
|
||||
" Albert Hofkamp (Alberth) - GUI expert (since 0.7)",
|
||||
" Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)",
|
||||
" Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)",
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <algorithm>
|
||||
|
||||
#include "debug.h"
|
||||
#include "fileio_func.h"
|
||||
@@ -3752,7 +3753,7 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B
|
||||
}
|
||||
|
||||
case 0x0A: { // Set airport layout
|
||||
as->num_table = buf->ReadByte(); // Number of layaouts
|
||||
as->num_table = buf->ReadByte(); // Number of layouts
|
||||
free(as->rotation);
|
||||
as->rotation = MallocT<Direction>(as->num_table);
|
||||
uint32 defsize = buf->ReadDWord(); // Total size of the definition
|
||||
@@ -4695,16 +4696,63 @@ static void NewSpriteGroup(ByteReader *buf)
|
||||
group->adjusts = MallocT<DeterministicSpriteGroupAdjust>(group->num_adjusts);
|
||||
MemCpyT(group->adjusts, adjusts.Begin(), group->num_adjusts);
|
||||
|
||||
group->num_ranges = buf->ReadByte();
|
||||
if (group->num_ranges > 0) group->ranges = CallocT<DeterministicSpriteGroupRange>(group->num_ranges);
|
||||
|
||||
for (uint i = 0; i < group->num_ranges; i++) {
|
||||
group->ranges[i].group = GetGroupFromGroupID(setid, type, buf->ReadWord());
|
||||
group->ranges[i].low = buf->ReadVarSize(varsize);
|
||||
group->ranges[i].high = buf->ReadVarSize(varsize);
|
||||
std::vector<DeterministicSpriteGroupRange> ranges;
|
||||
ranges.resize(buf->ReadByte());
|
||||
for (uint i = 0; i < ranges.size(); i++) {
|
||||
ranges[i].group = GetGroupFromGroupID(setid, type, buf->ReadWord());
|
||||
ranges[i].low = buf->ReadVarSize(varsize);
|
||||
ranges[i].high = buf->ReadVarSize(varsize);
|
||||
}
|
||||
|
||||
group->default_group = GetGroupFromGroupID(setid, type, buf->ReadWord());
|
||||
group->error_group = ranges.size() > 0 ? ranges[0].group : group->default_group;
|
||||
/* nvar == 0 is a special case -- we turn our value into a callback result */
|
||||
group->calculated_result = ranges.size() == 0;
|
||||
|
||||
/* Sort ranges ascending. When ranges overlap, this may required clamping or splitting them */
|
||||
std::vector<uint32> bounds;
|
||||
for (uint i = 0; i < ranges.size(); i++) {
|
||||
bounds.push_back(ranges[i].low);
|
||||
if (ranges[i].high != UINT32_MAX) bounds.push_back(ranges[i].high + 1);
|
||||
}
|
||||
std::sort(bounds.begin(), bounds.end());
|
||||
bounds.erase(std::unique(bounds.begin(), bounds.end()), bounds.end());
|
||||
|
||||
std::vector<const SpriteGroup *> target;
|
||||
for (uint j = 0; j < bounds.size(); ++j) {
|
||||
uint32 v = bounds[j];
|
||||
const SpriteGroup *t = group->default_group;
|
||||
for (uint i = 0; i < ranges.size(); i++) {
|
||||
if (ranges[i].low <= v && v <= ranges[i].high) {
|
||||
t = ranges[i].group;
|
||||
break;
|
||||
}
|
||||
}
|
||||
target.push_back(t);
|
||||
}
|
||||
assert(target.size() == bounds.size());
|
||||
|
||||
std::vector<DeterministicSpriteGroupRange> optimised;
|
||||
for (uint j = 0; j < bounds.size(); ) {
|
||||
if (target[j] != group->default_group) {
|
||||
DeterministicSpriteGroupRange r;
|
||||
r.group = target[j];
|
||||
r.low = bounds[j];
|
||||
while (j < bounds.size() && target[j] == r.group) {
|
||||
j++;
|
||||
}
|
||||
r.high = j < bounds.size() ? bounds[j] - 1 : UINT32_MAX;
|
||||
optimised.push_back(r);
|
||||
} else {
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
group->num_ranges = optimised.size();
|
||||
if (group->num_ranges > 0) {
|
||||
group->ranges = MallocT<DeterministicSpriteGroupRange>(group->num_ranges);
|
||||
MemCpyT(group->ranges, &optimised.front(), group->num_ranges);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -26,7 +26,18 @@ struct AirportScopeResolver : public ScopeResolver {
|
||||
byte layout; ///< Layout of the airport to build.
|
||||
TileIndex tile; ///< Tile for the callback, only valid for airporttile callbacks.
|
||||
|
||||
AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, byte airport_id, byte layout);
|
||||
/**
|
||||
* Constructor of the scope resolver for an airport.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param tile %Tile for the callback, only valid for airporttile callbacks.
|
||||
* @param st %Station of the airport for which the callback is run, or \c NULL for build gui.
|
||||
* @param airport_id Type of airport for which the callback is run.
|
||||
* @param layout Layout of the airport to build.
|
||||
*/
|
||||
AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, byte airport_id, byte layout)
|
||||
: ScopeResolver(ro), st(st), airport_id(airport_id), layout(layout), tile(tile)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
@@ -242,22 +253,6 @@ AirportResolverObject::AirportResolverObject(TileIndex tile, Station *st, byte a
|
||||
this->root_spritegroup = AirportSpec::Get(airport_id)->grf_prop.spritegroup[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor of the scope resolver for an airport.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param tile %Tile for the callback, only valid for airporttile callbacks.
|
||||
* @param st %Station of the airport for which the callback is run, or \c NULL for build gui.
|
||||
* @param airport_id Type of airport for which the callback is run.
|
||||
* @param layout Layout of the airport to build.
|
||||
*/
|
||||
AirportScopeResolver::AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, byte airport_id, byte layout) : ScopeResolver(ro)
|
||||
{
|
||||
this->st = st;
|
||||
this->airport_id = airport_id;
|
||||
this->layout = layout;
|
||||
this->tile = tile;
|
||||
}
|
||||
|
||||
SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout)
|
||||
{
|
||||
AirportResolverObject object(INVALID_TILE, NULL, as->GetIndex(), layout);
|
||||
|
@@ -222,21 +222,6 @@ AirportTileResolverObject::AirportTileResolverObject(const AirportTileSpec *ats,
|
||||
this->root_spritegroup = ats->grf_prop.spritegroup[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor of the scope resolver specific for airport tiles.
|
||||
* @param ats Specification of the airport tiles.
|
||||
* @param tile %Tile for the callback, only valid for airporttile callbacks.
|
||||
* @param st Station of the airport for which the callback is run, or \c NULL for build gui.
|
||||
*/
|
||||
AirportTileScopeResolver::AirportTileScopeResolver(ResolverObject &ro, const AirportTileSpec *ats, TileIndex tile, Station *st) : ScopeResolver(ro)
|
||||
{
|
||||
assert(st != NULL);
|
||||
|
||||
this->st = st;
|
||||
this->airport_id = st->airport.type;
|
||||
this->tile = tile;
|
||||
}
|
||||
|
||||
uint16 GetAirportTileCallback(CallbackID callback, uint32 param1, uint32 param2, const AirportTileSpec *ats, Station *st, TileIndex tile, int extra_data = 0)
|
||||
{
|
||||
AirportTileResolverObject object(ats, tile, st, callback, param1, param2);
|
||||
|
@@ -17,6 +17,7 @@
|
||||
#include "newgrf_animation_type.h"
|
||||
#include "newgrf_commons.h"
|
||||
#include "newgrf_spritegroup.h"
|
||||
#include "station_base.h"
|
||||
|
||||
/** Scope resolver for handling the tiles of an airport. */
|
||||
struct AirportTileScopeResolver : public ScopeResolver {
|
||||
@@ -24,7 +25,18 @@ struct AirportTileScopeResolver : public ScopeResolver {
|
||||
byte airport_id; ///< Type of airport for which the callback is run.
|
||||
TileIndex tile; ///< Tile for the callback, only valid for airporttile callbacks.
|
||||
|
||||
AirportTileScopeResolver(ResolverObject &ro, const AirportTileSpec *ats, TileIndex tile, Station *st);
|
||||
/**
|
||||
* Constructor of the scope resolver specific for airport tiles.
|
||||
* @param ats Specification of the airport tiles.
|
||||
* @param tile %Tile for the callback, only valid for airporttile callbacks.
|
||||
* @param st Station of the airport for which the callback is run, or \c NULL for build gui.
|
||||
*/
|
||||
AirportTileScopeResolver(ResolverObject &ro, const AirportTileSpec *ats, TileIndex tile, Station *st)
|
||||
: ScopeResolver(ro), st(st), tile(tile)
|
||||
{
|
||||
assert(st != NULL);
|
||||
this->airport_id = st->airport.type;
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
|
@@ -25,7 +25,10 @@ WaterFeature _water_feature[CF_END];
|
||||
struct CanalScopeResolver : public ScopeResolver {
|
||||
TileIndex tile; ///< Tile containing the canal.
|
||||
|
||||
CanalScopeResolver(ResolverObject &ro, TileIndex tile);
|
||||
CanalScopeResolver(ResolverObject &ro, TileIndex tile)
|
||||
: ScopeResolver(ro), tile(tile)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
@@ -110,11 +113,6 @@ struct CanalResolverObject : public ResolverObject {
|
||||
return group->loaded[0];
|
||||
}
|
||||
|
||||
CanalScopeResolver::CanalScopeResolver(ResolverObject &ro, TileIndex tile) : ScopeResolver(ro)
|
||||
{
|
||||
this->tile = tile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Canal resolver constructor.
|
||||
* @param feature Which canal feature we want.
|
||||
|
@@ -943,21 +943,6 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object,
|
||||
return in_motion ? group->loaded[set] : group->loading[set];
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope resolver of a single vehicle.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param engine_type Engine type
|
||||
* @param v %Vehicle being resolved.
|
||||
* @param info_view Indicates if the item is being drawn in an info window.
|
||||
*/
|
||||
VehicleScopeResolver::VehicleScopeResolver(ResolverObject &ro, EngineID engine_type, const Vehicle *v, bool info_view)
|
||||
: ScopeResolver(ro)
|
||||
{
|
||||
this->v = v;
|
||||
this->self_type = engine_type;
|
||||
this->info_view = info_view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the grf file associated with an engine type.
|
||||
* @param engine_type Engine to query.
|
||||
|
@@ -26,7 +26,17 @@ struct VehicleScopeResolver : public ScopeResolver {
|
||||
EngineID self_type; ///< Type of the vehicle.
|
||||
bool info_view; ///< Indicates if the item is being drawn in an info window.
|
||||
|
||||
VehicleScopeResolver(ResolverObject &ro, EngineID engine_type, const Vehicle *v, bool info_view);
|
||||
/**
|
||||
* Scope resolver of a single vehicle.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param engine_type Engine type
|
||||
* @param v %Vehicle being resolved.
|
||||
* @param info_view Indicates if the item is being drawn in an info window.
|
||||
*/
|
||||
VehicleScopeResolver(ResolverObject &ro, EngineID engine_type, const Vehicle *v, bool info_view)
|
||||
: ScopeResolver(ro), v(v), self_type(engine_type), info_view(info_view)
|
||||
{
|
||||
}
|
||||
|
||||
void SetVehicle(const Vehicle *v) { this->v = v; }
|
||||
|
||||
|
@@ -31,7 +31,16 @@ struct GenericScopeResolver : public ScopeResolver {
|
||||
uint8 count;
|
||||
uint8 station_size;
|
||||
|
||||
GenericScopeResolver(ResolverObject &ro, bool ai_callback);
|
||||
/**
|
||||
* Generic scope resolver.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param ai_callback Callback comes from the AI.
|
||||
*/
|
||||
GenericScopeResolver(ResolverObject &ro, bool ai_callback)
|
||||
: ScopeResolver(ro), cargo_type(0), default_selection(0), src_industry(0), dst_industry(0), distance(0),
|
||||
event(), count(0), station_size(0), ai_callback(ai_callback)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
|
||||
@@ -145,24 +154,6 @@ GenericResolverObject::GenericResolverObject(bool ai_callback, CallbackID callba
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Generic scope resolver.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param ai_callback Callback comes from the AI.
|
||||
*/
|
||||
GenericScopeResolver::GenericScopeResolver(ResolverObject &ro, bool ai_callback) : ScopeResolver(ro)
|
||||
{
|
||||
this->cargo_type = 0;
|
||||
this->default_selection = 0;
|
||||
this->src_industry = 0;
|
||||
this->dst_industry = 0;
|
||||
this->distance = 0;
|
||||
this->event = (AIConstructionEvent)0;
|
||||
this->count = 0;
|
||||
this->station_size = 0;
|
||||
this->ai_callback = ai_callback;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Follow a generic feature callback list and return the first successful
|
||||
|
@@ -34,28 +34,6 @@ static HouseClassMapping _class_mapping[HOUSE_CLASS_MAX];
|
||||
|
||||
HouseOverrideManager _house_mngr(NEW_HOUSE_OFFSET, NUM_HOUSES, INVALID_HOUSE_ID);
|
||||
|
||||
/**
|
||||
* Constructor of a house scope resolver.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param house_id House type being queried.
|
||||
* @param tile %Tile containing the house.
|
||||
* @param town %Town containing the house.
|
||||
* @param not_yet_constructed House is still under construction.
|
||||
* @param initial_random_bits Random bits during construction checks.
|
||||
* @param watched_cargo_triggers Cargo types that triggered the watched cargo callback.
|
||||
*/
|
||||
HouseScopeResolver::HouseScopeResolver(ResolverObject &ro, HouseID house_id, TileIndex tile, Town *town,
|
||||
bool not_yet_constructed, uint8 initial_random_bits, uint32 watched_cargo_triggers)
|
||||
: ScopeResolver(ro)
|
||||
{
|
||||
this->house_id = house_id;
|
||||
this->tile = tile;
|
||||
this->town = town;
|
||||
this->not_yet_constructed = not_yet_constructed;
|
||||
this->initial_random_bits = initial_random_bits;
|
||||
this->watched_cargo_triggers = watched_cargo_triggers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the grf file associated with a house.
|
||||
* @param house_id House to query.
|
||||
|
@@ -27,8 +27,22 @@ struct HouseScopeResolver : public ScopeResolver {
|
||||
uint16 initial_random_bits; ///< Random bits during construction checks.
|
||||
uint32 watched_cargo_triggers; ///< Cargo types that triggered the watched cargo callback.
|
||||
|
||||
/**
|
||||
* Constructor of a house scope resolver.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param house_id House type being queried.
|
||||
* @param tile %Tile containing the house.
|
||||
* @param town %Town containing the house.
|
||||
* @param not_yet_constructed House is still under construction.
|
||||
* @param initial_random_bits Random bits during construction checks.
|
||||
* @param watched_cargo_triggers Cargo types that triggered the watched cargo callback.
|
||||
*/
|
||||
HouseScopeResolver(ResolverObject &ro, HouseID house_id, TileIndex tile, Town *town,
|
||||
bool not_yet_constructed, uint8 initial_random_bits, uint32 watched_cargo_triggers);
|
||||
bool not_yet_constructed, uint8 initial_random_bits, uint32 watched_cargo_triggers)
|
||||
: ScopeResolver(ro), house_id(house_id), tile(tile), town(town), not_yet_constructed(not_yet_constructed),
|
||||
initial_random_bits(initial_random_bits), watched_cargo_triggers(watched_cargo_triggers)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
|
@@ -457,23 +457,6 @@ TownScopeResolver *IndustriesResolverObject::GetTown()
|
||||
return this->town_scope;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope resolver for industries.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param tile %Tile owned by the industry.
|
||||
* @param industry %Industry being resolved.
|
||||
* @param type Type of the industry.
|
||||
* @param random_bits Random bits of the new industry.
|
||||
*/
|
||||
IndustriesScopeResolver::IndustriesScopeResolver(ResolverObject &ro, TileIndex tile, Industry *industry, IndustryType type, uint32 random_bits)
|
||||
: ScopeResolver(ro)
|
||||
{
|
||||
this->tile = tile;
|
||||
this->industry = industry;
|
||||
this->type = type;
|
||||
this->random_bits = random_bits;
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform an industry callback.
|
||||
* @param callback The callback to perform.
|
||||
|
@@ -21,7 +21,18 @@ struct IndustriesScopeResolver : public ScopeResolver {
|
||||
IndustryType type; ///< Type of the industry.
|
||||
uint32 random_bits; ///< Random bits of the new industry.
|
||||
|
||||
IndustriesScopeResolver(ResolverObject &ro, TileIndex tile, Industry *industry, IndustryType type, uint32 random_bits = 0);
|
||||
/**
|
||||
* Scope resolver for industries.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param tile %Tile owned by the industry.
|
||||
* @param industry %Industry being resolved.
|
||||
* @param type Type of the industry.
|
||||
* @param random_bits Random bits of the new industry.
|
||||
*/
|
||||
IndustriesScopeResolver(ResolverObject &ro, TileIndex tile, Industry *industry, IndustryType type, uint32 random_bits = 0)
|
||||
: ScopeResolver(ro), tile(tile), industry(industry), type(type), random_bits(random_bits)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
|
@@ -146,18 +146,6 @@ IndustryTileResolverObject::IndustryTileResolverObject(IndustryGfx gfx, TileInde
|
||||
this->root_spritegroup = GetIndustryTileSpec(gfx)->grf_prop.spritegroup[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor of the scope resolver for the industry tile.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param industry %Industry owning the tile.
|
||||
* @param tile %Tile of the industry.
|
||||
*/
|
||||
IndustryTileScopeResolver::IndustryTileScopeResolver(ResolverObject &ro, Industry *industry, TileIndex tile) : ScopeResolver(ro)
|
||||
{
|
||||
this->industry = industry;
|
||||
this->tile = tile;
|
||||
}
|
||||
|
||||
static void IndustryDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, byte rnd_colour, byte stage, IndustryGfx gfx)
|
||||
{
|
||||
const DrawTileSprites *dts = group->ProcessRegisters(&stage);
|
||||
|
@@ -21,7 +21,16 @@ struct IndustryTileScopeResolver : public ScopeResolver {
|
||||
Industry *industry; ///< Industry owning the tiles.
|
||||
TileIndex tile; ///< %Tile being resolved.
|
||||
|
||||
IndustryTileScopeResolver(ResolverObject &ro, Industry *industry, TileIndex tile);
|
||||
/**
|
||||
* Constructor of the scope resolver for the industry tile.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param industry %Industry owning the tile.
|
||||
* @param tile %Tile of the industry.
|
||||
*/
|
||||
IndustryTileScopeResolver(ResolverObject &ro, Industry *industry, TileIndex tile)
|
||||
: ScopeResolver(ro), industry(industry), tile(tile)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
|
@@ -128,21 +128,6 @@ bool NewGRFClass<Tspec, Tid, Tmax>::IsUIAvailable(uint index) const
|
||||
|
||||
INSTANTIATE_NEWGRF_CLASS_METHODS(ObjectClass, ObjectSpec, ObjectClassID, OBJECT_CLASS_MAX)
|
||||
|
||||
/**
|
||||
* Constructor of an object scope resolver.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param obj Object being resolved.
|
||||
* @param tile %Tile of the object.
|
||||
* @param view View of the object.
|
||||
*/
|
||||
ObjectScopeResolver::ObjectScopeResolver(ResolverObject &ro, Object *obj, TileIndex tile, uint8 view)
|
||||
: ScopeResolver(ro)
|
||||
{
|
||||
this->obj = obj;
|
||||
this->tile = tile;
|
||||
this->view = view;
|
||||
}
|
||||
|
||||
/* virtual */ uint32 ObjectScopeResolver::GetRandomBits() const
|
||||
{
|
||||
return IsValidTile(this->tile) && IsTileType(this->tile, MP_OBJECT) ? GetObjectRandomBits(this->tile) : 0;
|
||||
|
@@ -104,7 +104,17 @@ struct ObjectScopeResolver : public ScopeResolver {
|
||||
TileIndex tile; ///< The tile related to the object.
|
||||
uint8 view; ///< The view of the object.
|
||||
|
||||
ObjectScopeResolver(ResolverObject &ro, Object *obj, TileIndex tile, uint8 view = 0);
|
||||
/**
|
||||
* Constructor of an object scope resolver.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param obj Object being resolved.
|
||||
* @param tile %Tile of the object.
|
||||
* @param view View of the object.
|
||||
*/
|
||||
ObjectScopeResolver(ResolverObject &ro, Object *obj, TileIndex tile, uint8 view = 0)
|
||||
: ScopeResolver(ro), obj(obj), tile(tile), view(view)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
|
@@ -67,18 +67,6 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor of the railtype scope resolvers.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param tile %Tile containing the track. For track on a bridge this is the southern bridgehead.
|
||||
* @param context Are we resolving sprites for the upper halftile, or on a bridge?
|
||||
*/
|
||||
RailTypeScopeResolver::RailTypeScopeResolver(ResolverObject &ro, TileIndex tile, TileContext context) : ScopeResolver(ro)
|
||||
{
|
||||
this->tile = tile;
|
||||
this->context = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolver object for rail types.
|
||||
* @param rti Railtype. NULL in NewGRF Inspect window.
|
||||
|
@@ -21,7 +21,16 @@ struct RailTypeScopeResolver : public ScopeResolver {
|
||||
TileIndex tile; ///< Tracktile. For track on a bridge this is the southern bridgehead.
|
||||
TileContext context; ///< Are we resolving sprites for the upper halftile, or on a bridge?
|
||||
|
||||
RailTypeScopeResolver(ResolverObject &ro, TileIndex tile, TileContext context);
|
||||
/**
|
||||
* Constructor of the railtype scope resolvers.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param tile %Tile containing the track. For track on a bridge this is the southern bridgehead.
|
||||
* @param context Are we resolving sprites for the upper halftile, or on a bridge?
|
||||
*/
|
||||
RailTypeScopeResolver(ResolverObject &ro, TileIndex tile, TileContext context)
|
||||
: ScopeResolver(ro), tile(tile), context(context)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
|
@@ -10,6 +10,7 @@
|
||||
/** @file newgrf_spritegroup.cpp Handling of primarily NewGRF action 2. */
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <algorithm>
|
||||
#include "debug.h"
|
||||
#include "newgrf_spritegroup.h"
|
||||
#include "core/pool_func.hpp"
|
||||
@@ -61,11 +62,7 @@ RandomizedSpriteGroup::~RandomizedSpriteGroup()
|
||||
|
||||
static inline uint32 GetVariable(const ResolverObject &object, ScopeResolver *scope, byte variable, uint32 parameter, bool *available)
|
||||
{
|
||||
/* First handle variables common with Action7/9/D */
|
||||
uint32 value;
|
||||
if (GetGlobalVariable(variable, &value, object.grffile)) return value;
|
||||
|
||||
/* Non-common variable */
|
||||
switch (variable) {
|
||||
case 0x0C: return object.callback;
|
||||
case 0x10: return object.callback_param1;
|
||||
@@ -80,18 +77,14 @@ static inline uint32 GetVariable(const ResolverObject &object, ScopeResolver *sc
|
||||
if (object.grffile == NULL) return 0;
|
||||
return object.grffile->GetParam(parameter);
|
||||
|
||||
default:
|
||||
/* First handle variables common with Action7/9/D */
|
||||
if (variable < 0x40 && GetGlobalVariable(variable, &value, object.grffile)) return value;
|
||||
/* Not a common variable, so evaluate the feature specific variables */
|
||||
default: return scope->GetVariable(variable, parameter, available);
|
||||
return scope->GetVariable(variable, parameter, available);
|
||||
}
|
||||
}
|
||||
|
||||
ScopeResolver::ScopeResolver(ResolverObject &ro)
|
||||
: ro(ro)
|
||||
{
|
||||
}
|
||||
|
||||
ScopeResolver::~ScopeResolver() {}
|
||||
|
||||
/**
|
||||
* Get a few random bits. Default implementation has no random bits.
|
||||
* @return Random bits.
|
||||
@@ -131,27 +124,6 @@ ScopeResolver::~ScopeResolver() {}
|
||||
*/
|
||||
/* virtual */ void ScopeResolver::StorePSA(uint reg, int32 value) {}
|
||||
|
||||
/**
|
||||
* Resolver constructor.
|
||||
* @param grffile NewGRF file associated with the object (or \c NULL if none).
|
||||
* @param callback Callback code being resolved (default value is #CBID_NO_CALLBACK).
|
||||
* @param callback_param1 First parameter (var 10) of the callback (only used when \a callback is also set).
|
||||
* @param callback_param2 Second parameter (var 18) of the callback (only used when \a callback is also set).
|
||||
*/
|
||||
ResolverObject::ResolverObject(const GRFFile *grffile, CallbackID callback, uint32 callback_param1, uint32 callback_param2)
|
||||
: default_scope(*this)
|
||||
{
|
||||
this->callback = callback;
|
||||
this->callback_param1 = callback_param1;
|
||||
this->callback_param2 = callback_param2;
|
||||
this->ResetState();
|
||||
|
||||
this->grffile = grffile;
|
||||
this->root_spritegroup = NULL;
|
||||
}
|
||||
|
||||
ResolverObject::~ResolverObject() {}
|
||||
|
||||
/**
|
||||
* Get the real sprites of the grf.
|
||||
* @param group Group to get.
|
||||
@@ -196,11 +168,9 @@ static U EvalAdjustT(const DeterministicSpriteGroupAdjust *adjust, ScopeResolver
|
||||
value >>= adjust->shift_num;
|
||||
value &= adjust->and_mask;
|
||||
|
||||
if (adjust->type != DSGA_TYPE_NONE) value += (S)adjust->add_val;
|
||||
|
||||
switch (adjust->type) {
|
||||
case DSGA_TYPE_DIV: value = (S)value / (S)adjust->divmod_val; break;
|
||||
case DSGA_TYPE_MOD: value = (S)value % (S)adjust->divmod_val; break;
|
||||
case DSGA_TYPE_DIV: value = ((S)value + (S)adjust->add_val) / (S)adjust->divmod_val; break;
|
||||
case DSGA_TYPE_MOD: value = ((S)value + (S)adjust->add_val) % (S)adjust->divmod_val; break;
|
||||
case DSGA_TYPE_NONE: break;
|
||||
}
|
||||
|
||||
@@ -235,6 +205,11 @@ static U EvalAdjustT(const DeterministicSpriteGroupAdjust *adjust, ScopeResolver
|
||||
bool _sprite_group_resolve_check_veh_check = false;
|
||||
VehicleType _sprite_group_resolve_check_veh_type;
|
||||
|
||||
static bool RangeHighComparator(const DeterministicSpriteGroupRange& range, uint32 value)
|
||||
{
|
||||
return range.high < value;
|
||||
}
|
||||
|
||||
const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) const
|
||||
{
|
||||
uint32 last_value = 0;
|
||||
@@ -315,7 +290,7 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con
|
||||
if (!available) {
|
||||
/* Unsupported variable: skip further processing and return either
|
||||
* the group from the first range or the default group. */
|
||||
return SpriteGroup::Resolve(this->num_ranges > 0 ? this->ranges[0].group : this->default_group, object, false);
|
||||
return SpriteGroup::Resolve(this->error_group, object, false);
|
||||
}
|
||||
|
||||
switch (this->size) {
|
||||
@@ -329,7 +304,7 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con
|
||||
|
||||
object.last_value = last_value;
|
||||
|
||||
if (this->num_ranges == 0) {
|
||||
if (this->calculated_result) {
|
||||
/* nvar == 0 is a special case -- we turn our value into a callback result */
|
||||
if (value != CALLBACK_FAILED) value = GB(value, 0, 15);
|
||||
static CallbackResultSpriteGroup nvarzero(0, true);
|
||||
@@ -337,11 +312,19 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con
|
||||
return &nvarzero;
|
||||
}
|
||||
|
||||
if (this->num_ranges > 4) {
|
||||
DeterministicSpriteGroupRange *lower = std::lower_bound(this->ranges + 0, this->ranges + this->num_ranges, value, RangeHighComparator);
|
||||
if (lower != this->ranges + this->num_ranges && lower->low <= value) {
|
||||
assert(lower->low <= value && value <= lower->high);
|
||||
return SpriteGroup::Resolve(lower->group, object, false);
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < this->num_ranges; i++) {
|
||||
if (this->ranges[i].low <= value && value <= this->ranges[i].high) {
|
||||
return SpriteGroup::Resolve(this->ranges[i].group, object, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return SpriteGroup::Resolve(this->default_group, object, false);
|
||||
}
|
||||
|
@@ -174,13 +174,16 @@ struct DeterministicSpriteGroup : SpriteGroup {
|
||||
VarSpriteGroupScope var_scope;
|
||||
DeterministicSpriteGroupSize size;
|
||||
uint num_adjusts;
|
||||
byte num_ranges;
|
||||
uint num_ranges;
|
||||
bool calculated_result;
|
||||
DeterministicSpriteGroupAdjust *adjusts;
|
||||
DeterministicSpriteGroupRange *ranges; // Dynamically allocated
|
||||
|
||||
/* Dynamically allocated, this is the sole owner */
|
||||
const SpriteGroup *default_group;
|
||||
|
||||
const SpriteGroup *error_group; // was first range, before sorting ranges
|
||||
|
||||
protected:
|
||||
const SpriteGroup *Resolve(ResolverObject &object) const;
|
||||
};
|
||||
@@ -288,8 +291,8 @@ struct IndustryProductionSpriteGroup : SpriteGroup {
|
||||
struct ScopeResolver {
|
||||
ResolverObject &ro; ///< Surrounding resolver object.
|
||||
|
||||
ScopeResolver(ResolverObject &ro);
|
||||
virtual ~ScopeResolver();
|
||||
ScopeResolver(ResolverObject &ro) : ro(ro) {}
|
||||
virtual ~ScopeResolver() {}
|
||||
|
||||
virtual uint32 GetRandomBits() const;
|
||||
virtual uint32 GetTriggers() const;
|
||||
@@ -305,8 +308,20 @@ struct ScopeResolver {
|
||||
* to get the results of callbacks, rerandomisations or normal sprite lookups.
|
||||
*/
|
||||
struct ResolverObject {
|
||||
ResolverObject(const GRFFile *grffile, CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0);
|
||||
virtual ~ResolverObject();
|
||||
/**
|
||||
* Resolver constructor.
|
||||
* @param grffile NewGRF file associated with the object (or \c NULL if none).
|
||||
* @param callback Callback code being resolved (default value is #CBID_NO_CALLBACK).
|
||||
* @param callback_param1 First parameter (var 10) of the callback (only used when \a callback is also set).
|
||||
* @param callback_param2 Second parameter (var 18) of the callback (only used when \a callback is also set).
|
||||
*/
|
||||
ResolverObject(const GRFFile *grffile, CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0)
|
||||
: default_scope(*this), callback(callback), callback_param1(callback_param1), callback_param2(callback_param2), grffile(grffile), root_spritegroup(NULL)
|
||||
{
|
||||
this->ResetState();
|
||||
}
|
||||
|
||||
virtual ~ResolverObject() {}
|
||||
|
||||
ScopeResolver default_scope; ///< Default implementation of the grf scope.
|
||||
|
||||
|
@@ -578,23 +578,6 @@ StationResolverObject::~StationResolverObject()
|
||||
delete this->town_scope;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for station scopes.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param statspec Station (type) specification.
|
||||
* @param st Instance of the station.
|
||||
* @param tile %Tile of the station.
|
||||
*/
|
||||
StationScopeResolver::StationScopeResolver(ResolverObject &ro, const StationSpec *statspec, BaseStation *st, TileIndex tile)
|
||||
: ScopeResolver(ro)
|
||||
{
|
||||
this->tile = tile;
|
||||
this->st = st;
|
||||
this->statspec = statspec;
|
||||
this->cargo_type = CT_INVALID;
|
||||
this->axis = INVALID_AXIS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve sprites for drawing a station tile.
|
||||
* @param statspec Station spec
|
||||
|
@@ -30,7 +30,17 @@ struct StationScopeResolver : public ScopeResolver {
|
||||
CargoID cargo_type; ///< Type of cargo of the station.
|
||||
Axis axis; ///< Station axis, used only for the slope check callback.
|
||||
|
||||
StationScopeResolver(ResolverObject &ro, const StationSpec *statspec, BaseStation *st, TileIndex tile);
|
||||
/**
|
||||
* Constructor for station scopes.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param statspec Station (type) specification.
|
||||
* @param st Instance of the station.
|
||||
* @param tile %Tile of the station.
|
||||
*/
|
||||
StationScopeResolver(ResolverObject &ro, const StationSpec *statspec, BaseStation *st, TileIndex tile)
|
||||
: ScopeResolver(ro), tile(tile), st(st), statspec(statspec), cargo_type(CT_INVALID), axis(INVALID_AXIS)
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ uint32 GetRandomBits() const;
|
||||
/* virtual */ uint32 GetTriggers() const;
|
||||
|
@@ -16,18 +16,6 @@
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
/**
|
||||
* Resolver of a town scope.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param t %Town of the scope.
|
||||
* @param readonly Scope may change persistent storage of the town.
|
||||
*/
|
||||
TownScopeResolver::TownScopeResolver(ResolverObject &ro, Town *t, bool readonly) : ScopeResolver(ro)
|
||||
{
|
||||
this->t = t;
|
||||
this->readonly = readonly;
|
||||
}
|
||||
|
||||
/* virtual */ uint32 TownScopeResolver::GetVariable(byte variable, uint32 parameter, bool *available) const
|
||||
{
|
||||
switch (variable) {
|
||||
|
@@ -25,7 +25,16 @@ struct TownScopeResolver : public ScopeResolver {
|
||||
Town *t; ///< %Town of the scope.
|
||||
bool readonly; ///< When set, persistent storage of the town is read-only,
|
||||
|
||||
TownScopeResolver(ResolverObject &ro, Town *t, bool readonly);
|
||||
/**
|
||||
* Resolver of a town scope.
|
||||
* @param ro Surrounding resolver.
|
||||
* @param t %Town of the scope.
|
||||
* @param readonly Scope may change persistent storage of the town.
|
||||
*/
|
||||
TownScopeResolver(ResolverObject &ro, Town *t, bool readonly)
|
||||
: ScopeResolver(ro), t(t), readonly(readonly)
|
||||
{
|
||||
}
|
||||
|
||||
virtual uint32 GetVariable(byte variable, uint32 parameter, bool *available) const;
|
||||
virtual void StorePSA(uint reg, int32 value);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user