mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-24 15:09:10 +00:00
Compare commits
35 Commits
1.9.0-beta
...
1.9.0-RC1
Author | SHA1 | Date | |
---|---|---|---|
|
88c5122b39 | ||
|
eb46a89855 | ||
|
39cda89e85 | ||
|
8016b8b3e9 | ||
|
4ac81b3ebb | ||
|
d9b4ada7e9 | ||
|
1a663d9efc | ||
93a6fd42d1 | |||
|
c61acc7fc1 | ||
c91e0058c2 | |||
5a5944867d | |||
5d3ccae6c5 | |||
e0c2ad1b65 | |||
3c047b124e | |||
b62452903a | |||
|
8139b14e9c | ||
|
5e40338543 | ||
|
90a4737bf6 | ||
|
b242a04c7d | ||
|
780593ae60 | ||
cbaf52fbe1 | |||
|
c3bc7d657e | ||
63fe6c6598 | |||
|
7ecfae8f7f | ||
|
1447661d20 | ||
9ad5112628 | |||
|
76f983a8e7 | ||
|
50a0cf1915 | ||
|
03264059e4 | ||
|
adb50cebcc | ||
|
9b99b95955 | ||
7ac17f5ae4 | |||
c2e4a8c9bf | |||
|
93c6398810 | ||
|
6ff02f0615 |
@@ -92,6 +92,7 @@ VERSION := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ')
|
||||
ISODATE := $(shell echo "$(VERSIONS)" | cut -f 2 -d' ')
|
||||
GITHASH := $(shell echo "$(VERSIONS)" | cut -f 4 -d' ')
|
||||
ISTAG := $(shell echo "$(VERSIONS)" | cut -f 5 -d' ')
|
||||
ISSTABLETAG := $(shell echo "$(VERSIONS)" | cut -f 6 -d' ')
|
||||
|
||||
# Make sure we have something in VERSION and ISODATE
|
||||
ifeq ($(VERSION),)
|
||||
@@ -277,10 +278,10 @@ endif
|
||||
# Revision files
|
||||
|
||||
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
|
||||
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g" > $(SRC_DIR)/rev.cpp
|
||||
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/rev.cpp
|
||||
|
||||
$(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in
|
||||
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g" > $(SRC_DIR)/os/windows/ottdres.rc
|
||||
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/os/windows/ottdres.rc
|
||||
|
||||
FORCE:
|
||||
|
||||
|
32
README.md
32
README.md
@@ -310,22 +310,22 @@ your operating system:
|
||||
Different types of data or extensions go into different subdirectories of the
|
||||
chosen main OpenTTD directory:
|
||||
|
||||
| data type | directory | additional info |
|
||||
| --- | --- | --- |
|
||||
| Config File | (no subdirectory) | |
|
||||
| Screenshots | screenshot | |
|
||||
| Base Graphics | baseset | (or a subdirectory thereof) |
|
||||
| Sound Sets | baseset | (or a subdirectory thereof) |
|
||||
| NewGRFs | newgrf | (or a subdirectory thereof) |
|
||||
| 32bpp Sets | newgrf | (or a subdirectory thereof) |
|
||||
| Music Sets | baseset | (or a subdirectory thereof) |
|
||||
| AIs | ai | (or a subdirectory thereof) |
|
||||
| AI Libraries | ai/library | (or a subdirectory thereof) |
|
||||
| Game Scripts (GS) | game | (or a subdirectory thereof) |
|
||||
| GS Libraries | game/library | (or a subdirectory thereof) |
|
||||
| Savegames | save | |
|
||||
| Automatic Savegames | save/autosave | |
|
||||
| Scenarios | scenario | |
|
||||
| data type | directory | additional info |
|
||||
| ------------------- | ----------------- | --------------------------- |
|
||||
| Config File | (no subdirectory) | |
|
||||
| Screenshots | screenshot | |
|
||||
| Base Graphics | baseset | (or a subdirectory thereof) |
|
||||
| Sound Sets | baseset | (or a subdirectory thereof) |
|
||||
| NewGRFs | newgrf | (or a subdirectory thereof) |
|
||||
| 32bpp Sets | newgrf | (or a subdirectory thereof) |
|
||||
| Music Sets | baseset | (or a subdirectory thereof) |
|
||||
| AIs | ai | (or a subdirectory thereof) |
|
||||
| AI Libraries | ai/library | (or a subdirectory thereof) |
|
||||
| Game Scripts (GS) | game | (or a subdirectory thereof) |
|
||||
| GS Libraries | game/library | (or a subdirectory thereof) |
|
||||
| Savegames | save | |
|
||||
| Automatic Savegames | save/autosave | |
|
||||
| Scenarios | scenario | |
|
||||
|
||||
The (automatically created) directory content_download is for OpenTTD's internal
|
||||
use and no files should be added to it or its subdirectories manually.
|
||||
|
@@ -1,7 +1,9 @@
|
||||
trigger:
|
||||
- master
|
||||
- release/*
|
||||
pr:
|
||||
- master
|
||||
- release/*
|
||||
|
||||
jobs:
|
||||
- job: windows
|
||||
|
@@ -1,11 +1,12 @@
|
||||
steps:
|
||||
- script: |
|
||||
set -ex
|
||||
HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config lzo xz libpng
|
||||
HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config lzo xz libpng freetype
|
||||
# Remove the dynamic libraries of these libraries, to ensure we use
|
||||
# the static versions. That is important, as it is unlikely any
|
||||
# end-user has these brew libraries installed.
|
||||
rm /usr/local/Cellar/lzo/*/lib/*.dylib
|
||||
rm /usr/local/Cellar/xz/*/lib/*.dylib
|
||||
rm /usr/local/Cellar/libpng/*/lib/*.dylib
|
||||
rm /usr/local/Cellar/freetype/*/lib/*.dylib
|
||||
displayName: 'Install dependencies'
|
||||
|
@@ -374,3 +374,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -126,3 +126,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -63,3 +63,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -15,3 +15,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -15,3 +15,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -15,3 +15,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -15,3 +15,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -15,3 +15,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -15,3 +15,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -15,3 +15,10 @@ AIBridge.GetName <- function(bridge_id)
|
||||
{
|
||||
return AIBridge._GetName(bridge_id, AIVehicle.VT_RAIL);
|
||||
}
|
||||
|
||||
/* 1.9 adds parent_group_id to CreateGroup function */
|
||||
AIGroup._CreateGroup <- AIGroup.CreateGroup;
|
||||
AIGroup.CreateGroup <- function(vehicle_type)
|
||||
{
|
||||
return AIGroup._CreateGroup(vehicle_type, AIGroup.GROUP_INVALID);
|
||||
}
|
||||
|
@@ -574,7 +574,7 @@ function Regression::Group()
|
||||
local vehicle = AIVehicle.BuildVehicle(10000, 116);
|
||||
print(" AIVehicle.BuildVehicle(): " + vehicle);
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(AIGroup.GROUP_ALL, 116));
|
||||
local group = AIGroup.CreateGroup(AIVehicle.VT_ROAD);
|
||||
local group = AIGroup.CreateGroup(AIVehicle.VT_ROAD, AIGroup.GROUP_INVALID);
|
||||
print(" CreateGroup(): " + group);
|
||||
print(" MoveVehicle(): " + AIGroup.MoveVehicle(group, vehicle));
|
||||
print(" GetNumEngines(): " + AIGroup.GetNumEngines(group, 116));
|
||||
|
@@ -1,3 +1,15 @@
|
||||
1.9.0-RC1 (2019-03-03)
|
||||
------------------------------------------------------------------------
|
||||
- Add: Various AI/GS functions for vehicle groups (#7225)
|
||||
- Change: Synchronise introduction date and reliability randomness across vehicles with the same base introduction date (#7147)
|
||||
- Change: Allow towns to build bridges over rails and one-way roads (#7291)
|
||||
- Fix: Detection of coast tiles with trees on them (#7309)
|
||||
- Fix: Emergency netsave saved the title game instead of the broken game in question (#7298)
|
||||
- Fix: Company livery window showed incorrect groups when opened in multiplayer (#7288)
|
||||
- Fix: Unable to select last group in open livery window (#7283)
|
||||
- Fix: Goto hangar orders were not invalidated when rebuilding airports (#7100)
|
||||
|
||||
|
||||
1.9.0-beta3 (2019-02-24)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: Option to adjust font size separately from GUI size (#7003)
|
||||
@@ -24,10 +36,12 @@
|
||||
- Fix #7197: Invalidate depot buttons when necessary (#7212)
|
||||
- Doc: [AI] UnshareOrders empties the orders list of the vehicle
|
||||
|
||||
|
||||
1.9.0-beta2 (2019-02-09)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Non-Windows builds did not get correct git hash
|
||||
|
||||
|
||||
1.9.0-beta1 (2019-02-09)
|
||||
------------------------------------------------------------------------
|
||||
Note: OpenTTD was migrated to GitHub for 1.9, so SVN revision and FlySpray numbers have been replaced with Pull Requests and Issue numbers
|
||||
|
12
config.lib
12
config.lib
@@ -820,7 +820,7 @@ check_params() {
|
||||
pre_detect_with_zlib=$with_zlib
|
||||
detect_zlib
|
||||
|
||||
if [ "$with_zlib" = "0" ] || [ -z "$zlib-config" ]; then
|
||||
if [ "$with_zlib" = "0" ] || [ -z "$zlib_config" ]; then
|
||||
log 1 "WARNING: zlib was not detected or disabled"
|
||||
log 1 "WARNING: OpenTTD doesn't require zlib, but it does mean that many features"
|
||||
log 1 "WARNING: (like loading most old savegames/scenarios, loading heightmaps,"
|
||||
@@ -1681,12 +1681,10 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS -DWITH_SDL"
|
||||
# SDL must not add _GNU_SOURCE as it breaks many platforms
|
||||
CFLAGS="$CFLAGS `$sdl_config --cflags | sed 's@-D_GNU_SOURCE[^ ]*@@'`"
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ]; then
|
||||
if [ "$enable_static" != "0" ]; then
|
||||
LIBS="$LIBS `$sdl_config --static-libs`"
|
||||
else
|
||||
LIBS="$LIBS `$sdl_config --libs`"
|
||||
fi
|
||||
if [ "$enable_static" != "0" ]; then
|
||||
LIBS="$LIBS `$sdl_config --static --libs`"
|
||||
else
|
||||
LIBS="$LIBS `$sdl_config --libs`"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@@ -759,6 +759,7 @@
|
||||
<td valign=top nowrap> </td>
|
||||
<td>
|
||||
<ul>
|
||||
<li>m1 bits 6..5: water class (sea or land)</li>
|
||||
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li>
|
||||
<li>m2 bits 8..6: ground
|
||||
<table>
|
||||
|
@@ -194,7 +194,7 @@ the array so you can quickly see what is used and what is not.
|
||||
<td class="caption">trees</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits">XXXX XXXX</td>
|
||||
<td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">O</span>XX<span class="option">~ ~~~~</span></td>
|
||||
<td class="bits"><span class="free">OOOO OOO</span>X XXXX XXXX</td>
|
||||
<td class="bits"><span class="option">~~</span>XX XXXX</td>
|
||||
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
||||
|
@@ -83,9 +83,15 @@ if [ -d "$ROOT_DIR/.git" ]; then
|
||||
if [ -n "$TAG" ]; then
|
||||
VERSION="${TAG}"
|
||||
ISTAG="1"
|
||||
if [ -n "`echo \"${TAG}\" | grep \"^[0-9.]*$\"`" ]; then
|
||||
ISSTABLETAG="1"
|
||||
else
|
||||
ISSTABLETAG="0"
|
||||
fi
|
||||
else
|
||||
VERSION="${ISODATE}-${BRANCH}${hashprefix}${SHORTHASH}"
|
||||
ISTAG="0"
|
||||
ISSTABLETAG="0"
|
||||
fi
|
||||
|
||||
elif [ -f "$ROOT_DIR/.ottdrev" ]; then
|
||||
@@ -102,6 +108,7 @@ else
|
||||
TAG=""
|
||||
VERSION=""
|
||||
ISTAG="0"
|
||||
ISSTABLETAG="0"
|
||||
fi
|
||||
|
||||
echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG"
|
||||
echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG $ISSTABLETAG"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD's known bugs
|
||||
Last updated: 2019-02-24
|
||||
Release version: 1.9.0-beta3
|
||||
Last updated: 2019-03-03
|
||||
Release version: 1.9.0-RC1
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@@ -1,3 +1,9 @@
|
||||
openttd (1.9.0~RC1-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.9.0-RC1
|
||||
|
||||
-- OpenTTD <info@openttd.org> Sun, 3 Mar 2019 23:00:00 +0000
|
||||
|
||||
openttd (1.9.0~beta3-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.9.0-beta3
|
||||
|
@@ -17,9 +17,9 @@
|
||||
#
|
||||
|
||||
Name: openttd
|
||||
Version: 1.9.beta3
|
||||
Version: 1.9.RC1
|
||||
Release: 0
|
||||
%define srcver 1.9.0-beta3
|
||||
%define srcver 1.9.0-RC1
|
||||
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
||||
License: GPL-2.0
|
||||
Group: Amusements/Games/Strategy/Other
|
||||
|
@@ -2,8 +2,8 @@
|
||||
!define APPV_MAJOR 1
|
||||
!define APPV_MINOR 9
|
||||
!define APPV_MAINT 0
|
||||
!define APPV_BUILD 2
|
||||
!define APPV_EXTRA "-beta3"
|
||||
!define APPV_BUILD 3
|
||||
!define APPV_EXTRA "-RC1"
|
||||
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||
@@ -24,6 +24,7 @@
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "top.bmp"
|
||||
|
||||
ManifestDPIAware true
|
||||
BrandingText "OpenTTD Installer"
|
||||
SetCompressor LZMA
|
||||
|
||||
|
@@ -21,7 +21,7 @@ Sub FindReplaceInFile(filename, to_find, replacement)
|
||||
file.Close
|
||||
End Sub
|
||||
|
||||
Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, filename)
|
||||
Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag, filename)
|
||||
FSO.CopyFile filename & ".in", filename
|
||||
FindReplaceInFile filename, "!!MODIFIED!!", modified
|
||||
FindReplaceInFile filename, "!!ISODATE!!", isodate
|
||||
@@ -29,10 +29,11 @@ Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, filename)
|
||||
FindReplaceInFile filename, "!!DATE!!", cur_date
|
||||
FindReplaceInFile filename, "!!GITHASH!!", githash
|
||||
FindReplaceInFile filename, "!!ISTAG!!", istag
|
||||
FindReplaceInFile filename, "!!ISSTABLETAG!!", isstabletag
|
||||
End Sub
|
||||
|
||||
Sub UpdateFiles(version)
|
||||
Dim modified, isodate, cur_date, githash, istag
|
||||
Dim modified, isodate, cur_date, githash, istag, isstabletag
|
||||
cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date)
|
||||
|
||||
If InStr(version, Chr(9)) Then
|
||||
@@ -41,20 +42,23 @@ Sub UpdateFiles(version)
|
||||
modified = Mid(isodate, InStr(isodate, Chr(9)) + 1)
|
||||
githash = Mid(modified, InStr(modified, Chr(9)) + 1)
|
||||
istag = Mid(githash, InStr(githash, Chr(9)) + 1)
|
||||
isstabletag = Mid(istag, InStr(istag, Chr(9)) + 1)
|
||||
' Remove tails from fields
|
||||
version = Mid(version, 1, InStr(version, Chr(9)) - 1)
|
||||
isodate = Mid(isodate, 1, InStr(isodate, Chr(9)) - 1)
|
||||
modified = Mid(modified, 1, InStr(modified, Chr(9)) - 1)
|
||||
githash = Mid(githash, 1, InStr(githash, Chr(9)) - 1)
|
||||
istag = Mid(istag, 1, InStr(istag, Chr(9)) - 1)
|
||||
Else
|
||||
isodate = 0
|
||||
modified = 1
|
||||
githash = ""
|
||||
istag = 0
|
||||
isstabletag = 0
|
||||
End If
|
||||
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, "../src/rev.cpp"
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, "../src/os/windows/ottdres.rc"
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/rev.cpp"
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/os/windows/ottdres.rc"
|
||||
End Sub
|
||||
|
||||
Function DetermineVersion()
|
||||
@@ -143,7 +147,7 @@ Function DetermineVersion()
|
||||
DetermineVersion = "norev000"
|
||||
modified = 1
|
||||
Else
|
||||
Dim version, hashprefix, istag
|
||||
Dim version, hashprefix, istag, isstabletag
|
||||
If modified = 0 Then
|
||||
hashprefix = "-g"
|
||||
ElseIf modified = 2 Then
|
||||
@@ -155,12 +159,21 @@ Function DetermineVersion()
|
||||
If tag <> "" Then
|
||||
version = tag
|
||||
istag = 1
|
||||
|
||||
Set stable_regexp = New RegExp
|
||||
stable_regexp.Pattern = "^[0-9.]*$"
|
||||
If stable_regexp.Test(tag) Then
|
||||
isstabletag = 1
|
||||
Else
|
||||
isstabletag = 0
|
||||
End If
|
||||
Else
|
||||
version = isodate & "-" & branch & hashprefix & shorthash
|
||||
istag = 0
|
||||
isstabletag = 0
|
||||
End If
|
||||
|
||||
DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag
|
||||
DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag & Chr(9) & isstabletag
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
@@ -410,7 +410,6 @@
|
||||
<ClCompile Include="..\src\road.cpp" />
|
||||
<ClCompile Include="..\src\roadstop.cpp" />
|
||||
<ClCompile Include="..\src\screenshot.cpp" />
|
||||
<ClCompile Include="..\src\sdl.cpp" />
|
||||
<ClCompile Include="..\src\settings.cpp" />
|
||||
<ClCompile Include="..\src\signal.cpp" />
|
||||
<ClCompile Include="..\src\signs.cpp" />
|
||||
@@ -623,7 +622,6 @@
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\sdl.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
<ClInclude Include="..\src\video\sdl_v.h" />
|
||||
<ClInclude Include="..\src\settings_func.h" />
|
||||
|
@@ -318,9 +318,6 @@
|
||||
<ClCompile Include="..\src\screenshot.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sdl.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\settings.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -957,9 +954,6 @@
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sdl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sound\sdl_s.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
@@ -410,7 +410,6 @@
|
||||
<ClCompile Include="..\src\road.cpp" />
|
||||
<ClCompile Include="..\src\roadstop.cpp" />
|
||||
<ClCompile Include="..\src\screenshot.cpp" />
|
||||
<ClCompile Include="..\src\sdl.cpp" />
|
||||
<ClCompile Include="..\src\settings.cpp" />
|
||||
<ClCompile Include="..\src\signal.cpp" />
|
||||
<ClCompile Include="..\src\signs.cpp" />
|
||||
@@ -623,7 +622,6 @@
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\sdl.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
<ClInclude Include="..\src\video\sdl_v.h" />
|
||||
<ClInclude Include="..\src\settings_func.h" />
|
||||
|
@@ -318,9 +318,6 @@
|
||||
<ClCompile Include="..\src\screenshot.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sdl.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\settings.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -957,9 +954,6 @@
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sdl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sound\sdl_s.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
@@ -410,7 +410,6 @@
|
||||
<ClCompile Include="..\src\road.cpp" />
|
||||
<ClCompile Include="..\src\roadstop.cpp" />
|
||||
<ClCompile Include="..\src\screenshot.cpp" />
|
||||
<ClCompile Include="..\src\sdl.cpp" />
|
||||
<ClCompile Include="..\src\settings.cpp" />
|
||||
<ClCompile Include="..\src\signal.cpp" />
|
||||
<ClCompile Include="..\src\signs.cpp" />
|
||||
@@ -623,7 +622,6 @@
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\sdl.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
<ClInclude Include="..\src\video\sdl_v.h" />
|
||||
<ClInclude Include="..\src\settings_func.h" />
|
||||
|
@@ -318,9 +318,6 @@
|
||||
<ClCompile Include="..\src\screenshot.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sdl.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\settings.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -957,9 +954,6 @@
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sdl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sound\sdl_s.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
@@ -71,9 +71,6 @@ rev.cpp
|
||||
road.cpp
|
||||
roadstop.cpp
|
||||
screenshot.cpp
|
||||
#if SDL
|
||||
sdl.cpp
|
||||
#end
|
||||
settings.cpp
|
||||
signal.cpp
|
||||
signs.cpp
|
||||
@@ -312,7 +309,6 @@ roadstop_base.h
|
||||
roadveh.h
|
||||
safeguards.h
|
||||
screenshot.h
|
||||
sdl.h
|
||||
sound/sdl_s.h
|
||||
video/sdl_v.h
|
||||
settings_func.h
|
||||
|
@@ -2103,7 +2103,19 @@ void UpdateAirplanesOnNewStation(const Station *st)
|
||||
FOR_ALL_AIRCRAFT(v) {
|
||||
if (!v->IsNormalAircraft() || v->targetairport != st->index) continue;
|
||||
assert(v->state == FLYING);
|
||||
|
||||
Order *o = &v->current_order;
|
||||
/* The aircraft is heading to a hangar, but the new station doesn't have one,
|
||||
* or the aircraft can't land on the new station. Cancel current order. */
|
||||
if (o->IsType(OT_GOTO_DEPOT) && !(o->GetDepotOrderType() & ODTFB_PART_OF_ORDERS) && o->GetDestination() == st->index &&
|
||||
(!st->airport.HasHangar() || !CanVehicleUseStation(v, st))) {
|
||||
o->MakeDummy();
|
||||
SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, WID_VV_START_STOP);
|
||||
}
|
||||
v->pos = v->previous_pos = AircraftGetEntryPoint(v, ap, rotation);
|
||||
UpdateAircraftCache(v);
|
||||
}
|
||||
|
||||
/* Heliports don't have a hangar. Invalidate all go to hangar orders from all aircraft. */
|
||||
if (!st->airport.HasHangar()) RemoveOrderFromAllVehicles(OT_GOTO_DEPOT, st->index, true);
|
||||
}
|
||||
|
@@ -117,8 +117,9 @@ int32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring)
|
||||
* @param src_type type of \a src.
|
||||
* @param src index of source.
|
||||
* @param st station where the cargo is delivered to.
|
||||
* @param dest industry index where the cargo is delivered to.
|
||||
*/
|
||||
void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, SourceType src_type, SourceID src, const Station *st)
|
||||
void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, SourceType src_type, SourceID src, const Station *st, IndustryID dest)
|
||||
{
|
||||
if (amount == 0) return;
|
||||
|
||||
@@ -151,6 +152,7 @@ void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, Sour
|
||||
|
||||
/* Industry delivery. */
|
||||
for (const Industry * const *ip = st->industries_near.Begin(); ip != st->industries_near.End(); ip++) {
|
||||
if ((*ip)->index != dest) continue;
|
||||
CargoMonitorID num = EncodeCargoIndustryMonitor(company, cargo_type, (*ip)->index);
|
||||
CargoMonitorMap::iterator iter = _cargo_deliveries.find(num);
|
||||
if (iter != _cargo_deliveries.end()) iter->second += amount;
|
||||
|
@@ -149,6 +149,6 @@ void ClearCargoPickupMonitoring(CompanyID company = INVALID_OWNER);
|
||||
void ClearCargoDeliveryMonitoring(CompanyID company = INVALID_OWNER);
|
||||
int32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring);
|
||||
int32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring);
|
||||
void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, SourceType src_type, SourceID src, const Station *st);
|
||||
void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, SourceType src_type, SourceID src, const Station *st, IndustryID dest = INVALID_INDUSTRY);
|
||||
|
||||
#endif /* CARGOMONITOR_H */
|
||||
|
@@ -707,7 +707,7 @@ public:
|
||||
this->BuildGroupList(company);
|
||||
this->SetRows();
|
||||
} else {
|
||||
this->SetSelectedGroup(group);
|
||||
this->SetSelectedGroup(company, group);
|
||||
}
|
||||
|
||||
this->FinishInitNested(company);
|
||||
@@ -715,7 +715,7 @@ public:
|
||||
this->InvalidateData(1);
|
||||
}
|
||||
|
||||
void SetSelectedGroup(GroupID group)
|
||||
void SetSelectedGroup(CompanyID company, GroupID group)
|
||||
{
|
||||
this->RaiseWidget(this->livery_class + WID_SCL_CLASS_GENERAL);
|
||||
const Group *g = Group::Get(group);
|
||||
@@ -730,7 +730,7 @@ public:
|
||||
this->LowerWidget(this->livery_class + WID_SCL_CLASS_GENERAL);
|
||||
|
||||
this->groups.ForceRebuild();
|
||||
this->BuildGroupList((CompanyID)this->window_number);
|
||||
this->BuildGroupList(company);
|
||||
this->SetRows();
|
||||
|
||||
/* Position scrollbar to selected group */
|
||||
@@ -1025,9 +1025,15 @@ public:
|
||||
if (data != -1) {
|
||||
/* data contains a VehicleType, rebuild list if it displayed */
|
||||
if (this->livery_class == data + LC_GROUP_RAIL) {
|
||||
if (!Group::IsValidID(this->sel)) this->sel = INVALID_GROUP;
|
||||
this->groups.ForceRebuild();
|
||||
this->BuildGroupList((CompanyID)this->window_number);
|
||||
this->SetRows();
|
||||
|
||||
if (!Group::IsValidID(this->sel)) {
|
||||
this->sel = INVALID_GROUP;
|
||||
if (this->groups.Length() > 0) this->sel = this->groups[0]->index;
|
||||
}
|
||||
|
||||
this->SetDirty();
|
||||
}
|
||||
return;
|
||||
@@ -1099,7 +1105,7 @@ void ShowCompanyLiveryWindow(CompanyID company, GroupID group)
|
||||
if (w == NULL) {
|
||||
new SelectCompanyLiveryWindow(&_select_company_livery_desc, company, group);
|
||||
} else if (group != INVALID_GROUP) {
|
||||
w->SetSelectedGroup(group);
|
||||
w->SetSelectedGroup(company, group);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -62,7 +62,6 @@
|
||||
#include <lzo/lzo1x.h>
|
||||
#endif
|
||||
#ifdef WITH_SDL
|
||||
# include "sdl.h"
|
||||
# include <SDL.h>
|
||||
#endif /* WITH_SDL */
|
||||
#ifdef WITH_ZLIB
|
||||
@@ -268,14 +267,8 @@ char *CrashLog::LogLibraries(char *buffer, const char *last) const
|
||||
#endif /* WITH_PNG */
|
||||
|
||||
#ifdef WITH_SDL
|
||||
#ifdef DYNAMICALLY_LOADED_SDL
|
||||
if (SDL_CALL SDL_Linked_Version != NULL) {
|
||||
#else
|
||||
{
|
||||
#endif
|
||||
const SDL_version *v = SDL_CALL SDL_Linked_Version();
|
||||
buffer += seprintf(buffer, last, " SDL: %d.%d.%d\n", v->major, v->minor, v->patch);
|
||||
}
|
||||
const SDL_version *v = SDL_Linked_Version();
|
||||
buffer += seprintf(buffer, last, " SDL: %d.%d.%d\n", v->major, v->minor, v->patch);
|
||||
#endif /* WITH_SDL */
|
||||
|
||||
#ifdef WITH_ZLIB
|
||||
|
@@ -1030,9 +1030,10 @@ static SmallIndustryList _cargo_delivery_destinations;
|
||||
* @param cargo_type Type of cargo delivered
|
||||
* @param num_pieces Amount of cargo delivered
|
||||
* @param source The source of the cargo
|
||||
* @param company The company delivering the cargo
|
||||
* @return actually accepted pieces of cargo
|
||||
*/
|
||||
static uint DeliverGoodsToIndustry(const Station *st, CargoID cargo_type, uint num_pieces, IndustryID source)
|
||||
static uint DeliverGoodsToIndustry(const Station *st, CargoID cargo_type, uint num_pieces, IndustryID source, CompanyID company)
|
||||
{
|
||||
/* Find the nearest industrytile to the station sign inside the catchment area, whose industry accepts the cargo.
|
||||
* This fails in three cases:
|
||||
@@ -1065,6 +1066,9 @@ static uint DeliverGoodsToIndustry(const Station *st, CargoID cargo_type, uint n
|
||||
ind->last_cargo_accepted_at[cargo_index] = _date;
|
||||
num_pieces -= amount;
|
||||
accepted += amount;
|
||||
|
||||
/* Update the cargo monitor. */
|
||||
AddCargoDelivery(cargo_type, company, amount, ST_INDUSTRY, source, st, ind->index);
|
||||
}
|
||||
|
||||
return accepted;
|
||||
@@ -1090,30 +1094,30 @@ static Money DeliverGoods(int num_pieces, CargoID cargo_type, StationID dest, Ti
|
||||
Station *st = Station::Get(dest);
|
||||
|
||||
/* Give the goods to the industry. */
|
||||
uint accepted = DeliverGoodsToIndustry(st, cargo_type, num_pieces, src_type == ST_INDUSTRY ? src : INVALID_INDUSTRY);
|
||||
uint accepted_ind = DeliverGoodsToIndustry(st, cargo_type, num_pieces, src_type == ST_INDUSTRY ? src : INVALID_INDUSTRY, company->index);
|
||||
|
||||
/* If this cargo type is always accepted, accept all */
|
||||
if (HasBit(st->always_accepted, cargo_type)) accepted = num_pieces;
|
||||
uint accepted_total = HasBit(st->always_accepted, cargo_type) ? num_pieces : accepted_ind;
|
||||
|
||||
/* Update station statistics */
|
||||
if (accepted > 0) {
|
||||
if (accepted_total > 0) {
|
||||
SetBit(st->goods[cargo_type].status, GoodsEntry::GES_EVER_ACCEPTED);
|
||||
SetBit(st->goods[cargo_type].status, GoodsEntry::GES_CURRENT_MONTH);
|
||||
SetBit(st->goods[cargo_type].status, GoodsEntry::GES_ACCEPTED_BIGTICK);
|
||||
}
|
||||
|
||||
/* Update company statistics */
|
||||
company->cur_economy.delivered_cargo[cargo_type] += accepted;
|
||||
company->cur_economy.delivered_cargo[cargo_type] += accepted_total;
|
||||
|
||||
/* Increase town's counter for town effects */
|
||||
const CargoSpec *cs = CargoSpec::Get(cargo_type);
|
||||
st->town->received[cs->town_effect].new_act += accepted;
|
||||
st->town->received[cs->town_effect].new_act += accepted_total;
|
||||
|
||||
/* Determine profit */
|
||||
Money profit = GetTransportedGoodsIncome(accepted, DistanceManhattan(source_tile, st->xy), days_in_transit, cargo_type);
|
||||
Money profit = GetTransportedGoodsIncome(accepted_total, DistanceManhattan(source_tile, st->xy), days_in_transit, cargo_type);
|
||||
|
||||
/* Update the cargo monitor. */
|
||||
AddCargoDelivery(cargo_type, company->index, accepted, src_type, src, st);
|
||||
AddCargoDelivery(cargo_type, company->index, accepted_total - accepted_ind, src_type, src, st);
|
||||
|
||||
/* Modify profit if a subsidy is in effect */
|
||||
if (CheckSubsidised(cargo_type, company->index, src_type, src, st)) {
|
||||
|
@@ -652,7 +652,14 @@ void StartupOneEngine(Engine *e, Date aging_date)
|
||||
/* Don't randomise the start-date in the first two years after gamestart to ensure availability
|
||||
* of engines in early starting games.
|
||||
* Note: TTDP uses fixed 1922 */
|
||||
SavedRandomSeeds saved_seeds;
|
||||
SaveRandomSeeds(&saved_seeds);
|
||||
SetRandomSeed(_settings_game.game_creation.generation_seed ^
|
||||
ei->base_intro ^
|
||||
e->type ^
|
||||
e->GetGRFID());
|
||||
uint32 r = Random();
|
||||
|
||||
e->intro_date = ei->base_intro <= ConvertYMDToDate(_settings_game.game_creation.starting_year + 2, 0, 1) ? ei->base_intro : (Date)GB(r, 0, 9) + ei->base_intro;
|
||||
if (e->intro_date <= _date) {
|
||||
e->age = (aging_date - e->intro_date) >> 5;
|
||||
@@ -672,6 +679,7 @@ void StartupOneEngine(Engine *e, Date aging_date)
|
||||
|
||||
e->reliability_spd_dec = ei->decay_speed << 2;
|
||||
|
||||
RestoreRandomSeeds(saved_seeds);
|
||||
CalcEngineReliability(e);
|
||||
|
||||
/* prevent certain engines from ever appearing. */
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <stack>
|
||||
#include <vector>
|
||||
|
||||
#ifdef WITH_ICU_LAYOUT
|
||||
#include "layout/ParagraphLayout.h"
|
||||
@@ -35,7 +36,7 @@ struct FontState {
|
||||
FontSize fontsize; ///< Current font size.
|
||||
TextColour cur_colour; ///< Current text colour.
|
||||
|
||||
std::stack<TextColour> colour_stack; ///< Stack of colours to assist with colour switching.
|
||||
std::stack<TextColour, std::vector<TextColour>> colour_stack; ///< Stack of colours to assist with colour switching.
|
||||
|
||||
FontState() : fontsize(FS_END), cur_colour(TC_INVALID) {}
|
||||
FontState(TextColour colour, FontSize fontsize) : fontsize(fontsize), cur_colour(colour) {}
|
||||
|
@@ -408,17 +408,6 @@ CommandCost CmdDeleteGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
||||
return CommandCost();
|
||||
}
|
||||
|
||||
static bool IsUniqueGroupNameForVehicleType(const char *name, VehicleType type)
|
||||
{
|
||||
const Group *g;
|
||||
|
||||
FOR_ALL_GROUPS(g) {
|
||||
if (g->name != NULL && g->vehicle_type == type && strcmp(g->name, name) == 0) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alter a group
|
||||
* @param tile unused
|
||||
@@ -442,7 +431,6 @@ CommandCost CmdAlterGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
|
||||
|
||||
if (!reset) {
|
||||
if (Utf8StringLength(text) >= MAX_LENGTH_GROUP_NAME_CHARS) return CMD_ERROR;
|
||||
if (!IsUniqueGroupNameForVehicleType(text, g->vehicle_type)) return_cmd_error(STR_ERROR_NAME_MUST_BE_UNIQUE);
|
||||
}
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
|
@@ -190,6 +190,8 @@ STR_COLOUR_ORANGE :{G=Masculin}Tar
|
||||
STR_COLOUR_BROWN :{G=Masculin}Marró
|
||||
STR_COLOUR_GREY :{G=Masculin}Gris
|
||||
STR_COLOUR_WHITE :{G=Masculin}Blanc
|
||||
STR_COLOUR_RANDOM :Aleatori
|
||||
STR_COLOUR_DEFAULT :Per defecte
|
||||
|
||||
# Units used in OpenTTD
|
||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
|
||||
@@ -465,6 +467,7 @@ STR_TOOLBAR_SOUND_MUSIC :So/música
|
||||
############ range for message menu starts
|
||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Darrer missatge/notícia
|
||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historial de missatges
|
||||
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Esborra tots els missatges
|
||||
############ range ends here
|
||||
|
||||
############ range for about menu starts
|
||||
@@ -816,6 +819,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(President)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} ha patrocinat la construcció d'una nova població, anomenada {TOWN}
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}S'ha fundat una nova població que es diu {TOWN}!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}No{G u va} {STRING} en construcció prop de {TOWN}
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}S'està plantant {G un una} {G nou nova} {STRING} prop de {TOWN}
|
||||
@@ -928,6 +932,8 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Rand sud-afric
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalitzada
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :Lari georgià (GEL)
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Rial iranià (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Ruble rus modern (RUB)
|
||||
STR_GAME_OPTIONS_CURRENCY_MXN :Peso mexicà (MXN)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehicles de carretera
|
||||
@@ -990,7 +996,12 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Doble
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quàdruple
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Mida de la lletra
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleccioneu la mida de les fonts de la interfície.
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doble
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quàdruple
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunt de gràfics base
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunt de gràfics base a utilitzar
|
||||
@@ -1259,6 +1270,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}No es po
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manteniment de la infraestructura: {STRING}
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quan està activat, la infraestructura provoca costos de manteniment. El cost creix proporcionalment al tamany de la xarxa de transport, afectant en conseqüència més a les companyies grosses que a les petites
|
||||
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Color inicial de la companyia: {STRING}
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Escolliu el color inicial de la vostra companyia.
|
||||
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Els aeroports mai caduquen: {STRING}
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Activant aquesta opció fa que cada tipus d'aeroport estigui disponible per sempre després de la seva introducció
|
||||
@@ -1817,6 +1830,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Canvia l
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Activa la modificació dels valors de producció: {ORANGE}{STRING}
|
||||
|
||||
# Livery window
|
||||
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Esquema de colors nou
|
||||
|
||||
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Mostra esquemes de colors generals
|
||||
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostra els esquemes de colors dels trens
|
||||
@@ -2076,6 +2090,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconne
|
||||
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegit: escriviu-ne la contrasenya
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Companyia protegida: escriviu-ne la contrasenya
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Llista de clients
|
||||
|
||||
# Network company list added strings
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Llista de clients
|
||||
@@ -2376,7 +2391,7 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Senyal p
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Senyal de ruta (elèctric){}Un senyal de ruta permet entrar més d'un tren dins de la mateixa secció de vies. Cal, però, que sigui capaç de reservar una ruta fins un punt de parada segur sense creuar-se amb cap altre tren. Es pot travessar en el sentit contrari al senyal.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Senyal de ruta d'un sentit (elèctric){}Un senyal de ruta permet entrar més d'un tren dins de la mateixa secció de vies. Cal, però, que sigui capaç de reservar una ruta fins un punt de parada segur sense creuar-se amb cap altre tren. No es pot travessar en el sentit contrari al senyal.
|
||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Conversió de senyals{}Quan aquest botó està premut, si es clica un senyal existent el converteix al tipus de senyal seleccionat. Ctrl+Clic commuta la variant existent. Maj+Clic mostra el cost estimat de conversió.
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Espaiat entre senyals
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distància entre senyals
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Disminueix l'espai entre senyals consecutives situades automàticament quan s'arrossega el ratolí o es manté premuda la tecla Ctrl.
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Augmenta l'espai entre senyals consecutives situades automàticament quan s'arrossega el ratolí o es manté premuda la tecla Ctrl.
|
||||
|
||||
@@ -2703,36 +2718,39 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Fotogrames per segon
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} (x{DECIMAL})
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Velocitat de simulació: {STRING}
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Velocitat de simulació: {STRING}
|
||||
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nombre de tics del joc per segon.
|
||||
STR_FRAMERATE_RATE_BLITTER :{WHITE}Fotogrames per segon: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER :{BLACK}Fotogrames per segon: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nombre de fotogrames renderitzats per segon.
|
||||
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Factor de velocitat actual: x{DECIMAL}
|
||||
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor de velocitat actual: x{DECIMAL}
|
||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quant ràpid va la partida actual, comparant-ho amb l'estimació de la velocitat normal.
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Actual
|
||||
STR_FRAMERATE_AVERAGE :{WHITE}Mitjana
|
||||
STR_FRAMERATE_DATA_POINTS :{WHITE}Dades basades en {COMMA} mesures.
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE}{NBSP}ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE}{NBSP}ms
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE}{NBSP}ms
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{WHITE}{NBSP}fps
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE}{NBSP}fps
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE}{NBSP}fps
|
||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Dades basades en {COMMA} mesures.
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{NBSP}ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{NBSP}ms
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{NBSP}ms
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{NBSP}fps
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{NBSP}fps
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{NBSP}fps
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA}{NBSP}ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA}{NBSP}s
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_GAMELOOP :{WHITE}Total del bucle:
|
||||
STR_FRAMERATE_GL_ECONOMY :{WHITE} Tractament de la càrrega:
|
||||
STR_FRAMERATE_GL_TRAINS :{WHITE} Tics de tren:
|
||||
STR_FRAMERATE_GL_ROADVEHS :{WHITE} Tics de vehicles de carretera:
|
||||
STR_FRAMERATE_GL_SHIPS :{WHITE} Tics de vaixell:
|
||||
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Tics d'aeronau:
|
||||
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Tics del mapa:
|
||||
STR_FRAMERATE_GL_LINKGRAPH :{WHITE} Retard del graf de distribució:
|
||||
STR_FRAMERATE_DRAWING :{WHITE}Renderitzat de gràfics:
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Vistes del mapa:
|
||||
STR_FRAMERATE_VIDEO :{WHITE}Sortida de vídeo:
|
||||
STR_FRAMERATE_SOUND :{WHITE}Mescla de so:
|
||||
STR_FRAMERATE_GAMELOOP :{BLACK}Total del bucle:
|
||||
STR_FRAMERATE_GL_ECONOMY :{BLACK} Tractament de càrrega:
|
||||
STR_FRAMERATE_GL_TRAINS :{BLACK} Tics de trens:
|
||||
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Tics de vehicles de carretera:
|
||||
STR_FRAMERATE_GL_SHIPS :{BLACK} Tics de vaixells:
|
||||
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Tics d'aeronaus:
|
||||
STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Tics del mapa:
|
||||
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Retard del graf de distribució:
|
||||
STR_FRAMERATE_DRAWING :{BLACK}Renderitzat de gràfics:
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Vistes del mapa:
|
||||
STR_FRAMERATE_VIDEO :{BLACK}Sortida de vídeo:
|
||||
STR_FRAMERATE_SOUND :{BLACK}Mescla de so:
|
||||
STR_FRAMERATE_ALLSCRIPTS :{BLACK} Total GS/IA:
|
||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de partida:
|
||||
STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Bucle
|
||||
@@ -2747,6 +2765,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Renderitzat de
|
||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderitzat de la vista del mapa
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Sortida de vídeo
|
||||
STR_FRAMETIME_CAPTION_SOUND :Mescla de so
|
||||
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Total de scripts d'IA/GS
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Script de partida
|
||||
STR_FRAMETIME_CAPTION_AI :AI {NUM}: {STRING}
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
@@ -2772,6 +2793,9 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalls
|
||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No hi ha informació disponible
|
||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||
STR_SAVELOAD_FILTER_TITLE :{BLACK}Cadena de filtre:
|
||||
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobreescriu fitxer
|
||||
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Esteu segur que voleu sobreescriure el fitxer?
|
||||
|
||||
STR_SAVELOAD_OSKTITLE :{BLACK}Posa el nom amb què desar la partida actual
|
||||
|
||||
@@ -2889,7 +2913,12 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versió:
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versió compatible: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Per defecte (D)
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Per defecte (D) / 32 bpp
|
||||
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Antic (W)
|
||||
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Antic (W) / 32 bpp
|
||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paràmetres: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Cap
|
||||
|
||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}No hi ha informació disponible
|
||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}No s'ha trobat cap arxiu coincident
|
||||
@@ -2970,6 +2999,8 @@ STR_NEWGRF_ERROR_READ_BOUNDS :S'ha llegit des
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Els recursos GRF demanats no estan disponibles (sprite {3:NUM})
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} ha estat desactivat per {STRING}
|
||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Format de disposició de sprite no vàlid o desconegut (sprite {3:NUM}).
|
||||
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Hi ha massa elements a la llista de valors de propietats (sprite {3:NUM}, propietat {4:HEX})
|
||||
STR_NEWGRF_ERROR_INDPROD_CALLBACK :«Callback» de producció d'indústria no vàlid (sprite {3:NUM}, «{1:STRING}»).
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Alerta!
|
||||
@@ -3095,6 +3126,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Suborna
|
||||
# Goal window
|
||||
STR_GOALS_CAPTION :{WHITE}{COMPANY} Objectius
|
||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objectius globals
|
||||
STR_GOALS_SPECTATOR :Objectius globals
|
||||
STR_GOALS_GLOBAL_TITLE :{BLACK}Objectius globals:
|
||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||
STR_GOALS_NONE :{ORANGE}- Cap -
|
||||
@@ -3143,6 +3175,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clica al
|
||||
# Story book window
|
||||
STR_STORY_BOOK_CAPTION :{WHITE}Llibre de Partida de {COMPANY}
|
||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Llibre Global de Partida
|
||||
STR_STORY_BOOK_SPECTATOR :Llibre de partida global
|
||||
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.
|
||||
@@ -3347,6 +3380,9 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centra l
|
||||
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Nivell de producció: {YELLOW}{COMMA}%
|
||||
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}La indústria ha anunciat la seva clausura imminent!
|
||||
|
||||
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Requereix: {YELLOW}{STRING}{STRING}
|
||||
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}
|
||||
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
|
||||
|
||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita:
|
||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||
@@ -3404,6 +3440,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grups -
|
||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Clica per crear un grup
|
||||
STR_GROUP_DELETE_TOOLTIP :{BLACK}Elimina el grup seleccionat
|
||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Canvia el nom del grup seleccionat
|
||||
STR_GROUP_LIVERY_TOOLTIP :{BLACK}Canvia l'aspecte dels vehicles del grup seleccionat.
|
||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clica per protegir aquest grup de l'autosubstitueix global
|
||||
|
||||
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Esborrar grup
|
||||
@@ -3447,6 +3484,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacita
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagons Automotrius: {GOLD}+{POWER}{BLACK} Pes: {GOLD}+{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Remodelable a: {GOLD}{STRING}
|
||||
STR_PURCHASE_INFO_ALL_TYPES :Totes les càrregues
|
||||
STR_PURCHASE_INFO_NONE :Cap
|
||||
STR_PURCHASE_INFO_ALL_BUT :Qualsevol excepte {CARGO_LIST}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Esforç de tracció màxim: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Abast: {GOLD}{COMMA} cel·les
|
||||
@@ -3846,6 +3884,7 @@ STR_ORDER_CONDITIONAL_AGE :Antiguitat (any
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita revisió
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Temps de vida restant (anys)
|
||||
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Fiabilitat màxima
|
||||
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Com comparar les dades del vehicle al valor donat
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :és igual a
|
||||
|
@@ -2843,6 +2843,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Prikaz g
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Prikazi svijeta:
|
||||
STR_FRAMERATE_VIDEO :{BLACK}Video izlaz:
|
||||
STR_FRAMERATE_SOUND :{BLACK}Miksanje zvukova:
|
||||
STR_FRAMERATE_ALLSCRIPTS :{BLACK} Ukupni broj GS/AI:
|
||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Skripta Igre:
|
||||
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Petlja igre
|
||||
@@ -2857,6 +2860,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Prikaz grafike
|
||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Prikazi svijeta
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Video izlaz
|
||||
STR_FRAMETIME_CAPTION_SOUND :Miksanje zvukova
|
||||
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/AI broj skripti
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Skripta Igre
|
||||
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
|
@@ -373,7 +373,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Afslut
|
||||
############ range for SE file menu starts
|
||||
|
||||
############ range for settings menu starts
|
||||
STR_SETTINGS_MENU_GAME_OPTIONS :Spilvalg
|
||||
STR_SETTINGS_MENU_GAME_OPTIONS :Opsætning
|
||||
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Indstillinger
|
||||
STR_SETTINGS_MENU_SCRIPT_SETTINGS :AI/spilscript-indstillinger
|
||||
STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF indstillinger
|
||||
@@ -391,7 +391,7 @@ STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Gennemsigtige s
|
||||
|
||||
############ range for file menu starts
|
||||
STR_FILE_MENU_SAVE_GAME :Gem spil
|
||||
STR_FILE_MENU_LOAD_GAME :Hent spil
|
||||
STR_FILE_MENU_LOAD_GAME :Fortsæt spil
|
||||
STR_FILE_MENU_QUIT_GAME :Forlad spillet
|
||||
STR_FILE_MENU_SEPARATOR :
|
||||
STR_FILE_MENU_EXIT :Afslut
|
||||
@@ -840,7 +840,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLAC
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insekter foresager kaos ved {INDUSTRY}!{}Produktionen er faldet med 50%
|
||||
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}{STRING}produktionen på {INDUSTRY} sænkes med {COMMA}%!
|
||||
|
||||
STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} venter i remisen
|
||||
STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} afventer i remisen
|
||||
STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE} venter på værkstedet
|
||||
STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} venter i skibsdokken
|
||||
STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} venter i hangaren
|
||||
@@ -892,7 +892,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Flyt hov
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Bevæg hovedvisningen til samme sted som dette vindue
|
||||
|
||||
# Game options window
|
||||
STR_GAME_OPTIONS_CAPTION :{WHITE}Spilvalg
|
||||
STR_GAME_OPTIONS_CAPTION :{WHITE}Opsætning
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valutaenhed
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valg af valutaenhed
|
||||
|
||||
@@ -1422,8 +1422,8 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Vis ankomst og
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Vis forventede ankomst-og afgangstider i tidsplaner
|
||||
STR_CONFIG_SETTING_QUICKGOTO :Hurtig oprettelse af køretøjsordrer: {STRING}
|
||||
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Forvælg 'gå-til' når du åbner ordrer vinduet
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Standard skinnetype (efter nyt spil/hentet spil): {STRING}
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Hvilken sportype der skal vælges efter start eller hentning af et spil. 'første tilgængelige' vælger den ældste type spor, 'sidste tilgængelige' vælger den nyeste form for spor, og 'mest anvendte' vælger den type, der i øjeblikket er mest i brug
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Standard sportype (efter nyt spil/indlæst spil): {STRING}
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Hvilken sportype der skal vælges efter start eller indlæsning af et spil. 'Første tilgængelige' vælger den ældste type spor, 'sidste tilgængelige' vælger den nyeste form for spor, og 'mest anvendte' vælger den type, der i øjeblikket er mest i brug
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Første tilgængelige
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Sidste tilgængelige
|
||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mest anvendte
|
||||
@@ -1749,13 +1749,13 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Allokeri
|
||||
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
|
||||
|
||||
STR_INTRO_NEW_GAME :{BLACK}Nyt spil
|
||||
STR_INTRO_LOAD_GAME :{BLACK}Hent spil
|
||||
STR_INTRO_LOAD_GAME :{BLACK}Fortsæt spil
|
||||
STR_INTRO_PLAY_SCENARIO :{BLACK}Spil et scenarie
|
||||
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Spil højdekort
|
||||
STR_INTRO_SCENARIO_EDITOR :{BLACK}Scenarieeditor
|
||||
STR_INTRO_MULTIPLAYER :{BLACK}Netværksspil
|
||||
|
||||
STR_INTRO_GAME_OPTIONS :{BLACK}Spilvalg
|
||||
STR_INTRO_GAME_OPTIONS :{BLACK}Opsætning
|
||||
STR_INTRO_HIGHSCORE :{BLACK} Topresultater
|
||||
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Indstillinger
|
||||
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF indstillinger
|
||||
@@ -1764,7 +1764,7 @@ STR_INTRO_SCRIPT_SETTINGS :{BLACK}AI/Spils
|
||||
STR_INTRO_QUIT :{BLACK}Afslut
|
||||
|
||||
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start et nyt spil. Ctrl+Klik springer kortindstillingerne over.
|
||||
STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Hent et gemt spil
|
||||
STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Fortsæt et gemt spil
|
||||
STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Start et nyt spil med et højdekort som landskab
|
||||
STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Start et nyt spil med et brugerdefineret scenarie
|
||||
STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Lav en brugerdefineret verden/scenarie
|
||||
@@ -1775,7 +1775,7 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Vælg 's
|
||||
STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Vælg 'subtropisk' landskab
|
||||
STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vælg 'legetøjsland' landskab
|
||||
|
||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Vis spilvalg
|
||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Sæt spillet op
|
||||
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Hvis topscoreliste
|
||||
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Skærm indstillinger
|
||||
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Vis NewGRF-indstillinger
|
||||
@@ -1882,7 +1882,7 @@ STR_FACE_SIMPLE :{BLACK}Simpel
|
||||
STR_FACE_SIMPLE_TOOLTIP :{BLACK}Simpelt valg af ansigt.
|
||||
STR_FACE_LOAD :{BLACK}Hent
|
||||
STR_FACE_LOAD_TOOLTIP :{BLACK}Hent favoritansigt
|
||||
STR_FACE_LOAD_DONE :{WHITE}Dit favoritansigt er hentet fra OpenTTD-konfigurationsfilen.
|
||||
STR_FACE_LOAD_DONE :{WHITE}Dit favoritansigt er indlæst fra OpenTTD konfigurationsfilen.
|
||||
STR_FACE_FACECODE :{BLACK}Spiller ansigtsnr.
|
||||
STR_FACE_FACECODE_TOOLTIP :{BLACK}Vis og/eller indstil spillers ansigtsnummer
|
||||
STR_FACE_FACECODE_CAPTION :{WHITE}Vis og/eller indstil spillers ansigtsnummer
|
||||
@@ -2062,8 +2062,8 @@ STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Spiller
|
||||
|
||||
STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Nyt selskab
|
||||
STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Opret et nyt selskab
|
||||
STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Tilskuer spil
|
||||
STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Se et spil som tilskuer
|
||||
STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Tilskuer
|
||||
STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Tilslut spillet som tilskuer
|
||||
STR_NETWORK_GAME_LOBBY_JOIN_COMPANY :{BLACK}Tilslut dig selskab
|
||||
STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Hjælp med at bestyrre dette selskab
|
||||
|
||||
@@ -2152,7 +2152,7 @@ STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Der opst
|
||||
STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Revisionen af denne klient passer ikke sammen med serverens revision
|
||||
STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Forkert kodeord
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Serveren er fuld
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du har forbud mod at bruge denne server
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er bandlyst fra denne server
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Du blev smidt ud af spillet
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Snyderi er ikke tilladt på denne server
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du sendte for mange kommandoer til serveren
|
||||
@@ -2348,7 +2348,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Ombyg/op
|
||||
STR_RAIL_NAME_RAILROAD :Jernbane
|
||||
STR_RAIL_NAME_ELRAIL :Elektrisk jernbane
|
||||
STR_RAIL_NAME_MONORAIL :Monorail
|
||||
STR_RAIL_NAME_MAGLEV :Magnetskinne
|
||||
STR_RAIL_NAME_MAGLEV :Magnetsvævebane
|
||||
|
||||
# Rail depot construction window
|
||||
STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Retning af remise
|
||||
@@ -2772,12 +2772,12 @@ STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRIN
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
|
||||
STR_SAVELOAD_LOAD_CAPTION :{WHITE}Hent spil
|
||||
STR_SAVELOAD_LOAD_CAPTION :{WHITE}Fortsæt spil
|
||||
STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Gem scenarie
|
||||
STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Hent scenarie
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Hent højdekort
|
||||
STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Gem højdekort
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik her for at gå til det nuværende standard gemme/hente bibliotek
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik her for at gå til den nuværende standard gem/indlæs mappe
|
||||
STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} fri
|
||||
STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Liste over drev, biblioteker og gemte spilfiler
|
||||
STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nuværende gemte spils navn
|
||||
@@ -3258,7 +3258,7 @@ STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Vis alle
|
||||
STR_STATION_VIEW_RENAME_STATION_CAPTION :Omdøb stationen/fragtcentralen
|
||||
|
||||
STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Luk lufthavn
|
||||
STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Undgå at fly lander i denne lufthavn
|
||||
STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Forhindre at fly lander i denne lufthavn
|
||||
|
||||
# Waypoint/buoy view window
|
||||
STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT}
|
||||
@@ -3457,7 +3457,7 @@ STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||
|
||||
# Build vehicle window
|
||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye jernbanekøretøjer
|
||||
STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nyt elektrisk lokomotiv
|
||||
STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nye elektriske jernbanekøretøjer
|
||||
STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nye monorailkøretøjer
|
||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nye magnetskinnekøretøjer
|
||||
|
||||
@@ -3585,7 +3585,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klon fly
|
||||
STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Dette vil købe en kopi af toget inklusiv alle vogne. Klik på denne knap og så på et tog indeni eller udenfor remisen. Ctrl-klik vil kopiere ordrer. Shift-klik vil vise prisoverslag.
|
||||
STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Dette vil købe en kopi af køretøjet. Klik på denne knap og så på et køretøj indeni eller udenfor værkstedet. Ctrl-klik vil dele ordrer. Shift-klik viser anslået pris uden køb
|
||||
STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Dette vil købe en kopi af skibet. Klik på denne knap og så på et skib indeni eller udenfor dokken. Ctrl-klik vil dele ordrer. Shift-klik vil vise prisoverslag.
|
||||
STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dette vil købe en kopi af et fly. Klik på denne knap og så på et fly indeni eller udenfor hangaren. Ctrl-klik vil dele ordrer. Shift-klik vil vise prisoverslag.
|
||||
STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dette vil købe en kopi af et fly. Klik på denne knap og så på et fly indeni eller udenfor hangaren. Ctrl-klik vil dele ordrer. Shift-klik viser estimerede omkostninger uden at indkøbe
|
||||
|
||||
STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centrer skærmen over remisens lokalitet. Ctrl+Klik åbner et nyt vindue ved remisens lokalitet.
|
||||
STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centrer skærmen over værkstedets lokalitet. Ctrl+Klik åbner et nyt vindue ved køretøjsværkstedets lokalitet.
|
||||
@@ -3595,7 +3595,7 @@ STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centrér
|
||||
STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Vis en liste over alle tog med denne remise i ordrelisten
|
||||
STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Vis liste over alle køretøjer med dette værksted i ordrelisten
|
||||
STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Vis liste over alle skibe med denne skibsdok i ordrelisten
|
||||
STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Vis liste over alle fly med en hangar ved denne lufthavn i ordrelisten
|
||||
STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Hent en liste over alle fly der har hvilken som helst hangar ved denne lufthavn i deres ordrer
|
||||
|
||||
STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Klik for at stoppe alle toge i remisen
|
||||
STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Klik for at stoppe alle køretøjer i værkstedet
|
||||
@@ -3617,7 +3617,7 @@ STR_ENGINE_PREVIEW_ROAD_VEHICLE :vejkøretøj
|
||||
STR_ENGINE_PREVIEW_AIRCRAFT :fly
|
||||
STR_ENGINE_PREVIEW_SHIP :skib
|
||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monoraillokomotiv
|
||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnetskinnelokomotiv
|
||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnettog
|
||||
|
||||
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}
|
||||
@@ -4052,7 +4052,7 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Vælg å
|
||||
|
||||
|
||||
# AI debug window
|
||||
STR_AI_DEBUG :{WHITE}Computerspiller/Spilscript-debug
|
||||
STR_AI_DEBUG :{WHITE}KI/Spilscript-debug
|
||||
STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM})
|
||||
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Navn på scriptet
|
||||
STR_AI_DEBUG_SETTINGS :{BLACK}Indstillinger
|
||||
@@ -4089,7 +4089,7 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Flyt ned
|
||||
STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Flyt valgte computerspiller ned i listen
|
||||
|
||||
STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spilscript
|
||||
STR_AI_CONFIG_AI :{SILVER}AIer
|
||||
STR_AI_CONFIG_AI :{SILVER}KI'er
|
||||
|
||||
STR_AI_CONFIG_CHANGE :{BLACK}Vælg {STRING}
|
||||
STR_AI_CONFIG_CHANGE_NONE :Ingen ændringer
|
||||
@@ -4165,7 +4165,7 @@ STR_ERROR_AUTOSAVE_FAILED :{WHITE}Fejl und
|
||||
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan ikke læse drevet
|
||||
STR_ERROR_GAME_SAVE_FAILED :{WHITE}Fejl under gemning af spil{}{STRING}
|
||||
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan ikke slette fil
|
||||
STR_ERROR_GAME_LOAD_FAILED :{WHITE}Fejl under hentning af spil{}{STRING}
|
||||
STR_ERROR_GAME_LOAD_FAILED :{WHITE}Fejl under indlæsning af spil{}{STRING}
|
||||
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Intern fejl: {STRING}
|
||||
STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ødelagt gemt spil - {STRING}
|
||||
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spillet er gemt med en nyere version
|
||||
@@ -4179,12 +4179,12 @@ STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Spillet
|
||||
STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Kortgenerering afbrudt...{}... ingen brugbare lokaliteter til byer
|
||||
STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... der er ingen byer i dette scenarie
|
||||
|
||||
STR_ERROR_PNGMAP :{WHITE}Kan ikke hente landskab fra PNG...
|
||||
STR_ERROR_PNGMAP :{WHITE}Kan ikke indlæse landskab fra PNG...
|
||||
STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... filen blev ikke fundet.
|
||||
STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... kan ikke konvertere billedtype. Der skal bruges 8 eller 24-bit PNG.
|
||||
STR_ERROR_PNGMAP_MISC :{WHITE}... noget gik galt. Undskyld (Måske en ødelagt fil)
|
||||
|
||||
STR_ERROR_BMPMAP :{WHITE}Kan ikke hente landskab fra BMP...
|
||||
STR_ERROR_BMPMAP :{WHITE}Kan ikke indlæse landskab fra BMP...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... kunne ikke konvertere billedtypen.
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... billede er for stort
|
||||
|
@@ -812,7 +812,7 @@ STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} is verkocht aan {STRING} voor {CURRENCY_LONG}!
|
||||
STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Failliet!
|
||||
STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} is gesloten door schuldeisers en alle eigendommen zijn verkocht!
|
||||
STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nieuw transportbedrijf opgestart!
|
||||
STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nieuw transportbedrijf gestart!
|
||||
STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} begint werkzaamheden bij {TOWN}!
|
||||
STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} is overgenomen door {STRING}!
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Directeur)
|
||||
@@ -827,7 +827,7 @@ STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLAC
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Leveringsproblemen noodzaken {STRING} dreigende sluiting aan te kondigen!
|
||||
STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Gebrek aan nabije bomen noodzaakt {STRING} dreigende sluitng aan te kondigen!
|
||||
|
||||
STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Europese Monetaire Unie!{}{}De Euro is geïntroduceerd als de enige munt voor alledaagse transacties in jouw land!
|
||||
STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}Europese Monetaire Unie!{}{}De euro wordt in jouw land ingevoerd als de enige munt voor gewone transacties!
|
||||
STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Wereldwijde recessie!{}{}Financiële experts vrezen het ergste terwijl economie ineenstort!
|
||||
STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Recessie voorbij!{}{}Toenemende handel geeft industrie vertrouwen vanwege sterkere economie!
|
||||
|
||||
@@ -857,7 +857,7 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE
|
||||
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} is erg oud aan het worden en moet nodig vervangen worden
|
||||
STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} kan geen route vinden om verder te gaan
|
||||
STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} is verdwaald
|
||||
STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}Winst van {VEHICLE} was vorig jaar {CURRENCY_LONG}
|
||||
STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}Winst van {VEHICLE} was vorig jaar:{}{CURRENCY_LONG}
|
||||
STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kan niet naar de volgende bestemming omdat deze buiten bereik ligt
|
||||
|
||||
STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} is gestopt omdat een ombouworder is mislukt
|
||||
@@ -880,7 +880,7 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLAC
|
||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsidie toegekend aan {STRING}!{}{}{STRING}route van {STRING} naar {STRING} krijgt volgend jaar driedubbel betaald!
|
||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsidie toegekend aan {STRING}!{}{}{STRING}route van {STRING} naar {STRING} krijgt volgend jaar vierdubbel betaald!
|
||||
|
||||
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Verkeerschaos in {TOWN}!{}{}Wegherstelling betaald door {STRING} zorgt voor 6 maanden van miserie bij weggebruikers!
|
||||
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Verkeerschaos in {TOWN}!{}{}Wegreconstructie betaald door {STRING} zorgt voor 6 maanden van misère bij weggebruikers!
|
||||
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transportmonopolie!
|
||||
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Gemeentebestuur van {TOWN} tekent contract met {STRING} voor een jaar exclusieve transportrechten!
|
||||
|
||||
@@ -1004,7 +1004,7 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Viervoudige gro
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisset voor graphics
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kiest de te gebruiken basisset voor grafische elementen
|
||||
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ontbrekend{P "" e}/corrupt{P "" e} bestand{P "" en}
|
||||
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ontbrekend{P "" e}/beschadigd{P "" e} bestand{P "" en}
|
||||
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Aanvullende informatie over de basisset voor graphics
|
||||
|
||||
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Basisset voor geluidseffecten
|
||||
@@ -1013,7 +1013,7 @@ STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Aanvulle
|
||||
|
||||
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Basisset voor muziek
|
||||
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Kiest de te gebruiken basisset voor muziek
|
||||
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} corrupt{P "" e} bestand{P "" en}
|
||||
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM} beschadigd{P "" e} bestand{P "" en}
|
||||
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Aanvullende informatie over the basisset voor muziek
|
||||
|
||||
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Mislukt om een lijst met ondersteunde resoluties op te halen
|
||||
@@ -1023,27 +1023,27 @@ STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modus vo
|
||||
|
||||
STR_CURRENCY_WINDOW :{WHITE}Aangepaste valuta
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Wisselkoers: {ORANGE}{CURRENCY_LONG} = £ {COMMA}
|
||||
STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verlaag de wisselkoers van jouw munteenheid ten opzicht van de Pond (£)
|
||||
STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verhoog de wisselkoers van jouw munteenheid ten opzicht van de Pond (£)
|
||||
STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Stel de wisselkoers in van jouw munteenheid ten opzichte van de Pond (£)
|
||||
STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verlaag de wisselkoers van jouw munteenheid ten opzichte van het pond (£)
|
||||
STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verhoog de wisselkoers van jouw munteenheid ten opzichte van het pond (£)
|
||||
STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Stel de wisselkoers in van jouw munteenheid ten opzichte van het pond (£)
|
||||
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Scheidingsteken: {ORANGE}{STRING}
|
||||
STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Stel het scheidingsteken in voor jouw munteenheid
|
||||
|
||||
STR_CURRENCY_PREFIX :{LTBLUE}Voorvoegsel: {ORANGE}{STRING}
|
||||
STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Stel het voorloopteken in voor jouw munteenheid
|
||||
STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Stel het voorvoegsel in voor jouw munteenheid
|
||||
STR_CURRENCY_SUFFIX :{LTBLUE}Achtervoegsel: {ORANGE}{STRING}
|
||||
STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Stel het eindteken in voor jouw munteenheid
|
||||
STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Stel het achtervoegsel in voor jouw munteenheid
|
||||
|
||||
STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Overgaan op de Euro: {ORANGE}{NUM}
|
||||
STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Overgaan op de Euro: {ORANGE}nooit
|
||||
STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Stel het jaar in waarin de Euro wordt geïntroduceerd
|
||||
STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Eerder naar de Euro
|
||||
STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Later naar de Euro
|
||||
STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Overgaan op de euro: {ORANGE}{NUM}
|
||||
STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Overgaan op de euro: {ORANGE}nooit
|
||||
STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Stel het jaar in waarin de euro wordt geïntroduceerd
|
||||
STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Eerder naar de euro
|
||||
STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Later naar de euro
|
||||
|
||||
STR_CURRENCY_PREVIEW :{LTBLUE}Voorbeeld: {ORANGE}{CURRENCY_LONG}
|
||||
STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Pound (£) in jouw munteenheid
|
||||
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Verander optie van aangepaste valuta
|
||||
STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10.000 pond (£) in jouw munteenheid
|
||||
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Aangepaste valutaparameters wijzigen
|
||||
|
||||
STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS :{LTBLUE}Maximaal aantal tegenstanders: {ORANGE}{COMMA}
|
||||
|
||||
@@ -1254,7 +1254,7 @@ STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Geld overmaken
|
||||
STR_CONFIG_SETTING_FREIGHT_TRAINS :Gewichtsfactor voor vracht om zware treinen te simuleren: {STRING}
|
||||
STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Stelt in hoe vracht treinen beïnvloedt. Een hogere waarde maakt het vervoer van vracht veeleisender voor treinen, met name in heuvels.
|
||||
STR_CONFIG_SETTING_PLANE_SPEED :Snelheidsfactor voor vliegtuigen: {STRING}
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Stel de relatieve snelheid van de vliegtuigen in vergelijking met andere typen voertuigen, om de hoogte van het inkomen van het vervoer door vliegtuigen te verminderen
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Stel de relatieve snelheid van de vliegtuigen in vergelijking met andere typen voertuigen in om de inkomsten door luchttransport te verminderen
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES :Aantal neerstortende vliegtuigen: {STRING}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Bepaalt de kans op neerstorten van een vliegtuig
|
||||
@@ -1380,7 +1380,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Uit
|
||||
STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Muiswielsnelheid: {STRING}
|
||||
STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Gevoeligheid van verplaatsen met de instellen
|
||||
STR_CONFIG_SETTING_OSK_ACTIVATION :Toetsenbord op scherm: {STRING}
|
||||
STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Selecteer de methode om het toetsenbord op het scherm te openen voor tekst invoeren in editboxes alleen met behulp van het aanwijsapparaat. Dit is bedoeld voor kleine apparaten zonder toetsenbord
|
||||
STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Selecteer de methode om het toetsenbord op het scherm te openen voor tekst invoeren in bewerkingsvensters met alleen het aanwijsapparaat. Dit is bedoeld voor kleine apparaten zonder toetsenbord.
|
||||
STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Uitgeschakeld
|
||||
STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Dubbelklik
|
||||
STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Enkel klik (met focus)
|
||||
@@ -1441,7 +1441,7 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Geluidseffect w
|
||||
STR_CONFIG_SETTING_SOUND_NEW_YEAR :Einde jaar: {STRING}
|
||||
STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Geluidseffect afspelen bij jaaroverzicht van bedrijf t.o.v. vorig jaar
|
||||
STR_CONFIG_SETTING_SOUND_CONFIRM :Bouw: {STRING}
|
||||
STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Speel geluidseffecten bij succesvolle constructies of andere acties
|
||||
STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Speel geluidseffecten af wanneer constructies of andere acties zijn gelukt
|
||||
STR_CONFIG_SETTING_SOUND_CLICK :Klikgeluid knoppen: {STRING}
|
||||
STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Piep bij het klikken op knoppen
|
||||
STR_CONFIG_SETTING_SOUND_DISASTER :Rampen/ongelukken: {STRING}
|
||||
@@ -1750,8 +1750,8 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD
|
||||
|
||||
STR_INTRO_NEW_GAME :{BLACK}Nieuw spel
|
||||
STR_INTRO_LOAD_GAME :{BLACK}Spel laden
|
||||
STR_INTRO_PLAY_SCENARIO :{BLACK}Speel scenario
|
||||
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Speel hoogtekaart
|
||||
STR_INTRO_PLAY_SCENARIO :{BLACK}Scenario spelen
|
||||
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Hoogtekaart spelen
|
||||
STR_INTRO_SCENARIO_EDITOR :{BLACK}Scenario bewerken
|
||||
STR_INTRO_MULTIPLAYER :{BLACK}Netwerkspel
|
||||
|
||||
@@ -1767,8 +1767,8 @@ STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start ee
|
||||
STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Een opgeslagen spel laden
|
||||
STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Start een nieuw spel, gebruik een hoogtekaart als landschap
|
||||
STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Start een nieuw spel, gebaseerd op een scenario
|
||||
STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Maak een eigen spelwereld/scenario
|
||||
STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Start een multiplayerspel
|
||||
STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Een eigen spelwereld/scenario maken
|
||||
STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Een netwerkspel spelen
|
||||
|
||||
STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Gematigd klimaat
|
||||
STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Subarctisch klimaat
|
||||
@@ -1784,7 +1784,7 @@ STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}AI-/spel
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}'OpenTTD' afsluiten
|
||||
|
||||
STR_INTRO_BASESET :{BLACK}De huidige gekozen set grafische elementen mist {NUM} sprite{P "" s}. Controleer of er updates zijn voor deze basisset.
|
||||
STR_INTRO_TRANSLATION :{BLACK}Deze vertaling mist {NUM} tekst{P "" en}. Help aub om OpenTTD beter te maken door je al vertaler aan te melden. Zie readme.txt voor details.
|
||||
STR_INTRO_TRANSLATION :{BLACK}Deze vertaling mist {NUM} tekst{P "" en}. Help alsjeblieft mee om OpenTTD beter te maken door je als vertaler aan te melden. Zie readme.txt voor details.
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Afsluiten
|
||||
@@ -1859,7 +1859,7 @@ STR_LIVERY_TRUCK :Vrachtwagen
|
||||
STR_LIVERY_PASSENGER_SHIP :Passagiersschip
|
||||
STR_LIVERY_FREIGHT_SHIP :Vrachtschip
|
||||
STR_LIVERY_HELICOPTER :Helikopter
|
||||
STR_LIVERY_SMALL_PLANE :Klein Vliegtuig
|
||||
STR_LIVERY_SMALL_PLANE :Klein vliegtuig
|
||||
STR_LIVERY_LARGE_PLANE :Groot Vliegtuig
|
||||
STR_LIVERY_PASSENGER_TRAM :Passagierstram
|
||||
STR_LIVERY_FREIGHT_TRAM :Vrachttram
|
||||
@@ -1884,15 +1884,15 @@ STR_FACE_LOAD :{BLACK}Laden
|
||||
STR_FACE_LOAD_TOOLTIP :{BLACK}Favoriet gezicht laden
|
||||
STR_FACE_LOAD_DONE :{WHITE}Je favoriete gezicht is geladen uit het OpenTTD-configuratiebestand
|
||||
STR_FACE_FACECODE :{BLACK}Gezichtsnummer
|
||||
STR_FACE_FACECODE_TOOLTIP :{BLACK}Bekijk en/of bewaar gezichtsnummer van de bedrijfspresident
|
||||
STR_FACE_FACECODE_CAPTION :{WHITE}Bekijk en/of bewaar huidig gezichtsnummer
|
||||
STR_FACE_FACECODE_TOOLTIP :{BLACK}Gezichtsnummer van directeur bekijken en/of instellen
|
||||
STR_FACE_FACECODE_CAPTION :{WHITE}Huidig gezichtsnummer bekijken en/of instellen
|
||||
STR_FACE_FACECODE_SET :{WHITE}Nieuwe gezichtsnummercode is opgeslagen
|
||||
STR_FACE_FACECODE_ERR :{WHITE}Kon gezichtsnummer niet bewaren - het moet een getal zijn tussen 0 en 4.294.967.295!
|
||||
STR_FACE_FACECODE_ERR :{WHITE}Kon gezichtsnummer voor directeur niet instellen - moet een getal zijn tussen 0 en 4.294.967.295!
|
||||
STR_FACE_SAVE :{BLACK}Opslaan
|
||||
STR_FACE_SAVE_TOOLTIP :{BLACK}Favoriet gezicht opslaan
|
||||
STR_FACE_SAVE_DONE :{WHITE}Dit gezicht wordt zal worden opgeslagen als jouw favoriet in het OpenTTD-configuratiebestand
|
||||
STR_FACE_SAVE_DONE :{WHITE}Dit gezicht wordt in het OpenTTD-configuratiebestand opgeslagen als jouw favoriet
|
||||
STR_FACE_EUROPEAN :{BLACK}Europeaans
|
||||
STR_FACE_SELECT_EUROPEAN :{BLACK}Selecteer Europeaanse gezichten
|
||||
STR_FACE_SELECT_EUROPEAN :{BLACK}Selecteer Europese gezichten
|
||||
STR_FACE_AFRICAN :{BLACK}Afrikaans
|
||||
STR_FACE_SELECT_AFRICAN :{BLACK}Selecteer Afrikaanse gezichten
|
||||
STR_FACE_YES :Ja
|
||||
@@ -2072,7 +2072,7 @@ STR_NETWORK_CONNECTING_CAPTION :{WHITE}Verbinde
|
||||
|
||||
############ Leave those lines in this order!!
|
||||
STR_NETWORK_CONNECTING_1 :{BLACK}(1/6) Verbinden...
|
||||
STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Inloggen...
|
||||
STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Verifiëren...
|
||||
STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Wachten...
|
||||
STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Kaart downloaden...
|
||||
STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Gegevens verwerken...
|
||||
@@ -2085,7 +2085,7 @@ STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} sp
|
||||
STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} tot dusver gedownload
|
||||
STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} opgehaald
|
||||
|
||||
STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Verbreek verbinding
|
||||
STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Verbinding verbreken
|
||||
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server is beveiligd. Voer wachtwoord in
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Bedrijf is beveiligd. Voer wachtwoord in
|
||||
@@ -2093,16 +2093,16 @@ STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Spelersl
|
||||
|
||||
# Network company list added strings
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Spelerslijst
|
||||
STR_NETWORK_COMPANY_LIST_SPECTATE :Kijk toe
|
||||
STR_NETWORK_COMPANY_LIST_SPECTATE :Toekijken
|
||||
STR_NETWORK_COMPANY_LIST_NEW_COMPANY :Nieuw bedrijf
|
||||
|
||||
# Network client list
|
||||
STR_NETWORK_CLIENTLIST_KICK :Gooi uit het spel
|
||||
STR_NETWORK_CLIENTLIST_BAN :Verban uit het spel
|
||||
STR_NETWORK_CLIENTLIST_GIVE_MONEY :Geef geld
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Praat met iedereen
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Praat met het bedrijf
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Praat met deze persoon
|
||||
STR_NETWORK_CLIENTLIST_KICK :Uit het spel schoppen
|
||||
STR_NETWORK_CLIENTLIST_BAN :Verbannen
|
||||
STR_NETWORK_CLIENTLIST_GIVE_MONEY :Geld geven
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Met iedereen praten
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Met bedrijf praten
|
||||
STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Privébericht
|
||||
|
||||
STR_NETWORK_SERVER :Server
|
||||
STR_NETWORK_CLIENT :Speler
|
||||
@@ -2217,22 +2217,22 @@ STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}De serve
|
||||
# Content downloading window
|
||||
STR_CONTENT_TITLE :{WHITE}Download extra inhoud
|
||||
STR_CONTENT_TYPE_CAPTION :{BLACK}Type
|
||||
STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Type van de content
|
||||
STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Type inhoud
|
||||
STR_CONTENT_NAME_CAPTION :{BLACK}Naam
|
||||
STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Naam van de inhoud
|
||||
STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Klik op een regel voor details{}Gebruik het selectievakje om het te selecteren voor download
|
||||
STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Selecteer alles
|
||||
STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Alles selecteren
|
||||
STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Markeer alle inhoud voor download
|
||||
STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Selecteer updates
|
||||
STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Updates selecteren
|
||||
STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Markeer alle updates voor bestaande inhoud voor download
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Deselecteer alles
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Markeer alle content om niet te downloaden
|
||||
STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Zoek externe websites
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Niets selecteren
|
||||
STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Alle markeringen van inhoud voor download ongedaan maken
|
||||
STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Externe websites zoeken
|
||||
STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Zoek inhoud niet beschikbaar op de server van OpenTTD op websites die niet gekoppeld zijn aan OpenTTD
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Je verlaat OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}De voorwaarden voor het downloaden van inhoud van externe websites variëren.{}Ga naar de externe website voor instructies over het installeren van de inhoud in OpenTTD.{}Wil je doorgaan?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Tag-/naamfilter:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Bezoek website
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Website bezoeken
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Bezoek de website voor deze inhoud
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Start met het downloaden van de geselecteerde inhoud
|
||||
@@ -2253,7 +2253,7 @@ STR_CONTENT_DETAIL_FILESIZE :{SILVER}Downloa
|
||||
STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Geselecteerd omdat: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Afhankelijkheden: {WHITE}{STRING}
|
||||
STR_CONTENT_DETAIL_TAGS :{SILVER}Tags: {WHITE}{STRING}
|
||||
STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD is gemaakt zonder "zlib"-ondersteuning...
|
||||
STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD is gemaakt zonder 'zlib'-ondersteuning...
|
||||
STR_CONTENT_NO_ZLIB_SUB :{WHITE}... niet mogelijk gegevens te downloaden
|
||||
|
||||
# Order of these is important!
|
||||
@@ -2282,9 +2282,9 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_CONNECTION_LOST :{WHITE}... verb
|
||||
STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... bestand niet schrijfbaar
|
||||
STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Kon gedownload bestand niet uitpakken
|
||||
|
||||
STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Ontbrekende graphics
|
||||
STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Ontbrekende grafische elementen
|
||||
STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD heeft grafische elementen nodig om te kunnen werken, maar deze zijn niet gevonden. Wil je dat OpenTTD deze downloadt en installeert?
|
||||
STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, download de graphics
|
||||
STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, grafische elementen downloaden
|
||||
STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nee, OpenTTD afsluiten
|
||||
|
||||
# Transparency settings window
|
||||
@@ -2301,10 +2301,10 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Transpar
|
||||
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Maak objecten onzichtbaar in plaats van transparant
|
||||
|
||||
# Linkgraph legend window
|
||||
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Vrachtstroomlegende
|
||||
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Vrachtstroomlegenda
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Alle
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Geen
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Selecteer weer te geven bedrijven
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Weer te geven bedrijven selecteren
|
||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
@@ -2479,7 +2479,7 @@ STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Layout {
|
||||
STR_AIRPORT_SMALL :Klein
|
||||
STR_AIRPORT_CITY :Stad
|
||||
STR_AIRPORT_METRO :Grootstedelijk
|
||||
STR_AIRPORT_INTERNATIONAL :Internationaal vliegveld
|
||||
STR_AIRPORT_INTERNATIONAL :Internationaal
|
||||
STR_AIRPORT_COMMUTER :Forens
|
||||
STR_AIRPORT_INTERCONTINENTAL :Intercontinentaal
|
||||
STR_AIRPORT_HELIPORT :Heliplatform
|
||||
@@ -2525,8 +2525,8 @@ STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definiee
|
||||
STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Vergroot de landoppervlakte om te verhogen/verlagen
|
||||
STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Verklein de landoppervlakte om te verhogen/verlagen
|
||||
STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Genereer willekeurig land
|
||||
STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Maak nieuw scenario aan
|
||||
STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Verwijder landschap
|
||||
STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Nieuw scenario maken
|
||||
STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Landschap verwijderen
|
||||
STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Verwijder alle eigendommen van een bedrijf van de kaart
|
||||
|
||||
STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Landschap terugstellen
|
||||
@@ -2537,15 +2537,15 @@ STR_FOUND_TOWN_CAPTION :{WHITE}Stadsont
|
||||
STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nieuwe stad
|
||||
STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Nieuwe stad stichten. Shift+klik geeft alleen de verwachte kosten.
|
||||
STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Willekeurige stad
|
||||
STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Sticht stad op willekeurige locatie
|
||||
STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Hiermee sticht je een stad op een willekeurige locatie
|
||||
STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Veel willekeurige steden
|
||||
STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Bedek de kaart met willekeurig geplaatste steden
|
||||
STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Verspreid willekeurig geplaatste steden over de kaart
|
||||
|
||||
STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Plaatsnaam:
|
||||
STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Geef plaatsnaam op
|
||||
STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Klik om plaatsnaam in te geven
|
||||
STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Plaatsnaam invoeren
|
||||
STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Klik om plaatsnaam in te voeren
|
||||
STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Willekeurige naam
|
||||
STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Genereer willekeurige nieuwe naam
|
||||
STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Genereer een willekeurige nieuwe naam
|
||||
|
||||
STR_FOUND_TOWN_INITIAL_SIZE_TITLE :{YELLOW}Stadsgrootte:
|
||||
STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Klein
|
||||
@@ -2662,7 +2662,7 @@ STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION :{STRING} (in aa
|
||||
|
||||
STR_LAI_TREE_NAME_TREES :Bomen
|
||||
STR_LAI_TREE_NAME_RAINFOREST :Regenwoud
|
||||
STR_LAI_TREE_NAME_CACTUS_PLANTS :Cactusplanten
|
||||
STR_LAI_TREE_NAME_CACTUS_PLANTS :Cactussen
|
||||
|
||||
STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Treinstation
|
||||
STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Hangar
|
||||
@@ -2715,7 +2715,7 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD-
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Het OpenTTD-team
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Frame rate
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Framesnelheid
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulatiesnelheid: {STRING}
|
||||
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Aantal gesimuleerde speltikken per seconde.
|
||||
@@ -2724,7 +2724,7 @@ STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Aantal v
|
||||
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Huidige spelsnelheidsfactor: {DECIMAL}x
|
||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hoe snel het spel momenteel draait, vergeleken met de verwachte snelheid bij een normale simulatiesnelheid.
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Huidig
|
||||
STR_FRAMERATE_AVERAGE :{WHITE}Gemiddelde
|
||||
STR_FRAMERATE_AVERAGE :{WHITE}Gemiddeld
|
||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Gegevens gebaseerd op {COMMA} metingen
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
||||
@@ -2771,13 +2771,13 @@ STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRIN
|
||||
|
||||
|
||||
# Save/load game/scenario
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
|
||||
STR_SAVELOAD_LOAD_CAPTION :{WHITE}Spel Laden
|
||||
STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Scenario Opslaan
|
||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel opslaan
|
||||
STR_SAVELOAD_LOAD_CAPTION :{WHITE}Spel laden
|
||||
STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Scenario opslaan
|
||||
STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Scenario laden
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Hoogtekaart laden
|
||||
STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Hoogtekaart Opslaan
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik hier om naar de standaard bewaar-/laadmap te gaan
|
||||
STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Hoogtekaart opslaan
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik hier om naar de standaard-opslagmap te gaan
|
||||
STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} vrij
|
||||
STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lijst van schijven, mappen en opgeslagen spellen
|
||||
STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Huidige gekozen naam voor opgeslagen spel
|
||||
@@ -2785,10 +2785,10 @@ STR_SAVELOAD_DELETE_BUTTON :{BLACK}Verwijde
|
||||
STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Verwijder het momenteel geselecteerde opgeslagen spel
|
||||
STR_SAVELOAD_SAVE_BUTTON :{BLACK}Opslaan
|
||||
STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Het huidige spel opslaan onder de gekozen naam
|
||||
STR_SAVELOAD_LOAD_BUTTON :{BLACK}Laad
|
||||
STR_SAVELOAD_LOAD_BUTTON :{BLACK}Laden
|
||||
STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Laad het geselecteerde spel
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Laad de geselecteerde hoogtekaart
|
||||
STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spel details
|
||||
STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Speldetails
|
||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Geen informatie beschikbaar
|
||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||
@@ -2827,7 +2827,7 @@ STR_MAPGEN_NORTHWEST :{BLACK}Noordwes
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Noordoost
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Zuidoost
|
||||
STR_MAPGEN_SOUTHWEST :{BLACK}Zuidwest
|
||||
STR_MAPGEN_BORDER_FREEFORM :{BLACK}Vrij vormen
|
||||
STR_MAPGEN_BORDER_FREEFORM :{BLACK}Vrije vorm
|
||||
STR_MAPGEN_BORDER_WATER :{BLACK}Water
|
||||
STR_MAPGEN_BORDER_RANDOM :{BLACK}Willekeurig
|
||||
STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Willekeurig
|
||||
@@ -2839,7 +2839,7 @@ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Grootte:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Maximale kaarthoogte wijzigen
|
||||
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Verander hoogte van sneeuwgrens
|
||||
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Hoogte van sneeuwgrens wijzigen
|
||||
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Verander startjaar
|
||||
|
||||
# SE Map generation
|
||||
@@ -2903,14 +2903,14 @@ STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Palet om
|
||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Verander het palet van het geselecteerde NewGRF-bestand.{}Gebruik deze mogelijkheid als de afbeeldingen van dit NewGRF-bestand er paars uit zien in het spel
|
||||
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Wijzigingen doorvoeren
|
||||
|
||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Zoek ontbrekende content online
|
||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Kijk of de ontbrekende content online te vinden is
|
||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Online naar ontbrekende inhoud zoeken
|
||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Kijk of de ontbrekende inhoud online te vinden is
|
||||
|
||||
STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Bestandsnaam: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF-ID: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versie: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Laagste compatibele versie: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5-controlesom: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palet: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Standaard (D)
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Standaard (D) / 32 bpp
|
||||
@@ -2928,31 +2928,31 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Niet compa
|
||||
STR_SAVE_PRESET_CAPTION :{WHITE}Voorkeursinstelling opslaan
|
||||
STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lijst met beschikbare voorkeursinstellingen, Selecteer om deze te kopiëren naar de opslagnaam hieronder.
|
||||
STR_SAVE_PRESET_TITLE :{BLACK}Voer een naam in voor de voorkeursinstelling
|
||||
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Huidig gekozen naam voor de preset om op te slaan
|
||||
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Huidige gekozen naam voor de voorkeursinstelling om op te slaan
|
||||
STR_SAVE_PRESET_CANCEL :{BLACK}Annuleren
|
||||
STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Voorkeursinstelling niet wijzigen
|
||||
STR_SAVE_PRESET_SAVE :{BLACK}Opslaan
|
||||
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Sla de huidige preset op naar de huidig gekozen naam
|
||||
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Sla de huidige voorkeursinstelling op onder de huidige gekozen naam
|
||||
|
||||
# NewGRF parameters window
|
||||
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}NewGRF-parameters wijzigen
|
||||
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Sluiten
|
||||
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Reset
|
||||
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Terugstellen
|
||||
STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Zet alle parameters naar de standaardwaarde
|
||||
STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parameter {NUM}
|
||||
STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING}
|
||||
STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Aantal parameters: {ORANGE}{NUM}
|
||||
|
||||
# NewGRF inspect window
|
||||
STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspecteer - {STRING}
|
||||
STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspecteren - {STRING}
|
||||
STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Huidig
|
||||
STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspecteer het object van het huidige hoofd bestand
|
||||
STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspecteer het object van het bovenliggende element
|
||||
|
||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} bij {HEX}
|
||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Object
|
||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Spoortype
|
||||
|
||||
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF variable 60+x parameter (hexadecimaal)
|
||||
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parameter 60+x voor NewGRF-variabele (hexadecimaal)
|
||||
|
||||
# Sprite aligner window
|
||||
STR_SPRITE_ALIGNER_CAPTION :{WHITE}Sprite uitlijnen {COMMA} ({STRING})
|
||||
@@ -2980,7 +2980,7 @@ STR_NEWGRF_ERROR_MSG_ERROR :{RED}Fout: {SIL
|
||||
STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatale fout: {SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Een fatale NewGRF-fout is ontstaan:{}{STRING}
|
||||
STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} werkt niet met de TTDPatch-versie die is opgegeven door OpenTTD
|
||||
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} is voor de {STRING} versie van TTD
|
||||
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} is voor versie {STRING} van TTD
|
||||
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} is ontwikkeld voor {STRING}
|
||||
STR_NEWGRF_ERROR_INVALID_PARAMETER :Ongeldige parameter voor {1:STRING}: parameter {STRING} ({NUM})
|
||||
STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} moet geladen zijn voor {STRING}
|
||||
@@ -3012,7 +3012,7 @@ STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Kan best
|
||||
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Compatibele GRF(s) geladen voor ontbrekende bestanden
|
||||
STR_NEWGRF_DISABLED_WARNING :{WHITE}Missend(e) GRF-bestand(en) zijn uitgeschakeld
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Ontbrekend(e) GRF-bestand(en)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Het spel vervolgen kan OpenTTD laten vastlopen. Rapporteer geen bugs als het spel vastloopt.{}Weet je zeker dat je het spel wilt vervolgen?
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Het spel vervolgen kan OpenTTD laten vastlopen. Rapporteer geen fouten als het spel nogmaals vastloopt.{}Weet je zeker dat je het spel wilt vervolgen?
|
||||
|
||||
# NewGRF status
|
||||
STR_NEWGRF_LIST_NONE :Geen
|
||||
@@ -3044,7 +3044,7 @@ STR_INVALID_VEHICLE :<ongeldig voert
|
||||
|
||||
# NewGRF scanning window
|
||||
STR_NEWGRF_SCAN_CAPTION :{WHITE}Scannen van NewGRFs
|
||||
STR_NEWGRF_SCAN_MESSAGE :{BLACK}Scannen van NewGRFs. Afhankelijk van het aantal, kan dit even duren...
|
||||
STR_NEWGRF_SCAN_MESSAGE :{BLACK}NewGRF's worden ingelezen. Afhankelijk van het aantal kan dit even duren...
|
||||
STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF{P "" s} gescand van een geschatte {NUM} NewGRF{P "" s}
|
||||
STR_NEWGRF_SCAN_ARCHIVES :Zoeken naar archieven
|
||||
|
||||
@@ -3101,21 +3101,21 @@ STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Reputati
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Beschikbare acties:
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lijst met dingen die mogelijk zijn in deze gemeente - klik op een onderdeel voor meer details
|
||||
STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Doe het
|
||||
STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Doen
|
||||
STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Voer de actie uit die in de bovenstaande lijst is geselecteerd
|
||||
|
||||
STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Kleine reclamecampagne
|
||||
STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Middelgrote reclamecampagne
|
||||
STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Grote reclamecampagne
|
||||
STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Betaal wegreparatie
|
||||
STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Wegreconstructie financieren
|
||||
STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Standbeeld van directeur bouwen
|
||||
STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financier nieuwe gebouwen
|
||||
STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Koop exclusieve transportrechten
|
||||
STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Nieuwe gebouwen financieren
|
||||
STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Exclusieve transportrechten kopen
|
||||
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Gemeentebestuur omkopen
|
||||
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne, om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote advertentiecampagne, om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote advertentiecampagne, om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een herstelling van het wegennetwerk. Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Kosten: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe commerciële gebouwen in de stad financieren.{}Kosten: {CURRENCY_LONG}
|
||||
@@ -3284,7 +3284,7 @@ STR_FINANCES_SECTION_TRAIN_INCOME :{GOLD}Treininko
|
||||
STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Wegvoertuiginkomsten
|
||||
STR_FINANCES_SECTION_AIRCRAFT_INCOME :{GOLD}Vliegtuiginkomsten
|
||||
STR_FINANCES_SECTION_SHIP_INCOME :{GOLD}Schipinkomsten
|
||||
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD} De rente van de lening
|
||||
STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD} Rente van lening
|
||||
STR_FINANCES_SECTION_OTHER :{GOLD}Overig
|
||||
STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG}
|
||||
STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG}
|
||||
@@ -3293,9 +3293,9 @@ STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Banksald
|
||||
STR_FINANCES_LOAN_TITLE :{WHITE}Lening
|
||||
STR_FINANCES_MAX_LOAN :{WHITE}Maximale lening: {BLACK}{CURRENCY_LONG}
|
||||
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
|
||||
STR_FINANCES_BORROW_BUTTON :{BLACK}Leen {CURRENCY_LONG}
|
||||
STR_FINANCES_BORROW_BUTTON :{BLACK}{CURRENCY_LONG} lenen
|
||||
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Vergroot lening. Ctrl+klik om zoveel als mogelijk te lenen
|
||||
STR_FINANCES_REPAY_BUTTON :{BLACK}Betaal {CURRENCY_LONG} terug
|
||||
STR_FINANCES_REPAY_BUTTON :{BLACK}{CURRENCY_LONG} terugbetalen
|
||||
STR_FINANCES_REPAY_TOOLTIP :{BLACK}Betaal deel van lening terug. Ctrl+klik om zoveel als mogelijk terug te betalen
|
||||
STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infrastructuur
|
||||
|
||||
@@ -3467,7 +3467,7 @@ STR_BUY_VEHICLE_SHIP_CAPTION :Nieuwe schepen
|
||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nieuwe vliegtuigen
|
||||
|
||||
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Kosten: {GOLD}{CURRENCY_LONG}{BLACK} Gewicht: {GOLD}{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Snelheid: {GOLD}{VELOCITY}{BLACK} Kracht: {GOLD}{POWER}
|
||||
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Snelheid: {GOLD}{VELOCITY}{BLACK} Vermogen: {GOLD}{POWER}
|
||||
STR_PURCHASE_INFO_SPEED :{BLACK}Snelheid: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Snelheid op oceaan: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Snelheid op kanaal/rivier: {GOLD}{VELOCITY}
|
||||
@@ -3487,7 +3487,7 @@ STR_PURCHASE_INFO_NONE :Geen
|
||||
STR_PURCHASE_INFO_ALL_BUT :Alles behalve {CARGO_LIST}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trekkracht: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Bereik: {GOLD}{COMMA} tegels
|
||||
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Vliegtuig type: {GOLD}{STRING}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Vliegtuigtype: {GOLD}{STRING}
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Spoorvoertuigkeuzelijst. Klik op een spoorvoertuig voor informatie. Ctrl+klik voor spoorvoertuigtype weergeven-verbergen.
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigkeuzelijst. Klik op wegvoertuig voor informatie. Ctrl+klik voor voertuigtype weergeven-verbergen.
|
||||
@@ -3551,7 +3551,7 @@ STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Schepen
|
||||
STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuigen - rechts-klik op een vliegtuig voor informatie
|
||||
|
||||
STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Sleep trein hierheen om te verkopen
|
||||
STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Sleep wegvoertuig hier om het te verkopen
|
||||
STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Sleep wegvoertuig hierheen om het te verkopen
|
||||
STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Sleep schip hier om het te verkopen
|
||||
STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Sleep vliegtuig hier om het te verkopen
|
||||
|
||||
@@ -3574,13 +3574,13 @@ STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Nieuwe v
|
||||
|
||||
STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Koop nieuwe trein
|
||||
STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Koop nieuw wegvoertuig
|
||||
STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Koop nieuw schip
|
||||
STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Koop een nieuw schip
|
||||
STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Koop een nieuw vliegtuig
|
||||
|
||||
STR_DEPOT_CLONE_TRAIN :{BLACK}Kloon trein
|
||||
STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Kloon wegvoertuig
|
||||
STR_DEPOT_CLONE_SHIP :{BLACK}Kloon schip
|
||||
STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloon vliegtuig
|
||||
STR_DEPOT_CLONE_TRAIN :{BLACK}Trein klonen
|
||||
STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Wegvoertuig klonen
|
||||
STR_DEPOT_CLONE_SHIP :{BLACK}Schip klonen
|
||||
STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Vliegtuig klonen
|
||||
|
||||
STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Hiermee koop je een kopie van een trein, inclusief wagons. Klik op deze knop en dan op een trein binnen of buiten het depot. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||
STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Hiermee koop je een kopie van een wegvoertuig. Klik op deze knop en dan op een wegvoertuig binnen of buiten de garage. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||
@@ -3621,11 +3621,11 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :zweeflocomotief
|
||||
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Kosten: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Snelheid: {VELOCITY} Kracht: {POWER}{}Lopende kosten: {CURRENCY_LONG}/jr{}Capaciteit: {CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Kosten: {CURRENCY_LONG} Gewicht: {WEIGHT_SHORT}{}Snelheid: {VELOCITY} Kracht: {POWER} Max. T.E.: {6:FORCE}{}Lopende kosten: {4:CURRENCY_LONG}/yr{}Capaciteit: {5:CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING}{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING}{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING} Bereik: {COMMA} tiles{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max. Snelheid: {VELOCITY}{}Vliegtuig type: {STRING} Bereik: {COMMA} tiles{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max.snelheid: {VELOCITY}{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max.snelheid: {VELOCITY}{}Vliegtuigtype: {STRING}{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max.snelheid: {VELOCITY}{}Vliegtuigtype: {STRING}{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max.snelheid: {VELOCITY}{}Vliegtuigtype: {STRING} Bereik: {COMMA} tiles{}Capaciteit: {CARGO_LONG}, {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Kosten: {CURRENCY_LONG} Max.snelheid: {VELOCITY}{}Vliegtuigtype: {STRING} Bereik: {COMMA} tiles{}Capaciteit: {CARGO_LONG}{}Gebruikskosten: {CURRENCY_LONG}/jaar
|
||||
|
||||
# Autoreplace window
|
||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Vervang {STRING} - {STRING}
|
||||
@@ -3747,11 +3747,11 @@ STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Leeftijd
|
||||
STR_VEHICLE_INFO_AGE :{COMMA} ja{P ar ren} ({COMMA})
|
||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ja{P ar ren} ({COMMA})
|
||||
|
||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. snelheid: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Vliegtuigtype: {LTBLUE}{STRING}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Vliegtuig type: {LTBLUE}{STRING} {BLACK}Bereik: {LTBLUE}{COMMA} tegels
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kracht: {LTBLUE}{POWER}{BLACK} Max. snelheid: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kracht: {LTBLUE}{POWER}{BLACK} Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Max. T.K.: {LTBLUE}{FORCE}
|
||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max.snelheid: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max.snelheid: {LTBLUE}{VELOCITY} {BLACK}Vliegtuigtype: {LTBLUE}{STRING}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max.snelheid: {LTBLUE}{VELOCITY} {BLACK}Vliegtuigtype: {LTBLUE}{STRING} {BLACK}Bereik: {LTBLUE}{COMMA} tegels
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Vermogen: {LTBLUE}{POWER}{BLACK} Max.snelheid: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Vermogen: {LTBLUE}{POWER}{BLACK} Max.snelheid: {LTBLUE}{VELOCITY} {BLACK}Max. tr.kr..: {LTBLUE}{FORCE}
|
||||
|
||||
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Winst dit jaar: {LTBLUE}{CURRENCY_LONG} (vorig jaar: {CURRENCY_LONG})
|
||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Betrouwbaarheid: {LTBLUE}{COMMA}% {BLACK}Aantal keren motorpech sinds laatste onderhoud: {LTBLUE}{COMMA}
|
||||
@@ -3831,7 +3831,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE
|
||||
STR_ORDERS_TIMETABLE_VIEW :{BLACK}Dienstregeling
|
||||
STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Naar dienstregeling schakelen
|
||||
|
||||
STR_ORDERS_LIST_TOOLTIP :{BLACK}Orderlijst - klik op een order om deze te selecteren. Ctrl+klik scrollt naar het station
|
||||
STR_ORDERS_LIST_TOOLTIP :{BLACK}Orderlijst - klik op een order om deze te selecteren. Met Ctrl+klik ga je naar de bestemming van de order.
|
||||
STR_ORDER_INDEX :{COMMA}:{NBSP}
|
||||
STR_ORDER_TEXT :{STRING} {STRING} {STRING}
|
||||
|
||||
@@ -3864,19 +3864,19 @@ STR_ORDER_REFIT :{BLACK}Ombouwen
|
||||
STR_ORDER_REFIT_TOOLTIP :{BLACK}Kies naar welk type vracht moet worden omgebouwd in deze order. Ctrl+klik om ombouwopdracht te verwijderen
|
||||
STR_ORDER_REFIT_AUTO :{BLACK}Ombouwen
|
||||
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Kies vrachttype om naar om te bouwen in deze order. Ctrl+Klik om ombouwopdracht te verwijderen. Ombouwen wordt alleen uitgevoerd als het voertuig dit toelaat
|
||||
STR_ORDER_DROP_REFIT_AUTO :Voorgedefinieerde vracht
|
||||
STR_ORDER_DROP_REFIT_AUTO :Vaste vracht
|
||||
STR_ORDER_DROP_REFIT_AUTO_ANY :Beschikbare vracht
|
||||
|
||||
STR_ORDER_SERVICE :{BLACK}Onderhoud
|
||||
STR_ORDER_DROP_GO_ALWAYS_DEPOT :Ga altijd
|
||||
STR_ORDER_DROP_SERVICE_DEPOT :Onderhoud wanneer nodig
|
||||
STR_ORDER_DROP_HALT_DEPOT :Stop
|
||||
STR_ORDER_DROP_GO_ALWAYS_DEPOT :Altijd gaan
|
||||
STR_ORDER_DROP_SERVICE_DEPOT :Onderhouden wanneer nodig
|
||||
STR_ORDER_DROP_HALT_DEPOT :Stoppen
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Deze order overslaan, tenzij onderhoud nodig is
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Voertuiggegevens voor basisspringen wanneer
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Laad percentage
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Laadpercentage
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Betrouwbaarheid
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Maximumsnelheid
|
||||
STR_ORDER_CONDITIONAL_AGE :Leeftijd (jaren)
|
||||
@@ -3885,7 +3885,7 @@ STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Altijd
|
||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Resterende levensverwachting (jaren)
|
||||
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maximale betrouwbaarheid
|
||||
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Op welke manier vergelijken van de voertuiginfo bij de opgegeven waarde
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Bepaalt op welke manier de voertuiggegevens worden vergeleken met de opgegeven waarde
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :is gelijk aan
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :is niet gelijk aan
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :is minder dan
|
||||
@@ -3895,13 +3895,13 @@ STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :is meer of geli
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :is waar
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :is niet waar
|
||||
|
||||
STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}De waarde waartegen het voertuig wordt vergeleken
|
||||
STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}De waarde waarmee de voertuiggegevens worden vergeleken
|
||||
STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Geef waarde voor de vergelijking
|
||||
|
||||
STR_ORDERS_SKIP_BUTTON :{BLACK}Overslaan
|
||||
STR_ORDERS_SKIP_TOOLTIP :{BLACK}Huidige order overslaan en de volgende uitvoeren. Ctrl+klik begint direct met geselecteerde order.
|
||||
|
||||
STR_ORDERS_DELETE_BUTTON :{BLACK}Verwijder
|
||||
STR_ORDERS_DELETE_BUTTON :{BLACK}Verwijderen
|
||||
STR_ORDERS_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde order
|
||||
STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Verwijder alle orders
|
||||
STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Stop met delen
|
||||
@@ -3921,7 +3921,7 @@ STR_ORDER_GO_TO_WAYPOINT :Ga via {WAYPOIN
|
||||
STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ga non-stop via {WAYPOINT}
|
||||
|
||||
STR_ORDER_SERVICE_AT :Onderhoud bij
|
||||
STR_ORDER_SERVICE_NON_STOP_AT :Onderhoud non-stop bij
|
||||
STR_ORDER_SERVICE_NON_STOP_AT :Non-stop naar onderhoud bij
|
||||
|
||||
STR_ORDER_NEAREST_DEPOT :het dichtstbijzijnde
|
||||
STR_ORDER_NEAREST_HANGAR :de dichtstbijzijnde hangar
|
||||
@@ -3990,7 +3990,7 @@ STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Ga naar
|
||||
STR_TIMETABLE_TOOLTIP :{BLACK}Dienstregeling - klik op een order om te selecteren
|
||||
|
||||
STR_TIMETABLE_NO_TRAVEL :Niet rijden
|
||||
STR_TIMETABLE_NOT_TIMETABLEABLE :Rijd (automatisch; volgens dienstregeling bij volgende handmatige bestemming)
|
||||
STR_TIMETABLE_NOT_TIMETABLEABLE :Rijden (automatisch; volgens dienstregeling bij volgende handmatige bestemming)
|
||||
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Reis (geen dienstregeling)
|
||||
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis met maximaal {2:VELOCITY} (geen dienstregeling)
|
||||
STR_TIMETABLE_TRAVEL_FOR :Reis naar {STRING}
|
||||
@@ -3999,8 +3999,8 @@ STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Reis (gedurende
|
||||
STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Reis (gedurende {STRING}, geen dienstregeling) maximaal {VELOCITY}
|
||||
STR_TIMETABLE_STAY_FOR_ESTIMATED :(wacht gedurende {STRING}, geen dienstregeling)
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(reis gedurende {STRING}, geen dienstregeling)
|
||||
STR_TIMETABLE_STAY_FOR :en blijf voor {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :en rijd naar {STRING}
|
||||
STR_TIMETABLE_STAY_FOR :en blijf gedurende {STRING}
|
||||
STR_TIMETABLE_AND_TRAVEL_FOR :en rijd {STRING}
|
||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}dag{P "" en}
|
||||
STR_TIMETABLE_TICKS :{COMMA}{NBSP}tik{P "" ken}
|
||||
|
||||
@@ -4011,28 +4011,28 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Dit voer
|
||||
STR_TIMETABLE_STATUS_LATE :{BLACK}Dit voertuig heeft {STRING} vertraging
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Dit voertuig is {STRING} te vroeg
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Deze dienstregeling is nog niet gestart
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Deze dienstregeling begint bij {STRING}
|
||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Deze dienstregeling begint op {STRING}
|
||||
|
||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Startdatum
|
||||
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecteer een datum als startpunt voor deze dienstregeling. Ctrl + klik geeft het startpunt van deze dienstregeling en verdeelt alle voertuigen die deze orders delen gelijkmatig op basis van hun relatieve volgorde, als de order volledig is ingeroosterd.
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Verander de tijd
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Tijd wijzigen
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Verander de tijdsduur die de geselecteerde order mag duren
|
||||
|
||||
STR_TIMETABLE_CLEAR_TIME :{BLACK}Verwijder tijd
|
||||
STR_TIMETABLE_CLEAR_TIME :{BLACK}Tijd wissen
|
||||
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Verwijder de tijdsduur die de geselecteerde order mag duren
|
||||
|
||||
STR_TIMETABLE_CHANGE_SPEED :{BLACK}Wijzig Maximumsnelheid
|
||||
STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Wijzig de maximumsnelheid voor de gekozen order
|
||||
|
||||
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Verwijder Snelheidslimiet
|
||||
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Snelheidslimiet wissen
|
||||
STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Verwijder de maximumsnelheid van de gekozen order
|
||||
|
||||
STR_TIMETABLE_RESET_LATENESS :{BLACK}Reset vertragingsteller
|
||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reset de vertragingsteller zodat het voertuig op tijd is
|
||||
STR_TIMETABLE_RESET_LATENESS :{BLACK}Vertragingsteller terugstellen
|
||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Stel de vertragingsteller terug zodat het voertuig op tijd is
|
||||
|
||||
STR_TIMETABLE_AUTOFILL :{BLACK}Automatisch vullen
|
||||
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Vul de dienstregeling automatisch in aan de hand van de volgende reis (Ctrl+klik om proberen wachttijden te bewaren)
|
||||
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Vul de dienstregeling automatisch in aan de hand van de volgende reis (Ctrl+klik om te proberen om wachttijden te bewaren)
|
||||
|
||||
STR_TIMETABLE_EXPECTED :{BLACK}Verwacht
|
||||
STR_TIMETABLE_SCHEDULED :{BLACK}Volgens dienstregeling
|
||||
@@ -4046,9 +4046,9 @@ STR_TIMETABLE_DEPARTURE_ABBREVIATION :V:
|
||||
STR_DATE_CAPTION :{WHITE}Datum selecteren
|
||||
STR_DATE_SET_DATE :{BLACK}Datum selecteren
|
||||
STR_DATE_SET_DATE_TOOLTIP :{BLACK}Gebruik de geselecteerde datum als startdatum voor de dienstregeling
|
||||
STR_DATE_DAY_TOOLTIP :{BLACK}Selecteer dag
|
||||
STR_DATE_MONTH_TOOLTIP :{BLACK}Selecteer maand
|
||||
STR_DATE_YEAR_TOOLTIP :{BLACK}Selecteer jaar
|
||||
STR_DATE_DAY_TOOLTIP :{BLACK}Selecteer de dag
|
||||
STR_DATE_MONTH_TOOLTIP :{BLACK}Selecteer de maand
|
||||
STR_DATE_YEAR_TOOLTIP :{BLACK}Selecteer het jaar
|
||||
|
||||
|
||||
# AI debug window
|
||||
@@ -4125,12 +4125,12 @@ STR_AI_SETTINGS_START_DELAY :Aantal dagen da
|
||||
|
||||
|
||||
# Textfile window
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} leesme van {STRING}
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} leesmij van {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} wijzigingen van {STRING}
|
||||
STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} licentie van {STRING}
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Tekst afbreken
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Tekst aanpassen aan venster zodat je niet hoeft te bladeren
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Bekijk leesme
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Leesmij-bestand bekijken
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Wijzigingen
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licentie
|
||||
|
||||
@@ -4181,8 +4181,8 @@ STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... er i
|
||||
|
||||
STR_ERROR_PNGMAP :{WHITE}Kan landschap uit PNG niet laden...
|
||||
STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... bestand niet gevonden
|
||||
STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... kon afbeelding niet omzetten. 8 óf 24-bit PNG afbeelding nodig
|
||||
STR_ERROR_PNGMAP_MISC :{WHITE}... er ging iets fout. Sorry (bestand waarschijnlijk corrupt)
|
||||
STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... kon afbeelding niet omzetten. 8 óf 24 bits-PNG-afbeelding nodig
|
||||
STR_ERROR_PNGMAP_MISC :{WHITE}... er ging iets fout. Sorry (bestand waarschijnlijk beschadigd)
|
||||
|
||||
STR_ERROR_BMPMAP :{WHITE}Kan het landschap uit BMP niet laden...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... kan dit type afbeelding niet omzetten
|
||||
@@ -4199,7 +4199,7 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Alleen b
|
||||
STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Grote schermfoto
|
||||
STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}De schermfoto heeft een resolutie van {COMMA} x {COMMA} pixels. Het maken van de schermfoto kan even duren. Verder gaan?
|
||||
|
||||
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Schermafbeelding succesvol opgeslagen als '{STRING}'
|
||||
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Schermafbeelding opgeslagen als '{STRING}'
|
||||
STR_ERROR_SCREENSHOT_FAILED :{WHITE}Schermfoto mislukt!
|
||||
|
||||
# Error message titles
|
||||
@@ -4320,7 +4320,7 @@ STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... weg
|
||||
|
||||
# Station destruction related errors
|
||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan deel van station niet verwijderen...
|
||||
STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Treinstation moet eerst verwijderd worden
|
||||
STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Verwijder eerst treinstation
|
||||
STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kan busstation niet verwijderen...
|
||||
STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kan vrachtwagenlaadstation niet verwijderen...
|
||||
STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Kan passagierstramstation niet verwijderen...
|
||||
@@ -4382,7 +4382,7 @@ STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(onvoldoende ge
|
||||
|
||||
# Rail construction errors
|
||||
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Onmogelijke spoorcombinatie
|
||||
STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Sein moet eerst worden verwijderd
|
||||
STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Verwijder eerst sein
|
||||
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Geen bruikbaar spoor
|
||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Moet spoor eerst verwijderen
|
||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Weg is eenrichtingsverkeer of geblokkeerd
|
||||
@@ -4416,7 +4416,7 @@ STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... kan
|
||||
STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... kan niet op de zee bouwen
|
||||
STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... kan niet op kanaal bouwen
|
||||
STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... kan niet op rivier bouwen
|
||||
STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Het kanaal moet eerst verwijderd worden
|
||||
STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Verwijder eerst kanaal
|
||||
STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Kan hier geen aquaduct bouwen...
|
||||
|
||||
# Tree related errors
|
||||
@@ -4426,7 +4426,7 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Kan hier
|
||||
|
||||
# Bridge related errors
|
||||
STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Kan hier geen brug bouwen...
|
||||
STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Brug moet eerst afgebroken worden
|
||||
STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Breek eerst brug af
|
||||
STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Kan niet beginnen en eindigen op dezelfde plaats
|
||||
STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Begin van bruggen niet op hetzelfde niveau
|
||||
STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}Brug is te laag voor dit terrein
|
||||
@@ -4439,7 +4439,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Brug zou
|
||||
# Tunnel related errors
|
||||
STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Kan hier geen tunnel bouwen...
|
||||
STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Locatie ongeschikt voor ingang tunnel
|
||||
STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Tunnel moet eerst afgebroken worden
|
||||
STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Verwijder eerst tunnel
|
||||
STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Andere tunnel in de weg
|
||||
STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Tunnel eindigt buiten de kaart
|
||||
STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Kan geen land uitgraven voor andere uiteinde tunnel
|
||||
@@ -4513,8 +4513,8 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan onde
|
||||
|
||||
STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... voertuig is vernietigd
|
||||
|
||||
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Geen enkel voertuig zal beschikbaar zijn
|
||||
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pas je NewGRF configuratie aan
|
||||
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Er zullen geen voertuigen beschikbaar zijn
|
||||
STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Pas je NewGRF-configuratie aan
|
||||
STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nog geen voertuigen beschikbaar
|
||||
STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE} Start een nieuw spel na {DATE_SHORT} of gebruik een NewGRF dat in vroege voertuigen voorziet
|
||||
|
||||
|
@@ -996,7 +996,12 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Taille double
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Taille quadruple
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Taille de police
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Choisir la taille de police d'interface à utiliser
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Taille double
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Taille quadruple
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Graphiques de base
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Sélectionner les graphiques de base à utiliser
|
||||
@@ -2743,6 +2748,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Rendu de
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Vues{NBSP}:
|
||||
STR_FRAMERATE_VIDEO :{BLACK}Sortie vidéo{NBSP}:
|
||||
STR_FRAMERATE_SOUND :{BLACK}Mixage sonore{NBSP}:
|
||||
STR_FRAMERATE_ALLSCRIPTS :{BLACK} Total GS/IA{NBSP}:
|
||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de jeu{NBSP}:
|
||||
STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Boucle de jeu
|
||||
@@ -2757,6 +2765,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Rendu des graph
|
||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Rendu des vues
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Sortie vidéo
|
||||
STR_FRAMETIME_CAPTION_SOUND :Mixage sonore
|
||||
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Total des scripts GS/IA
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Script de jeu
|
||||
STR_FRAMETIME_CAPTION_AI :IA {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
|
@@ -2793,9 +2793,9 @@ STR_FRAMERATE_DATA_POINTS :{BLACK}Adatok {
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} képkocka/másodperc
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} képkocka/másodperc
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} képkocka/másodperc
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} frame/s
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} frame/s
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} frame/s
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||
############ Leave those lines in this order!!
|
||||
|
@@ -997,7 +997,12 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2 ganger størrelse
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4 ganger størrelse
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Skriftstørrelse
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Velg skriftstørrelse for grensesnitt
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobbel størrelse
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Firedobbel størrelse
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikksett
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Velg grafikksett som skal brukes
|
||||
@@ -2746,6 +2751,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Grafikkt
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Synsfelt for spillverden:
|
||||
STR_FRAMERATE_VIDEO :{BLACK}Video output:
|
||||
STR_FRAMERATE_SOUND :{BLACK}Lydmiksing:
|
||||
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI total:
|
||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Game script:
|
||||
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Spill-løkke
|
||||
@@ -2760,6 +2768,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Grafikktegning
|
||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Tegning av synsfelt for spillverden
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Video output
|
||||
STR_FRAMETIME_CAPTION_SOUND :Lydmiksing
|
||||
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/AI scripts total
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Game script
|
||||
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
|
@@ -996,7 +996,12 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobro do tamanho
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo do tamanho
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamanho da fonte
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleccionar tamanho da fonte de interface a usar
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobro do tamanho
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo do tamanho
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Seleccione o conjunto de gráficos base a usar
|
||||
@@ -2743,6 +2748,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Renderiz
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Janelas de exibição do mundo:
|
||||
STR_FRAMERATE_VIDEO :{BLACK}Saída de video:
|
||||
STR_FRAMERATE_SOUND :{BLACK}Mistura de Som:
|
||||
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI total:
|
||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de jogo:
|
||||
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Loop de jogo
|
||||
@@ -2757,6 +2765,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Renderização
|
||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderização de janela de exibição do mundo
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Saída de video
|
||||
STR_FRAMETIME_CAPTION_SOUND :Mistura de Som
|
||||
STR_FRAMETIME_CAPTION_ALLSCRIPTS :total scripts GS/AI
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Script de jogo
|
||||
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
|
@@ -475,6 +475,7 @@ STR_ABOUT_MENU_SCREENSHOT :Capturează ecr
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Captură mărită
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Mărimea implicită a capturii
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Capturează toată harta
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Arată FPS
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Despre 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Aliniere imagini
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Afişează/ascunde casetele de încadrare
|
||||
@@ -923,6 +924,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Rand sud-africa
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizată...
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgian (GEL)
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iranian (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Ruble rusești (RUB)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Autovehiculele circulă...
|
||||
@@ -1118,6 +1120,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Setări joc (st
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Setări companie (stocate în salvări; afectează doar jocurile noi)
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Setări compenia (stocate în salvări; afectează doar compania curentă)
|
||||
STR_CONFIG_SETTING_CATEGORY_HIDES :{BLACK}Arată toate rezultatele de căutare setând{}{SILVER}Categoria {BLACK}în {WHITE}{STRING}
|
||||
STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Arată toate rezultatele de căutare setând{}{SILVER}Tipul {BLACK}în {WHITE}Toate tipurile de setări
|
||||
STR_CONFIG_SETTINGS_NONE :{WHITE}- Nespecificat -
|
||||
|
||||
STR_CONFIG_SETTING_OFF :Inactiv
|
||||
@@ -1328,6 +1331,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Culoarea terenu
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Verde
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde închis
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Mov
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mută harta ținând apăsat click dreapta, poziția cursorului rămânând fixă
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Derulare uşoară ecran: {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controlează modul de deplasare a imaginii din ecranul principal când se face click pe harta mică sau când se execută o comandă de deplasare către un obiect anume de pe hartă. Dacă este activată, imaginea se deplasează în mod fluid, altfel imaginea sare direct la zona dorită
|
||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Arată o indicaţie de distanţă la folosirea uneltelor de construcţie: {STRING}
|
||||
@@ -1598,6 +1602,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modalitatea de
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modalitatea de distribuire pentru alte clase de cargo: {STRING}
|
||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Acurateţea distribuţiei: {STRING}
|
||||
STR_CONFIG_SETTING_DEMAND_DISTANCE :Efectul distanţei asupra cererii: {STRING}
|
||||
STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Dacă setezi această valoare peste 0, distanța dintre stația origine A al mărfii și o posibilă stație B va afecta cantitatea de marfă trimisă din punctul A în B. Cu cât e mai departe B de A cu atât va fi mai mică cantitatea de marfă transportată. Cu cât mărești această valoare, cu atât mai puțină marfă se livrează spre destinațiile îndepărtate si cu atât mai multă la cele mai apropiate.
|
||||
STR_CONFIG_SETTING_DEMAND_SIZE :Cantitatea de cargo la întoarcere pentru modul simetric: {STRING}
|
||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturaţia căilor de capacitate mică înainte de a utiliza căi de capacitate mare: {STRING}
|
||||
|
||||
@@ -2690,6 +2695,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalii
|
||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nicio informaţie disponibilă
|
||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtrare după:
|
||||
|
||||
STR_SAVELOAD_OSKTITLE :{BLACK}Introduceţi un nume pentru salvare
|
||||
|
||||
@@ -4423,6 +4429,7 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Setul de sunete
|
||||
STR_BASESOUNDS_WIN_DESCRIPTION :Setul de sunete original al Transport Tycoon Deluxe pentru Windows.
|
||||
STR_BASESOUNDS_NONE_DESCRIPTION :Un set de sunete fără nici un sunet inclus.
|
||||
STR_BASEMUSIC_WIN_DESCRIPTION :Setul de muzică original al Transport Tycoon Deluxe pentru Windows.
|
||||
STR_BASEMUSIC_DOS_DESCRIPTION :Setul de muzică original al Transport Tycoon Deluxe pentru DOS.
|
||||
STR_BASEMUSIC_NONE_DESCRIPTION :Un set de muzică fără muzică inclusă.
|
||||
|
||||
##id 0x2000
|
||||
|
@@ -996,7 +996,10 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :İki kat büyük
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Dört kat büyük
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :Arayüz boyutunu seç
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Yazı iki kat büyük
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Temel grafik kümesi
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kullanılacak temel grafik kümesini seçin
|
||||
@@ -2743,6 +2746,7 @@ STR_FRAMERATE_DRAWING :{BLACK}Grafik i
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Dünya görüş alanları:
|
||||
STR_FRAMERATE_VIDEO :{BLACK}Video çıkışı:
|
||||
STR_FRAMERATE_SOUND :{BLACK}Ses karıştırma:
|
||||
STR_FRAMERATE_GAMESCRIPT :Oyun scripti
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Oyun döngüsü
|
||||
|
@@ -125,6 +125,7 @@ struct PacketReader : LoadFilter {
|
||||
void ClientNetworkEmergencySave()
|
||||
{
|
||||
if (!_settings_client.gui.autosave_on_network_disconnect) return;
|
||||
if (!_networking) return;
|
||||
|
||||
const char *filename = "netsave.sav";
|
||||
DEBUG(net, 0, "Client: Performing emergency save (%s)", filename);
|
||||
@@ -212,6 +213,8 @@ void ClientNetworkGameSocketHandler::ClientError(NetworkRecvStatus res)
|
||||
SendError(errorno);
|
||||
}
|
||||
|
||||
ClientNetworkEmergencySave();
|
||||
|
||||
_switch_mode = SM_MENU;
|
||||
this->CloseConnection(res);
|
||||
_networking = false;
|
||||
@@ -1173,7 +1176,6 @@ void ClientNetworkGameSocketHandler::CheckConnection()
|
||||
if (lag > 20) {
|
||||
this->NetworkGameSocketHandler::CloseConnection();
|
||||
ShowErrorMessage(STR_NETWORK_ERROR_LOSTCONNECTION, INVALID_STRING_ID, WL_CRITICAL);
|
||||
ClientNetworkEmergencySave();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -5828,7 +5828,6 @@ static void GraphicsNew(ByteReader *buf)
|
||||
* B graphics-type What set of graphics the sprites define.
|
||||
* E num-sprites How many sprites are in this set?
|
||||
* V other data Graphics type specific data. Currently unused. */
|
||||
/* TODO */
|
||||
|
||||
uint8 type = buf->ReadByte();
|
||||
uint16 num = buf->ReadExtendedByte();
|
||||
@@ -6216,7 +6215,6 @@ static void SkipIf(ByteReader *buf)
|
||||
* B condition-type
|
||||
* V value
|
||||
* B num-sprites */
|
||||
/* TODO: More params. More condition types. */
|
||||
uint32 cond_val = 0;
|
||||
uint32 mask = 0;
|
||||
bool result;
|
||||
@@ -6902,12 +6900,6 @@ static void ParamSet(ByteReader *buf)
|
||||
src2 = (src2 == 0xFF) ? data : GetParamVal(src2, NULL);
|
||||
}
|
||||
|
||||
/* TODO: You can access the parameters of another GRF file by using
|
||||
* source2=FE, source1=the other GRF's parameter number and data=GRF
|
||||
* ID. This is only valid with operation 00 (set). If the GRF ID
|
||||
* cannot be found, a value of 0 is used for the parameter value
|
||||
* instead. */
|
||||
|
||||
uint32 res;
|
||||
switch (oper) {
|
||||
case 0x00:
|
||||
@@ -7008,13 +7000,13 @@ static void ParamSet(ByteReader *buf)
|
||||
break;
|
||||
}
|
||||
|
||||
/* @todo implement */
|
||||
case 0x93: // Tile refresh offset to left
|
||||
/* not implemented */
|
||||
case 0x93: // Tile refresh offset to left -- Intended to allow support for larger sprites, not necessary for OTTD
|
||||
case 0x94: // Tile refresh offset to right
|
||||
case 0x95: // Tile refresh offset upwards
|
||||
case 0x96: // Tile refresh offset downwards
|
||||
case 0x97: // Snow line height
|
||||
case 0x99: // Global ID offset
|
||||
case 0x97: // Snow line height -- Better supported by feature 8 property 10h (snow line table) TODO: implement by filling the entire snow line table with the given value
|
||||
case 0x99: // Global ID offset -- Not necessary since IDs are remapped automatically
|
||||
grfmsg(7, "ParamSet: Skipping unimplemented target 0x%02X", target);
|
||||
break;
|
||||
|
||||
@@ -8237,7 +8229,6 @@ static void ResetNewGRFErrors()
|
||||
|
||||
/**
|
||||
* Reset all NewGRF loaded data
|
||||
* TODO
|
||||
*/
|
||||
void ResetNewGRFData()
|
||||
{
|
||||
|
@@ -256,15 +256,18 @@ CommandCost CmdClearOrderBackup(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
||||
* Removes an order from all vehicles. Triggers when, say, a station is removed.
|
||||
* @param type The type of the order (OT_GOTO_[STATION|DEPOT|WAYPOINT]).
|
||||
* @param destination The destination. Can be a StationID, DepotID or WaypointID.
|
||||
* @param hangar Only used for airports in the destination.
|
||||
* When false, remove airport and hangar orders.
|
||||
* When true, remove either airport or hangar order.
|
||||
*/
|
||||
/* static */ void OrderBackup::RemoveOrder(OrderType type, DestinationID destination)
|
||||
/* static */ void OrderBackup::RemoveOrder(OrderType type, DestinationID destination, bool hangar)
|
||||
{
|
||||
OrderBackup *ob;
|
||||
FOR_ALL_ORDER_BACKUPS(ob) {
|
||||
for (Order *order = ob->orders; order != NULL; order = order->next) {
|
||||
OrderType ot = order->GetType();
|
||||
if (ot == OT_GOTO_DEPOT && (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) != 0) continue;
|
||||
if (ot == OT_IMPLICIT || (IsHangarTile(ob->tile) && ot == OT_GOTO_DEPOT)) ot = OT_GOTO_STATION;
|
||||
if (ot == OT_IMPLICIT || (IsHangarTile(ob->tile) && ot == OT_GOTO_DEPOT && !hangar)) ot = OT_GOTO_STATION;
|
||||
if (ot == type && order->GetDestination() == destination) {
|
||||
/* Remove the order backup! If a station/depot gets removed, we can't/shouldn't restore those broken orders. */
|
||||
delete ob;
|
||||
|
@@ -63,7 +63,7 @@ public:
|
||||
|
||||
static void ClearGroup(GroupID group);
|
||||
static void ClearVehicle(const Vehicle *v);
|
||||
static void RemoveOrder(OrderType type, DestinationID destination);
|
||||
static void RemoveOrder(OrderType type, DestinationID destination, bool hangar);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1834,8 +1834,11 @@ void CheckOrders(const Vehicle *v)
|
||||
* Removes an order from all vehicles. Triggers when, say, a station is removed.
|
||||
* @param type The type of the order (OT_GOTO_[STATION|DEPOT|WAYPOINT]).
|
||||
* @param destination The destination. Can be a StationID, DepotID or WaypointID.
|
||||
* @param hangar Only used for airports in the destination.
|
||||
* When false, remove airport and hangar orders.
|
||||
* When true, remove either airport or hangar order.
|
||||
*/
|
||||
void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination)
|
||||
void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination, bool hangar)
|
||||
{
|
||||
Vehicle *v;
|
||||
|
||||
@@ -1848,7 +1851,7 @@ void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination)
|
||||
Order *order;
|
||||
|
||||
order = &v->current_order;
|
||||
if ((v->type == VEH_AIRCRAFT && order->IsType(OT_GOTO_DEPOT) ? OT_GOTO_STATION : order->GetType()) == type &&
|
||||
if ((v->type == VEH_AIRCRAFT && order->IsType(OT_GOTO_DEPOT) && !hangar ? OT_GOTO_STATION : order->GetType()) == type &&
|
||||
v->current_order.GetDestination() == destination) {
|
||||
order->MakeDummy();
|
||||
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
|
||||
@@ -1862,7 +1865,7 @@ restart:
|
||||
|
||||
OrderType ot = order->GetType();
|
||||
if (ot == OT_GOTO_DEPOT && (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) != 0) continue;
|
||||
if (ot == OT_IMPLICIT || (v->type == VEH_AIRCRAFT && ot == OT_GOTO_DEPOT)) ot = OT_GOTO_STATION;
|
||||
if (ot == OT_IMPLICIT || (v->type == VEH_AIRCRAFT && ot == OT_GOTO_DEPOT && !hangar)) ot = OT_GOTO_STATION;
|
||||
if (ot == type && order->GetDestination() == destination) {
|
||||
/* We want to clear implicit orders, but we don't want to make them
|
||||
* dummy orders. They should just vanish. Also check the actual order
|
||||
@@ -1896,7 +1899,7 @@ restart:
|
||||
}
|
||||
}
|
||||
|
||||
OrderBackup::RemoveOrder(type, destination);
|
||||
OrderBackup::RemoveOrder(type, destination, hangar);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -17,7 +17,7 @@
|
||||
#include "company_type.h"
|
||||
|
||||
/* Functions */
|
||||
void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination);
|
||||
void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination, bool hangar = false);
|
||||
void InvalidateVehicleOrder(const Vehicle *v, int data);
|
||||
void CheckOrders(const Vehicle*);
|
||||
void DeleteVehicleOrders(Vehicle *v, bool keep_orderlist = false, bool reset_order_indices = true);
|
||||
|
@@ -82,7 +82,7 @@ const byte _openttd_revision_tagged = !!ISTAG!!;
|
||||
* final release will always have a lower version number than the released
|
||||
* version, thus making comparisons on specific revisions easy.
|
||||
*/
|
||||
const uint32 _openttd_newgrf_version = 1 << 28 | 9 << 24 | 0 << 20 | 0 << 19 | 28004;
|
||||
const uint32 _openttd_newgrf_version = 1 << 28 | 9 << 24 | 0 << 20 | !!ISSTABLETAG!! << 19 | 28004;
|
||||
|
||||
#ifdef __MORPHOS__
|
||||
/**
|
||||
|
@@ -21,16 +21,57 @@ void SQAICompany_Register(Squirrel *engine)
|
||||
SQAICompany.PreRegister(engine);
|
||||
SQAICompany.AddConstructor<void (ScriptCompany::*)(), 1>(engine, "x");
|
||||
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::CURRENT_QUARTER, "CURRENT_QUARTER");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::EARLIEST_QUARTER, "EARLIEST_QUARTER");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_FIRST, "COMPANY_FIRST");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_LAST, "COMPANY_LAST");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_INVALID, "COMPANY_INVALID");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_SELF, "COMPANY_SELF");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_SPECTATOR, "COMPANY_SPECTATOR");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_MALE, "GENDER_MALE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_FEMALE, "GENDER_FEMALE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID, "GENDER_INVALID");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::CURRENT_QUARTER, "CURRENT_QUARTER");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::EARLIEST_QUARTER, "EARLIEST_QUARTER");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_FIRST, "COMPANY_FIRST");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_LAST, "COMPANY_LAST");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_INVALID, "COMPANY_INVALID");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_SELF, "COMPANY_SELF");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_SPECTATOR, "COMPANY_SPECTATOR");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_MALE, "GENDER_MALE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_FEMALE, "GENDER_FEMALE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID, "GENDER_INVALID");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_DEFAULT, "LS_DEFAULT");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_STEAM, "LS_STEAM");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_DIESEL, "LS_DIESEL");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_ELECTRIC, "LS_ELECTRIC");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_MONORAIL, "LS_MONORAIL");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_MAGLEV, "LS_MAGLEV");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_DMU, "LS_DMU");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_EMU, "LS_EMU");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_STEAM, "LS_PASSENGER_WAGON_STEAM");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_DIESEL, "LS_PASSENGER_WAGON_DIESEL");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_ELECTRIC, "LS_PASSENGER_WAGON_ELECTRIC");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MONORAIL, "LS_PASSENGER_WAGON_MONORAIL");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MAGLEV, "LS_PASSENGER_WAGON_MAGLEV");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_WAGON, "LS_FREIGHT_WAGON");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_BUS, "LS_BUS");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_TRUCK, "LS_TRUCK");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_SHIP, "LS_PASSENGER_SHIP");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_SHIP, "LS_FREIGHT_SHIP");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_HELICOPTER, "LS_HELICOPTER");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_SMALL_PLANE, "LS_SMALL_PLANE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_LARGE_PLANE, "LS_LARGE_PLANE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_TRAM, "LS_PASSENGER_TRAM");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_TRAM, "LS_FREIGHT_TRAM");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::LS_INVALID, "LS_INVALID");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_BLUE, "COLOUR_DARK_BLUE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_PALE_GREEN, "COLOUR_PALE_GREEN");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_PINK, "COLOUR_PINK");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_YELLOW, "COLOUR_YELLOW");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_RED, "COLOUR_RED");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_LIGHT_BLUE, "COLOUR_LIGHT_BLUE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_GREEN, "COLOUR_GREEN");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_GREEN, "COLOUR_DARK_GREEN");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_BLUE, "COLOUR_BLUE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_CREAM, "COLOUR_CREAM");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_MAUVE, "COLOUR_MAUVE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_PURPLE, "COLOUR_PURPLE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_ORANGE, "COLOUR_ORANGE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_BROWN, "COLOUR_BROWN");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_GREY, "COLOUR_GREY");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_WHITE, "COLOUR_WHITE");
|
||||
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_INVALID, "COLOUR_INVALID");
|
||||
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::ResolveCompanyID, "ResolveCompanyID", 2, ".i");
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::IsMine, "IsMine", 2, ".i");
|
||||
@@ -59,6 +100,10 @@ void SQAICompany_Register(Squirrel *engine)
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewMonths, "GetAutoRenewMonths", 2, ".i");
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetAutoRenewMoney, "SetAutoRenewMoney", 2, ".i");
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewMoney, "GetAutoRenewMoney", 2, ".i");
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetPrimaryLiveryColour, "SetPrimaryLiveryColour", 3, ".ii");
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetSecondaryLiveryColour, "SetSecondaryLiveryColour", 3, ".ii");
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetPrimaryLiveryColour, "GetPrimaryLiveryColour", 2, ".i");
|
||||
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetSecondaryLiveryColour, "GetSecondaryLiveryColour", 2, ".i");
|
||||
|
||||
SQAICompany.PostRegister(engine);
|
||||
}
|
||||
|
@@ -26,11 +26,13 @@ void SQAIGroup_Register(Squirrel *engine)
|
||||
SQAIGroup.DefSQConst(engine, ScriptGroup::GROUP_INVALID, "GROUP_INVALID");
|
||||
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::IsValidGroup, "IsValidGroup", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::CreateGroup, "CreateGroup", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::CreateGroup, "CreateGroup", 3, ".ii");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::DeleteGroup, "DeleteGroup", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetVehicleType, "GetVehicleType", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::SetName, "SetName", 3, ".i.");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetName, "GetName", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::SetParent, "SetParent", 3, ".ii");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetParent, "GetParent", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::EnableAutoReplaceProtection, "EnableAutoReplaceProtection", 3, ".ib");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetAutoReplaceProtection, "GetAutoReplaceProtection", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetNumEngines, "GetNumEngines", 3, ".ii");
|
||||
@@ -40,6 +42,9 @@ void SQAIGroup_Register(Squirrel *engine)
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::SetAutoReplace, "SetAutoReplace", 4, ".iii");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetEngineReplacement, "GetEngineReplacement", 3, ".ii");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::StopAutoReplace, "StopAutoReplace", 3, ".ii");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetProfitThisYear, "GetProfitThisYear", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetProfitLastYear, "GetProfitLastYear", 2, ".i");
|
||||
SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetCurrentUsage, "GetCurrentUsage", 2, ".i");
|
||||
|
||||
SQAIGroup.PostRegister(engine);
|
||||
}
|
||||
|
@@ -20,9 +20,16 @@
|
||||
* 1.9.0 is not yet released. The following changes are not set in stone yet.
|
||||
* API additions:
|
||||
* \li AIAirport::GetMonthlyMaintenanceCost
|
||||
* \li AIGroup::SetParent
|
||||
* \li AIGroup::GetParent
|
||||
* \li AICompany::SetPrimaryLiveryColour
|
||||
* \li AICompany::SetSecondaryLiveryColour
|
||||
* \li AICompany::GetPrimaryLiveryColour
|
||||
* \li AICompany::GetSecondaryLiveryColour
|
||||
*
|
||||
* Other changes:
|
||||
* \li AIBridge::GetName takes one extra parameter to refer the vehicle type
|
||||
* \li AIGroup::CreateGroup gains parent_group_id parameter
|
||||
*
|
||||
* \b 1.8.0
|
||||
*
|
||||
|
@@ -21,30 +21,71 @@ void SQGSCompany_Register(Squirrel *engine)
|
||||
SQGSCompany.PreRegister(engine);
|
||||
SQGSCompany.AddConstructor<void (ScriptCompany::*)(), 1>(engine, "x");
|
||||
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::CURRENT_QUARTER, "CURRENT_QUARTER");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EARLIEST_QUARTER, "EARLIEST_QUARTER");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_FIRST, "COMPANY_FIRST");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_LAST, "COMPANY_LAST");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_INVALID, "COMPANY_INVALID");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_SELF, "COMPANY_SELF");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_SPECTATOR, "COMPANY_SPECTATOR");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_MALE, "GENDER_MALE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_FEMALE, "GENDER_FEMALE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID, "GENDER_INVALID");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_CONSTRUCTION, "EXPENSES_CONSTRUCTION");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_NEW_VEHICLES, "EXPENSES_NEW_VEHICLES");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_RUN, "EXPENSES_TRAIN_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_RUN, "EXPENSES_ROADVEH_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_RUN, "EXPENSES_AIRCRAFT_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_RUN, "EXPENSES_SHIP_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_PROPERTY, "EXPENSES_PROPERTY");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_INC, "EXPENSES_TRAIN_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_INC, "EXPENSES_ROADVEH_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_INC, "EXPENSES_AIRCRAFT_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_INC, "EXPENSES_SHIP_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_LOAN_INT, "EXPENSES_LOAN_INT");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_OTHER, "EXPENSES_OTHER");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_INVALID, "EXPENSES_INVALID");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::CURRENT_QUARTER, "CURRENT_QUARTER");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EARLIEST_QUARTER, "EARLIEST_QUARTER");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_FIRST, "COMPANY_FIRST");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_LAST, "COMPANY_LAST");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_INVALID, "COMPANY_INVALID");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_SELF, "COMPANY_SELF");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_SPECTATOR, "COMPANY_SPECTATOR");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_MALE, "GENDER_MALE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_FEMALE, "GENDER_FEMALE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID, "GENDER_INVALID");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_DEFAULT, "LS_DEFAULT");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_STEAM, "LS_STEAM");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_DIESEL, "LS_DIESEL");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_ELECTRIC, "LS_ELECTRIC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_MONORAIL, "LS_MONORAIL");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_MAGLEV, "LS_MAGLEV");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_DMU, "LS_DMU");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_EMU, "LS_EMU");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_STEAM, "LS_PASSENGER_WAGON_STEAM");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_DIESEL, "LS_PASSENGER_WAGON_DIESEL");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_ELECTRIC, "LS_PASSENGER_WAGON_ELECTRIC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MONORAIL, "LS_PASSENGER_WAGON_MONORAIL");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MAGLEV, "LS_PASSENGER_WAGON_MAGLEV");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_WAGON, "LS_FREIGHT_WAGON");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_BUS, "LS_BUS");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_TRUCK, "LS_TRUCK");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_SHIP, "LS_PASSENGER_SHIP");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_SHIP, "LS_FREIGHT_SHIP");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_HELICOPTER, "LS_HELICOPTER");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_SMALL_PLANE, "LS_SMALL_PLANE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_LARGE_PLANE, "LS_LARGE_PLANE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_TRAM, "LS_PASSENGER_TRAM");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_TRAM, "LS_FREIGHT_TRAM");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::LS_INVALID, "LS_INVALID");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_BLUE, "COLOUR_DARK_BLUE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_PALE_GREEN, "COLOUR_PALE_GREEN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_PINK, "COLOUR_PINK");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_YELLOW, "COLOUR_YELLOW");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_RED, "COLOUR_RED");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_LIGHT_BLUE, "COLOUR_LIGHT_BLUE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_GREEN, "COLOUR_GREEN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_GREEN, "COLOUR_DARK_GREEN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_BLUE, "COLOUR_BLUE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_CREAM, "COLOUR_CREAM");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_MAUVE, "COLOUR_MAUVE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_PURPLE, "COLOUR_PURPLE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_ORANGE, "COLOUR_ORANGE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_BROWN, "COLOUR_BROWN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_GREY, "COLOUR_GREY");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_WHITE, "COLOUR_WHITE");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_INVALID, "COLOUR_INVALID");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_CONSTRUCTION, "EXPENSES_CONSTRUCTION");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_NEW_VEHICLES, "EXPENSES_NEW_VEHICLES");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_RUN, "EXPENSES_TRAIN_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_RUN, "EXPENSES_ROADVEH_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_RUN, "EXPENSES_AIRCRAFT_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_RUN, "EXPENSES_SHIP_RUN");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_PROPERTY, "EXPENSES_PROPERTY");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_INC, "EXPENSES_TRAIN_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_INC, "EXPENSES_ROADVEH_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_INC, "EXPENSES_AIRCRAFT_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_INC, "EXPENSES_SHIP_INC");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_LOAN_INT, "EXPENSES_LOAN_INT");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_OTHER, "EXPENSES_OTHER");
|
||||
SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_INVALID, "EXPENSES_INVALID");
|
||||
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::ResolveCompanyID, "ResolveCompanyID", 2, ".i");
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetName, "SetName", 2, "..");
|
||||
@@ -69,6 +110,10 @@ void SQGSCompany_Register(Squirrel *engine)
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewStatus, "GetAutoRenewStatus", 2, ".i");
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewMonths, "GetAutoRenewMonths", 2, ".i");
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewMoney, "GetAutoRenewMoney", 2, ".i");
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetPrimaryLiveryColour, "SetPrimaryLiveryColour", 3, ".ii");
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetSecondaryLiveryColour, "SetSecondaryLiveryColour", 3, ".ii");
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetPrimaryLiveryColour, "GetPrimaryLiveryColour", 2, ".i");
|
||||
SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetSecondaryLiveryColour, "GetSecondaryLiveryColour", 2, ".i");
|
||||
|
||||
SQGSCompany.PostRegister(engine);
|
||||
}
|
||||
|
@@ -296,3 +296,33 @@
|
||||
|
||||
return ::Company::Get((CompanyID)company)->settings.engine_renew_money;
|
||||
}
|
||||
|
||||
/* static */ bool ScriptCompany::SetPrimaryLiveryColour(LiveryScheme scheme, Colours colour)
|
||||
{
|
||||
return ScriptObject::DoCommand(0, scheme, colour, CMD_SET_COMPANY_COLOUR);
|
||||
}
|
||||
|
||||
/* static */ bool ScriptCompany::SetSecondaryLiveryColour(LiveryScheme scheme, Colours colour)
|
||||
{
|
||||
return ScriptObject::DoCommand(0, scheme | 1 << 8, colour, CMD_SET_COMPANY_COLOUR);
|
||||
}
|
||||
|
||||
/* static */ ScriptCompany::Colours ScriptCompany::GetPrimaryLiveryColour(ScriptCompany::LiveryScheme scheme)
|
||||
{
|
||||
if ((::LiveryScheme)scheme < LS_BEGIN || (::LiveryScheme)scheme >= LS_END) return COLOUR_INVALID;
|
||||
|
||||
const Company *c = ::Company::GetIfValid(_current_company);
|
||||
if (c == NULL) return COLOUR_INVALID;
|
||||
|
||||
return (ScriptCompany::Colours)c->livery[scheme].colour1;
|
||||
}
|
||||
|
||||
/* static */ ScriptCompany::Colours ScriptCompany::GetSecondaryLiveryColour(ScriptCompany::LiveryScheme scheme)
|
||||
{
|
||||
if ((::LiveryScheme)scheme < LS_BEGIN || (::LiveryScheme)scheme >= LS_END) return COLOUR_INVALID;
|
||||
|
||||
const Company *c = ::Company::GetIfValid(_current_company);
|
||||
if (c == NULL) return COLOUR_INVALID;
|
||||
|
||||
return (ScriptCompany::Colours)c->livery[scheme].colour2;
|
||||
}
|
||||
|
@@ -14,6 +14,8 @@
|
||||
|
||||
#include "script_text.hpp"
|
||||
#include "../../economy_type.h"
|
||||
#include "../../livery.h"
|
||||
#include "../../gfx_type.h"
|
||||
|
||||
/**
|
||||
* Class that handles all company related functions.
|
||||
@@ -46,6 +48,55 @@ public:
|
||||
GENDER_INVALID = -1, ///< An invalid gender.
|
||||
};
|
||||
|
||||
/** List of different livery schemes. */
|
||||
enum LiveryScheme {
|
||||
LS_DEFAULT, ///< Default scheme.
|
||||
LS_STEAM, ///< Steam engines.
|
||||
LS_DIESEL, ///< Diesel engines.
|
||||
LS_ELECTRIC, ///< Electric engines.
|
||||
LS_MONORAIL, ///< Monorail engines.
|
||||
LS_MAGLEV, ///< Maglev engines.
|
||||
LS_DMU, ///< DMUs and their passenger wagons.
|
||||
LS_EMU, ///< EMUs and their passenger wagons.
|
||||
LS_PASSENGER_WAGON_STEAM, ///< Passenger wagons attached to steam engines.
|
||||
LS_PASSENGER_WAGON_DIESEL, ///< Passenger wagons attached to diesel engines.
|
||||
LS_PASSENGER_WAGON_ELECTRIC, ///< Passenger wagons attached to electric engines.
|
||||
LS_PASSENGER_WAGON_MONORAIL, ///< Passenger wagons attached to monorail engines.
|
||||
LS_PASSENGER_WAGON_MAGLEV, ///< Passenger wagons attached to maglev engines.
|
||||
LS_FREIGHT_WAGON, ///< Freight wagons.
|
||||
LS_BUS, ///< Buses.
|
||||
LS_TRUCK, ///< Trucks.
|
||||
LS_PASSENGER_SHIP, ///< Passenger ships.
|
||||
LS_FREIGHT_SHIP, ///< Freight ships.
|
||||
LS_HELICOPTER, ///< Helicopters.
|
||||
LS_SMALL_PLANE, ///< Small aeroplanes.
|
||||
LS_LARGE_PLANE, ///< Large aeroplanes.
|
||||
LS_PASSENGER_TRAM, ///< Passenger trams.
|
||||
LS_FREIGHT_TRAM, ///< Freight trams.
|
||||
LS_INVALID = -1,
|
||||
};
|
||||
|
||||
/** List of colours. */
|
||||
enum Colours {
|
||||
COLOUR_DARK_BLUE,
|
||||
COLOUR_PALE_GREEN,
|
||||
COLOUR_PINK,
|
||||
COLOUR_YELLOW,
|
||||
COLOUR_RED,
|
||||
COLOUR_LIGHT_BLUE,
|
||||
COLOUR_GREEN,
|
||||
COLOUR_DARK_GREEN,
|
||||
COLOUR_BLUE,
|
||||
COLOUR_CREAM,
|
||||
COLOUR_MAUVE,
|
||||
COLOUR_PURPLE,
|
||||
COLOUR_ORANGE,
|
||||
COLOUR_BROWN,
|
||||
COLOUR_GREY,
|
||||
COLOUR_WHITE,
|
||||
COLOUR_INVALID = ::INVALID_COLOUR
|
||||
};
|
||||
|
||||
/**
|
||||
* Types of expenses.
|
||||
* @api -ai
|
||||
@@ -331,6 +382,36 @@ public:
|
||||
* @return The minimum required money for autorenew to work.
|
||||
*/
|
||||
static Money GetAutoRenewMoney(CompanyID company);
|
||||
|
||||
/**
|
||||
* Set primary colour for your company.
|
||||
* @param scheme Livery scheme to set.
|
||||
* @param colour Colour to set.
|
||||
* @return False if unable to set primary colour of the livery scheme (e.g. colour in use).
|
||||
*/
|
||||
static bool SetPrimaryLiveryColour(LiveryScheme scheme, Colours colour);
|
||||
|
||||
/**
|
||||
* Set secondary colour for your company.
|
||||
* @param scheme Livery scheme to set.
|
||||
* @param colour Colour to set.
|
||||
* @return False if unable to set secondary colour of the livery scheme.
|
||||
*/
|
||||
static bool SetSecondaryLiveryColour(LiveryScheme scheme, Colours colour);
|
||||
|
||||
/**
|
||||
* Get primary colour of a livery for your company.
|
||||
* @param scheme Livery scheme to get.
|
||||
* @return Primary colour of livery.
|
||||
*/
|
||||
static ScriptCompany::Colours GetPrimaryLiveryColour(LiveryScheme scheme);
|
||||
|
||||
/**
|
||||
* Get secondary colour of a livery for your company.
|
||||
* @param scheme Livery scheme to get.
|
||||
* @return Secondary colour of livery.
|
||||
*/
|
||||
static ScriptCompany::Colours GetSecondaryLiveryColour(LiveryScheme scheme);
|
||||
};
|
||||
|
||||
DECLARE_POSTFIX_INCREMENT(ScriptCompany::CompanyID)
|
||||
|
@@ -17,6 +17,7 @@
|
||||
#include "../../strings_func.h"
|
||||
#include "../../autoreplace_func.h"
|
||||
#include "../../settings_func.h"
|
||||
#include "../../vehicle_base.h"
|
||||
#include "table/strings.h"
|
||||
|
||||
#include "../../safeguards.h"
|
||||
@@ -27,9 +28,9 @@
|
||||
return g != NULL && g->owner == ScriptObject::GetCompany();
|
||||
}
|
||||
|
||||
/* static */ ScriptGroup::GroupID ScriptGroup::CreateGroup(ScriptVehicle::VehicleType vehicle_type)
|
||||
/* static */ ScriptGroup::GroupID ScriptGroup::CreateGroup(ScriptVehicle::VehicleType vehicle_type, GroupID parent_group_id)
|
||||
{
|
||||
if (!ScriptObject::DoCommand(0, (::VehicleType)vehicle_type, INVALID_GROUP, CMD_CREATE_GROUP, NULL, &ScriptInstance::DoCommandReturnGroupID)) return GROUP_INVALID;
|
||||
if (!ScriptObject::DoCommand(0, (::VehicleType)vehicle_type, parent_group_id, CMD_CREATE_GROUP, NULL, &ScriptInstance::DoCommandReturnGroupID)) return GROUP_INVALID;
|
||||
|
||||
/* In case of test-mode, we return GroupID 0 */
|
||||
return (ScriptGroup::GroupID)0;
|
||||
@@ -70,6 +71,22 @@
|
||||
return GetString(STR_GROUP_NAME);
|
||||
}
|
||||
|
||||
/* static */ bool ScriptGroup::SetParent(GroupID group_id, GroupID parent_group_id)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidGroup(group_id));
|
||||
EnforcePrecondition(false, IsValidGroup(parent_group_id));
|
||||
|
||||
return ScriptObject::DoCommand(0, group_id | 1 << 16, parent_group_id, CMD_ALTER_GROUP);
|
||||
}
|
||||
|
||||
/* static */ ScriptGroup::GroupID ScriptGroup::GetParent(GroupID group_id)
|
||||
{
|
||||
EnforcePrecondition((ScriptGroup::GroupID)INVALID_GROUP, IsValidGroup(group_id));
|
||||
|
||||
const Group *g = ::Group::GetIfValid(group_id);
|
||||
return (ScriptGroup::GroupID)g->parent;
|
||||
}
|
||||
|
||||
/* static */ bool ScriptGroup::EnableAutoReplaceProtection(GroupID group_id, bool enable)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidGroup(group_id));
|
||||
@@ -132,3 +149,48 @@
|
||||
|
||||
return ScriptObject::DoCommand(0, group_id << 16, (::INVALID_ENGINE << 16) | engine_id, CMD_SET_AUTOREPLACE);
|
||||
}
|
||||
|
||||
/* static */ Money ScriptGroup::GetProfitThisYear(GroupID group_id)
|
||||
{
|
||||
if (!IsValidGroup(group_id)) return -1;
|
||||
|
||||
Money profit = 0;
|
||||
|
||||
const Vehicle *v;
|
||||
FOR_ALL_VEHICLES(v) {
|
||||
if (v->group_id != group_id) continue;
|
||||
if (!v->IsPrimaryVehicle()) continue;
|
||||
|
||||
profit += v->GetDisplayProfitThisYear();
|
||||
}
|
||||
|
||||
return profit;
|
||||
}
|
||||
|
||||
/* static */ Money ScriptGroup::GetProfitLastYear(GroupID group_id)
|
||||
{
|
||||
if (!IsValidGroup(group_id)) return -1;
|
||||
|
||||
return ::Group::Get(group_id)->statistics.profit_last_year;
|
||||
}
|
||||
|
||||
/* static */ uint32 ScriptGroup::GetCurrentUsage(GroupID group_id)
|
||||
{
|
||||
if (!IsValidGroup(group_id)) return -1;
|
||||
|
||||
uint32 occupancy = 0;
|
||||
uint32 vehicle_count = 0;
|
||||
|
||||
const Vehicle *v;
|
||||
FOR_ALL_VEHICLES(v) {
|
||||
if (v->group_id != group_id) continue;
|
||||
if (!v->IsPrimaryVehicle()) continue;
|
||||
|
||||
occupancy += v->trip_occupancy;
|
||||
vehicle_count++;
|
||||
}
|
||||
|
||||
if (vehicle_count == 0) return -1;
|
||||
|
||||
return occupancy / vehicle_count;
|
||||
}
|
||||
|
@@ -42,11 +42,12 @@ public:
|
||||
/**
|
||||
* Create a new group.
|
||||
* @param vehicle_type The type of vehicle to create a group for.
|
||||
* @param parent_group_id The parent group id to create this group under, INVALID_GROUP for top-level.
|
||||
* @return The GroupID of the new group, or an invalid GroupID when
|
||||
* it failed. Check the return value using IsValidGroup(). In test-mode
|
||||
* 0 is returned if it was successful; any other value indicates failure.
|
||||
*/
|
||||
static GroupID CreateGroup(ScriptVehicle::VehicleType vehicle_type);
|
||||
static GroupID CreateGroup(ScriptVehicle::VehicleType vehicle_type, GroupID parent_group_id);
|
||||
|
||||
/**
|
||||
* Delete the given group. When the deletion succeeds all vehicles in the
|
||||
@@ -84,6 +85,24 @@ public:
|
||||
*/
|
||||
static char *GetName(GroupID group_id);
|
||||
|
||||
/**
|
||||
* Set parent group of a group.
|
||||
* @param group_id The group to set the parent for.
|
||||
* @param parent_group_id The parent group to set.
|
||||
* @pre IsValidGroup(group_id).
|
||||
* @pre IsValidGroup(parent_group_id).
|
||||
* @return True if and only if the parent group was changed.
|
||||
*/
|
||||
static bool SetParent(GroupID group_id, GroupID parent_group_id);
|
||||
|
||||
/**
|
||||
* Get parent group of a group.
|
||||
* @param group_id The group to get the parent of.
|
||||
* @pre IsValidGroup(group_id).
|
||||
* @return The group id of the parent group.
|
||||
*/
|
||||
static GroupID GetParent(GroupID group_id);
|
||||
|
||||
/**
|
||||
* Enable or disable autoreplace protected. If the protection is
|
||||
* enabled, global autoreplace won't affect vehicles in this group.
|
||||
@@ -171,6 +190,30 @@ public:
|
||||
* @return True if and if the replacing was successfully stopped.
|
||||
*/
|
||||
static bool StopAutoReplace(GroupID group_id, EngineID engine_id);
|
||||
|
||||
/**
|
||||
* Get the current profit of a group.
|
||||
* @param group_id The group to get the profit of.
|
||||
* @pre IsValidGroup(group_id).
|
||||
* @return The current profit the group has.
|
||||
*/
|
||||
static Money GetProfitThisYear(GroupID group_id);
|
||||
|
||||
/**
|
||||
* Get the profit of last year of a group.
|
||||
* @param group_id The group to get the profit of.
|
||||
* @pre IsValidGroup(group_id).
|
||||
* @return The current profit the group had last year.
|
||||
*/
|
||||
static Money GetProfitLastYear(GroupID group_id);
|
||||
|
||||
/**
|
||||
* Get the current vehicle usage of a group.
|
||||
* @param group_id The group to get the current usage of.
|
||||
* @pre IsValidGroup(group_id).
|
||||
* @return The current usage of the group.
|
||||
*/
|
||||
static uint32 GetCurrentUsage(GroupID group_id);
|
||||
};
|
||||
|
||||
#endif /* SCRIPT_GROUP_HPP */
|
||||
|
@@ -19,6 +19,10 @@ namespace SQConvert {
|
||||
template <> inline int Return<ScriptCompany::CompanyID>(HSQUIRRELVM vm, ScriptCompany::CompanyID res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> inline ScriptCompany::Gender GetParam(ForceType<ScriptCompany::Gender>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptCompany::Gender)tmp; }
|
||||
template <> inline int Return<ScriptCompany::Gender>(HSQUIRRELVM vm, ScriptCompany::Gender res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> inline ScriptCompany::LiveryScheme GetParam(ForceType<ScriptCompany::LiveryScheme>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptCompany::LiveryScheme)tmp; }
|
||||
template <> inline int Return<ScriptCompany::LiveryScheme>(HSQUIRRELVM vm, ScriptCompany::LiveryScheme res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> inline ScriptCompany::Colours GetParam(ForceType<ScriptCompany::Colours>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptCompany::Colours)tmp; }
|
||||
template <> inline int Return<ScriptCompany::Colours>(HSQUIRRELVM vm, ScriptCompany::Colours res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
template <> inline ScriptCompany::ExpensesType GetParam(ForceType<ScriptCompany::ExpensesType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptCompany::ExpensesType)tmp; }
|
||||
template <> inline int Return<ScriptCompany::ExpensesType>(HSQUIRRELVM vm, ScriptCompany::ExpensesType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
|
||||
|
119
src/sdl.cpp
119
src/sdl.cpp
@@ -1,119 +0,0 @@
|
||||
/* $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/>.
|
||||
*/
|
||||
|
||||
/** @file sdl.cpp Implementation of SDL support. */
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
#ifdef WITH_SDL
|
||||
|
||||
#include "sdl.h"
|
||||
#include <SDL.h>
|
||||
|
||||
/** Number of users of the SDL library. */
|
||||
static int _sdl_usage;
|
||||
|
||||
#ifdef DYNAMICALLY_LOADED_SDL
|
||||
|
||||
#include "os/windows/win32.h"
|
||||
|
||||
#define M(x) x "\0"
|
||||
static const char sdl_files[] =
|
||||
M("sdl.dll")
|
||||
M("SDL_Init")
|
||||
M("SDL_InitSubSystem")
|
||||
M("SDL_GetError")
|
||||
M("SDL_QuitSubSystem")
|
||||
M("SDL_UpdateRect")
|
||||
M("SDL_UpdateRects")
|
||||
M("SDL_SetColors")
|
||||
M("SDL_WM_SetCaption")
|
||||
M("SDL_ShowCursor")
|
||||
M("SDL_FreeSurface")
|
||||
M("SDL_PollEvent")
|
||||
M("SDL_WarpMouse")
|
||||
M("SDL_GetTicks")
|
||||
M("SDL_OpenAudio")
|
||||
M("SDL_PauseAudio")
|
||||
M("SDL_CloseAudio")
|
||||
M("SDL_LockSurface")
|
||||
M("SDL_UnlockSurface")
|
||||
M("SDL_GetModState")
|
||||
M("SDL_Delay")
|
||||
M("SDL_Quit")
|
||||
M("SDL_SetVideoMode")
|
||||
M("SDL_EnableKeyRepeat")
|
||||
M("SDL_EnableUNICODE")
|
||||
M("SDL_VideoDriverName")
|
||||
M("SDL_ListModes")
|
||||
M("SDL_GetKeyState")
|
||||
M("SDL_LoadBMP_RW")
|
||||
M("SDL_RWFromFile")
|
||||
M("SDL_SetColorKey")
|
||||
M("SDL_WM_SetIcon")
|
||||
M("SDL_MapRGB")
|
||||
M("SDL_VideoModeOK")
|
||||
M("SDL_Linked_Version")
|
||||
M("")
|
||||
;
|
||||
#undef M
|
||||
|
||||
SDLProcs sdl_proc;
|
||||
|
||||
static const char *LoadSdlDLL()
|
||||
{
|
||||
if (sdl_proc.SDL_Init != NULL) {
|
||||
return NULL;
|
||||
}
|
||||
if (!LoadLibraryList((Function *)(void *)&sdl_proc, sdl_files)) {
|
||||
return "Unable to load sdl.dll";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif /* DYNAMICALLY_LOADED_SDL */
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
/**
|
||||
* Open the SDL library.
|
||||
* @param x The subsystem to load.
|
||||
*/
|
||||
const char *SdlOpen(uint32 x)
|
||||
{
|
||||
#ifdef DYNAMICALLY_LOADED_SDL
|
||||
{
|
||||
const char *s = LoadSdlDLL();
|
||||
if (s != NULL) return s;
|
||||
}
|
||||
#endif
|
||||
if (_sdl_usage++ == 0) {
|
||||
if (SDL_CALL SDL_Init(x | SDL_INIT_NOPARACHUTE) == -1) return SDL_CALL SDL_GetError();
|
||||
} else if (x != 0) {
|
||||
if (SDL_CALL SDL_InitSubSystem(x) == -1) return SDL_CALL SDL_GetError();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the SDL library.
|
||||
* @param x The subsystem to close.
|
||||
*/
|
||||
void SdlClose(uint32 x)
|
||||
{
|
||||
if (x != 0) {
|
||||
SDL_CALL SDL_QuitSubSystem(x);
|
||||
}
|
||||
if (--_sdl_usage == 0) {
|
||||
SDL_CALL SDL_Quit();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
71
src/sdl.h
71
src/sdl.h
@@ -1,71 +0,0 @@
|
||||
/* $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/>.
|
||||
*/
|
||||
|
||||
/** @file sdl.h SDL support. */
|
||||
|
||||
#ifndef SDL_H
|
||||
#define SDL_H
|
||||
|
||||
const char *SdlOpen(uint32 x);
|
||||
void SdlClose(uint32 x);
|
||||
|
||||
#ifdef _WIN32
|
||||
#define DYNAMICALLY_LOADED_SDL
|
||||
#endif
|
||||
|
||||
#ifdef DYNAMICALLY_LOADED_SDL
|
||||
#include <SDL.h>
|
||||
|
||||
struct SDLProcs {
|
||||
int (SDLCALL *SDL_Init)(Uint32);
|
||||
int (SDLCALL *SDL_InitSubSystem)(Uint32);
|
||||
char *(SDLCALL *SDL_GetError)();
|
||||
void (SDLCALL *SDL_QuitSubSystem)(Uint32);
|
||||
void (SDLCALL *SDL_UpdateRect)(SDL_Surface *, Sint32, Sint32, Uint32, Uint32);
|
||||
void (SDLCALL *SDL_UpdateRects)(SDL_Surface *, int, SDL_Rect *);
|
||||
int (SDLCALL *SDL_SetColors)(SDL_Surface *, SDL_Color *, int, int);
|
||||
void (SDLCALL *SDL_WM_SetCaption)(const char *, const char *);
|
||||
int (SDLCALL *SDL_ShowCursor)(int);
|
||||
void (SDLCALL *SDL_FreeSurface)(SDL_Surface *);
|
||||
int (SDLCALL *SDL_PollEvent)(SDL_Event *);
|
||||
void (SDLCALL *SDL_WarpMouse)(Uint16, Uint16);
|
||||
uint32 (SDLCALL *SDL_GetTicks)();
|
||||
int (SDLCALL *SDL_OpenAudio)(SDL_AudioSpec *, SDL_AudioSpec*);
|
||||
void (SDLCALL *SDL_PauseAudio)(int);
|
||||
void (SDLCALL *SDL_CloseAudio)();
|
||||
int (SDLCALL *SDL_LockSurface)(SDL_Surface*);
|
||||
void (SDLCALL *SDL_UnlockSurface)(SDL_Surface*);
|
||||
SDLMod (SDLCALL *SDL_GetModState)();
|
||||
void (SDLCALL *SDL_Delay)(Uint32);
|
||||
void (SDLCALL *SDL_Quit)();
|
||||
SDL_Surface *(SDLCALL *SDL_SetVideoMode)(int, int, int, Uint32);
|
||||
int (SDLCALL *SDL_EnableKeyRepeat)(int, int);
|
||||
void (SDLCALL *SDL_EnableUNICODE)(int);
|
||||
void (SDLCALL *SDL_VideoDriverName)(char *, int);
|
||||
SDL_Rect **(SDLCALL *SDL_ListModes)(void *, int);
|
||||
Uint8 *(SDLCALL *SDL_GetKeyState)(int *);
|
||||
SDL_Surface *(SDLCALL *SDL_LoadBMP_RW)(SDL_RWops *, int);
|
||||
SDL_RWops *(SDLCALL *SDL_RWFromFile)(const char *, const char *);
|
||||
int (SDLCALL *SDL_SetColorKey)(SDL_Surface *, Uint32, Uint32);
|
||||
void (SDLCALL *SDL_WM_SetIcon)(SDL_Surface *, Uint8 *);
|
||||
Uint32 (SDLCALL *SDL_MapRGB)(SDL_PixelFormat *, Uint8, Uint8, Uint8);
|
||||
int (SDLCALL *SDL_VideoModeOK)(int, int, int, Uint32);
|
||||
SDL_version *(SDLCALL *SDL_Linked_Version)();
|
||||
int (SDLCALL *SDL_BlitSurface)(SDL_Surface *, SDL_Rect *, SDL_Surface *, SDL_Rect *);
|
||||
SDL_Surface *(SDLCALL *SDL_CreateRGBSurface)(Uint32, int, int, int, Uint32, Uint32, Uint32, Uint32);
|
||||
};
|
||||
|
||||
extern SDLProcs sdl_proc;
|
||||
|
||||
#define SDL_CALL sdl_proc.
|
||||
#else
|
||||
#define SDL_CALL
|
||||
#endif
|
||||
|
||||
#endif /* SDL_H */
|
@@ -561,6 +561,7 @@ struct GameOptionsWindow : Window {
|
||||
break;
|
||||
|
||||
case WID_GO_FONT_ZOOM_DROPDOWN:
|
||||
GfxClearSpriteCache();
|
||||
_font_zoom = (ZoomLevel)(ZOOM_LVL_OUT_4X - index);
|
||||
ClearFontCache();
|
||||
LoadStringWidthTable();
|
||||
|
@@ -41,11 +41,11 @@ struct SignList {
|
||||
*/
|
||||
typedef GUIList<const Sign *, StringFilter &> GUISignList;
|
||||
|
||||
static const Sign *last_sign;
|
||||
GUISignList signs;
|
||||
|
||||
StringFilter string_filter; ///< The match string to be used when the GUIList is (re)-sorted.
|
||||
static bool match_case; ///< Should case sensitive matching be used?
|
||||
static char default_name[64]; ///< Default sign name, used if Sign::name is NULL.
|
||||
|
||||
/**
|
||||
* Creates a SignList with filtering disabled by default.
|
||||
@@ -74,19 +74,17 @@ struct SignList {
|
||||
/** Sort signs by their name */
|
||||
static int CDECL SignNameSorter(const Sign * const *a, const Sign * const *b)
|
||||
{
|
||||
static char buf_cache[64];
|
||||
char buf[64];
|
||||
/* Signs are very very rarely using the default text, but there can also be
|
||||
* a lot of them. Therefore a worthwhile performance gain can be made by
|
||||
* directly comparing Sign::name instead of going through the string
|
||||
* system for each comparison. */
|
||||
const char *a_name = (*a)->name;
|
||||
const char *b_name = (*b)->name;
|
||||
|
||||
SetDParam(0, (*a)->index);
|
||||
GetString(buf, STR_SIGN_NAME, lastof(buf));
|
||||
if (a_name == NULL) a_name = SignList::default_name;
|
||||
if (b_name == NULL) b_name = SignList::default_name;
|
||||
|
||||
if (*b != last_sign) {
|
||||
last_sign = *b;
|
||||
SetDParam(0, (*b)->index);
|
||||
GetString(buf_cache, STR_SIGN_NAME, lastof(buf_cache));
|
||||
}
|
||||
|
||||
int r = strnatcmp(buf, buf_cache); // Sort by name (natural sorting).
|
||||
int r = strnatcmp(a_name, b_name); // Sort by name (natural sorting).
|
||||
|
||||
return r != 0 ? r : ((*a)->index - (*b)->index);
|
||||
}
|
||||
@@ -94,21 +92,18 @@ struct SignList {
|
||||
void SortSignsList()
|
||||
{
|
||||
if (!this->signs.Sort(&SignNameSorter)) return;
|
||||
|
||||
/* Reset the name sorter sort cache */
|
||||
this->last_sign = NULL;
|
||||
}
|
||||
|
||||
/** Filter sign list by sign name */
|
||||
static bool CDECL SignNameFilter(const Sign * const *a, StringFilter &filter)
|
||||
{
|
||||
/* Get sign string */
|
||||
char buf1[MAX_LENGTH_SIGN_NAME_CHARS * MAX_CHAR_LENGTH];
|
||||
SetDParam(0, (*a)->index);
|
||||
GetString(buf1, STR_SIGN_NAME, lastof(buf1));
|
||||
/* Same performance benefit as above for sorting. */
|
||||
const char *a_name = (*a)->name;
|
||||
|
||||
if (a_name == NULL) a_name = SignList::default_name;
|
||||
|
||||
filter.ResetState();
|
||||
filter.AddLine(buf1);
|
||||
filter.AddLine(a_name);
|
||||
return filter.GetState();
|
||||
}
|
||||
|
||||
@@ -138,8 +133,8 @@ struct SignList {
|
||||
}
|
||||
};
|
||||
|
||||
const Sign *SignList::last_sign = NULL;
|
||||
bool SignList::match_case = false;
|
||||
char SignList::default_name[64];
|
||||
|
||||
/** Enum referring to the Hotkeys in the sign list window */
|
||||
enum SignListHotkeys {
|
||||
@@ -171,6 +166,15 @@ struct SignListWindow : Window, SignList {
|
||||
this->BuildSortSignList();
|
||||
}
|
||||
|
||||
virtual void OnInit()
|
||||
{
|
||||
/* Default sign name, used if Sign::name is NULL. */
|
||||
GetString(SignList::default_name, STR_DEFAULT_SIGN_NAME, lastof(SignList::default_name));
|
||||
this->signs.ForceResort();
|
||||
this->SortSignsList();
|
||||
this->SetDirty();
|
||||
}
|
||||
|
||||
/**
|
||||
* This function sets the filter string of the sign list. The contents of
|
||||
* the edit widget is not updated by this function. Depending on if the
|
||||
@@ -188,7 +192,7 @@ struct SignListWindow : Window, SignList {
|
||||
|
||||
virtual void OnPaint()
|
||||
{
|
||||
if (this->signs.NeedRebuild()) this->BuildSortSignList();
|
||||
if (!this->IsShaded() && this->signs.NeedRebuild()) this->BuildSortSignList();
|
||||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
|
@@ -14,7 +14,6 @@
|
||||
#include "../stdafx.h"
|
||||
|
||||
#include "../mixer.h"
|
||||
#include "../sdl.h"
|
||||
#include "sdl_s.h"
|
||||
#include <SDL.h>
|
||||
|
||||
@@ -38,8 +37,14 @@ const char *SoundDriver_SDL::Start(const char * const *parm)
|
||||
{
|
||||
SDL_AudioSpec spec;
|
||||
|
||||
const char *s = SdlOpen(SDL_INIT_AUDIO);
|
||||
if (s != NULL) return s;
|
||||
/* Only initialise SDL if the video driver hasn't done it already */
|
||||
int ret_code = 0;
|
||||
if (SDL_WasInit(SDL_INIT_EVERYTHING) == 0) {
|
||||
ret_code = SDL_Init(SDL_INIT_AUDIO | SDL_INIT_NOPARACHUTE);
|
||||
} else if (SDL_WasInit(SDL_INIT_AUDIO) == 0) {
|
||||
ret_code = SDL_InitSubSystem(SDL_INIT_AUDIO);
|
||||
}
|
||||
if (ret_code == -1) return SDL_GetError();
|
||||
|
||||
spec.freq = GetDriverParamInt(parm, "hz", 44100);
|
||||
spec.format = AUDIO_S16SYS;
|
||||
@@ -47,15 +52,18 @@ const char *SoundDriver_SDL::Start(const char * const *parm)
|
||||
spec.samples = GetDriverParamInt(parm, "samples", 1024);
|
||||
spec.callback = fill_sound_buffer;
|
||||
MxInitialize(spec.freq);
|
||||
SDL_CALL SDL_OpenAudio(&spec, &spec);
|
||||
SDL_CALL SDL_PauseAudio(0);
|
||||
SDL_OpenAudio(&spec, &spec);
|
||||
SDL_PauseAudio(0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void SoundDriver_SDL::Stop()
|
||||
{
|
||||
SDL_CALL SDL_CloseAudio();
|
||||
SdlClose(SDL_INIT_AUDIO);
|
||||
SDL_CloseAudio();
|
||||
SDL_QuitSubSystem(SDL_INIT_AUDIO);
|
||||
if (SDL_WasInit(SDL_INIT_EVERYTHING) == 0) {
|
||||
SDL_Quit(); // If there's nothing left, quit SDL
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* WITH_SDL */
|
||||
|
@@ -791,7 +791,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
WChar b = '\0';
|
||||
uint next_substr_case_index = 0;
|
||||
char *buf_start = buff;
|
||||
std::stack<const char *> str_stack;
|
||||
std::stack<const char *, std::vector<const char *>> str_stack;
|
||||
str_stack.push(str_arg);
|
||||
|
||||
for (;;) {
|
||||
|
@@ -1524,7 +1524,7 @@ type = SLE_UINT32
|
||||
from = SLV_107
|
||||
guiflags = SGF_NEWGAME_ONLY
|
||||
def = 10000
|
||||
min = 5000
|
||||
min = 500
|
||||
max = 250000
|
||||
interval = 2500
|
||||
str = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES
|
||||
|
@@ -1080,14 +1080,14 @@ static bool GrowTownWithBridge(const Town *t, const TileIndex tile, const DiagDi
|
||||
const int delta = TileOffsByDiagDir(bridge_dir);
|
||||
|
||||
if (slope == SLOPE_FLAT) {
|
||||
/* Bridges starting on flat tiles are only allowed when crossing rivers. */
|
||||
/* Bridges starting on flat tiles are only allowed when crossing rivers, rails or one-way roads. */
|
||||
do {
|
||||
if (bridge_length++ >= 4) {
|
||||
/* Allow to cross rivers, not big lakes. */
|
||||
/* Allow to cross rivers, not big lakes, nor large amounts of rails or one-way roads. */
|
||||
return false;
|
||||
}
|
||||
bridge_tile += delta;
|
||||
} while (IsValidTile(bridge_tile) && IsWaterTile(bridge_tile) && !IsSea(bridge_tile));
|
||||
} while (IsValidTile(bridge_tile) && ((IsWaterTile(bridge_tile) && !IsSea(bridge_tile)) || IsPlainRailTile(bridge_tile) || (IsNormalRoadTile(bridge_tile) && GetDisallowedRoadDirections(bridge_tile) != DRD_NONE)));
|
||||
} else {
|
||||
do {
|
||||
if (bridge_length++ >= 11) {
|
||||
@@ -1095,7 +1095,7 @@ static bool GrowTownWithBridge(const Town *t, const TileIndex tile, const DiagDi
|
||||
return false;
|
||||
}
|
||||
bridge_tile += delta;
|
||||
} while (IsValidTile(bridge_tile) && IsWaterTile(bridge_tile));
|
||||
} while (IsValidTile(bridge_tile) && (IsWaterTile(bridge_tile) || IsPlainRailTile(bridge_tile) || (IsNormalRoadTile(bridge_tile) && GetDisallowedRoadDirections(bridge_tile) != DRD_NONE)));
|
||||
}
|
||||
|
||||
/* no water tiles in between? */
|
||||
|
@@ -13,6 +13,7 @@
|
||||
#define TREE_MAP_H
|
||||
|
||||
#include "tile_map.h"
|
||||
#include "water_map.h"
|
||||
|
||||
/**
|
||||
* List of tree types along all landscape types.
|
||||
@@ -133,6 +134,7 @@ static inline void SetTreeGroundDensity(TileIndex t, TreeGround g, uint d)
|
||||
assert(IsTileType(t, MP_TREES)); // XXX incomplete
|
||||
SB(_m[t].m2, 4, 2, d);
|
||||
SB(_m[t].m2, 6, 3, g);
|
||||
SetWaterClass(t, g == TREE_GROUND_SHORE ? WATER_CLASS_SEA : WATER_CLASS_INVALID);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -14,7 +14,6 @@
|
||||
#include "../stdafx.h"
|
||||
#include "../openttd.h"
|
||||
#include "../gfx_func.h"
|
||||
#include "../sdl.h"
|
||||
#include "../rev.h"
|
||||
#include "../blitter/factory.hpp"
|
||||
#include "../network/network.h"
|
||||
@@ -73,7 +72,7 @@ static void UpdatePalette(bool init = false)
|
||||
pal[i].unused = 0;
|
||||
}
|
||||
|
||||
SDL_CALL SDL_SetColors(_sdl_screen, pal, _local_palette.first_dirty, _local_palette.count_dirty);
|
||||
SDL_SetColors(_sdl_screen, pal, _local_palette.first_dirty, _local_palette.count_dirty);
|
||||
|
||||
if (_sdl_screen != _sdl_realscreen && init) {
|
||||
/* When using a shadow surface, also set our palette on the real screen. This lets SDL
|
||||
@@ -96,7 +95,7 @@ static void UpdatePalette(bool init = false)
|
||||
* palette change and the blitting below, so we only set
|
||||
* the real palette during initialisation.
|
||||
*/
|
||||
SDL_CALL SDL_SetColors(_sdl_realscreen, pal, _local_palette.first_dirty, _local_palette.count_dirty);
|
||||
SDL_SetColors(_sdl_realscreen, pal, _local_palette.first_dirty, _local_palette.count_dirty);
|
||||
}
|
||||
|
||||
if (_sdl_screen != _sdl_realscreen && !init) {
|
||||
@@ -110,8 +109,8 @@ static void UpdatePalette(bool init = false)
|
||||
* best mapping of shadow palette colors to real palette
|
||||
* colors from scratch.
|
||||
*/
|
||||
SDL_CALL SDL_BlitSurface(_sdl_screen, NULL, _sdl_realscreen, NULL);
|
||||
SDL_CALL SDL_UpdateRect(_sdl_realscreen, 0, 0, 0, 0);
|
||||
SDL_BlitSurface(_sdl_screen, NULL, _sdl_realscreen, NULL);
|
||||
SDL_UpdateRect(_sdl_realscreen, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,16 +156,16 @@ static void DrawSurfaceToScreen()
|
||||
_num_dirty_rects = 0;
|
||||
if (n > MAX_DIRTY_RECTS) {
|
||||
if (_sdl_screen != _sdl_realscreen) {
|
||||
SDL_CALL SDL_BlitSurface(_sdl_screen, NULL, _sdl_realscreen, NULL);
|
||||
SDL_BlitSurface(_sdl_screen, NULL, _sdl_realscreen, NULL);
|
||||
}
|
||||
SDL_CALL SDL_UpdateRect(_sdl_realscreen, 0, 0, 0, 0);
|
||||
SDL_UpdateRect(_sdl_realscreen, 0, 0, 0, 0);
|
||||
} else {
|
||||
if (_sdl_screen != _sdl_realscreen) {
|
||||
for (int i = 0; i < n; i++) {
|
||||
SDL_CALL SDL_BlitSurface(_sdl_screen, &_dirty_rects[i], _sdl_realscreen, &_dirty_rects[i]);
|
||||
SDL_BlitSurface(_sdl_screen, &_dirty_rects[i], _sdl_realscreen, &_dirty_rects[i]);
|
||||
}
|
||||
}
|
||||
SDL_CALL SDL_UpdateRects(_sdl_realscreen, n, _dirty_rects);
|
||||
SDL_UpdateRects(_sdl_realscreen, n, _dirty_rects);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,14 +205,14 @@ static const Dimension _default_resolutions[] = {
|
||||
|
||||
static void GetVideoModes()
|
||||
{
|
||||
SDL_Rect **modes = SDL_CALL SDL_ListModes(NULL, SDL_SWSURFACE | SDL_FULLSCREEN);
|
||||
SDL_Rect **modes = SDL_ListModes(NULL, SDL_SWSURFACE | SDL_FULLSCREEN);
|
||||
if (modes == NULL) usererror("sdl: no modes available");
|
||||
|
||||
_all_modes = (SDL_CALL SDL_ListModes(NULL, SDL_SWSURFACE | (_fullscreen ? SDL_FULLSCREEN : 0)) == (void*)-1);
|
||||
_all_modes = (SDL_ListModes(NULL, SDL_SWSURFACE | (_fullscreen ? SDL_FULLSCREEN : 0)) == (void*)-1);
|
||||
if (modes == (void*)-1) {
|
||||
int n = 0;
|
||||
for (uint i = 0; i < lengthof(_default_resolutions); i++) {
|
||||
if (SDL_CALL SDL_VideoModeOK(_default_resolutions[i].width, _default_resolutions[i].height, 8, SDL_FULLSCREEN) != 0) {
|
||||
if (SDL_VideoModeOK(_default_resolutions[i].width, _default_resolutions[i].height, 8, SDL_FULLSCREEN) != 0) {
|
||||
_resolutions[n] = _default_resolutions[i];
|
||||
if (++n == lengthof(_resolutions)) break;
|
||||
}
|
||||
@@ -264,13 +263,6 @@ static void GetAvailableVideoMode(uint *w, uint *h)
|
||||
*h = _resolutions[best].height;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
/* Let's redefine the LoadBMP macro with because we are dynamically
|
||||
* loading SDL and need to 'SDL_CALL' all functions */
|
||||
#undef SDL_LoadBMP
|
||||
#define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_CALL SDL_RWFromFile(file, "rb"), 1)
|
||||
#endif
|
||||
|
||||
bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
{
|
||||
SDL_Surface *newscreen, *icon;
|
||||
@@ -287,14 +279,14 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
char icon_path[MAX_PATH];
|
||||
if (FioFindFullPath(icon_path, lastof(icon_path), BASESET_DIR, "openttd.32.bmp") != NULL) {
|
||||
/* Give the application an icon */
|
||||
icon = SDL_CALL SDL_LoadBMP(icon_path);
|
||||
icon = SDL_LoadBMP(icon_path);
|
||||
if (icon != NULL) {
|
||||
/* Get the colourkey, which will be magenta */
|
||||
uint32 rgbmap = SDL_CALL SDL_MapRGB(icon->format, 255, 0, 255);
|
||||
uint32 rgbmap = SDL_MapRGB(icon->format, 255, 0, 255);
|
||||
|
||||
SDL_CALL SDL_SetColorKey(icon, SDL_SRCCOLORKEY, rgbmap);
|
||||
SDL_CALL SDL_WM_SetIcon(icon, NULL);
|
||||
SDL_CALL SDL_FreeSurface(icon);
|
||||
SDL_SetColorKey(icon, SDL_SRCCOLORKEY, rgbmap);
|
||||
SDL_WM_SetIcon(icon, NULL);
|
||||
SDL_FreeSurface(icon);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,7 +321,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
if (want_hwpalette) DEBUG(driver, 1, "SDL: requesting hardware palette");
|
||||
|
||||
/* Free any previously allocated shadow surface */
|
||||
if (_sdl_screen != NULL && _sdl_screen != _sdl_realscreen) SDL_CALL SDL_FreeSurface(_sdl_screen);
|
||||
if (_sdl_screen != NULL && _sdl_screen != _sdl_realscreen) SDL_FreeSurface(_sdl_screen);
|
||||
|
||||
if (_sdl_realscreen != NULL) {
|
||||
if (_requested_hwpalette != want_hwpalette) {
|
||||
@@ -342,8 +334,8 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
* subsystem to force creating a new window.
|
||||
*/
|
||||
DEBUG(driver, 0, "SDL: Restarting SDL video subsystem, to force hwpalette change");
|
||||
SDL_CALL SDL_QuitSubSystem(SDL_INIT_VIDEO);
|
||||
SDL_CALL SDL_InitSubSystem(SDL_INIT_VIDEO);
|
||||
SDL_QuitSubSystem(SDL_INIT_VIDEO);
|
||||
SDL_InitSubSystem(SDL_INIT_VIDEO);
|
||||
ClaimMousePointer();
|
||||
SetupKeyboard();
|
||||
}
|
||||
@@ -355,7 +347,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
_requested_hwpalette = want_hwpalette;
|
||||
|
||||
/* DO NOT CHANGE TO HWSURFACE, IT DOES NOT WORK */
|
||||
newscreen = SDL_CALL SDL_SetVideoMode(w, h, bpp, SDL_SWSURFACE | (want_hwpalette ? SDL_HWPALETTE : 0) | (_fullscreen ? SDL_FULLSCREEN : SDL_RESIZABLE));
|
||||
newscreen = SDL_SetVideoMode(w, h, bpp, SDL_SWSURFACE | (want_hwpalette ? SDL_HWPALETTE : 0) | (_fullscreen ? SDL_FULLSCREEN : SDL_RESIZABLE));
|
||||
if (newscreen == NULL) {
|
||||
DEBUG(driver, 0, "SDL: Couldn't allocate a window to draw on");
|
||||
return false;
|
||||
@@ -382,7 +374,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
* we won't create a second shadow surface in this case.
|
||||
*/
|
||||
DEBUG(driver, 1, "SDL: using shadow surface");
|
||||
newscreen = SDL_CALL SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, bpp, 0, 0, 0, 0);
|
||||
newscreen = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, bpp, 0, 0, 0, 0);
|
||||
if (newscreen == NULL) {
|
||||
DEBUG(driver, 0, "SDL: Couldn't allocate a shadow surface to draw on");
|
||||
return false;
|
||||
@@ -409,7 +401,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
InitPalette();
|
||||
|
||||
seprintf(caption, lastof(caption), "OpenTTD %s", _openttd_revision);
|
||||
SDL_CALL SDL_WM_SetCaption(caption, caption);
|
||||
SDL_WM_SetCaption(caption, caption);
|
||||
|
||||
GameSizeChanged();
|
||||
|
||||
@@ -418,7 +410,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
|
||||
|
||||
bool VideoDriver_SDL::ClaimMousePointer()
|
||||
{
|
||||
SDL_CALL SDL_ShowCursor(0);
|
||||
SDL_ShowCursor(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -531,18 +523,18 @@ int VideoDriver_SDL::PollEvent()
|
||||
{
|
||||
SDL_Event ev;
|
||||
|
||||
if (!SDL_CALL SDL_PollEvent(&ev)) return -2;
|
||||
if (!SDL_PollEvent(&ev)) return -2;
|
||||
|
||||
switch (ev.type) {
|
||||
case SDL_MOUSEMOTION:
|
||||
if (_cursor.UpdateCursorPosition(ev.motion.x, ev.motion.y, true)) {
|
||||
SDL_CALL SDL_WarpMouse(_cursor.pos.x, _cursor.pos.y);
|
||||
SDL_WarpMouse(_cursor.pos.x, _cursor.pos.y);
|
||||
}
|
||||
HandleMouseEvents();
|
||||
break;
|
||||
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
if (_rightclick_emulate && SDL_CALL SDL_GetModState() & KMOD_CTRL) {
|
||||
if (_rightclick_emulate && SDL_GetModState() & KMOD_CTRL) {
|
||||
ev.button.button = SDL_BUTTON_RIGHT;
|
||||
}
|
||||
|
||||
@@ -626,15 +618,23 @@ const char *VideoDriver_SDL::Start(const char * const *parm)
|
||||
char buf[30];
|
||||
_use_hwpalette = GetDriverParamInt(parm, "hw_palette", 2);
|
||||
|
||||
const char *s = SdlOpen(SDL_INIT_VIDEO);
|
||||
if (s != NULL) return s;
|
||||
/* Just on the offchance the audio subsystem started before the video system,
|
||||
* check whether any part of SDL has been initialised before getting here.
|
||||
* Slightly duplicated with sound/sdl_s.cpp */
|
||||
int ret_code = 0;
|
||||
if (SDL_WasInit(SDL_INIT_EVERYTHING) == 0) {
|
||||
ret_code = SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE);
|
||||
} else if (SDL_WasInit(SDL_INIT_VIDEO) == 0) {
|
||||
ret_code = SDL_InitSubSystem(SDL_INIT_VIDEO);
|
||||
}
|
||||
if (ret_code == -1) return SDL_GetError();
|
||||
|
||||
GetVideoModes();
|
||||
if (!CreateMainSurface(_cur_resolution.width, _cur_resolution.height)) {
|
||||
return SDL_CALL SDL_GetError();
|
||||
return SDL_GetError();
|
||||
}
|
||||
|
||||
SDL_CALL SDL_VideoDriverName(buf, sizeof buf);
|
||||
SDL_VideoDriverName(buf, sizeof buf);
|
||||
DEBUG(driver, 1, "SDL: using driver '%s'", buf);
|
||||
|
||||
MarkWholeScreenDirty();
|
||||
@@ -647,18 +647,21 @@ const char *VideoDriver_SDL::Start(const char * const *parm)
|
||||
|
||||
void VideoDriver_SDL::SetupKeyboard()
|
||||
{
|
||||
SDL_CALL SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
|
||||
SDL_CALL SDL_EnableUNICODE(1);
|
||||
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
|
||||
SDL_EnableUNICODE(1);
|
||||
}
|
||||
|
||||
void VideoDriver_SDL::Stop()
|
||||
{
|
||||
SdlClose(SDL_INIT_VIDEO);
|
||||
SDL_QuitSubSystem(SDL_INIT_VIDEO);
|
||||
if (SDL_WasInit(SDL_INIT_EVERYTHING) == 0) {
|
||||
SDL_Quit(); // If there's nothing left, quit SDL
|
||||
}
|
||||
}
|
||||
|
||||
void VideoDriver_SDL::MainLoop()
|
||||
{
|
||||
uint32 cur_ticks = SDL_CALL SDL_GetTicks();
|
||||
uint32 cur_ticks = SDL_GetTicks();
|
||||
uint32 last_cur_ticks = cur_ticks;
|
||||
uint32 next_tick = cur_ticks + MILLISECONDS_PER_TICK;
|
||||
uint32 mod;
|
||||
@@ -700,11 +703,11 @@ void VideoDriver_SDL::MainLoop()
|
||||
while (PollEvent() == -1) {}
|
||||
if (_exit_game) break;
|
||||
|
||||
mod = SDL_CALL SDL_GetModState();
|
||||
mod = SDL_GetModState();
|
||||
#if SDL_VERSION_ATLEAST(1, 3, 0)
|
||||
keys = SDL_CALL SDL_GetKeyboardState(&numkeys);
|
||||
keys = SDL_GetKeyboardState(&numkeys);
|
||||
#else
|
||||
keys = SDL_CALL SDL_GetKeyState(&numkeys);
|
||||
keys = SDL_GetKeyState(&numkeys);
|
||||
#endif
|
||||
#if defined(_DEBUG)
|
||||
if (_shift_pressed)
|
||||
@@ -723,7 +726,7 @@ void VideoDriver_SDL::MainLoop()
|
||||
_fast_forward = 0;
|
||||
}
|
||||
|
||||
cur_ticks = SDL_CALL SDL_GetTicks();
|
||||
cur_ticks = SDL_GetTicks();
|
||||
if (cur_ticks >= next_tick || (_fast_forward && !_pause_mode) || cur_ticks < prev_cur_ticks) {
|
||||
_realtime_tick += cur_ticks - last_cur_ticks;
|
||||
last_cur_ticks = cur_ticks;
|
||||
|
@@ -94,7 +94,7 @@ static inline WaterTileType GetWaterTileType(TileIndex t)
|
||||
*/
|
||||
static inline bool HasTileWaterClass(TileIndex t)
|
||||
{
|
||||
return IsTileType(t, MP_WATER) || IsTileType(t, MP_STATION) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_OBJECT);
|
||||
return IsTileType(t, MP_WATER) || IsTileType(t, MP_STATION) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_TREES);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -204,7 +204,7 @@ static inline bool IsCoast(TileIndex t)
|
||||
*/
|
||||
static inline bool IsCoastTile(TileIndex t)
|
||||
{
|
||||
return IsTileType(t, MP_WATER) && IsCoast(t);
|
||||
return (IsTileType(t, MP_WATER) && IsCoast(t)) || (IsTileType(t, MP_TREES) && GetWaterClass(t) != WATER_CLASS_INVALID);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user