Merge branch 'master' into jgrpp
# Conflicts: # .github/workflows/ci-build.yml # .github/workflows/release-linux.yml # .github/workflows/release-macos.yml # .github/workflows/release-windows.yml # .gitignore # COMPILING.md # src/company_gui.cpp # src/date_gui.cpp # src/engine.cpp # src/engine_func.h # src/fileio.cpp # src/linkgraph/linkgraph_gui.h # src/newgrf_debug_gui.cpp # src/newgrf_gui.cpp # src/order_gui.cpp # src/osk_gui.cpp # src/rail_gui.cpp # src/road_gui.cpp # src/script/api/script_event_types.hpp # src/sl/oldloader_sl.cpp # src/smallmap_gui.cpp # src/station_cmd.cpp # src/toolbar_gui.cpp # src/town_gui.cpp # src/transparency_gui.cpp # src/vehicle_gui.cpp # src/widget.cpp # src/widget_type.h # src/widgets/dropdown.cpp # src/widgets/dropdown_func.h # src/widgets/dropdown_type.h # src/widgets/group_widget.h # src/widgets/vehicle_widget.h # src/window.cpp # src/window_gui.h # src/window_type.h
This commit is contained in:
commit
42c8f50551
|
@ -112,7 +112,7 @@ jobs:
|
|||
|
||||
name: Linux (${{ matrix.name }})
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
CC: ${{ matrix.compiler }}
|
||||
CXX: ${{ matrix.cxxcompiler }}
|
||||
|
@ -128,6 +128,14 @@ jobs:
|
|||
with:
|
||||
ref: ${{ github.event.inputs.ref }}
|
||||
|
||||
- name: Setup vcpkg caching
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||
core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite')
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
echo "::group::Update apt"
|
||||
|
@ -147,6 +155,16 @@ jobs:
|
|||
${{ matrix.libraries }} \
|
||||
zlib1g-dev \
|
||||
# EOF
|
||||
|
||||
echo "::group::Install vcpkg dependencies"
|
||||
|
||||
# Disable vcpkg integration, as we mostly use system libraries.
|
||||
mv vcpkg.json vcpkg-disabled.json
|
||||
|
||||
# We only use breakpad from vcpkg, as its CMake files
|
||||
# are a bit special. So the Ubuntu's variant doesn't work.
|
||||
#vcpkg install breakpad
|
||||
|
||||
echo "::endgroup::"
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
|
@ -185,10 +203,15 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
run: |
|
||||
cd build
|
||||
ctest -j $(nproc) --timeout 120
|
||||
(
|
||||
cd build
|
||||
ctest -j $(nproc) --timeout 120
|
||||
)
|
||||
|
||||
# Check no tracked files have been modified
|
||||
# Re-enable vcpkg.
|
||||
mv vcpkg-disabled.json vcpkg.json
|
||||
|
||||
# Check no tracked files have been modified.
|
||||
git diff --exit-code
|
||||
|
||||
macos:
|
||||
|
@ -216,38 +239,13 @@ jobs:
|
|||
with:
|
||||
ref: ${{ github.event.inputs.ref }}
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
run: |
|
||||
brew install \
|
||||
pkg-config \
|
||||
# EOF
|
||||
|
||||
- name: Prepare cache key
|
||||
id: key
|
||||
run: |
|
||||
echo "image=$ImageOS-$ImageVersion" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Enable vcpkg cache
|
||||
uses: actions/cache@v3
|
||||
- name: Setup vcpkg caching
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
path: /usr/local/share/vcpkg/installed
|
||||
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}-1 # Increase the number whenever dependencies are modified
|
||||
restore-keys: |
|
||||
${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
|
||||
|
||||
- name: Prepare vcpkg
|
||||
run: |
|
||||
vcpkg install --triplet=${{ matrix.arch }}-osx \
|
||||
curl \
|
||||
liblzma \
|
||||
libpng \
|
||||
lzo \
|
||||
zlib \
|
||||
zstd \
|
||||
# EOF
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||
core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite')
|
||||
|
||||
- name: Install OpenGFX
|
||||
run: |
|
||||
|
@ -312,33 +310,13 @@ jobs:
|
|||
with:
|
||||
ref: ${{ github.event.inputs.ref }}
|
||||
|
||||
- name: Prepare cache key
|
||||
id: key
|
||||
shell: powershell
|
||||
run: |
|
||||
# Work around caching failure with GNU tar
|
||||
New-Item -Type Junction -Path vcpkg -Target c:\vcpkg
|
||||
|
||||
Write-Output "image=$env:ImageOS-$env:ImageVersion" >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Enable vcpkg cache
|
||||
uses: actions/cache@v3
|
||||
- name: Setup vcpkg caching
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
path: vcpkg/installed
|
||||
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}-1 # Increase the number whenever dependencies are modified
|
||||
restore-keys: |
|
||||
${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
|
||||
|
||||
- name: Prepare vcpkg
|
||||
shell: bash
|
||||
run: |
|
||||
vcpkg install --triplet=${{ matrix.arch }}-windows-static \
|
||||
liblzma \
|
||||
libpng \
|
||||
lzo \
|
||||
zlib \
|
||||
zstd \
|
||||
# EOF
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||
core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite')
|
||||
|
||||
- name: Install OpenGFX
|
||||
shell: bash
|
||||
|
|
|
@ -12,16 +12,11 @@ jobs:
|
|||
linux:
|
||||
name: Linux (Generic)
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
# manylinux2014 is based on CentOS 7, but already has a lot of things
|
||||
# installed and preconfigured. It makes it easier to build OpenTTD.
|
||||
image: quay.io/pypa/manylinux2014_x86_64
|
||||
volumes:
|
||||
- /usr/local/share/vcpkg:/vcpkg
|
||||
env:
|
||||
ImageOS: ${{ env.ImageOS }}
|
||||
ImageVersion: ${{ env.ImageVersion }}
|
||||
|
||||
steps:
|
||||
- name: Download source
|
||||
|
@ -33,18 +28,37 @@ jobs:
|
|||
run: |
|
||||
tar -xf source.tar.gz --strip-components=1
|
||||
|
||||
- name: Prepare cache key
|
||||
id: key
|
||||
# curl is too old for most of the tools to work properly. For example,
|
||||
# rust-toolchain doesn't work properly, neither vcpkg caching.
|
||||
# The easier solution here is to upgrade curl.
|
||||
- name: Update curl
|
||||
run: |
|
||||
echo "image=$ImageOS-$ImageVersion" >> $GITHUB_OUTPUT
|
||||
yum install -y \
|
||||
openssl-devel \
|
||||
# EOF
|
||||
|
||||
- name: Enable vcpkg cache
|
||||
uses: actions/cache@v3
|
||||
mkdir /curl
|
||||
cd /curl
|
||||
curl -o curl-7.81.0.zip https://curl.se/download/curl-7.81.0.zip
|
||||
unzip curl-7.81.0.zip
|
||||
cd curl-7.81.0
|
||||
./configure --with-ssl --with-zlib --prefix=/usr --libdir=/usr/lib64
|
||||
make -j $(nproc)
|
||||
make install
|
||||
|
||||
- name: Install Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Enable Rust cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Setup vcpkg caching
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
path: /vcpkg/installed
|
||||
key: ${{ steps.key.outputs.image }}-vcpkg-release-1 # Increase the number whenever dependencies are modified
|
||||
restore-keys: |
|
||||
${{ steps.key.outputs.image }}-vcpkg-release
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||
core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite')
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
|
@ -84,6 +98,14 @@ jobs:
|
|||
cmake --build . -j $(nproc)
|
||||
cmake --install .
|
||||
)
|
||||
|
||||
# The container we use is old enough, that it doesn't know SHF_COMPRESSED.
|
||||
# But, breakpad needs this symbol to exist. So we patch it in our system
|
||||
# libraries.
|
||||
(
|
||||
cd /
|
||||
patch -p1 < ${GITHUB_WORKSPACE}/os/linux/shf-compressed.patch
|
||||
)
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Install audio drivers"
|
||||
|
@ -100,29 +122,22 @@ jobs:
|
|||
# We use vcpkg for our dependencies, to get more up-to-date version.
|
||||
echo "::group::Install vcpkg and dependencies"
|
||||
|
||||
# Make Python3 available for other packages.
|
||||
/vcpkg/vcpkg install python3
|
||||
ln -sf /vcpkg/installed/x64-linux/tools/python3/python3.[0-9][0-9] /usr/bin/python3
|
||||
git clone https://github.com/microsoft/vcpkg /vcpkg
|
||||
|
||||
# SDL2 needs dbus, but dbus default install comes with libsystemd
|
||||
# and some of libsystemd deps fail to build on our quite old linux.
|
||||
# So just install basic dbus without any extra deps.
|
||||
/vcpkg/vcpkg install dbus[core]
|
||||
(
|
||||
cd /vcpkg
|
||||
./bootstrap-vcpkg.sh -disableMetrics
|
||||
)
|
||||
|
||||
# Now we can install OpenTTD dependencies
|
||||
/vcpkg/vcpkg install \
|
||||
curl[http2] \
|
||||
fontconfig \
|
||||
freetype \
|
||||
harfbuzz \
|
||||
icu \
|
||||
liblzma \
|
||||
libpng \
|
||||
lzo \
|
||||
sdl2 \
|
||||
zlib \
|
||||
zstd \
|
||||
# EOF
|
||||
# Make Python3 available for other packages. This needs to be done
|
||||
# first, as otherwise dependencies fail to build because Python3 is
|
||||
# not available.
|
||||
(
|
||||
cd /
|
||||
|
||||
/vcpkg/vcpkg install python3
|
||||
ln -sf /vcpkg/installed/x64-linux/tools/python3/python3.[0-9][0-9] /usr/bin/python3
|
||||
)
|
||||
echo "::endgroup::"
|
||||
|
||||
- name: Install GCC problem matcher
|
||||
|
|
|
@ -12,7 +12,7 @@ jobs:
|
|||
macos:
|
||||
name: MacOS
|
||||
|
||||
runs-on: macos-12
|
||||
runs-on: macos-latest
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.13
|
||||
|
||||
|
@ -26,6 +26,20 @@ jobs:
|
|||
run: |
|
||||
tar -xf source.tar.gz --strip-components=1
|
||||
|
||||
- name: Install Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Enable Rust cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Setup vcpkg caching
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||
core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite')
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
|
@ -33,38 +47,6 @@ jobs:
|
|||
run: |
|
||||
brew install \
|
||||
pandoc \
|
||||
pkg-config \
|
||||
# EOF
|
||||
|
||||
- name: Prepare cache key
|
||||
id: key
|
||||
run: |
|
||||
echo "image=$ImageOS-$ImageVersion" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Enable vcpkg cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /usr/local/share/vcpkg/installed
|
||||
key: ${{ steps.key.outputs.image }}-vcpkg-release-1 # Increase the number whenever dependencies are modified
|
||||
restore-keys: |
|
||||
${{ steps.key.outputs.image }}-vcpkg-release
|
||||
${{ steps.key.outputs.image }}-vcpkg-x64
|
||||
|
||||
- name: Prepare vcpkg
|
||||
run: |
|
||||
vcpkg install \
|
||||
curl:x64-osx \
|
||||
curl:arm64-osx \
|
||||
liblzma:x64-osx \
|
||||
liblzma:arm64-osx \
|
||||
libpng:x64-osx \
|
||||
libpng:arm64-osx \
|
||||
lzo:x64-osx \
|
||||
lzo:arm64-osx \
|
||||
zlib:x64-osx \
|
||||
zlib:arm64-osx \
|
||||
zstd:x64-osx \
|
||||
zstd:arm64-osx \
|
||||
# EOF
|
||||
|
||||
- name: Install GCC problem matcher
|
||||
|
|
|
@ -39,46 +39,25 @@ jobs:
|
|||
run: |
|
||||
tar -xf source.tar.gz --strip-components=1
|
||||
|
||||
- name: Install Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Enable Rust cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Setup vcpkg caching
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||
core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite')
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
choco install pandoc
|
||||
|
||||
- name: Prepare cache key
|
||||
id: key
|
||||
shell: powershell
|
||||
run: |
|
||||
# Work around caching failure with GNU tar
|
||||
New-Item -Type Junction -Path vcpkg -Target c:\vcpkg
|
||||
|
||||
Write-Output "image=$env:ImageOS-$env:ImageVersion" >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Enable vcpkg cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: vcpkg/installed
|
||||
key: ${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}-1 # Increase the number whenever dependencies are modified
|
||||
restore-keys: |
|
||||
${{ steps.key.outputs.image }}-vcpkg-${{ matrix.arch }}
|
||||
|
||||
- name: Prepare vcpkg
|
||||
shell: bash
|
||||
run: |
|
||||
vcpkg install --triplet=${{ matrix.arch }}-windows-static \
|
||||
liblzma \
|
||||
libpng \
|
||||
lzo \
|
||||
zlib \
|
||||
zstd \
|
||||
# EOF
|
||||
|
||||
# arm64-windows-static is not (yet) supported for breakpad.
|
||||
if [ "${{ matrix.arch }}" != "arm64" ]; then
|
||||
vcpkg install --triplet=${{ matrix.arch }}-windows-static \
|
||||
breakpad \
|
||||
# EOF
|
||||
fi
|
||||
|
||||
- name: Install MSVC problem matcher
|
||||
uses: ammaraskar/msvc-problem-matcher@master
|
||||
|
||||
|
|
|
@ -5,4 +5,5 @@ docs/aidocs/*
|
|||
docs/gamedocs/*
|
||||
docs/source/*
|
||||
/out
|
||||
/vcpkg_installed
|
||||
*.tmp
|
||||
|
|
|
@ -59,8 +59,8 @@ the `static` versions, and OpenTTD currently needs the following dependencies:
|
|||
To install both the x64 (64bit) and x86 (32bit) variants (though only one is necessary), you can use:
|
||||
|
||||
```ps
|
||||
.\vcpkg install liblzma:x64-windows-static zstd:x64-windows-static libpng:x64-windows-static lzo:x64-windows-static zlib:x64-windows-static
|
||||
.\vcpkg install liblzma:x86-windows-static zstd:x86-windows-static libpng:x86-windows-static lzo:x86-windows-static zlib:x86-windows-static
|
||||
.\vcpkg install --triplet=x64-windows-static
|
||||
.\vcpkg install --triplet=x86-windows-static
|
||||
```
|
||||
|
||||
You can open the folder (as a CMake project). CMake will be detected, and you can compile from there.
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
--- a/usr/include/elf.h 2023-12-30 13:46:27.038645199 +0100
|
||||
+++ b/usr/include/elf.h 2023-12-30 13:46:42.278641893 +0100
|
||||
@@ -365,6 +365,7 @@
|
||||
required */
|
||||
#define SHF_GROUP (1 << 9) /* Section is member of a group. */
|
||||
#define SHF_TLS (1 << 10) /* Section hold thread-local data. */
|
||||
+#define SHF_COMPRESSED (1 << 11) /* Section with compressed data. */
|
||||
#define SHF_MASKOS 0x0ff00000 /* OS-specific. */
|
||||
#define SHF_MASKPROC 0xf0000000 /* Processor-specific */
|
||||
#define SHF_ORDERED (1 << 30) /* Special ordering requirement
|
|
@ -1812,10 +1812,17 @@ function Regression::Vehicle()
|
|||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
|
||||
local list = AIVehicleList();
|
||||
local in_depot = AIVehicleList(AIVehicle.IsInDepot);
|
||||
local IsType = function(vehicle_id, type) {
|
||||
return AIVehicle.GetVehicleType(vehicle_id) == type;
|
||||
}
|
||||
local rv_list = AIVehicleList(IsType, AIVehicle.VT_ROAD);
|
||||
|
||||
print("");
|
||||
print("--VehicleList--");
|
||||
print(" Count(): " + list.Count());
|
||||
print(" InDepot Count(): " + in_depot.Count());
|
||||
print(" RoadVehicle Count(): " + rv_list.Count());
|
||||
list.Valuate(AIVehicle.GetLocation);
|
||||
print(" Location ListDump:");
|
||||
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
|
||||
|
|
|
@ -9389,6 +9389,8 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
|||
|
||||
--VehicleList--
|
||||
Count(): 5
|
||||
InDepot Count(): 4
|
||||
RoadVehicle Count(): 2
|
||||
Location ListDump:
|
||||
13 => 33417
|
||||
12 => 33417
|
||||
|
|
|
@ -114,7 +114,7 @@ struct AIConfigWindow : public Window {
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AIC_NUMBER:
|
||||
|
@ -127,7 +127,7 @@ struct AIConfigWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AIC_DECREASE_NUMBER:
|
||||
|
@ -164,7 +164,7 @@ struct AIConfigWindow : public Window {
|
|||
return slot < max_slot;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AIC_LIST: {
|
||||
|
@ -189,7 +189,7 @@ struct AIConfigWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget >= WID_AIC_TEXTFILE && widget < WID_AIC_TEXTFILE + TFT_CONTENT_END) {
|
||||
if (this->selected_slot == INVALID_COMPANY || AIConfig::GetConfig(this->selected_slot) == nullptr) return;
|
||||
|
|
|
@ -106,7 +106,7 @@ struct BuildAirToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AT_AIRPORT:
|
||||
|
@ -283,7 +283,7 @@ public:
|
|||
this->PickerWindowBase::Close();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AP_CLASS_DROPDOWN:
|
||||
|
@ -308,7 +308,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AP_CLASS_DROPDOWN: {
|
||||
|
@ -369,7 +369,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AP_AIRPORT_LIST: {
|
||||
|
@ -479,7 +479,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_AP_CLASS_DROPDOWN:
|
||||
|
@ -554,7 +554,7 @@ public:
|
|||
this->SelectOtherAirport(-1);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget == WID_AP_CLASS_DROPDOWN) {
|
||||
_selected_airport_class = (AirportClassID)index;
|
||||
|
|
|
@ -315,7 +315,7 @@ public:
|
|||
this->sel_group = id_g;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_RV_SORT_ASCENDING_DESCENDING: {
|
||||
|
@ -402,7 +402,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_RV_CAPTION:
|
||||
|
@ -457,7 +457,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_RV_SORT_ASCENDING_DESCENDING:
|
||||
|
@ -541,7 +541,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_RV_SORT_ASCENDING_DESCENDING:
|
||||
|
@ -656,7 +656,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_RV_SORT_DROPDOWN:
|
||||
|
@ -698,7 +698,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip([[maybe_unused]] Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip([[maybe_unused]] Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
if (widget != WID_RV_TRAIN_WAGONREMOVE_TOGGLE) return false;
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ public:
|
|||
ResizeWindow(this, _screen.width, _screen.height);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int) const override
|
||||
void DrawWidget(const Rect &r, WidgetID) const override
|
||||
{
|
||||
GfxFillRect(r.left, r.top, r.right, r.bottom, 4, FILLRECT_OPAQUE);
|
||||
GfxFillRect(r.left, r.top, r.right, r.bottom, 0, FILLRECT_CHECKER);
|
||||
|
@ -96,7 +96,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_BEM_MESSAGE) {
|
||||
*size = GetStringBoundingBox(STR_MISSING_GRAPHICS_ERROR);
|
||||
|
@ -105,14 +105,14 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_BEM_MESSAGE) {
|
||||
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.frametext), STR_MISSING_GRAPHICS_ERROR, TC_FROMSTRING, SA_CENTER);
|
||||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget == WID_BEM_QUIT) {
|
||||
_exit_game = true;
|
||||
|
@ -210,7 +210,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
/* We cache the button size. This is safe as no reinit can happen here. */
|
||||
if (this->button_size.width == 0) {
|
||||
|
@ -233,14 +233,14 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_BAFD_QUESTION) return;
|
||||
|
||||
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.frametext), STR_MISSING_GRAPHICS_SET_MESSAGE, TC_FROMSTRING, SA_CENTER);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BAFD_YES:
|
||||
|
|
|
@ -189,7 +189,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BBS_DROPDOWN_ORDER: {
|
||||
|
@ -236,7 +236,7 @@ public:
|
|||
return corner;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BBS_DROPDOWN_ORDER:
|
||||
|
@ -270,7 +270,7 @@ public:
|
|||
return ES_NOT_HANDLED;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
default: break;
|
||||
|
@ -294,7 +294,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget == WID_BBS_DROPDOWN_CRITERIA && this->bridges.SortType() != index) {
|
||||
this->bridges.SetSortType(index);
|
||||
|
|
|
@ -1858,7 +1858,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
|
|||
return list;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_SORT_ASCENDING_DESCENDING:
|
||||
|
@ -1987,7 +1987,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
|
|||
this->eng_list.ForceRebuild();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_CAPTION:
|
||||
|
@ -2022,7 +2022,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_LIST:
|
||||
|
@ -2063,7 +2063,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_LIST:
|
||||
|
@ -2124,7 +2124,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
|
|||
DoCommandP(0, this->rename_engine, 0, CMD_RENAME_ENGINE | CMD_MSG(STR_ERROR_CAN_T_RENAME_TRAIN_TYPE + this->vehicle_type), nullptr, str);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_SORT_DROPDOWN:
|
||||
|
@ -2154,7 +2154,7 @@ struct BuildVehicleWindow : BuildVehicleWindowBase {
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_BV_LIST);
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_BV_FILTER) {
|
||||
this->string_filter.SetFilterTerm(this->vehicle_editbox.text.buf);
|
||||
|
@ -2730,7 +2730,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
bool OnClickList(Point pt, int widget, PanelState &state, bool column)
|
||||
bool OnClickList(Point pt, WidgetID widget, PanelState &state, bool column)
|
||||
{
|
||||
const uint i = state.vscroll->GetScrolledRowFromWidget(pt.y, this, widget);
|
||||
const size_t num_items = state.eng_list.size();
|
||||
|
@ -2757,7 +2757,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
|
|||
return false;
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
if (widget == WID_BV_COMB_BUILD) {
|
||||
widget = !this->wagon_selected ? WID_BV_BUILD_LOCO : WID_BV_BUILD_WAGON;
|
||||
|
@ -2918,7 +2918,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_CAPTION: {
|
||||
|
@ -2994,7 +2994,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_LIST_LOCO: {
|
||||
|
@ -3052,7 +3052,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_LIST_LOCO: {
|
||||
|
@ -3146,7 +3146,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BV_SORT_DROPDOWN_LOCO: {
|
||||
|
@ -3199,7 +3199,7 @@ struct BuildVehicleWindowTrainAdvanced final : BuildVehicleWindowBase {
|
|||
this->wagon.vscroll->SetCapacityFromWidget(this, WID_BV_LIST_WAGON);
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_BV_FILTER_LOCO) {
|
||||
this->loco.string_filter.SetFilterTerm(this->loco.vehicle_editbox.text.buf);
|
||||
|
|
|
@ -251,7 +251,7 @@ struct CheatWindow : Window {
|
|||
this->icon = GetSpriteSize(SPR_COMPANY_ICON);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_C_PANEL) return;
|
||||
|
||||
|
@ -326,7 +326,7 @@ struct CheatWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_C_PANEL) return;
|
||||
|
||||
|
@ -379,7 +379,7 @@ struct CheatWindow : Window {
|
|||
size->height = WidgetDimensions::scaled.framerect.Vertical() + this->line_height * lines;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget != WID_C_PANEL) return;
|
||||
|
||||
|
|
|
@ -344,7 +344,7 @@ struct CompanyFinancesWindow : Window {
|
|||
this->owner = (Owner)this->window_number;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CF_CAPTION:
|
||||
|
@ -385,7 +385,7 @@ struct CompanyFinancesWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CF_EXPS_CATEGORY:
|
||||
|
@ -412,7 +412,7 @@ struct CompanyFinancesWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CF_EXPS_CATEGORY:
|
||||
|
@ -481,7 +481,7 @@ struct CompanyFinancesWindow : Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CF_TOGGLE_SIZE: // toggle size
|
||||
|
@ -550,7 +550,7 @@ struct CompanyFinancesWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CF_INCREASE_LOAN: {
|
||||
|
@ -796,7 +796,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCL_SPACER_DROPDOWN: {
|
||||
|
@ -862,7 +862,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCL_CAPTION:
|
||||
|
@ -902,7 +902,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SCL_MATRIX) return;
|
||||
|
||||
|
@ -974,7 +974,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
/* Livery Class buttons */
|
||||
|
@ -1053,7 +1053,7 @@ public:
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_SCL_MATRIX);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
bool local = (CompanyID)this->window_number == _local_company;
|
||||
if (!local) return;
|
||||
|
@ -1392,7 +1392,7 @@ class SelectCompanyManagerFaceWindow : public Window
|
|||
* @param val the value which will be displayed
|
||||
* @param is_bool_widget is it a bool button
|
||||
*/
|
||||
void SetFaceStringParameters(byte widget_index, uint8 val, bool is_bool_widget) const
|
||||
void SetFaceStringParameters(WidgetID widget_index, uint8_t val, bool is_bool_widget) const
|
||||
{
|
||||
const NWidgetCore *nwi_widget = this->GetWidget<NWidgetCore>(widget_index);
|
||||
if (nwi_widget->IsDisabled()) {
|
||||
|
@ -1476,7 +1476,7 @@ public:
|
|||
this->number_dim = number_dim;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT:
|
||||
|
@ -1579,7 +1579,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCMF_HAS_MOUSTACHE_EARRING:
|
||||
|
@ -1640,7 +1640,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCMF_FACE:
|
||||
|
@ -1649,7 +1649,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
/* Toggle size, advanced/simple face selection */
|
||||
|
@ -1895,7 +1895,7 @@ struct CompanyInfrastructureWindow : Window
|
|||
return total;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CI_CAPTION:
|
||||
|
@ -1904,7 +1904,7 @@ struct CompanyInfrastructureWindow : Window
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
const Company *c = Company::Get((CompanyID)this->window_number);
|
||||
|
||||
|
@ -2026,7 +2026,7 @@ struct CompanyInfrastructureWindow : Window
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_CI_DESC && widget != WID_CI_COUNT) return;
|
||||
|
||||
|
@ -2384,7 +2384,7 @@ struct CompanyWindow : Window
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_C_FACE:
|
||||
|
@ -2523,7 +2523,7 @@ struct CompanyWindow : Window
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
const Company *c = Company::Get((CompanyID)this->window_number);
|
||||
switch (widget) {
|
||||
|
@ -2576,7 +2576,7 @@ struct CompanyWindow : Window
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_C_CAPTION:
|
||||
|
@ -2594,7 +2594,7 @@ struct CompanyWindow : Window
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_C_NEW_FACE: DoSelectCompanyManagerFace(this); break;
|
||||
|
@ -2823,7 +2823,7 @@ struct BuyCompanyWindow : Window {
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BC_FACE:
|
||||
|
@ -2839,7 +2839,7 @@ struct BuyCompanyWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BC_CAPTION:
|
||||
|
@ -2849,7 +2849,7 @@ struct BuyCompanyWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BC_FACE: {
|
||||
|
@ -2868,7 +2868,7 @@ struct BuyCompanyWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BC_NO:
|
||||
|
|
|
@ -281,7 +281,7 @@ struct IConsoleWindow : Window
|
|||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
void InsertTextString(int, const char *str, bool marked, const char *caret, const char *insert_location, const char *replacement_end) override
|
||||
void InsertTextString(WidgetID, const char *str, bool marked, const char *caret, const char *insert_location, const char *replacement_end) override
|
||||
{
|
||||
if (_iconsole_cmdline.InsertString(str, marked, caret, insert_location, replacement_end)) {
|
||||
IConsoleWindow::scroll = 0;
|
||||
|
|
|
@ -71,7 +71,7 @@ struct SetDateWindow : Window {
|
|||
* Helper function to construct the dropdown.
|
||||
* @param widget the dropdown widget to create the dropdown for
|
||||
*/
|
||||
virtual void ShowDateDropDown(int widget)
|
||||
virtual void ShowDateDropDown(WidgetID widget)
|
||||
{
|
||||
int selected;
|
||||
DropDownList list;
|
||||
|
@ -105,7 +105,7 @@ struct SetDateWindow : Window {
|
|||
ShowDropDownList(this, std::move(list), selected, widget);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
Dimension d = {0, 0};
|
||||
switch (widget) {
|
||||
|
@ -134,7 +134,7 @@ struct SetDateWindow : Window {
|
|||
*size = d;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SD_DAY: SetDParam(0, this->date.day - 1 + STR_DAY_NUMBER_1ST); break;
|
||||
|
@ -143,7 +143,7 @@ struct SetDateWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SD_DAY:
|
||||
|
@ -160,7 +160,7 @@ struct SetDateWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SD_DAY:
|
||||
|
@ -195,7 +195,7 @@ struct SetMinutesWindow : SetDateWindow
|
|||
* Helper function to construct the dropdown.
|
||||
* @param widget the dropdown widget to create the dropdown for
|
||||
*/
|
||||
virtual void ShowDateDropDown(int widget) override
|
||||
virtual void ShowDateDropDown(WidgetID widget) override
|
||||
{
|
||||
int selected;
|
||||
DropDownList list;
|
||||
|
@ -224,7 +224,7 @@ struct SetMinutesWindow : SetDateWindow
|
|||
ShowDropDownList(this, std::move(list), selected, widget);
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
Dimension d = {0, 0};
|
||||
switch (widget) {
|
||||
|
@ -250,7 +250,7 @@ struct SetMinutesWindow : SetDateWindow
|
|||
*size = d;
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SD_DAY: SetDParam(0, this->minutes.ClockMinute()); break;
|
||||
|
@ -258,7 +258,7 @@ struct SetMinutesWindow : SetDateWindow
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SD_DAY:
|
||||
|
@ -276,7 +276,7 @@ struct SetMinutesWindow : SetDateWindow
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
const TickMinutes now = _settings_time.NowInTickMinutes();
|
||||
TickMinutes current = 0;
|
||||
|
|
|
@ -116,7 +116,7 @@ protected:
|
|||
virtual void DrawDeparturesListItems(const Rect &r) const;
|
||||
void DeleteDeparturesList(DepartureList* list);
|
||||
|
||||
void ToggleCargoFilter(int widget, bool &flag)
|
||||
void ToggleCargoFilter(WidgetID widget, bool &flag)
|
||||
{
|
||||
flag = !flag;
|
||||
this->SetWidgetLoweredState(widget, flag);
|
||||
|
@ -302,7 +302,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DB_LIST:
|
||||
|
@ -313,7 +313,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_DB_CAPTION) {
|
||||
const Station *st = Station::Get(this->station);
|
||||
|
@ -321,7 +321,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
virtual bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DB_SHOW_TRAINS:
|
||||
|
@ -337,7 +337,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DB_SHOW_TRAINS: // Show trains to this station
|
||||
|
@ -532,7 +532,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DB_LIST:
|
||||
|
|
|
@ -260,7 +260,7 @@ struct DepotWindow : Window {
|
|||
VehicleID vehicle_over; ///< Rail vehicle over which another one is dragged, \c INVALID_VEHICLE if none.
|
||||
VehicleType type;
|
||||
bool generate_list;
|
||||
int hovered_widget; ///< Index of the widget being hovered during drag/drop. -1 if no drag is in progress.
|
||||
WidgetID hovered_widget; ///< Index of the widget being hovered during drag/drop. -1 if no drag is in progress.
|
||||
VehicleList vehicle_list;
|
||||
VehicleList wagon_list;
|
||||
uint unitnumber_digits;
|
||||
|
@ -365,7 +365,7 @@ struct DepotWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_D_MATRIX) return;
|
||||
|
||||
|
@ -423,7 +423,7 @@ struct DepotWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_D_CAPTION) return;
|
||||
|
||||
|
@ -655,7 +655,7 @@ struct DepotWindow : Window {
|
|||
this->flag_size = maxdim(GetScaledSpriteSize(SPR_FLAG_VEH_STOPPED), GetScaledSpriteSize(SPR_FLAG_VEH_RUNNING));
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_D_MATRIX: {
|
||||
|
@ -759,7 +759,7 @@ struct DepotWindow : Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_D_MATRIX: // List
|
||||
|
@ -841,7 +841,7 @@ struct DepotWindow : Window {
|
|||
DoCommandP(0, this->GetDepotIndex(), 0, CMD_RENAME_DEPOT | CMD_MSG(STR_ERROR_CAN_T_RENAME_DEPOT), nullptr, str);
|
||||
}
|
||||
|
||||
bool OnRightClick([[maybe_unused]] Point pt, int widget) override
|
||||
bool OnRightClick([[maybe_unused]] Point pt, WidgetID widget) override
|
||||
{
|
||||
if (widget != WID_D_MATRIX) return false;
|
||||
|
||||
|
@ -991,7 +991,7 @@ struct DepotWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnMouseDrag(Point pt, int widget) override
|
||||
void OnMouseDrag(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (this->sel == INVALID_VEHICLE) return;
|
||||
if (widget != this->hovered_widget) {
|
||||
|
@ -1042,7 +1042,7 @@ struct DepotWindow : Window {
|
|||
this->SetWidgetDirty(widget);
|
||||
}
|
||||
|
||||
void OnDragDrop(Point pt, int widget) override
|
||||
void OnDragDrop(Point pt, WidgetID widget) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_D_MATRIX: {
|
||||
|
|
|
@ -146,7 +146,7 @@ struct BuildDocksToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DT_CANAL: // Build canal button
|
||||
|
@ -457,7 +457,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case BDSW_LT_OFF:
|
||||
|
@ -529,7 +529,7 @@ public:
|
|||
UpdateDocksDirection();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BDD_X:
|
||||
|
@ -540,7 +540,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
DrawPixelInfo tmp_dpi;
|
||||
|
||||
|
@ -564,7 +564,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BDD_X:
|
||||
|
|
|
@ -736,7 +736,7 @@ void SetYearEngineAgingStops()
|
|||
* @param aging_date The date used for age calculations.
|
||||
* @param seed Random seed.
|
||||
*/
|
||||
void StartupOneEngine(Engine *e, Date aging_date, uint32 seed, Date no_introduce_after_date)
|
||||
void StartupOneEngine(Engine *e, Date aging_date, const YearMonthDay &aging_ymd, uint32 seed, Date no_introduce_after_date)
|
||||
{
|
||||
const EngineInfo *ei = &e->info;
|
||||
|
||||
|
@ -760,7 +760,11 @@ void StartupOneEngine(Engine *e, Date aging_date, uint32 seed, Date no_introduce
|
|||
* Note: TTDP uses fixed 1922 */
|
||||
e->intro_date = ei->base_intro <= ConvertYMDToDate(_settings_game.game_creation.starting_year + 2, 0, 1) ? ei->base_intro : (DateDelta)GB(r, 0, 9) + ei->base_intro;
|
||||
if (e->intro_date <= _date && e->intro_date <= no_introduce_after_date) {
|
||||
e->age = (aging_date - e->intro_date).base() >> 5;
|
||||
YearMonthDay intro_ymd = ConvertDateToYMD(e->intro_date);
|
||||
int aging_months = aging_ymd.year * 12 + aging_ymd.month;
|
||||
int intro_months = intro_ymd.year * 12 + intro_ymd.month;
|
||||
if (intro_ymd.day > 1) intro_months++; // Engines are introduced at the first month start at/after intro date.
|
||||
e->age = aging_months - intro_months;
|
||||
e->company_avail = MAX_UVALUE(CompanyMask);
|
||||
e->flags |= ENGINE_AVAILABLE;
|
||||
}
|
||||
|
@ -821,6 +825,7 @@ void StartupEngines()
|
|||
aging_stop_year = std::min<Year>(aging_stop_year, std::max<Year>(_settings_game.vehicle.no_introduce_vehicles_after, _settings_game.vehicle.no_expire_vehicles_after));
|
||||
}
|
||||
const Date aging_date = std::min(_date, ConvertYMDToDate(aging_stop_year, 0, 1));
|
||||
const YearMonthDay aging_ymd = ConvertDateToYMD(aging_date);
|
||||
|
||||
Date no_introduce_after_date = INT_MAX;
|
||||
if (_settings_game.vehicle.no_introduce_vehicles_after > 0) {
|
||||
|
@ -830,7 +835,7 @@ void StartupEngines()
|
|||
uint32 seed = Random();
|
||||
|
||||
for (Engine *e : Engine::Iterate()) {
|
||||
StartupOneEngine(e, aging_date, seed, no_introduce_after_date);
|
||||
StartupOneEngine(e, aging_date, aging_ymd, seed, no_introduce_after_date);
|
||||
}
|
||||
for (Engine *e : Engine::Iterate()) {
|
||||
CalcEngineReliability(e, false);
|
||||
|
|
|
@ -27,7 +27,7 @@ bool IsEngineBuildable(EngineID engine, VehicleType type, CompanyID company);
|
|||
bool IsEngineRefittable(EngineID engine);
|
||||
void SetYearEngineAgingStops();
|
||||
void CalcEngineReliability(Engine *e, bool new_month);
|
||||
void StartupOneEngine(Engine *e, Date aging_date, uint32 seed, Date no_introduce_after_date);
|
||||
void StartupOneEngine(Engine *e, Date aging_date, const YearMonthDay &aging_ymd, uint32 seed, Date no_introduce_after_date);
|
||||
|
||||
uint GetTotalCapacityOfArticulatedParts(EngineID engine);
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ struct EnginePreviewWindow : Window {
|
|||
this->flags |= WF_STICKY;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_EP_QUESTION) return;
|
||||
|
||||
|
@ -104,7 +104,7 @@ struct EnginePreviewWindow : Window {
|
|||
size->height += GetStringHeight(GetEngineInfoString(engine), size->width);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_EP_QUESTION) return;
|
||||
|
||||
|
@ -122,7 +122,7 @@ struct EnginePreviewWindow : Window {
|
|||
DrawStringMultiLine(r.left, r.right, y, r.bottom, GetEngineInfoString(engine), TC_FROMSTRING, SA_CENTER);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_EP_YES:
|
||||
|
|
|
@ -178,7 +178,7 @@ public:
|
|||
this->InitNested();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_EM_MESSAGE: {
|
||||
|
@ -245,12 +245,12 @@ public:
|
|||
if (this->face != INVALID_COMPANY && !Company::IsValidID(this->face)) this->Close();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_EM_CAPTION) CopyInDParam(this->params);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_EM_FACE: {
|
||||
|
|
|
@ -418,7 +418,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SL_SORT_BYNAME:
|
||||
|
@ -587,7 +587,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SL_BACKGROUND:
|
||||
|
@ -620,7 +620,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SL_SORT_BYNAME: // Sort save names by name
|
||||
|
@ -742,7 +742,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnMouseOver([[maybe_unused]] Point pt, int widget) override
|
||||
void OnMouseOver([[maybe_unused]] Point pt, WidgetID widget) override
|
||||
{
|
||||
if (widget == WID_SL_DRIVES_DIRECTORIES_LIST) {
|
||||
auto it = this->vscroll->GetScrolledItemFromWidget(this->display_list, pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WidgetDimensions::scaled.inset.top);
|
||||
|
@ -920,7 +920,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_SL_FILTER) {
|
||||
this->string_filter.SetFilterTerm(this->filter_editbox.text.buf);
|
||||
|
|
|
@ -507,7 +507,7 @@ struct FramerateWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_FRW_CAPTION:
|
||||
|
@ -535,7 +535,7 @@ struct FramerateWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_FRW_RATE_GAMELOOP:
|
||||
|
@ -646,7 +646,7 @@ struct FramerateWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_FRW_TIMES_NAMES: {
|
||||
|
@ -688,7 +688,7 @@ struct FramerateWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_FRW_TIMES_NAMES:
|
||||
|
@ -761,7 +761,7 @@ struct FrametimeGraphWindow : Window {
|
|||
this->InitNested(number);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_FGW_CAPTION:
|
||||
|
@ -776,7 +776,7 @@ struct FrametimeGraphWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_FGW_GRAPH) {
|
||||
SetDParam(0, 100);
|
||||
|
@ -893,7 +893,7 @@ struct FrametimeGraphWindow : Window {
|
|||
return (value - src_min) * dst_diff / src_diff + dst_min;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_FGW_GRAPH) {
|
||||
const TimingMeasurement *durations = _pf_data[this->element].durations;
|
||||
|
|
|
@ -142,7 +142,7 @@ struct GSConfigWindow : public Window {
|
|||
this->vscroll->SetCount(this->visible_settings.size());
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GSC_SETTINGS:
|
||||
|
@ -168,7 +168,7 @@ struct GSConfigWindow : public Window {
|
|||
return UserIsAllowedToChangeGameScript() || Game::GetInstance() != nullptr;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GSC_GSLIST: {
|
||||
|
@ -250,7 +250,7 @@ struct GSConfigWindow : public Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget >= WID_GSC_TEXTFILE && widget < WID_GSC_TEXTFILE + TFT_CONTENT_END) {
|
||||
if (GameConfig::GetConfig() == nullptr) return;
|
||||
|
@ -380,14 +380,14 @@ struct GSConfigWindow : public Window {
|
|||
SetValue(value);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget != WID_GSC_SETTING_DROPDOWN) return;
|
||||
assert(this->clicked_dropdown);
|
||||
SetValue(index);
|
||||
}
|
||||
|
||||
void OnDropdownClose(Point, int widget, int, bool) override
|
||||
void OnDropdownClose(Point, WidgetID widget, int, bool) override
|
||||
{
|
||||
if (widget != WID_GSC_SETTING_DROPDOWN) return;
|
||||
/* We cannot raise the dropdown button just yet. OnClick needs some hint, whether
|
||||
|
|
|
@ -438,7 +438,7 @@ static const StringID _variety[] = {STR_VARIETY_NONE, STR_VARIETY_VERY_LOW,
|
|||
static_assert(lengthof(_num_inds) == ID_END + 1);
|
||||
|
||||
struct GenerateLandscapeWindow : public Window {
|
||||
uint widget_id;
|
||||
WidgetID widget_id;
|
||||
uint x;
|
||||
uint y;
|
||||
std::string name;
|
||||
|
@ -479,7 +479,7 @@ struct GenerateLandscapeWindow : public Window {
|
|||
}
|
||||
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_START_DATE_TEXT: SetDParam(0, ConvertYMDToDate(_settings_newgame.game_creation.starting_year, 0, 1)); break;
|
||||
|
@ -643,7 +643,7 @@ struct GenerateLandscapeWindow : public Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
Dimension d{0, (uint)GetCharacterHeight(FS_NORMAL)};
|
||||
const StringID *strs = nullptr;
|
||||
|
@ -752,7 +752,7 @@ struct GenerateLandscapeWindow : public Window {
|
|||
*size = maxdim(*size, d);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_TEMPERATE:
|
||||
|
@ -1002,7 +1002,7 @@ struct GenerateLandscapeWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_MAPSIZE_X_PULLDOWN:
|
||||
|
@ -1217,7 +1217,7 @@ void StartNewGameWithoutGUI(uint32 seed)
|
|||
|
||||
struct CreateScenarioWindow : public Window
|
||||
{
|
||||
uint widget_id;
|
||||
WidgetID widget_id;
|
||||
|
||||
void SetDropDownColor()
|
||||
{
|
||||
|
@ -1234,7 +1234,7 @@ struct CreateScenarioWindow : public Window
|
|||
SetDropDownColor();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CS_START_DATE_TEXT:
|
||||
|
@ -1270,7 +1270,7 @@ struct CreateScenarioWindow : public Window
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
StringID str = STR_JUST_INT;
|
||||
switch (widget) {
|
||||
|
@ -1303,7 +1303,7 @@ struct CreateScenarioWindow : public Window
|
|||
*size = maxdim(*size, d);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CS_TEMPERATE:
|
||||
|
@ -1375,7 +1375,7 @@ struct CreateScenarioWindow : public Window
|
|||
this->RaiseWidgetsWhenLowered(WID_CS_START_DATE_DOWN, WID_CS_START_DATE_UP, WID_CS_FLAT_LAND_HEIGHT_DOWN, WID_CS_FLAT_LAND_HEIGHT_UP);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CS_MAPSIZE_X_PULLDOWN: _settings_newgame.game_creation.map_x = index; break;
|
||||
|
@ -1544,7 +1544,7 @@ struct GenerateProgressWindow : public Window {
|
|||
this->InitNested();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GP_ABORT:
|
||||
|
@ -1559,7 +1559,7 @@ struct GenerateProgressWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GP_PROGRESS_BAR: {
|
||||
|
@ -1580,7 +1580,7 @@ struct GenerateProgressWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GP_PROGRESS_BAR: {
|
||||
|
|
|
@ -51,7 +51,7 @@ struct GoalListWindow : public Window {
|
|||
this->OnInvalidateData(0);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_GOAL_CAPTION) return;
|
||||
|
||||
|
@ -63,7 +63,7 @@ struct GoalListWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GOAL_GLOBAL_BUTTON:
|
||||
|
@ -168,7 +168,7 @@ struct GoalListWindow : public Window {
|
|||
return num;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_GOAL_LIST) return;
|
||||
Dimension d = GetStringBoundingBox(STR_GOALS_NONE);
|
||||
|
@ -351,7 +351,7 @@ struct GoalQuestionWindow : public Window {
|
|||
}
|
||||
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GQ_BUTTON_1:
|
||||
|
@ -368,7 +368,7 @@ struct GoalQuestionWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GQ_BUTTON_1:
|
||||
|
@ -388,7 +388,7 @@ struct GoalQuestionWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_GQ_QUESTION) return;
|
||||
|
||||
|
@ -396,7 +396,7 @@ struct GoalQuestionWindow : public Window {
|
|||
size->height = GetStringHeight(STR_JUST_RAW_STRING, size->width);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_GQ_QUESTION) return;
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ struct GraphLegendWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (!IsInsideMM(widget, WID_GL_FIRST_COMPANY, MAX_COMPANIES + WID_GL_FIRST_COMPANY)) return;
|
||||
|
||||
|
@ -79,7 +79,7 @@ struct GraphLegendWindow : Window {
|
|||
DrawString(tr.left, tr.right, CenterBounds(tr.top, tr.bottom, GetCharacterHeight(FS_NORMAL)), STR_COMPANY_NAME_COMPANY_NUM, HasBit(_legend_excluded_companies, cid) ? TC_BLACK : TC_WHITE);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (!IsInsideMM(widget, WID_GL_FIRST_COMPANY, MAX_COMPANIES + WID_GL_FIRST_COMPANY)) return;
|
||||
|
||||
|
@ -110,25 +110,22 @@ struct GraphLegendWindow : Window {
|
|||
|
||||
/**
|
||||
* Construct a vertical list of buttons, one for each company.
|
||||
* @param biggest_index Storage for collecting the biggest index used in the returned tree.
|
||||
* @return Panel with company buttons.
|
||||
* @post \c *biggest_index contains the largest used index in the tree.
|
||||
*/
|
||||
static NWidgetBase *MakeNWidgetCompanyLines(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeNWidgetCompanyLines()
|
||||
{
|
||||
NWidgetVertical *vert = new NWidgetVertical(NC_EQUALSIZE);
|
||||
auto vert = std::make_unique<NWidgetVertical>(NC_EQUALSIZE);
|
||||
vert->SetPadding(2, 2, 2, 2);
|
||||
uint sprite_height = GetSpriteSize(SPR_COMPANY_ICON, nullptr, ZOOM_LVL_OUT_4X).height;
|
||||
|
||||
for (int widnum = WID_GL_FIRST_COMPANY; widnum <= WID_GL_LAST_COMPANY; widnum++) {
|
||||
NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_BROWN, widnum);
|
||||
for (WidgetID widnum = WID_GL_FIRST_COMPANY; widnum <= WID_GL_LAST_COMPANY; widnum++) {
|
||||
auto panel = std::make_unique<NWidgetBackground>(WWT_PANEL, COLOUR_BROWN, widnum);
|
||||
panel->SetMinimalSize(246, sprite_height + WidgetDimensions::unscaled.framerect.Vertical());
|
||||
panel->SetMinimalTextLines(1, WidgetDimensions::unscaled.framerect.Vertical(), FS_NORMAL);
|
||||
panel->SetFill(1, 1);
|
||||
panel->SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP);
|
||||
vert->Add(panel);
|
||||
vert->Add(std::move(panel));
|
||||
}
|
||||
*biggest_index = WID_GL_LAST_COMPANY;
|
||||
return vert;
|
||||
}
|
||||
|
||||
|
@ -197,7 +194,7 @@ protected:
|
|||
uint16 x_values_start;
|
||||
uint16 x_values_increment;
|
||||
|
||||
int graph_widget;
|
||||
WidgetID graph_widget;
|
||||
StringID format_str_y_axis;
|
||||
byte colours[GRAPH_MAX_DATASETS];
|
||||
OverflowSafeInt64 cost[GRAPH_MAX_DATASETS][GRAPH_NUM_MONTHS]; ///< Stored costs for the last #GRAPH_NUM_MONTHS months
|
||||
|
@ -489,7 +486,7 @@ protected:
|
|||
}
|
||||
|
||||
|
||||
BaseGraphWindow(WindowDesc *desc, int widget, StringID format_str_y_axis) :
|
||||
BaseGraphWindow(WindowDesc *desc, WidgetID widget, StringID format_str_y_axis) :
|
||||
Window(desc),
|
||||
format_str_y_axis(format_str_y_axis)
|
||||
{
|
||||
|
@ -513,7 +510,7 @@ protected:
|
|||
}
|
||||
|
||||
public:
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != this->graph_widget) return;
|
||||
|
||||
|
@ -549,7 +546,7 @@ public:
|
|||
size->height = std::max<uint>(size->height, size->width / 3);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != this->graph_widget) return;
|
||||
|
||||
|
@ -561,7 +558,7 @@ public:
|
|||
return INVALID_DATAPOINT;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
/* Clicked on legend? */
|
||||
if (widget == WID_CV_KEY_BUTTON) ShowGraphLegend();
|
||||
|
@ -747,7 +744,7 @@ struct ExcludingCargoBaseGraphWindow : BaseGraphWindow {
|
|||
Scrollbar *vscroll; ///< Cargo list scrollbar.
|
||||
uint legend_width; ///< Width of legend 'blob'.
|
||||
|
||||
ExcludingCargoBaseGraphWindow(WindowDesc *desc, int widget, StringID format_str_y_axis):
|
||||
ExcludingCargoBaseGraphWindow(WindowDesc *desc, WidgetID widget, StringID format_str_y_axis):
|
||||
BaseGraphWindow(desc, widget, format_str_y_axis)
|
||||
{}
|
||||
|
||||
|
@ -757,7 +754,7 @@ struct ExcludingCargoBaseGraphWindow : BaseGraphWindow {
|
|||
this->legend_width = (GetCharacterHeight(FS_SMALL) - ScaleGUITrad(1)) * 9 / 6;
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_ECBG_MATRIX) {
|
||||
BaseGraphWindow::UpdateWidgetSize(widget, size, padding, fill, resize);
|
||||
|
@ -779,7 +776,7 @@ struct ExcludingCargoBaseGraphWindow : BaseGraphWindow {
|
|||
resize->height = this->line_height;
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_ECBG_MATRIX) {
|
||||
BaseGraphWindow::DrawWidget(r, widget);
|
||||
|
@ -816,7 +813,7 @@ struct ExcludingCargoBaseGraphWindow : BaseGraphWindow {
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CV_KEY_BUTTON:
|
||||
|
@ -897,7 +894,7 @@ struct DeliveredCargoGraphWindow : ExcludingCargoBaseGraphWindow {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DCG_BY_COMPANY:
|
||||
|
@ -1060,7 +1057,7 @@ struct PerformanceHistoryGraphWindow : BaseGraphWindow {
|
|||
return c->old_economy[j].performance_history;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget == WID_PHG_DETAILED_PERFORMANCE) ShowPerformanceRatingDetail();
|
||||
this->BaseGraphWindow::OnClick(pt, widget, click_count);
|
||||
|
@ -1266,7 +1263,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_CPR_MATRIX) {
|
||||
BaseGraphWindow::UpdateWidgetSize(widget, size, padding, fill, resize);
|
||||
|
@ -1290,7 +1287,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
resize->height = this->line_height;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_CPR_MATRIX) {
|
||||
BaseGraphWindow::DrawWidget(r, widget);
|
||||
|
@ -1327,7 +1324,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CPR_ENABLE_CARGOES:
|
||||
|
@ -1412,7 +1409,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
this->num_dataset = i;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CPR_FOOTER:
|
||||
|
@ -1534,7 +1531,7 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
uint score_detail_left;
|
||||
uint score_detail_right;
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_PRD_SCORE_FIRST:
|
||||
|
@ -1592,7 +1589,7 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
/* No need to draw when there's nothing to draw */
|
||||
if (this->company == INVALID_COMPANY) return;
|
||||
|
@ -1670,7 +1667,7 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
/* Check which button is clicked */
|
||||
if (IsInsideMM(widget, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST + 1)) {
|
||||
|
@ -1729,11 +1726,9 @@ CompanyID PerformanceRatingDetailWindow::company = INVALID_COMPANY;
|
|||
|
||||
/**
|
||||
* Make a vertical list of panels for outputting score details.
|
||||
* @param biggest_index Storage for collecting the biggest index used in the returned tree.
|
||||
* @return Panel with performance details.
|
||||
* @post \c *biggest_index contains the largest used index in the tree.
|
||||
*/
|
||||
static NWidgetBase *MakePerformanceDetailPanels(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakePerformanceDetailPanels()
|
||||
{
|
||||
const StringID performance_tips[] = {
|
||||
STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP,
|
||||
|
@ -1750,21 +1745,20 @@ static NWidgetBase *MakePerformanceDetailPanels(int *biggest_index)
|
|||
|
||||
static_assert(lengthof(performance_tips) == SCORE_END - SCORE_BEGIN);
|
||||
|
||||
NWidgetVertical *vert = new NWidgetVertical(NC_EQUALSIZE);
|
||||
for (int widnum = WID_PRD_SCORE_FIRST; widnum <= WID_PRD_SCORE_LAST; widnum++) {
|
||||
NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_BROWN, widnum);
|
||||
auto vert = std::make_unique<NWidgetVertical>(NC_EQUALSIZE);
|
||||
for (WidgetID widnum = WID_PRD_SCORE_FIRST; widnum <= WID_PRD_SCORE_LAST; widnum++) {
|
||||
auto panel = std::make_unique<NWidgetBackground>(WWT_PANEL, COLOUR_BROWN, widnum);
|
||||
panel->SetFill(1, 1);
|
||||
panel->SetDataTip(0x0, performance_tips[widnum - WID_PRD_SCORE_FIRST]);
|
||||
vert->Add(panel);
|
||||
vert->Add(std::move(panel));
|
||||
}
|
||||
*biggest_index = WID_PRD_SCORE_LAST;
|
||||
return vert;
|
||||
}
|
||||
|
||||
/** Make a number of rows with buttons for each company for the performance rating detail window. */
|
||||
NWidgetBase *MakeCompanyButtonRowsGraphGUI(int *biggest_index)
|
||||
std::unique_ptr<NWidgetBase> MakeCompanyButtonRowsGraphGUI()
|
||||
{
|
||||
return MakeCompanyButtonRows(biggest_index, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST, COLOUR_BROWN, 8, STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP);
|
||||
return MakeCompanyButtonRows(WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST, COLOUR_BROWN, 8, STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP);
|
||||
}
|
||||
|
||||
static const NWidgetPart _nested_performance_rating_detail_widgets[] = {
|
||||
|
@ -1836,7 +1830,7 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
|
|||
this->legend_excluded_cargo = 0;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_SCG_CAPTION) {
|
||||
SetDParam(0, this->station_id);
|
||||
|
@ -1858,7 +1852,7 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
if (widget < WID_SCG_MATRIX) {
|
||||
BaseGraphWindow::UpdateWidgetSize(widget, size, padding, fill, resize);
|
||||
|
@ -1880,7 +1874,7 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
|
|||
resize->height = this->line_height;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget < WID_SCG_MATRIX) {
|
||||
BaseGraphWindow::DrawWidget(r, widget);
|
||||
|
@ -1921,7 +1915,7 @@ struct StationCargoGraphWindow final : BaseGraphWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCG_ENABLE_CARGOES:
|
||||
|
|
|
@ -450,7 +450,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_LIST_GROUP:
|
||||
|
@ -533,7 +533,7 @@ public:
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
|
||||
|
@ -622,7 +622,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_ALL_VEHICLES:
|
||||
|
@ -707,7 +707,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_SORT_BY_ORDER: // Flip sorting method ascending/descending
|
||||
|
@ -899,7 +899,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDragDrop_Group(Point pt, int widget)
|
||||
void OnDragDrop_Group(Point pt, WidgetID widget)
|
||||
{
|
||||
const Group *g = Group::GetIfValid(this->group_sel);
|
||||
if (g == nullptr) {
|
||||
|
@ -937,7 +937,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDragDrop_Vehicle(Point pt, int widget)
|
||||
void OnDragDrop_Vehicle(Point pt, WidgetID widget)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_DEFAULT_VEHICLES: // Ungrouped vehicles
|
||||
|
@ -1016,7 +1016,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDragDrop(Point pt, int widget) override
|
||||
void OnDragDrop(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (this->vehicle_sel != INVALID_VEHICLE) OnDragDrop_Vehicle(pt, widget);
|
||||
if (this->group_sel != INVALID_GROUP) OnDragDrop_Group(pt, widget);
|
||||
|
@ -1036,7 +1036,7 @@ public:
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_GL_LIST_VEHICLE);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GL_GROUP_BY_DROPDOWN:
|
||||
|
@ -1142,7 +1142,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnMouseDrag(Point pt, int widget) override
|
||||
void OnMouseDrag(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (this->vehicle_sel == INVALID_VEHICLE && this->group_sel == INVALID_GROUP) return;
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ struct GameManualTextfileWindow : public TextfileWindow {
|
|||
this->OnClick({ 0, 0 }, WID_TF_WRAPTEXT, 1);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_TF_CAPTION) {
|
||||
SetDParamStr(0, this->filename);
|
||||
|
@ -85,7 +85,7 @@ struct GameManualTextfileWindow : public TextfileWindow {
|
|||
if (this->filename == CHANGELOG_FILENAME) {
|
||||
this->link_anchors.clear();
|
||||
this->AfterLoadChangelog();
|
||||
this->GetWidget<NWidgetStacked>(WID_TF_SEL_JUMPLIST)->SetDisplayedPlane(this->jumplist.empty() ? SZSP_HORIZONTAL : 0);
|
||||
if (this->GetWidget<NWidgetStacked>(WID_TF_SEL_JUMPLIST)->SetDisplayedPlane(this->jumplist.empty() ? SZSP_HORIZONTAL : 0)) this->ReInit();
|
||||
} else {
|
||||
this->TextfileWindow::AfterLoadText();
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ struct HelpWindow : public Window {
|
|||
this->EnableTextfileButton(LICENSE_FILENAME, WID_HW_LICENSE);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_HW_README:
|
||||
|
|
|
@ -62,7 +62,7 @@ struct EndGameHighScoreBaseWindow : Window {
|
|||
return pt;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, [[maybe_unused]] int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, [[maybe_unused]] WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
this->Close();
|
||||
}
|
||||
|
|
|
@ -428,7 +428,7 @@ public:
|
|||
this->SetupArrays();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DPI_MATRIX_WIDGET: {
|
||||
|
@ -500,7 +500,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DPI_FUND_WIDGET:
|
||||
|
@ -521,7 +521,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DPI_MATRIX_WIDGET: {
|
||||
|
@ -632,7 +632,7 @@ public:
|
|||
MarkWholeScreenDirty();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_DPI_CREATE_RANDOM_INDUSTRIES_WIDGET: {
|
||||
|
@ -985,17 +985,17 @@ public:
|
|||
return ir.top - 1 + WidgetDimensions::scaled.framerect.bottom;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_IV_CAPTION) SetDParam(0, this->window_number);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_IV_INFO) size->height = this->info_height;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_IV_INFO: {
|
||||
|
@ -1651,7 +1651,7 @@ public:
|
|||
this->SetCargoFilterArray();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_ID_DROPDOWN_CRITERIA:
|
||||
|
@ -1668,7 +1668,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_ID_DROPDOWN_ORDER:
|
||||
|
@ -1714,7 +1714,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_ID_DROPDOWN_ORDER: {
|
||||
|
@ -1766,7 +1766,7 @@ public:
|
|||
return list;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_ID_DROPDOWN_ORDER:
|
||||
|
@ -1800,7 +1800,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_ID_DROPDOWN_CRITERIA: {
|
||||
|
@ -1831,7 +1831,7 @@ public:
|
|||
this->hscroll->SetCapacityFromWidget(this, WID_ID_INDUSTRY_LIST);
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_ID_FILTER) {
|
||||
this->string_filter.SetFilterTerm(this->industry_editbox.text.buf);
|
||||
|
@ -2644,7 +2644,7 @@ struct IndustryCargoesWindow : public Window {
|
|||
CargoesField::cargo_field_width = CargoesField::cargo_border.width * 2 + CargoesField::cargo_line.width * CargoesField::max_cargoes + CargoesField::cargo_space.width * (CargoesField::max_cargoes - 1);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_IC_PANEL:
|
||||
|
@ -2665,7 +2665,7 @@ struct IndustryCargoesWindow : public Window {
|
|||
|
||||
|
||||
CargoesFieldType type; ///< Type of field.
|
||||
void SetStringParameters (int widget) const override
|
||||
void SetStringParameters (WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_IC_CAPTION) return;
|
||||
|
||||
|
@ -3002,7 +3002,7 @@ struct IndustryCargoesWindow : public Window {
|
|||
this->ComputeIndustryDisplay(data);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_IC_PANEL) return;
|
||||
|
||||
|
@ -3087,7 +3087,7 @@ struct IndustryCargoesWindow : public Window {
|
|||
return true;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_IC_PANEL: {
|
||||
|
@ -3175,7 +3175,7 @@ struct IndustryCargoesWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (index < 0) return;
|
||||
|
||||
|
@ -3198,7 +3198,7 @@ struct IndustryCargoesWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip([[maybe_unused]] Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip([[maybe_unused]] Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
if (widget != WID_IC_PANEL) return false;
|
||||
|
||||
|
|
|
@ -283,7 +283,7 @@ struct SelectGameWindow : public Window {
|
|||
this->GetWidget<NWidgetStacked>(WID_SGI_TRANSLATION_SELECTION)->SetDisplayedPlane(missing_lang ? 0 : SZSP_NONE);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SGI_BASESET:
|
||||
|
@ -298,7 +298,7 @@ struct SelectGameWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SGI_TEMPERATE_LANDSCAPE: case WID_SGI_ARCTIC_LANDSCAPE:
|
||||
|
@ -326,7 +326,7 @@ struct SelectGameWindow : public Window {
|
|||
if (changed) this->ReInit(0, 0, this->flags & WF_CENTERED);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
/* Do not create a network server when you (just) have closed one of the game
|
||||
* creation/load windows for the network server. */
|
||||
|
|
|
@ -256,6 +256,9 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
|||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{G=Masculin}{DECIMAL}{NBSP}m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}di{P a es}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}segon{P "" s}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tic{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtre:
|
||||
|
@ -720,6 +723,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clica la
|
|||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clica la pista de música per treure-la de la llista actual (només en llistes personalitzables)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Millors companyies
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Empresari
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Emprenedor
|
||||
|
@ -1488,7 +1492,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
|
|||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Tipus de terreny: {STRING}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Només TerraGenesis) Escollir el tipus de terreny: des de molt pla fins a escarpat
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolliu l'altura dels turons i muntanyes del paisatge.
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densitat d'indústries: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Fixa el nombre d'indústries que s'haurien de generar i mantenir durant la partida
|
||||
|
@ -1497,18 +1501,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distància màx
|
|||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limita a quina distància del mapa es poden construir refineries de petroli i plataformes petrolíferes. En mapes amb illes, serveix per assegurar que estan prop de la costa. En mapes de més de 256 caselles, aquest valor s'escala automàticament.
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Alçada dels estatges amb neu: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controla a partir de quina alçada apareix la neu en el paisatge subàrtic. La neu també afecta la generació d'indústries i els requisits per al creixement de les poblacions. Només es pot modificar a l'editor d'escenaris; altrament, es calcula fent servir la proporció de terreny nevat.
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Tria a quina altura comença a aparèixer neu al paisatge subàrtic. La neu també afecta a la generació d'indústries i els requisits per al creixement de les poblacions. Només es pot modificar a l'editor d'escenaris; altrament, es calcula fent servir la proporció de terreny nevat.
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :Terreny nevat: {STRING}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Controla la quantitat aproximada de terreny nevat que hi ha en els paisatges subàrtics. La neu afecta a la generació d'indústries i el creixement de les poblacions. Només s'usa durant la generació de mapes. El terreny d'alçada propera al nivell del mar mai està nevat.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolliu la quantitat aproximada de neu als paisatges subàrtics. La neu també afecta a la generació d'indústries i els requisits per al creixement de les poblacions. Només es fa servir durant la generació de mapes. A nivell de mar i a les caselles costeres mai hi haurà neu.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}{NBSP}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :Terreny desèrtic: {STRING}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Controla la quantitat aproximada de terreny desèrtic que hi ha en els paisatges tropicals. Els deserts afecten a la generació d'indústries. Només s'usa durant la generació de mapes.
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolliu la quantitat aproximada de desert dels paisatges tropicals. El desert afecta a la generació d'indústries i els requisits de creixement de les poblacions. Només es fa servir durant la generació de mapes.
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}{NBSP}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Geografia del terreny: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Només TerraGenesis) Escollir la suavitat del paisatge: els terrenys suaus tenen menys turons i són regulars; els terrenys més rugosos són irregulars i tenen molts turons
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Trieu la forma i quantitat de turons. Els terrenys més suaus tenen menys turons i són més amples, mentre que els terrenys més irregulars tenen més turons i són més petits.
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Molt suau
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suau
|
||||
|
@ -1516,7 +1520,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Escarpat
|
|||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Molt escarpat
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :Varietat: {STRING}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Només TerraGenesis) Controla la varietat en la distribució de les zones muntanyoses i planes. Aquesta opció controla la distribució d'aquestes zones; si es vol modificar si el terreny és més o menys muntanyós s'han de modificar altres opcions
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :Trieu si el mapa ha de contenir muntanyes o àrees planes. Com més varietat, més diferències hi haurà entre l'elevació de les àrees muntanyoses i planes.
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Quantitat de rius: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escollir la quantitat de rius a generar
|
||||
|
@ -1536,6 +1540,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Conducció per
|
|||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Conducció per la dreta
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotació del mapa d'alçades: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolliu de quina manera s'ha de rotar el mapa d'alçades per a encaixar-lo al món de la partida.
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Antihorari
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Horari
|
||||
|
@ -1656,7 +1661,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa la utili
|
|||
STR_CONFIG_SETTING_LOADING_INDICATORS :Utilitza indicadors de càrrega: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecciona si els indicadors de càrrega seran mostrats sobre els vehicles en càrrega o descàrrega
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Unitats de temps per als horaris: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Seleccioneu les unitats de temps que es faran servir per als horaris.
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dies
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Segons
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tics
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostra l'arribada i la sortida als horaris: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostra als horaris l'arribada anticipadament i les hores de sortida
|
||||
|
@ -2187,12 +2197,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostra e
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Mostra els esquemes de colors dels automòbils
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Mostra els esquemes de colors dels vaixells
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Mostra esquemes de colors dels avions
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Mostra els colors dels grups de trens.
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Mostra els colors dels grups de vehicles de carretera.
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostra els colors dels grups de vaixells.
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Mostra els colors dels grups d'aeronaus
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolleix el color primari per l'esquema triat. Ctr+Click establirà el color per a cada esquema
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolleix el color secundari per l'esquema triat. Ctrl+Click establirà el color per a cada esquema
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecciona un esquema de colors per canviar-lo, o diversos esquemes amb CTRL+Clic. Clica a la casella per canviar l'esquema
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :No hi ha grups de trens establerts
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :No hi ha grups de vehicles de carretera establerts
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :No hi ha grups de vaixells establerts
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :No hi ha grups d'aeronaus establerts
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Decoració estàndard
|
||||
STR_LIVERY_DEFAULT :Decoració per defecte
|
||||
STR_LIVERY_STEAM :Locomotora a Vapor
|
||||
STR_LIVERY_DIESEL :Locomotora Dièsel
|
||||
STR_LIVERY_ELECTRIC :Locomotora Elèctrica
|
||||
|
@ -2345,7 +2363,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}El nom d
|
|||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Posa una contrasenya
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protegeix la teva partida amb una contrasenya si no vols que sigui accessible a desconeguts
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibilitat
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibilitat:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Permet establir si altres persones poden veure el vostre servidor a la llista pública.
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} client{P "" s}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Màxim nombre de clients:
|
||||
|
@ -3200,11 +3218,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}Mida del
|
|||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Selecciona la mida del mapa en cel·les. El nombre de cel·les disponibles serà lleugerament més petit
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nombre de poblacions:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Trieu la densitat de les poblacions o un nombre personalitzat.
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Estil dels noms de les poblacions:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Selecciona l'estil dels noms de poblacions
|
||||
STR_MAPGEN_DATE :{BLACK}Data:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Trieu la data d'inici.
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nombre d'indústries:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Trieu la densitat de les indústries o un nombre personalitzat.
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Alçada del cim més alt:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Trieu l'altura del cim més alt que el joc mirarà de crear, mesurat respecte el nivell de mar.
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Augmenta l'alçada màxima o l'alçada màxima dels cims en una unitat
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Redueix l'alçada màxima o l'alçada màxima dels cims en una unitat
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}Proporció de terreny nevat:
|
||||
|
@ -3217,10 +3239,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Redueix
|
|||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}{NBSP}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipus de terreny:
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Nivell de mar:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Seleccioneu el nivell de la mar
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Quantitat de rius:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Suavitat:
|
||||
STR_MAPGEN_VARIETY :{BLACK}Varietat:
|
||||
STR_MAPGEN_GENERATE :{WHITE}Genera
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Creeu el món i jugueu a l'OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Configuració del NewGRF
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostra la configuració de NewGRF
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}Configuració d'IA
|
||||
|
@ -3253,6 +3277,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Català
|
|||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}Vores del mapa:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Escolliu les vores del món de la partida.
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}Nord-oest
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Nord-est
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Sud-est
|
||||
|
@ -3265,7 +3290,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
|||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotació del mapa d'alçades:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nom del mapa d'alçades:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}El nom del fitxer imatge del mapa d'alçades
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Mida:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}La mida de la imatge d'origen del mapa d'alçades. Per a obtenir bons resultats, cada costat hauria de coincidir amb una mida disponible de l'OpenTTD, com ara 256, 512 o 1024.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Alçada desitjada dels cims
|
||||
|
@ -3280,6 +3307,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Terreny
|
|||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generar un terreny pla
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Terreny aleatori
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Alçada del terreny pla:
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Trieu l'altura de la terra per damunt del nivell de la mar.
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mou l'alçada del terreny pla un pas avall
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Mou l'alçada del terreny pla un pas amunt
|
||||
|
||||
|
@ -4573,8 +4601,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Actualme
|
|||
STR_TIMETABLE_STATUS_LATE :{BLACK}Actualment aquest vehicle va {STRING} tard
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Actualment aquest vehicle va {STRING} d'hora
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Aquest horari encara no ha començat
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Aquest horari començarà a {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Aquest horari començarà en {COMMA}{NBSP}segons
|
||||
|
||||
STR_TIMETABLE_START :{BLACK}Comença l'horari
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Trieu quan ha de començar l'horari. Amb Ctrl+clic es distribuirà l'inici de tots els vehicles que comparteixen les ordres segons el seu ordre relatiu, si s'ha establert completament l'horari.
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Segons fins que comenci l'horari
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Canvia Temps
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Canvia el emps que l'ordre marcada hauria de prendre. Amb Ctrl+clic estableix el temps per a totes les ordres.
|
||||
|
@ -4598,6 +4631,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Esperat
|
|||
STR_TIMETABLE_SCHEDULED :{BLACK}Planificat
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Canvia entre esperat i planificat
|
||||
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :S: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA}{NBSP}s
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :S: {COLOUR}{COMMA}{NBSP}s
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
|
@ -4625,9 +4662,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Distinge
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Commuta la distinció entre majúscules i minúscules quan es comparin els missatges de registre d'IA amb la cadena de parada.
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Continua
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Reprèn i continua l'execució de la IA.
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostra la sortida de depuració d'aquesta IA.
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostra la sortida de depuració d'aquesta IA. Feu Ctrl+clic per a mostrar-la en una finestra nova.
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Script de partida
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Mostra el registre de l'script de partida.
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Mostra el registre de l'script de partida. Feu Ctrl+clic per a obrir-lo en una finestra nova.
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :No s'ha trobat una IA adequada per carregar.{}Aquesta IA és una IA que no fa res.{}Podeu descarregar diverses IA via el sistema de «Contingut en línia».
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Un dels scripts que s'executava ha fallat. Si us plau, informeu l'autor de l'script amb una captura de pantalla de la finestra de depuració de l'script d'IA/partida.
|
||||
|
|
|
@ -257,6 +257,7 @@ STR_UNITS_HEIGHT_SI :{DECIMAL} m
|
|||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}dag{P "" s}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}sekund{P "" er}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtrer udtryk:
|
||||
|
@ -1664,6 +1665,7 @@ STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Vælg de tidsen
|
|||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dage
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Sekunder
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Ticks
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Vis ankomst og afgang i tidsplaner: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Vis forventede ankomst-og afgangstider i tidsplaner
|
||||
|
@ -2201,6 +2203,7 @@ STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Vis farv
|
|||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Vælg den primære farve for det valgte farveskema. Ctrl+Click vil sætte denne farve for alle farveskemaer
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Vælg den sekundære farve for det valgte farveskema. Ctrl+Click vil sætte denne farve for alle farveskemaer
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Vælg et farveskema, som skal ændres, eller flere farveskemaer vha. CTRL+klik. Klik på boksen for at slå brug af farveskemaet til/fra
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Der er ikke oprettet toggrupper
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Der er ikke oprettet grupper af vejkøretøjer
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Der er ikke oprettet skibsgrupper
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Der er ikke oprettet flygrupper
|
||||
|
|
|
@ -2196,9 +2196,17 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Kleurens
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Kleurenschema's voor wegvoertuigen weergeven
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Kleurenschema's voor schepen weergeven
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Kleurenschema's voor vliegtuigen weergeven
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Kleuren van treingroepen weergeven
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Kleuren van wegvoertuiggroepen weergeven
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Kleuren van scheepsgroepen weergeven
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Kleuren van vliegtuiggroepen weergeven
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Selecteer de hoofdkleur voor het geselecteerde schema. Ctrl+klik zal deze kleur instellen voor elk schema
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Selecteer de secundaire kleur voor het geselecteerde schema. Met Ctrl+klik stel je deze kleur in voor alle schema's
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecteer een kleurenschema om te wijzigen of meerdere schema's met Ctrl+klik. Vink de keuzevakjes aan-uit om het schema aan-uit te zetten
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Geen treingroepen ingesteld
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Geen wegvoertuiggroepen ingesteld
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Geen scheepsgroepen ingesteld
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Geen vliegtuiggroepen ingesteld
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Standaard kleurenschema
|
||||
|
@ -4653,9 +4661,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Hoofdlet
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Hoofdlettergevoeligheid aan-uitzetten bij het vergelijken van AI-logberichten t.o.v. de afbreektekst
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Doorgaan
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Het spel vervolgen en de AI voortzetten
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Probleemgegevens van deze AI weergeven
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Probleemgegevens van deze AI weergeven. Ctrl+klik opent in een nieuw venster
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Spelscript
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Controleer het logboek van het spelscript
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Controleer het logboek van het spelscript. Ctrl+klik opent in een nieuw venster
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :Geen geschikte AI gevonden.{} Deze AI is een 'dummy' en voert niets uit.{}Verschillende AI's kunnen worden gedownload via het 'Online Content' systeem
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Eén van de actieve scripts is vastgelopen. Meld dit a.u.b. bij de auteur van dit script met een schermafdruk van het AI-/spelscript-probleemvenster.
|
||||
|
|
|
@ -2196,12 +2196,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Show tra
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Show road vehicle color schemes
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Show ship color schemes
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Show aircraft color schemes
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Show colors of train groups
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Show colors of road vehicle groups
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Show colors of ship groups
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Show colors of aircraft groups
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Choose the primary color for the selected scheme. Ctrl+Click will set this color for every scheme
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Choose the secondary color for the selected scheme. Ctrl+Click will set this color for every scheme
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Select a color scheme to change, or multiple schemes with Ctrl+Click. Click on the box to toggle use of the scheme
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :No train groups are set up
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :No road vehicle groups are set up
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :No ship groups are set up
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :No aircraft groups are set up
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Standard Livery
|
||||
STR_LIVERY_DEFAULT :Default Livery
|
||||
STR_LIVERY_STEAM :Steam Engine
|
||||
STR_LIVERY_DIESEL :Diesel Engine
|
||||
STR_LIVERY_ELECTRIC :Electric Engine
|
||||
|
@ -4653,9 +4661,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Match ca
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Toggle matching case when comparing AI log messages against the break string
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Continue
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Unpause and continue the AI
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}View debug output of this AI
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}View debug output of this AI. Ctrl-Click to open in a new window
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Game Script
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check the Game Script log
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check the Game Script log. Ctrl-Click to open in a new window
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :No suitable AI found to load.{}This AI is a dummy AI and won't do anything.{}You can download several AIs via the 'Online Content' system
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running scripts crashed. Please report this to the script author with a screenshot of the AI/Game Script Debug Window
|
||||
|
|
|
@ -2196,12 +2196,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Näytä
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Näytä tieajoneuvojen väriteemat
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Näytä laivojen väriteemat
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Näytä ilma-alusten väriteemat
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Näytä junaryhmien värit
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Näytä ajoneuvoryhmien värit
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Näytä laivaryhmien värit
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Näytä ilma-alusryhmien värit
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Valitse valitun kaavan ensisijainen väri. Ctrl+napsautus asettaa tämän värin kaikille kaavoille.
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Valitse valitun kaavan toissijainen väri. Ctrl+napsautus asettaa tämän värin kaikille kaavoille.
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Valitse muutettava väriteema, tai valitse useita Ctrl pohjassa. Paina valintalaatikkoa valitaksesi teeman
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Junaryhmiä ei ole muodostettu
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Ajoneuvoryhmiä ei ole muodostettu
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Laivaryhmiä ei ole muodostettu
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Ilma-alusryhmiä ei ole muodostettu
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Normaalit tunnusvärit
|
||||
STR_LIVERY_DEFAULT :Oletusväritys
|
||||
STR_LIVERY_STEAM :Höyryveturi
|
||||
STR_LIVERY_DIESEL :Dieselveturi
|
||||
STR_LIVERY_ELECTRIC :Sähköveturi
|
||||
|
@ -2711,7 +2719,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Rakenna
|
|||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Rakenna veturitalli (junien ostamista ja huoltoa varten). Shift vaihtaa rakennustilan ja kustannusarvion välillä
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Muunna raide reittipisteeksi. Ctrl liittää reittipisteet. Shift vaihtaa muuntotilan ja kustannusarvion välillä
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Rakenna rautatieasema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Rakenna opastimia. Ctrl vaihtaa joko siipiopastimet tai valo-opastimet{}Vetäminen rakentaa opastimia suoralle rautatielle. Ctrl rakentaa opastimia seuraavaan risteykseen saakka{}Ctrl+Click avaa opastimenvalintaikkunan. Shift vaihtaa rakennustilan ja kustannusarvion välillä
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Rakenna opastimia. Ctrl vaihtaa siipi- ja valo-opastimien välillä{}Vetäminen rakentaa opastimia suoralle rataosuudelle. Ctrl rakentaa opastimia seuraavaan risteykseen tai opastimeen saakka{}Ctrl+napsautus avaa opastimenvalintaikkunan. Shift vaihtaa rakennustilan ja kustannusarvion välillä
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Rakenna rautatiesilta. Shift vaihtaa rakennustilan ja kustannusarvion välillä
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Rakenna rautatietunneli. Shift vaihtaa rakennustilan ja kustannusarvion välillä
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Rautatien, opastimien, reittipisteiden ja asemien rakentaminen/poisto päälle/pois. Pidä pohjassa Ctrl-näppäintä poistaaksesi myös aseman tai reittipisteen alla olevat raiteet
|
||||
|
@ -4653,9 +4661,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Kirjaink
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Kytke kirjainkoon täsmäys, kun verrataan tekoälyn viestejä pysäytysmerkkijonoon
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Jatka
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Jatka tekoälyn suorittamista
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Näytä tämän tekoälyn virheenkorjaustiedot
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Näytä tämän tekoälyn virheenkorjaustiedot. Ctrl+napsautus avaa uuteen ikkunaan
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Peliskripti
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Tarkista peliskriptin loki
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Tarkista peliskriptin loki. Ctrl+napsautus avaa uuteen ikkunaan
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :Sopivaa tekoälyä ei löydetty.{}Tämä tekoäly ei tee mitään.{}Voit ladata useita tekoälyjä ”online-sisältö” -järjestelmän kautta
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Yksi käynnissä olevista skripteistä kaatui. Ilmoita tästä skriptin kehittäjälle liittäen mukaan kuvankaappaus Tekoälyn/peliskriptin virheenjäljitys -ikkunasta
|
||||
|
|
|
@ -2197,12 +2197,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Montrer
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Montrer les livrées de véhicules routiers
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Montrer les livrées de navires
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Montrer les livrées d'aéronefs
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes de trains
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes de véhicules
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes de bateaux
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes d'avions
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Choisir la couleur primaire de la livrée sélectionnée. Ctrl-clic appliquera cette couleur à toutes les livrées.
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Choisir la couleur secondaire de la livrée sélectionnée. Ctrl-clic appliquera cette couleur à toutes les livrées.
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Sélectionner la livrée à modifier ou plusieurs d'entre elles par Ctrl-clic. Cliquer sur la case à cocher pour en activer l'utilisation ou non.
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Aucun groupe de trains
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Aucun groupe de véhicules
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Aucun groupe de bateaux
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Aucun groupe d'avions
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Livrée standard
|
||||
STR_LIVERY_DEFAULT :Livrée par défaut
|
||||
STR_LIVERY_STEAM :Locomotive à vapeur
|
||||
STR_LIVERY_DIESEL :Locomotive Diesel
|
||||
STR_LIVERY_ELECTRIC :Locomotive électrique
|
||||
|
@ -4654,9 +4662,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Respecte
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Activer/Désactiver le respect de la casse pour comparer les messages d'IA avec la chaîne d'arrêt
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Continuer
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Reprendre la partie et continuer l'IA
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Afficher la sortie de débogage de cette IA
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Afficher la sortie de débogage de cette IA. Ctrl+Click pour ouvrir dans une nouvelle fenêtre
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Script de jeu
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Examiner le journal du script de jeu
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Examiner le journal du script de jeu. Ctrl+Click pour ouvrir dans une nouvelle fenêtre
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :Aucune IA n'a été trouvée.{}Cette IA est factice et ne fera rien.{}Vous pouvez télécharger diverses IA via le système de «{NBSP}Contenu en ligne{NBSP}».
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}L'un des scripts a rencontré un problème. Merci de rapporter ceci à l'auteur du script avec une capture d'écran de la fenêtre de débogage de scripts.
|
||||
|
|
|
@ -256,6 +256,7 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL} pés
|
|||
STR_UNITS_HEIGHT_METRIC :{DECIMAL} m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL} m
|
||||
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tick{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtrar:
|
||||
|
@ -1657,6 +1658,8 @@ STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadore
|
|||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Escolle se os indicadores de carga se amosan sobre os vehículos en carga/descarga
|
||||
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Días
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Segundos
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostrar chegada e saída nos horarios: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Amosar chegadas e saídas anticipadas nos horarios
|
||||
|
@ -2187,9 +2190,14 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostra-l
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Mostra-los esquemas de cor dos vehículos de estrada
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Mostra-los esquemas de cor dos barcos
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Mostra-los esquemas de cor das aeronaves
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :Amosa as cores dos grupos de trens
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :Amosa as cores dos grupos de barcos
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elixe a cor primaria para o esquema seleccionado. Ctrl+Click aplicará esta cor a tódolos esquemas
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elixe a cor secundaria para o esquema seleccionado. Ctrl+Click aplicará esta cor a tódolos esquemas
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecciona un esquema de cor para cambialo, ou múltiples esquemas con CTRL+click. Pincha na caixa para cambia lo uso do esquema
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Non se creou ningún grupo de trens
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Non se creou ningún grupo de barcos
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Non se crearon grupos de aeronaves
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Esquemas de cor estándar
|
||||
|
@ -3200,6 +3208,7 @@ STR_MAPGEN_MAPSIZE :{BLACK}Tamaño
|
|||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK} Selecciona o tamaño do mapa en cadros. O número de cadros dispoñíbeis será sensiblemente menor
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nº de cidades:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :Selecciona a densidade das cidades ou un número á túa escolla
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Nomes das localidades:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Selecciona o estilo dos nomes das cidades
|
||||
STR_MAPGEN_DATE :{BLACK}Data:
|
||||
|
@ -3265,6 +3274,7 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
|||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotación do mapa de alturas:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa de alturas:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :O nome do arquivo de imaxe do mapa de alturas.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaño:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
|
@ -4573,8 +4583,11 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este veh
|
|||
STR_TIMETABLE_STATUS_LATE :{BLACK}Este vehículo está retrasado {STRING}
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Este vehículo vai adiantado {STRING}
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este horario aínda non comezóu
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este horario comezará no seguinte horario{STRING}
|
||||
|
||||
STR_TIMETABLE_START :Empezar táboa de horarios
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Segundos até empezar a táboa de horarios
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Cambiar Tempo
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambiar o tempo que debería levar a orde seleccionada. Ctrl+Click cambia o tempo para todas as ordes
|
||||
|
|
|
@ -403,8 +403,8 @@ STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}툴바
|
|||
STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}시나리오를 저장하거나, 불러오거나, 시나리오 에디터를 종료하거나, 게임을 종료합니다
|
||||
STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD
|
||||
STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}시나리오 에디터
|
||||
STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}시작년도를 1년 앞당깁니다.
|
||||
STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}시작년도를 1년 늦춥니다.
|
||||
STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}시작 일시를 1년 앞당깁니다.
|
||||
STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}시작 일시를 1년 늦춥니다.
|
||||
STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}시작 연도를 입력하세요.
|
||||
STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}지도, 도시 목록 보여주기
|
||||
STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}지형을 생성합니다.
|
||||
|
@ -1492,7 +1492,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :오리지널
|
|||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :천지창조
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :지형 종류: {STRING}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(천지창조 전용) 지형의 언덕 모양을 결정합니다.
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :지형의 언덕과 산지 모양을 결정합니다
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :산업시설 수: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :게임을 플레이하는 동안 얼마나 많은 산업시설이 생성되고 유지되어야 할 지를 설정합니다.
|
||||
|
@ -1501,18 +1501,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :석유 관련
|
|||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :정유 공장과 유전이 맵 가장자리에서 얼마나 멀리 떨어진 곳까지 건설될 수 있는지를 나타냅니다. 섬 맵에서는 이 설정을 이용해서 해당 산업시설이 해안에 가까이 있도록 조정할 수 있습니다. 256칸보다 큰 맵의 경우에는 이 값은 더 크게 조정됩니다.
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :설선 고도: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :아한대 기후의 설선 고도를 조절합니다. 눈은 산업시설의 생성과 도시 성장에 영향을 미칩니다. 시나리오 에디터에서 수정할 수 있고 설정하지 않은 경우 "눈 비율" 설정을 따릅니다.
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :아한대 기후의 설선 고도를 선택합니다. 눈은 산업시설의 생성과 도시 성장에 영향을 미칩니다. 시나리오 에디터에서 수정할 수 있고 설정하지 않은 경우 "눈 비율" 설정을 따릅니다.
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :눈 비율: {STRING}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :아한대 기후에서 눈 지역의 양을 대략적으로 조절할 수 있습니다. 눈은 산업시설 생성과 도시 성장 요구사항에도 영향을 미칩니다. 지도를 생성할 때에만 사용하는 설정입니다. 해수면 바로 위에 있는 땅은 무조건 눈이 없을 것입니다.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :아한대 기후에서 눈 지역의 양을 대략적으로 선택합니다. 눈은 산업시설 생성과 도시 성장 요구 조건에도 영향을 미칩니다. 지도를 생성할 때에만 사용하는 설정입니다. 해수면 바로 위에 있는 땅은 무조건 눈이 없을 것입니다.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :사막 비율: {STRING}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :아열대 기후에서 사막 지역의 양을 대략적으로 조절할 수 있습니다. 사막은 산업시설 생성에도 영향을 미칩니다. 지도를 생성할 때에만 사용하는 설정입니다
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :아열대 기후에서 사막 지역의 양을 대략적으로 선택합니다. 사막은 산업시설 생성과 도시 성장 요구 조건에도 영향을 미칩니다. 지도를 생성할 때에만 사용하는 설정입니다
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :지형의 거친 정도: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(천지창조 전용) 언덕의 빈도수를 선택합니다. 평탄한 지형은 개수가 적고 넓게 퍼진 언덕을 만듭니다. 거친 지형은 똑같아 보일 수 있는 많은 언덕이 생기게 됩니다.
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :언덕의 모양과 빈도 수를 선택합니다. 평탄한 지형은 개수가 적고 넓게 퍼진 언덕을 만들고, 거친 지형은 작은 언덕이 많이 만듭니다.
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :매우 부드럽게
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :부드럽게
|
||||
|
@ -1520,7 +1520,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :거칠게
|
|||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :매우 거칠게
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :산세 험준도: {STRING}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(천지창조 전용) 지도가 산지와 평지를 모두 갖도록 만들 것인 지를 결정합니다. 이 설정은 지형을 더 평평하게 만드므로, 다른 설정은 '산'으로 설정하시기 바랍니다.
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :지도가 산지와 평지를 모두 갖도록 만들 것인 지를 결정합니다. 더 높은 값을 사용할 수록, 산지와 평지 사이의 고도 차이가 더 많아집니다.
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :강의 양: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :강을 얼마나 만들지 선택하세요
|
||||
|
@ -1540,6 +1540,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :좌측통행
|
|||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :우측통행
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :높이맵 회전: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :높이맵을 게임 세계에 맞추기 위해 어느 방향으로 회전시킬지 선택합니다
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :반시계방향
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :시계방향
|
||||
|
@ -2196,9 +2197,17 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}열차
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}차량 색상 선택
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}선박 색상 선택
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}항공기 색상 선택
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}열차 그룹 색상 선택
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}자동차 그룹 색상 선택
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}선박 그룹 색상 선택
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}항공기 그룹 색상 선택
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}선택한 색상을 1차 색상으로 선택합니다. CTRL+클릭하면 모든 항목에 적용됩니다
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}선택한 색상을 2차 색상으로 선택합니다. CTRL+클릭하면 모든 항목에 적용됩니다
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}색상 조합을 바꾸려면 선택하세요. 2개 이상 선택하려면 CTRL+클릭하세요. 네모를 클릭하여 체크하면 해당 색상 조합을 사용하게 됩니다
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :열차 그룹을 설정하지 않았습니다
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :자동차 그룹을 설정하지 않았습니다
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :선박 그룹을 설정하지 않았습니다
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :항공기 그룹을 설정하지 않았습니다
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :기본 색상
|
||||
|
@ -3209,11 +3218,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}지도
|
|||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}지도의 크기를 칸 수 기준으로 선택하세요. 사용 가능한 지도의 칸 수는 설정한 값보다 조금 작을 것입니다
|
||||
STR_MAPGEN_BY :{BLACK}x
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}도시의 수:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}도시의 수를 선택하거나, 직접 그 개수를 입력합니다
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}도시 이름:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}도시 이름 스타일을 선택하세요
|
||||
STR_MAPGEN_DATE :{BLACK}날짜:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}시작 일시를 선택합니다.
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}산업시설 수:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}산업 시설의 수를 선택하거나, 직접 그 개수를 입력합니다
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}가장 높은 지점의 높이:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}해수면을 기준으로, 게임이 생성하려고 하는 가장 높은 곳의 높이를 선택합니다.
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}지도에서 가장 높은 지점의 최대 높이를 1만큼 높입니다
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}지도에서 가장 높은 지점의 최대 높이를 1만큼 낮춥니다
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}눈 비율:
|
||||
|
@ -3226,10 +3239,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}사막
|
|||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}지형 종류:
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}해수면:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}해수면 높이를 선택합니다
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}강:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}지표면을 깎는 방식:
|
||||
STR_MAPGEN_VARIETY :{BLACK}산세 험준도:
|
||||
STR_MAPGEN_GENERATE :{WHITE}만들기
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}세계를 만들고 OpenTTD를 플레이해보세요!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF 설정
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}NewGRF 설정 창을 엽니다
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}인공지능 설정
|
||||
|
@ -3262,6 +3277,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :카탈로니아
|
|||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}지도 가장자리:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}게임 세계의 지도 가장자리를 선택합니다
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}북서
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}북동
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}남동
|
||||
|
@ -3274,7 +3290,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}사용
|
|||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}높이맵 방향:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}높이맵 이름:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}높이맵 이미지 파일의 이름입니다
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}크기:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}원본 높이맵 이미지의 크기입니다. 최상의 조건을 위해서는, 이미지의 가로/세로 크기를 OpenTTD의 지도 크기와 같은 256, 512, 1024 등으로 맞추는 것이 좋습니다.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}목표 정상 높이
|
||||
|
@ -3289,6 +3307,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}평평
|
|||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}평평한 땅 만들기
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}무작위 지형
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}평지의 높이:
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}해수면 위의 땅 높이를 선택합니다
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}평지의 높이를 1칸 낮춥니다
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}평지의 높이를 1칸 높입니다
|
||||
|
||||
|
@ -4643,9 +4662,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}대소
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}인공지능 기록 메시지에서 중단 문구를 검색할 때 대소문자를 구분할지 여부를 선택합니다
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}계속
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}중단된 인공지능의 연산을 재개합니다
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}이 인공지능에서 출력된 기록 메시지를 보여줍니다
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}이 인공지능에서 출력된 기록 메시지를 보여줍니다. CTRL + 클릭하면 새 창으로 엽니다
|
||||
STR_AI_GAME_SCRIPT :{BLACK}게임 스크립트
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}게임 스크립트 기록 체크
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}게임 스크립트 기록을 확인합니다. CTRL + 클릭하면 새 창으로 엽니다
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :사용할 수 있는 인공지능이 없습니다.{}따라서 이 경쟁사는 아무 것도 하지 못하는 회사입니다.{}'온라인 컨텐츠 다운로드'에서 새로운 인공지능을 다운로드받으세요
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}작동 중이던 스크립트 중 하나에서 오류가 발생하여 중단되었습니다. 인공지능/게임 스크립트 디버그 창에서 스크린샷을 찍어 스크립트 제작자에게 보고하십시오
|
||||
|
|
|
@ -176,7 +176,7 @@ STR_COLOUR_DEFAULT :Noklusējuma
|
|||
###length 17
|
||||
STR_COLOUR_DARK_BLUE :Tumši zila
|
||||
STR_COLOUR_PALE_GREEN :Gaiši zaļa
|
||||
STR_COLOUR_PINK :Sārta
|
||||
STR_COLOUR_PINK :Rozā
|
||||
STR_COLOUR_YELLOW :Dzeltena
|
||||
STR_COLOUR_RED :Sarkana
|
||||
STR_COLOUR_LIGHT_BLUE :Gaiši zila
|
||||
|
@ -185,7 +185,7 @@ STR_COLOUR_DARK_GREEN :Tumši zaļa
|
|||
STR_COLOUR_BLUE :Zila
|
||||
STR_COLOUR_CREAM :Krēmkrāsa
|
||||
STR_COLOUR_MAUVE :Gaišsārti violeta
|
||||
STR_COLOUR_PURPLE :Purpura
|
||||
STR_COLOUR_PURPLE :Violets
|
||||
STR_COLOUR_ORANGE :Oranža
|
||||
STR_COLOUR_BROWN :Brūna
|
||||
STR_COLOUR_GREY :Pelēka
|
||||
|
@ -193,6 +193,23 @@ STR_COLOUR_WHITE :Balta
|
|||
STR_COLOUR_RANDOM :Nejaušs
|
||||
|
||||
###length 17
|
||||
STR_COLOUR_SECONDARY_DARK_BLUE :Tumši Zila
|
||||
STR_COLOUR_SECONDARY_PALE_GREEN :Gaiši Zaļa
|
||||
STR_COLOUR_SECONDARY_SECONDARY_PINK :Rozā
|
||||
STR_COLOUR_SECONDARY_YELLOW :Dzeltena
|
||||
STR_COLOUR_SECONDARY_RED :Sarkana
|
||||
STR_COLOUR_SECONDARY_LIGHT_BLUE :Gaiši Zila
|
||||
STR_COLOUR_SECONDARY_GREEN :Zaļa
|
||||
STR_COLOUR_SECONDARY_DARK_GREEN :Tumši zaļa
|
||||
STR_COLOUR_SECONDARY_BLUE :Zila
|
||||
STR_COLOUR_SECONDARY_CREAM :Krēmkrāsa
|
||||
STR_COLOUR_SECONDARY_MAUVE :Purpursarkana
|
||||
STR_COLOUR_SECONDARY_PURPLE :Violets
|
||||
STR_COLOUR_SECONDARY_ORANGE :Oranžs
|
||||
STR_COLOUR_SECONDARY_BROWN :Brūna
|
||||
STR_COLOUR_SECONDARY_GREY :Pelēka
|
||||
STR_COLOUR_SECONDARY_WHITE :Balta
|
||||
STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Tāds, ka primārais
|
||||
|
||||
|
||||
# Units used in OpenTTD
|
||||
|
@ -200,6 +217,7 @@ STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}
|
|||
STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/h
|
||||
STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s
|
||||
STR_UNITS_VELOCITY_GAMEUNITS :{DECIMAL}{NBSP}lauciņi/diena
|
||||
STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}mezgli
|
||||
|
||||
STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}ZS
|
||||
STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}ZS
|
||||
|
@ -239,6 +257,9 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}
|
|||
STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}dien{P a as ""}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}sekund{P e s ''''}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tick{P šķi šķi s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filters:
|
||||
|
@ -279,7 +300,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ieslēdz
|
|||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ieslēdzot šo iestatījumu tiks parādīti arī paslēptie lidaparāti
|
||||
|
||||
# Query window
|
||||
STR_BUTTON_DEFAULT :{BLACK}Noklusējums
|
||||
STR_BUTTON_DEFAULT :{BLACK}Noklusējuma
|
||||
STR_BUTTON_CANCEL :{BLACK}Atcelt
|
||||
STR_BUTTON_OK :{BLACK}Labi
|
||||
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Brīdinājums: servera administrators var izlasīt jebkuru tekstu, kas šeit tiek ievadīts.
|
||||
|
@ -349,9 +370,9 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Atvērt
|
|||
###length 31
|
||||
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pauzēt spēli
|
||||
STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Paātrināta spēle
|
||||
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opcijas
|
||||
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Saglabāt spēli, pamest spēli, iziet
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Rādīt karti, papildu skatvietu vai zīmju sarakstu
|
||||
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opcijas un iestatījumi
|
||||
STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Saglabājiet, ielādējiet vai pametiet spēli, iziet no programmas
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Rādīt karti, papildu skata logu, kravas plūsmu vai zīmju sarakstu
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Rādīt pilsētu sarakstu
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Rādīt subsīdijas
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Rādīt uzņēmuma staciju sarakstu
|
||||
|
@ -359,9 +380,9 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Rādīt
|
|||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Rādīt uzņēmuma vispārējo informāciju
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Rādīt stāstu grāmatu
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Rādīt mērķu sarakstu
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Rādīt diagrammas
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Rādīt uzņēmumu grafikus un kravas maksājumu likmes
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Rādīt uzņēmumu rangu sarakstu
|
||||
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finansēt jaunas ražotnes būvniecību vai uzskaitīt visas ražotnes
|
||||
STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Izpētiet nozares vai finansējiet jaunas nozares celtniecību
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Rādīt uzņēmuma vilcienu sarakstu. Ctrl+klikšķis pārslēdz grupu/transportlīdzekļu saraksta atvēršanu
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Rādīt uzņēmuma autotransporta sarakstu. Ctrl+klikšķis pārslēdz grupu/transportlīdzekļu saraksta atvēršanu
|
||||
STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Rādīt uzņēmuma kuģu sarakstu. Ctrl+klikšķis pārslēdz grupu/transportlīdzekļu saraksta atvēršanu
|
||||
|
@ -375,8 +396,8 @@ STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Būvēt
|
|||
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Būvēt lidostas
|
||||
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Atvērt ainavas rīkjoslu, lai paceltu/nolaistu zemes līmeni, stādītu kokus utt.
|
||||
STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Rādīt skaņas/mūzikas logu
|
||||
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Rādīt pēdējos ziņojumus/avīžu ziņas, ziņojumu rādīšanas opcijas
|
||||
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informācija par zemes platību, konsole, skriptu atkļūdošana, ekrānuzņēmumi, par OpenTTD
|
||||
STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Rādīt pēdējo ziņojumu/ziņu pārskatu, ziņojumu vēsturi vai dzēst visus ziņojumus
|
||||
STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informācija par zemi, ekrānuzņēmums par OpenTTD un izstrādātāju rīkiem
|
||||
STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Pārslēgt rīkjoslas
|
||||
|
||||
# Extra tooltips for the scenario editor toolbar
|
||||
|
@ -392,7 +413,7 @@ STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Pilsētu
|
|||
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Ražotņu radīšana
|
||||
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Ceļu būvēšana
|
||||
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Tramvaju sliežu ceļu būvniecība
|
||||
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Stādīt kokus. Shift pārslēdz būvēšanu/izmaksu tāmes rādīšanu
|
||||
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Iestādiet kokus. Ctrl atlasa apgabalu pa diagonāli. Shift pārslēdz celt/parādīt izmaksas
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Novietot zīmi
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Novietojiet objektu. Ctrl atlasa apgabalu pa diagonāli. Shift pārslēdz ēku/rāda izmaksu tāmi
|
||||
|
||||
|
@ -433,7 +454,7 @@ STR_FILE_MENU_EXIT :Iziet
|
|||
# Map menu
|
||||
STR_MAP_MENU_MAP_OF_WORLD :Pasaules karte
|
||||
STR_MAP_MENU_EXTRA_VIEWPORT :Papildu skatvieta
|
||||
STR_MAP_MENU_LINGRAPH_LEGEND :Kravu plūsmas apzīmējumi
|
||||
STR_MAP_MENU_LINGRAPH_LEGEND :Kravas plūsmas apzīmējums
|
||||
STR_MAP_MENU_SIGN_LIST :Zīmju saraksts
|
||||
|
||||
# Town menu
|
||||
|
@ -492,6 +513,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Dzēst visus zi
|
|||
|
||||
# About menu
|
||||
STR_ABOUT_MENU_LAND_BLOCK_INFO :Zemes platības informācija
|
||||
STR_ABOUT_MENU_HELP :Palīdzība un rokasgrāmatas
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Atvērt/aizvērt konsoli
|
||||
STR_ABOUT_MENU_AI_DEBUG :MI/spēles skriptu atkļūdošana
|
||||
STR_ABOUT_MENU_SCREENSHOT :Ekrānuzņēmums
|
||||
|
@ -500,6 +522,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Par 'OpenTTD'
|
|||
STR_ABOUT_MENU_SPRITE_ALIGNER :Gariņu līdzinātājs
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Pārslēgt saistītās kastes
|
||||
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Pārslēgt netīru bloku krāsojumu
|
||||
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Pārslēgt logrīku kontūras
|
||||
|
||||
# Place in highscore window
|
||||
###length 15
|
||||
|
@ -592,7 +615,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Darbība
|
|||
STR_GRAPH_INCOME_CAPTION :{WHITE}Ienākumu diagramma
|
||||
STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Pārvadātās kravas vienības
|
||||
STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Uzņēmuma darbības vērtējumi (maksimālais ir 1000)
|
||||
STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Uzņēmuma vērtības
|
||||
STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Uzņēmuma vērtības diagramma
|
||||
|
||||
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Kravas apmaksas cenas
|
||||
STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINY_FONT}{BLACK}Dienas pārvadājumos
|
||||
|
@ -701,6 +724,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klikšķ
|
|||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikšķināt uz mūzikas celiņa, lai to izdzēstu no pašreizējās programmas (tikai Pielāgotā1 un Pielāgotā2)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Lielākie uzņēmumi
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Darījumu cilvēks
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Uzņēmējs
|
||||
|
@ -832,7 +856,7 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC
|
|||
STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} kreditori slēdza un visi īpašumi tika izpārdoti!
|
||||
STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Darbu sāk jauns transporta uzņēmums!
|
||||
STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} sāk būvdarbus netālu no {TOWN}!
|
||||
STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} tiek pārņemts {STRING} izpildījumā!
|
||||
STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} ir pārņēmis {STRING} par neizpaužamu summu!
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(vadītājs)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} pabalstīja jaunas pilsētas - {TOWN} dibināšanu!
|
||||
|
@ -889,6 +913,8 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Tagad ir
|
|||
|
||||
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Atvērt grupas logu, fokusēts uz transportlīdzekļu grupu
|
||||
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} vairs nepieņem: {CARGO_LIST}
|
||||
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} tagad pieņem: {CARGO_LIST}
|
||||
|
||||
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subsīdijas piedāvājums beidzies:{}{}{STRING} no {STRING} uz {STRING} subsidēšana ir atcelta
|
||||
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidēšana atcelta:{}{}{STRING} pārvadājumi no {STRING} uz {STRING} turpmāk vairs netiek subsidēti
|
||||
|
@ -913,12 +939,27 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Kopēt
|
|||
# Game options window
|
||||
STR_GAME_OPTIONS_CAPTION :{WHITE}Spēles opcijas
|
||||
|
||||
STR_GAME_OPTIONS_TAB_GENERAL :Vispārīgi
|
||||
STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Izvēlieties vispārīgos iestatījumus
|
||||
STR_GAME_OPTIONS_TAB_GRAPHICS :Grafika
|
||||
STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Izvēlieties grafikas iestatījumus
|
||||
STR_GAME_OPTIONS_TAB_SOUND :Skaņa
|
||||
STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Izvēlieties skaņas un mūzikas iestatījumus
|
||||
|
||||
STR_GAME_OPTIONS_VOLUME :Skaļums
|
||||
STR_GAME_OPTIONS_SFX_VOLUME :Skaņas efekti
|
||||
STR_GAME_OPTIONS_MUSIC_VOLUME :Mūzika
|
||||
|
||||
STR_GAME_OPTIONS_VOLUME_0 :0%
|
||||
STR_GAME_OPTIONS_VOLUME_25 :25%
|
||||
STR_GAME_OPTIONS_VOLUME_50 :50%
|
||||
STR_GAME_OPTIONS_VOLUME_75 :75%
|
||||
STR_GAME_OPTIONS_VOLUME_100 :100%
|
||||
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Naudas vienības
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Naudas vienību izvēle
|
||||
|
||||
STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING})
|
||||
|
||||
###length 42
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Lielbritānijas sterliņu mārciņas
|
||||
|
@ -940,7 +981,7 @@ STR_GAME_OPTIONS_CURRENCY_ISK :Īslandes krona
|
|||
STR_GAME_OPTIONS_CURRENCY_ITL :Itālijas liras
|
||||
STR_GAME_OPTIONS_CURRENCY_NLG :Nīderlandes guldeņi
|
||||
STR_GAME_OPTIONS_CURRENCY_NOK :Norvēģijas kronas
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Polijas zloti
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Polijas Zlots
|
||||
STR_GAME_OPTIONS_CURRENCY_RON :Rumānijas lejas
|
||||
STR_GAME_OPTIONS_CURRENCY_RUR :Krievijas rubļi
|
||||
STR_GAME_OPTIONS_CURRENCY_SIT :Slovēnijas tolāri
|
||||
|
@ -970,6 +1011,10 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Izvēlē
|
|||
# Autosave dropdown
|
||||
###length 5
|
||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Izslēgta
|
||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Ik pēc 10 minūtēm
|
||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Ik pēc 30 minūtēm
|
||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Ik pēc 60 minūtēm
|
||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Ik pēc 120 minūtēm
|
||||
|
||||
STR_GAME_OPTIONS_LANGUAGE :{BLACK}Valoda
|
||||
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Saskarnes valodas izvēle
|
||||
|
@ -1006,6 +1051,13 @@ STR_GAME_OPTIONS_GUI_SCALE_3X :3x
|
|||
STR_GAME_OPTIONS_GUI_SCALE_4X :4x
|
||||
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
|
||||
|
||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Automatizēta aptauja
|
||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Piedalieties automatizētā aptaujā
|
||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Ja ieslēgts, OpenTTD pārsūtīs aptauju, izejot no spēles
|
||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Par aptauju un privātumu
|
||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Tiek atvērts pārlūks ar plašāku informāciju par automatizēto aptauju
|
||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Priekšskatīt aptaujas rezultātus
|
||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Rādīt pašreizējās spēles aptaujas rezultātus
|
||||
|
||||
STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika
|
||||
|
||||
|
@ -1015,17 +1067,18 @@ STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz
|
|||
STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Atsvaidzes intensitāte, kas lielāka par 60 Hz, var ietekmēt veiktspēju.
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Pamata grafikas kopa
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Atlasīt lietošanai pamata grafikas kopu
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Atlasiet izmantojamo pamata grafiku (to nevar mainīt spēlē, tikai no galvenās izvēlnes)
|
||||
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Papildinformācija par pamata grafikas kopu
|
||||
|
||||
STR_GAME_OPTIONS_BASE_SFX :{BLACK}Pamata skaņas kopa
|
||||
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Atlasīt lietošanai pamata skaņas kopu
|
||||
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Atlasiet izmantojamās pamata skaņas (nevar mainīt spēlē, tikai galvenajā izvēlnē)
|
||||
STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Papildinformācija par pamata skaņas kopu
|
||||
|
||||
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Pamata mūzikas kopa
|
||||
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Atlasīt lietošanai pamata mūzikas kopu
|
||||
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Papildinformācija par pamata mūzikas kopu
|
||||
|
||||
STR_BASESET_STATUS :{STRING} {RED}({NUM} trūkst/bojāts fail{P s i ""})
|
||||
|
||||
STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Neizdevās saņemt sarakstu ar atbalstītajām izšķirtspējām
|
||||
STR_ERROR_FULLSCREEN_FAILED :{WHITE}Pilnekrāna spēles iestatīšana neizdevās
|
||||
|
@ -1135,6 +1188,7 @@ STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Izvērst
|
|||
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Sakļaut visu
|
||||
STR_CONFIG_SETTING_RESET_ALL :{BLACK}Atiestatīt visas vērtības
|
||||
STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(skaidrojums nav pieejams)
|
||||
STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR}
|
||||
STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Noklusējuma vērtība: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_TYPE :{LTBLUE}Iestatījuma veids: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_TYPE_CLIENT :lietotāja iestatījums (netiek iekļauts saglabājumos, ietekmē visas spēles)
|
||||
|
@ -1188,6 +1242,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :pa kreisi
|
|||
STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :centrā
|
||||
STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :pa labi
|
||||
|
||||
STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}sekund{P 0 i es ""}
|
||||
|
||||
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimālais sākotnējais aizdevums: {STRING}
|
||||
STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksimālais aizdevuma daudzums, ko uzņēmums var izsniegt (neskaitot inflāciju)
|
||||
|
@ -1246,7 +1301,7 @@ STR_CONFIG_SETTING_CATCHMENT :Atļaut realist
|
|||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Atšķirīga lieluma apkalpojamās platības dažādu veidu stacijām un lidostām
|
||||
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Uzņēmumu stacijas var apkalpot industrijas, kurām ir pievienotas neitrālas stacijas: {STRING}
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Ja ieslēgts, industrijas ar pievienotām stacijām (piemēram, naftas ieguves platformas) var apkalpot arī netālu esošās uzņēmumumam piederošās stacijas. Ja izslēgts, šīs industrijas var apkalpot tikai to pašu stacijas. Tuvumā esošās uzņēmumu stacijas nevarēs tās apkalpot, un pievienotās stacijas neapkalpos preču veidus, kas nav atbilstošas attiecīgajai industrijai.
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Kad ieslēgts, nozares ar pievienotajām stacijām (piemēram, naftas ieguves platformām) var apkalpot arī uzņēmumam piederošas stacijas, kas uzbūvētas tuvumā. Ja tas ir atspējots, šīs nozares var apkalpot tikai tām pievienotās stacijas. Nevienas tuvumā esošās uzņēmuma stacijas nevarēs tos apkalpot, kā arī pievienotā stacija apkalpos neko citu kā tikai nozari
|
||||
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Atļaut pilsētai piederošo ceļu, tiltu un tuneļu nojaukšanu: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Padara vieglāku pilsētai piederošas infrastruktūras un ēku nojaukšanu
|
||||
|
@ -1316,7 +1371,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Jaunie rīkojum
|
|||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Transportlīdzeklis parasti pietur pie katras caurbraucamās stacijas. Ieslēdzot šo iestatījumu, tas dosies cauri visām ceļa stacijām uz savu galamērķi bez pieturām. Ņemiet vērā, ka šis iestatījums nosaka noklusējuma vērtību tikai jaunajiem rīkojumiem. Tomēr ir iespējams katru rīkojumu iestatīt arī atsevišķi
|
||||
|
||||
STR_CONFIG_SETTING_STOP_LOCATION :Jaunie vilcienu rīkojumi noklusējumā liek apstāties perona {STRING}
|
||||
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Vieta, kur vilciens apstāsies pie perona noklusējumā. 'Sākumā' ir pie ieejas stacijā, 'vidū' nozīmē perona vidū, un 'beigās' ir tālu prom no ieejas. Ņemiet vērā, ka šis iestatījums nosaka noklusējuma vērtību tikai jaunajiem rīkojumiem. Taču individuālos rīkojumos var noteikt atšķirīgu rīcību
|
||||
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Vieta, kur vilciens pēc noklusējuma apstāsies pie perona. “Tuvākais gals” nozīmē tuvu ieejas punktam, “vidējais” nozīmē platformas vidu un “tālais gals” nozīmē tālu no ieejas punkta. Ņemiet vērā, ka šis iestatījums nosaka tikai noklusējuma vērtību jauniem pasūtījumiem. Atsevišķu pasūtījumu pieturas vietu var iestatīt, noklikšķinot uz pasūtījuma teksta
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :sākumā
|
||||
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :vidū
|
||||
|
@ -1359,9 +1414,11 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nav*
|
|||
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :samazināts
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :parasts
|
||||
|
||||
STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Atļaut dzelzceļa pārbrauktuves ar ceļiem vai sliedēm, kas pieder sāncenšiem: {STRING}
|
||||
STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Atļaut būvēt dzelzceļa pārbrauktuves uz sāncenšu piederošiem ceļiem vai sliedēm
|
||||
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Atļaut caurbraucamas pieturvietas uz pilsētai piederošiem ceļiem: {STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Ļauj būvēt caurbraucamas pieturvietas uz pilsētai piederošiem ceļiem
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Atļaut caurbraucamo ceļu pieturas uz ceļiem, kas pieder pilsētām: {STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Atļaut būvēt caurbraucamo ceļu pieturas uz ceļiem, kas pieder pilsētām
|
||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Atļaut caurbraucamas pieturvietas uz sāncenšu ceļiem: {STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Ļauj būvēt caurbraucamas pieturvietas uz citiem uzņēmumiem piederošiem ceļiem
|
||||
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Šo iestatījumu nav iespējams mainīt, kad tur ir transportlīdzekļi
|
||||
|
@ -1372,6 +1429,8 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Kad ieslēgts,
|
|||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Sākotnējā uzņēmuma krāsa: {STRING}
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Izvēlieties uzņēmuma sākotnējo krāsu
|
||||
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Uzņēmuma sākuma sekundārā krāsa: {STRING}
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Izvēlieties uzņēmuma sākuma sekundāro krāsu, ja izmantojat NewGRF, kas to ļauj.
|
||||
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Lidostas darbosies mūžīgi: {STRING}
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ieslēdzot šo iestatījumu, katrs lidostas veids pēc tā ieviešanas vienmēr ir pieejams
|
||||
|
@ -1434,7 +1493,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Sākotnējais
|
|||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Reljefa veids: {STRING}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Tikai TerraGenesis) Ainavas kalnainība
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Izvēlieties ainavas pauguru un kalnu augstumu
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industriju blīvums: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Iestatiet, cik industrijas jāģenerē un kāds līmenis jāuztur spēles laikā
|
||||
|
@ -1443,18 +1502,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Naftas industri
|
|||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limits, cik tālu no kartes malām drīkst taisīt naftas pārstrādes rūpnīcas un un naftas ieguves platformas. Uz salu kartēm tas nodrošina, ka šīs konstrukcijas tiek būvētas piekrastēs. Uz kartēm, kas ir lielākas par 256 lauciņiem šī vērtība tiek palielināta.
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sniega līnijas augstums: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontrolē, kādā augstumā sākas sniegs subarktiskajā ainavā. Sniegs ietekmē arī nozares ražošanas un pilsētu izaugsmes prasības. Var mainīt tikai, izmantojot scenāriju redaktoru, vai citādi aprēķināts, izmantojot “sniega segumu”
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Izvēlieties, kādā augstumā sākas sniegs subarktiskajā ainavā. Sniegs ietekmē arī nozares ražošanas un pilsētu izaugsmi. Var mainīt tikai, izmantojot scenāriju redaktoru, vai citādi aprēķināt, izmantojot "sniega segumu"
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :Sniega pārklājums: {STRING}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Kontrolē aptuveno sniega daudzumu subarktiskajā ainavā. Sniegs ietekmē arī nozares ražošanas un pilsētu izaugsmes prasības. Izmanto tikai karšu ģenerēšanas laikā. Zeme tieši virs jūras līmeņa vienmēr ir bez sniega
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Izvēlieties aptuveno sniega daudzumu subarktiskajā ainavā. Sniegs ietekmē arī nozares ražošanas un pilsētu izaugsmei. Izmanto tikai kartes ģenerēšanas laikā. Uz jūras līmeņa un piekrastes abpagaliem nekad nav sniega.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :Tuksneša pārklājums: {STRING}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Kontrolējiet aptuveno tuksneša daudzumu tropiskajā ainavā. Tuksnesis ietekmē arī nozaru veidošanos. Izmanto tikai karšu ģenerēšanas laikā
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Izvēlieties aptuveno tuksneša daudzumu tropiskajā ainavā. Tuksnesis ietekmē arī nozares ražošanas un pilsētu izaugsmi. Izmanto tikai kartes ģenerēšanas laikā
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Apvidus nelīdzenums: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Tikai TerraGenesis) Izvēlieties pauguru biežumu — gludās ainavās ir mazāk pauguru, bet tie ir plaši izvērsti. Nelīdzenā ainavā ir daudz pauguru, kas var izskatīties vienveidīgi.
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Izvēlieties pauguru formu un skaitu. Gludās ainavās ir mazāk, bet platāku pauguru, savukārt nelīdzenās ainavās ir vairāk, mazāku kalnu.
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Ļoti gluda
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Gluda
|
||||
|
@ -1462,7 +1521,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Nelīdzena
|
|||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Ļoti nelīdzena
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :Dažādības sadalījums: {STRING}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Tikai TerraGenesis) Nosaka, vai karte satur gan kalnus, gan līdzenumus. Tā kā šis padara karti tikai plakanāku, citus iestatījumus vajadzētu pārslēgt uz kalnainumu
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :Izvēlieties, vai kartē ir gan kalni, gan līdzenas vietas. Jo augstāka atšķirība, jo lielākas atšķirības kalnu un līdzenu apgabalu augstumā.
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Upju daudzums: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Izvēlieties, cik daudz upju ģenerēt
|
||||
|
@ -1482,6 +1541,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Brauc pa kreiso
|
|||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Brauc pa labo pusi
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Augstumu kartes pagriešana: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Izvēlieties, kādā veidā augstuma kartes attēls tiek pagriezts, lai tas iekļautos spēles pasaulē
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Pret pulksteņa rādītāja virzienu
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Pulksteņa rādītāja virzienā
|
||||
|
@ -1516,7 +1576,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Pelēks uz sark
|
|||
STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Pelēktonis
|
||||
|
||||
STR_CONFIG_SETTING_SCROLLMODE :Skatvietas ritināšanas uzvedība: {STRING}
|
||||
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Uzvedība, kad ritina karti
|
||||
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Uzvedība, ritinot karti. Opcijas “peles pozīcija bloķēta” nedarbojas visās sistēmās, piemēram, tīmekļa versijās, skārienekrānos, Linux ar Wayland un citās
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Pārvietot skatvietu ar labo peles pogu, peles pozīcija ir fiksēta
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Pārvietot karti ar labo peles pogu, peles pozīcija ir fiksēta
|
||||
|
@ -1574,6 +1634,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Izslēgta
|
|||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Aizvērt logu ar labo klikšķi: {STRING}
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Labais klikšķis logā aizver logu. Izslēdz paskaidres parādīšanu ar labo klikšķi!
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Nē
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Jā
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Jā, izņemot lipīgo
|
||||
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Lietot {STRING} datuma formātu saglabāto spēļu nosaukumos
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Datuma formāts spēļu saglabājuma failu nosaukumos
|
||||
|
@ -1599,7 +1662,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ieslēgt papild
|
|||
STR_CONFIG_SETTING_LOADING_INDICATORS :Lietot piekraušanas rādītājus: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Izvēlēties piekraušanas rādītāju attēlošanu virs iekraujamiem un izkraujamiem transportlīdzekļiem
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Laika vienības laika grafikiem: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Izvēlieties transportlīdzekļu kustības sarakstos izmantotās laika vienības
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dienas
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Sekundes
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tiki
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Kustības sarakstos rādīt pienākšanu un atiešanu: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Kustības sarakstos rādīt paredzamos pienākšanas un atiešanas laikus
|
||||
|
@ -1694,7 +1762,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Cik daudz atmi
|
|||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
|
||||
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Apkopju starplaiki procentos: {STRING}
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Izvēlieties, vai transportlīdzekļu apkopi veikt pēc fiksēta laika kopš iepriekšējās apkopes vai, kad uzticamība nokrīt zem kāda noteiktas daļas no maksimālās uzticamības
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Ja tas ir ieslēgts, transportlīdzekļi mēģina veikt apkopi, kad to uzticamība samazinās par noteiktu procentuālo daļu no maksimālās uzticamības.{}{}Piemēram, ja transportlīdzekļa maksimālā uzticamība ir 90% un apkopes intervāls ir 20%, transportlīdzeklis mēģinās veikt apkopi, kad tas sasniedz 72% ticamību.
|
||||
|
||||
STR_CONFIG_SETTING_SERVINT_TRAINS :Vilcienu apkopju noklusējuma starplaiks: {STRING}
|
||||
STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Izvēlēties jaunajiem sliežu transportlīdzekļiem apkopju noklusējuma starplaiku, ja tiem tas nav noteikts
|
||||
|
@ -1824,8 +1892,8 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Ļauj pilsētā
|
|||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Pilsētam ir atļauts būvēt vienlīmeņa krustojumus: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Šā iestatījuma ieslēgšana pilsētām atļauj būvēt vienlīmeņa krustojumus
|
||||
|
||||
STR_CONFIG_SETTING_NOISE_LEVEL :Atļaut pilsētām kontrolēt trokšņu līmeni lidostās: {STRING}
|
||||
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Ja šis iestatījums ir izslēgts, tad katrā pilsētā var būt divas lidostas. Ja šis iestatījums ir ieslēgts, tad lidostu daudzums pilsētā ir ierobežots ar pilsētas piekrišanu troksnim, kas ir atkarīga no iedzīvotāju skaita, lidostas lieluma un attāluma
|
||||
STR_CONFIG_SETTING_NOISE_LEVEL :Lidostas izvietojuma ierobežojums, pamatojoties uz trokšņa līmeni: {STRING}
|
||||
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Ļaujiet pilsētām bloķēt lidostu būvniecību, pamatojoties uz to trokšņa pieļaujamo līmeni, kas ir balstīts uz pilsētas iedzīvotāju skaitu un lidostas lielumu un attālumu. Ja šis iestatījums ir izslēgts, pilsētās tiek atļautas tikai divas lidostas, ja vien vietējās iestādes attieksme nav "Atļaujoša"
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING :Pilsētu dibināšana: {STRING}
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Šā iestatījuma ieslēgšana atļauj spēlētājiem spēlē nodibināt jaunas pilsētas
|
||||
|
@ -1899,13 +1967,17 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :neviena
|
|||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Pilsētu sākuma lieluma reizinātājs: {STRING}
|
||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Pilsētu vidējais lielums attiecībā pret parastām apdzīvotām vietām spēles sākumā
|
||||
|
||||
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atjaunināt sadalījuma grafu ik pēc {STRING}
|
||||
STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Laiks starp turpmākajiem saišu grafa pārrēķiniem. Katrs pārrēķins aprēķina viena grafa komponentes plānus. Tas nozīmē, ka vērtība X šim iestatījumam nenozīmē, ka visa diagramma tiks atjaunināta ik pēc X sekundēm. Būs tikai daži komponenti. Jo īsāku to iestatīsit, jo vairāk CPU laika būs nepieciešams tā aprēķināšanai. Jo ilgāk to iestatīsit, jo ilgāks laiks paies, līdz sāksies kravu sadale jaunos maršrutos.
|
||||
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Izplatības grafa pārrēķināšanai izmantojiet {STRING}
|
||||
STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Laiks, kas nepieciešams katram saišu grafa komponenta pārrēķinam. Kad tiek sākts pārrēķins, tiek izveidots pavediens, kuram ir atļauts darboties šo sekunžu skaitu. Jo īsāku iestatījumu iestatāt, jo lielāka iespēja, ka pavediens nebūs pabeigts paredzētajā laikā. Tad spēle apstājas, līdz pāriet ielāde. Jo ilgāk jūs to iestatāt, jo ilgāks laiks nepieciešams, līdz izplatīšana tiek atjaunināta, mainoties maršrutiem.
|
||||
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_PAX :Pasažieru izplatīšanas režīms: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"simetriska" nozīmē, ka apmēram vienāds daudzums pasažieri vēlēsies doties virzienā no stacijas A uz B, cik no B uz A. "asimetriska" nozīmē, ka patvaļīgs pasažieru daudzums var vēlēties nokļūt katrā no virzieniem. "manuāli" nozīmē, ka pasažieriem netiks veikta automātiska izplatīšana.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrisks" nozīmē, ka aptuveni tikpat daudz pasažieru dosies no stacijas A uz staciju B kā no B uz A. "Asimetrisks" nozīmē, ka abos virzienos var doties patvaļīgs pasažieru skaits. "Manuāli" nozīmē, ka pasažieriem nenotiks automātiska sadale.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Pasta izplatīšanas režīms: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"simetriska" nozīmē, ka apmēram vienāds daudzums pasta tiks nosūtīts virzienā no stacijas A uz B, cik no B uz A. "asimetriska" nozīmē, ka patvaļīgs pasta daudzums var tikt nosūtīts katrā no virzieniem. "manuāli" nozīmē, ka pastam netiks veikta automātiska izplatīšana.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrisks" nozīmē, ka no stacijas A uz staciju B tiks nosūtīts aptuveni tāds pats pasta daudzums kā no B uz A. "Asimetrisks" nozīmē, ka jebkurā virzienā var nosūtīt patvaļīgu pasta daudzumu. "Manuāli" nozīmē, ka pasta automātiska izplatīšana netiks veikta.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Izplatīšanas režīms APSARGĀJAMAI preču klasei: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :APSARGĀJAMĀ kravas klase satur vērtslietas mērenajā joslā, dimantus subtropu joslā un zeltu subarktiskajā joslā. NewGRF paplašinājumi var to mainīt. "simetriska" nozīmē, ka apmēram vienāds daudzums kravas tiks nosūtīts virzienā no stacijas A uz B, cik no B uz A. "asimetriska" nozīmē, ka patvaļīgs kravas daudzums var tikt nosūtīts katrā no virzieniem. "manuāli" nozīmē, ka pastam netiks veikta automātiska izplatīšana. Šo vērtību vēlams iestatīt kā asimetrisku vai manuālu, kad spēlē subarktiskajā joslā, jo bankas nesūta zeltu atpakaļ uz zelta raktuvēm. Mērenajā un subtropu joslā var izvēlēties simetrisku, jo bankas sūtīs vērtslietas atpakaļ uz izcelsmes banku, kad saņems vērtslietu pievedumu.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :APSARGĀJAMĀ kravu klasē ir vērtslietas mērenā klimatā, dimanti subtropu klimatā vai zelts subarktiskajā klimatā. NewGRF to var mainīt. "Simetrisks" nozīmē, ka no stacijas A uz staciju B tiks nosūtīts aptuveni tāds pats šīs kravas daudzums kā no B uz A. "Asimetrisks" nozīmē, ka šīs kravas var nosūtīt jebkurā virzienā patvaļīgi. "Manuāli" nozīmē, ka šai kravai automātiskā sadale nenotiks. Spēlējot subarktisko vai subtropu, ieteicams to iestatīt uz asimetrisku vai manuālu, jo bankas saņem kravas tikai šādos klimatiskajos apstākļos. Mērenam klimatam varat izvēlēties arī simetrisko, jo bankas nosūtīs vērtslietas atpakaļ uz izcelsmes banku.
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Izplatīšanas modelis citām kravu klasēm: {STRING}
|
||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrisks" nozīmē, ka jebkurā virzienā var nosūtīt patvaļīgu daudzumu kravas. "Manuāli" nozīmē, ka šīm kravām automātiska sadale nenotiks
|
||||
###length 3
|
||||
|
@ -1924,13 +1996,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Uzstādod šo m
|
|||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Īso ceļu piesātinājums pirms sākt izmantot augstas ietilpības ceļus: {STRING}
|
||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Nereti starp divām stacijām ir vairāki ceļi. Kravu sadale vispirms piesātinās īsāko maršrutu, pēc tam izmantos nākamo īsāko maršrutu līdz tas būs piesātināts, un tā tālāk. Piesātinājumu nosaka novērtējot ietilpību un plānoto izmantojumu. Kad visi ceļi ir piesātināti un vēl ir palicis pieprasījumus, tas pārslogos visus ceļus, dodot priekšroku ceļiem ar lielāko ietilpību. Algoritms visbiežāk nepareizi novērtēs ietilpību. Šis iestatījums jums atļaus norādīt, līdz cik procentiem īsākais ceļš ir jāpiesātina pirmajā piegājienā pirms izvēlēties garāku ceļu. Iestatiet to uz mazāk kā 100%, lai izvairītos no pārpildītām stacijām, ja kapacitāte ir pārvērtēta.
|
||||
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Ātruma mērvienības: {STRING}
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Ātruma vienības (sauszemes): {STRING}
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Ātruma vienības (jūras): {STRING}
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Vai lietotāja saskarnē rāda ātrumu, rādīt norādītajās mērvienībās
|
||||
###length 5
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :impērijas, britu (jūdzes stundā)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :metriskās (km/h)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI, starptautiskās (m/s)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Spēles vienības (lauciņi/dienas)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Mezgli
|
||||
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Transportlīdzekļu jaudas mērvienības: {STRING}
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Vai lietotāja saskarnē rāda transporta līdzekļa jaudu, rādīt norādītajās mērvienībās
|
||||
|
@ -2031,6 +2105,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Neizdev
|
|||
# Video initalization errors
|
||||
STR_VIDEO_DRIVER_ERROR :{WHITE}Kļūda ar video iestatījumiem
|
||||
STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nav atrasts saderīgs GPU. Aparatūras paātrinājums ir atspējots
|
||||
STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... GPU dzinulis apturēja spēli. Aparatūras paātrinājums ir izslēgts
|
||||
|
||||
# Intro window
|
||||
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
|
||||
|
@ -2044,6 +2119,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Vairāks
|
|||
|
||||
STR_INTRO_GAME_OPTIONS :{BLACK}Spēles opcijas
|
||||
STR_INTRO_HIGHSCORE :{BLACK}Sasniegumu tabula
|
||||
STR_INTRO_HELP :{BLACK}Palīdzība un rokasgrāmatas
|
||||
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Iestatījumi
|
||||
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF iestatījumi
|
||||
STR_INTRO_ONLINE_CONTENT :{BLACK}Pārbaudīt tiešsaistes saturu
|
||||
|
@ -2065,6 +2141,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Izvēlē
|
|||
|
||||
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Rādīt spēles opcijas
|
||||
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Rādīt sasniegumu tabulu
|
||||
STR_INTRO_TOOLTIP_HELP :{BLACK}Piekļūstiet dokumentācijai un tiešsaistes resursiem
|
||||
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Displeja iestatījumi
|
||||
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Rādīt NewGRF iestatījumus
|
||||
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Pārbaudīt vai lejupielādei nav pieejams jauns un atjaunināts saturs
|
||||
|
@ -2087,6 +2164,17 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Vai tie
|
|||
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Vai tiešām vēlaties pamest šo scenāriju?
|
||||
|
||||
# Help window
|
||||
STR_HELP_WINDOW_CAPTION :{WHITE}Palīdzība un rokasgrāmatas
|
||||
STR_HELP_WINDOW_WEBSITES :{BLACK}Vietnes
|
||||
STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumenti
|
||||
STR_HELP_WINDOW_README :{BLACK}Lasi_Mani
|
||||
STR_HELP_WINDOW_CHANGELOG :{BLACK}Izmaiņu žurnāls
|
||||
STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Zināmās kļūdas
|
||||
STR_HELP_WINDOW_LICENSE :{BLACK}Licence
|
||||
STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD
|
||||
STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Rokasgrāmata / Wiki
|
||||
STR_HELP_WINDOW_BUGTRACKER :{BLACK}Ziņot par kļūdu
|
||||
STR_HELP_WINDOW_COMMUNITY :{BLACK}Kopiena
|
||||
|
||||
# Cheat window
|
||||
STR_CHEATS :{WHITE}Blēdības
|
||||
|
@ -2102,6 +2190,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Izmainī
|
|||
STR_CHEAT_CHANGE_DATE :{LTBLUE}Nomainīt datumu: {ORANGE} {DATE_SHORT}
|
||||
STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Mainīt pašreizējo gadu
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Ieslēgt ražojumu vērtības maiņu: {ORANGE}{STRING}
|
||||
STR_CHEAT_STATION_RATING :{LTBLUE}Labot stacijas vērtējumus uz 100%: {ORANGE}{STRING}
|
||||
|
||||
# Livery window
|
||||
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - krāsu shēma
|
||||
|
@ -2111,12 +2200,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Rādīt
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Rādīt autotransporta identitātes krāsu shēmas
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Rādīt kuģu identitātes krāsu shēmas
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Rādīt lidaparātu identitātes krāsu shēmas
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Rādīt vilcienu grupu krāsas
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Rādīt autotransporta grupu krāsas
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Rādīt kuģu grupu krāsas
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Rādīt lidaparātu grupu krāsas
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Izvēlēties galveno identitātes krāsu atlasītajai shēmai. Ctrl+klikšķis iestatīs šo krāsu katrai shēmai
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Izvēlēties papildu identitātes krāsu atlasītajai shēmai. Ctrl+klikšķis iestatīs šo krāsu katrai shēmai
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Izvēlēties kuru identitātes krāsu shēmu mainīt, vai vairākas ar Ctrl+klikšķi. Klikšķināt uz rūtiņas, lai pārslēgtu shēmas izmantošanu
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Vilcienu grupas nav izveidotas
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Autotransporta līdzekļu grupas nav izveidotas
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Nav izveidotas kuģu grupas
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Nav izveidota neviena gaisa kuģu grupa
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Vispārpieņemtā identitātes krāsa
|
||||
STR_LIVERY_DEFAULT :Noklusējuma Nokrāsa
|
||||
STR_LIVERY_STEAM :Tvaika lokomotīve
|
||||
STR_LIVERY_DIESEL :Dīzeļlokomotīve
|
||||
STR_LIVERY_ELECTRIC :Elektrolokomotīve
|
||||
|
@ -2269,7 +2366,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Spēles
|
|||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Uzstādīt paroli
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Aizsargā jūsu spēli ar paroli, ja nevēlaties lai tā būtu publiski pieejama
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Redzamība
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Redzamība:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK} Vai citi lietotāji var redzēt jūsu serveri publiskajā sarakstā
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} spēlētāj{P s i u}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maksimālais spēlētāju skaits:
|
||||
|
@ -2335,6 +2432,8 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Jauna kompāni
|
|||
STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Izveidot jaunu kompāniju un pievienoties tai
|
||||
STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Tas esat jūs
|
||||
STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Šis ir spēles īpašnieks
|
||||
STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}Klientu: {NUM}; uzņēmumu: {NUM}/{NUM}
|
||||
STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Pašlaik savienoto klientu skaits, uzņēmumu skaits un maksimālais servera administratora atļautais uzņēmumu skaits
|
||||
|
||||
# Matches ConnectionType
|
||||
###length 5
|
||||
|
@ -2361,6 +2460,12 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Nē
|
|||
STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Jā, vienreiz
|
||||
STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Jā, vairs nejautāt
|
||||
|
||||
STR_NETWORK_ASK_SURVEY_CAPTION :Vai piedalīties automatizētā aptaujā?
|
||||
STR_NETWORK_ASK_SURVEY_TEXT :Vai vēlaties piedalīties automatizētajā aptaujā?{}OpenTTD pārsūtīs aptauju, izejot no spēles.{}To jebkurā laikā varat mainīt sadaļā "Spēles opcijas".
|
||||
STR_NETWORK_ASK_SURVEY_PREVIEW :Priekšskatīt aptaujas rezultātus
|
||||
STR_NETWORK_ASK_SURVEY_LINK :Par aptauju un privātumu
|
||||
STR_NETWORK_ASK_SURVEY_NO :Nē
|
||||
STR_NETWORK_ASK_SURVEY_YES :Jā
|
||||
|
||||
STR_NETWORK_SPECTATORS :Novērotāji
|
||||
|
||||
|
@ -2496,7 +2601,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Meklēt
|
|||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Jūs aizejat no OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Lietošanas noteikumi no ārpuses lejupielādētam saturam var būt dažāi.{}Jums būs jāskatās ārējās saites ārējā satura instalēšanai uz OpenTTD.{}Vai vēlaties turpināt?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Atzīmju/nosaukumu filtrs:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Apmeklēt tīmekļa vietni
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Vietne
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Apmeklēt tīmekļa vietni, lai tiktu pie šī satura
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Lejupielādēt
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Sākt atlasītā lejupielādi
|
||||
|
@ -2567,6 +2672,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Pārslē
|
|||
STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Pārslēgt tiltu caurspīdību. Ctrl+klikšķis, lai slēgtu
|
||||
STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Pārslēgt caurspīdību tādām celtnēm kā bākas un antenas. Ctrl+klikšķis, lai slēgtu
|
||||
STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Pārslēgt piekartroses caurspīdību. Ctrl+klikšķis, lai slēgtu
|
||||
STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Pārslēgt caurspīdīgumu ielādei un izmaksu/ienākumu tekstam. Ctrl+klikšķis, lai bloķētu
|
||||
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Caurspīdības vietā objektus padarīt neredzamus
|
||||
|
||||
# Linkgraph legend window
|
||||
|
@ -2650,8 +2756,11 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Būvēt
|
|||
STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Izvēlēties kuru stacijas klasi rādīt
|
||||
STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Izvēlēties kuru stacijas veidu būvēt
|
||||
|
||||
STR_STATION_CLASS_DFLT :Noklusējuma stacija
|
||||
STR_STATION_CLASS_DFLT :Noklusējuma
|
||||
STR_STATION_CLASS_DFLT_STATION :Noklusējuma stacija
|
||||
STR_STATION_CLASS_DFLT_ROADSTOP :Noklusējuma pietura
|
||||
STR_STATION_CLASS_WAYP :Pieturas punkti
|
||||
STR_STATION_CLASS_WAYP_WAYPOINT :Noklusējuma pieturas punkts
|
||||
|
||||
# Signal window
|
||||
STR_BUILD_SIGNAL_CAPTION :{WHITE}Signāla izvēle
|
||||
|
@ -2679,6 +2788,7 @@ STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Izvēlē
|
|||
STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Tiltu izvēle - klikšķināt uz vēlamo tiltu, lai to uzbūvētu
|
||||
STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING}
|
||||
STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY}
|
||||
STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG}
|
||||
STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED_COST :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG}
|
||||
STR_BRIDGE_NAME_SUSPENSION_STEEL :Vanšu, tērauda
|
||||
STR_BRIDGE_NAME_GIRDER_STEEL :Siju, tērauda
|
||||
|
@ -2799,7 +2909,7 @@ STR_OBJECT_CLASS_TRNS :Raidītāji
|
|||
STR_PLANT_TREE_CAPTION :{WHITE}Koki
|
||||
STR_PLANT_TREE_TOOLTIP :{BLACK}Izvēlēties koka veidu stādīšanai. Ja lauciņš jau ir koks, tas pievienos vairāk jauktu veidu kokus neatkarīgi no izvēlētā veida
|
||||
STR_TREES_RANDOM_TYPE :{BLACK}Nejauši izvēlēta veida koki
|
||||
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Izvietot nejaušus kokus. Shift pārslēdz būve/rādīt izmaksu tāmi
|
||||
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Novietojiet jaukta veida kokus. Ctrl atlasa apgabalu pa diagonāli. Shift pārslēdz celtniecību/rāda izmaksas
|
||||
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Nejauši koki
|
||||
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Stādīt nejaušus kokus visā ainavā
|
||||
STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normāls
|
||||
|
@ -2858,7 +2968,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 rež
|
|||
STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Nejaušs
|
||||
|
||||
# Fund new industry window
|
||||
STR_FUND_INDUSTRY_CAPTION :{WHITE}Finansēt jaunu ražotni
|
||||
STR_FUND_INDUSTRY_CAPTION :{WHITE}Industrijas Finansējums
|
||||
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Izvēlēties no saraksta atbilstošu ražotni
|
||||
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Izveidot nejaušas nozares
|
||||
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Pārklāt karti ar nejauši izvietotām ražotnēm
|
||||
|
@ -2874,14 +2984,14 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE} Noņemt
|
|||
STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Vai tiešām vēlaties noņemt visas nozares?
|
||||
|
||||
# Industry cargoes window
|
||||
STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ražotnes '{STRING}' kravu ķēde
|
||||
STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}{STRING} kravas ražotņu ķēde
|
||||
STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Nozares ķēde - {STRING}
|
||||
STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Kravas ķēde - {STRING}
|
||||
STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Ražotāji
|
||||
STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Patērētāji
|
||||
STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Mājas
|
||||
STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Klikšķināt uz ražotnes, lai redzētu tās piegādātājus un patērētājus
|
||||
STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Klikšķināt uz kravas, lai redzētu tās piegādātājus un patērētājus
|
||||
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Rādīt ķēdi
|
||||
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Nozares ķēde
|
||||
STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Rādīt kravas ražojošās un patērējošās ražotnes
|
||||
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Piesaistīt minikartei
|
||||
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Izvēlēties arī minikartē attēlotās rūpnīcas
|
||||
|
@ -3019,7 +3129,7 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
|
|||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD darba grupa
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Kadru biežums
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Kadru nomaiņas ātrums
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulācijas ātrums: {STRING}
|
||||
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Spēles tikšķu skaits, ko simulēt vienā sekundē.
|
||||
|
@ -3112,11 +3222,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}Kartes i
|
|||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Izvēlieties kartes izmēru, izteikts lauciņos. Pieejamo lauciņu skaits var būt nedaudz mazāks
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Pilsētu daudzums:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Atlasiet pilsētu blīvumu vai pielāgojiet daudzumu
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Pilsētu nosaukumi:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Pilsētu nosaukumu stila izvēle
|
||||
STR_MAPGEN_DATE :{BLACK}Datums:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Izvēlieties sākuma datumu
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Ražotņu daudzums:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Atlasiet nozaru blīvumu vai pielāgojiet daudzumu
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Augstākā virsotne:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Izvēlieties augstāko virsotni, ko spēle mēģinās izveidot, mērot augstumu virs jūras līmeņa
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Palielināt augstāko punktu virsotnes pa vienai
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Pa vienai samazināt kartes augstākās virsotnes maksimālo augstumu
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}Sniega pārklājums:
|
||||
|
@ -3129,10 +3243,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Samazin
|
|||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Apvidus reljefs:
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Jūras līmenis:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Izvēlieties jūras līmeni
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Upes:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Gludums:
|
||||
STR_MAPGEN_VARIETY :{BLACK}Dažādības sadalījums:
|
||||
STR_MAPGEN_GENERATE :{WHITE}Radīt
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Izveidojiet pasauli un spēlējiet OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Iestatījumi
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Rādīt NewGRF iestatījumus
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}AI iestatījumi
|
||||
|
@ -3165,6 +3281,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Katalāņu
|
|||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}Kartes malas:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Izvēlieties spēļu pasaules robežas
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}Ziemeļrietumi
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Ziemeļaustrumi
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Dienvidaustrumi
|
||||
|
@ -3177,7 +3294,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manuāli
|
|||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Augstumu kartes pagriešana:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Augstumu kartes nosaukums:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Augstuma kartes attēla faila nosaukums
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Lielums:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Avota augstuma kartes attēla izmērs. Lai iegūtu labākos rezultātus, katrai malai ir jāatbilst OpenTTD pieejamajam kartes malas garumam, piemēram, 256, 512, 1024 utt.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Vēlamā augtākā virsotne
|
||||
|
@ -3192,6 +3311,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Līdzena
|
|||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Radīt līdzenu zemi
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Nejauša zeme
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Līdzenas zemes augstums:
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Izvēlieties zemes augstumu virs jūras līmeņa
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Par vienu līmeni samazināt līdzenas zemes augstumu
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Par vienu līmeni palielināt līdzenas zemes augstumu
|
||||
|
||||
|
@ -3278,6 +3398,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Saglabā
|
|||
STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}pašreizējos iestatījumus saglābāt kā sākontnējos iestatījumus
|
||||
|
||||
# NewGRF parameters window
|
||||
STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Mainiet pamata grafikas parametrus
|
||||
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Mainīt NewGRF parametrus
|
||||
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Aizvērt
|
||||
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Atjaunot
|
||||
|
@ -3294,6 +3415,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Pārbaud
|
|||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} adresē {HEX}
|
||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objekts
|
||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Sliežu veids
|
||||
STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Ceļa tips
|
||||
|
||||
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF mainīgā 60+x parametrs (heksadecimāls)
|
||||
|
||||
|
@ -3328,6 +3450,8 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING
|
|||
STR_NEWGRF_ERROR_MSG_WARNING :{RED}Brīdinājums: {SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_MSG_ERROR :{RED}Kļūda: {SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatāls: {SILVER}{STRING}
|
||||
STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}NewGRF "{STRING}" apstrādājas dēl neatgrieziniskās kļūdas:{}{STRING}
|
||||
STR_NEWGRF_ERROR_POPUP :{WHITE}NewGRF "{STRING}"uzrāda kļūdu:{}{STRING}
|
||||
STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} nedarbosies kopā ar TTDPatch versiju (par ko ziņoja OpenTTD).
|
||||
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} ir paredzēts TTD versijai {2:STRING}
|
||||
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} ir paredzēts lietošanai ar {2:STRING}
|
||||
|
@ -3478,8 +3602,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{Y
|
|||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{PUSH_COLOUR}{YELLOW}Finansējiet pilsētas ceļu tīkla rekonstrukciju.{}Līdz 6 mēnešiem rada ievērojamus ceļu satiksmes traucējumus.{}{POP_COLOUR}Izmaksas: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Uzceliet statuju par godu savam uzņēmumam.{}Nodrošina pastāvīgu staciju vērtējuma palielinājumu šajā pilsētā.{}{POP_COLOUR}Izmaksas: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Finansējiet jaunu ēku celtniecību pilsētā.{}Nodrošina īslaicīgu stimulu pilsētas izaugsmei šajā pilsētā.{}{POP_COLOUR}Izmaksas: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Iegādājieties 1 gada ekskluzīvas transporta tiesības pilsētā.{}Pašvaldība neļaus pasažieriem un kravai izmantot jūsu konkurentu stacijas.{}{POP_COLOUR}Izmaksas: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Piekukuļojiet vietējo pašvaldību, lai paaugstinātu savu vērtējumu, riskējot saņemt bargu sodu.{}{POP_COLOUR}Izmaksas: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{PUSH_COLOUR}{YELLOW}Iegādājieties 1 gada ekskluzīvas transporta tiesības pilsētā.{}Pilsētas pašvaldība neļaus pasažieriem un kravai izmantot jūsu konkurentu stacijas. Veiksmīgs kukulis no konkurenta atcels šo līgumu.{}{POP_COLOUR}Izmaksas: {CURRENCY_LONG}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Piekukuļot vietējo pašvaldību, lai paaugstinātu savu vērtējumu un atceltu konkurenta ekskluzīvās transporta tiesības, riskējot ar bargu sodu, ja tiksiet pieķerts.{}{POP_COLOUR}Izmaksas: {CURRENCY_LONG}
|
||||
|
||||
# Goal window
|
||||
STR_GOALS_CAPTION :{WHITE}{COMPANY} mērķi
|
||||
|
@ -3703,6 +3827,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Sīkāk
|
|||
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Skatīt detalizētāku infrastruktūras uzskaiti
|
||||
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Iedot naudu
|
||||
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Iedot naudu šai kompānijai
|
||||
STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Naidīga pārņemšana
|
||||
STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Veiciet naidīgu šī uzņēmuma pārņemšanu
|
||||
|
||||
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Jauna seja
|
||||
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Izvēlēties jaunu seju vadītājam
|
||||
|
@ -3718,6 +3844,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Vadītāja vār
|
|||
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Ievadiet naudas daudzumu, kuru vēlaties atdot
|
||||
|
||||
STR_BUY_COMPANY_MESSAGE :{WHITE}Mēs meklējam transporta uzņēmumu, kurš vēlētos pārņemt mūsējo.{}{}Vai Jūs vēlaties pirkt {COMPANY} par {CURRENCY_LONG}?
|
||||
STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Naidīgā uzņēmuma {COMPANY} pārņemšanas gadījumā jūs iegādāsities visus aktīvus, atmaksāsit visus aizdevumus un maksāsiet divu gadu peļņu.{}{}Tiek lēsts, ka kopējā summa ir {CURRENCY_LONG}.{}{}Vai jūs vēlaties turpināt šo naidīgo pārņemšanu?
|
||||
|
||||
# Company infrastructure window
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY} infrastruktūra
|
||||
|
@ -3790,12 +3917,15 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Pārvald
|
|||
STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Sūtīt norādījumus visiem transportlīdzekļiem, kas ir šajā sarakstā
|
||||
STR_VEHICLE_LIST_REPLACE_VEHICLES :Nomainīt transportlīdzekļus
|
||||
STR_VEHICLE_LIST_SEND_FOR_SERVICING :Sūtīt uz apkopi
|
||||
STR_VEHICLE_LIST_CREATE_GROUP :Izveidot grupu
|
||||
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Peļņa šogad: {CURRENCY_LONG} (pērn: {CURRENCY_LONG})
|
||||
STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}]
|
||||
STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING}
|
||||
|
||||
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Sūtīt uz depo
|
||||
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Sūtīt uz depo
|
||||
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Sūtīt uz depo
|
||||
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Sūtīt uz angāru
|
||||
STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Nosūtīt uz depo
|
||||
STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Nosūtīt uz depo
|
||||
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Nosūtīt uz depo
|
||||
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Nosūtīt uz angāru
|
||||
|
||||
STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Klikšķināt, lai apstādinātu visas mašīnas, kas ir sarakstā
|
||||
STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Klikšķināt, lai iedarbinātu visas mašīnas, kas ir saraks
|
||||
|
@ -4481,8 +4611,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Šis tra
|
|||
STR_TIMETABLE_STATUS_LATE :{BLACK}Šis transportlīdzeklis pašlaik {STRING} kavē
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Šis transportlīdzeklis pašlaik {STRING} par agru
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Šis saraksts vēl nav sācies
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Šis grafiks sāksies plkst. {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Šis grafiks sāksies pēc {COMMA} sekundēm
|
||||
|
||||
STR_TIMETABLE_START :{BLACK}Sākt Grafiku
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Atlasiet, kad sākas šis saraksts. Ctrl+klikšķis vienmērīgi sadala visu transportlīdzekļu sākumu, kas koplieto šo pasūtījumu, pamatojoties uz to relatīvo pasūtījumu, ja pasūtījumam ir pilnībā noteikts saraksts
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Sekundes līdz grafika sākumam
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Mainīt laiku
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Mainiet laiku, kas nepieciešams iezīmētajam pasūtījumam. Ctrl+Click iestata laiku visiem pasūtījumiem
|
||||
|
@ -4497,7 +4632,7 @@ STR_TIMETABLE_CLEAR_SPEED :{BLACK}Nodzēst
|
|||
STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Dzēst iezīmētā pasūtījuma maksimālo braukšanas ātrumu. Ctrl+klikšķis notīra ātrumu visiem pasūtījumiem
|
||||
|
||||
STR_TIMETABLE_RESET_LATENESS :{BLACK}Atiestatīt kavējuma skaitītāju
|
||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Atslēgt skaitītāju, lai transportlīdzeklis būtu laikā
|
||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Atiestatiet kavējuma skaitītāju, lai transportlīdzeklis būtu laikā. Nospiežot taustiņu kombināciju Ctrl+klikšķis, tiks atiestatīta visa grupa, lai jaunākais transportlīdzeklis būtu laicīgi un visi pārējie ātrāk
|
||||
|
||||
STR_TIMETABLE_AUTOFILL :{BLACK}Automātiska aizpildīšana
|
||||
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Automātiski aizpildiet kustības grafiku ar vērtībām no nākamā brauciena. Ctrl+noklikšķiniet, lai mēģinātu saglabāt gaidīšanas laiku
|
||||
|
@ -4506,6 +4641,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Paredzē
|
|||
STR_TIMETABLE_SCHEDULED :{BLACK}Ieplānots
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Pārslēgties starp sagaidāmo un ieplānoto
|
||||
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :iekš: {COLOUR}{COMMA} sek
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} sek
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
|
@ -4533,23 +4672,25 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Ievērot
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Pārslēgt lielo/mazo burtu ievērošanu, kad salīdzināt MI ziņojumus ar slēgšanas tekstu
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Turpināt
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Atsākt un turpināt šo MI
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Attēlot šī MI atkļūdošanas izvadu
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Skatīt šī AI atkļūdošanas izeju. Ctrl-klikšķis, lai atvērtu jaunā logā
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Spēles skripts
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Pārbaudīt spēles skriptu žurnālu
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Pārbaudiet spēles skripta žurnālu. Ctrl-klikšķis, lai atvērtu jaunā logā
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :Nav atrasts ielādei piemērots MI.{}Šis ir MI makets un spēlē tas neko nedarīs.{}Jūs varat lejupielādēt dažus MI no 'Tiešsaistes satura' sistēmas
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Viens no strādājošiem skriptiem nobruka. Lūdzu, paziņojiet par šo gadījumu skripta autoram, pievienojot ekrānuzņēmumu ar MI/spēles skriptu atkļūdošanas logu
|
||||
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}MI/spēles skriptu atkļūdošanas logs ir pieejams tikai serverim
|
||||
|
||||
# AI configuration window
|
||||
STR_AI_CONFIG_CAPTION_AI :{WHITE}AI Konfigurācija
|
||||
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Spēles skripta konfigurācija
|
||||
STR_AI_CONFIG_CAPTION_AI :{WHITE}AI iestatījumi
|
||||
STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Spēles Skripta Iestatījumi
|
||||
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Spēles skripts, kas tiks ielādēts nākamajā spēlē
|
||||
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}MI, kas tiks ielādēts nākamajā spēlē
|
||||
STR_AI_CONFIG_HUMAN_PLAYER :Spēlētājs (cilvēks)
|
||||
STR_AI_CONFIG_RANDOM_AI :Nejaušs MI
|
||||
STR_AI_CONFIG_NONE :(nav)
|
||||
STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM}
|
||||
STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maksimālais sāncenšu daudzums: {ORANGE}{COMMA}
|
||||
STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervāls starp konkurentu startiem: {ORANGE}{COMMA} minut{P e es ""}
|
||||
|
||||
STR_AI_CONFIG_MOVE_UP :{BLACK}Pacelt uz augšu
|
||||
STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Pacelt izvēlētos MI sarakstā uz augšu
|
||||
|
@ -4561,8 +4702,8 @@ STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Paramet
|
|||
STR_AI_CONFIG_AI :{SILVER}MI
|
||||
|
||||
STR_AI_CONFIG_CHANGE_AI :{BLACK}Izvēlēties MI
|
||||
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Atlasiet spēles skriptu
|
||||
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Ielādēt citu skriptu
|
||||
STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Izvētaties spēles skriptu
|
||||
STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Ielādēt citu skriptu. Ctrl+klikšķis, lai parādītu visas pieejamās versijas
|
||||
STR_AI_CONFIG_CONFIGURE :{BLACK}Konfigurēt
|
||||
STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Konfigurēt skripta parametrus
|
||||
|
||||
|
@ -4591,22 +4732,33 @@ STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minikart
|
|||
|
||||
# Script Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Iestatījumi
|
||||
STR_AI_SETTINGS_CAPTION_AI :{WHITE}MI Parametri
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spēles skripts
|
||||
STR_AI_SETTINGS_CLOSE :{BLACK}Aizvērt
|
||||
STR_AI_SETTINGS_RESET :{BLACK}Atiestatīt
|
||||
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
|
||||
|
||||
|
||||
# Textfile window
|
||||
STR_TEXTFILE_JUMPLIST :{WHITE}Satura rādītājs
|
||||
STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Izmantojot šo sarakstu, ātri pārejiet uz parādītā faila sadaļu
|
||||
STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING}
|
||||
STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Atgriezties navigācijas vēsturē
|
||||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Atgriezties uz priekšu navigācijas vēsturē
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Aplauzt tekstu
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Aplauzt tekstu logā, lai tas viss iekļautos un nevajadzētu ritināt
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Skatīt failu Lasi_mani
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Lasi_Mani
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :Skatīt šī satura readme
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Izmaiņu žurnāls
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Skatīt šī satura izmaiņu žurnālu
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licence
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Skatīt šī satura licenci
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} kopas {STRING} fails Lasi_mani
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} kopas {STRING} izmaiņu žurnāls
|
||||
STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} kopas {STRING} licence
|
||||
STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Priekšskatīt aptaujas rezultātus
|
||||
STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD dokuments'{STRING}'
|
||||
|
||||
|
||||
# Vehicle loading indicators
|
||||
|
@ -4788,7 +4940,7 @@ STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Pārāk
|
|||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Pārāk tuvu citai piestātnei
|
||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Pārāk tuvu citai lidostai
|
||||
STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Nevar pārdēvēt staciju...
|
||||
STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... šis ceļš pieder pilsētai
|
||||
STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ceļš pieder pilsētai
|
||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ceļš novietots nepareizā virzienā
|
||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... caurbraucamās stacijās nevar būt stūru
|
||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... caurbraucamās stacijās nevar būt sazarojumu
|
||||
|
@ -5045,11 +5197,25 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... pār
|
|||
STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... lidaparātam ir nepietiekams apgabals
|
||||
|
||||
# Extra messages which go on the third line of errors, explaining why orders failed
|
||||
STR_ERROR_NO_RAIL_STATION :{WHITE}Dzelzceļa stacijas nav
|
||||
STR_ERROR_NO_BUS_STATION :{WHITE}Nav autoostas
|
||||
STR_ERROR_NO_TRUCK_STATION :{WHITE}Nav kravas automašīnu stacijas
|
||||
STR_ERROR_NO_DOCK :{WHITE}Nav piestātnes
|
||||
STR_ERROR_NO_AIRPORT :{WHITE}Nav lidostas/heliportu
|
||||
STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Nav pieturu ar saderīgu ceļa veidu
|
||||
STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Saderīgam tramvaja veidam pieturu nav
|
||||
STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Nav pieturu, kas būtu piemērotas posmainiem transportlīdzekļiem.{}Posmainiem transportlīdzekļiem ir nepieciešama caurbraucama pietura.
|
||||
STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Šī lidmašīna nevar nolaisties šajā helikopteru lidlaukā
|
||||
STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Šis helikopters nevar nolaisties šajā lidostā
|
||||
STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Nav dzelzceļa pieturas punkta
|
||||
STR_ERROR_NO_BUOY :{WHITE}Bojas nav
|
||||
|
||||
# Timetable related errors
|
||||
STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Nevar panākt transportalīdzekļa iekļaušanos sarakstā
|
||||
STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Transportlīdzekļus var gaidīt tikai stacijās
|
||||
STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Šis transportlīdzeklis šajā stacijā nepieturēs
|
||||
STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... saraksts ir nepilnīgs
|
||||
STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... grafiks vēl nav sācies
|
||||
|
||||
# Sign related errors
|
||||
STR_ERROR_TOO_MANY_SIGNS :{WHITE}... pārāk daudz zīmju
|
||||
|
@ -5529,17 +5695,21 @@ STR_VEHICLE_NAME :{VEHICLE}
|
|||
STR_WAYPOINT_NAME :{WAYPOINT}
|
||||
|
||||
STR_JUST_CARGO :{CARGO_LONG}
|
||||
STR_JUST_RIGHT_ARROW :{RIGHT_ARROW}
|
||||
STR_JUST_CHECKMARK :{CHECKMARK}
|
||||
STR_JUST_COMMA :{COMMA}
|
||||
STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT}
|
||||
STR_JUST_CURRENCY_LONG :{CURRENCY_LONG}
|
||||
STR_JUST_CARGO_LIST :{CARGO_LIST}
|
||||
STR_JUST_DECIMAL :{DECIMAL}
|
||||
STR_JUST_INT :{NUM}
|
||||
STR_JUST_DATE_TINY :{DATE_TINY}
|
||||
STR_JUST_DATE_SHORT :{DATE_SHORT}
|
||||
STR_JUST_DATE_LONG :{DATE_LONG}
|
||||
STR_JUST_DATE_ISO :{DATE_ISO}
|
||||
STR_JUST_STRING :{STRING}
|
||||
STR_JUST_STRING1 :{STRING}
|
||||
STR_JUST_STRING2 :{STRING}
|
||||
STR_JUST_STRING_STRING :{STRING}{STRING}
|
||||
STR_JUST_RAW_STRING :{STRING}
|
||||
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
||||
|
|
|
@ -256,6 +256,9 @@ STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL} pé(s
|
|||
STR_UNITS_HEIGHT_METRIC :{DECIMAL} m
|
||||
STR_UNITS_HEIGHT_SI :{DECIMAL} m
|
||||
|
||||
STR_UNITS_DAYS :{COMMA}{NBSP}dia{P "" s}
|
||||
STR_UNITS_SECONDS :{COMMA}{NBSP}segundo{P "" s}
|
||||
STR_UNITS_TICKS :{COMMA}{NBSP}tique{P "" s}
|
||||
|
||||
# Common window strings
|
||||
STR_LIST_FILTER_TITLE :{BLACK}Filtro:
|
||||
|
@ -720,6 +723,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique n
|
|||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Faça clique numa faixa para a remover da lista (Personaliz. 1 ou Personaliz. 2 apenas)
|
||||
|
||||
# Highscore window
|
||||
STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Melhores empresas
|
||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Negociante
|
||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Empresário
|
||||
|
@ -1488,7 +1492,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
|
|||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING}
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Apenas TerraGenesis) Relevo do terreno
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altura das colinas e montanhas da paisagem
|
||||
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade industrial: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo
|
||||
|
@ -1497,18 +1501,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máx
|
|||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Refinarias de petróleo são construídas apenas próximo da borda do mapa, isto é, na costa para mapas de ilha
|
||||
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Controla a que altura começa a neve no clima sub-ártico. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado por via da "cobertura de neve"
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado através do Editor de Cenários ou é calculado através da "cobertura de neve"
|
||||
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING}
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Controla a quantidade aproximada de neve no clima sub-ártico. A neve também afeta a geração das indústrias e os requisitos de crescimento das localidades. Usado apenas durante a geração do mapa. A terra logo acima do nível do mar está sempre sem neve
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve no clima subártico. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve.
|
||||
STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING}
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Controla a quantidade aproximada de deserto no clima tropical. O deserto também afeta a geração das indústrias. Usado apenas durante a geração do mapa
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração de indústrias e os requisitos de crescimento das localidades. Usado apenas durante a geração do mapa
|
||||
STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
||||
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rudeza do terreno: {STRING}
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Apenas TerraGenesis) Escolhe a frequência de montes: paisagens macias têm menos montes e mais espalhados. Paisagens duras têm muitos montes, que podem parecer repetitivos
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Escolher a forma e o número de colinas. As paisagens suaves têm poucas colinas, largas, enquanto as paisagens acidentadas possuem mais, colinas pequenas.
|
||||
###length 4
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muito suave
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suave
|
||||
|
@ -1516,7 +1520,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Acidentado
|
|||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito acidentado
|
||||
|
||||
STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING}
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Apenas TerraGenesis) Controla se o mapa contém áreas planas e montanhosas. Como isto apenas torna o mapa mais plano, outras definições devem ser definidas como montanhosas
|
||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa contém tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altitude entre essas as áreas.
|
||||
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolhe quantos rios serão gerados
|
||||
|
@ -1536,6 +1540,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Circular pela e
|
|||
STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Circular pela direita
|
||||
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação mapa de alt.: {STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolher de que forma a imagem topográfica será girada para caber no mundo do jogo
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido anti-horário
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido horário
|
||||
|
@ -1656,7 +1661,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativar a utiliz
|
|||
STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Seleccionar se os indicadores de carga são mostrados acima de veículos em carga ou descarga
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE :Unidades de tempo para horários: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Selecionar as unidades de tempo usadas nos horários dos veículos
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dias
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Segundos
|
||||
STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tiques
|
||||
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostrar chegada e partida nos horários: {STRING}
|
||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostrar horários previstos de chegada e partida nas tabelas de horários
|
||||
|
@ -2187,12 +2197,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Exibir e
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Exibir esquemas de cores dos veículos rodoviários
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Exibir esquemas de cores dos navios
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Exibir esquema de cores da aeronave
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Exibir cores de grupos de comboios
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Exibir cores de grupos de veículos rodoviários
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Exibir cores de grupos de navios
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Exibir cores de grupos de aeronaves
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Seleccione a cor primária para o veículo seleccionado. Ctrl+Clique vai usar esta cor para todos os esquemas
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Selecione a cor secundária para o esquema selecionado. Ctrl+Clique seleciona essa cor para todos os esquemas
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Seleccione o esquema de cores a alterar, ou esquemas múltiplos utilizando a tecla Ctrl com o botão esquerdo do rato. Marque a caixa para comutar a utilização do esquema de cores
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Não estão configurados grupos de comboios
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Não estão configurados grupos de veículos rodoviários
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Não estão configurados grupos de navios
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Não estão configurados grupos de aeronaves
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Estampagem Padrão
|
||||
STR_LIVERY_DEFAULT :Pintura Padrão
|
||||
STR_LIVERY_STEAM :Locomotivas a Vapor
|
||||
STR_LIVERY_DIESEL :Locomotivas Diesel
|
||||
STR_LIVERY_ELECTRIC :Locomotivas Eléctricas
|
||||
|
@ -2345,7 +2363,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}O nome d
|
|||
STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Definir palavra-chave
|
||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Proteja o jogo com uma senha se não desejar que pessoas indesejadas se juntem
|
||||
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibilidade
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibilidade:
|
||||
STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Se as outras pessoas podem ver o seu servidor na lista pública
|
||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} cliente{P "" s}
|
||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Máximo de clientes:
|
||||
|
@ -2580,7 +2598,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Escolher
|
|||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Está a sair do OpenTTD!
|
||||
STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições para o download de conteúdo de sites externos variam.{}Terá que se referir aos sites externos para instruções em como instalar o conteúdo no OpenTTD.{}Pretende continuar?
|
||||
STR_CONTENT_FILTER_TITLE :{BLACK}Filtrar por etiqueta/nome:
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Visitar a página web
|
||||
STR_CONTENT_OPEN_URL :{BLACK}Website
|
||||
STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar a página web para este conteúdo
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Descarregar
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Iniciar a descarga do conteúdo seleccionado
|
||||
|
@ -3200,11 +3218,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}Dim. do
|
|||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Seleccionar o tamanho do mapa em mosaicos. O numero de mosaicos disponiveis será ligeiramente menor
|
||||
STR_MAPGEN_BY :{BLACK}*
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Num. de localidades:
|
||||
STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Selecionar a densidade das cidades, ou um número personalizado
|
||||
STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Nomes das localidades:
|
||||
STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Seleccionar o estilo dos nomes das localidades
|
||||
STR_MAPGEN_DATE :{BLACK}Data:
|
||||
STR_MAPGEN_DATE_TOOLTIP :{BLACK}Selecionar a data inicial
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Num. de indústrias:
|
||||
STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Selecionar a densidade das indústrias, ou um número personalizado
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Pico mais alto:
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Escolher o pico mais alto que o jogo tentará criar, medido em elevação acima do nível do mar
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Subir a altura máxima do pico mais alto do mapa em um
|
||||
STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Baixar a altura máxima do pico mais alto do mapa em um
|
||||
STR_MAPGEN_SNOW_COVERAGE :{BLACK}Cobertura de neve:
|
||||
|
@ -3217,10 +3239,12 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Diminuir
|
|||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno:
|
||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Nível do mar:
|
||||
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Selecione o nível do mar
|
||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rios:
|
||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Suavidade:
|
||||
STR_MAPGEN_VARIETY :{BLACK}Variedade da distribuição:
|
||||
STR_MAPGEN_GENERATE :{WHITE}Gerar
|
||||
STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Criar o mapa e jogar OpenTTD!
|
||||
STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Definições de NewGRF
|
||||
STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de NewGRF
|
||||
STR_MAPGEN_AI_SETTINGS :{BLACK}Definições de IA
|
||||
|
@ -3253,6 +3277,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalão
|
|||
|
||||
# Strings for map borders at game generation
|
||||
STR_MAPGEN_BORDER_TYPE :{BLACK}Limites do mapa:
|
||||
STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Escolher as bordas do mundo do jogo
|
||||
STR_MAPGEN_NORTHWEST :{BLACK}Noroeste
|
||||
STR_MAPGEN_NORTHEAST :{BLACK}Nordeste
|
||||
STR_MAPGEN_SOUTHEAST :{BLACK}Sudeste
|
||||
|
@ -3265,7 +3290,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
|||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotação mapa de alt.:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome mapa de alt.:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}O nome do ficheiro de imagem topográfica
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}As dimensões da imagem topográfica de origem. Para obter melhores resultados, cada aresta deve corresponder a um comprimento de aresta de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc.
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura do pico alvo
|
||||
|
@ -3280,6 +3307,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Terra pl
|
|||
STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Criar terra plana
|
||||
STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Terra aleatória
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altura da terra plana:
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Escolher a elevação do terreno acima do nível do mar
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mover altura da terra plana um nível abaixo
|
||||
STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Mover altura da terra plana um nível acima
|
||||
|
||||
|
@ -4573,8 +4601,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este ve
|
|||
STR_TIMETABLE_STATUS_LATE :{BLACK}Este veículo está presentemente atrasado {STRING}
|
||||
STR_TIMETABLE_STATUS_EARLY :{BLACK}Este veículo está presentemente adiantado {STRING}
|
||||
STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este horário ainda não começou
|
||||
STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este horário tem início às {STRING}
|
||||
STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Este horário tem início em {COMMA} segundos
|
||||
|
||||
STR_TIMETABLE_START :{BLACK}Iniciar Horário
|
||||
STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecionar quando este horário começa. Ctrl+Clique distribui uniformemente o arranque de todos os veículos que partilham esta ordem com base na sua ordem relativa, se a ordem estiver completamente programada
|
||||
|
||||
STR_TIMETABLE_START_SECONDS_QUERY :Segundos até o horário iniciar
|
||||
|
||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Mudar Tempo
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Mudar a duração do tempo que a ordem selecionada deve durar. Ctrl+Clique define o tempo para todas as ordens
|
||||
|
@ -4598,6 +4631,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Esperado
|
|||
STR_TIMETABLE_SCHEDULED :{BLACK}Marcado
|
||||
STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Alternar entre tempo esperado e marcado
|
||||
|
||||
STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY}
|
||||
STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} seg
|
||||
STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} seg
|
||||
|
||||
|
||||
# Date window (for timetable)
|
||||
|
@ -4625,9 +4662,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Caso de
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Alternar o caso de igualdade quando se compara o resgisto da IA contra a string de paragem
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Continuar
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Ver saída de depuração desta IA
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Ver saída de depuração desta IA. Ctrl+Clique para abrir numa nova janela
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Script de jogo
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verifique o registo do Script de jogo
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verifique o registo do Script de jogo. Ctrl+Clique para abrir numa nova janela
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Pode descarregar várias IA através do sistema 'Conteúdo Online'
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Houve um erro num script. Por favor reporte isto ao autor do script com uma imagem da janela Depuramento de IA/Scripts de Jogo.
|
||||
|
@ -4700,9 +4737,12 @@ STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Recuar n
|
|||
STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Avançar no histórico de navegação
|
||||
STR_TEXTFILE_WRAP_TEXT :{WHITE}Envolver o texto
|
||||
STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Envolve o texto da janela de forma que não é necessário deslizar listagem
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Ver leia-me
|
||||
STR_TEXTFILE_VIEW_README :{BLACK}Leia-me
|
||||
STR_TEXTFILE_VIEW_README_TOOLTIP :Ver "readme" para este conteúdo
|
||||
STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Lista de alterações
|
||||
STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Ver o "log" de alterações para este conteúdo
|
||||
STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licença
|
||||
STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver a licença para este conteúdo
|
||||
###length 5
|
||||
STR_TEXTFILE_README_CAPTION :{WHITE}Leiame {STRING} de {STRING}
|
||||
STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Lista de alterações {STRING} de {STRING}
|
||||
|
|
|
@ -2347,12 +2347,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Наст
|
|||
STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Настройка цветовой схемы автотранспорта
|
||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Настройка цветовой схемы судов
|
||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Настройка цветовой схемы авиатранспорта
|
||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}{BLACK}Показать цвета поездных групп
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Показать цвета автомобильных групп
|
||||
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Показать цвета корабельных групп
|
||||
STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Показать цвета самолетных групп
|
||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Настройка основного цвета выбранного вида транспорта. Ctrl+щелчок установит выбранный цвет для всех видов транспорта.
|
||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Настройка дополнительного цвета выбранного вида транспорта. Ctrl+щелчок установит выбранный цвет для всех видов транспорта.
|
||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Выберите цветовую схему для изменения, либо несколько схем с Ctrl. Щёлкните по флажку для использования выбранной схемы.
|
||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Группы поездов не настроены
|
||||
STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Группы автомобильных транспортных средств не настроены
|
||||
STR_LIVERY_SHIP_GROUP_EMPTY :Группы кораблей не настроены
|
||||
STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Группы самолетов не созданы
|
||||
|
||||
###length 23
|
||||
STR_LIVERY_DEFAULT :Стандарт. окраска
|
||||
STR_LIVERY_DEFAULT :Окраска по умолчанию
|
||||
STR_LIVERY_STEAM :Паровоз
|
||||
STR_LIVERY_DIESEL :Тепловоз
|
||||
STR_LIVERY_ELECTRIC :Электровоз
|
||||
|
@ -4840,9 +4848,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Реги
|
|||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Переключить проверку регистра при сравнении строк
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Продолжить
|
||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Продолжить игру
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Просмотр отладочной информации модуля ИИ
|
||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Просмотрите выходные данные отладки этого AI. Ctrl-щелчок, чтобы открыть в новом окне
|
||||
STR_AI_GAME_SCRIPT :{BLACK}Игровой скрипт
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Показать журнал работы игрового скрипта
|
||||
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Проверьте журнал игровых сценариев. Ctrl-щелчок, чтобы открыть в новом окне
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :Не найдено подходящих модулей ИИ, поэтому конкуренты ничего делать не будут.{}Вы можете скачать модули ИИ через систему онлайн-контента.
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Один из запущенных ИИ / скриптов завершил свою работу аварийно. Пожалуйста, сообщите об этом автору скрипта, приложив снимок окна отладки.
|
||||
|
|
|
@ -100,7 +100,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_PLT_BACKGROUND) return;
|
||||
|
||||
|
@ -127,7 +127,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_PLT_BACKGROUND) return;
|
||||
|
||||
|
@ -302,7 +302,7 @@ public:
|
|||
this->InitNested(table);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SLT_CAPTION) return;
|
||||
SetDParamStr(0, this->title);
|
||||
|
@ -313,7 +313,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SLT_BACKGROUND) return;
|
||||
|
||||
|
@ -355,7 +355,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_SLT_BACKGROUND) return;
|
||||
|
||||
|
@ -395,7 +395,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget != WID_SLT_BACKGROUND) return;
|
||||
|
||||
|
|
|
@ -642,56 +642,54 @@ void LinkGraphOverlay::SetCompanyMask(CompanyMask company_mask)
|
|||
}
|
||||
|
||||
/** Make a number of rows with buttons for each company for the linkgraph legend window. */
|
||||
NWidgetBase *MakeCompanyButtonRowsLinkGraphGUI(int *biggest_index)
|
||||
std::unique_ptr<NWidgetBase> MakeCompanyButtonRowsLinkGraphGUI()
|
||||
{
|
||||
return MakeCompanyButtonRows(biggest_index, WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST, COLOUR_GREY, 3, STR_NULL);
|
||||
return MakeCompanyButtonRows(WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST, COLOUR_GREY, 3, STR_NULL);
|
||||
}
|
||||
|
||||
NWidgetBase *MakeSaturationLegendLinkGraphGUI(int *biggest_index)
|
||||
std::unique_ptr<NWidgetBase> MakeSaturationLegendLinkGraphGUI()
|
||||
{
|
||||
NWidgetVertical *panel = new NWidgetVertical(NC_EQUALSIZE);
|
||||
auto panel = std::make_unique<NWidgetVertical>(NC_EQUALSIZE);
|
||||
for (uint i = 0; i < lengthof(LinkGraphOverlay::LINK_COLOURS[0]); ++i) {
|
||||
NWidgetBackground * wid = new NWidgetBackground(WWT_PANEL, COLOUR_DARK_GREEN, i + WID_LGL_SATURATION_FIRST);
|
||||
auto wid = std::make_unique<NWidgetBackground>(WWT_PANEL, COLOUR_DARK_GREEN, i + WID_LGL_SATURATION_FIRST);
|
||||
wid->SetMinimalSize(50, 0);
|
||||
wid->SetMinimalTextLines(1, 0, FS_SMALL);
|
||||
wid->SetFill(1, 1);
|
||||
wid->SetResize(0, 0);
|
||||
panel->Add(wid);
|
||||
panel->Add(std::move(wid));
|
||||
}
|
||||
*biggest_index = WID_LGL_SATURATION_LAST;
|
||||
return panel;
|
||||
}
|
||||
|
||||
NWidgetBase *MakeCargoesLegendLinkGraphGUI(int *biggest_index)
|
||||
std::unique_ptr<NWidgetBase> MakeCargoesLegendLinkGraphGUI()
|
||||
{
|
||||
uint num_cargo = static_cast<uint>(_sorted_cargo_specs.size());
|
||||
static const uint ENTRIES_PER_COL = 5;
|
||||
NWidgetHorizontal *panel = new NWidgetHorizontal(NC_EQUALSIZE);
|
||||
NWidgetVertical *col = nullptr;
|
||||
auto panel = std::make_unique<NWidgetHorizontal>(NC_EQUALSIZE);
|
||||
std::unique_ptr<NWidgetVertical> col = nullptr;
|
||||
|
||||
for (uint i = 0; i < num_cargo; ++i) {
|
||||
if (i % ENTRIES_PER_COL == 0) {
|
||||
if (col != nullptr) panel->Add(col);
|
||||
col = new NWidgetVertical(NC_EQUALSIZE);
|
||||
if (col != nullptr) panel->Add(std::move(col));
|
||||
col = std::make_unique<NWidgetVertical>(NC_EQUALSIZE);
|
||||
}
|
||||
NWidgetBackground * wid = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, i + WID_LGL_CARGO_FIRST);
|
||||
auto wid = std::make_unique<NWidgetBackground>(WWT_PANEL, COLOUR_GREY, i + WID_LGL_CARGO_FIRST);
|
||||
wid->SetMinimalSize(25, 0);
|
||||
wid->SetMinimalTextLines(1, 0, FS_SMALL);
|
||||
wid->SetFill(1, 1);
|
||||
wid->SetResize(0, 0);
|
||||
col->Add(wid);
|
||||
col->Add(std::move(wid));
|
||||
}
|
||||
/* Fill up last row */
|
||||
for (uint i = num_cargo; i < Ceil(num_cargo, ENTRIES_PER_COL); ++i) {
|
||||
NWidgetSpacer *spc = new NWidgetSpacer(25, 0);
|
||||
auto spc = std::make_unique<NWidgetSpacer>(25, 0);
|
||||
spc->SetMinimalTextLines(1, 0, FS_SMALL);
|
||||
spc->SetFill(1, 1);
|
||||
spc->SetResize(0, 0);
|
||||
col->Add(spc);
|
||||
col->Add(std::move(spc));
|
||||
}
|
||||
/* If there are no cargo specs defined, then col won't have been created so don't add it. */
|
||||
if (col != nullptr) panel->Add(col);
|
||||
*biggest_index = WID_LGL_CARGO_LAST;
|
||||
if (col != nullptr) panel->Add(std::move(col));
|
||||
return panel;
|
||||
}
|
||||
|
||||
|
@ -772,7 +770,7 @@ void LinkGraphLegendWindow::SetOverlay(LinkGraphOverlay *overlay)
|
|||
}
|
||||
}
|
||||
|
||||
void LinkGraphLegendWindow::UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize)
|
||||
void LinkGraphLegendWindow::UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize)
|
||||
{
|
||||
if (IsInsideMM(widget, WID_LGL_SATURATION_FIRST, WID_LGL_SATURATION_LAST + 1)) {
|
||||
StringID str = STR_NULL;
|
||||
|
@ -799,7 +797,7 @@ void LinkGraphLegendWindow::UpdateWidgetSize(int widget, Dimension *size, [[mayb
|
|||
}
|
||||
}
|
||||
|
||||
void LinkGraphLegendWindow::DrawWidget(const Rect &r, int widget) const
|
||||
void LinkGraphLegendWindow::DrawWidget(const Rect &r, WidgetID widget) const
|
||||
{
|
||||
Rect br = r.Shrink(WidgetDimensions::scaled.bevel);
|
||||
if (IsInsideMM(widget, WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST + 1)) {
|
||||
|
@ -830,7 +828,7 @@ void LinkGraphLegendWindow::DrawWidget(const Rect &r, int widget) const
|
|||
}
|
||||
}
|
||||
|
||||
bool LinkGraphLegendWindow::OnTooltip([[maybe_unused]] Point, int widget, TooltipCloseCondition close_cond)
|
||||
bool LinkGraphLegendWindow::OnTooltip([[maybe_unused]] Point, WidgetID widget, TooltipCloseCondition close_cond)
|
||||
{
|
||||
if (IsInsideMM(widget, WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST + 1)) {
|
||||
if (this->IsWidgetDisabled(widget)) {
|
||||
|
@ -878,7 +876,7 @@ void LinkGraphLegendWindow::UpdateOverlayCargoes()
|
|||
this->overlay->SetCargoMask(mask);
|
||||
}
|
||||
|
||||
void LinkGraphLegendWindow::OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count)
|
||||
void LinkGraphLegendWindow::OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count)
|
||||
{
|
||||
/* Check which button is clicked */
|
||||
if (IsInsideMM(widget, WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST + 1)) {
|
||||
|
|
|
@ -69,7 +69,7 @@ public:
|
|||
* @param company_mask Bitmask of companies to be shown.
|
||||
* @param scale Desired thickness of lines and size of station dots.
|
||||
*/
|
||||
LinkGraphOverlay(Window *w, uint wid, CargoTypes cargo_mask, CompanyMask company_mask, uint scale) :
|
||||
LinkGraphOverlay(Window *w, WidgetID wid, CargoTypes cargo_mask, CompanyMask company_mask, uint scale) :
|
||||
window(w), widget_id(wid), cargo_mask(cargo_mask), company_mask(company_mask), scale(scale), dirty(true)
|
||||
{}
|
||||
|
||||
|
@ -94,7 +94,7 @@ public:
|
|||
|
||||
protected:
|
||||
Window *window; ///< Window to be drawn into.
|
||||
const uint widget_id; ///< ID of Widget in Window to be drawn to.
|
||||
const WidgetID widget_id; ///< ID of Widget in Window to be drawn to.
|
||||
CargoTypes cargo_mask; ///< Bitmask of cargos to be displayed.
|
||||
CompanyMask company_mask; ///< Bitmask of companies to be displayed.
|
||||
LinkList cached_links; ///< Cache for links to reduce recalculation.
|
||||
|
@ -128,10 +128,10 @@ public:
|
|||
LinkGraphLegendWindow(WindowDesc *desc, int window_number);
|
||||
void SetOverlay(LinkGraphOverlay *overlay);
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override;
|
||||
void DrawWidget(const Rect &r, int widget) const override;
|
||||
bool OnTooltip([[maybe_unused]] Point pt, int widget, TooltipCloseCondition close_cond) override;
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override;
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override;
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override;
|
||||
bool OnTooltip([[maybe_unused]] Point pt, WidgetID widget, TooltipCloseCondition close_cond) override;
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override;
|
||||
void OnInvalidateData(int data = 0, bool gui_scope = true) override;
|
||||
|
||||
private:
|
||||
|
|
|
@ -80,7 +80,7 @@ void CcGiveMoney(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2
|
|||
* @param mode Tile highlighting mode, e.g. drawing a rectangle or a dot on the ground
|
||||
* @return true if the button is clicked, false if it's unclicked
|
||||
*/
|
||||
bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, HighLightStyle mode)
|
||||
bool HandlePlacePushButton(Window *w, WidgetID widget, CursorID cursor, HighLightStyle mode)
|
||||
{
|
||||
if (w->IsWidgetDisabled(widget)) return false;
|
||||
|
||||
|
@ -520,7 +520,7 @@ struct MainWindow : Window
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip([[maybe_unused]] Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip([[maybe_unused]] Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
if (widget != WID_M_VIEWPORT) return false;
|
||||
return this->viewport->overlay->ShowTooltip(pt, close_cond);
|
||||
|
@ -538,7 +538,7 @@ struct MainWindow : Window
|
|||
InvalidateWindowData(WC_MAIN_TOOLBAR, 0, data, true);
|
||||
}
|
||||
|
||||
virtual void OnMouseOver(Point pt, int widget) override
|
||||
virtual void OnMouseOver(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (pt.x != -1 && _game_mode != GM_MENU && IsViewportMouseHoverActive()) {
|
||||
/* Show tooltip with last month production or town name */
|
||||
|
|
|
@ -73,7 +73,7 @@ class LandInfoWindow : public Window {
|
|||
public:
|
||||
TileIndex tile;
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_LI_BACKGROUND) return;
|
||||
|
||||
|
@ -89,7 +89,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_LI_BACKGROUND) return;
|
||||
|
||||
|
@ -375,7 +375,7 @@ public:
|
|||
::ShowNewGRFInspectWindow(GetGrfSpecFeature(this->tile), this->tile);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_LI_LOCATION:
|
||||
|
@ -522,7 +522,7 @@ struct AboutWindow : public Window {
|
|||
this->text_position = this->GetWidget<NWidgetBase>(WID_A_SCROLLING_TEXT)->pos_y + this->GetWidget<NWidgetBase>(WID_A_SCROLLING_TEXT)->current_y;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_A_WEBSITE) SetDParamStr(0, "Main project website: https://www.openttd.org");
|
||||
if (widget == WID_A_WEBSITE1) SetDParamStr(0, "Patchpack thread: https://www.tt-forums.net/viewtopic.php?f=33&t=73469");
|
||||
|
@ -530,7 +530,7 @@ struct AboutWindow : public Window {
|
|||
if (widget == WID_A_COPYRIGHT) SetDParamStr(0, _openttd_revision_year);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_A_SCROLLING_TEXT) return;
|
||||
|
||||
|
@ -550,7 +550,7 @@ struct AboutWindow : public Window {
|
|||
this->timer.SetInterval(TIMER_INTERVAL / GetCharacterHeight(FS_NORMAL));
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_A_SCROLLING_TEXT) return;
|
||||
|
||||
|
@ -752,7 +752,7 @@ struct TooltipsWindow : public Window
|
|||
return pt;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_TT_BACKGROUND) return;
|
||||
if (this->params.size() == 0) {
|
||||
|
@ -769,7 +769,7 @@ struct TooltipsWindow : public Window
|
|||
size->height += WidgetDimensions::scaled.framerect.Vertical() + WidgetDimensions::scaled.fullbevel.Vertical();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_TT_BACKGROUND) return;
|
||||
GfxFillRect(r, PC_BLACK);
|
||||
|
@ -837,7 +837,7 @@ void GuiShowTooltips(Window *parent, StringID str, TooltipCloseCondition close_t
|
|||
new TooltipsWindow(parent, str, paramcount, close_tooltip);
|
||||
}
|
||||
|
||||
void QueryString::HandleEditBox(Window *w, int wid)
|
||||
void QueryString::HandleEditBox(Window *w, WidgetID wid)
|
||||
{
|
||||
if (w->IsWidgetGloballyFocused(wid) && this->text.HandleCaret()) {
|
||||
w->SetWidgetDirty(wid);
|
||||
|
@ -852,7 +852,7 @@ static int GetCaretWidth()
|
|||
return GetCharacterWidth(FS_NORMAL, '_');
|
||||
}
|
||||
|
||||
void QueryString::DrawEditBox(const Window *w, int wid) const
|
||||
void QueryString::DrawEditBox(const Window *w, WidgetID wid) const
|
||||
{
|
||||
const NWidgetLeaf *wi = w->GetWidget<NWidgetLeaf>(wid);
|
||||
|
||||
|
@ -904,7 +904,7 @@ void QueryString::DrawEditBox(const Window *w, int wid) const
|
|||
* @param wid Widget index.
|
||||
* @return Top-left location of the caret, relative to the window.
|
||||
*/
|
||||
Point QueryString::GetCaretPosition(const Window *w, int wid) const
|
||||
Point QueryString::GetCaretPosition(const Window *w, WidgetID wid) const
|
||||
{
|
||||
const NWidgetLeaf *wi = w->GetWidget<NWidgetLeaf>(wid);
|
||||
|
||||
|
@ -933,7 +933,7 @@ Point QueryString::GetCaretPosition(const Window *w, int wid) const
|
|||
* @param to End of the string range.
|
||||
* @return Rectangle encompassing the string range, relative to the window.
|
||||
*/
|
||||
Rect QueryString::GetBoundingRect(const Window *w, int wid, const char *from, const char *to) const
|
||||
Rect QueryString::GetBoundingRect(const Window *w, WidgetID wid, const char *from, const char *to) const
|
||||
{
|
||||
const NWidgetLeaf *wi = w->GetWidget<NWidgetLeaf>(wid);
|
||||
|
||||
|
@ -964,7 +964,7 @@ Rect QueryString::GetBoundingRect(const Window *w, int wid, const char *from, co
|
|||
* @param pt Position to test.
|
||||
* @return Index of the character position or -1 if no character is at the position.
|
||||
*/
|
||||
ptrdiff_t QueryString::GetCharAtPosition(const Window *w, int wid, const Point &pt) const
|
||||
ptrdiff_t QueryString::GetCharAtPosition(const Window *w, WidgetID wid, const Point &pt) const
|
||||
{
|
||||
const NWidgetLeaf *wi = w->GetWidget<NWidgetLeaf>(wid);
|
||||
|
||||
|
@ -986,7 +986,7 @@ ptrdiff_t QueryString::GetCharAtPosition(const Window *w, int wid, const Point &
|
|||
return ::GetCharAtPosition(tb->buf, pt.x - delta - r.left);
|
||||
}
|
||||
|
||||
void QueryString::ClickEditBox(Window *w, Point pt, int wid, int click_count, bool focus_changed)
|
||||
void QueryString::ClickEditBox(Window *w, Point pt, WidgetID wid, int click_count, bool focus_changed)
|
||||
{
|
||||
const NWidgetLeaf *wi = w->GetWidget<NWidgetLeaf>(wid);
|
||||
|
||||
|
@ -1070,7 +1070,7 @@ struct QueryStringWindow : public Window
|
|||
this->ReInit();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_QS_DEFAULT && (this->flags & QSF_ENABLE_DEFAULT) == 0) {
|
||||
/* We don't want this widget to show! */
|
||||
|
@ -1084,7 +1084,7 @@ struct QueryStringWindow : public Window
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_QS_WARNING) return;
|
||||
|
||||
|
@ -1094,7 +1094,7 @@ struct QueryStringWindow : public Window
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_QS_CAPTION) SetDParam(0, this->editbox.caption);
|
||||
}
|
||||
|
@ -1109,7 +1109,7 @@ struct QueryStringWindow : public Window
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_QS_DEFAULT:
|
||||
|
@ -1231,7 +1231,7 @@ struct QueryWindow : public Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_Q_CAPTION:
|
||||
|
@ -1250,7 +1250,7 @@ struct QueryWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_Q_TEXT) return;
|
||||
|
||||
|
@ -1262,7 +1262,7 @@ struct QueryWindow : public Window {
|
|||
*size = d;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_Q_TEXT) return;
|
||||
|
||||
|
@ -1272,7 +1272,7 @@ struct QueryWindow : public Window {
|
|||
this->message_str, TC_FROMSTRING, SA_CENTER);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_Q_YES: {
|
||||
|
|
|
@ -494,7 +494,7 @@ struct MusicTrackSelectionWindow : public Window {
|
|||
this->LowerWidget(WID_MTS_ALL + _settings_client.music.playlist);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_MTS_PLAYLIST:
|
||||
|
@ -526,7 +526,7 @@ struct MusicTrackSelectionWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_MTS_PLAYLIST: {
|
||||
|
@ -561,7 +561,7 @@ struct MusicTrackSelectionWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_MTS_LIST_LEFT: {
|
||||
|
@ -594,7 +594,7 @@ struct MusicTrackSelectionWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_MTS_LIST_LEFT: { // add to playlist
|
||||
|
@ -626,7 +626,7 @@ struct MusicTrackSelectionWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_MTS_MUSICSET:
|
||||
|
@ -708,7 +708,7 @@ struct MusicWindow : public Window {
|
|||
);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
/* Make sure that WID_M_SHUFFLE and WID_M_PROGRAMME have the same size.
|
||||
|
@ -750,7 +750,7 @@ struct MusicWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_M_TRACK_NR: {
|
||||
|
@ -813,7 +813,7 @@ struct MusicWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_M_PREV: // skip to prev
|
||||
|
|
|
@ -452,7 +452,7 @@ struct NetworkChatWindow : public Window {
|
|||
return pt;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_NC_DESTINATION) return;
|
||||
|
||||
|
@ -461,7 +461,7 @@ struct NetworkChatWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NC_SENDBUTTON: /* Send */
|
||||
|
@ -484,7 +484,7 @@ struct NetworkChatWindow : public Window {
|
|||
return state;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int widget) override
|
||||
void OnEditboxChanged(WidgetID widget) override
|
||||
{
|
||||
if (widget == WID_NC_TEXTBOX) {
|
||||
_chat_tab_completion_active = false;
|
||||
|
|
|
@ -619,6 +619,8 @@ void ClientNetworkContentSocketHandler::OnReceiveData(UniqueBuffer<char> data)
|
|||
|
||||
this->lastActivity = std::chrono::steady_clock::now();
|
||||
|
||||
this->lastActivity = std::chrono::steady_clock::now();
|
||||
|
||||
if (this->http_response_index == -1) {
|
||||
if (data != nullptr) {
|
||||
/* Append the rest of the response. */
|
||||
|
|
|
@ -65,7 +65,7 @@ struct ContentTextfileWindow : public TextfileWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_TF_CAPTION) {
|
||||
SetDParam(0, this->GetTypeString());
|
||||
|
@ -115,7 +115,7 @@ void BaseNetworkContentDownloadStatusWindow::Close([[maybe_unused]] int data)
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void BaseNetworkContentDownloadStatusWindow::UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize)
|
||||
void BaseNetworkContentDownloadStatusWindow::UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NCDS_PROGRESS_BAR:
|
||||
|
@ -134,7 +134,7 @@ void BaseNetworkContentDownloadStatusWindow::UpdateWidgetSize(int widget, Dimens
|
|||
}
|
||||
}
|
||||
|
||||
void BaseNetworkContentDownloadStatusWindow::DrawWidget(const Rect &r, int widget) const
|
||||
void BaseNetworkContentDownloadStatusWindow::DrawWidget(const Rect &r, WidgetID widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NCDS_PROGRESS_BAR: {
|
||||
|
@ -286,7 +286,7 @@ public:
|
|||
this->BaseNetworkContentDownloadStatusWindow::Close();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget == WID_NCDS_CANCELOK) {
|
||||
if (this->downloaded_bytes != this->total_bytes) {
|
||||
|
@ -585,7 +585,7 @@ public:
|
|||
this->checkbox_size = maxdim(maxdim(GetSpriteSize(SPR_BOX_EMPTY), GetSpriteSize(SPR_BOX_CHECKED)), GetSpriteSize(SPR_BLOT));
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NCL_CHECKBOX:
|
||||
|
@ -609,7 +609,7 @@ public:
|
|||
}
|
||||
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NCL_DETAILS:
|
||||
|
@ -792,7 +792,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget >= WID_NCL_TEXTFILE && widget < WID_NCL_TEXTFILE + TFT_CONTENT_END) {
|
||||
if (this->selected == nullptr || this->selected->state != ContentInfo::ALREADY_HERE) return;
|
||||
|
@ -925,7 +925,7 @@ public:
|
|||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_NCL_FILTER) {
|
||||
this->filter_data.string_filter.SetFilterTerm(this->filter_editbox.text.buf);
|
||||
|
|
|
@ -33,8 +33,8 @@ public:
|
|||
BaseNetworkContentDownloadStatusWindow(WindowDesc *desc);
|
||||
|
||||
void Close([[maybe_unused]] int data = 0) override;
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override;
|
||||
void DrawWidget(const Rect &r, int widget) const override;
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override;
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override;
|
||||
void OnDownloadProgress(const ContentInfo *ci, int bytes) override;
|
||||
};
|
||||
|
||||
|
|
|
@ -93,21 +93,21 @@ class NWidgetServerListHeader : public NWidgetContainer {
|
|||
public:
|
||||
NWidgetServerListHeader() : NWidgetContainer(NWID_HORIZONTAL)
|
||||
{
|
||||
NWidgetLeaf *leaf = new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_NAME, STR_NETWORK_SERVER_LIST_GAME_NAME, STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP);
|
||||
auto leaf = std::make_unique<NWidgetLeaf>(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_NAME, STR_NETWORK_SERVER_LIST_GAME_NAME, STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP);
|
||||
leaf->SetResize(1, 0);
|
||||
leaf->SetFill(1, 0);
|
||||
this->Add(leaf);
|
||||
this->Add(std::move(leaf));
|
||||
|
||||
this->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_CLIENTS, STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION, STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP));
|
||||
this->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_MAPSIZE, STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION, STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP));
|
||||
this->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_DATE, STR_NETWORK_SERVER_LIST_DATE_CAPTION, STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP));
|
||||
this->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_YEARS, STR_NETWORK_SERVER_LIST_YEARS_CAPTION, STR_NETWORK_SERVER_LIST_YEARS_CAPTION_TOOLTIP));
|
||||
this->Add(std::make_unique<NWidgetLeaf>(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_CLIENTS, STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION, STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP));
|
||||
this->Add(std::make_unique<NWidgetLeaf>(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_MAPSIZE, STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION, STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP));
|
||||
this->Add(std::make_unique<NWidgetLeaf>(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_DATE, STR_NETWORK_SERVER_LIST_DATE_CAPTION, STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP));
|
||||
this->Add(std::make_unique<NWidgetLeaf>(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_YEARS, STR_NETWORK_SERVER_LIST_YEARS_CAPTION, STR_NETWORK_SERVER_LIST_YEARS_CAPTION_TOOLTIP));
|
||||
|
||||
leaf = new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_INFO, STR_EMPTY, STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP);
|
||||
leaf = std::make_unique<NWidgetLeaf>(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NG_INFO, STR_EMPTY, STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP);
|
||||
leaf->SetMinimalSize(14 + GetSpriteSize(SPR_LOCK, nullptr, ZOOM_LVL_OUT_4X).width
|
||||
+ GetSpriteSize(SPR_BLOT, nullptr, ZOOM_LVL_OUT_4X).width, 12);
|
||||
leaf->SetFill(0, 1);
|
||||
this->Add(leaf);
|
||||
this->Add(std::move(leaf));
|
||||
}
|
||||
|
||||
void SetupSmallestSize(Window *w) override
|
||||
|
@ -119,18 +119,18 @@ public:
|
|||
this->resize_y = 0; // We never resize in this direction
|
||||
|
||||
/* First initialise some variables... */
|
||||
for (NWidgetBase *child_wid = this->head; child_wid != nullptr; child_wid = child_wid->next) {
|
||||
for (const auto &child_wid : this->children) {
|
||||
child_wid->SetupSmallestSize(w);
|
||||
this->smallest_y = std::max(this->smallest_y, child_wid->smallest_y + child_wid->padding.Vertical());
|
||||
}
|
||||
|
||||
/* ... then in a second pass make sure the 'current' sizes are set. Won't change for most widgets. */
|
||||
for (NWidgetBase *child_wid = this->head; child_wid != nullptr; child_wid = child_wid->next) {
|
||||
for (const auto &child_wid : this->children) {
|
||||
child_wid->current_x = child_wid->smallest_x;
|
||||
child_wid->current_y = this->smallest_y;
|
||||
}
|
||||
|
||||
this->smallest_x = this->head->smallest_x + this->tail->smallest_x; // First and last are always shown, rest not
|
||||
this->smallest_x = this->children.front()->smallest_x + this->children.back()->smallest_x; // First and last are always shown, rest not
|
||||
}
|
||||
|
||||
void AssignSizePosition(SizingType sizing, int x, int y, uint given_width, uint given_height, bool rtl) override
|
||||
|
@ -142,27 +142,38 @@ public:
|
|||
this->current_x = given_width;
|
||||
this->current_y = given_height;
|
||||
|
||||
given_width -= this->tail->smallest_x;
|
||||
given_width -= this->children.back()->smallest_x;
|
||||
/* The first and last widget are always visible, determine which other should be visible */
|
||||
for (NWidgetBase *child_wid = this->head->next; child_wid->next != nullptr; child_wid = child_wid->next) {
|
||||
if (given_width > ScaleGUITrad(MINIMUM_NAME_WIDTH_BEFORE_NEW_HEADER) + child_wid->smallest_x && child_wid->prev->current_x != 0) {
|
||||
given_width -= child_wid->smallest_x;
|
||||
child_wid->current_x = child_wid->smallest_x; /* Make visible. */
|
||||
} else {
|
||||
child_wid->current_x = 0; /* Make invisible. */
|
||||
if (this->children.size() > 2) {
|
||||
auto first = std::next(std::begin(this->children));
|
||||
auto last = std::prev(std::end(this->children));
|
||||
for (auto it = first; it != last; ++it) {
|
||||
auto &child_wid = *it;
|
||||
if (given_width > ScaleGUITrad(MINIMUM_NAME_WIDTH_BEFORE_NEW_HEADER) + child_wid->smallest_x && (*std::prev(it))->current_x != 0) {
|
||||
given_width -= child_wid->smallest_x;
|
||||
child_wid->current_x = child_wid->smallest_x; /* Make visible. */
|
||||
} else {
|
||||
child_wid->current_x = 0; /* Make invisible. */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* All remaining space goes to the first (name) widget */
|
||||
this->head->current_x = given_width;
|
||||
this->children.front()->current_x = given_width;
|
||||
|
||||
/* Now assign the widgets to their rightful place */
|
||||
uint position = 0; // Place to put next child relative to origin of the container.
|
||||
for (NWidgetBase *child_wid = rtl ? this->tail : this->head; child_wid != nullptr; child_wid = rtl ? child_wid->prev : child_wid->next) {
|
||||
auto assign_position = [&](const std::unique_ptr<NWidgetBase> &child_wid) {
|
||||
if (child_wid->current_x != 0) {
|
||||
child_wid->AssignSizePosition(sizing, x + position, y, child_wid->current_x, this->current_y, rtl);
|
||||
position += child_wid->current_x;
|
||||
}
|
||||
};
|
||||
|
||||
if (rtl) {
|
||||
std::for_each(std::rbegin(this->children), std::rend(this->children), assign_position);
|
||||
} else {
|
||||
std::for_each(std::begin(this->children), std::end(this->children), assign_position);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -470,7 +481,7 @@ public:
|
|||
this->flag_offset = this->blot_offset + ScaleGUITrad(2) + GetSpriteSize(SPR_BLOT).width;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NG_MATRIX:
|
||||
|
@ -516,7 +527,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NG_MATRIX: {
|
||||
|
@ -674,7 +685,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NG_CANCEL: // Cancel button
|
||||
|
@ -808,7 +819,7 @@ public:
|
|||
return state;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
switch (wid) {
|
||||
case WID_NG_FILTER: {
|
||||
|
@ -865,10 +876,9 @@ GUIGameServerList::FilterFunction * const NetworkGameWindow::filter_funcs[] = {
|
|||
&NGameSearchFilter
|
||||
};
|
||||
|
||||
static NWidgetBase *MakeResizableHeader(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeResizableHeader()
|
||||
{
|
||||
*biggest_index = std::max<int>(*biggest_index, WID_NG_INFO);
|
||||
return new NWidgetServerListHeader();
|
||||
return std::make_unique<NWidgetServerListHeader>();
|
||||
}
|
||||
|
||||
static const NWidgetPart _nested_network_game_widgets[] = {
|
||||
|
@ -974,7 +984,7 @@ void ShowNetworkGameWindow()
|
|||
}
|
||||
|
||||
struct NetworkStartServerWindow : public Window {
|
||||
byte widget_id; ///< The widget that has the pop-up input menu
|
||||
WidgetID widget_id; ///< The widget that has the pop-up input menu
|
||||
QueryString name_editbox; ///< Server name editbox.
|
||||
|
||||
NetworkStartServerWindow(WindowDesc *desc) : Window(desc), name_editbox(NETWORK_NAME_LENGTH)
|
||||
|
@ -987,7 +997,7 @@ struct NetworkStartServerWindow : public Window {
|
|||
this->SetFocusedWidget(WID_NSS_GAMENAME);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NSS_CONNTYPE_BTN:
|
||||
|
@ -1004,7 +1014,7 @@ struct NetworkStartServerWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NSS_CONNTYPE_BTN:
|
||||
|
@ -1015,7 +1025,7 @@ struct NetworkStartServerWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NSS_SETPWD:
|
||||
|
@ -1024,7 +1034,7 @@ struct NetworkStartServerWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NSS_CANCEL: // Cancel button
|
||||
|
@ -1102,7 +1112,7 @@ struct NetworkStartServerWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NSS_CONNTYPE_BTN:
|
||||
|
@ -1667,7 +1677,7 @@ public:
|
|||
this->SetWidgetDisabledState(WID_CL_SERVER_NAME_EDIT, !_network_server);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CL_SERVER_VISIBILITY:
|
||||
|
@ -1695,7 +1705,7 @@ public:
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_CL_MATRIX);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CL_SERVER_NAME:
|
||||
|
@ -1730,7 +1740,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CL_SERVER_NAME_EDIT:
|
||||
|
@ -1764,7 +1774,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip([[maybe_unused]] Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip([[maybe_unused]] Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CL_MATRIX: {
|
||||
|
@ -1803,7 +1813,7 @@ public:
|
|||
return false;
|
||||
}
|
||||
|
||||
void OnDropdownClose(Point pt, int widget, int index, bool instant_close) override
|
||||
void OnDropdownClose(Point pt, WidgetID widget, int index, bool instant_close) override
|
||||
{
|
||||
/* If you close the dropdown outside the list, don't take any action. */
|
||||
if (widget == WID_CL_MATRIX) return;
|
||||
|
@ -1811,7 +1821,7 @@ public:
|
|||
Window::OnDropdownClose(pt, widget, index, instant_close);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CL_SERVER_VISIBILITY:
|
||||
|
@ -2021,7 +2031,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CL_MATRIX: {
|
||||
|
@ -2057,7 +2067,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnMouseOver([[maybe_unused]] Point pt, int widget) override
|
||||
void OnMouseOver([[maybe_unused]] Point pt, WidgetID widget) override
|
||||
{
|
||||
if (widget != WID_CL_MATRIX) {
|
||||
if (this->hover_index != -1) {
|
||||
|
@ -2093,7 +2103,7 @@ struct NetworkJoinStatusWindow : Window {
|
|||
this->InitNested(WN_NETWORK_STATUS_WINDOW_JOIN);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NJS_PROGRESS_BAR: {
|
||||
|
@ -2144,7 +2154,7 @@ struct NetworkJoinStatusWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NJS_PROGRESS_BAR:
|
||||
|
@ -2170,7 +2180,7 @@ struct NetworkJoinStatusWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget == WID_NJS_CANCELOK) { // Disconnect button
|
||||
NetworkDisconnect();
|
||||
|
@ -2259,14 +2269,14 @@ struct NetworkCompanyPasswordWindow : public Window {
|
|||
this->ReInit();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_NCP_WARNING) {
|
||||
*size = this->warning_size;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_NCP_WARNING) return;
|
||||
|
||||
|
@ -2283,7 +2293,7 @@ struct NetworkCompanyPasswordWindow : public Window {
|
|||
NetworkChangeCompanyPassword(_local_company, this->password_editbox.text.buf);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NCP_OK:
|
||||
|
@ -2365,14 +2375,14 @@ struct NetworkAskRelayWindow : public Window {
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_NAR_TEXT) {
|
||||
*size = GetStringBoundingBox(STR_NETWORK_ASK_RELAY_TEXT);
|
||||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_NAR_TEXT) {
|
||||
DrawStringMultiLine(r, STR_NETWORK_ASK_RELAY_TEXT, TC_FROMSTRING, SA_CENTER);
|
||||
|
@ -2387,7 +2397,7 @@ struct NetworkAskRelayWindow : public Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NAR_TEXT:
|
||||
|
@ -2397,7 +2407,7 @@ struct NetworkAskRelayWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NAR_NO:
|
||||
|
@ -2468,14 +2478,14 @@ struct NetworkAskSurveyWindow : public Window {
|
|||
this->InitNested(0);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_NAS_TEXT) {
|
||||
*size = GetStringBoundingBox(STR_NETWORK_ASK_SURVEY_TEXT);
|
||||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_NAS_TEXT) {
|
||||
DrawStringMultiLine(r, STR_NETWORK_ASK_SURVEY_TEXT, TC_BLACK, SA_CENTER);
|
||||
|
@ -2490,7 +2500,7 @@ struct NetworkAskSurveyWindow : public Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NAS_PREVIEW:
|
||||
|
|
|
@ -433,14 +433,14 @@ struct NewGRFInspectWindow : Window {
|
|||
this->OnInvalidateData(0, true);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_NGRFI_CAPTION) return;
|
||||
|
||||
GetFeatureHelper(this->window_number)->SetStringParameters(this->GetFeatureIndex());
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NGRFI_VEH_CHAIN: {
|
||||
|
@ -486,7 +486,7 @@ struct NewGRFInspectWindow : Window {
|
|||
::DrawString(r.Shrink(WidgetDimensions::scaled.frametext).Shrink(0, offset * this->resize.step_height, 0, 0), buf, TC_BLACK);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NGRFI_VEH_CHAIN: {
|
||||
|
@ -877,7 +877,7 @@ struct NewGRFInspectWindow : Window {
|
|||
this->SelectTagArrayItem(this->marked_groups, group);
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NGRFI_PARENT: {
|
||||
|
@ -1059,7 +1059,7 @@ struct NewGRFInspectWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget == WID_NGRFI_MAIN_OPTIONS) {
|
||||
GetFeatureHelper(this->window_number)->OnOptionsDropdownSelect(this->GetFeatureIndex(), index);
|
||||
|
@ -1146,7 +1146,7 @@ struct NewGRFInspectWindow : Window {
|
|||
this->redraw_scrollbar = false;
|
||||
}
|
||||
|
||||
virtual bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
virtual bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
if (widget == WID_NGRFI_MAINPANEL && this->sprite_dump) {
|
||||
_temp_special_strings[0] = GetString(this->click_to_mark_mode ? STR_NEWGRF_INSPECT_SPRITE_DUMP_PANEL_TOOLTIP_MARK : STR_NEWGRF_INSPECT_SPRITE_DUMP_PANEL_TOOLTIP_HIGHLIGHT);
|
||||
|
@ -1418,7 +1418,7 @@ struct SpriteAlignerWindow : Window {
|
|||
this->InvalidateData(0, true);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
const Sprite *spr = GetSprite(this->current_sprite, SpriteType::Normal, ZoomMask(ZOOM_LVL_GUI));
|
||||
switch (widget) {
|
||||
|
@ -1452,7 +1452,7 @@ struct SpriteAlignerWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SA_SPRITE:
|
||||
|
@ -1470,7 +1470,7 @@ struct SpriteAlignerWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SA_SPRITE: {
|
||||
|
@ -1522,7 +1522,7 @@ struct SpriteAlignerWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SA_PREVIOUS:
|
||||
|
|
|
@ -221,7 +221,7 @@ struct NewGRFParametersWindow : public Window {
|
|||
return this->HasParameterInfo(nr) ? this->grf_config->param_info[nr].value() : GetDummyParameterInfo(nr);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NP_NUMPAR_DEC:
|
||||
|
@ -264,7 +264,7 @@ struct NewGRFParametersWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NP_NUMPAR:
|
||||
|
@ -273,7 +273,7 @@ struct NewGRFParametersWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_NP_DESCRIPTION) {
|
||||
if (!this->HasParameterInfo(this->clicked_row)) return;
|
||||
|
@ -342,7 +342,7 @@ struct NewGRFParametersWindow : public Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NP_NUMPAR_DEC:
|
||||
|
@ -464,7 +464,7 @@ struct NewGRFParametersWindow : public Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget != WID_NP_SETTING_DROPDOWN) return;
|
||||
assert(this->clicked_dropdown);
|
||||
|
@ -473,7 +473,7 @@ struct NewGRFParametersWindow : public Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void OnDropdownClose(Point, int widget, int, bool) override
|
||||
void OnDropdownClose(Point, WidgetID widget, int, bool) override
|
||||
{
|
||||
if (widget != WID_NP_SETTING_DROPDOWN) return;
|
||||
/* We cannot raise the dropdown button just yet. OnClick needs some hint, whether
|
||||
|
@ -577,7 +577,7 @@ struct NewGRFTextfileWindow : public TextfileWindow {
|
|||
this->LoadTextfile(textfile, NEWGRF_DIR);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_TF_CAPTION) {
|
||||
SetDParam(0, STR_CONTENT_TYPE_NEWGRF);
|
||||
|
@ -756,7 +756,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NS_FILE_LIST:
|
||||
|
@ -814,7 +814,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
this->vscroll2->SetCapacityFromWidget(this, WID_NS_AVAIL_LIST);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NS_PRESET_LIST:
|
||||
|
@ -863,7 +863,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
return pal;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_NS_FILE_LIST: {
|
||||
|
@ -955,7 +955,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget >= WID_NS_NEWGRF_TEXTFILE && widget < WID_NS_NEWGRF_TEXTFILE + TFT_CONTENT_END) {
|
||||
if (this->active_sel == nullptr && this->avail_sel == nullptr) return;
|
||||
|
@ -1197,7 +1197,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
this->CloseChildWindows(WC_QUERY_STRING); // Remove the parameter query window
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget != WID_NS_PRESET_LIST) return;
|
||||
if (!this->editable) return;
|
||||
|
@ -1383,7 +1383,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int widget) override
|
||||
void OnEditboxChanged(WidgetID widget) override
|
||||
{
|
||||
if (!this->editable) return;
|
||||
|
||||
|
@ -1395,7 +1395,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDragDrop(Point pt, int widget) override
|
||||
void OnDragDrop(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (!this->editable) return;
|
||||
|
||||
|
@ -1443,7 +1443,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback {
|
|||
}
|
||||
}
|
||||
|
||||
void OnMouseDrag(Point pt, int widget) override
|
||||
void OnMouseDrag(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (!this->editable) return;
|
||||
|
||||
|
@ -1622,27 +1622,22 @@ NewGRFWindow::GUIGRFConfigList::FilterFunction * const NewGRFWindow::filter_func
|
|||
* - two column mode, put the #acs and the #avs underneath each other and the #inf next to it, or
|
||||
* - three column mode, put the #avs, #acs, and #inf each in its own column.
|
||||
*/
|
||||
class NWidgetNewGRFDisplay : public NWidgetContainer {
|
||||
class NWidgetNewGRFDisplay : public NWidgetBase {
|
||||
public:
|
||||
static const uint MAX_EXTRA_INFO_WIDTH; ///< Maximal additional width given to the panel.
|
||||
static const uint MIN_EXTRA_FOR_3_COLUMNS; ///< Minimal additional width needed before switching to 3 columns.
|
||||
|
||||
NWidgetBase *avs; ///< Widget with the available grfs list and buttons.
|
||||
NWidgetBase *acs; ///< Widget with the active grfs list and buttons.
|
||||
NWidgetBase *inf; ///< Info panel.
|
||||
std::unique_ptr<NWidgetBase> avs; ///< Widget with the available grfs list and buttons.
|
||||
std::unique_ptr<NWidgetBase> acs; ///< Widget with the active grfs list and buttons.
|
||||
std::unique_ptr<NWidgetBase> inf; ///< Info panel.
|
||||
bool editable; ///< Editable status of the parent NewGRF window (if \c false, drop all widgets that make the window editable).
|
||||
|
||||
NWidgetNewGRFDisplay(NWidgetBase *avs, NWidgetBase *acs, NWidgetBase *inf) : NWidgetContainer(NWID_HORIZONTAL)
|
||||
NWidgetNewGRFDisplay(std::unique_ptr<NWidgetBase> &&avs, std::unique_ptr<NWidgetBase> &&acs, std::unique_ptr<NWidgetBase> &&inf) : NWidgetBase(NWID_CUSTOM)
|
||||
, avs(std::move(avs))
|
||||
, acs(std::move(acs))
|
||||
, inf(std::move(inf))
|
||||
, editable(true) // Temporary setting, 'real' value is set in SetupSmallestSize().
|
||||
{
|
||||
this->avs = avs;
|
||||
this->acs = acs;
|
||||
this->inf = inf;
|
||||
|
||||
this->Add(this->avs);
|
||||
this->Add(this->acs);
|
||||
this->Add(this->inf);
|
||||
|
||||
this->editable = true; // Temporary setting, 'real' value is set in SetupSmallestSize().
|
||||
}
|
||||
|
||||
void SetupSmallestSize(Window *w) override
|
||||
|
@ -1807,6 +1802,13 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void FillWidgetLookup(WidgetLookup &widget_lookup) override
|
||||
{
|
||||
this->avs->FillWidgetLookup(widget_lookup);
|
||||
this->acs->FillWidgetLookup(widget_lookup);
|
||||
this->inf->FillWidgetLookup(widget_lookup);
|
||||
}
|
||||
|
||||
NWidgetCore *GetWidgetFromPos(int x, int y) override
|
||||
{
|
||||
if (!IsInsideBS(x, this->pos_x, this->current_x) || !IsInsideBS(y, this->pos_y, this->current_y)) return nullptr;
|
||||
|
@ -1970,18 +1972,13 @@ static const NWidgetPart _nested_newgrf_infopanel_widgets[] = {
|
|||
};
|
||||
|
||||
/** Construct nested container widget for managing the lists and the info panel of the NewGRF GUI. */
|
||||
NWidgetBase* NewGRFDisplay(int *biggest_index)
|
||||
std::unique_ptr<NWidgetBase> NewGRFDisplay()
|
||||
{
|
||||
NWidgetBase *avs = MakeNWidgets(std::begin(_nested_newgrf_availables_widgets), std::end(_nested_newgrf_availables_widgets), biggest_index, nullptr);
|
||||
std::unique_ptr<NWidgetBase> avs = MakeNWidgets(std::begin(_nested_newgrf_availables_widgets), std::end(_nested_newgrf_availables_widgets), nullptr);
|
||||
std::unique_ptr<NWidgetBase> acs = MakeNWidgets(std::begin(_nested_newgrf_actives_widgets), std::end(_nested_newgrf_actives_widgets), nullptr);
|
||||
std::unique_ptr<NWidgetBase> inf = MakeNWidgets(std::begin(_nested_newgrf_infopanel_widgets), std::end(_nested_newgrf_infopanel_widgets), nullptr);
|
||||
|
||||
int biggest2;
|
||||
NWidgetBase *acs = MakeNWidgets(std::begin(_nested_newgrf_actives_widgets), std::end(_nested_newgrf_actives_widgets), &biggest2, nullptr);
|
||||
*biggest_index = std::max(*biggest_index, biggest2);
|
||||
|
||||
NWidgetBase *inf = MakeNWidgets(std::begin(_nested_newgrf_infopanel_widgets), std::end(_nested_newgrf_infopanel_widgets), &biggest2, nullptr);
|
||||
*biggest_index = std::max(*biggest_index, biggest2);
|
||||
|
||||
return new NWidgetNewGRFDisplay(avs, acs, inf);
|
||||
return std::make_unique<NWidgetNewGRFDisplay>(std::move(avs), std::move(acs), std::move(inf));
|
||||
}
|
||||
|
||||
/* Widget definition of the manage newgrfs window */
|
||||
|
@ -2137,7 +2134,7 @@ struct SavePresetWindow : public Window {
|
|||
if (initial_text != nullptr) this->presetname_editbox.text.Assign(initial_text);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SVP_PRESET_LIST: {
|
||||
|
@ -2154,7 +2151,7 @@ struct SavePresetWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SVP_PRESET_LIST: {
|
||||
|
@ -2178,7 +2175,7 @@ struct SavePresetWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SVP_PRESET_LIST: {
|
||||
|
@ -2252,7 +2249,7 @@ struct ScanProgressWindow : public Window {
|
|||
this->InitNested(1);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SP_PROGRESS_BAR: {
|
||||
|
@ -2275,7 +2272,7 @@ struct ScanProgressWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SP_PROGRESS_BAR: {
|
||||
|
|
|
@ -344,7 +344,7 @@ struct NewsWindow : Window {
|
|||
return pt;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
StringID str = STR_NULL;
|
||||
switch (widget) {
|
||||
|
@ -418,12 +418,12 @@ struct NewsWindow : Window {
|
|||
*size = maxdim(*size, d);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_N_DATE) SetDParam(0, this->ni->date);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_N_CAPTION:
|
||||
|
@ -480,7 +480,7 @@ struct NewsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_N_CLOSEBOX:
|
||||
|
@ -592,7 +592,7 @@ private:
|
|||
return this->ni->params[1].data;
|
||||
}
|
||||
|
||||
StringID GetNewVehicleMessageString(int widget) const
|
||||
StringID GetNewVehicleMessageString(WidgetID widget) const
|
||||
{
|
||||
assert(this->ni->reftype1 == NR_ENGINE);
|
||||
EngineID engine = this->ni->ref1;
|
||||
|
@ -1135,7 +1135,7 @@ struct MessageHistoryWindow : Window {
|
|||
this->OnInvalidateData(0);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_MH_BACKGROUND) {
|
||||
this->line_height = GetCharacterHeight(FS_NORMAL) + WidgetDimensions::scaled.vsep_normal;
|
||||
|
@ -1157,7 +1157,7 @@ struct MessageHistoryWindow : Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_MH_BACKGROUND || _total_news == 0) return;
|
||||
|
||||
|
@ -1196,7 +1196,7 @@ struct MessageHistoryWindow : Window {
|
|||
this->vscroll->SetCount(_total_news);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget == WID_MH_BACKGROUND) {
|
||||
NewsItem *ni = _latest_news;
|
||||
|
|
|
@ -182,7 +182,7 @@ public:
|
|||
assert(ObjectClass::Get(_selected_object_class)->GetUISpecCount() > 0); // object GUI should be disabled elsewise
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BO_OBJECT_NAME: {
|
||||
|
@ -210,7 +210,7 @@ public:
|
|||
this->object_margin = ScaleGUITrad(4);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BO_CLASS_LIST: {
|
||||
|
@ -302,9 +302,9 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BO_CLASS_LIST: {
|
||||
Rect mr = r.Shrink(WidgetDimensions::scaled.matrix);
|
||||
uint pos = 0;
|
||||
|
@ -331,7 +331,8 @@ public:
|
|||
* look nice in all layouts, we use the 4x4 layout (smallest previews) as starting point. For the bigger
|
||||
* previews in the layouts with less views we add space homogeneously on all sides, so the 4x4 preview-rectangle
|
||||
* is centered in the 2x1, 1x2 resp. 1x1 buttons. */
|
||||
uint matrix_height = this->GetWidget<NWidgetMatrix>(WID_BO_OBJECT_MATRIX)->current_y;
|
||||
const NWidgetMatrix *matrix = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>();
|
||||
uint matrix_height = matrix->current_y;
|
||||
|
||||
DrawPixelInfo tmp_dpi;
|
||||
/* Set up a clipping area for the preview. */
|
||||
|
@ -343,7 +344,7 @@ public:
|
|||
const DrawTileSprites *dts = &_objects[spec->grf_prop.local_id];
|
||||
DrawOrigTileSeqInGUI(ir.Width() / 2 - 1, (ir.Height() + matrix_height / 2) / 2 - this->object_margin - ScaleSpriteTrad(TILE_PIXELS), dts, PAL_NONE);
|
||||
} else {
|
||||
DrawNewObjectTileInGUI(ir.Width() / 2 - 1, (ir.Height() + matrix_height / 2) / 2 - this->object_margin - ScaleSpriteTrad(TILE_PIXELS), spec, GB(widget, 16, 16));
|
||||
DrawNewObjectTileInGUI(ir.Width() / 2 - 1, (ir.Height() + matrix_height / 2) / 2 - this->object_margin - ScaleSpriteTrad(TILE_PIXELS), spec, matrix->GetCurrentElement());
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -351,7 +352,7 @@ public:
|
|||
|
||||
case WID_BO_SELECT_IMAGE: {
|
||||
ObjectClass *objclass = ObjectClass::Get(_selected_object_class);
|
||||
int obj_index = objclass->GetIndexFromUI(GB(widget, 16, 16));
|
||||
int obj_index = objclass->GetIndexFromUI(this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
|
||||
if (obj_index < 0) break;
|
||||
const ObjectSpec *spec = objclass->GetSpec(obj_index);
|
||||
if (spec == nullptr) break;
|
||||
|
@ -531,9 +532,9 @@ public:
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_BO_CLASS_LIST);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BO_CLASS_LIST: {
|
||||
auto it = this->vscroll->GetScrolledItemFromWidget(this->object_classes, pt.y, this, widget);
|
||||
if (it == this->object_classes.end()) break;
|
||||
|
@ -545,14 +546,14 @@ public:
|
|||
|
||||
case WID_BO_SELECT_IMAGE: {
|
||||
ObjectClass *objclass = ObjectClass::Get(_selected_object_class);
|
||||
int num_clicked = objclass->GetIndexFromUI(GB(widget, 16, 16));
|
||||
int num_clicked = objclass->GetIndexFromUI(this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
|
||||
if (num_clicked >= 0 && objclass->GetSpec(num_clicked)->IsAvailable()) this->SelectOtherObject(num_clicked);
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_BO_OBJECT_SPRITE:
|
||||
if (_selected_object_index != -1) {
|
||||
_selected_object_view = GB(widget, 16, 16);
|
||||
_selected_object_view = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
|
||||
this->SelectOtherObject(_selected_object_index); // Re-select the object for a different view.
|
||||
}
|
||||
break;
|
||||
|
@ -616,7 +617,7 @@ public:
|
|||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int widget) override
|
||||
void OnEditboxChanged(WidgetID widget) override
|
||||
{
|
||||
if (widget == WID_BO_FILTER) {
|
||||
string_filter.SetFilterTerm(this->filter_editbox.text.buf);
|
||||
|
|
|
@ -187,7 +187,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_CTO_HEADER) {
|
||||
(*size).height = std::max((*size).height, (uint) GetCharacterHeight(FS_NORMAL) + WidgetDimensions::scaled.framerect.Vertical());
|
||||
|
@ -203,7 +203,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (WID_CTO_CARGO_LABEL_FIRST <= widget && widget <= WID_CTO_CARGO_LABEL_LAST) {
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.framerect);
|
||||
|
@ -227,7 +227,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
if (!this->CheckOrderStillValid()) {
|
||||
this->Close();
|
||||
|
@ -245,7 +245,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int action_type) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int action_type) override
|
||||
{
|
||||
if (!this->CheckOrderStillValid()) {
|
||||
this->Close();
|
||||
|
@ -283,7 +283,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (!this->CheckOrderStillValid()) {
|
||||
return;
|
||||
|
@ -330,14 +330,12 @@ public:
|
|||
/**
|
||||
* Make a list of panel for each available cargo type.
|
||||
* Each panel contains a label to display the cargo name.
|
||||
* @param biggest_index Storage for collecting the biggest index used in the returned tree
|
||||
* @return A vertical container of cargo type orders rows.
|
||||
* @post \c *biggest_index contains the largest used index in the tree.
|
||||
*/
|
||||
static NWidgetBase *MakeCargoTypeOrdersRows(int *biggest_index, bool right)
|
||||
static std::unique_ptr<NWidgetBase> MakeCargoTypeOrdersRows(bool right)
|
||||
{
|
||||
|
||||
NWidgetVertical *ver = new NWidgetVertical;
|
||||
std::unique_ptr<NWidgetVertical> ver = std::make_unique<NWidgetVertical>();
|
||||
|
||||
const bool dual_column = (_sorted_standard_cargo_specs.size() >= 32);
|
||||
if (right && !dual_column) return ver;
|
||||
|
@ -346,34 +344,36 @@ static NWidgetBase *MakeCargoTypeOrdersRows(int *biggest_index, bool right)
|
|||
|
||||
for (int i = (right ? 1 : 0); i < (int)_sorted_standard_cargo_specs.size(); i += increment) {
|
||||
/* Cargo row */
|
||||
NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, WID_CTO_CARGO_ROW_FIRST + i);
|
||||
ver->Add(panel);
|
||||
NWidgetHorizontal *horiz = new NWidgetHorizontal;
|
||||
panel->Add(horiz);
|
||||
std::unique_ptr<NWidgetBackground> panel = std::make_unique<NWidgetBackground>(WWT_PANEL, COLOUR_GREY, WID_CTO_CARGO_ROW_FIRST + i);
|
||||
std::unique_ptr<NWidgetHorizontal> horiz = std::make_unique<NWidgetHorizontal>();
|
||||
|
||||
/* Cargo label */
|
||||
NWidgetBackground *label = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, WID_CTO_CARGO_LABEL_FIRST + i);
|
||||
std::unique_ptr<NWidgetBackground> label = std::make_unique<NWidgetBackground>(WWT_PANEL, COLOUR_GREY, WID_CTO_CARGO_LABEL_FIRST + i);
|
||||
label->SetFill(1, 0);
|
||||
label->SetResize(1, 0);
|
||||
horiz->Add(label);
|
||||
horiz->Add(std::move(label));
|
||||
|
||||
/* Orders dropdown */
|
||||
NWidgetLeaf *dropdown = new NWidgetLeaf(WWT_DROPDOWN, COLOUR_GREY, WID_CTO_CARGO_DROPDOWN_FIRST + i, STR_NULL, STR_EMPTY);
|
||||
std::unique_ptr<NWidgetLeaf> dropdown = std::make_unique<NWidgetLeaf>(WWT_DROPDOWN, COLOUR_GREY, WID_CTO_CARGO_DROPDOWN_FIRST + i, STR_NULL, STR_EMPTY);
|
||||
dropdown->SetFill(1, 0);
|
||||
dropdown->SetResize(1, 0);
|
||||
horiz->Add(dropdown);
|
||||
horiz->Add(std::move(dropdown));
|
||||
|
||||
panel->Add(std::move(horiz));
|
||||
ver->Add(std::move(panel));
|
||||
}
|
||||
|
||||
*biggest_index = WID_CTO_CARGO_DROPDOWN_LAST;
|
||||
return ver;
|
||||
}
|
||||
|
||||
static NWidgetBase *MakeCargoTypeOrdersRowsLeft(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeCargoTypeOrdersRowsLeft()
|
||||
{
|
||||
return MakeCargoTypeOrdersRows(biggest_index, false);
|
||||
return MakeCargoTypeOrdersRows(false);
|
||||
}
|
||||
|
||||
static NWidgetBase *MakeCargoTypeOrdersRowsRight(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeCargoTypeOrdersRowsRight()
|
||||
{
|
||||
return MakeCargoTypeOrdersRows(biggest_index, true);
|
||||
return MakeCargoTypeOrdersRows(true);
|
||||
}
|
||||
|
||||
/** Widgets definition of CargoTypeOrdersWindow. */
|
||||
|
@ -1907,7 +1907,7 @@ public:
|
|||
this->GeneralVehicleWindow::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_O_OCCUPANCY_LIST:
|
||||
|
@ -2382,7 +2382,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_O_ORDER_LIST:
|
||||
|
@ -2517,7 +2517,7 @@ public:
|
|||
DrawString(left, right, r.top + offset + clicked, STR_ORDERS_TIMETABLE_VIEW, TC_FROMSTRING, SA_HOR_CENTER);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_O_COND_VALUE: {
|
||||
|
@ -2682,7 +2682,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_O_ORDER_LIST: {
|
||||
|
@ -3214,7 +3214,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_O_NON_STOP:
|
||||
|
@ -3351,7 +3351,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDragDrop(Point pt, int widget) override
|
||||
void OnDragDrop(Point pt, WidgetID widget) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_O_ORDER_LIST: {
|
||||
|
@ -3525,7 +3525,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnMouseDrag(Point pt, int widget) override
|
||||
void OnMouseDrag(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (this->selected_order != -1 && widget == WID_O_ORDER_LIST) {
|
||||
/* An order is dragged.. */
|
||||
|
@ -3565,7 +3565,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_O_SHARED_ORDER_LIST: {
|
||||
|
|
|
@ -37,7 +37,7 @@ static byte _keystate = KEYS_NONE;
|
|||
struct OskWindow : public Window {
|
||||
StringID caption; ///< the caption for this window.
|
||||
QueryString *qs; ///< text-input
|
||||
int text_btn; ///< widget number of parent's text field
|
||||
WidgetID text_btn; ///< widget number of parent's text field
|
||||
Textbuf *text; ///< pointer to parent's textbuffer (to update caret position)
|
||||
std::string orig_str; ///< Original string.
|
||||
bool shift; ///< Is the shift effectively pressed?
|
||||
|
@ -88,12 +88,12 @@ struct OskWindow : public Window {
|
|||
this->SetWidgetLoweredState(WID_OSK_CAPS, HasBit(_keystate, KEYS_CAPS));
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_OSK_CAPTION) SetDParam(0, this->caption);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget < WID_OSK_LETTERS) return;
|
||||
|
||||
|
@ -101,7 +101,7 @@ struct OskWindow : public Window {
|
|||
DrawCharCentered(_keyboard[this->shift][widget], r, TC_BLACK);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
/* clicked a letter */
|
||||
if (widget >= WID_OSK_LETTERS) {
|
||||
|
@ -183,7 +183,7 @@ struct OskWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int widget) override
|
||||
void OnEditboxChanged(WidgetID widget) override
|
||||
{
|
||||
if (widget == WID_OSK_TEXT) {
|
||||
this->SetWidgetDirty(WID_OSK_TEXT);
|
||||
|
@ -220,103 +220,100 @@ static const int KEY_PADDING = 6; // Vertical padding for remaining key rows
|
|||
* @param widtype Widget type of the key. Must be either \c NWID_SPACER for an invisible key, or a \c WWT_* widget.
|
||||
* @param widnum Widget number of the key.
|
||||
* @param widdata Data value of the key widget.
|
||||
* @param biggest_index Collected biggest widget index so far.
|
||||
* @note Key width is measured in 1/2 keys to allow for 1/2 key shifting between rows.
|
||||
*/
|
||||
static void AddKey(NWidgetHorizontal *hor, int pad_y, int num_half, WidgetType widtype, int widnum, uint16 widdata, int *biggest_index)
|
||||
static void AddKey(std::unique_ptr<NWidgetHorizontal> &hor, int pad_y, int num_half, WidgetType widtype, WidgetID widnum, uint16_t widdata)
|
||||
{
|
||||
int key_width = HALF_KEY_WIDTH + (INTER_KEY_SPACE + HALF_KEY_WIDTH) * (num_half - 1);
|
||||
|
||||
if (widtype == NWID_SPACER) {
|
||||
if (!hor->IsEmpty()) key_width += INTER_KEY_SPACE;
|
||||
NWidgetSpacer *spc = new NWidgetSpacer(key_width, 0);
|
||||
auto spc = std::make_unique<NWidgetSpacer>(key_width, 0);
|
||||
spc->SetMinimalTextLines(1, pad_y, FS_NORMAL);
|
||||
hor->Add(spc);
|
||||
hor->Add(std::move(spc));
|
||||
} else {
|
||||
if (!hor->IsEmpty()) {
|
||||
NWidgetSpacer *spc = new NWidgetSpacer(INTER_KEY_SPACE, 0);
|
||||
auto spc = std::make_unique<NWidgetSpacer>(INTER_KEY_SPACE, 0);
|
||||
spc->SetMinimalTextLines(1, pad_y, FS_NORMAL);
|
||||
hor->Add(spc);
|
||||
hor->Add(std::move(spc));
|
||||
}
|
||||
NWidgetLeaf *leaf = new NWidgetLeaf(widtype, COLOUR_GREY, widnum, widdata, STR_NULL);
|
||||
auto leaf = std::make_unique<NWidgetLeaf>(widtype, COLOUR_GREY, widnum, widdata, STR_NULL);
|
||||
leaf->SetMinimalSize(key_width, 0);
|
||||
leaf->SetMinimalTextLines(1, pad_y, FS_NORMAL);
|
||||
hor->Add(leaf);
|
||||
hor->Add(std::move(leaf));
|
||||
}
|
||||
|
||||
*biggest_index = std::max(*biggest_index, widnum);
|
||||
}
|
||||
|
||||
/** Construct the top row keys (cancel, ok, backspace). */
|
||||
static NWidgetBase *MakeTopKeys(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeTopKeys()
|
||||
{
|
||||
NWidgetHorizontal *hor = new NWidgetHorizontal();
|
||||
auto hor = std::make_unique<NWidgetHorizontal>();
|
||||
|
||||
AddKey(hor, TOP_KEY_PADDING, 6 * 2, WWT_TEXTBTN, WID_OSK_CANCEL, STR_BUTTON_CANCEL, biggest_index);
|
||||
AddKey(hor, TOP_KEY_PADDING, 6 * 2, WWT_TEXTBTN, WID_OSK_OK, STR_BUTTON_OK, biggest_index);
|
||||
AddKey(hor, TOP_KEY_PADDING, 2 * 2, WWT_PUSHIMGBTN, WID_OSK_BACKSPACE, SPR_OSK_BACKSPACE, biggest_index);
|
||||
AddKey(hor, TOP_KEY_PADDING, 6 * 2, WWT_TEXTBTN, WID_OSK_CANCEL, STR_BUTTON_CANCEL);
|
||||
AddKey(hor, TOP_KEY_PADDING, 6 * 2, WWT_TEXTBTN, WID_OSK_OK, STR_BUTTON_OK );
|
||||
AddKey(hor, TOP_KEY_PADDING, 2 * 2, WWT_PUSHIMGBTN, WID_OSK_BACKSPACE, SPR_OSK_BACKSPACE);
|
||||
return hor;
|
||||
}
|
||||
|
||||
/** Construct the row containing the digit keys. */
|
||||
static NWidgetBase *MakeNumberKeys(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeNumberKeys()
|
||||
{
|
||||
NWidgetHorizontal *hor = new NWidgetHorizontalLTR();
|
||||
std::unique_ptr<NWidgetHorizontal> hor = std::make_unique<NWidgetHorizontalLTR>();
|
||||
|
||||
for (int widnum = WID_OSK_NUMBERS_FIRST; widnum <= WID_OSK_NUMBERS_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0, biggest_index);
|
||||
for (WidgetID widnum = WID_OSK_NUMBERS_FIRST; widnum <= WID_OSK_NUMBERS_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0);
|
||||
}
|
||||
return hor;
|
||||
}
|
||||
|
||||
/** Construct the qwerty row keys. */
|
||||
static NWidgetBase *MakeQwertyKeys(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeQwertyKeys()
|
||||
{
|
||||
NWidgetHorizontal *hor = new NWidgetHorizontalLTR();
|
||||
std::unique_ptr<NWidgetHorizontal> hor = std::make_unique<NWidgetHorizontalLTR>();
|
||||
|
||||
AddKey(hor, KEY_PADDING, 3, WWT_PUSHIMGBTN, WID_OSK_SPECIAL, SPR_OSK_SPECIAL, biggest_index);
|
||||
for (int widnum = WID_OSK_QWERTY_FIRST; widnum <= WID_OSK_QWERTY_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 3, WWT_PUSHIMGBTN, WID_OSK_SPECIAL, SPR_OSK_SPECIAL);
|
||||
for (WidgetID widnum = WID_OSK_QWERTY_FIRST; widnum <= WID_OSK_QWERTY_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0);
|
||||
}
|
||||
AddKey(hor, KEY_PADDING, 1, NWID_SPACER, 0, 0, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 1, NWID_SPACER, 0, 0);
|
||||
return hor;
|
||||
}
|
||||
|
||||
/** Construct the asdfg row keys. */
|
||||
static NWidgetBase *MakeAsdfgKeys(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeAsdfgKeys()
|
||||
{
|
||||
NWidgetHorizontal *hor = new NWidgetHorizontalLTR();
|
||||
std::unique_ptr<NWidgetHorizontal> hor = std::make_unique<NWidgetHorizontalLTR>();
|
||||
|
||||
AddKey(hor, KEY_PADDING, 4, WWT_IMGBTN, WID_OSK_CAPS, SPR_OSK_CAPS, biggest_index);
|
||||
for (int widnum = WID_OSK_ASDFG_FIRST; widnum <= WID_OSK_ASDFG_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 4, WWT_IMGBTN, WID_OSK_CAPS, SPR_OSK_CAPS);
|
||||
for (WidgetID widnum = WID_OSK_ASDFG_FIRST; widnum <= WID_OSK_ASDFG_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0);
|
||||
}
|
||||
return hor;
|
||||
}
|
||||
|
||||
/** Construct the zxcvb row keys. */
|
||||
static NWidgetBase *MakeZxcvbKeys(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeZxcvbKeys()
|
||||
{
|
||||
NWidgetHorizontal *hor = new NWidgetHorizontalLTR();
|
||||
std::unique_ptr<NWidgetHorizontal> hor = std::make_unique<NWidgetHorizontalLTR>();
|
||||
|
||||
AddKey(hor, KEY_PADDING, 3, WWT_IMGBTN, WID_OSK_SHIFT, SPR_OSK_SHIFT, biggest_index);
|
||||
for (int widnum = WID_OSK_ZXCVB_FIRST; widnum <= WID_OSK_ZXCVB_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 3, WWT_IMGBTN, WID_OSK_SHIFT, SPR_OSK_SHIFT);
|
||||
for (WidgetID widnum = WID_OSK_ZXCVB_FIRST; widnum <= WID_OSK_ZXCVB_LAST; widnum++) {
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHBTN, widnum, 0x0);
|
||||
}
|
||||
AddKey(hor, KEY_PADDING, 1, NWID_SPACER, 0, 0, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 1, NWID_SPACER, 0, 0);
|
||||
return hor;
|
||||
}
|
||||
|
||||
/** Construct the spacebar row keys. */
|
||||
static NWidgetBase *MakeSpacebarKeys(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeSpacebarKeys()
|
||||
{
|
||||
NWidgetHorizontal *hor = new NWidgetHorizontal();
|
||||
auto hor = std::make_unique<NWidgetHorizontal>();
|
||||
|
||||
AddKey(hor, KEY_PADDING, 8, NWID_SPACER, 0, 0, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 13, WWT_PUSHTXTBTN, WID_OSK_SPACE, STR_EMPTY, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 3, NWID_SPACER, 0, 0, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHIMGBTN, WID_OSK_LEFT, SPR_OSK_LEFT, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHIMGBTN, WID_OSK_RIGHT, SPR_OSK_RIGHT, biggest_index);
|
||||
AddKey(hor, KEY_PADDING, 8, NWID_SPACER, 0, 0);
|
||||
AddKey(hor, KEY_PADDING, 13, WWT_PUSHTXTBTN, WID_OSK_SPACE, STR_EMPTY);
|
||||
AddKey(hor, KEY_PADDING, 3, NWID_SPACER, 0, 0);
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHIMGBTN, WID_OSK_LEFT, SPR_OSK_LEFT);
|
||||
AddKey(hor, KEY_PADDING, 2, WWT_PUSHIMGBTN, WID_OSK_RIGHT, SPR_OSK_RIGHT);
|
||||
return hor;
|
||||
}
|
||||
|
||||
|
@ -393,7 +390,7 @@ void GetKeyboardLayout()
|
|||
* @param parent pointer to the Window where this keyboard originated from
|
||||
* @param button widget number of parent's textbox
|
||||
*/
|
||||
void ShowOnScreenKeyboard(Window *parent, int button)
|
||||
void ShowOnScreenKeyboard(Window *parent, WidgetID button)
|
||||
{
|
||||
CloseWindowById(WC_OSK, 0);
|
||||
|
||||
|
@ -408,7 +405,7 @@ void ShowOnScreenKeyboard(Window *parent, int button)
|
|||
* @param parent window that just updated its original text
|
||||
* @param button widget number of parent's textbox to update
|
||||
*/
|
||||
void UpdateOSKOriginalText(const Window *parent, int button)
|
||||
void UpdateOSKOriginalText(const Window *parent, WidgetID button)
|
||||
{
|
||||
OskWindow *osk = dynamic_cast<OskWindow *>(FindWindowById(WC_OSK, 0));
|
||||
if (osk == nullptr || osk->parent != parent || osk->text_btn != button) return;
|
||||
|
@ -424,7 +421,7 @@ void UpdateOSKOriginalText(const Window *parent, int button)
|
|||
* @param button Editbox of \a w to check for
|
||||
* @return true if the OSK is opened for \a button.
|
||||
*/
|
||||
bool IsOSKOpenedFor(const Window *w, int button)
|
||||
bool IsOSKOpenedFor(const Window *w, WidgetID button)
|
||||
{
|
||||
OskWindow *osk = dynamic_cast<OskWindow *>(FindWindowById(WC_OSK, 0));
|
||||
return osk != nullptr && osk->parent == w && osk->text_btn == button;
|
||||
|
|
|
@ -108,7 +108,7 @@ struct PlansWindow : Window {
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_PLN_NEW:
|
||||
|
@ -222,7 +222,7 @@ struct PlansWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_PLN_COLOUR:
|
||||
|
@ -262,7 +262,7 @@ struct PlansWindow : Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_PLN_LIST: {
|
||||
|
@ -316,7 +316,7 @@ struct PlansWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_PLN_COLOUR:
|
||||
|
@ -330,7 +330,7 @@ struct PlansWindow : Window {
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_PLN_LIST, WidgetDimensions::scaled.framerect.Vertical());
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_PLN_LIST:
|
||||
|
|
|
@ -267,7 +267,7 @@ public:
|
|||
RebuildInstructionList();
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case PROGRAM_WIDGET_INSTRUCTION_LIST: {
|
||||
|
@ -537,7 +537,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
SignalInstruction *ins = this->GetSelected();
|
||||
if (!ins) return;
|
||||
|
@ -603,7 +603,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case PROGRAM_WIDGET_INSTRUCTION_LIST:
|
||||
|
@ -624,7 +624,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != PROGRAM_WIDGET_INSTRUCTION_LIST) return;
|
||||
|
||||
|
@ -649,7 +649,7 @@ public:
|
|||
}
|
||||
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case PROGRAM_WIDGET_COND_VALUE: {
|
||||
|
|
|
@ -42,17 +42,17 @@ struct QueryString {
|
|||
}
|
||||
|
||||
public:
|
||||
void DrawEditBox(const Window *w, int wid) const;
|
||||
void ClickEditBox(Window *w, Point pt, int wid, int click_count, bool focus_changed);
|
||||
void HandleEditBox(Window *w, int wid);
|
||||
void DrawEditBox(const Window *w, WidgetID wid) const;
|
||||
void ClickEditBox(Window *w, Point pt, WidgetID wid, int click_count, bool focus_changed);
|
||||
void HandleEditBox(Window *w, WidgetID wid);
|
||||
|
||||
Point GetCaretPosition(const Window *w, int wid) const;
|
||||
Rect GetBoundingRect(const Window *w, int wid, const char *from, const char *to) const;
|
||||
ptrdiff_t GetCharAtPosition(const Window *w, int wid, const Point &pt) const;
|
||||
Point GetCaretPosition(const Window *w, WidgetID wid) const;
|
||||
Rect GetBoundingRect(const Window *w, WidgetID wid, const char *from, const char *to) const;
|
||||
ptrdiff_t GetCharAtPosition(const Window *w, WidgetID wid, const Point &pt) const;
|
||||
};
|
||||
|
||||
void ShowOnScreenKeyboard(Window *parent, int button);
|
||||
void UpdateOSKOriginalText(const Window *parent, int button);
|
||||
bool IsOSKOpenedFor(const Window *w, int button);
|
||||
void ShowOnScreenKeyboard(Window *parent, WidgetID button);
|
||||
void UpdateOSKOriginalText(const Window *parent, WidgetID button);
|
||||
bool IsOSKOpenedFor(const Window *w, WidgetID button);
|
||||
|
||||
#endif /* QUERYSTRING_GUI_H */
|
||||
|
|
|
@ -370,7 +370,7 @@ static bool RailToolbar_CtrlChanged(Window *w)
|
|||
if (w->IsWidgetDisabled(WID_RAT_REMOVE)) return false;
|
||||
|
||||
/* allow ctrl to switch remove mode only for these widgets */
|
||||
for (uint i = WID_RAT_BUILD_NS; i <= WID_RAT_BUILD_STATION; i++) {
|
||||
for (WidgetID i = WID_RAT_BUILD_NS; i <= WID_RAT_BUILD_STATION; i++) {
|
||||
if ((i <= WID_RAT_POLYRAIL || i >= WID_RAT_BUILD_WAYPOINT) && w->IsWidgetLowered(i)) {
|
||||
ToggleRailButton_Remove(w);
|
||||
return true;
|
||||
|
@ -557,7 +557,7 @@ struct BuildRailToolbarWindow : Window {
|
|||
this->ReInit();
|
||||
}
|
||||
|
||||
void UpdateRemoveWidgetStatus(int clicked_widget)
|
||||
void UpdateRemoveWidgetStatus(WidgetID clicked_widget)
|
||||
{
|
||||
switch (clicked_widget) {
|
||||
case WID_RAT_REMOVE:
|
||||
|
@ -588,7 +588,7 @@ struct BuildRailToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_RAT_CAPTION) {
|
||||
const RailTypeInfo *rti = GetRailTypeInfo(this->railtype);
|
||||
|
@ -602,7 +602,7 @@ struct BuildRailToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_RAT_POLYRAIL) {
|
||||
Dimension d = GetSpriteSize(SPR_BLOT);
|
||||
|
@ -611,7 +611,7 @@ struct BuildRailToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
if (widget < WID_RAT_BUILD_NS) return;
|
||||
|
||||
|
@ -742,7 +742,7 @@ struct BuildRailToolbarWindow : Window {
|
|||
if (_ctrl_pressed) RailToolbar_CtrlChanged(this);
|
||||
}
|
||||
|
||||
virtual bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
virtual bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
if (widget == WID_RAT_CONVERT_RAIL) {
|
||||
SetDParam(0, STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL);
|
||||
|
@ -1344,7 +1344,7 @@ public:
|
|||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int widget) override
|
||||
void OnEditboxChanged(WidgetID widget) override
|
||||
{
|
||||
if (widget == WID_BRAS_FILTER_EDITBOX) {
|
||||
string_filter.SetFilterTerm(this->filter_editbox.text.buf);
|
||||
|
@ -1403,7 +1403,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BRAS_NEWST_LIST: {
|
||||
|
@ -1459,11 +1459,11 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
DrawPixelInfo tmp_dpi;
|
||||
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BRAS_PLATFORM_DIR_X: {
|
||||
/* Set up a clipping area for the '/' station preview */
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
||||
|
@ -1508,7 +1508,7 @@ public:
|
|||
}
|
||||
|
||||
case WID_BRAS_IMAGE: {
|
||||
uint16_t type = GB(widget, 16, 16);
|
||||
uint16_t type = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
|
||||
assert(type < _railstation.station_count);
|
||||
/* Check station availability callback */
|
||||
const StationSpec *statspec = StationClass::Get(_railstation.station_class)->GetSpec(type);
|
||||
|
@ -1538,7 +1538,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_BRAS_SHOW_NEWST_TYPE) {
|
||||
const StationSpec *statspec = StationClass::Get(_railstation.station_class)->GetSpec(_railstation.station_type);
|
||||
|
@ -1546,9 +1546,9 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BRAS_PLATFORM_DIR_X:
|
||||
case WID_BRAS_PLATFORM_DIR_Y:
|
||||
this->RaiseWidget(_railstation.orientation + WID_BRAS_PLATFORM_DIR_X);
|
||||
|
@ -1682,7 +1682,7 @@ public:
|
|||
}
|
||||
|
||||
case WID_BRAS_IMAGE: {
|
||||
uint16_t y = GB(widget, 16, 16);
|
||||
uint16_t y = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
|
||||
if (y >= _railstation.station_count) return;
|
||||
|
||||
/* Check station availability callback */
|
||||
|
@ -1692,7 +1692,7 @@ public:
|
|||
_railstation.station_type = y;
|
||||
|
||||
this->CheckSelectedSize(statspec);
|
||||
this->GetWidget<NWidgetMatrix>(WID_BRAS_MATRIX)->SetClicked(_railstation.station_type);
|
||||
this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->SetClicked(_railstation.station_type);
|
||||
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
this->SetDirty();
|
||||
|
@ -1868,7 +1868,7 @@ private:
|
|||
* @param widget_index index of this widget in the window
|
||||
* @param image the sprite to draw
|
||||
*/
|
||||
void DrawSignalSprite(const Rect &r, int widget_index, PalSpriteID image) const
|
||||
void DrawSignalSprite(const Rect &r, WidgetID widget_index, PalSpriteID image) const
|
||||
{
|
||||
Point offset;
|
||||
Dimension sprite_size = GetSpriteSize(image.sprite, &offset);
|
||||
|
@ -1884,10 +1884,10 @@ private:
|
|||
|
||||
void SetDisableStates()
|
||||
{
|
||||
for (int widget = WID_BS_SEMAPHORE_NORM; widget <= WID_BS_SEMAPHORE_NO_ENTRY; widget++) {
|
||||
for (WidgetID widget = WID_BS_SEMAPHORE_NORM; widget <= WID_BS_SEMAPHORE_NO_ENTRY; widget++) {
|
||||
this->SetWidgetDisabledState(widget, _cur_signal_style > 0 && !HasBit(_new_signal_styles[_cur_signal_style - 1].semaphore_mask, TypeForClick(widget - WID_BS_SEMAPHORE_NORM)));
|
||||
}
|
||||
for (int widget = WID_BS_ELECTRIC_NORM; widget <= WID_BS_ELECTRIC_NO_ENTRY; widget++) {
|
||||
for (WidgetID widget = WID_BS_ELECTRIC_NORM; widget <= WID_BS_ELECTRIC_NO_ENTRY; widget++) {
|
||||
this->SetWidgetDisabledState(widget, _cur_signal_style > 0 && !HasBit(_new_signal_styles[_cur_signal_style - 1].electric_mask, TypeForClick(widget - WID_BS_ELECTRIC_NORM)));
|
||||
}
|
||||
if (_cur_signal_style > 0) {
|
||||
|
@ -2009,7 +2009,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_BS_DRAG_SIGNALS_DENSITY_LABEL) {
|
||||
/* Two digits for signals density. */
|
||||
|
@ -2022,7 +2022,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BS_DRAG_SIGNALS_DENSITY_LABEL:
|
||||
|
@ -2035,7 +2035,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (IsInsideMM(widget, WID_BS_SEMAPHORE_NORM, WID_BS_ELECTRIC_NO_ENTRY + 1)) {
|
||||
/* Extract signal from widget number. */
|
||||
|
@ -2089,7 +2089,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BS_SEMAPHORE_NORM:
|
||||
|
@ -2184,7 +2184,7 @@ public:
|
|||
this->InvalidateData();
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BS_STYLE:
|
||||
|
@ -2352,7 +2352,7 @@ struct BuildRailDepotWindow : public PickerWindowBase {
|
|||
this->LowerWidget(_build_depot_direction + WID_BRAD_DEPOT_NE);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (!IsInsideMM(widget, WID_BRAD_DEPOT_NE, WID_BRAD_DEPOT_NW + 1)) return;
|
||||
|
||||
|
@ -2360,7 +2360,7 @@ struct BuildRailDepotWindow : public PickerWindowBase {
|
|||
size->height = ScaleGUITrad(48) + WidgetDimensions::scaled.fullbevel.Vertical();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (!IsInsideMM(widget, WID_BRAD_DEPOT_NE, WID_BRAD_DEPOT_NW + 1)) return;
|
||||
|
||||
|
@ -2374,7 +2374,7 @@ struct BuildRailDepotWindow : public PickerWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BRAD_DEPOT_NE:
|
||||
|
@ -2507,7 +2507,7 @@ struct BuildRailWaypointWindow : PickerWindowBase {
|
|||
this->PickerWindowBase::Close(data);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BRW_WAYPOINT_MATRIX:
|
||||
|
@ -2526,7 +2526,7 @@ struct BuildRailWaypointWindow : PickerWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_BRW_NAME) {
|
||||
if (!this->list.empty() && IsInsideBS(_cur_waypoint_type, 0, this->waypoints->GetSpecCount())) {
|
||||
|
@ -2548,11 +2548,11 @@ struct BuildRailWaypointWindow : PickerWindowBase {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BRW_WAYPOINT: {
|
||||
uint16_t type = this->list.at(GB(widget, 16, 16));
|
||||
uint16_t type = this->list.at(this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
|
||||
const StationSpec *statspec = this->waypoints->GetSpec(type);
|
||||
|
||||
DrawPixelInfo tmp_dpi;
|
||||
|
@ -2571,11 +2571,11 @@ struct BuildRailWaypointWindow : PickerWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BRW_WAYPOINT: {
|
||||
uint16_t sel = GB(widget, 16, 16);
|
||||
uint16_t sel = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
|
||||
assert(sel < this->list.size());
|
||||
uint16_t type = this->list.at(sel);
|
||||
|
||||
|
@ -2584,7 +2584,7 @@ struct BuildRailWaypointWindow : PickerWindowBase {
|
|||
if (!IsStationAvailable(statspec)) return;
|
||||
|
||||
_cur_waypoint_type = type;
|
||||
this->GetWidget<NWidgetMatrix>(WID_BRW_WAYPOINT_MATRIX)->SetClicked(sel);
|
||||
this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->SetClicked(sel);
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
@ -2613,7 +2613,7 @@ struct BuildRailWaypointWindow : PickerWindowBase {
|
|||
this->list.ForceRebuild();
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_BRW_FILTER) {
|
||||
this->string_filter.SetFilterTerm(this->editbox.text.buf);
|
||||
|
@ -2863,7 +2863,7 @@ void ShowBuildRailStationPickerAndSelect(StationType station_type, const Station
|
|||
}
|
||||
if (w == nullptr) return;
|
||||
|
||||
auto trigger_widget = [&](int widget) {
|
||||
auto trigger_widget = [&](WidgetID widget) {
|
||||
if (!w->IsWidgetLowered(widget)) {
|
||||
w->OnHotkey(widget);
|
||||
}
|
||||
|
|
|
@ -344,7 +344,7 @@ static bool RoadToolbar_CtrlChanged(Window *w)
|
|||
if (w->IsWidgetDisabled(WID_ROT_REMOVE)) return false;
|
||||
|
||||
/* allow ctrl to switch remove mode only for these widgets */
|
||||
for (uint i = WID_ROT_ROAD_X; i <= WID_ROT_AUTOROAD; i++) {
|
||||
for (WidgetID i = WID_ROT_ROAD_X; i <= WID_ROT_AUTOROAD; i++) {
|
||||
if (w->IsWidgetLowered(i)) {
|
||||
ToggleRoadButton_Remove(w);
|
||||
return true;
|
||||
|
@ -460,7 +460,7 @@ struct BuildRoadToolbarWindow : Window {
|
|||
this->ReInit();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_ROT_CAPTION) {
|
||||
if (this->rti->max_speed > 0) {
|
||||
|
@ -528,7 +528,7 @@ struct BuildRoadToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
_remove_button_clicked = false;
|
||||
_one_way_button_clicked = false;
|
||||
|
@ -1135,13 +1135,15 @@ struct BuildRoadDepotWindow : public PickerWindowBase {
|
|||
this->LowerWidget(_build_depot_direction + WID_BROD_DEPOT_NE);
|
||||
if (RoadTypeIsTram(_cur_roadtype)) {
|
||||
this->GetWidget<NWidgetCore>(WID_BROD_CAPTION)->widget_data = STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION;
|
||||
for (int i = WID_BROD_DEPOT_NE; i <= WID_BROD_DEPOT_NW; i++) this->GetWidget<NWidgetCore>(i)->tool_tip = STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP;
|
||||
for (WidgetID i = WID_BROD_DEPOT_NE; i <= WID_BROD_DEPOT_NW; i++) {
|
||||
this->GetWidget<NWidgetCore>(i)->tool_tip = STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP;
|
||||
}
|
||||
}
|
||||
|
||||
this->FinishInitNested(TRANSPORT_ROAD);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (!IsInsideMM(widget, WID_BROD_DEPOT_NE, WID_BROD_DEPOT_NW + 1)) return;
|
||||
|
||||
|
@ -1149,7 +1151,7 @@ struct BuildRoadDepotWindow : public PickerWindowBase {
|
|||
size->height = ScaleGUITrad(48) + WidgetDimensions::scaled.fullbevel.Vertical();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (!IsInsideMM(widget, WID_BROD_DEPOT_NE, WID_BROD_DEPOT_NW + 1)) return;
|
||||
|
||||
|
@ -1163,7 +1165,7 @@ struct BuildRoadDepotWindow : public PickerWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BROD_DEPOT_NW:
|
||||
|
@ -1325,7 +1327,7 @@ public:
|
|||
const RoadTypeInfo *rti = GetRoadTypeInfo(_cur_roadtype);
|
||||
this->GetWidget<NWidgetCore>(WID_BROS_CAPTION)->widget_data = rti->strings.picker_title[rs];
|
||||
|
||||
for (uint i = RoadTypeIsTram(_cur_roadtype) ? WID_BROS_STATION_X : WID_BROS_STATION_NE; i < WID_BROS_LT_OFF; i++) {
|
||||
for (WidgetID i = RoadTypeIsTram(_cur_roadtype) ? WID_BROS_STATION_X : WID_BROS_STATION_NE; i < WID_BROS_LT_OFF; i++) {
|
||||
this->GetWidget<NWidgetCore>(i)->tool_tip = rti->strings.picker_tooltip[rs];
|
||||
}
|
||||
|
||||
|
@ -1455,7 +1457,7 @@ public:
|
|||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int widget) override
|
||||
void OnEditboxChanged(WidgetID widget) override
|
||||
{
|
||||
if (widget == WID_BROS_FILTER_EDITBOX) {
|
||||
string_filter.SetFilterTerm(this->filter_editbox.text.buf);
|
||||
|
@ -1503,7 +1505,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BROS_NEWST_LIST: {
|
||||
|
@ -1571,9 +1573,9 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BROS_STATION_NE:
|
||||
case WID_BROS_STATION_SE:
|
||||
case WID_BROS_STATION_SW:
|
||||
|
@ -1616,7 +1618,7 @@ public:
|
|||
}
|
||||
|
||||
case WID_BROS_IMAGE: {
|
||||
uint16_t type = GB(widget, 16, 16);
|
||||
uint16_t type = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
|
||||
assert(type < _roadstop_gui_settings.roadstop_count);
|
||||
|
||||
const RoadStopSpec *spec = RoadStopClass::Get(_roadstop_gui_settings.roadstop_class)->GetSpec(type);
|
||||
|
@ -1655,7 +1657,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_BROS_SHOW_NEWST_TYPE) {
|
||||
const RoadStopSpec *roadstopspec = RoadStopClass::Get(_roadstop_gui_settings.roadstop_class)->GetSpec(_roadstop_gui_settings.roadstop_type);
|
||||
|
@ -1663,9 +1665,9 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BROS_STATION_NE:
|
||||
case WID_BROS_STATION_SE:
|
||||
case WID_BROS_STATION_SW:
|
||||
|
@ -1706,7 +1708,7 @@ public:
|
|||
}
|
||||
|
||||
case WID_BROS_IMAGE: {
|
||||
uint16_t y = GB(widget, 16, 16);
|
||||
uint16_t y = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
|
||||
if (y >= _roadstop_gui_settings.roadstop_count) return;
|
||||
|
||||
const RoadStopSpec *spec = RoadStopClass::Get(_roadstop_gui_settings.roadstop_class)->GetSpec(y);
|
||||
|
@ -1717,7 +1719,7 @@ public:
|
|||
/* Check station availability callback */
|
||||
_roadstop_gui_settings.roadstop_type = y;
|
||||
|
||||
this->GetWidget<NWidgetMatrix>(WID_BROS_MATRIX)->SetClicked(_roadstop_gui_settings.roadstop_type);
|
||||
this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->SetClicked(_roadstop_gui_settings.roadstop_type);
|
||||
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
this->SetDirty();
|
||||
|
@ -2022,7 +2024,7 @@ struct BuildRoadWaypointWindow : PickerWindowBase {
|
|||
this->PickerWindowBase::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_BROW_WAYPOINT_MATRIX:
|
||||
|
@ -2041,7 +2043,7 @@ struct BuildRoadWaypointWindow : PickerWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_BROW_NAME) {
|
||||
if (!this->list.empty() && IsInsideBS(_cur_waypoint_type, 0, this->waypoints->GetSpecCount())) {
|
||||
|
@ -2063,11 +2065,11 @@ struct BuildRoadWaypointWindow : PickerWindowBase {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BROW_WAYPOINT: {
|
||||
uint16_t type = this->list.at(GB(widget, 16, 16));
|
||||
uint16_t type = this->list.at(this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
|
||||
const RoadStopSpec *spec = this->waypoints->GetSpec(type);
|
||||
DrawPixelInfo tmp_dpi;
|
||||
if (FillDrawPixelInfo(&tmp_dpi, r)) {
|
||||
|
@ -2087,11 +2089,11 @@ struct BuildRoadWaypointWindow : PickerWindowBase {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_BROW_WAYPOINT: {
|
||||
uint16_t sel = GB(widget, 16, 16);
|
||||
uint16_t sel = this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement();
|
||||
assert(sel < this->list.size());
|
||||
uint16_t type = this->list.at(sel);
|
||||
|
||||
|
@ -2128,7 +2130,7 @@ struct BuildRoadWaypointWindow : PickerWindowBase {
|
|||
this->list.ForceRebuild();
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_BROW_FILTER) {
|
||||
this->string_filter.SetFilterTerm(this->editbox.text.buf);
|
||||
|
@ -2406,7 +2408,7 @@ void ShowBuildRoadStopPickerAndSelect(StationType station_type, const RoadStopSp
|
|||
BuildRoadToolbarWindow *w = GetRoadToolbarWindowForRoadStop(spec, rtt_preferred);
|
||||
if (w == nullptr) return;
|
||||
|
||||
auto trigger_widget = [&](int widget) {
|
||||
auto trigger_widget = [&](WidgetID widget) {
|
||||
if (!w->IsWidgetLowered(widget)) {
|
||||
w->OnHotkey(widget);
|
||||
}
|
||||
|
|
|
@ -249,7 +249,7 @@ struct SchdispatchWindow : GeneralVehicleWindow {
|
|||
return this->vehicle->orders->GetDispatchScheduleByIndex(this->schedule_index);
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCHDISPATCH_MATRIX: {
|
||||
|
@ -347,7 +347,7 @@ struct SchdispatchWindow : GeneralVehicleWindow {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCHDISPATCH_CAPTION:
|
||||
|
@ -374,7 +374,7 @@ struct SchdispatchWindow : GeneralVehicleWindow {
|
|||
}
|
||||
}
|
||||
|
||||
virtual bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
virtual bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCHDISPATCH_ADD: {
|
||||
|
@ -440,7 +440,7 @@ struct SchdispatchWindow : GeneralVehicleWindow {
|
|||
}
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
const Vehicle *v = this->vehicle;
|
||||
|
||||
|
@ -658,7 +658,7 @@ struct SchdispatchWindow : GeneralVehicleWindow {
|
|||
return 1;
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
const Vehicle *v = this->vehicle;
|
||||
|
||||
|
@ -809,7 +809,7 @@ struct SchdispatchWindow : GeneralVehicleWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCHDISPATCH_MANAGEMENT: {
|
||||
|
@ -1092,7 +1092,7 @@ struct ScheduledDispatchAddSlotsWindow : Window {
|
|||
return pt;
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
Dimension d = {0, 0};
|
||||
switch (widget) {
|
||||
|
@ -1130,7 +1130,7 @@ struct ScheduledDispatchAddSlotsWindow : Window {
|
|||
*size = d;
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCHDISPATCH_ADD_SLOT_START_HOUR: SetDParam(0, start.ClockHour()); break;
|
||||
|
@ -1142,7 +1142,7 @@ struct ScheduledDispatchAddSlotsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
auto handle_hours_dropdown = [&](ClockFaceMinutes current) {
|
||||
DropDownList list;
|
||||
|
@ -1189,7 +1189,7 @@ struct ScheduledDispatchAddSlotsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCHDISPATCH_ADD_SLOT_START_HOUR:
|
||||
|
|
|
@ -26,7 +26,7 @@ struct ScreenshotWindow : Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
ScreenshotType st;
|
||||
switch (widget) {
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
* API removals:
|
||||
* \li AIError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore.
|
||||
*
|
||||
* Other changes:
|
||||
* \li AIVehicleList accepts an optional filter function
|
||||
*
|
||||
* \b 13.0
|
||||
*
|
||||
* API additions:
|
||||
|
|
|
@ -84,6 +84,9 @@
|
|||
* API removals:
|
||||
* \li GSError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore.
|
||||
*
|
||||
* Other changes:
|
||||
* \li GSVehicleList accepts an optional filter function
|
||||
*
|
||||
* \b 13.0
|
||||
*
|
||||
* API additions:
|
||||
|
|
|
@ -925,7 +925,7 @@ public:
|
|||
* @param number The windownumber that was clicked.
|
||||
* @param widget The widget in the window that was clicked.
|
||||
*/
|
||||
ScriptEventWindowWidgetClick(ScriptWindow::WindowClass window, uint32 number, uint8 widget) :
|
||||
ScriptEventWindowWidgetClick(ScriptWindow::WindowClass window, uint32_t number, WidgetID widget) :
|
||||
ScriptEvent(ET_WINDOW_WIDGET_CLICK),
|
||||
window(window),
|
||||
number(number),
|
||||
|
@ -956,12 +956,12 @@ public:
|
|||
* Get the number of the widget that was clicked.
|
||||
* @return The number of the clicked widget.
|
||||
*/
|
||||
uint8 GetWidgetNumber() { return this->widget; }
|
||||
int GetWidgetNumber() { return this->widget; }
|
||||
|
||||
private:
|
||||
ScriptWindow::WindowClass window; ///< Window of the click.
|
||||
uint32 number; ///< Number of the click.
|
||||
uint8 widget; ///< Widget of the click.
|
||||
uint32_t number; ///< Number of the click.
|
||||
WidgetID widget; ///< Widget of the click.
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,12 +18,78 @@
|
|||
|
||||
#include "../../safeguards.h"
|
||||
|
||||
ScriptVehicleList::ScriptVehicleList()
|
||||
ScriptVehicleList::ScriptVehicleList(HSQUIRRELVM vm)
|
||||
{
|
||||
EnforceDeityOrCompanyModeValid_Void();
|
||||
for (const Vehicle *v : Vehicle::Iterate()) {
|
||||
if ((v->owner == ScriptObject::GetCompany() || ScriptCompanyMode::IsDeity()) && (v->IsPrimaryVehicle() || (v->type == VEH_TRAIN && ::Train::From(v)->IsFreeWagon()))) this->AddItem(v->index);
|
||||
|
||||
int nparam = sq_gettop(vm) - 1;
|
||||
if (nparam >= 1) {
|
||||
/* Make sure the filter function is really a function, and not any
|
||||
* other type. It's parameter 2 for us, but for the user it's the
|
||||
* first parameter they give. */
|
||||
SQObjectType valuator_type = sq_gettype(vm, 2);
|
||||
if (valuator_type != OT_CLOSURE && valuator_type != OT_NATIVECLOSURE) {
|
||||
throw sq_throwerror(vm, "parameter 1 has an invalid type (expected function)");
|
||||
}
|
||||
|
||||
/* Push the function to call */
|
||||
sq_push(vm, 2);
|
||||
}
|
||||
|
||||
/* Don't allow docommand from a Valuator, as we can't resume in
|
||||
* mid C++-code. */
|
||||
bool backup_allow = ScriptObject::GetAllowDoCommand();
|
||||
ScriptObject::SetAllowDoCommand(false);
|
||||
|
||||
for (const Vehicle *v : Vehicle::Iterate()) {
|
||||
if (v->owner != ScriptObject::GetCompany() && !ScriptCompanyMode::IsDeity()) continue;
|
||||
if (!v->IsPrimaryVehicle() && !(v->type == VEH_TRAIN && ::Train::From(v)->IsFreeWagon())) continue;
|
||||
|
||||
if (nparam < 1) {
|
||||
/* No filter, just add the item. */
|
||||
this->AddItem(v->index);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Push the root table as instance object, this is what squirrel does for meta-functions. */
|
||||
sq_pushroottable(vm);
|
||||
/* Push all arguments for the valuator function. */
|
||||
sq_pushinteger(vm, v->index);
|
||||
for (int i = 0; i < nparam - 1; i++) {
|
||||
sq_push(vm, i + 3);
|
||||
}
|
||||
|
||||
/* Call the function. Squirrel pops all parameters and pushes the return value. */
|
||||
if (SQ_FAILED(sq_call(vm, nparam + 1, SQTrue, SQTrue))) {
|
||||
ScriptObject::SetAllowDoCommand(backup_allow);
|
||||
throw sq_throwerror(vm, "failed to run filter");
|
||||
}
|
||||
|
||||
/* Retrieve the return value */
|
||||
switch (sq_gettype(vm, -1)) {
|
||||
case OT_BOOL: {
|
||||
SQBool add;
|
||||
sq_getbool(vm, -1, &add);
|
||||
if (add) this->AddItem(v->index);
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
ScriptObject::SetAllowDoCommand(backup_allow);
|
||||
throw sq_throwerror(vm, "return value of filter is not valid (not bool)");
|
||||
}
|
||||
}
|
||||
|
||||
/* Pop the return value. */
|
||||
sq_poptop(vm);
|
||||
}
|
||||
|
||||
if (nparam >= 1) {
|
||||
/* Pop the filter function */
|
||||
sq_poptop(vm);
|
||||
}
|
||||
|
||||
ScriptObject::SetAllowDoCommand(backup_allow);
|
||||
}
|
||||
|
||||
ScriptVehicleList_Station::ScriptVehicleList_Station(StationID station_id)
|
||||
|
|
|
@ -20,7 +20,32 @@
|
|||
*/
|
||||
class ScriptVehicleList : public ScriptList {
|
||||
public:
|
||||
#ifdef DOXYGEN_API
|
||||
ScriptVehicleList();
|
||||
|
||||
/**
|
||||
* Apply a filter when building the list.
|
||||
* @param filter_function The function which will be doing the filtering.
|
||||
* @param params The params to give to the filters (minus the first param,
|
||||
* which is always the index-value).
|
||||
* @note You can write your own filters and use them. Just remember that
|
||||
* the first parameter should be the index-value, and it should return
|
||||
* a bool.
|
||||
* @note Example:
|
||||
* ScriptVehicleList(ScriptVehicle.IsInDepot);
|
||||
* function IsType(vehicle_id, type)
|
||||
* {
|
||||
* return ScriptVehicle.GetVehicleType(vehicle_id) == type;
|
||||
* }
|
||||
* ScriptVehicleList(IsType, ScriptVehicle.VT_ROAD);
|
||||
*/
|
||||
ScriptVehicleList(void *filter_function, int params, ...);
|
||||
#else
|
||||
/**
|
||||
* The constructor wrapper from Squirrel.
|
||||
*/
|
||||
ScriptVehicleList(HSQUIRRELVM vm);
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -97,14 +97,14 @@ struct ScriptListWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SCRL_CAPTION) return;
|
||||
|
||||
SetDParam(0, (this->slot == OWNER_DEITY) ? STR_AI_LIST_CAPTION_GAMESCRIPT : STR_AI_LIST_CAPTION_AI);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_SCRL_LIST) return;
|
||||
|
||||
|
@ -115,7 +115,7 @@ struct ScriptListWindow : public Window {
|
|||
size->height = 5 * this->line_height;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCRL_LIST: {
|
||||
|
@ -192,7 +192,7 @@ struct ScriptListWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCRL_LIST: { // Select one of the Scripts
|
||||
|
@ -351,14 +351,14 @@ struct ScriptSettingsWindow : public Window {
|
|||
this->vscroll->SetCount(this->visible_settings.size());
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SCRS_CAPTION) return;
|
||||
|
||||
SetDParam(0, (this->slot == OWNER_DEITY) ? STR_AI_SETTINGS_CAPTION_GAMESCRIPT : STR_AI_SETTINGS_CAPTION_AI);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_SCRS_BACKGROUND) return;
|
||||
|
||||
|
@ -369,7 +369,7 @@ struct ScriptSettingsWindow : public Window {
|
|||
size->height = 5 * this->line_height;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SCRS_BACKGROUND) return;
|
||||
|
||||
|
@ -437,7 +437,7 @@ struct ScriptSettingsWindow : public Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCRS_BACKGROUND: {
|
||||
|
@ -540,14 +540,14 @@ struct ScriptSettingsWindow : public Window {
|
|||
SetValue(value);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget != WID_SCRS_SETTING_DROPDOWN) return;
|
||||
assert(this->clicked_dropdown);
|
||||
SetValue(index);
|
||||
}
|
||||
|
||||
void OnDropdownClose(Point, int widget, int, bool) override
|
||||
void OnDropdownClose(Point, WidgetID widget, int, bool) override
|
||||
{
|
||||
if (widget != WID_SCRS_SETTING_DROPDOWN) return;
|
||||
/* We cannot raise the dropdown button just yet. OnClick needs some hint, whether
|
||||
|
@ -652,7 +652,7 @@ struct ScriptTextfileWindow : public TextfileWindow {
|
|||
this->OnInvalidateData();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_TF_CAPTION) {
|
||||
SetDParam(0, (slot == OWNER_DEITY) ? STR_CONTENT_TYPE_GAME_SCRIPT : STR_CONTENT_TYPE_AI);
|
||||
|
@ -803,19 +803,14 @@ struct ScriptDebugWindow : public Window {
|
|||
this->CreateNestedTree();
|
||||
this->vscroll = this->GetScrollbar(WID_SCRD_VSCROLLBAR);
|
||||
this->hscroll = this->GetScrollbar(WID_SCRD_HSCROLLBAR);
|
||||
this->show_break_box = _settings_client.gui.ai_developer_tools;
|
||||
this->GetWidget<NWidgetStacked>(WID_SCRD_BREAK_STRING_WIDGETS)->SetDisplayedPlane(this->show_break_box ? 0 : SZSP_HORIZONTAL);
|
||||
this->FinishInitNested(number);
|
||||
|
||||
if (!this->show_break_box) this->filter.break_check_enabled = false;
|
||||
|
||||
this->last_vscroll_pos = 0;
|
||||
this->autoscroll = true;
|
||||
this->highlight_row = -1;
|
||||
|
||||
this->querystrings[WID_SCRD_BREAK_STR_EDIT_BOX] = &this->break_editbox;
|
||||
|
||||
SetWidgetsDisabledState(!this->show_break_box, WID_SCRD_BREAK_STR_ON_OFF_BTN, WID_SCRD_BREAK_STR_EDIT_BOX, WID_SCRD_MATCH_CASE_BTN);
|
||||
this->hscroll->SetStepSize(10); // Speed up horizontal scrollbar
|
||||
|
||||
/* Restore the break string value from static variable, and enable the filter. */
|
||||
|
@ -831,6 +826,11 @@ struct ScriptDebugWindow : public Window {
|
|||
|
||||
void OnInit() override
|
||||
{
|
||||
this->show_break_box = _settings_client.gui.ai_developer_tools;
|
||||
this->GetWidget<NWidgetStacked>(WID_SCRD_BREAK_STRING_WIDGETS)->SetDisplayedPlane(this->show_break_box ? 0 : SZSP_HORIZONTAL);
|
||||
if (!this->show_break_box) this->filter.break_check_enabled = false;
|
||||
SetWidgetsDisabledState(!this->show_break_box, WID_SCRD_BREAK_STR_ON_OFF_BTN, WID_SCRD_BREAK_STR_EDIT_BOX, WID_SCRD_MATCH_CASE_BTN);
|
||||
|
||||
this->InvalidateData(-1);
|
||||
}
|
||||
|
||||
|
@ -839,7 +839,7 @@ struct ScriptDebugWindow : public Window {
|
|||
ScriptDebugWindow::initial_state = this->filter;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget == WID_SCRD_LOG_PANEL) {
|
||||
resize->height = GetCharacterHeight(FS_NORMAL) + WidgetDimensions::scaled.vsep_normal;
|
||||
|
@ -856,7 +856,7 @@ struct ScriptDebugWindow : public Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SCRD_NAME_TEXT) return;
|
||||
|
||||
|
@ -877,7 +877,7 @@ struct ScriptDebugWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SCRD_LOG_PANEL:
|
||||
|
@ -898,7 +898,7 @@ struct ScriptDebugWindow : public Window {
|
|||
* @param widget Widget index to start.
|
||||
* @param start Widget index of first company button.
|
||||
*/
|
||||
void DrawWidgetCompanyButton(const Rect &r, int widget, int start) const
|
||||
void DrawWidgetCompanyButton(const Rect &r, WidgetID widget, int start) const
|
||||
{
|
||||
if (this->IsWidgetDisabled(widget)) return;
|
||||
CompanyID cid = (CompanyID)(widget - start);
|
||||
|
@ -1052,7 +1052,7 @@ struct ScriptDebugWindow : public Window {
|
|||
this->last_vscroll_pos = this->vscroll->GetPosition();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
/* Also called for hotkeys, so check for disabledness */
|
||||
if (this->IsWidgetDisabled(widget)) return;
|
||||
|
@ -1128,7 +1128,7 @@ struct ScriptDebugWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid != WID_SCRD_BREAK_STR_EDIT_BOX) return;
|
||||
|
||||
|
@ -1145,6 +1145,8 @@ struct ScriptDebugWindow : public Window {
|
|||
*/
|
||||
void OnInvalidateData([[maybe_unused]] int data = 0, [[maybe_unused]] bool gui_scope = true) override
|
||||
{
|
||||
if (this->show_break_box != _settings_client.gui.ai_developer_tools) this->ReInit();
|
||||
|
||||
/* If the log message is related to the active company tab, check the break string.
|
||||
* This needs to be done in gameloop-scope, so the AI is suspended immediately. */
|
||||
if (!gui_scope && data == this->filter.script_debug_company &&
|
||||
|
@ -1218,9 +1220,9 @@ struct ScriptDebugWindow : public Window {
|
|||
};
|
||||
|
||||
/** Make a number of rows with buttons for each company for the Script debug window. */
|
||||
NWidgetBase *MakeCompanyButtonRowsScriptDebug(int *biggest_index)
|
||||
std::unique_ptr<NWidgetBase> MakeCompanyButtonRowsScriptDebug()
|
||||
{
|
||||
return MakeCompanyButtonRows(biggest_index, WID_SCRD_COMPANY_BUTTON_START, WID_SCRD_COMPANY_BUTTON_END, COLOUR_GREY, 8, STR_AI_DEBUG_SELECT_AI_TOOLTIP);
|
||||
return MakeCompanyButtonRows(WID_SCRD_COMPANY_BUTTON_START, WID_SCRD_COMPANY_BUTTON_END, COLOUR_GREY, 8, STR_AI_DEBUG_SELECT_AI_TOOLTIP);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -105,7 +105,7 @@ struct BaseSetTextfileWindow : public TextfileWindow {
|
|||
this->LoadTextfile(textfile, BASESET_DIR);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_TF_CAPTION) {
|
||||
SetDParam(0, content_type);
|
||||
|
@ -179,7 +179,7 @@ struct GameOptionsWindow : Window {
|
|||
GameSettings *opt;
|
||||
bool reload;
|
||||
int gui_scale;
|
||||
static inline int active_tab = WID_GO_TAB_GENERAL;
|
||||
static inline WidgetID active_tab = WID_GO_TAB_GENERAL;
|
||||
|
||||
enum class QueryTextItem {
|
||||
None,
|
||||
|
@ -217,7 +217,7 @@ struct GameOptionsWindow : Window {
|
|||
* @param selected_index Currently selected item
|
||||
* @return the built dropdown list, or nullptr if the widget has no dropdown menu.
|
||||
*/
|
||||
DropDownList BuildDropDownList(int widget, int *selected_index) const
|
||||
DropDownList BuildDropDownList(WidgetID widget, int *selected_index) const
|
||||
{
|
||||
DropDownList list;
|
||||
switch (widget) {
|
||||
|
@ -322,7 +322,7 @@ struct GameOptionsWindow : Window {
|
|||
return list;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GO_CURRENCY_DROPDOWN: {
|
||||
|
@ -369,7 +369,7 @@ struct GameOptionsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GO_BASE_GRF_DESCRIPTION:
|
||||
|
@ -406,7 +406,7 @@ struct GameOptionsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetTab(int widget)
|
||||
void SetTab(WidgetID widget)
|
||||
{
|
||||
this->SetWidgetsLoweredState(false, WID_GO_TAB_GENERAL, WID_GO_TAB_GRAPHICS, WID_GO_TAB_SOUND);
|
||||
this->LowerWidget(widget);
|
||||
|
@ -455,7 +455,7 @@ struct GameOptionsWindow : Window {
|
|||
if (changed) this->ReInit(0, 0, this->flags & WF_CENTERED);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GO_TEXT_SFX_VOLUME:
|
||||
|
@ -475,7 +475,7 @@ struct GameOptionsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget >= WID_GO_BASE_GRF_TEXTFILE && widget < WID_GO_BASE_GRF_TEXTFILE + TFT_CONTENT_END) {
|
||||
if (BaseGraphics::GetUsedSet() == nullptr) return;
|
||||
|
@ -676,7 +676,7 @@ struct GameOptionsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GO_CURRENCY_DROPDOWN: // Currency
|
||||
|
@ -2602,7 +2602,7 @@ struct GameSettingsWindow : Window {
|
|||
_circle_size = maxdim(GetSpriteSize(SPR_CIRCLE_FOLDED), GetSpriteSize(SPR_CIRCLE_UNFOLDED));
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GS_OPTIONSPANEL:
|
||||
|
@ -2670,7 +2670,7 @@ struct GameSettingsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GS_RESTRICT_DROPDOWN:
|
||||
|
@ -2688,7 +2688,7 @@ struct GameSettingsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
DropDownList BuildDropDownList(int widget) const
|
||||
DropDownList BuildDropDownList(WidgetID widget) const
|
||||
{
|
||||
DropDownList list;
|
||||
switch (widget) {
|
||||
|
@ -2712,7 +2712,7 @@ struct GameSettingsWindow : Window {
|
|||
return list;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GS_OPTIONSPANEL: {
|
||||
|
@ -2783,7 +2783,7 @@ struct GameSettingsWindow : Window {
|
|||
this->last_clicked = pe;
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GS_EXPAND_ALL:
|
||||
|
@ -3034,7 +3034,7 @@ struct GameSettingsWindow : Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_GS_RESTRICT_DROPDOWN:
|
||||
|
@ -3071,7 +3071,7 @@ struct GameSettingsWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownClose(Point pt, int widget, int index, bool instant_close) override
|
||||
void OnDropdownClose(Point pt, WidgetID widget, int index, bool instant_close) override
|
||||
{
|
||||
if (widget != WID_GS_SETTING_DROPDOWN) {
|
||||
/* Normally the default implementation of OnDropdownClose() takes care of
|
||||
|
@ -3120,7 +3120,7 @@ struct GameSettingsWindow : Window {
|
|||
this->SetWidgetDisabledState(WID_GS_COLLAPSE_ALL, all_folded);
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_GS_FILTER) {
|
||||
this->filter.string.SetFilterTerm(this->filter_editbox.text.buf);
|
||||
|
@ -3283,7 +3283,7 @@ struct CustomCurrencyWindow : Window {
|
|||
this->SetWidgetDisabledState(WID_CC_YEAR_UP, _custom_currency.to_euro == MAX_YEAR);
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_CC_RATE: SetDParam(0, 1); SetDParam(1, 1); break;
|
||||
|
@ -3301,7 +3301,7 @@ struct CustomCurrencyWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
/* Set the appropriate width for the up/down buttons. */
|
||||
|
@ -3328,7 +3328,7 @@ struct CustomCurrencyWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
int line = 0;
|
||||
int len = 0;
|
||||
|
|
|
@ -189,7 +189,7 @@ struct SignListWindow : Window, SignList {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SIL_LIST: {
|
||||
|
@ -223,12 +223,12 @@ struct SignListWindow : Window, SignList {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_SIL_CAPTION) SetDParam(0, this->vscroll->GetCount());
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SIL_LIST: {
|
||||
|
@ -260,7 +260,7 @@ struct SignListWindow : Window, SignList {
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_SIL_LIST, WidgetDimensions::scaled.framerect.Vertical());
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SIL_LIST: {
|
||||
|
@ -296,7 +296,7 @@ struct SignListWindow : Window, SignList {
|
|||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int widget) override
|
||||
void OnEditboxChanged(WidgetID widget) override
|
||||
{
|
||||
if (widget == WID_SIL_FILTER_TEXT) this->SetFilterString(this->filter_editbox.text.buf);
|
||||
}
|
||||
|
@ -475,7 +475,7 @@ struct SignWindow : Window, SignList {
|
|||
return next ? this->signs.front() : this->signs.back();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_QES_CAPTION:
|
||||
|
@ -484,7 +484,7 @@ struct SignWindow : Window, SignList {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_QES_LOCATION: {
|
||||
|
|
|
@ -396,6 +396,7 @@ static bool FixTTOEngines()
|
|||
}
|
||||
|
||||
Date aging_date = std::min(_date + DAYS_TILL_ORIGINAL_BASE_YEAR.AsDelta(), ConvertYMDToDate(2050, 0, 1));
|
||||
YearMonthDay aging_ymd = ConvertDateToYMD(aging_date);
|
||||
|
||||
for (EngineID i = 0; i < 256; i++) {
|
||||
int oi = ttd_to_tto[i];
|
||||
|
@ -404,7 +405,7 @@ static bool FixTTOEngines()
|
|||
if (oi == 255) {
|
||||
/* Default engine is used */
|
||||
_date += DAYS_TILL_ORIGINAL_BASE_YEAR.AsDelta();
|
||||
StartupOneEngine(e, aging_date, 0, INT_MAX);
|
||||
StartupOneEngine(e, aging_date, aging_ymd, 0, INT_MAX);
|
||||
CalcEngineReliability(e, false);
|
||||
e->intro_date -= DAYS_TILL_ORIGINAL_BASE_YEAR.AsDelta();
|
||||
_date -= DAYS_TILL_ORIGINAL_BASE_YEAR.AsDelta();
|
||||
|
|
|
@ -1114,7 +1114,7 @@ void SmallMapWindow::RebuildColourIndexIfNecessary()
|
|||
BuildLandLegend();
|
||||
}
|
||||
|
||||
/* virtual */ void SmallMapWindow::SetStringParameters(int widget) const
|
||||
/* virtual */ void SmallMapWindow::SetStringParameters(WidgetID widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SM_CAPTION:
|
||||
|
@ -1192,7 +1192,7 @@ void SmallMapWindow::RebuildColourIndexIfNecessary()
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
/* virtual */ void SmallMapWindow::DrawWidget(const Rect &r, int widget) const
|
||||
/* virtual */ void SmallMapWindow::DrawWidget(const Rect &r, WidgetID widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SM_MAP: {
|
||||
|
@ -1392,7 +1392,7 @@ int SmallMapWindow::GetPositionOnLegend(Point pt)
|
|||
return (column * number_of_rows) + line;
|
||||
}
|
||||
|
||||
/* virtual */ void SmallMapWindow::OnMouseOver([[maybe_unused]] Point pt, int widget)
|
||||
/* virtual */ void SmallMapWindow::OnMouseOver([[maybe_unused]] Point pt, WidgetID widget)
|
||||
{
|
||||
IndustryType new_highlight = INVALID_INDUSTRYTYPE;
|
||||
if (widget == WID_SM_LEGEND && this->map_type == SMT_INDUSTRY) {
|
||||
|
@ -1409,7 +1409,7 @@ int SmallMapWindow::GetPositionOnLegend(Point pt)
|
|||
}
|
||||
}
|
||||
|
||||
/* virtual */ void SmallMapWindow::OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count)
|
||||
/* virtual */ void SmallMapWindow::OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SM_MAP: { // Map window
|
||||
|
@ -1555,7 +1555,7 @@ int SmallMapWindow::GetPositionOnLegend(Point pt)
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
/* virtual */ bool SmallMapWindow::OnRightClick([[maybe_unused]] Point pt, int widget)
|
||||
/* virtual */ bool SmallMapWindow::OnRightClick([[maybe_unused]] Point pt, WidgetID widget)
|
||||
{
|
||||
if (widget != WID_SM_MAP || _scrolling_viewport) return false;
|
||||
|
||||
|
@ -1747,8 +1747,9 @@ public:
|
|||
|
||||
void SetupSmallestSize(Window *w) override
|
||||
{
|
||||
NWidgetBase *display = this->head;
|
||||
NWidgetBase *bar = display->next;
|
||||
assert(this->children.size() == 2);
|
||||
NWidgetBase *display = this->children.front().get();
|
||||
NWidgetBase *bar = this->children.back().get();
|
||||
|
||||
display->SetupSmallestSize(w);
|
||||
bar->SetupSmallestSize(w);
|
||||
|
@ -1770,8 +1771,9 @@ public:
|
|||
this->current_x = given_width;
|
||||
this->current_y = given_height;
|
||||
|
||||
NWidgetBase *display = this->head;
|
||||
NWidgetBase *bar = display->next;
|
||||
assert(this->children.size() == 2);
|
||||
NWidgetBase *display = this->children.front().get();
|
||||
NWidgetBase *bar = this->children.back().get();
|
||||
|
||||
if (sizing == ST_SMALLEST) {
|
||||
this->smallest_x = given_width;
|
||||
|
@ -1837,12 +1839,12 @@ static const NWidgetPart _nested_smallmap_bar[] = {
|
|||
EndContainer(),
|
||||
};
|
||||
|
||||
static NWidgetBase *SmallMapDisplay(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> SmallMapDisplay()
|
||||
{
|
||||
NWidgetContainer *map_display = new NWidgetSmallmapDisplay;
|
||||
std::unique_ptr<NWidgetBase> map_display = std::make_unique<NWidgetSmallmapDisplay>();
|
||||
|
||||
MakeNWidgets(std::begin(_nested_smallmap_display), std::end(_nested_smallmap_display), biggest_index, map_display);
|
||||
MakeNWidgets(std::begin(_nested_smallmap_bar), std::end(_nested_smallmap_bar), biggest_index, map_display);
|
||||
map_display = MakeNWidgets(std::begin(_nested_smallmap_display), std::end(_nested_smallmap_display), std::move(map_display));
|
||||
map_display = MakeNWidgets(std::begin(_nested_smallmap_bar), std::end(_nested_smallmap_bar), std::move(map_display));
|
||||
return map_display;
|
||||
}
|
||||
|
||||
|
|
|
@ -207,17 +207,17 @@ public:
|
|||
Point GetStationMiddle(const Station *st) const;
|
||||
|
||||
void Close([[maybe_unused]] int data = 0) override;
|
||||
void SetStringParameters(int widget) const override;
|
||||
void SetStringParameters(WidgetID widget) const override;
|
||||
void OnInit() override;
|
||||
void OnPaint() override;
|
||||
void DrawWidget(const Rect &r, int widget) const override;
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override;
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override;
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override;
|
||||
void OnInvalidateData(int data = 0, bool gui_scope = true) override;
|
||||
bool OnRightClick(Point pt, int widget) override;
|
||||
bool OnRightClick(Point pt, WidgetID widget) override;
|
||||
void OnMouseWheel(int wheel) override;
|
||||
void OnRealtimeTick(uint delta_ms) override;
|
||||
void OnScroll(Point delta) override;
|
||||
void OnMouseOver(Point pt, int widget) override;
|
||||
void OnMouseOver(Point pt, WidgetID widget) override;
|
||||
|
||||
void TakeScreenshot();
|
||||
void ScreenshotCallbackHandler(void *buf, uint y, uint pitch, uint n);
|
||||
|
|
|
@ -500,7 +500,7 @@ public:
|
|||
this->Window::Close(data);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_STL_SORTBY: {
|
||||
|
@ -554,7 +554,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_STL_SORTBY:
|
||||
|
@ -626,7 +626,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_STL_CAPTION) {
|
||||
SetDParam(0, this->window_number);
|
||||
|
@ -634,7 +634,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_STL_LIST: {
|
||||
|
@ -673,7 +673,7 @@ public:
|
|||
break;
|
||||
|
||||
case WID_STL_FACILALL:
|
||||
for (uint i = WID_STL_TRAIN; i <= WID_STL_SHIP; i++) {
|
||||
for (WidgetID i = WID_STL_TRAIN; i <= WID_STL_SHIP; i++) {
|
||||
this->LowerWidget(i);
|
||||
}
|
||||
|
||||
|
@ -749,7 +749,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget == WID_STL_SORTDROPBTN) {
|
||||
if (this->stations.SortType() != index) {
|
||||
|
@ -819,23 +819,21 @@ const StringID CompanyStationsWindow::sorter_names[] = {
|
|||
|
||||
/**
|
||||
* Make a horizontal row of cargo buttons, starting at widget #WID_STL_CARGOSTART.
|
||||
* @param biggest_index Pointer to store biggest used widget number of the buttons.
|
||||
* @return Horizontal row.
|
||||
*/
|
||||
static NWidgetBase *CargoWidgets(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> CargoWidgets()
|
||||
{
|
||||
NWidgetHorizontal *container = new NWidgetHorizontal();
|
||||
auto container = std::make_unique<NWidgetHorizontal>();
|
||||
|
||||
for (uint i = 0; i < _sorted_standard_cargo_specs.size(); i++) {
|
||||
NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, WID_STL_CARGOSTART + i);
|
||||
auto panel = std::make_unique<NWidgetBackground>(WWT_PANEL, COLOUR_GREY, WID_STL_CARGOSTART + i);
|
||||
panel->SetMinimalSize(14, 0);
|
||||
panel->SetMinimalTextLines(1, 0, FS_NORMAL);
|
||||
panel->SetResize(0, 0);
|
||||
panel->SetFill(0, 1);
|
||||
panel->SetDataTip(0, STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE);
|
||||
container->Add(panel);
|
||||
container->Add(std::move(panel));
|
||||
}
|
||||
*biggest_index = WID_STL_CARGOSTART + static_cast<int>(_sorted_standard_cargo_specs.size());
|
||||
return container;
|
||||
}
|
||||
|
||||
|
@ -1509,7 +1507,7 @@ struct StationViewWindow : public Window {
|
|||
data->Update(count);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SV_WAITING:
|
||||
|
@ -1546,7 +1544,7 @@ struct StationViewWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
if (widget == WID_SV_RENAME) {
|
||||
SetDParam(0, STR_STATION_VIEW_RENAME_TOOLTIP);
|
||||
|
@ -1643,7 +1641,7 @@ struct StationViewWindow : public Window {
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_SV_CAPTION) {
|
||||
const Station *st = Station::Get(this->window_number);
|
||||
|
@ -2101,7 +2099,7 @@ struct StationViewWindow : public Window {
|
|||
this->SetWidgetDirty(WID_SV_WAITING);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SV_WAITING:
|
||||
|
@ -2326,7 +2324,7 @@ struct StationViewWindow : public Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget == WID_SV_SORT_BY) {
|
||||
this->SelectSortBy(index);
|
||||
|
@ -2563,7 +2561,7 @@ struct SelectStationWindow : Window {
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_JS_PANEL) return;
|
||||
|
||||
|
@ -2583,7 +2581,7 @@ struct SelectStationWindow : Window {
|
|||
*size = d;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_JS_PANEL) return;
|
||||
|
||||
|
@ -2604,7 +2602,7 @@ struct SelectStationWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget != WID_JS_PANEL) return;
|
||||
|
||||
|
@ -2651,7 +2649,7 @@ struct SelectStationWindow : Window {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void OnMouseOver([[maybe_unused]] Point pt, int widget) override
|
||||
void OnMouseOver([[maybe_unused]] Point pt, WidgetID widget) override
|
||||
{
|
||||
if (widget != WID_JS_PANEL) {
|
||||
SetViewportCatchmentSpecializedStation<T>(nullptr, true);
|
||||
|
@ -3050,7 +3048,7 @@ public:
|
|||
this->data[line_nr][0] = '\0';
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
if (widget != 0) return;
|
||||
|
||||
|
@ -3070,7 +3068,7 @@ public:
|
|||
size->height -= WidgetDimensions::scaled.vsep_normal;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
GfxDrawLine(r.left, r.top, r.right, r.top, PC_BLACK);
|
||||
GfxDrawLine(r.left, r.bottom, r.right, r.bottom, PC_BLACK);
|
||||
|
|
|
@ -88,7 +88,7 @@ struct StatusBarWindow : Window {
|
|||
Window::FindWindowPlacementAndResize(_toolbar_width, def_height);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
Dimension d;
|
||||
switch (widget) {
|
||||
|
@ -114,7 +114,7 @@ struct StatusBarWindow : Window {
|
|||
*size = maxdim(d, *size);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
Rect tr = r.Shrink(WidgetDimensions::scaled.framerect, RectPadding::zero);
|
||||
tr.top = CenterBounds(r.top, r.bottom, GetCharacterHeight(FS_NORMAL));
|
||||
|
@ -198,7 +198,7 @@ struct StatusBarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_S_MIDDLE: ShowLastNewsMessage(); break;
|
||||
|
|
|
@ -646,7 +646,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SB_SEL_PAGE: {
|
||||
|
@ -680,7 +680,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SB_PAGE_PANEL) return;
|
||||
|
||||
|
@ -754,7 +754,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_SB_SEL_PAGE && widget != WID_SB_PAGE_PANEL) return;
|
||||
|
||||
|
@ -804,7 +804,7 @@ public:
|
|||
this->vscroll->SetCount(this->GetContentHeight());
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_SB_SEL_PAGE: {
|
||||
|
@ -845,7 +845,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget != WID_SB_SEL_PAGE) return;
|
||||
|
||||
|
|
|
@ -340,6 +340,8 @@ void StrMakeValidInPlace(char *str, StringValidationSettings settings)
|
|||
*/
|
||||
std::string StrMakeValid(std::string_view str, StringValidationSettings settings)
|
||||
{
|
||||
if (str.empty()) return {};
|
||||
|
||||
auto buf = str.data();
|
||||
auto last = buf + str.size() - 1;
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ struct SubsidyListWindow : Window {
|
|||
this->OnInvalidateData(0);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget != WID_SUL_PANEL) return;
|
||||
|
||||
|
@ -125,7 +125,7 @@ struct SubsidyListWindow : Window {
|
|||
return 3 + num_awarded + num_not_awarded;
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_SUL_PANEL) return;
|
||||
Dimension d = maxdim(GetStringBoundingBox(STR_SUBSIDIES_OFFERED_TITLE), GetStringBoundingBox(STR_SUBSIDIES_SUBSIDISED_TITLE));
|
||||
|
@ -138,7 +138,7 @@ struct SubsidyListWindow : Window {
|
|||
*size = maxdim(*size, d);
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_SUL_PANEL) return;
|
||||
|
||||
|
|
|
@ -1647,7 +1647,7 @@ cat = SC_EXPERT
|
|||
var = gui.ai_developer_tools
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
|
||||
def = false
|
||||
post_cb = [](auto) { InvalidateWindowClassesData(WC_SCRIPT_SETTINGS); }
|
||||
post_cb = [](auto) { InvalidateWindowClassesData(WC_GAME_OPTIONS); InvalidateWindowClassesData(WC_SCRIPT_DEBUG); InvalidateWindowClassesData(WC_SCRIPT_SETTINGS); }
|
||||
cat = SC_EXPERT
|
||||
startup = true
|
||||
|
||||
|
|
|
@ -217,7 +217,7 @@ public:
|
|||
UpdateButtonState();
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch(widget) {
|
||||
case TCW_NEW_TMPL_PANEL: {
|
||||
|
@ -286,7 +286,7 @@ public:
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch(widget) {
|
||||
case TCW_NEW_TMPL_PANEL: {
|
||||
|
@ -391,7 +391,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual bool OnRightClick(Point pt, int widget) override
|
||||
virtual bool OnRightClick(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (widget != TCW_NEW_TMPL_PANEL) return false;
|
||||
|
||||
|
@ -443,7 +443,7 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
virtual void OnDragDrop(Point pt, int widget) override
|
||||
virtual void OnDragDrop(Point pt, WidgetID widget) override
|
||||
{
|
||||
switch (widget) {
|
||||
case TCW_NEW_TMPL_PANEL: {
|
||||
|
@ -504,7 +504,7 @@ public:
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
virtual void OnMouseDrag(Point pt, int widget) override
|
||||
virtual void OnMouseDrag(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (this->sel == INVALID_VEHICLE) return;
|
||||
|
||||
|
|
|
@ -260,7 +260,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case TRW_WIDGET_TOP_MATRIX:
|
||||
|
@ -312,7 +312,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case TRW_CAPTION:
|
||||
|
@ -321,7 +321,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case TRW_WIDGET_TOP_MATRIX: {
|
||||
|
@ -404,7 +404,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
if (this->editInProgress) return;
|
||||
|
||||
|
@ -495,7 +495,7 @@ public:
|
|||
ShowDropDownList(this, GetRailTypeDropDownList(true, true), this->sel_railtype, TRW_WIDGET_TRAIN_RAILTYPE_DROPDOWN);
|
||||
break;
|
||||
case TRW_WIDGET_TOP_MATRIX: {
|
||||
uint16 newindex = (uint16)((pt.y - this->nested_array[TRW_WIDGET_TOP_MATRIX]->pos_y) / (GetCharacterHeight(FS_NORMAL) + WidgetDimensions::scaled.matrix.Vertical()) ) + this->vscroll[0]->GetPosition();
|
||||
uint16 newindex = (uint16)((pt.y - this->GetWidget<NWidgetBase>(TRW_WIDGET_TOP_MATRIX)->pos_y) / (GetCharacterHeight(FS_NORMAL) + WidgetDimensions::scaled.matrix.Vertical()) ) + this->vscroll[0]->GetPosition();
|
||||
if (newindex == this->selected_group_index || newindex >= this->groups.size()) {
|
||||
this->selected_group_index = -1;
|
||||
} else if (newindex < this->groups.size()) {
|
||||
|
@ -505,7 +505,7 @@ public:
|
|||
break;
|
||||
}
|
||||
case TRW_WIDGET_BOTTOM_MATRIX: {
|
||||
uint16 newindex = (uint16)((pt.y - this->nested_array[TRW_WIDGET_BOTTOM_MATRIX]->pos_y) / this->bottom_matrix_item_size) + this->vscroll[1]->GetPosition();
|
||||
uint16 newindex = (uint16)((pt.y - this->GetWidget<NWidgetBase>(TRW_WIDGET_BOTTOM_MATRIX)->pos_y) / this->bottom_matrix_item_size) + this->vscroll[1]->GetPosition();
|
||||
if (newindex == this->selected_template_index || newindex >= templates.size()) {
|
||||
this->selected_template_index = -1;
|
||||
} else if (newindex < templates.size()) {
|
||||
|
@ -560,7 +560,7 @@ public:
|
|||
this->RaiseButtons();
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
RailType temp = (RailType) index;
|
||||
if (temp == this->sel_railtype) return; // we didn't select a new one. No need to change anything
|
||||
|
|
|
@ -221,7 +221,7 @@ struct TerraformToolbarWindow : Window {
|
|||
SetWidgetDisabledState(WID_TT_BUY_LAND, _settings_game.construction.purchase_land_permitted == 0);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget < WID_TT_BUTTONS_START) return;
|
||||
|
||||
|
@ -628,7 +628,7 @@ struct ScenarioEditorLandscapeGenerationWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_ETT_DOTS) return;
|
||||
|
||||
|
@ -636,7 +636,7 @@ struct ScenarioEditorLandscapeGenerationWindow : Window {
|
|||
size->height = std::max<uint>(size->height, ScaleGUITrad(31));
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_ETT_DOTS) return;
|
||||
|
||||
|
@ -653,7 +653,7 @@ struct ScenarioEditorLandscapeGenerationWindow : Window {
|
|||
} while (--n);
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (widget < WID_ETT_BUTTONS_START) return;
|
||||
|
||||
|
@ -731,9 +731,9 @@ struct ScenarioEditorLandscapeGenerationWindow : Window {
|
|||
|
||||
void OnTimeout() override
|
||||
{
|
||||
for (uint i = WID_ETT_START; i < this->nested_array_size; i++) {
|
||||
if (i == WID_ETT_BUTTONS_START) i = WID_ETT_BUTTONS_END; // skip the buttons
|
||||
this->RaiseWidgetWhenLowered(i);
|
||||
for (const auto &pair : this->widget_lookup) {
|
||||
if (pair.first < WID_ETT_START || (pair.first >= WID_ETT_BUTTONS_START && pair.first < WID_ETT_BUTTONS_END)) continue; // skip the buttons
|
||||
this->RaiseWidgetWhenLowered(pair.first);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -92,11 +92,9 @@ TEST_CASE_METHOD(WindowDescTestsFixture, "WindowDesc - NWidgetPart validity")
|
|||
|
||||
INFO(fmt::format("{}:{}", window_desc->file, window_desc->line));
|
||||
|
||||
int biggest_index = -1;
|
||||
NWidgetStacked *shade_select = nullptr;
|
||||
NWidgetBase *root = nullptr;
|
||||
std::unique_ptr<NWidgetBase> root = nullptr;
|
||||
|
||||
REQUIRE_NOTHROW(root = MakeWindowNWidgetTree(window_desc->nwid_begin, window_desc->nwid_end, &biggest_index, &shade_select));
|
||||
REQUIRE_NOTHROW(root = MakeWindowNWidgetTree(window_desc->nwid_begin, window_desc->nwid_end, &shade_select));
|
||||
CHECK((root != nullptr));
|
||||
delete root;
|
||||
}
|
||||
|
|
|
@ -88,9 +88,9 @@ TextfileWindow::TextfileWindow(TextfileType file_type) : Window(&_textfile_desc)
|
|||
this->CreateNestedTree();
|
||||
this->vscroll = this->GetScrollbar(WID_TF_VSCROLLBAR);
|
||||
this->hscroll = this->GetScrollbar(WID_TF_HSCROLLBAR);
|
||||
this->FinishInitNested(file_type);
|
||||
this->GetWidget<NWidgetCore>(WID_TF_CAPTION)->SetDataTip(STR_TEXTFILE_README_CAPTION + file_type, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS);
|
||||
this->GetWidget<NWidgetStacked>(WID_TF_SEL_JUMPLIST)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
this->FinishInitNested(file_type);
|
||||
|
||||
this->DisableWidget(WID_TF_NAVBACK);
|
||||
this->DisableWidget(WID_TF_NAVFORWARD);
|
||||
|
@ -128,7 +128,7 @@ uint TextfileWindow::GetContentHeight()
|
|||
return this->lines.back().bottom;
|
||||
}
|
||||
|
||||
/* virtual */ void TextfileWindow::UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize)
|
||||
/* virtual */ void TextfileWindow::UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TF_BACKGROUND:
|
||||
|
@ -495,7 +495,7 @@ void TextfileWindow::NavigateToFile(std::string newfile, size_t line)
|
|||
|
||||
if (StrEndsWithIgnoreCase(this->filename, ".md")) this->AfterLoadMarkdown();
|
||||
|
||||
this->GetWidget<NWidgetStacked>(WID_TF_SEL_JUMPLIST)->SetDisplayedPlane(this->jumplist.empty() ? SZSP_HORIZONTAL : 0);
|
||||
if (this->GetWidget<NWidgetStacked>(WID_TF_SEL_JUMPLIST)->SetDisplayedPlane(this->jumplist.empty() ? SZSP_HORIZONTAL : 0)) this->ReInit();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -518,7 +518,7 @@ void TextfileWindow::AfterLoadMarkdown()
|
|||
}
|
||||
}
|
||||
|
||||
/* virtual */ void TextfileWindow::OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count)
|
||||
/* virtual */ void TextfileWindow::OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TF_WRAPTEXT:
|
||||
|
@ -550,7 +550,7 @@ void TextfileWindow::AfterLoadMarkdown()
|
|||
}
|
||||
}
|
||||
|
||||
/* virtual */ void TextfileWindow::DrawWidget(const Rect &r, int widget) const
|
||||
/* virtual */ void TextfileWindow::DrawWidget(const Rect &r, WidgetID widget) const
|
||||
{
|
||||
if (widget != WID_TF_BACKGROUND) return;
|
||||
|
||||
|
@ -594,7 +594,7 @@ void TextfileWindow::AfterLoadMarkdown()
|
|||
this->SetupScrollbars(true);
|
||||
}
|
||||
|
||||
void TextfileWindow::OnDropdownSelect(int widget, int index)
|
||||
void TextfileWindow::OnDropdownSelect(WidgetID widget, int index)
|
||||
{
|
||||
if (widget != WID_TF_JUMPLIST) return;
|
||||
|
||||
|
@ -763,8 +763,7 @@ static void Xunzip(byte **bufp, size_t *sizep)
|
|||
this->lines.clear();
|
||||
this->jumplist.clear();
|
||||
|
||||
this->GetWidget<NWidgetStacked>(WID_TF_SEL_JUMPLIST)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
this->ReInit();
|
||||
if (this->GetWidget<NWidgetStacked>(WID_TF_SEL_JUMPLIST)->SetDisplayedPlane(SZSP_HORIZONTAL)) this->ReInit();
|
||||
|
||||
if (textfile == nullptr) return;
|
||||
|
||||
|
|
|
@ -32,12 +32,12 @@ struct TextfileWindow : public Window, MissingGlyphSearcher {
|
|||
|
||||
TextfileWindow(TextfileType file_type);
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override;
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override;
|
||||
void DrawWidget(const Rect &r, int widget) const override;
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override;
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override;
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override;
|
||||
void OnResize() override;
|
||||
void OnInvalidateData(int data = 0, bool gui_scope = true) override;
|
||||
void OnDropdownSelect(int widget, int index) override;
|
||||
void OnDropdownSelect(WidgetID widget, int index) override;
|
||||
|
||||
void Reset() override;
|
||||
FontSize DefaultSize() override;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
void PlaceProc_DemolishArea(TileIndex tile);
|
||||
bool GUIPlaceProcDragXY(ViewportDragDropSelectionProcess proc, TileIndex start_tile, TileIndex end_tile);
|
||||
|
||||
bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, HighLightStyle mode);
|
||||
bool HandlePlacePushButton(Window *w, WidgetID widget, CursorID cursor, HighLightStyle mode);
|
||||
void SetObjectToPlaceWnd(CursorID icon, PaletteID pal, HighLightStyle mode, Window *w);
|
||||
void SetObjectToPlace(CursorID icon, PaletteID pal, HighLightStyle mode, WindowClass window_class, WindowNumber window_num);
|
||||
void ResetObjectToPlace();
|
||||
|
|
|
@ -400,7 +400,7 @@ struct TimetableWindow : GeneralVehicleWindow {
|
|||
return (travelling && v->lateness_counter < 0);
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_VT_ARRIVAL_DEPARTURE_PANEL:
|
||||
|
@ -609,7 +609,7 @@ struct TimetableWindow : GeneralVehicleWindow {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_VT_CAPTION: SetDParam(0, this->vehicle->index); break;
|
||||
|
@ -617,7 +617,7 @@ struct TimetableWindow : GeneralVehicleWindow {
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_VT_CHANGE_TIME: {
|
||||
|
@ -649,7 +649,7 @@ struct TimetableWindow : GeneralVehicleWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
const Vehicle *v = this->vehicle;
|
||||
int selected = this->sel_index;
|
||||
|
@ -871,7 +871,7 @@ struct TimetableWindow : GeneralVehicleWindow {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
const Vehicle *v = this->vehicle;
|
||||
|
||||
|
@ -1071,7 +1071,7 @@ struct TimetableWindow : GeneralVehicleWindow {
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_VT_EXTRA:
|
||||
|
|
|
@ -120,7 +120,7 @@ DropDownListItem *MakeCompanyDropDownListItem(CompanyID cid)
|
|||
* @param list List of items
|
||||
* @param def Default item
|
||||
*/
|
||||
static void PopupMainToolbarMenu(Window *w, int widget, DropDownList &&list, int def)
|
||||
static void PopupMainToolbarMenu(Window *w, WidgetID widget, DropDownList &&list, int def)
|
||||
{
|
||||
ShowDropDownList(w, std::move(list), def, widget, 0, true);
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
|
@ -132,7 +132,7 @@ static void PopupMainToolbarMenu(Window *w, int widget, DropDownList &&list, int
|
|||
* @param widget Toolbar button
|
||||
* @param strings List of strings for each item in the menu
|
||||
*/
|
||||
static void PopupMainToolbarMenu(Window *w, int widget, const std::initializer_list<StringID> &strings)
|
||||
static void PopupMainToolbarMenu(Window *w, WidgetID widget, const std::initializer_list<StringID> &strings)
|
||||
{
|
||||
DropDownList list;
|
||||
int i = 0;
|
||||
|
@ -158,7 +158,7 @@ static const int CTMN_SPECTATOR = -3; ///< Show a company window as spectator
|
|||
* @param widget The button widget id.
|
||||
* @param grey A bitbask of which items to mark as disabled.
|
||||
*/
|
||||
static void PopupMainCompanyToolbMenu(Window *w, int widget, int grey = 0)
|
||||
static void PopupMainCompanyToolbMenu(Window *w, WidgetID widget, int grey = 0)
|
||||
{
|
||||
DropDownList list;
|
||||
|
||||
|
@ -845,7 +845,7 @@ static CallBackFunction MenuClickShowAir(int index)
|
|||
static CallBackFunction ToolbarZoomInClick(Window *w)
|
||||
{
|
||||
if (DoZoomInOutWindow(ZOOM_IN, GetMainWindow())) {
|
||||
w->HandleButtonClick((_game_mode == GM_EDITOR) ? (byte)WID_TE_ZOOM_IN : (byte)WID_TN_ZOOM_IN);
|
||||
w->HandleButtonClick((_game_mode == GM_EDITOR) ? (WidgetID)WID_TE_ZOOM_IN : (WidgetID)WID_TN_ZOOM_IN);
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
}
|
||||
return CBF_NONE;
|
||||
|
@ -856,7 +856,7 @@ static CallBackFunction ToolbarZoomInClick(Window *w)
|
|||
static CallBackFunction ToolbarZoomOutClick(Window *w)
|
||||
{
|
||||
if (DoZoomInOutWindow(ZOOM_OUT, GetMainWindow())) {
|
||||
w->HandleButtonClick((_game_mode == GM_EDITOR) ? (byte)WID_TE_ZOOM_OUT : (byte)WID_TN_ZOOM_OUT);
|
||||
w->HandleButtonClick((_game_mode == GM_EDITOR) ? (WidgetID)WID_TE_ZOOM_OUT : (WidgetID)WID_TN_ZOOM_OUT);
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
}
|
||||
return CBF_NONE;
|
||||
|
@ -1005,7 +1005,7 @@ static CallBackFunction MenuClickForest(int index)
|
|||
|
||||
static CallBackFunction ToolbarMusicClick(Window *w)
|
||||
{
|
||||
PopupMainToolbarMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_MUSIC_SOUND : (int)WID_TN_MUSIC_SOUND, {STR_TOOLBAR_SOUND_MUSIC});
|
||||
PopupMainToolbarMenu(w, _game_mode == GM_EDITOR ? (WidgetID)WID_TE_MUSIC_SOUND : (WidgetID)WID_TN_MUSIC_SOUND, {STR_TOOLBAR_SOUND_MUSIC});
|
||||
return CBF_NONE;
|
||||
}
|
||||
|
||||
|
@ -1167,7 +1167,7 @@ static CallBackFunction PlacePickerTool()
|
|||
|
||||
static CallBackFunction ToolbarHelpClick(Window *w)
|
||||
{
|
||||
int widget = (_game_mode == GM_EDITOR) ? (int)WID_TE_HELP : (int)WID_TN_HELP;
|
||||
WidgetID widget = (_game_mode == GM_EDITOR) ? (WidgetID)WID_TE_HELP : (WidgetID)WID_TN_HELP;
|
||||
|
||||
DropDownList list;
|
||||
list.emplace_back(new DropDownListStringItem(STR_ABOUT_MENU_LAND_BLOCK_INFO, HME_LANDINFO, false));
|
||||
|
@ -1291,7 +1291,7 @@ static CallBackFunction ToolbarSwitchClick(Window *w)
|
|||
}
|
||||
|
||||
w->ReInit();
|
||||
w->SetWidgetLoweredState(_game_mode == GM_EDITOR ? (uint)WID_TE_SWITCH_BAR : (uint)WID_TN_SWITCH_BAR, _toolbar_mode == TB_LOWER);
|
||||
w->SetWidgetLoweredState(_game_mode == GM_EDITOR ? (WidgetID)WID_TE_SWITCH_BAR : (WidgetID)WID_TN_SWITCH_BAR, _toolbar_mode == TB_LOWER);
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
return CBF_NONE;
|
||||
}
|
||||
|
@ -1495,7 +1495,7 @@ public:
|
|||
|
||||
uint nbuttons = 0;
|
||||
/* First initialise some variables... */
|
||||
for (NWidgetBase *child_wid = this->head; child_wid != nullptr; child_wid = child_wid->next) {
|
||||
for (const auto &child_wid : this->children) {
|
||||
child_wid->SetupSmallestSize(w);
|
||||
this->smallest_y = std::max(this->smallest_y, child_wid->smallest_y + child_wid->padding.Vertical());
|
||||
if (this->IsButton(child_wid->type)) {
|
||||
|
@ -1507,7 +1507,7 @@ public:
|
|||
}
|
||||
|
||||
/* ... then in a second pass make sure the 'current' heights are set. Won't change ever. */
|
||||
for (NWidgetBase *child_wid = this->head; child_wid != nullptr; child_wid = child_wid->next) {
|
||||
for (const auto &child_wid : this->children) {
|
||||
child_wid->current_y = this->smallest_y;
|
||||
if (!this->IsButton(child_wid->type)) {
|
||||
child_wid->current_x = child_wid->smallest_x;
|
||||
|
@ -1527,14 +1527,15 @@ public:
|
|||
|
||||
/* Figure out what are the visible buttons */
|
||||
uint arrangable_count, button_count, spacer_count;
|
||||
const byte *arrangement = GetButtonArrangement(given_width, arrangable_count, button_count, spacer_count);
|
||||
const WidgetID *arrangement = GetButtonArrangement(given_width, arrangable_count, button_count, spacer_count);
|
||||
|
||||
/* Create us ourselves a quick lookup table */
|
||||
NWidgetBase *widgets[WID_TN_END];
|
||||
for (NWidgetBase *child_wid = this->head; child_wid != nullptr; child_wid = child_wid->next) {
|
||||
child_wid->current_x = 0; /* Hide widget, it will be revealed in the next step. */
|
||||
if (child_wid->type == NWID_SPACER) continue;
|
||||
widgets[((NWidgetCore*)child_wid)->index] = child_wid;
|
||||
/* Create us ourselves a quick lookup table from WidgetID to slot. */
|
||||
std::map<WidgetID, uint> lookup;
|
||||
for (auto it = std::begin(this->children); it != std::end(this->children); ++it) {
|
||||
NWidgetBase *nwid = it->get();
|
||||
nwid->current_x = 0; /* Hide widget, it will be revealed in the next step. */
|
||||
if (nwid->type == NWID_SPACER) continue;
|
||||
lookup[dynamic_cast<NWidgetCore *>(nwid)->index] = std::distance(this->children.begin(), it);
|
||||
}
|
||||
|
||||
/* Now assign the widgets to their rightful place */
|
||||
|
@ -1545,12 +1546,13 @@ public:
|
|||
uint button_i = 0;
|
||||
|
||||
/* Index into the arrangement indices. The macro lastof cannot be used here! */
|
||||
const byte *cur_wid = rtl ? &arrangement[arrangable_count - 1] : arrangement;
|
||||
const WidgetID *slotp = rtl ? &arrangement[arrangable_count - 1] : arrangement;
|
||||
for (uint i = 0; i < arrangable_count; i++) {
|
||||
NWidgetBase *child_wid = widgets[*cur_wid];
|
||||
/* If we have to give space to the spacers, do that */
|
||||
if (spacer_space != 0) {
|
||||
NWidgetBase *possible_spacer = rtl ? child_wid->next : child_wid->prev;
|
||||
uint slot = lookup[*slotp];
|
||||
auto &child_wid = this->children[slot];
|
||||
/* If we have space to give to the spacers, do that. */
|
||||
if (spacer_space > 0 && slot > 0 && slot < this->children.size() - 1) {
|
||||
const auto &possible_spacer = this->children[slot + (rtl ? 1 : -1)];
|
||||
if (possible_spacer != nullptr && possible_spacer->type == NWID_SPACER) {
|
||||
uint add = spacer_space / (spacer_count - spacer_i);
|
||||
position += add;
|
||||
|
@ -1571,9 +1573,9 @@ public:
|
|||
position += child_wid->current_x;
|
||||
|
||||
if (rtl) {
|
||||
cur_wid--;
|
||||
slotp--;
|
||||
} else {
|
||||
cur_wid++;
|
||||
slotp++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1596,12 +1598,12 @@ public:
|
|||
* @param spacer_count output of the number of spacers.
|
||||
* @return the button configuration.
|
||||
*/
|
||||
virtual const byte *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const = 0;
|
||||
virtual const WidgetID *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const = 0;
|
||||
};
|
||||
|
||||
/** Container for the 'normal' main toolbar */
|
||||
class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
||||
const byte *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const override
|
||||
const WidgetID *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const override
|
||||
{
|
||||
static const uint SMALLEST_ARRANGEMENT = 14;
|
||||
static const uint BIGGEST_ARRANGEMENT = 20;
|
||||
|
@ -1612,7 +1614,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
* pause button appearing on the right of the lower toolbar and weird resizing of the widgets even if there is
|
||||
* enough space.
|
||||
*/
|
||||
static const byte arrange14[] = {
|
||||
static const WidgetID arrange14[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_TRAINS,
|
||||
|
@ -1643,7 +1645,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TN_HELP,
|
||||
WID_TN_SWITCH_BAR,
|
||||
};
|
||||
static const byte arrange15[] = {
|
||||
static const WidgetID arrange15[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_SMALL_MAP,
|
||||
|
@ -1676,7 +1678,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TN_HELP,
|
||||
WID_TN_SWITCH_BAR,
|
||||
};
|
||||
static const byte arrange16[] = {
|
||||
static const WidgetID arrange16[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_SETTINGS,
|
||||
|
@ -1711,7 +1713,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TN_ZOOM_OUT,
|
||||
WID_TN_SWITCH_BAR,
|
||||
};
|
||||
static const byte arrange17[] = {
|
||||
static const WidgetID arrange17[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_SETTINGS,
|
||||
|
@ -1748,7 +1750,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TN_ZOOM_OUT,
|
||||
WID_TN_SWITCH_BAR,
|
||||
};
|
||||
static const byte arrange18[] = {
|
||||
static const WidgetID arrange18[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_SETTINGS,
|
||||
|
@ -1787,7 +1789,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TN_ZOOM_OUT,
|
||||
WID_TN_SWITCH_BAR,
|
||||
};
|
||||
static const byte arrange19[] = {
|
||||
static const WidgetID arrange19[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_SETTINGS,
|
||||
|
@ -1828,7 +1830,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TN_ZOOM_OUT,
|
||||
WID_TN_SWITCH_BAR,
|
||||
};
|
||||
static const byte arrange20[] = {
|
||||
static const WidgetID arrange20[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_SETTINGS,
|
||||
|
@ -1871,7 +1873,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TN_ZOOM_OUT,
|
||||
WID_TN_SWITCH_BAR,
|
||||
};
|
||||
static const byte arrange_all[] = {
|
||||
static const WidgetID arrange_all[] = {
|
||||
WID_TN_PAUSE,
|
||||
WID_TN_FAST_FORWARD,
|
||||
WID_TN_SETTINGS,
|
||||
|
@ -1913,7 +1915,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
|
|||
}
|
||||
|
||||
/* Introduce the split toolbar */
|
||||
static const byte * const arrangements[] = { arrange14, arrange15, arrange16, arrange17, arrange18, arrange19, arrange20 };
|
||||
static const WidgetID * const arrangements[] = { arrange14, arrange15, arrange16, arrange17, arrange18, arrange19, arrange20 };
|
||||
|
||||
button_count = arrangable_count = full_buttons;
|
||||
spacer_count = this->spacers;
|
||||
|
@ -1931,7 +1933,7 @@ class NWidgetScenarioToolbarContainer : public NWidgetToolbarContainer {
|
|||
|
||||
/* Find the size of panel_widths */
|
||||
uint i = 0;
|
||||
for (NWidgetBase *child_wid = this->head; child_wid != nullptr; child_wid = child_wid->next) {
|
||||
for (const auto &child_wid : this->children) {
|
||||
if (child_wid->type == NWID_SPACER || this->IsButton(child_wid->type)) continue;
|
||||
|
||||
assert(i < lengthof(this->panel_widths));
|
||||
|
@ -1940,9 +1942,9 @@ class NWidgetScenarioToolbarContainer : public NWidgetToolbarContainer {
|
|||
}
|
||||
}
|
||||
|
||||
const byte *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const override
|
||||
const WidgetID *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const override
|
||||
{
|
||||
static const byte arrange_all[] = {
|
||||
static const WidgetID arrange_all[] = {
|
||||
WID_TE_PAUSE,
|
||||
WID_TE_FAST_FORWARD,
|
||||
WID_TE_SETTINGS,
|
||||
|
@ -1963,7 +1965,7 @@ class NWidgetScenarioToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TE_MUSIC_SOUND,
|
||||
WID_TE_HELP,
|
||||
};
|
||||
static const byte arrange_nopanel[] = {
|
||||
static const WidgetID arrange_nopanel[] = {
|
||||
WID_TE_PAUSE,
|
||||
WID_TE_FAST_FORWARD,
|
||||
WID_TE_SETTINGS,
|
||||
|
@ -1983,7 +1985,7 @@ class NWidgetScenarioToolbarContainer : public NWidgetToolbarContainer {
|
|||
WID_TE_MUSIC_SOUND,
|
||||
WID_TE_HELP,
|
||||
};
|
||||
static const byte arrange_switch[] = {
|
||||
static const WidgetID arrange_switch[] = {
|
||||
WID_TE_DATE_PANEL,
|
||||
WID_TE_SMALL_MAP,
|
||||
WID_TE_LAND_GENERATE,
|
||||
|
@ -2121,12 +2123,12 @@ struct MainToolbarWindow : Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (_game_mode != GM_MENU && !this->IsWidgetDisabled(widget)) _toolbar_button_procs[widget](this);
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
CallBackFunction cbf = _menu_clicked_procs[widget](index);
|
||||
if (cbf != CBF_NONE) _last_started_action = cbf;
|
||||
|
@ -2238,7 +2240,7 @@ struct MainToolbarWindow : Window {
|
|||
{
|
||||
/* We do not want to automatically raise the pause, fast forward and
|
||||
* switchbar buttons; they have to stay down when pressed etc. */
|
||||
for (uint i = WID_TN_SETTINGS; i < WID_TN_SWITCH_BAR; i++) {
|
||||
for (WidgetID i = WID_TN_SETTINGS; i < WID_TN_SWITCH_BAR; i++) {
|
||||
this->RaiseWidgetWhenLowered(i);
|
||||
}
|
||||
}
|
||||
|
@ -2316,7 +2318,7 @@ static Hotkey maintoolbar_hotkeys[] = {
|
|||
};
|
||||
HotkeyList MainToolbarWindow::hotkeys("maintoolbar", maintoolbar_hotkeys);
|
||||
|
||||
static NWidgetBase *MakeMainToolbar(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeMainToolbar()
|
||||
{
|
||||
/** Sprites to use for the different toolbar buttons */
|
||||
static const SpriteID toolbar_button_sprites[] = {
|
||||
|
@ -2353,8 +2355,8 @@ static NWidgetBase *MakeMainToolbar(int *biggest_index)
|
|||
SPR_IMG_SWITCH_TOOLBAR, // WID_TN_SWITCH_BAR
|
||||
};
|
||||
|
||||
NWidgetMainToolbarContainer *hor = new NWidgetMainToolbarContainer();
|
||||
for (uint i = 0; i < WID_TN_END; i++) {
|
||||
auto hor = std::make_unique<NWidgetMainToolbarContainer>();
|
||||
for (WidgetID i = 0; i < WID_TN_END; i++) {
|
||||
switch (i) {
|
||||
case WID_TN_SMALL_MAP:
|
||||
case WID_TN_FINANCES:
|
||||
|
@ -2362,15 +2364,14 @@ static NWidgetBase *MakeMainToolbar(int *biggest_index)
|
|||
case WID_TN_ZOOM_IN:
|
||||
case WID_TN_BUILDING_TOOLS_START:
|
||||
case WID_TN_MUSIC_SOUND:
|
||||
hor->Add(new NWidgetSpacer(0, 0));
|
||||
hor->Add(std::make_unique<NWidgetSpacer>(0, 0));
|
||||
break;
|
||||
}
|
||||
NWidgetLeaf *leaf = new NWidgetLeaf(i == WID_TN_SAVE ? WWT_IMGBTN_2 : WWT_IMGBTN, COLOUR_GREY, i, toolbar_button_sprites[i], STR_TOOLBAR_TOOLTIP_PAUSE_GAME + i);
|
||||
auto leaf = std::make_unique<NWidgetLeaf>(i == WID_TN_SAVE ? WWT_IMGBTN_2 : WWT_IMGBTN, COLOUR_GREY, i, toolbar_button_sprites[i], STR_TOOLBAR_TOOLTIP_PAUSE_GAME + i);
|
||||
leaf->SetMinimalSize(20, 20);
|
||||
hor->Add(leaf);
|
||||
hor->Add(std::move(leaf));
|
||||
}
|
||||
|
||||
*biggest_index = std::max<int>(*biggest_index, WID_TN_SWITCH_BAR);
|
||||
return hor;
|
||||
}
|
||||
|
||||
|
@ -2504,7 +2505,7 @@ struct ScenarioEditorToolbarWindow : Window {
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TE_DATE:
|
||||
|
@ -2513,7 +2514,7 @@ struct ScenarioEditorToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TE_SPACER: {
|
||||
|
@ -2529,7 +2530,7 @@ struct ScenarioEditorToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TE_SPACER:
|
||||
|
@ -2543,14 +2544,14 @@ struct ScenarioEditorToolbarWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
if (_game_mode == GM_MENU) return;
|
||||
CallBackFunction cbf = _scen_toolbar_button_procs[widget](this);
|
||||
if (cbf != CBF_NONE) _last_started_action = cbf;
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
CallBackFunction cbf = _scen_toolbar_dropdown_procs[widget](index);
|
||||
if (cbf != CBF_NONE) _last_started_action = cbf;
|
||||
|
@ -2734,9 +2735,9 @@ static const NWidgetPart _nested_toolb_scen_inner_widgets[] = {
|
|||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_TE_SWITCH_BAR), SetDataTip(SPR_IMG_SWITCH_TOOLBAR, STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR),
|
||||
};
|
||||
|
||||
static NWidgetBase *MakeScenarioToolbar(int *biggest_index)
|
||||
static std::unique_ptr<NWidgetBase> MakeScenarioToolbar()
|
||||
{
|
||||
return MakeNWidgets(std::begin(_nested_toolb_scen_inner_widgets), std::end(_nested_toolb_scen_inner_widgets), biggest_index, new NWidgetScenarioToolbarContainer());
|
||||
return MakeNWidgets(std::begin(_nested_toolb_scen_inner_widgets), std::end(_nested_toolb_scen_inner_widgets), std::make_unique<NWidgetScenarioToolbarContainer>());
|
||||
}
|
||||
|
||||
static const NWidgetPart _nested_toolb_scen_widgets[] = {
|
||||
|
|
|
@ -206,7 +206,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_TA_CAPTION) {
|
||||
SetDParam(0, this->window_number);
|
||||
|
@ -239,7 +239,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TA_ACTION_INFO:
|
||||
|
@ -346,7 +346,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TA_ACTION_INFO: {
|
||||
|
@ -378,7 +378,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TA_ZONE_BUTTON: {
|
||||
|
@ -473,7 +473,7 @@ public:
|
|||
}
|
||||
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TA_SETTING: {
|
||||
|
@ -541,7 +541,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_TV_CAPTION) SetDParam(0, this->town->index);
|
||||
}
|
||||
|
@ -556,7 +556,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_TV_INFO) return;
|
||||
|
||||
|
@ -649,7 +649,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TV_CENTER_VIEW: // scroll to location
|
||||
|
@ -684,7 +684,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TV_INFO:
|
||||
|
@ -976,7 +976,7 @@ public:
|
|||
this->townname_editbox.cancel_button = QueryString::ACTION_CLEAR;
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TD_WORLD_POPULATION:
|
||||
|
@ -1001,7 +1001,7 @@ public:
|
|||
return t->larger_town ? STR_TOWN_DIRECTORY_CITY : STR_TOWN_DIRECTORY_TOWN;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TD_SORT_ORDER:
|
||||
|
@ -1048,7 +1048,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TD_SORT_ORDER: {
|
||||
|
@ -1102,7 +1102,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TD_SORT_ORDER: // Click on sort order button
|
||||
|
@ -1139,7 +1139,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
if (widget != WID_TD_SORT_CRITERIA) return;
|
||||
|
||||
|
@ -1167,7 +1167,7 @@ public:
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_TD_LIST);
|
||||
}
|
||||
|
||||
void OnEditboxChanged(int wid) override
|
||||
void OnEditboxChanged(WidgetID wid) override
|
||||
{
|
||||
if (wid == WID_TD_FILTER) {
|
||||
this->string_filter.SetFilterTerm(this->townname_editbox.text.buf);
|
||||
|
@ -1363,13 +1363,13 @@ public:
|
|||
if (_settings_game.economy.found_town != TF_CUSTOM_LAYOUT) town_layout = _settings_game.economy.town_layout;
|
||||
}
|
||||
|
||||
for (int i = WID_TF_SIZE_SMALL; i <= WID_TF_SIZE_RANDOM; i++) {
|
||||
for (WidgetID i = WID_TF_SIZE_SMALL; i <= WID_TF_SIZE_RANDOM; i++) {
|
||||
this->SetWidgetLoweredState(i, i == WID_TF_SIZE_SMALL + this->town_size);
|
||||
}
|
||||
|
||||
this->SetWidgetLoweredState(WID_TF_CITY, this->city);
|
||||
|
||||
for (int i = WID_TF_LAYOUT_ORIGINAL; i <= WID_TF_LAYOUT_RANDOM; i++) {
|
||||
for (WidgetID i = WID_TF_LAYOUT_ORIGINAL; i <= WID_TF_LAYOUT_RANDOM; i++) {
|
||||
this->SetWidgetLoweredState(i, i == WID_TF_LAYOUT_ORIGINAL + this->town_layout);
|
||||
}
|
||||
|
||||
|
@ -1396,7 +1396,7 @@ public:
|
|||
if (success && !_shift_pressed) this->RandomTownName();
|
||||
}
|
||||
|
||||
void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
|
||||
void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TF_NEW_TOWN:
|
||||
|
@ -1731,7 +1731,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
if (widget == WID_HP_CAPTION) {
|
||||
if (this->house_list.NumHouseSets() == 1) SetDParamStr(0, this->house_list.GetNameOfHouseSet(0));
|
||||
|
@ -1844,7 +1844,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_HP_HOUSE_SETS: {
|
||||
|
@ -1920,9 +1920,9 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_HP_HOUSE_SETS: {
|
||||
int y = r.top + WidgetDimensions::scaled.matrix.top;
|
||||
for (uint i = 0; i < this->house_list.NumHouseSets(); i++) {
|
||||
|
@ -1940,7 +1940,7 @@ public:
|
|||
break;
|
||||
|
||||
case WID_HP_HOUSE_SELECT: {
|
||||
HouseID house = this->house_list.GetHouseAtOffset(this->house_set, GB(widget, 16, 16));
|
||||
HouseID house = this->house_list.GetHouseAtOffset(this->house_set, this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
|
||||
int lowered = (house == _cur_house) ? 1 : 0;
|
||||
DrawHouseImage(house,
|
||||
r.left + WidgetDimensions::scaled.matrix.left + lowered, r.top + WidgetDimensions::scaled.matrix.top + lowered,
|
||||
|
@ -1955,9 +1955,9 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (GB(widget, 0, 16)) {
|
||||
switch (widget) {
|
||||
case WID_HP_HOUSE_SETS: {
|
||||
uint index = (uint)(pt.y - this->GetWidget<NWidgetBase>(widget)->pos_y) / this->line_height;
|
||||
if (index < this->house_list.NumHouseSets() && index != this->house_set) this->SelectOtherHouse(index, 0);
|
||||
|
@ -1965,7 +1965,7 @@ public:
|
|||
}
|
||||
|
||||
case WID_HP_HOUSE_SELECT:
|
||||
this->SelectOtherHouse(this->house_set, GB(widget, 16, 16));
|
||||
this->SelectOtherHouse(this->house_set, this->GetWidget<NWidgetBase>(widget)->GetParentWidget<NWidgetMatrix>()->GetCurrentElement());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2076,7 +2076,7 @@ struct SelectTownWindow : Window {
|
|||
this->FinishInitNested();
|
||||
}
|
||||
|
||||
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
if (widget != WID_ST_PANEL) return;
|
||||
|
||||
|
@ -2094,7 +2094,7 @@ struct SelectTownWindow : Window {
|
|||
*size = d;
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != WID_ST_PANEL) return;
|
||||
|
||||
|
@ -2108,7 +2108,7 @@ struct SelectTownWindow : Window {
|
|||
}
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
if (widget != WID_ST_PANEL) return;
|
||||
|
||||
|
|
|
@ -1809,7 +1809,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case TR_WIDGET_INSTRUCTION_LIST: {
|
||||
|
@ -2282,7 +2282,7 @@ public:
|
|||
TraceRestrictDoCommandP(tile, track, TRDCT_MODIFY_ITEM, this->selected_instruction - 1, item, STR_TRACE_RESTRICT_ERROR_CAN_T_MODIFY_ITEM);
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
TraceRestrictItem item = GetSelected();
|
||||
if (item == 0 || index < 0 || this->selected_instruction < 1) {
|
||||
|
@ -2384,7 +2384,7 @@ public:
|
|||
|
||||
virtual void OnPlaceObject(Point pt, TileIndex tile) override
|
||||
{
|
||||
int widget = this->current_placement_widget;
|
||||
WidgetID widget = this->current_placement_widget;
|
||||
if (widget != TR_WIDGET_SHARE_ONTO) {
|
||||
this->ResetObjectToPlaceAction();
|
||||
|
||||
|
@ -2431,7 +2431,7 @@ public:
|
|||
/**
|
||||
* Common OnPlaceObject handler for program management actions which involve clicking on a signal
|
||||
*/
|
||||
void OnPlaceObjectSignal(Point pt, TileIndex source_tile, int widget, int error_message)
|
||||
void OnPlaceObjectSignal(Point pt, TileIndex source_tile, WidgetID widget, int error_message)
|
||||
{
|
||||
if (!IsPlainRailTile(source_tile) && !IsRailTunnelBridgeTile(source_tile)) {
|
||||
ShowErrorMessage(error_message, STR_ERROR_THERE_IS_NO_RAILROAD_TRACK, WL_INFO);
|
||||
|
@ -2504,7 +2504,7 @@ public:
|
|||
/**
|
||||
* Common OnPlaceObject handler for instruction value modification actions which involve selecting an order target
|
||||
*/
|
||||
void OnPlaceObjectDestination(Point pt, TileIndex tile, int widget, int error_message)
|
||||
void OnPlaceObjectDestination(Point pt, TileIndex tile, WidgetID widget, int error_message)
|
||||
{
|
||||
TraceRestrictItem item = GetSelected();
|
||||
if (GetTraceRestrictTypeProperties(item).value_type != TRVT_ORDER) return;
|
||||
|
@ -2543,7 +2543,7 @@ public:
|
|||
/**
|
||||
* Common OnPlaceObject handler for instruction value modification actions which involve selecting a signal tile value
|
||||
*/
|
||||
void OnPlaceObjectSignalTileValue(Point pt, TileIndex tile, int widget, int error_message)
|
||||
void OnPlaceObjectSignalTileValue(Point pt, TileIndex tile, WidgetID widget, int error_message)
|
||||
{
|
||||
TraceRestrictItem item = GetSelected();
|
||||
TraceRestrictValueType val_type = GetTraceRestrictTypeProperties(item).value_type;
|
||||
|
@ -2576,7 +2576,7 @@ public:
|
|||
/**
|
||||
* Common OnPlaceObject handler for instruction value modification actions which involve selecting a tile value
|
||||
*/
|
||||
void OnPlaceObjectTileValue(Point pt, TileIndex tile, int widget, int error_message)
|
||||
void OnPlaceObjectTileValue(Point pt, TileIndex tile, WidgetID widget, int error_message)
|
||||
{
|
||||
TraceRestrictItem item = GetSelected();
|
||||
TraceRestrictValueType val_type = GetTraceRestrictTypeProperties(item).value_type;
|
||||
|
@ -2591,7 +2591,7 @@ public:
|
|||
this->ResetObjectToPlaceAction();
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case TR_WIDGET_INSTRUCTION_LIST:
|
||||
|
@ -2616,7 +2616,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
if (widget != TR_WIDGET_INSTRUCTION_LIST) return;
|
||||
|
||||
|
@ -2659,7 +2659,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case TR_WIDGET_VALUE_INT: {
|
||||
|
@ -2725,7 +2725,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
bool OnTooltip(Point pt, int widget, TooltipCloseCondition close_cond) override
|
||||
bool OnTooltip(Point pt, WidgetID widget, TooltipCloseCondition close_cond) override
|
||||
{
|
||||
switch (widget) {
|
||||
case TR_WIDGET_SHARE: {
|
||||
|
@ -2929,7 +2929,7 @@ private:
|
|||
|
||||
void UpdatePlaceObjectPlanes()
|
||||
{
|
||||
int widget = this->current_placement_widget;
|
||||
WidgetID widget = this->current_placement_widget;
|
||||
|
||||
if (!(widget == TR_WIDGET_COPY || widget == TR_WIDGET_COPY_APPEND)) {
|
||||
NWidgetStacked *copy_sel = this->GetWidget<NWidgetStacked>(TR_WIDGET_SEL_COPY);
|
||||
|
@ -3451,7 +3451,7 @@ private:
|
|||
/**
|
||||
* Helper function to set or unset a SetObjectToPlaceWnd, for the given widget and cursor type
|
||||
*/
|
||||
void SetObjectToPlaceAction(int widget, CursorID cursor)
|
||||
void SetObjectToPlaceAction(WidgetID widget, CursorID cursor)
|
||||
{
|
||||
if (this->current_placement_widget != -1 && widget != this->current_placement_widget) {
|
||||
ResetObjectToPlace();
|
||||
|
@ -3880,7 +3880,7 @@ public:
|
|||
this->Window::Close();
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRSL_LIST_SLOTS: {
|
||||
|
@ -3952,7 +3952,7 @@ public:
|
|||
this->SetDirty();
|
||||
}
|
||||
|
||||
virtual void SetStringParameters(int widget) const override
|
||||
virtual void SetStringParameters(WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRSL_FILTER_BY_CARGO:
|
||||
|
@ -4000,7 +4000,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRSL_ALL_VEHICLES:
|
||||
|
@ -4041,7 +4041,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRSL_SORT_BY_ORDER: // Flip sorting method ascending/descending
|
||||
|
@ -4116,7 +4116,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void OnDragDrop_Vehicle(Point pt, int widget)
|
||||
void OnDragDrop_Vehicle(Point pt, WidgetID widget)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRSL_ALL_VEHICLES: // All vehicles
|
||||
|
@ -4165,7 +4165,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnDragDrop(Point pt, int widget) override
|
||||
virtual void OnDragDrop(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (this->vehicle_sel != INVALID_VEHICLE) OnDragDrop_Vehicle(pt, widget);
|
||||
|
||||
|
@ -4192,7 +4192,7 @@ public:
|
|||
this->vscroll->SetCapacityFromWidget(this, WID_TRSL_LIST_VEHICLE);
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index) override
|
||||
virtual void OnDropdownSelect(WidgetID widget, int index) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRSL_SORT_BY_DROPDOWN:
|
||||
|
@ -4226,7 +4226,7 @@ public:
|
|||
this->SetWidgetDirty(WID_TRSL_LIST_VEHICLE);
|
||||
}
|
||||
|
||||
virtual void OnMouseDrag(Point pt, int widget) override
|
||||
virtual void OnMouseDrag(Point pt, WidgetID widget) override
|
||||
{
|
||||
if (this->vehicle_sel == INVALID_VEHICLE) return;
|
||||
|
||||
|
@ -4471,7 +4471,7 @@ public:
|
|||
this->owner = this->ctr_company;
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
virtual void UpdateWidgetSize(WidgetID widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRCL_LIST_COUNTERS: {
|
||||
|
@ -4534,7 +4534,7 @@ public:
|
|||
this->DrawWidgets();
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const override
|
||||
virtual void DrawWidget(const Rect &r, WidgetID widget) const override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRCL_LIST_COUNTERS: {
|
||||
|
@ -4564,7 +4564,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count) override
|
||||
virtual void OnClick(Point pt, WidgetID widget, int click_count) override
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_TRCL_LIST_COUNTERS: { // Matrix
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue