Merge branch 'master' into jgrpp
This commit is contained in:
142
.github/workflows/ci-build.yml
vendored
Normal file
142
.github/workflows/ci-build.yml
vendored
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linux:
|
||||||
|
name: Linux
|
||||||
|
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
compiler: [clang, gcc]
|
||||||
|
include:
|
||||||
|
- compiler: clang
|
||||||
|
cxxcompiler: clang++
|
||||||
|
- compiler: gcc
|
||||||
|
cxxcompiler: g++
|
||||||
|
env:
|
||||||
|
CTEST_OUTPUT_ON_FAILURE: 1
|
||||||
|
CC: ${{ matrix.compiler }}
|
||||||
|
CXX: ${{ matrix.cxxcompiler }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y --no-install-recommends \
|
||||||
|
libfontconfig-dev \
|
||||||
|
libicu-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
liblzo2-dev \
|
||||||
|
libsdl1.2-dev \
|
||||||
|
libsdl2-dev \
|
||||||
|
libxdg-basedir-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
# EOF
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Get OpenGFX
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.local/share/openttd/baseset
|
||||||
|
cd ~/.local/share/openttd/baseset
|
||||||
|
curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip
|
||||||
|
unzip opengfx-all.zip
|
||||||
|
rm -f opengfx-all.zip
|
||||||
|
|
||||||
|
- name: CMake
|
||||||
|
run: mkdir build && cd build && cmake ..
|
||||||
|
|
||||||
|
- uses: ammaraskar/gcc-problem-matcher@master
|
||||||
|
- name: Build
|
||||||
|
run: cd build && make -j2
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: cd build && make -j2 test
|
||||||
|
|
||||||
|
windows:
|
||||||
|
name: Windows
|
||||||
|
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
arch: [x86, x64]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Prepare vcpkg (with cache)
|
||||||
|
uses: lukka/run-vcpkg@v4
|
||||||
|
with:
|
||||||
|
vcpkgDirectory: 'c:/vcpkg'
|
||||||
|
doNotUpdateVcpkg: true
|
||||||
|
vcpkgArguments: 'liblzma libpng lzo zlib'
|
||||||
|
vcpkgTriplet: '${{ matrix.arch }}-windows-static'
|
||||||
|
|
||||||
|
- uses: ammaraskar/msvc-problem-matcher@master
|
||||||
|
- name: 'Build'
|
||||||
|
uses: lukka/run-cmake@v3
|
||||||
|
with:
|
||||||
|
cmakeListsOrSettingsJson: CMakeListsTxtBasic
|
||||||
|
useVcpkgToolchainFile: true
|
||||||
|
buildDirectory: '${{ runner.workspace }}/build'
|
||||||
|
|
||||||
|
- name: Install OpenGFX
|
||||||
|
run: |
|
||||||
|
mkdir -p "C:/Users/Public/Documents/OpenTTD/baseset"
|
||||||
|
cd "C:/Users/Public/Documents/OpenTTD/baseset"
|
||||||
|
curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip
|
||||||
|
unzip opengfx-all.zip
|
||||||
|
rm -f opengfx-all.zip
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
cd ${{ runner.workspace }}/build
|
||||||
|
ctest -C Debug
|
||||||
|
|
||||||
|
macos:
|
||||||
|
name: Mac OS
|
||||||
|
|
||||||
|
runs-on: macos-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
env:
|
||||||
|
CTEST_OUTPUT_ON_FAILURE: 1
|
||||||
|
MACOSX_DEPLOYMENT_TARGET: 10.9
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: brew install pkg-config lzo xz libpng freetype
|
||||||
|
env:
|
||||||
|
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||||
|
|
||||||
|
- name: Install OpenGFX
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/Documents/OpenTTD/baseset
|
||||||
|
cd ~/Documents//OpenTTD/baseset
|
||||||
|
curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip
|
||||||
|
unzip opengfx-all.zip
|
||||||
|
rm -f opengfx-all.zip
|
||||||
|
|
||||||
|
- name: CMake
|
||||||
|
run: mkdir build && cd build && cmake ..
|
||||||
|
|
||||||
|
- uses: ammaraskar/gcc-problem-matcher@master
|
||||||
|
- name: Build
|
||||||
|
run: cd build && make -j2
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: cd build && make -j2 test
|
106
CMakeLists.txt
106
CMakeLists.txt
@@ -1,23 +1,23 @@
|
|||||||
cmake_minimum_required(VERSION 3.6)
|
cmake_minimum_required(VERSION 3.6)
|
||||||
|
|
||||||
if (NOT BINARY_NAME)
|
if(NOT BINARY_NAME)
|
||||||
set(BINARY_NAME openttd)
|
set(BINARY_NAME openttd)
|
||||||
endif (NOT BINARY_NAME)
|
endif()
|
||||||
|
|
||||||
project(${BINARY_NAME})
|
project(${BINARY_NAME})
|
||||||
|
|
||||||
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
|
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
|
||||||
message(FATAL_ERROR "In-source builds not allowed. Please run \"cmake ..\" from the bin directory")
|
message(FATAL_ERROR "In-source builds not allowed. Please run \"cmake ..\" from the bin directory")
|
||||||
endif (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
|
endif()
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
|
||||||
|
|
||||||
# Use GNUInstallDirs to allow customisation
|
# Use GNUInstallDirs to allow customisation
|
||||||
# but set our own default data dir
|
# but set our own default data dir
|
||||||
if (NOT CMAKE_INSTALL_DATADIR)
|
if(NOT CMAKE_INSTALL_DATADIR)
|
||||||
set(CMAKE_INSTALL_DATADIR "share/games")
|
set(CMAKE_INSTALL_DATADIR "share/games")
|
||||||
endif (NOT CMAKE_INSTALL_DATADIR)
|
endif()
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
include(Options)
|
include(Options)
|
||||||
@@ -37,19 +37,19 @@ find_package(LibLZMA)
|
|||||||
find_package(LZO)
|
find_package(LZO)
|
||||||
find_package(PNG)
|
find_package(PNG)
|
||||||
|
|
||||||
if (NOT WIN32)
|
if(NOT WIN32)
|
||||||
find_package(Allegro)
|
find_package(Allegro)
|
||||||
find_package(Freetype)
|
find_package(Freetype)
|
||||||
if (NOT APPLE)
|
if(NOT APPLE)
|
||||||
find_package(SDL2)
|
find_package(SDL2)
|
||||||
if (NOT SDL2_FOUND)
|
if(NOT SDL2_FOUND)
|
||||||
find_package(SDL)
|
find_package(SDL)
|
||||||
endif( NOT SDL2_FOUND)
|
endif()
|
||||||
find_package(Fluidsynth)
|
find_package(Fluidsynth)
|
||||||
find_package(Fontconfig)
|
find_package(Fontconfig)
|
||||||
find_package(ICU OPTIONAL_COMPONENTS i18n lx)
|
find_package(ICU OPTIONAL_COMPONENTS i18n lx)
|
||||||
find_package(XDG_basedir)
|
find_package(XDG_basedir)
|
||||||
else (NOT APPLE)
|
else()
|
||||||
find_package(Iconv)
|
find_package(Iconv)
|
||||||
|
|
||||||
find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
|
find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
|
||||||
@@ -57,14 +57,14 @@ if (NOT WIN32)
|
|||||||
find_library(COCOA_LIBRARY Cocoa)
|
find_library(COCOA_LIBRARY Cocoa)
|
||||||
|
|
||||||
find_package(MacUcontext)
|
find_package(MacUcontext)
|
||||||
endif (NOT APPLE)
|
endif()
|
||||||
endif (NOT WIN32)
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
find_package(Editbin REQUIRED)
|
find_package(Editbin REQUIRED)
|
||||||
else ()
|
else()
|
||||||
find_package(Builtins)
|
find_package(Builtins)
|
||||||
endif (MSVC)
|
endif()
|
||||||
|
|
||||||
if (UNIX)
|
if (UNIX)
|
||||||
find_package(DL)
|
find_package(DL)
|
||||||
@@ -94,38 +94,38 @@ find_package(Grfcodec)
|
|||||||
|
|
||||||
# IPO is only properly supported from CMake 3.9. Despite the fact we are
|
# IPO is only properly supported from CMake 3.9. Despite the fact we are
|
||||||
# CMake 3.5, still enable IPO if we detect we are 3.9+.
|
# CMake 3.5, still enable IPO if we detect we are 3.9+.
|
||||||
if (POLICY CMP0069)
|
if(POLICY CMP0069)
|
||||||
cmake_policy(SET CMP0069 NEW)
|
cmake_policy(SET CMP0069 NEW)
|
||||||
include(CheckIPOSupported)
|
include(CheckIPOSupported)
|
||||||
check_ipo_supported(RESULT IPO_FOUND)
|
check_ipo_supported(RESULT IPO_FOUND)
|
||||||
endif (POLICY CMP0069)
|
endif()
|
||||||
|
|
||||||
show_options()
|
show_options()
|
||||||
|
|
||||||
if (UNIX AND NOT APPLE AND NOT OPTION_DEDICATED)
|
if(UNIX AND NOT APPLE AND NOT OPTION_DEDICATED)
|
||||||
if (NOT SDL_FOUND AND NOT SDL2_FOUND)
|
if(NOT SDL_FOUND AND NOT SDL2_FOUND)
|
||||||
message(FATAL_ERROR "SDL or SDL2 is required for this platform")
|
message(FATAL_ERROR "SDL or SDL2 is required for this platform")
|
||||||
endif (NOT SDL_FOUND AND NOT SDL2_FOUND)
|
endif()
|
||||||
endif (UNIX AND NOT APPLE AND NOT OPTION_DEDICATED)
|
endif()
|
||||||
if (APPLE)
|
if(APPLE)
|
||||||
if (NOT AUDIOTOOLBOX_LIBRARY)
|
if(NOT AUDIOTOOLBOX_LIBRARY)
|
||||||
message(FATAL_ERROR "AudioToolbox is required for this platform")
|
message(FATAL_ERROR "AudioToolbox is required for this platform")
|
||||||
endif (NOT AUDIOTOOLBOX_LIBRARY)
|
endif()
|
||||||
if (NOT AUDIOUNIT_LIBRARY)
|
if(NOT AUDIOUNIT_LIBRARY)
|
||||||
message(FATAL_ERROR "AudioUnit is required for this platform")
|
message(FATAL_ERROR "AudioUnit is required for this platform")
|
||||||
endif (NOT AUDIOUNIT_LIBRARY)
|
endif()
|
||||||
if (NOT COCOA_LIBRARY)
|
if(NOT COCOA_LIBRARY)
|
||||||
message(FATAL_ERROR "Cocoa is required for this platform")
|
message(FATAL_ERROR "Cocoa is required for this platform")
|
||||||
endif (NOT COCOA_LIBRARY)
|
endif()
|
||||||
endif (APPLE)
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
# C++17 for MSVC
|
# C++17 for MSVC
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
else (MSVC)
|
else()
|
||||||
# C++11 for all other targets
|
# C++11 for all other targets
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
endif (MSVC)
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED YES)
|
set(CMAKE_CXX_STANDARD_REQUIRED YES)
|
||||||
set(CMAKE_CXX_EXTENSIONS NO)
|
set(CMAKE_CXX_EXTENSIONS NO)
|
||||||
@@ -133,9 +133,9 @@ set(CMAKE_CXX_EXTENSIONS NO)
|
|||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS YES)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS YES)
|
||||||
|
|
||||||
list(APPEND GENERATED_SOURCE_FILES "${CMAKE_BINARY_DIR}/generated/rev.cpp")
|
list(APPEND GENERATED_SOURCE_FILES "${CMAKE_BINARY_DIR}/generated/rev.cpp")
|
||||||
if (WIN32)
|
if(WIN32)
|
||||||
list(APPEND GENERATED_SOURCE_FILES "${CMAKE_BINARY_DIR}/generated/ottdres.rc")
|
list(APPEND GENERATED_SOURCE_FILES "${CMAKE_BINARY_DIR}/generated/ottdres.rc")
|
||||||
endif (WIN32)
|
endif()
|
||||||
|
|
||||||
include(SourceList)
|
include(SourceList)
|
||||||
include(Endian)
|
include(Endian)
|
||||||
@@ -210,17 +210,17 @@ target_link_libraries(openttd
|
|||||||
Threads::Threads
|
Threads::Threads
|
||||||
)
|
)
|
||||||
|
|
||||||
if (IPO_FOUND)
|
if(IPO_FOUND)
|
||||||
set_target_properties(openttd PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE True)
|
set_target_properties(openttd PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE True)
|
||||||
set_target_properties(openttd PROPERTIES INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL True)
|
set_target_properties(openttd PROPERTIES INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL True)
|
||||||
set_target_properties(openttd PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO True)
|
set_target_properties(openttd PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO True)
|
||||||
endif (IPO_FOUND)
|
endif()
|
||||||
set_target_properties(openttd PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/bin")
|
set_target_properties(openttd PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/bin")
|
||||||
process_compile_flags()
|
process_compile_flags()
|
||||||
|
|
||||||
if (APPLE OR UNIX)
|
if(APPLE OR UNIX)
|
||||||
add_definitions(-DUNIX)
|
add_definitions(-DUNIX)
|
||||||
endif (APPLE OR UNIX)
|
endif()
|
||||||
|
|
||||||
include(LinkPackage)
|
include(LinkPackage)
|
||||||
link_package(PNG TARGET PNG::PNG ENCOURAGED)
|
link_package(PNG TARGET PNG::PNG ENCOURAGED)
|
||||||
@@ -229,7 +229,7 @@ link_package(LIBLZMA TARGET LibLZMA::LibLZMA ENCOURAGED)
|
|||||||
link_package(LZO ENCOURAGED)
|
link_package(LZO ENCOURAGED)
|
||||||
link_package(XDG_basedir)
|
link_package(XDG_basedir)
|
||||||
|
|
||||||
if (NOT OPTION_DEDICATED)
|
if(NOT OPTION_DEDICATED)
|
||||||
link_package(Fluidsynth)
|
link_package(Fluidsynth)
|
||||||
link_package(SDL)
|
link_package(SDL)
|
||||||
link_package(SDL2 TARGET SDL2::SDL2)
|
link_package(SDL2 TARGET SDL2::SDL2)
|
||||||
@@ -241,9 +241,9 @@ if (NOT OPTION_DEDICATED)
|
|||||||
link_package(Fcitx)
|
link_package(Fcitx)
|
||||||
link_package(DBus1)
|
link_package(DBus1)
|
||||||
link_package(X11)
|
link_package(X11)
|
||||||
endif (NOT OPTION_DEDICATED)
|
endif()
|
||||||
|
|
||||||
if (APPLE)
|
if(APPLE)
|
||||||
link_package(Iconv TARGET Iconv::Iconv)
|
link_package(Iconv TARGET Iconv::Iconv)
|
||||||
|
|
||||||
target_link_libraries(openttd
|
target_link_libraries(openttd
|
||||||
@@ -256,33 +256,33 @@ if (APPLE)
|
|||||||
-DWITH_COCOA
|
-DWITH_COCOA
|
||||||
-DENABLE_COCOA_QUARTZ
|
-DENABLE_COCOA_QUARTZ
|
||||||
)
|
)
|
||||||
endif (APPLE)
|
endif()
|
||||||
|
|
||||||
if (NOT PERSONAL_DIR STREQUAL "(not set)")
|
if(NOT PERSONAL_DIR STREQUAL "(not set)")
|
||||||
add_definitions(
|
add_definitions(
|
||||||
-DWITH_PERSONAL_DIR
|
-DWITH_PERSONAL_DIR
|
||||||
-DPERSONAL_DIR="${PERSONAL_DIR}"
|
-DPERSONAL_DIR="${PERSONAL_DIR}"
|
||||||
)
|
)
|
||||||
endif (NOT PERSONAL_DIR STREQUAL "(not set)")
|
endif()
|
||||||
|
|
||||||
if (NOT SHARED_DIR STREQUAL "(not set)")
|
if(NOT SHARED_DIR STREQUAL "(not set)")
|
||||||
add_definitions(
|
add_definitions(
|
||||||
-DWITH_SHARED_DIR
|
-DWITH_SHARED_DIR
|
||||||
-DSHARED_DIR="${SHARED_DIR}"
|
-DSHARED_DIR="${SHARED_DIR}"
|
||||||
)
|
)
|
||||||
endif (NOT SHARED_DIR STREQUAL "(not set)")
|
endif()
|
||||||
|
|
||||||
if (NOT GLOBAL_DIR STREQUAL "(not set)")
|
if(NOT GLOBAL_DIR STREQUAL "(not set)")
|
||||||
add_definitions(
|
add_definitions(
|
||||||
-DGLOBAL_DATA_DIR="${GLOBAL_DIR}"
|
-DGLOBAL_DATA_DIR="${GLOBAL_DIR}"
|
||||||
)
|
)
|
||||||
endif (NOT GLOBAL_DIR STREQUAL "(not set)")
|
endif()
|
||||||
|
|
||||||
link_package(SSE)
|
link_package(SSE)
|
||||||
|
|
||||||
add_definitions_based_on_options()
|
add_definitions_based_on_options()
|
||||||
|
|
||||||
if (WIN32)
|
if(WIN32)
|
||||||
add_definitions(
|
add_definitions(
|
||||||
-DUNICODE
|
-DUNICODE
|
||||||
-D_UNICODE
|
-D_UNICODE
|
||||||
@@ -295,11 +295,11 @@ if (WIN32)
|
|||||||
imm32
|
imm32
|
||||||
usp10
|
usp10
|
||||||
)
|
)
|
||||||
endif (WIN32)
|
endif()
|
||||||
|
|
||||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
add_definitions(-D_SQ64)
|
add_definitions(-D_SQ64)
|
||||||
endif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
endif()
|
||||||
|
|
||||||
include(CreateRegression)
|
include(CreateRegression)
|
||||||
create_regression()
|
create_regression()
|
||||||
|
@@ -1,93 +0,0 @@
|
|||||||
trigger:
|
|
||||||
- master
|
|
||||||
- release/*
|
|
||||||
pr:
|
|
||||||
- master
|
|
||||||
- release/*
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: windows
|
|
||||||
displayName: 'Windows'
|
|
||||||
pool:
|
|
||||||
vmImage: 'VS2017-Win2016'
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
Win32:
|
|
||||||
BuildArch: 'Win32'
|
|
||||||
VcpkgTargetTriplet: 'x86-windows-static'
|
|
||||||
Win64:
|
|
||||||
BuildArch: 'x64'
|
|
||||||
VcpkgTargetTriplet: 'x64-windows-static'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- template: azure-pipelines/templates/ci-git-rebase.yml
|
|
||||||
- template: azure-pipelines/templates/windows-dependencies.yml
|
|
||||||
- template: azure-pipelines/templates/ci-opengfx.yml
|
|
||||||
parameters:
|
|
||||||
SharedFolder: C:/Users/Public/Documents/OpenTTD
|
|
||||||
- template: azure-pipelines/templates/windows-build.yml
|
|
||||||
parameters:
|
|
||||||
BuildArch: $(BuildArch)
|
|
||||||
VcpkgTargetTriplet: $(VcpkgTargetTriplet)
|
|
||||||
BuildConfiguration: 'Debug'
|
|
||||||
- task: VSBuild@1
|
|
||||||
displayName: 'Prepare regression files'
|
|
||||||
inputs:
|
|
||||||
solution: build/regression_files.vcxproj
|
|
||||||
configuration: 'Debug'
|
|
||||||
- task: VSBuild@1
|
|
||||||
displayName: 'Test'
|
|
||||||
inputs:
|
|
||||||
solution: build/RUN_TESTS.vcxproj
|
|
||||||
configuration: 'Debug'
|
|
||||||
|
|
||||||
|
|
||||||
- job: linux
|
|
||||||
displayName: 'Linux'
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
linux-amd64-clang-3.9:
|
|
||||||
Tag: 'linux-amd64-clang-3.9'
|
|
||||||
linux-amd64-gcc-6:
|
|
||||||
Tag: 'linux-amd64-gcc-6'
|
|
||||||
linux-i386-gcc-6:
|
|
||||||
Tag: 'linux-i386-gcc-6'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- template: azure-pipelines/templates/ci-git-rebase.yml
|
|
||||||
# The dockers already have the dependencies installed
|
|
||||||
- template: azure-pipelines/templates/ci-opengfx.yml
|
|
||||||
parameters:
|
|
||||||
SharedFolder: /usr/local/share/games/openttd
|
|
||||||
PrefixCommand: sudo
|
|
||||||
- template: azure-pipelines/templates/linux-build.yml
|
|
||||||
parameters:
|
|
||||||
Image: compile-farm-ci
|
|
||||||
Tag: $(Tag)
|
|
||||||
|
|
||||||
- job: macos
|
|
||||||
displayName: 'MacOS'
|
|
||||||
pool:
|
|
||||||
vmImage: 'macOS-10.14'
|
|
||||||
|
|
||||||
variables:
|
|
||||||
MACOSX_DEPLOYMENT_TARGET: 10.9
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- template: azure-pipelines/templates/ci-git-rebase.yml
|
|
||||||
- template: azure-pipelines/templates/osx-dependencies.yml
|
|
||||||
- template: azure-pipelines/templates/ci-opengfx.yml
|
|
||||||
parameters:
|
|
||||||
SharedFolder: /Library/Application Support/OpenTTD
|
|
||||||
PrefixCommand: sudo
|
|
||||||
- template: azure-pipelines/templates/osx-build.yml
|
|
||||||
- script: |
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
cd build
|
|
||||||
CTEST_OUTPUT_ON_FAILURE=1 make test
|
|
||||||
displayName: 'Test'
|
|
@@ -1,10 +0,0 @@
|
|||||||
steps:
|
|
||||||
# Rebase to target branch for every PR. This means users don't have to
|
|
||||||
# rebase every time target branch changes. As long as the PR applies cleanly, we
|
|
||||||
# will validate it.
|
|
||||||
- bash: |
|
|
||||||
git config user.email 'info@openttd.org'
|
|
||||||
git config user.name 'OpenTTD CI'
|
|
||||||
git rebase origin/${SYSTEM_PULLREQUEST_TARGETBRANCH}
|
|
||||||
displayName: 'Rebase to target branch'
|
|
||||||
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
|
|
@@ -1,13 +0,0 @@
|
|||||||
parameters:
|
|
||||||
SharedFolder: '/usr/local/share/games/openttd'
|
|
||||||
PrefixCommand: ''
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- bash: |
|
|
||||||
set -ex
|
|
||||||
${{ parameters.PrefixCommand }} mkdir -p "${{ parameters.SharedFolder }}/baseset"
|
|
||||||
cd "${{ parameters.SharedFolder }}/baseset"
|
|
||||||
${{ parameters.PrefixCommand }} curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip
|
|
||||||
${{ parameters.PrefixCommand }} unzip opengfx-all.zip
|
|
||||||
${{ parameters.PrefixCommand }} rm -f opengfx-all.zip
|
|
||||||
displayName: 'Install OpenGFX'
|
|
@@ -9,7 +9,7 @@ macro(_parse_arguments_with_multi_hack ORIGINAL_COMMAND_LINE)
|
|||||||
|
|
||||||
foreach(MULTI IN LISTS MULTIS)
|
foreach(MULTI IN LISTS MULTIS)
|
||||||
string(REPLACE "${MULTI}" "${MULTI};:::" COMMAND_LINE "${COMMAND_LINE}")
|
string(REPLACE "${MULTI}" "${MULTI};:::" COMMAND_LINE "${COMMAND_LINE}")
|
||||||
endforeach(MULTI)
|
endforeach()
|
||||||
|
|
||||||
cmake_parse_arguments(PARAM "${OPTIONS}" "${SINGLES}" "${MULTIS}" ${COMMAND_LINE})
|
cmake_parse_arguments(PARAM "${OPTIONS}" "${SINGLES}" "${MULTIS}" ${COMMAND_LINE})
|
||||||
endmacro()
|
endmacro()
|
||||||
@@ -19,25 +19,25 @@ macro(_reassemble_command_line)
|
|||||||
set(NEW_COMMAND_LINE ${PARAM_UNPARSED_ARGUMENTS})
|
set(NEW_COMMAND_LINE ${PARAM_UNPARSED_ARGUMENTS})
|
||||||
|
|
||||||
foreach(OPTION IN LISTS OPTIONS)
|
foreach(OPTION IN LISTS OPTIONS)
|
||||||
if (PARAM_${OPTION})
|
if(PARAM_${OPTION})
|
||||||
list(APPEND NEW_COMMAND_LINE "${OPTION}")
|
list(APPEND NEW_COMMAND_LINE "${OPTION}")
|
||||||
endif (PARAM_${OPTION})
|
endif()
|
||||||
endforeach(OPTION)
|
endforeach()
|
||||||
|
|
||||||
foreach(SINGLE IN LISTS SINGLES)
|
foreach(SINGLE IN LISTS SINGLES)
|
||||||
if (PARAM_${SINGLE})
|
if(PARAM_${SINGLE})
|
||||||
list(APPEND NEW_COMMAND_LINE "${SINGLE}" "${PARAM_${SINGLE}}")
|
list(APPEND NEW_COMMAND_LINE "${SINGLE}" "${PARAM_${SINGLE}}")
|
||||||
endif (PARAM_${SINGLE})
|
endif()
|
||||||
endforeach(SINGLE)
|
endforeach()
|
||||||
|
|
||||||
foreach(MULTI IN LISTS MULTIS)
|
foreach(MULTI IN LISTS MULTIS)
|
||||||
if (PARAM_${MULTI})
|
if(PARAM_${MULTI})
|
||||||
# Replace our special marker with the name of the MULTI again. This
|
# Replace our special marker with the name of the MULTI again. This
|
||||||
# restores for example multiple COMMANDs again.
|
# restores for example multiple COMMANDs again.
|
||||||
string(REPLACE ":::" "${MULTI}" PARAM_${MULTI} "${PARAM_${MULTI}}")
|
string(REPLACE ":::" "${MULTI}" PARAM_${MULTI} "${PARAM_${MULTI}}")
|
||||||
list(APPEND NEW_COMMAND_LINE "${PARAM_${MULTI}}")
|
list(APPEND NEW_COMMAND_LINE "${PARAM_${MULTI}}")
|
||||||
endif (PARAM_${MULTI})
|
endif()
|
||||||
endforeach(MULTI)
|
endforeach()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# Generated files can be older than their dependencies, causing useless
|
# Generated files can be older than their dependencies, causing useless
|
||||||
@@ -72,9 +72,9 @@ function(add_custom_command_timestamp)
|
|||||||
# Reset the OUTPUT and BYPRODUCTS as an empty list (if needed).
|
# Reset the OUTPUT and BYPRODUCTS as an empty list (if needed).
|
||||||
# Because they are MULTIS, we need to add our special marker here.
|
# Because they are MULTIS, we need to add our special marker here.
|
||||||
set(PARAM_OUTPUT ":::")
|
set(PARAM_OUTPUT ":::")
|
||||||
if (NOT PARAM_BYPRODUCTS)
|
if(NOT PARAM_BYPRODUCTS)
|
||||||
set(PARAM_BYPRODUCTS ":::")
|
set(PARAM_BYPRODUCTS ":::")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
foreach(OUTPUT IN LISTS OUTPUTS)
|
foreach(OUTPUT IN LISTS OUTPUTS)
|
||||||
# For every output, we add a 'cmake -E touch' entry to update the
|
# For every output, we add a 'cmake -E touch' entry to update the
|
||||||
@@ -91,12 +91,12 @@ function(add_custom_command_timestamp)
|
|||||||
# add_custom_target_timestamp() to know if we should point to the
|
# add_custom_target_timestamp() to know if we should point to the
|
||||||
# '.timestamp' variant or not.
|
# '.timestamp' variant or not.
|
||||||
set_source_files_properties(${OUTPUT} PROPERTIES BYPRODUCT ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILENAME}.timestamp)
|
set_source_files_properties(${OUTPUT} PROPERTIES BYPRODUCT ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILENAME}.timestamp)
|
||||||
endforeach(OUTPUT)
|
endforeach()
|
||||||
|
|
||||||
# Reassemble and call the wrapped command
|
# Reassemble and call the wrapped command
|
||||||
_reassemble_command_line()
|
_reassemble_command_line()
|
||||||
add_custom_command(${NEW_COMMAND_LINE})
|
add_custom_command(${NEW_COMMAND_LINE})
|
||||||
endfunction(add_custom_command_timestamp)
|
endfunction()
|
||||||
|
|
||||||
# Generated files can be older than their dependencies, causing useless
|
# Generated files can be older than their dependencies, causing useless
|
||||||
# regenerations. This function adds a .timestamp file for each file in DEPENDS
|
# regenerations. This function adds a .timestamp file for each file in DEPENDS
|
||||||
@@ -130,16 +130,16 @@ function(add_custom_target_timestamp)
|
|||||||
# Check if the output is produced by add_custom_command_timestamp()
|
# Check if the output is produced by add_custom_command_timestamp()
|
||||||
get_source_file_property(BYPRODUCT ${DEPEND} BYPRODUCT)
|
get_source_file_property(BYPRODUCT ${DEPEND} BYPRODUCT)
|
||||||
|
|
||||||
if (BYPRODUCT STREQUAL "NOTFOUND")
|
if(BYPRODUCT STREQUAL "NOTFOUND")
|
||||||
# If it is not, just keep it as DEPEND
|
# If it is not, just keep it as DEPEND
|
||||||
list(APPEND PARAM_DEPENDS "${DEPEND}")
|
list(APPEND PARAM_DEPENDS "${DEPEND}")
|
||||||
else (BYPRODUCT STREQUAL "NOTFOUND")
|
else()
|
||||||
# If it is, the BYPRODUCT property points to the timestamp we want to depend on
|
# If it is, the BYPRODUCT property points to the timestamp we want to depend on
|
||||||
list(APPEND PARAM_DEPENDS "${BYPRODUCT}")
|
list(APPEND PARAM_DEPENDS "${BYPRODUCT}")
|
||||||
endif (BYPRODUCT STREQUAL "NOTFOUND")
|
endif()
|
||||||
endforeach(DEPEND)
|
endforeach()
|
||||||
|
|
||||||
# Reassemble and call the wrapped command
|
# Reassemble and call the wrapped command
|
||||||
_reassemble_command_line()
|
_reassemble_command_line()
|
||||||
add_custom_target(${NEW_COMMAND_LINE})
|
add_custom_target(${NEW_COMMAND_LINE})
|
||||||
endfunction(add_custom_target_timestamp)
|
endfunction()
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
# compile_flags()
|
# compile_flags()
|
||||||
#
|
#
|
||||||
macro(compile_flags)
|
macro(compile_flags)
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
# Switch to MT (static) instead of MD (dynamic) binary
|
# Switch to MT (static) instead of MD (dynamic) binary
|
||||||
|
|
||||||
# For MSVC two generators are available
|
# For MSVC two generators are available
|
||||||
@@ -23,14 +23,14 @@ macro(compile_flags)
|
|||||||
# C++11 standard". We need C++11 for the way we use threads.
|
# C++11 standard". We need C++11 for the way we use threads.
|
||||||
add_compile_options(/Zc:rvalueCast)
|
add_compile_options(/Zc:rvalueCast)
|
||||||
|
|
||||||
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
# Enable multi-threaded compilation.
|
# Enable multi-threaded compilation.
|
||||||
add_compile_options(/MP)
|
add_compile_options(/MP)
|
||||||
endif(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
endif()
|
||||||
|
|
||||||
# Add DPI manifest to project; other WIN32 targets get this via ottdres.rc
|
# Add DPI manifest to project; other WIN32 targets get this via ottdres.rc
|
||||||
list(APPEND GENERATED_SOURCE_FILES "${CMAKE_SOURCE_DIR}/os/windows/openttd.manifest")
|
list(APPEND GENERATED_SOURCE_FILES "${CMAKE_SOURCE_DIR}/os/windows/openttd.manifest")
|
||||||
endif (MSVC)
|
endif()
|
||||||
|
|
||||||
# Add some -D flags for Debug builds. We cannot use add_definitions(), because
|
# Add some -D flags for Debug builds. We cannot use add_definitions(), because
|
||||||
# it does not appear to support the $<> tags.
|
# it does not appear to support the $<> tags.
|
||||||
@@ -38,19 +38,19 @@ macro(compile_flags)
|
|||||||
"$<$<CONFIG:Debug>:-D_DEBUG>"
|
"$<$<CONFIG:Debug>:-D_DEBUG>"
|
||||||
"$<$<NOT:$<CONFIG:Debug>>:-D_FORTIFY_SOURCE=2>" # FORTIFY_SOURCE should only be used in non-debug builds (requires -O1+)
|
"$<$<NOT:$<CONFIG:Debug>>:-D_FORTIFY_SOURCE=2>" # FORTIFY_SOURCE should only be used in non-debug builds (requires -O1+)
|
||||||
)
|
)
|
||||||
if (MINGW)
|
if(MINGW)
|
||||||
add_link_options(
|
add_link_options(
|
||||||
"$<$<NOT:$<CONFIG:Debug>>:-fstack-protector>" # Prevent undefined references when _FORTIFY_SOURCE > 0
|
"$<$<NOT:$<CONFIG:Debug>>:-fstack-protector>" # Prevent undefined references when _FORTIFY_SOURCE > 0
|
||||||
)
|
)
|
||||||
endif (MINGW)
|
endif()
|
||||||
|
|
||||||
# Prepare a generator that checks if we are not a debug, and don't have asserts
|
# Prepare a generator that checks if we are not a debug, and don't have asserts
|
||||||
# on. We need this later on to set some compile options for stable releases.
|
# on. We need this later on to set some compile options for stable releases.
|
||||||
#set(IS_STABLE_RELEASE "$<AND:$<NOT:$<CONFIG:Debug>>,$<NOT:$<BOOL:${OPTION_USE_ASSERTS}>>>")
|
#set(IS_STABLE_RELEASE "$<AND:$<NOT:$<CONFIG:Debug>>,$<NOT:$<BOOL:${OPTION_USE_ASSERTS}>>>")
|
||||||
|
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
add_compile_options(/W3)
|
add_compile_options(/W3)
|
||||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
-W
|
-W
|
||||||
-Wall
|
-Wall
|
||||||
@@ -104,15 +104,15 @@ macro(compile_flags)
|
|||||||
# non-coloured output. We can override this to get nicely
|
# non-coloured output. We can override this to get nicely
|
||||||
# coloured output, but since that might yield odd results with
|
# coloured output, but since that might yield odd results with
|
||||||
# IDEs, we extract it to an option.
|
# IDEs, we extract it to an option.
|
||||||
if (OPTION_FORCE_COLORED_OUTPUT)
|
if(OPTION_FORCE_COLORED_OUTPUT)
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
add_compile_options (-fdiagnostics-color=always)
|
add_compile_options (-fdiagnostics-color=always)
|
||||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
add_compile_options (-fcolor-diagnostics)
|
add_compile_options (-fcolor-diagnostics)
|
||||||
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
endif()
|
||||||
endif (OPTION_FORCE_COLORED_OUTPUT)
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
include(CheckCXXCompilerFlag)
|
include(CheckCXXCompilerFlag)
|
||||||
check_cxx_compiler_flag("-flifetime-dse=1" LIFETIME_DSE_FOUND)
|
check_cxx_compiler_flag("-flifetime-dse=1" LIFETIME_DSE_FOUND)
|
||||||
|
|
||||||
@@ -131,14 +131,14 @@ macro(compile_flags)
|
|||||||
# well with our custom pool item allocator
|
# well with our custom pool item allocator
|
||||||
"$<$<BOOL:${LIFETIME_DSE_FOUND}>:-flifetime-dse=1>"
|
"$<$<BOOL:${LIFETIME_DSE_FOUND}>:-flifetime-dse=1>"
|
||||||
)
|
)
|
||||||
endif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
endif()
|
||||||
|
|
||||||
if (APPLE)
|
if(APPLE)
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
-fno-stack-check
|
-fno-stack-check
|
||||||
)
|
)
|
||||||
endif (APPLE)
|
endif()
|
||||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
-Wall
|
-Wall
|
||||||
# warning #873: function ... ::operator new ... has no corresponding operator delete ...
|
# warning #873: function ... ::operator new ... has no corresponding operator delete ...
|
||||||
@@ -150,12 +150,12 @@ macro(compile_flags)
|
|||||||
# warning #2160: anonymous union qualifier is ignored
|
# warning #2160: anonymous union qualifier is ignored
|
||||||
-wd2160
|
-wd2160
|
||||||
)
|
)
|
||||||
else ()
|
else()
|
||||||
message(FATAL_ERROR "No warning flags are set for this compiler yet; please consider creating a Pull Request to add support for this compiler.")
|
message(FATAL_ERROR "No warning flags are set for this compiler yet; please consider creating a Pull Request to add support for this compiler.")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
if (NOT WIN32)
|
if(NOT WIN32)
|
||||||
# rdynamic is used to get useful stack traces from crash reports.
|
# rdynamic is used to get useful stack traces from crash reports.
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rdynamic")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rdynamic")
|
||||||
endif (NOT WIN32)
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
@@ -26,7 +26,7 @@ function(create_grf_command)
|
|||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND GRF_PNG_BINARY_FILES ${GRF_PNG_BINARY_FILE})
|
list(APPEND GRF_PNG_BINARY_FILES ${GRF_PNG_BINARY_FILE})
|
||||||
endforeach(GRF_PNG_SOURCE_FILE)
|
endforeach()
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${GRF_BINARY_FILE}
|
add_custom_command(OUTPUT ${GRF_BINARY_FILE}
|
||||||
COMMAND ${CMAKE_COMMAND}
|
COMMAND ${CMAKE_COMMAND}
|
||||||
|
@@ -13,9 +13,9 @@ macro(create_regression)
|
|||||||
string(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/regression/" "${CMAKE_BINARY_DIR}/ai/" REGRESSION_BINARY_FILE "${REGRESSION_SOURCE_FILE}")
|
string(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/regression/" "${CMAKE_BINARY_DIR}/ai/" REGRESSION_BINARY_FILE "${REGRESSION_SOURCE_FILE}")
|
||||||
string(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/regression/" "" REGRESSION_SOURCE_FILE_NAME "${REGRESSION_SOURCE_FILE}")
|
string(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/regression/" "" REGRESSION_SOURCE_FILE_NAME "${REGRESSION_SOURCE_FILE}")
|
||||||
|
|
||||||
if ("${REGRESSION_SOURCE_FILE_NAME}" STREQUAL "regression.cfg")
|
if("${REGRESSION_SOURCE_FILE_NAME}" STREQUAL "regression.cfg")
|
||||||
continue()
|
continue()
|
||||||
endif ("${REGRESSION_SOURCE_FILE_NAME}" STREQUAL "regression.cfg")
|
endif()
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${REGRESSION_BINARY_FILE}
|
add_custom_command(OUTPUT ${REGRESSION_BINARY_FILE}
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy
|
COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
@@ -26,7 +26,7 @@ macro(create_regression)
|
|||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND REGRESSION_BINARY_FILES ${REGRESSION_BINARY_FILE})
|
list(APPEND REGRESSION_BINARY_FILES ${REGRESSION_BINARY_FILE})
|
||||||
endforeach(REGRESSION_SOURCE_FILE)
|
endforeach()
|
||||||
|
|
||||||
# Copy the regression configuration in a special folder, so all autogenerated
|
# Copy the regression configuration in a special folder, so all autogenerated
|
||||||
# folders end up in the same place after running regression.
|
# folders end up in the same place after running regression.
|
||||||
@@ -53,9 +53,9 @@ macro(create_regression)
|
|||||||
foreach(REGRESSION_TEST IN LISTS REGRESSION_TESTS)
|
foreach(REGRESSION_TEST IN LISTS REGRESSION_TESTS)
|
||||||
get_filename_component(REGRESSION_TEST_NAME "${REGRESSION_TEST}" NAME)
|
get_filename_component(REGRESSION_TEST_NAME "${REGRESSION_TEST}" NAME)
|
||||||
|
|
||||||
if ("${REGRESSION_TEST_NAME}" STREQUAL "regression.cfg")
|
if("${REGRESSION_TEST_NAME}" STREQUAL "regression.cfg")
|
||||||
continue()
|
continue()
|
||||||
endif ("${REGRESSION_TEST_NAME}" STREQUAL "regression.cfg")
|
endif()
|
||||||
|
|
||||||
add_custom_target(regression_${REGRESSION_TEST_NAME}
|
add_custom_target(regression_${REGRESSION_TEST_NAME}
|
||||||
COMMAND ${CMAKE_COMMAND}
|
COMMAND ${CMAKE_COMMAND}
|
||||||
@@ -78,7 +78,7 @@ macro(create_regression)
|
|||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
|
|
||||||
list(APPEND REGRESSION_TARGETS regression_${REGRESSION_TEST_NAME})
|
list(APPEND REGRESSION_TARGETS regression_${REGRESSION_TEST_NAME})
|
||||||
endforeach(REGRESSION_TEST)
|
endforeach()
|
||||||
|
|
||||||
# Create a new target which runs the regression
|
# Create a new target which runs the regression
|
||||||
add_custom_target(regression
|
add_custom_target(regression
|
||||||
|
@@ -6,9 +6,9 @@ function(add_endian_definition)
|
|||||||
include(TestBigEndian)
|
include(TestBigEndian)
|
||||||
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
|
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
|
||||||
|
|
||||||
if (IS_BIG_ENDIAN)
|
if(IS_BIG_ENDIAN)
|
||||||
add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN)
|
add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN)
|
||||||
else (IS_BIG_ENDIAN)
|
else()
|
||||||
add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN)
|
add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN)
|
||||||
endif (IS_BIG_ENDIAN)
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@@ -54,10 +54,10 @@ find_package_handle_standard_args(Allegro
|
|||||||
VERSION_VAR Allegro_VERSION
|
VERSION_VAR Allegro_VERSION
|
||||||
)
|
)
|
||||||
|
|
||||||
if (Allegro_FOUND)
|
if(Allegro_FOUND)
|
||||||
set(Allegro_LIBRARIES ${Allegro_LIBRARY})
|
set(Allegro_LIBRARIES ${Allegro_LIBRARY})
|
||||||
set(Allegro_INCLUDE_DIRS ${Allegro_INCLUDE_DIR})
|
set(Allegro_INCLUDE_DIRS ${Allegro_INCLUDE_DIR})
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
Allegro_INCLUDE_DIR
|
Allegro_INCLUDE_DIR
|
||||||
|
@@ -1,15 +1,15 @@
|
|||||||
# Autodetect editbin. Only useful for MSVC.
|
# Autodetect editbin. Only useful for MSVC.
|
||||||
|
|
||||||
if (NOT EDITBIN_DIRECTORY)
|
if(NOT EDITBIN_DIRECTORY)
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||||
get_filename_component(MSVC_COMPILE_DIRECTORY ${CMAKE_CXX_COMPILER} DIRECTORY)
|
get_filename_component(MSVC_COMPILE_DIRECTORY ${CMAKE_CXX_COMPILER} DIRECTORY)
|
||||||
set(EDITBIN_DIRECTORY ${MSVC_COMPILE_DIRECTORY})
|
set(EDITBIN_DIRECTORY ${MSVC_COMPILE_DIRECTORY})
|
||||||
else (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
else()
|
||||||
# For clang-cl build
|
# For clang-cl build
|
||||||
# find editbin.exe from environmental variable VCToolsInstallDir
|
# find editbin.exe from environmental variable VCToolsInstallDir
|
||||||
set(EDITBIN_DIRECTORY "$ENV{VCToolsInstallDir}/bin/Hostx64/x64")
|
set(EDITBIN_DIRECTORY "$ENV{VCToolsInstallDir}/bin/Hostx64/x64")
|
||||||
endif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
endif()
|
||||||
endif (NOT EDITBIN_DIRECTORY)
|
endif()
|
||||||
|
|
||||||
message(CHECK_START "Finding editbin.exe")
|
message(CHECK_START "Finding editbin.exe")
|
||||||
find_program(
|
find_program(
|
||||||
@@ -17,11 +17,11 @@ find_program(
|
|||||||
HINTS ${EDITBIN_DIRECTORY}
|
HINTS ${EDITBIN_DIRECTORY}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (EDITBIN_EXECUTABLE)
|
if(EDITBIN_EXECUTABLE)
|
||||||
message(CHECK_PASS "found")
|
message(CHECK_PASS "found")
|
||||||
else (EDITBIN_EXECUTABLE)
|
else()
|
||||||
message(CHECK_FAIL "not found , please manually specify EDITBIN_DIRECTORY")
|
message(CHECK_FAIL "not found , please manually specify EDITBIN_DIRECTORY")
|
||||||
endif (EDITBIN_EXECUTABLE)
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(Editbin
|
find_package_handle_standard_args(Editbin
|
||||||
|
@@ -54,10 +54,10 @@ find_package_handle_standard_args(Fluidsynth
|
|||||||
VERSION_VAR Fluidsynth_VERSION
|
VERSION_VAR Fluidsynth_VERSION
|
||||||
)
|
)
|
||||||
|
|
||||||
if (Fluidsynth_FOUND)
|
if(Fluidsynth_FOUND)
|
||||||
set(Fluidsynth_LIBRARIES ${Fluidsynth_LIBRARY})
|
set(Fluidsynth_LIBRARIES ${Fluidsynth_LIBRARY})
|
||||||
set(Fluidsynth_INCLUDE_DIRS ${Fluidsynth_INCLUDE_DIR})
|
set(Fluidsynth_INCLUDE_DIRS ${Fluidsynth_INCLUDE_DIR})
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
Fluidsynth_INCLUDE_DIR
|
Fluidsynth_INCLUDE_DIR
|
||||||
|
@@ -55,7 +55,7 @@ find_library( Fontconfig_LIBRARY
|
|||||||
${PKG_FONTCONFIG_LIBRARY_DIRS}
|
${PKG_FONTCONFIG_LIBRARY_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (Fontconfig_INCLUDE_DIR AND NOT Fontconfig_VERSION)
|
if(Fontconfig_INCLUDE_DIR AND NOT Fontconfig_VERSION)
|
||||||
file(STRINGS ${Fontconfig_INCLUDE_DIR}/fontconfig/fontconfig.h _contents REGEX "^#define[ \t]+FC_[A-Z]+[ \t]+[0-9]+$")
|
file(STRINGS ${Fontconfig_INCLUDE_DIR}/fontconfig/fontconfig.h _contents REGEX "^#define[ \t]+FC_[A-Z]+[ \t]+[0-9]+$")
|
||||||
unset(Fontconfig_VERSION)
|
unset(Fontconfig_VERSION)
|
||||||
foreach(VPART MAJOR MINOR REVISION)
|
foreach(VPART MAJOR MINOR REVISION)
|
||||||
@@ -70,7 +70,7 @@ if (Fontconfig_INCLUDE_DIR AND NOT Fontconfig_VERSION)
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(Fontconfig
|
find_package_handle_standard_args(Fontconfig
|
||||||
|
@@ -29,7 +29,7 @@ find_package(PkgConfig QUIET)
|
|||||||
set(ICU_KNOWN_COMPONENTS "uc" "i18n" "le" "lx" "io")
|
set(ICU_KNOWN_COMPONENTS "uc" "i18n" "le" "lx" "io")
|
||||||
|
|
||||||
foreach(MOD_NAME IN LISTS ICU_FIND_COMPONENTS)
|
foreach(MOD_NAME IN LISTS ICU_FIND_COMPONENTS)
|
||||||
if (NOT MOD_NAME IN_LIST ICU_KNOWN_COMPONENTS)
|
if(NOT MOD_NAME IN_LIST ICU_KNOWN_COMPONENTS)
|
||||||
message(FATAL_ERROR "Unknown ICU component: ${MOD_NAME}")
|
message(FATAL_ERROR "Unknown ICU component: ${MOD_NAME}")
|
||||||
endif()
|
endif()
|
||||||
pkg_check_modules(PC_ICU_${MOD_NAME} QUIET icu-${MOD_NAME})
|
pkg_check_modules(PC_ICU_${MOD_NAME} QUIET icu-${MOD_NAME})
|
||||||
@@ -39,14 +39,14 @@ foreach(MOD_NAME IN LISTS ICU_FIND_COMPONENTS)
|
|||||||
foreach(LIBRARY IN LISTS PC_ICU_${MOD_NAME}_LIBRARIES)
|
foreach(LIBRARY IN LISTS PC_ICU_${MOD_NAME}_LIBRARIES)
|
||||||
unset(PC_LIBRARY CACHE)
|
unset(PC_LIBRARY CACHE)
|
||||||
find_library(PC_LIBRARY NAMES ${LIBRARY})
|
find_library(PC_LIBRARY NAMES ${LIBRARY})
|
||||||
if (NOT PC_LIBRARY)
|
if(NOT PC_LIBRARY)
|
||||||
unset(PC_ICU_${MOD_NAME}_FOUND)
|
unset(PC_ICU_${MOD_NAME}_FOUND)
|
||||||
endif()
|
endif()
|
||||||
list(APPEND PC_LIBRARIES ${PC_LIBRARY})
|
list(APPEND PC_LIBRARIES ${PC_LIBRARY})
|
||||||
endforeach()
|
endforeach()
|
||||||
unset(PC_LIBRARY CACHE)
|
unset(PC_LIBRARY CACHE)
|
||||||
|
|
||||||
if (${PC_ICU_${MOD_NAME}_FOUND})
|
if(${PC_ICU_${MOD_NAME}_FOUND})
|
||||||
set(ICU_COMPONENT_FOUND TRUE)
|
set(ICU_COMPONENT_FOUND TRUE)
|
||||||
set(ICU_${MOD_NAME}_FOUND TRUE)
|
set(ICU_${MOD_NAME}_FOUND TRUE)
|
||||||
set(ICU_${MOD_NAME}_LIBRARIES ${PC_LIBRARIES})
|
set(ICU_${MOD_NAME}_LIBRARIES ${PC_LIBRARIES})
|
||||||
|
@@ -55,8 +55,8 @@ find_library(LZO_LIBRARY
|
|||||||
# name as the optimized file. This is not always the case, but so far
|
# name as the optimized file. This is not always the case, but so far
|
||||||
# experiences has shown that in those case vcpkg CMake files do the right
|
# experiences has shown that in those case vcpkg CMake files do the right
|
||||||
# thing.
|
# thing.
|
||||||
if (VCPKG_TOOLCHAIN AND LZO_LIBRARY)
|
if(VCPKG_TOOLCHAIN AND LZO_LIBRARY)
|
||||||
if (LZO_LIBRARY MATCHES "/debug/")
|
if(LZO_LIBRARY MATCHES "/debug/")
|
||||||
set(LZO_LIBRARY_DEBUG ${LZO_LIBRARY})
|
set(LZO_LIBRARY_DEBUG ${LZO_LIBRARY})
|
||||||
string(REPLACE "/debug/lib/" "/lib/" LZO_LIBRARY_RELEASE ${LZO_LIBRARY})
|
string(REPLACE "/debug/lib/" "/lib/" LZO_LIBRARY_RELEASE ${LZO_LIBRARY})
|
||||||
else()
|
else()
|
||||||
@@ -78,10 +78,10 @@ find_package_handle_standard_args(LZO
|
|||||||
VERSION_VAR LZO_VERSION
|
VERSION_VAR LZO_VERSION
|
||||||
)
|
)
|
||||||
|
|
||||||
if (LZO_FOUND)
|
if(LZO_FOUND)
|
||||||
set(LZO_LIBRARIES ${LZO_LIBRARY})
|
set(LZO_LIBRARIES ${LZO_LIBRARY})
|
||||||
set(LZO_INCLUDE_DIRS ${LZO_INCLUDE_DIR})
|
set(LZO_INCLUDE_DIRS ${LZO_INCLUDE_DIR})
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
LZO_INCLUDE_DIR
|
LZO_INCLUDE_DIR
|
||||||
|
@@ -4,9 +4,9 @@
|
|||||||
include(CheckCXXSourceCompiles)
|
include(CheckCXXSourceCompiles)
|
||||||
set(CMAKE_REQUIRED_FLAGS "")
|
set(CMAKE_REQUIRED_FLAGS "")
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
set(CMAKE_REQUIRED_FLAGS "-msse4.1")
|
set(CMAKE_REQUIRED_FLAGS "-msse4.1")
|
||||||
endif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
endif()
|
||||||
|
|
||||||
check_cxx_source_compiles("
|
check_cxx_source_compiles("
|
||||||
#include <xmmintrin.h>
|
#include <xmmintrin.h>
|
||||||
|
@@ -54,10 +54,10 @@ find_package_handle_standard_args(XDG_basedir
|
|||||||
VERSION_VAR XDG_basedir_VERSION
|
VERSION_VAR XDG_basedir_VERSION
|
||||||
)
|
)
|
||||||
|
|
||||||
if (XDG_basedir_FOUND)
|
if(XDG_basedir_FOUND)
|
||||||
set(XDG_basedir_LIBRARIES ${XDG_basedir_LIBRARY})
|
set(XDG_basedir_LIBRARIES ${XDG_basedir_LIBRARY})
|
||||||
set(XDG_basedir_INCLUDE_DIRS ${XDG_basedir_INCLUDE_DIR})
|
set(XDG_basedir_INCLUDE_DIRS ${XDG_basedir_INCLUDE_DIR})
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
XDG_basedir_INCLUDE_DIR
|
XDG_basedir_INCLUDE_DIR
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
# If requested, use FHS layout; otherwise fall back to a flat layout.
|
# If requested, use FHS layout; otherwise fall back to a flat layout.
|
||||||
if (OPTION_INSTALL_FHS)
|
if(OPTION_INSTALL_FHS)
|
||||||
set(BINARY_DESTINATION_DIR "${CMAKE_INSTALL_BINDIR}")
|
set(BINARY_DESTINATION_DIR "${CMAKE_INSTALL_BINDIR}")
|
||||||
set(DATA_DESTINATION_DIR "${CMAKE_INSTALL_DATADIR}/${BINARY_NAME}")
|
set(DATA_DESTINATION_DIR "${CMAKE_INSTALL_DATADIR}/${BINARY_NAME}")
|
||||||
set(DOCS_DESTINATION_DIR "${CMAKE_INSTALL_DOCDIR}")
|
set(DOCS_DESTINATION_DIR "${CMAKE_INSTALL_DOCDIR}")
|
||||||
set(MAN_DESTINATION_DIR "${CMAKE_INSTALL_MANDIR}")
|
set(MAN_DESTINATION_DIR "${CMAKE_INSTALL_MANDIR}")
|
||||||
else (OPTION_INSTALL_FHS)
|
else()
|
||||||
set(BINARY_DESTINATION_DIR ".")
|
set(BINARY_DESTINATION_DIR ".")
|
||||||
set(DATA_DESTINATION_DIR ".")
|
set(DATA_DESTINATION_DIR ".")
|
||||||
set(DOCS_DESTINATION_DIR ".")
|
set(DOCS_DESTINATION_DIR ".")
|
||||||
set(MAN_DESTINATION_DIR ".")
|
set(MAN_DESTINATION_DIR ".")
|
||||||
endif (OPTION_INSTALL_FHS)
|
endif()
|
||||||
|
|
||||||
install(TARGETS openttd
|
install(TARGETS openttd
|
||||||
RUNTIME
|
RUNTIME
|
||||||
@@ -40,7 +40,7 @@ install(FILES
|
|||||||
|
|
||||||
# A Linux manual only makes sense when using FHS. Otherwise it is a very odd
|
# A Linux manual only makes sense when using FHS. Otherwise it is a very odd
|
||||||
# file with little context to what it is.
|
# file with little context to what it is.
|
||||||
if (OPTION_INSTALL_FHS)
|
if(OPTION_INSTALL_FHS)
|
||||||
set(MAN_SOURCE_FILE ${CMAKE_SOURCE_DIR}/docs/openttd.6)
|
set(MAN_SOURCE_FILE ${CMAKE_SOURCE_DIR}/docs/openttd.6)
|
||||||
set(MAN_BINARY_FILE ${CMAKE_BINARY_DIR}/docs/${BINARY_NAME}.6)
|
set(MAN_BINARY_FILE ${CMAKE_BINARY_DIR}/docs/${BINARY_NAME}.6)
|
||||||
install(CODE
|
install(CODE
|
||||||
@@ -53,26 +53,26 @@ if (OPTION_INSTALL_FHS)
|
|||||||
${MAN_BINARY_FILE}.gz
|
${MAN_BINARY_FILE}.gz
|
||||||
DESTINATION ${MAN_DESTINATION_DIR}/man6
|
DESTINATION ${MAN_DESTINATION_DIR}/man6
|
||||||
COMPONENT manual)
|
COMPONENT manual)
|
||||||
endif (OPTION_INSTALL_FHS)
|
endif()
|
||||||
|
|
||||||
# TODO -- Media files
|
# TODO -- Media files
|
||||||
# TODO -- Menu files
|
# TODO -- Menu files
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||||
set(ARCHITECTURE "amd64")
|
set(ARCHITECTURE "amd64")
|
||||||
else (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
else()
|
||||||
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" ARCHITECTURE)
|
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" ARCHITECTURE)
|
||||||
endif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
endif()
|
||||||
|
|
||||||
# Windows is a bit more annoying to detect; using the size of void pointer
|
# Windows is a bit more annoying to detect; using the size of void pointer
|
||||||
# seems to be the most robust.
|
# seems to be the most robust.
|
||||||
if (WIN32)
|
if(WIN32)
|
||||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
set(ARCHITECTURE "win64")
|
set(ARCHITECTURE "win64")
|
||||||
else (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
else()
|
||||||
set(ARCHITECTURE "win32")
|
set(ARCHITECTURE "win32")
|
||||||
endif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
endif()
|
||||||
endif (WIN32)
|
endif()
|
||||||
|
|
||||||
set(CPACK_SYSTEM_NAME "${ARCHITECTURE}")
|
set(CPACK_SYSTEM_NAME "${ARCHITECTURE}")
|
||||||
|
|
||||||
@@ -91,33 +91,33 @@ set(CPACK_PACKAGE_EXECUTABLES "openttd;OpenTTD")
|
|||||||
set(CPACK_STRIP_FILES NO)
|
set(CPACK_STRIP_FILES NO)
|
||||||
set(CPACK_OUTPUT_FILE_PREFIX "bundles")
|
set(CPACK_OUTPUT_FILE_PREFIX "bundles")
|
||||||
|
|
||||||
if (APPLE)
|
if(APPLE)
|
||||||
set(CPACK_GENERATOR "Bundle")
|
set(CPACK_GENERATOR "Bundle")
|
||||||
include(PackageBundle)
|
include(PackageBundle)
|
||||||
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME "openttd-#CPACK_PACKAGE_VERSION#-macosx")
|
set(CPACK_PACKAGE_FILE_NAME "openttd-#CPACK_PACKAGE_VERSION#-macosx")
|
||||||
elseif (WIN32)
|
elseif(WIN32)
|
||||||
set(CPACK_GENERATOR "ZIP")
|
set(CPACK_GENERATOR "ZIP")
|
||||||
if (OPTION_USE_NSIS)
|
if(OPTION_USE_NSIS)
|
||||||
list(APPEND CPACK_GENERATOR "NSIS")
|
list(APPEND CPACK_GENERATOR "NSIS")
|
||||||
include(PackageNSIS)
|
include(PackageNSIS)
|
||||||
endif (OPTION_USE_NSIS)
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME "openttd-#CPACK_PACKAGE_VERSION#-windows-${CPACK_SYSTEM_NAME}")
|
set(CPACK_PACKAGE_FILE_NAME "openttd-#CPACK_PACKAGE_VERSION#-windows-${CPACK_SYSTEM_NAME}")
|
||||||
elseif (UNIX)
|
elseif(UNIX)
|
||||||
# With FHS, we can create deb/rpm/... Without it, they would be horribly broken
|
# With FHS, we can create deb/rpm/... Without it, they would be horribly broken
|
||||||
# and not work. The other way around is also true; with FHS they are not
|
# and not work. The other way around is also true; with FHS they are not
|
||||||
# usable, and only flat formats work.
|
# usable, and only flat formats work.
|
||||||
if (OPTION_INSTALL_FHS)
|
if(OPTION_INSTALL_FHS)
|
||||||
set(CPACK_GENERATOR "DEB")
|
set(CPACK_GENERATOR "DEB")
|
||||||
include(PackageDeb)
|
include(PackageDeb)
|
||||||
else (OPTION_INSTALL_FHS)
|
else()
|
||||||
set(CPACK_GENERATOR "TXZ")
|
set(CPACK_GENERATOR "TXZ")
|
||||||
endif (OPTION_INSTALL_FHS)
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME "openttd-#CPACK_PACKAGE_VERSION#-linux-${CPACK_SYSTEM_NAME}")
|
set(CPACK_PACKAGE_FILE_NAME "openttd-#CPACK_PACKAGE_VERSION#-linux-${CPACK_SYSTEM_NAME}")
|
||||||
else ()
|
else()
|
||||||
message(FATAL_ERROR "Unknown OS found for packaging; please consider creating a Pull Request to add support for this OS.")
|
message(FATAL_ERROR "Unknown OS found for packaging; please consider creating a Pull Request to add support for this OS.")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
@@ -1,18 +1,23 @@
|
|||||||
function(link_package NAME)
|
function(link_package NAME)
|
||||||
cmake_parse_arguments(LP "ENCOURAGED" "TARGET" "" ${ARGN})
|
cmake_parse_arguments(LP "ENCOURAGED" "TARGET" "" ${ARGN})
|
||||||
|
|
||||||
if (${NAME}_FOUND)
|
if(${NAME}_FOUND)
|
||||||
string(TOUPPER "${NAME}" UCNAME)
|
string(TOUPPER "${NAME}" UCNAME)
|
||||||
add_definitions(-DWITH_${UCNAME})
|
add_definitions(-DWITH_${UCNAME})
|
||||||
if (LP_TARGET AND TARGET ${LP_TARGET})
|
# Some libraries' cmake packages (looking at you, SDL2) leave trailing whitespace in the link commands,
|
||||||
|
# which (later) cmake considers to be an error. Work around this with by stripping the incoming string.
|
||||||
|
if(LP_TARGET AND TARGET ${LP_TARGET})
|
||||||
|
string(STRIP "${LP_TARGET}" LP_TARGET)
|
||||||
target_link_libraries(openttd ${LP_TARGET})
|
target_link_libraries(openttd ${LP_TARGET})
|
||||||
message(STATUS "${NAME} found -- -DWITH_${UCNAME} -- ${LP_TARGET}")
|
message(STATUS "${NAME} found -- -DWITH_${UCNAME} -- ${LP_TARGET}")
|
||||||
else()
|
else()
|
||||||
|
string(STRIP "${${NAME}_LIBRARY}" ${NAME}_LIBRARY)
|
||||||
|
string(STRIP "${${NAME}_LIBRARIES}" ${NAME}_LIBRARIES)
|
||||||
include_directories(${${NAME}_INCLUDE_DIRS} ${${NAME}_INCLUDE_DIR})
|
include_directories(${${NAME}_INCLUDE_DIRS} ${${NAME}_INCLUDE_DIR})
|
||||||
target_link_libraries(openttd ${${NAME}_LIBRARIES} ${${NAME}_LIBRARY})
|
target_link_libraries(openttd ${${NAME}_LIBRARIES} ${${NAME}_LIBRARY})
|
||||||
message(STATUS "${NAME} found -- -DWITH_${UCNAME} -- ${${NAME}_INCLUDE_DIRS} ${${NAME}_INCLUDE_DIR} -- ${${NAME}_LIBRARIES} ${${NAME}_LIBRARY}")
|
message(STATUS "${NAME} found -- -DWITH_${UCNAME} -- ${${NAME}_INCLUDE_DIRS} ${${NAME}_INCLUDE_DIR} -- ${${NAME}_LIBRARIES} ${${NAME}_LIBRARY}")
|
||||||
endif()
|
endif()
|
||||||
elseif (LP_ENCOURAGED)
|
elseif(LP_ENCOURAGED)
|
||||||
message(WARNING "${NAME} not found; compiling OpenTTD without ${NAME} is strongly disencouraged")
|
message(WARNING "${NAME} not found; compiling OpenTTD without ${NAME} is strongly disencouraged")
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@@ -5,36 +5,36 @@ include(GNUInstallDirs)
|
|||||||
# set_directory_options()
|
# set_directory_options()
|
||||||
#
|
#
|
||||||
function(set_directory_options)
|
function(set_directory_options)
|
||||||
if (APPLE)
|
if(APPLE)
|
||||||
set(DEFAULT_PERSONAL_DIR "Documents/OpenTTD")
|
set(DEFAULT_PERSONAL_DIR "Documents/OpenTTD")
|
||||||
set(DEFAULT_SHARED_DIR "/Library/Application Support/OpenTTD")
|
set(DEFAULT_SHARED_DIR "/Library/Application Support/OpenTTD")
|
||||||
set(DEFAULT_GLOBAL_DIR "(not set)")
|
set(DEFAULT_GLOBAL_DIR "(not set)")
|
||||||
elseif (WIN32)
|
elseif(WIN32)
|
||||||
set(DEFAULT_PERSONAL_DIR "OpenTTD")
|
set(DEFAULT_PERSONAL_DIR "OpenTTD")
|
||||||
set(DEFAULT_SHARED_DIR "(not set)")
|
set(DEFAULT_SHARED_DIR "(not set)")
|
||||||
set(DEFAULT_GLOBAL_DIR "(not set)")
|
set(DEFAULT_GLOBAL_DIR "(not set)")
|
||||||
elseif (UNIX)
|
elseif(UNIX)
|
||||||
set(DEFAULT_PERSONAL_DIR ".${BINARY_NAME}")
|
set(DEFAULT_PERSONAL_DIR ".${BINARY_NAME}")
|
||||||
set(DEFAULT_SHARED_DIR "(not set)")
|
set(DEFAULT_SHARED_DIR "(not set)")
|
||||||
set(DEFAULT_GLOBAL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${BINARY_NAME}")
|
set(DEFAULT_GLOBAL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${BINARY_NAME}")
|
||||||
else ()
|
else()
|
||||||
message(FATAL_ERROR "Unknown OS found; please consider creating a Pull Request to add support for this OS.")
|
message(FATAL_ERROR "Unknown OS found; please consider creating a Pull Request to add support for this OS.")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
if (NOT PERSONAL_DIR)
|
if(NOT PERSONAL_DIR)
|
||||||
set(PERSONAL_DIR "${DEFAULT_PERSONAL_DIR}" CACHE STRING "Personal directory")
|
set(PERSONAL_DIR "${DEFAULT_PERSONAL_DIR}" CACHE STRING "Personal directory")
|
||||||
message(STATUS "Detecting Personal Data directory - ${PERSONAL_DIR}")
|
message(STATUS "Detecting Personal Data directory - ${PERSONAL_DIR}")
|
||||||
endif (NOT PERSONAL_DIR)
|
endif()
|
||||||
|
|
||||||
if (NOT SHARED_DIR)
|
if(NOT SHARED_DIR)
|
||||||
set(SHARED_DIR "${DEFAULT_SHARED_DIR}" CACHE STRING "Shared directory")
|
set(SHARED_DIR "${DEFAULT_SHARED_DIR}" CACHE STRING "Shared directory")
|
||||||
message(STATUS "Detecting Shared Data directory - ${SHARED_DIR}")
|
message(STATUS "Detecting Shared Data directory - ${SHARED_DIR}")
|
||||||
endif (NOT SHARED_DIR)
|
endif()
|
||||||
|
|
||||||
if (NOT GLOBAL_DIR)
|
if(NOT GLOBAL_DIR)
|
||||||
set(GLOBAL_DIR "${DEFAULT_GLOBAL_DIR}" CACHE STRING "Global directory")
|
set(GLOBAL_DIR "${DEFAULT_GLOBAL_DIR}" CACHE STRING "Global directory")
|
||||||
message(STATUS "Detecting Global Data directory - ${GLOBAL_DIR}")
|
message(STATUS "Detecting Global Data directory - ${GLOBAL_DIR}")
|
||||||
endif (NOT GLOBAL_DIR)
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Set some generic options that influence what is being build.
|
# Set some generic options that influence what is being build.
|
||||||
@@ -42,11 +42,11 @@ endfunction()
|
|||||||
# set_options()
|
# set_options()
|
||||||
#
|
#
|
||||||
function(set_options)
|
function(set_options)
|
||||||
if (UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
set(DEFAULT_OPTION_INSTALL_FHS ON)
|
set(DEFAULT_OPTION_INSTALL_FHS ON)
|
||||||
else (UNIX AND NOT APPLE)
|
else()
|
||||||
set(DEFAULT_OPTION_INSTALL_FHS OFF)
|
set(DEFAULT_OPTION_INSTALL_FHS OFF)
|
||||||
endif (UNIX AND NOT APPLE)
|
endif()
|
||||||
|
|
||||||
option(OPTION_FORCE_COLORED_OUTPUT "Always produce ANSI-colored output (GNU/Clang only)." OFF)
|
option(OPTION_FORCE_COLORED_OUTPUT "Always produce ANSI-colored output (GNU/Clang only)." OFF)
|
||||||
|
|
||||||
@@ -74,17 +74,17 @@ endfunction()
|
|||||||
# add_definitions_based_on_options()
|
# add_definitions_based_on_options()
|
||||||
#
|
#
|
||||||
function(add_definitions_based_on_options)
|
function(add_definitions_based_on_options)
|
||||||
if (OPTION_DEDICATED)
|
if(OPTION_DEDICATED)
|
||||||
add_definitions(-DDEDICATED)
|
add_definitions(-DDEDICATED)
|
||||||
endif (OPTION_DEDICATED)
|
endif()
|
||||||
|
|
||||||
if (NOT OPTION_USE_THREADS)
|
if(NOT OPTION_USE_THREADS)
|
||||||
add_definitions(-DNO_THREADS)
|
add_definitions(-DNO_THREADS)
|
||||||
endif (NOT OPTION_USE_THREADS)
|
endif()
|
||||||
|
|
||||||
if (OPTION_USE_ASSERTS)
|
if(OPTION_USE_ASSERTS)
|
||||||
add_definitions(-DWITH_ASSERT)
|
add_definitions(-DWITH_ASSERT)
|
||||||
else (OPTION_USE_ASSERTS)
|
else()
|
||||||
add_definitions(-DNDEBUG)
|
add_definitions(-DNDEBUG)
|
||||||
endif (OPTION_USE_ASSERTS)
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@@ -10,16 +10,16 @@ function(add_files)
|
|||||||
cmake_parse_arguments(PARAM "" "" "CONDITION" ${ARGN})
|
cmake_parse_arguments(PARAM "" "" "CONDITION" ${ARGN})
|
||||||
set(PARAM_FILES "${PARAM_UNPARSED_ARGUMENTS}")
|
set(PARAM_FILES "${PARAM_UNPARSED_ARGUMENTS}")
|
||||||
|
|
||||||
if (PARAM_CONDITION)
|
if(PARAM_CONDITION)
|
||||||
if (NOT (${PARAM_CONDITION}))
|
if(NOT (${PARAM_CONDITION}))
|
||||||
return()
|
return()
|
||||||
endif (NOT (${PARAM_CONDITION}))
|
endif()
|
||||||
endif (PARAM_CONDITION)
|
endif()
|
||||||
|
|
||||||
foreach(FILE IN LISTS PARAM_FILES)
|
foreach(FILE IN LISTS PARAM_FILES)
|
||||||
target_sources(openttd PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
|
target_sources(openttd PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction(add_files)
|
endfunction()
|
||||||
|
|
||||||
# This function works around an 'issue' with CMake, where
|
# This function works around an 'issue' with CMake, where
|
||||||
# set_source_files_properties() only works in the scope of the file. We want
|
# set_source_files_properties() only works in the scope of the file. We want
|
||||||
@@ -42,7 +42,7 @@ function(set_compile_flags)
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
set_property(GLOBAL PROPERTY source_properties "${SOURCE_PROPERTIES}")
|
set_property(GLOBAL PROPERTY source_properties "${SOURCE_PROPERTIES}")
|
||||||
endfunction(set_compile_flags)
|
endfunction()
|
||||||
|
|
||||||
# Call this macro in the same CMakeLists.txt and after add_executable().
|
# Call this macro in the same CMakeLists.txt and after add_executable().
|
||||||
# This makes sure all the COMPILE_FLAGS of set_compile_flags() are set
|
# This makes sure all the COMPILE_FLAGS of set_compile_flags() are set
|
||||||
@@ -60,4 +60,4 @@ function(process_compile_flags)
|
|||||||
|
|
||||||
set_source_files_properties(${FILE} PROPERTIES COMPILE_FLAGS ${PROPERTIES})
|
set_source_files_properties(${FILE} PROPERTIES COMPILE_FLAGS ${PROPERTIES})
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction(process_compile_flags)
|
endfunction()
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
# set_static()
|
# set_static()
|
||||||
#
|
#
|
||||||
function(set_static_if_needed)
|
function(set_static_if_needed)
|
||||||
if (MINGW)
|
if(MINGW)
|
||||||
# Let exectutables run outside MinGW environment
|
# Let exectutables run outside MinGW environment
|
||||||
# Force searching static libs
|
# Force searching static libs
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE)
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE)
|
||||||
|
@@ -12,13 +12,13 @@ set(ARG_READ NO)
|
|||||||
while(ARGC LESS CMAKE_ARGC)
|
while(ARGC LESS CMAKE_ARGC)
|
||||||
set(ARG ${CMAKE_ARGV${ARGC}})
|
set(ARG ${CMAKE_ARGV${ARGC}})
|
||||||
|
|
||||||
if (ARG_READ)
|
if(ARG_READ)
|
||||||
list(APPEND LANG_SOURCE_FILES "${ARG}")
|
list(APPEND LANG_SOURCE_FILES "${ARG}")
|
||||||
endif (ARG_READ)
|
endif()
|
||||||
|
|
||||||
if (ARG STREQUAL "--")
|
if(ARG STREQUAL "--")
|
||||||
set(ARG_READ YES)
|
set(ARG_READ YES)
|
||||||
endif (ARG STREQUAL "--")
|
endif()
|
||||||
|
|
||||||
math(EXPR ARGC "${ARGC} + 1")
|
math(EXPR ARGC "${ARGC} + 1")
|
||||||
endwhile()
|
endwhile()
|
||||||
@@ -33,17 +33,17 @@ string(REGEX REPLACE "@(.*)@" "\\1" PLACE_HOLDER "${PLACE_HOLDER}")
|
|||||||
foreach(LANGFILE IN LISTS LANG_SOURCE_FILES)
|
foreach(LANGFILE IN LISTS LANG_SOURCE_FILES)
|
||||||
file(STRINGS "${LANGFILE}" LANGLINES REGEX "^(##isocode|${STR_ID})" ENCODING UTF-8)
|
file(STRINGS "${LANGFILE}" LANGLINES REGEX "^(##isocode|${STR_ID})" ENCODING UTF-8)
|
||||||
string(FIND "${LANGLINES}" "${STR_ID}" HAS_STR_ID)
|
string(FIND "${LANGLINES}" "${STR_ID}" HAS_STR_ID)
|
||||||
if (HAS_STR_ID LESS 0)
|
if(HAS_STR_ID LESS 0)
|
||||||
continue()
|
continue()
|
||||||
endif (HAS_STR_ID LESS 0)
|
endif()
|
||||||
string(REGEX REPLACE "##isocode ([^;]+).*" "\\1" ISOCODE "${LANGLINES}")
|
string(REGEX REPLACE "##isocode ([^;]+).*" "\\1" ISOCODE "${LANGLINES}")
|
||||||
if ("${ISOCODE}" STREQUAL "en_GB")
|
if("${ISOCODE}" STREQUAL "en_GB")
|
||||||
string(REGEX REPLACE "[^:]*:(.*)" "${INI_KEY} = \\1" LANGLINES "${LANGLINES}")
|
string(REGEX REPLACE "[^:]*:(.*)" "${INI_KEY} = \\1" LANGLINES "${LANGLINES}")
|
||||||
else()
|
else()
|
||||||
string(REGEX REPLACE "[^:]*:(.*)" "${INI_KEY}.${ISOCODE} = \\1" LANGLINES "${LANGLINES}")
|
string(REGEX REPLACE "[^:]*:(.*)" "${INI_KEY}.${ISOCODE} = \\1" LANGLINES "${LANGLINES}")
|
||||||
endif()
|
endif()
|
||||||
list(APPEND ${PLACE_HOLDER} ${LANGLINES})
|
list(APPEND ${PLACE_HOLDER} ${LANGLINES})
|
||||||
endforeach(LANGFILE)
|
endforeach()
|
||||||
list(SORT ${PLACE_HOLDER})
|
list(SORT ${PLACE_HOLDER})
|
||||||
string(REPLACE ";" "\n" ${PLACE_HOLDER} "${${PLACE_HOLDER}}")
|
string(REPLACE ";" "\n" ${PLACE_HOLDER} "${${PLACE_HOLDER}}")
|
||||||
|
|
||||||
|
@@ -5,18 +5,18 @@ cmake_minimum_required(VERSION 3.5)
|
|||||||
# files.
|
# files.
|
||||||
#
|
#
|
||||||
|
|
||||||
if (NOT NFORENUM_EXECUTABLE)
|
if(NOT NFORENUM_EXECUTABLE)
|
||||||
message(FATAL_ERROR "Script needs NFORENUM_EXECUTABLE defined")
|
message(FATAL_ERROR "Script needs NFORENUM_EXECUTABLE defined")
|
||||||
endif (NOT NFORENUM_EXECUTABLE)
|
endif()
|
||||||
if (NOT GRFCODEC_EXECUTABLE)
|
if(NOT GRFCODEC_EXECUTABLE)
|
||||||
message(FATAL_ERROR "Script needs GRFCODEC_EXECUTABLE defined")
|
message(FATAL_ERROR "Script needs GRFCODEC_EXECUTABLE defined")
|
||||||
endif (NOT GRFCODEC_EXECUTABLE)
|
endif()
|
||||||
if (NOT GRF_SOURCE_FOLDER)
|
if(NOT GRF_SOURCE_FOLDER)
|
||||||
message(FATAL_ERROR "Script needs GRF_SOURCE_FOLDER defined")
|
message(FATAL_ERROR "Script needs GRF_SOURCE_FOLDER defined")
|
||||||
endif (NOT GRF_SOURCE_FOLDER)
|
endif()
|
||||||
if (NOT GRF_BINARY_FILE)
|
if(NOT GRF_BINARY_FILE)
|
||||||
message(FATAL_ERROR "Script needs GRF_BINARY_FILE defined")
|
message(FATAL_ERROR "Script needs GRF_BINARY_FILE defined")
|
||||||
endif (NOT GRF_BINARY_FILE)
|
endif()
|
||||||
|
|
||||||
get_filename_component(GRF_SOURCE_FOLDER_NAME "${GRF_SOURCE_FOLDER}" NAME)
|
get_filename_component(GRF_SOURCE_FOLDER_NAME "${GRF_SOURCE_FOLDER}" NAME)
|
||||||
|
|
||||||
@@ -30,14 +30,14 @@ foreach(NFO_LINE IN LISTS NFO_LINES)
|
|||||||
# Recover the ; that was really in the text (and not a newline)
|
# Recover the ; that was really in the text (and not a newline)
|
||||||
string(REPLACE "\\;" ";" NFO_LINE "${NFO_LINE}")
|
string(REPLACE "\\;" ";" NFO_LINE "${NFO_LINE}")
|
||||||
|
|
||||||
if (NFO_LINE MATCHES "^#include")
|
if(NFO_LINE MATCHES "^#include")
|
||||||
string(REGEX REPLACE "^#include \"(.*)\"$" "\\1" INCLUDE_FILE ${NFO_LINE})
|
string(REGEX REPLACE "^#include \"(.*)\"$" "\\1" INCLUDE_FILE ${NFO_LINE})
|
||||||
file(READ ${GRF_SOURCE_FOLDER}/${INCLUDE_FILE} INCLUDE_LINES)
|
file(READ ${GRF_SOURCE_FOLDER}/${INCLUDE_FILE} INCLUDE_LINES)
|
||||||
file(APPEND sprites/${GRF_SOURCE_FOLDER_NAME}.nfo "${INCLUDE_LINES}")
|
file(APPEND sprites/${GRF_SOURCE_FOLDER_NAME}.nfo "${INCLUDE_LINES}")
|
||||||
else (NFO_LINE MATCHES "^#include")
|
else()
|
||||||
file(APPEND sprites/${GRF_SOURCE_FOLDER_NAME}.nfo "${NFO_LINE}\n")
|
file(APPEND sprites/${GRF_SOURCE_FOLDER_NAME}.nfo "${NFO_LINE}\n")
|
||||||
endif (NFO_LINE MATCHES "^#include")
|
endif()
|
||||||
endforeach(NFO_LINE)
|
endforeach()
|
||||||
|
|
||||||
execute_process(COMMAND ${NFORENUM_EXECUTABLE} -s sprites/${GRF_SOURCE_FOLDER_NAME}.nfo)
|
execute_process(COMMAND ${NFORENUM_EXECUTABLE} -s sprites/${GRF_SOURCE_FOLDER_NAME}.nfo)
|
||||||
execute_process(COMMAND ${GRFCODEC_EXECUTABLE} -n -s -e -p1 ${GRF_SOURCE_FOLDER_NAME}.grf)
|
execute_process(COMMAND ${GRFCODEC_EXECUTABLE} -n -s -e -p1 ${GRF_SOURCE_FOLDER_NAME}.grf)
|
||||||
|
@@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.5)
|
|||||||
|
|
||||||
find_package(Git QUIET)
|
find_package(Git QUIET)
|
||||||
# ${CMAKE_SOURCE_DIR}/.git may be a directory or a regular file
|
# ${CMAKE_SOURCE_DIR}/.git may be a directory or a regular file
|
||||||
if (GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||||
# Make sure LC_ALL is set to something desirable
|
# Make sure LC_ALL is set to something desirable
|
||||||
set(SAVED_LC_ALL "$ENV{LC_ALL}")
|
set(SAVED_LC_ALL "$ENV{LC_ALL}")
|
||||||
set(ENV{LC_ALL} C)
|
set(ENV{LC_ALL} C)
|
||||||
@@ -26,7 +26,7 @@ if (GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
|||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
if (NOT IS_MODIFIED STREQUAL "")
|
if(NOT IS_MODIFIED STREQUAL "")
|
||||||
set(REV_MODIFIED 2)
|
set(REV_MODIFIED 2)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -69,34 +69,34 @@ if (GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
|||||||
)
|
)
|
||||||
string(REGEX REPLACE "\^0$" "" TAG "${TAG}")
|
string(REGEX REPLACE "\^0$" "" TAG "${TAG}")
|
||||||
|
|
||||||
if (REV_MODIFIED EQUAL 0)
|
if(REV_MODIFIED EQUAL 0)
|
||||||
set(HASHPREFIX "-g")
|
set(HASHPREFIX "-g")
|
||||||
elseif (REV_MODIFIED EQUAL 2)
|
elseif(REV_MODIFIED EQUAL 2)
|
||||||
set(HASHPREFIX "-m")
|
set(HASHPREFIX "-m")
|
||||||
else ()
|
else()
|
||||||
set(HASHPREFIX "-u")
|
set(HASHPREFIX "-u")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Set the version string
|
# Set the version string
|
||||||
if (NOT TAG STREQUAL "")
|
if(NOT TAG STREQUAL "")
|
||||||
set(REV_VERSION "${TAG}")
|
set(REV_VERSION "${TAG}")
|
||||||
set(REV_ISTAG 1)
|
set(REV_ISTAG 1)
|
||||||
|
|
||||||
string(REGEX REPLACE "^[0-9.]+$" "" STABLETAG "${TAG}")
|
string(REGEX REPLACE "^[0-9.]+$" "" STABLETAG "${TAG}")
|
||||||
if (NOT STABLETAG STREQUAL "")
|
if(NOT STABLETAG STREQUAL "")
|
||||||
set(REV_ISSTABLETAG 1)
|
set(REV_ISSTABLETAG 1)
|
||||||
else ()
|
else()
|
||||||
set(REV_ISSTABLETAG 0)
|
set(REV_ISSTABLETAG 0)
|
||||||
endif ()
|
endif()
|
||||||
else ()
|
else()
|
||||||
set(REV_VERSION "${REV_ISODATE}-${BRANCH}${HASHPREFIX}${SHORTHASH}")
|
set(REV_VERSION "${REV_ISODATE}-${BRANCH}${HASHPREFIX}${SHORTHASH}")
|
||||||
set(REV_ISTAG 0)
|
set(REV_ISTAG 0)
|
||||||
set(REV_ISSTABLETAG 0)
|
set(REV_ISSTABLETAG 0)
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Restore LC_ALL
|
# Restore LC_ALL
|
||||||
set(ENV{LC_ALL} "${SAVED_LC_ALL}")
|
set(ENV{LC_ALL} "${SAVED_LC_ALL}")
|
||||||
elseif (EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev-vc")
|
elseif(EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev-vc")
|
||||||
file(READ "${CMAKE_SOURCE_DIR}/.ottdrev-vc" OTTDREVVC)
|
file(READ "${CMAKE_SOURCE_DIR}/.ottdrev-vc" OTTDREVVC)
|
||||||
string(REPLACE "\n" ";" OTTDREVVC "${OTTDREVVC}")
|
string(REPLACE "\n" ";" OTTDREVVC "${OTTDREVVC}")
|
||||||
list(GET OTTDREVVC 0 OTTDREV)
|
list(GET OTTDREVVC 0 OTTDREV)
|
||||||
@@ -109,29 +109,29 @@ elseif (EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev-vc")
|
|||||||
list(GET OTTDREV 4 REV_ISTAG)
|
list(GET OTTDREV 4 REV_ISTAG)
|
||||||
list(GET OTTDREV 5 REV_ISSTABLETAG)
|
list(GET OTTDREV 5 REV_ISSTABLETAG)
|
||||||
list(GET OTTDREV 6 REV_YEAR)
|
list(GET OTTDREV 6 REV_YEAR)
|
||||||
if (REV_MODIFIED EQUAL 2)
|
if(REV_MODIFIED EQUAL 2)
|
||||||
string(REGEX REPLACE "M$" "" REV_VERSION "${REV_VERSION}")
|
string(REGEX REPLACE "M$" "" REV_VERSION "${REV_VERSION}")
|
||||||
endif ()
|
endif()
|
||||||
execute_process(COMMAND ./version_utils.sh -o
|
execute_process(COMMAND ./version_utils.sh -o
|
||||||
RESULT_VARIABLE CAN_CHECK_MODIFIED
|
RESULT_VARIABLE CAN_CHECK_MODIFIED
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
if (CAN_CHECK_MODIFIED EQUAL 0)
|
if(CAN_CHECK_MODIFIED EQUAL 0)
|
||||||
execute_process(COMMAND ./version_utils.sh -s
|
execute_process(COMMAND ./version_utils.sh -s
|
||||||
OUTPUT_VARIABLE CURRENT_HASH
|
OUTPUT_VARIABLE CURRENT_HASH
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
if (NOT CURRENT_HASH STREQUAL SRCHASH)
|
if(NOT CURRENT_HASH STREQUAL SRCHASH)
|
||||||
set(REV_MODIFIED 2)
|
set(REV_MODIFIED 2)
|
||||||
string(SUBSTRING "${CURRENT_HASH}" 0 8 SHORT_CURRENT_HASH)
|
string(SUBSTRING "${CURRENT_HASH}" 0 8 SHORT_CURRENT_HASH)
|
||||||
set(REV_VERSION "${REV_VERSION}-H${SHORT_CURRENT_HASH}")
|
set(REV_VERSION "${REV_VERSION}-H${SHORT_CURRENT_HASH}")
|
||||||
set(REV_MODIFIED 2)
|
set(REV_MODIFIED 2)
|
||||||
endif ()
|
endif()
|
||||||
else ()
|
else()
|
||||||
set(REV_MODIFIED 1)
|
set(REV_MODIFIED 1)
|
||||||
endif ()
|
endif()
|
||||||
elseif (EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev")
|
elseif(EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev")
|
||||||
file(READ "${CMAKE_SOURCE_DIR}/.ottdrev" OTTDREV)
|
file(READ "${CMAKE_SOURCE_DIR}/.ottdrev" OTTDREV)
|
||||||
string(REPLACE "\n" "" OTTDREV "${OTTDREV}")
|
string(REPLACE "\n" "" OTTDREV "${OTTDREV}")
|
||||||
string(REPLACE "\t" ";" OTTDREV "${OTTDREV}")
|
string(REPLACE "\t" ";" OTTDREV "${OTTDREV}")
|
||||||
@@ -142,7 +142,7 @@ elseif (EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev")
|
|||||||
list(GET OTTDREV 4 REV_ISTAG)
|
list(GET OTTDREV 4 REV_ISTAG)
|
||||||
list(GET OTTDREV 5 REV_ISSTABLETAG)
|
list(GET OTTDREV 5 REV_ISSTABLETAG)
|
||||||
list(GET OTTDREV 6 REV_YEAR)
|
list(GET OTTDREV 6 REV_YEAR)
|
||||||
else ()
|
else()
|
||||||
message(WARNING "No version detected; this build will NOT be network compatible")
|
message(WARNING "No version detected; this build will NOT be network compatible")
|
||||||
set(REV_VERSION "norev0000")
|
set(REV_VERSION "norev0000")
|
||||||
set(REV_ISODATE "19700101")
|
set(REV_ISODATE "19700101")
|
||||||
@@ -151,25 +151,25 @@ else ()
|
|||||||
set(REV_ISTAG 0)
|
set(REV_ISTAG 0)
|
||||||
set(REV_ISSTABLETAG 0)
|
set(REV_ISSTABLETAG 0)
|
||||||
set(REV_YEAR "1970")
|
set(REV_YEAR "1970")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
message(STATUS "Version string: ${REV_VERSION}")
|
message(STATUS "Version string: ${REV_VERSION}")
|
||||||
|
|
||||||
if (GENERATE_OTTDREV)
|
if(GENERATE_OTTDREV)
|
||||||
message(STATUS "Generating ${GENERATE_OTTDREV}")
|
message(STATUS "Generating ${GENERATE_OTTDREV}")
|
||||||
file(WRITE ${CMAKE_SOURCE_DIR}/${GENERATE_OTTDREV} "${REV_VERSION}\t${REV_ISODATE}\t${REV_MODIFIED}\t${REV_HASH}\t${REV_ISTAG}\t${REV_ISSTABLETAG}\t${REV_YEAR}\n")
|
file(WRITE ${CMAKE_SOURCE_DIR}/${GENERATE_OTTDREV} "${REV_VERSION}\t${REV_ISODATE}\t${REV_MODIFIED}\t${REV_HASH}\t${REV_ISTAG}\t${REV_ISSTABLETAG}\t${REV_YEAR}\n")
|
||||||
else (GENERATE_OTTDREV)
|
else()
|
||||||
message(STATUS "Generating rev.cpp")
|
message(STATUS "Generating rev.cpp")
|
||||||
configure_file("${CMAKE_SOURCE_DIR}/src/rev.cpp.in"
|
configure_file("${CMAKE_SOURCE_DIR}/src/rev.cpp.in"
|
||||||
"${FIND_VERSION_BINARY_DIR}/rev.cpp")
|
"${FIND_VERSION_BINARY_DIR}/rev.cpp")
|
||||||
|
|
||||||
if (WIN32)
|
if(WIN32)
|
||||||
message(STATUS "Generating ottdres.rc")
|
message(STATUS "Generating ottdres.rc")
|
||||||
configure_file("${CMAKE_SOURCE_DIR}/src/os/windows/ottdres.rc.in"
|
configure_file("${CMAKE_SOURCE_DIR}/src/os/windows/ottdres.rc.in"
|
||||||
"${FIND_VERSION_BINARY_DIR}/ottdres.rc")
|
"${FIND_VERSION_BINARY_DIR}/ottdres.rc")
|
||||||
endif (WIN32)
|
endif()
|
||||||
|
|
||||||
message(STATUS "Generating CPackProperties.cmake")
|
message(STATUS "Generating CPackProperties.cmake")
|
||||||
configure_file("${CMAKE_SOURCE_DIR}/CPackProperties.cmake.in"
|
configure_file("${CMAKE_SOURCE_DIR}/CPackProperties.cmake.in"
|
||||||
"${CPACK_BINARY_DIR}/CPackProperties.cmake" @ONLY)
|
"${CPACK_BINARY_DIR}/CPackProperties.cmake" @ONLY)
|
||||||
endif (GENERATE_OTTDREV)
|
endif()
|
||||||
|
@@ -15,12 +15,12 @@ cmake_minimum_required(VERSION 3.5)
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
if (NOT GENERATE_SOURCE_FILE)
|
if(NOT GENERATE_SOURCE_FILE)
|
||||||
message(FATAL_ERROR "Script needs GENERATE_SOURCE_FILE defined")
|
message(FATAL_ERROR "Script needs GENERATE_SOURCE_FILE defined")
|
||||||
endif (NOT GENERATE_SOURCE_FILE)
|
endif()
|
||||||
if (NOT GENERATE_BINARY_FILE)
|
if(NOT GENERATE_BINARY_FILE)
|
||||||
message(FATAL_ERROR "Script needs GENERATE_BINARY_FILE defined")
|
message(FATAL_ERROR "Script needs GENERATE_BINARY_FILE defined")
|
||||||
endif (NOT GENERATE_BINARY_FILE)
|
endif()
|
||||||
|
|
||||||
file(STRINGS ${GENERATE_SOURCE_FILE} ENUM_LINES REGEX "@enum")
|
file(STRINGS ${GENERATE_SOURCE_FILE} ENUM_LINES REGEX "@enum")
|
||||||
|
|
||||||
@@ -46,38 +46,38 @@ foreach(ENUM IN LISTS ENUM_LINES)
|
|||||||
string(REPLACE "${RM_INDENT}" "" LINE "${LINE}")
|
string(REPLACE "${RM_INDENT}" "" LINE "${LINE}")
|
||||||
|
|
||||||
# Remember possible doxygen comment before enum declaration
|
# Remember possible doxygen comment before enum declaration
|
||||||
if ((NOT ACTIVE) AND "${LINE}" MATCHES "/\\*\\*")
|
if((NOT ACTIVE) AND "${LINE}" MATCHES "/\\*\\*")
|
||||||
set(COMMENT "${ADD_INDENT}${LINE}")
|
set(COMMENT "${ADD_INDENT}${LINE}")
|
||||||
set(ACTIVE_COMMENT 1)
|
set(ACTIVE_COMMENT 1)
|
||||||
elseif (ACTIVE_COMMENT EQUAL 1)
|
elseif(ACTIVE_COMMENT EQUAL 1)
|
||||||
string(APPEND COMMENT "\n${ADD_INDENT}${LINE}")
|
string(APPEND COMMENT "\n${ADD_INDENT}${LINE}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Check for enum match
|
# Check for enum match
|
||||||
if ("${LINE}" MATCHES "^ *enum *${ENUM_PATTERN} *\{")
|
if("${LINE}" MATCHES "^ *enum *${ENUM_PATTERN} *\{")
|
||||||
# REGEX REPLACE does a REGEX MATCHALL and fails if an empty string is matched
|
# REGEX REPLACE does a REGEX MATCHALL and fails if an empty string is matched
|
||||||
string(REGEX MATCH "[^ ]*" RESULT "${LINE}")
|
string(REGEX MATCH "[^ ]*" RESULT "${LINE}")
|
||||||
string(REPLACE "${RESULT}" "" RM_INDENT "${LINE}")
|
string(REPLACE "${RESULT}" "" RM_INDENT "${LINE}")
|
||||||
|
|
||||||
set(ACTIVE 1)
|
set(ACTIVE 1)
|
||||||
if (ACTIVE_COMMENT GREATER 0)
|
if(ACTIVE_COMMENT GREATER 0)
|
||||||
string(APPEND ${PLACE_HOLDER} "\n${COMMENT}")
|
string(APPEND ${PLACE_HOLDER} "\n${COMMENT}")
|
||||||
endif (ACTIVE_COMMENT GREATER 0)
|
endif()
|
||||||
unset(ACTIVE_COMMENT)
|
unset(ACTIVE_COMMENT)
|
||||||
unset(COMMENT)
|
unset(COMMENT)
|
||||||
endif ("${LINE}" MATCHES "^ *enum *${ENUM_PATTERN} *\{")
|
endif()
|
||||||
|
|
||||||
# Forget doxygen comment, if no enum follows
|
# Forget doxygen comment, if no enum follows
|
||||||
if (ACTIVE_COMMENT EQUAL 2 AND NOT "${LINE}" STREQUAL "")
|
if(ACTIVE_COMMENT EQUAL 2 AND NOT "${LINE}" STREQUAL "")
|
||||||
unset(ACTIVE_COMMENT)
|
unset(ACTIVE_COMMENT)
|
||||||
unset(COMMENT)
|
unset(COMMENT)
|
||||||
endif (ACTIVE_COMMENT EQUAL 2 AND NOT "${LINE}" STREQUAL "")
|
endif()
|
||||||
if (ACTIVE_COMMENT EQUAL 1 AND "${LINE}" MATCHES "\\*/")
|
if(ACTIVE_COMMENT EQUAL 1 AND "${LINE}" MATCHES "\\*/")
|
||||||
set(ACTIVE_COMMENT 2)
|
set(ACTIVE_COMMENT 2)
|
||||||
endif (ACTIVE_COMMENT EQUAL 1 AND "${LINE}" MATCHES "\\*/")
|
endif()
|
||||||
|
|
||||||
if (ACTIVE)
|
if(ACTIVE)
|
||||||
if ("${LINE}" MATCHES "^ *[A-Za-z0-9_]* *[,=]")
|
if("${LINE}" MATCHES "^ *[A-Za-z0-9_]* *[,=]")
|
||||||
# Transform enum values
|
# Transform enum values
|
||||||
# REGEX REPLACE does a REGEX MATCHALL and replaces too much
|
# REGEX REPLACE does a REGEX MATCHALL and replaces too much
|
||||||
string(REGEX MATCH " *=[^,]*" RESULT "${LINE}")
|
string(REGEX MATCH " *=[^,]*" RESULT "${LINE}")
|
||||||
@@ -92,28 +92,28 @@ foreach(ENUM IN LISTS ENUM_LINES)
|
|||||||
unset(SPACES)
|
unset(SPACES)
|
||||||
foreach(i RANGE ${LEN})
|
foreach(i RANGE ${LEN})
|
||||||
string(APPEND SPACES " ")
|
string(APPEND SPACES " ")
|
||||||
endforeach(i)
|
endforeach()
|
||||||
|
|
||||||
if (CMAKE_MATCH_3)
|
if(CMAKE_MATCH_3)
|
||||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},${SPACES}${CMAKE_MATCH_3}")
|
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},${SPACES}${CMAKE_MATCH_3}")
|
||||||
else (CMAKE_MATCH_3)
|
else()
|
||||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},")
|
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},")
|
||||||
endif (CMAKE_MATCH_3)
|
endif()
|
||||||
elseif ("${LINE}" STREQUAL "")
|
elseif("${LINE}" STREQUAL "")
|
||||||
string(APPEND ${PLACE_HOLDER} "\n")
|
string(APPEND ${PLACE_HOLDER} "\n")
|
||||||
else ()
|
else()
|
||||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${LINE}")
|
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${LINE}")
|
||||||
endif ()
|
endif()
|
||||||
endif (ACTIVE)
|
endif()
|
||||||
|
|
||||||
if ("${LINE}" MATCHES "^ *\};")
|
if("${LINE}" MATCHES "^ *\};")
|
||||||
if (ACTIVE)
|
if(ACTIVE)
|
||||||
string(APPEND ${PLACE_HOLDER} "\n")
|
string(APPEND ${PLACE_HOLDER} "\n")
|
||||||
endif (ACTIVE)
|
endif()
|
||||||
unset(ACTIVE)
|
unset(ACTIVE)
|
||||||
endif ("${LINE}" MATCHES "^ *\};")
|
endif()
|
||||||
endforeach(LINE)
|
endforeach()
|
||||||
endforeach(FILE)
|
endforeach()
|
||||||
endforeach(ENUM)
|
endforeach()
|
||||||
|
|
||||||
configure_file(${GENERATE_SOURCE_FILE} ${GENERATE_BINARY_FILE})
|
configure_file(${GENERATE_SOURCE_FILE} ${GENERATE_BINARY_FILE})
|
||||||
|
@@ -4,26 +4,26 @@ cmake_minimum_required(VERSION 3.5)
|
|||||||
# Runs a single regressoion test
|
# Runs a single regressoion test
|
||||||
#
|
#
|
||||||
|
|
||||||
if (NOT REGRESSION_TEST)
|
if(NOT REGRESSION_TEST)
|
||||||
message(FATAL_ERROR "Script needs REGRESSION_TEST defined (tip: use -DREGRESSION_TEST=..)")
|
message(FATAL_ERROR "Script needs REGRESSION_TEST defined (tip: use -DREGRESSION_TEST=..)")
|
||||||
endif (NOT REGRESSION_TEST)
|
endif()
|
||||||
if (NOT OPENTTD_EXECUTABLE)
|
if(NOT OPENTTD_EXECUTABLE)
|
||||||
message(FATAL_ERROR "Script needs OPENTTD_EXECUTABLE defined (tip: use -DOPENTTD_EXECUTABLE=..)")
|
message(FATAL_ERROR "Script needs OPENTTD_EXECUTABLE defined (tip: use -DOPENTTD_EXECUTABLE=..)")
|
||||||
endif (NOT OPENTTD_EXECUTABLE)
|
endif()
|
||||||
|
|
||||||
if (NOT EXISTS ai/${REGRESSION_TEST}/test.sav)
|
if(NOT EXISTS ai/${REGRESSION_TEST}/test.sav)
|
||||||
message(FATAL_ERROR "Regression test ${REGRESSION_TEST} does not exist (tip: check regression folder for the correct spelling)")
|
message(FATAL_ERROR "Regression test ${REGRESSION_TEST} does not exist (tip: check regression folder for the correct spelling)")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# If editbin is given, copy the executable to a new folder, and change the
|
# If editbin is given, copy the executable to a new folder, and change the
|
||||||
# subsystem to console. The copy is needed as multiple regressions can run
|
# subsystem to console. The copy is needed as multiple regressions can run
|
||||||
# at the same time.
|
# at the same time.
|
||||||
if (EDITBIN_EXECUTABLE)
|
if(EDITBIN_EXECUTABLE)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${OPENTTD_EXECUTABLE} regression/${REGRESSION_TEST}.exe)
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${OPENTTD_EXECUTABLE} regression/${REGRESSION_TEST}.exe)
|
||||||
set(OPENTTD_EXECUTABLE "regression/${REGRESSION_TEST}.exe")
|
set(OPENTTD_EXECUTABLE "regression/${REGRESSION_TEST}.exe")
|
||||||
|
|
||||||
execute_process(COMMAND ${EDITBIN_EXECUTABLE} /nologo /subsystem:console ${OPENTTD_EXECUTABLE})
|
execute_process(COMMAND ${EDITBIN_EXECUTABLE} /nologo /subsystem:console ${OPENTTD_EXECUTABLE})
|
||||||
endif (EDITBIN_EXECUTABLE)
|
endif()
|
||||||
|
|
||||||
# Run the regression test
|
# Run the regression test
|
||||||
execute_process(COMMAND ${OPENTTD_EXECUTABLE}
|
execute_process(COMMAND ${OPENTTD_EXECUTABLE}
|
||||||
@@ -40,13 +40,13 @@ execute_process(COMMAND ${OPENTTD_EXECUTABLE}
|
|||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
)
|
)
|
||||||
|
|
||||||
if (REGRESSION_OUTPUT)
|
if(REGRESSION_OUTPUT)
|
||||||
message(FATAL_ERROR "Unexpected output: ${REGRESSION_OUTPUT}")
|
message(FATAL_ERROR "Unexpected output: ${REGRESSION_OUTPUT}")
|
||||||
endif (REGRESSION_OUTPUT)
|
endif()
|
||||||
|
|
||||||
if (NOT REGRESSION_RESULT)
|
if(NOT REGRESSION_RESULT)
|
||||||
message(FATAL_ERROR "Regression did not output anything; did the compilation fail?")
|
message(FATAL_ERROR "Regression did not output anything; did the compilation fail?")
|
||||||
endif (NOT REGRESSION_RESULT)
|
endif()
|
||||||
|
|
||||||
# For some reason pointer can be printed as '0x(nil)', '0x0000000000000000', or '0x0x0'
|
# For some reason pointer can be printed as '0x(nil)', '0x0000000000000000', or '0x0x0'
|
||||||
string(REPLACE "0x(nil)" "0x00000000" REGRESSION_RESULT "${REGRESSION_RESULT}")
|
string(REPLACE "0x(nil)" "0x00000000" REGRESSION_RESULT "${REGRESSION_RESULT}")
|
||||||
@@ -76,21 +76,21 @@ list(LENGTH REGRESSION_EXPECTED REGRESSION_EXPECTED_LENGTH)
|
|||||||
foreach(RESULT IN LISTS REGRESSION_RESULT)
|
foreach(RESULT IN LISTS REGRESSION_RESULT)
|
||||||
list(GET REGRESSION_EXPECTED ${ARGC} EXPECTED)
|
list(GET REGRESSION_EXPECTED ${ARGC} EXPECTED)
|
||||||
|
|
||||||
if (NOT RESULT STREQUAL EXPECTED)
|
if(NOT RESULT STREQUAL EXPECTED)
|
||||||
message("${ARGC}: - ${EXPECTED}")
|
message("${ARGC}: - ${EXPECTED}")
|
||||||
message("${ARGC}: + ${RESULT}'")
|
message("${ARGC}: + ${RESULT}'")
|
||||||
set(ERROR YES)
|
set(ERROR YES)
|
||||||
endif (NOT RESULT STREQUAL EXPECTED)
|
endif()
|
||||||
|
|
||||||
math(EXPR ARGC "${ARGC} + 1")
|
math(EXPR ARGC "${ARGC} + 1")
|
||||||
endforeach(RESULT)
|
endforeach()
|
||||||
|
|
||||||
if (NOT REGRESSION_EXPECTED_LENGTH EQUAL ARGC)
|
if(NOT REGRESSION_EXPECTED_LENGTH EQUAL ARGC)
|
||||||
math(EXPR MISSING "${REGRESSION_EXPECTED_LENGTH} - ${ARGC}")
|
math(EXPR MISSING "${REGRESSION_EXPECTED_LENGTH} - ${ARGC}")
|
||||||
message("(${MISSING} more lines were expected than found)")
|
message("(${MISSING} more lines were expected than found)")
|
||||||
set(ERROR YES)
|
set(ERROR YES)
|
||||||
endif (NOT REGRESSION_EXPECTED_LENGTH EQUAL ARGC)
|
endif()
|
||||||
|
|
||||||
if (ERROR)
|
if(ERROR)
|
||||||
message(FATAL_ERROR "Regression failed")
|
message(FATAL_ERROR "Regression failed")
|
||||||
endif (ERROR)
|
endif()
|
||||||
|
@@ -1,29 +1,29 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
if (NOT SCRIPT_API_SOURCE_FILE)
|
if(NOT SCRIPT_API_SOURCE_FILE)
|
||||||
message(FATAL_ERROR "Script needs SCRIPT_API_SOURCE_FILE defined")
|
message(FATAL_ERROR "Script needs SCRIPT_API_SOURCE_FILE defined")
|
||||||
endif (NOT SCRIPT_API_SOURCE_FILE)
|
endif()
|
||||||
if (NOT SCRIPT_API_BINARY_FILE)
|
if(NOT SCRIPT_API_BINARY_FILE)
|
||||||
message(FATAL_ERROR "Script needs SCRIPT_API_BINARY_FILE defined")
|
message(FATAL_ERROR "Script needs SCRIPT_API_BINARY_FILE defined")
|
||||||
endif (NOT SCRIPT_API_BINARY_FILE)
|
endif()
|
||||||
if (NOT SCRIPT_API_FILE)
|
if(NOT SCRIPT_API_FILE)
|
||||||
message(FATAL_ERROR "Script needs SCRIPT_API_FILE defined")
|
message(FATAL_ERROR "Script needs SCRIPT_API_FILE defined")
|
||||||
endif (NOT SCRIPT_API_FILE)
|
endif()
|
||||||
if (NOT APIUC)
|
if(NOT APIUC)
|
||||||
message(FATAL_ERROR "Script needs APIUC defined")
|
message(FATAL_ERROR "Script needs APIUC defined")
|
||||||
endif (NOT APIUC)
|
endif()
|
||||||
if (NOT APILC)
|
if(NOT APILC)
|
||||||
message(FATAL_ERROR "Script needs APILC defined")
|
message(FATAL_ERROR "Script needs APILC defined")
|
||||||
endif (NOT APILC)
|
endif()
|
||||||
|
|
||||||
macro(dump_fileheader)
|
macro(dump_fileheader)
|
||||||
get_filename_component(SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE}" NAME)
|
get_filename_component(SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE}" NAME)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n#include \"../${SCRIPT_API_FILE_NAME}\"")
|
string(APPEND SQUIRREL_EXPORT "\n#include \"../${SCRIPT_API_FILE_NAME}\"")
|
||||||
if (NOT "${APIUC}" STREQUAL "Template")
|
if(NOT "${APIUC}" STREQUAL "Template")
|
||||||
string(REPLACE "script_" "template_" SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE_NAME}")
|
string(REPLACE "script_" "template_" SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE_NAME}")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n#include \"../template/${SCRIPT_API_FILE_NAME}.sq\"")
|
string(APPEND SQUIRREL_EXPORT "\n#include \"../template/${SCRIPT_API_FILE_NAME}.sq\"")
|
||||||
endif (NOT "${APIUC}" STREQUAL "Template")
|
endif()
|
||||||
endmacro(dump_fileheader)
|
endmacro()
|
||||||
|
|
||||||
macro(dump_class_templates NAME)
|
macro(dump_class_templates NAME)
|
||||||
string(REGEX REPLACE "^Script" "" REALNAME ${NAME})
|
string(REGEX REPLACE "^Script" "" REALNAME ${NAME})
|
||||||
@@ -32,9 +32,9 @@ macro(dump_class_templates NAME)
|
|||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline ${NAME} &GetParam(ForceType<${NAME} &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(${NAME} *)instance; }")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline ${NAME} &GetParam(ForceType<${NAME} &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(${NAME} *)instance; }")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline const ${NAME} *GetParam(ForceType<const ${NAME} *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (${NAME} *)instance; }")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline const ${NAME} *GetParam(ForceType<const ${NAME} *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (${NAME} *)instance; }")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline const ${NAME} &GetParam(ForceType<const ${NAME} &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(${NAME} *)instance; }")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline const ${NAME} &GetParam(ForceType<const ${NAME} &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(${NAME} *)instance; }")
|
||||||
if ("${NAME}" STREQUAL "ScriptEvent")
|
if("${NAME}" STREQUAL "ScriptEvent")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline int Return<${NAME} *>(HSQUIRRELVM vm, ${NAME} *res) { if (res == nullptr) { sq_pushnull(vm); return 1; } Squirrel::CreateClassInstanceVM(vm, \"${REALNAME}\", res, nullptr, DefSQDestructorCallback<${NAME}>, true); return 1; }")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline int Return<${NAME} *>(HSQUIRRELVM vm, ${NAME} *res) { if (res == nullptr) { sq_pushnull(vm); return 1; } Squirrel::CreateClassInstanceVM(vm, \"${REALNAME}\", res, nullptr, DefSQDestructorCallback<${NAME}>, true); return 1; }")
|
||||||
elseif ("${NAME}" STREQUAL "ScriptText")
|
elseif("${NAME}" STREQUAL "ScriptText")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline Text *GetParam(ForceType<Text *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) {")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline Text *GetParam(ForceType<Text *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) {")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n if (sq_gettype(vm, index) == OT_INSTANCE) {")
|
string(APPEND SQUIRREL_EXPORT "\n if (sq_gettype(vm, index) == OT_INSTANCE) {")
|
||||||
@@ -45,10 +45,10 @@ macro(dump_class_templates NAME)
|
|||||||
string(APPEND SQUIRREL_EXPORT "\n }")
|
string(APPEND SQUIRREL_EXPORT "\n }")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n return nullptr;")
|
string(APPEND SQUIRREL_EXPORT "\n return nullptr;")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n }")
|
string(APPEND SQUIRREL_EXPORT "\n }")
|
||||||
else ()
|
else()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline int Return<${NAME} *>(HSQUIRRELVM vm, ${NAME} *res) { if (res == nullptr) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, \"${REALNAME}\", res, nullptr, DefSQDestructorCallback<${NAME}>, true); return 1; }")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline int Return<${NAME} *>(HSQUIRRELVM vm, ${NAME} *res) { if (res == nullptr) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, \"${REALNAME}\", res, nullptr, DefSQDestructorCallback<${NAME}>, true); return 1; }")
|
||||||
endif ()
|
endif()
|
||||||
endmacro(dump_class_templates)
|
endmacro()
|
||||||
|
|
||||||
macro(reset_reader)
|
macro(reset_reader)
|
||||||
unset(ENUMS)
|
unset(ENUMS)
|
||||||
@@ -63,7 +63,7 @@ macro(reset_reader)
|
|||||||
unset(START_SQUIRREL_DEFINE_ON_NEXT_LINE)
|
unset(START_SQUIRREL_DEFINE_ON_NEXT_LINE)
|
||||||
set(CLS_LEVEL 0)
|
set(CLS_LEVEL 0)
|
||||||
unset(CLS_IN_API)
|
unset(CLS_IN_API)
|
||||||
endmacro(reset_reader)
|
endmacro()
|
||||||
|
|
||||||
reset_reader()
|
reset_reader()
|
||||||
|
|
||||||
@@ -71,80 +71,80 @@ file(STRINGS "${SCRIPT_API_FILE}" SOURCE_LINES)
|
|||||||
|
|
||||||
foreach(LINE IN LISTS SOURCE_LINES)
|
foreach(LINE IN LISTS SOURCE_LINES)
|
||||||
# Ignore special doxygen blocks
|
# Ignore special doxygen blocks
|
||||||
if ("${LINE}" MATCHES "^#ifndef DOXYGEN_API")
|
if("${LINE}" MATCHES "^#ifndef DOXYGEN_API")
|
||||||
set(DOXYGEN_SKIP "next")
|
set(DOXYGEN_SKIP "next")
|
||||||
continue()
|
continue()
|
||||||
endif ()
|
endif()
|
||||||
if ("${LINE}" MATCHES "^#ifdef DOXYGEN_API")
|
if("${LINE}" MATCHES "^#ifdef DOXYGEN_API")
|
||||||
set(DOXYGEN_SKIP "true")
|
set(DOXYGEN_SKIP "true")
|
||||||
continue()
|
continue()
|
||||||
endif ()
|
endif()
|
||||||
if ("${LINE}" MATCHES "^#endif /\\* DOXYGEN_API \\*/")
|
if("${LINE}" MATCHES "^#endif /\\* DOXYGEN_API \\*/")
|
||||||
unset(DOXYGEN_SKIP)
|
unset(DOXYGEN_SKIP)
|
||||||
continue()
|
continue()
|
||||||
endif ()
|
endif()
|
||||||
if ("${LINE}" MATCHES "^#else")
|
if("${LINE}" MATCHES "^#else")
|
||||||
if ("${DOXYGEN_SKIP}" STREQUAL "next")
|
if("${DOXYGEN_SKIP}" STREQUAL "next")
|
||||||
set(DOXYGEN_SKIP "true")
|
set(DOXYGEN_SKIP "true")
|
||||||
else()
|
else()
|
||||||
unset(DOXYGEN_SKIP)
|
unset(DOXYGEN_SKIP)
|
||||||
endif()
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ()
|
endif()
|
||||||
if ("${DOXYGEN_SKIP}" STREQUAL "true")
|
if("${DOXYGEN_SKIP}" STREQUAL "true")
|
||||||
continue()
|
continue()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ("${LINE}" MATCHES "^([ ]*)\\* @api (.*)$")
|
if("${LINE}" MATCHES "^([ ]*)\\* @api (.*)$")
|
||||||
set(LINE ${CMAKE_MATCH_2})
|
set(LINE ${CMAKE_MATCH_2})
|
||||||
# By default, classes are not selected
|
# By default, classes are not selected
|
||||||
if (NOT CLS_LEVEL)
|
if(NOT CLS_LEVEL)
|
||||||
set(API_SELECTED FALSE)
|
set(API_SELECTED FALSE)
|
||||||
endif (NOT CLS_LEVEL)
|
endif()
|
||||||
|
|
||||||
if ("${APIUC}" STREQUAL "Template")
|
if("${APIUC}" STREQUAL "Template")
|
||||||
set(API_SELECTED TRUE)
|
set(API_SELECTED TRUE)
|
||||||
if ("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
|
if("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
|
||||||
set(API_SELECTED FALSE)
|
set(API_SELECTED FALSE)
|
||||||
endif ("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif("${APIUC}" STREQUAL "Template")
|
endif()
|
||||||
|
|
||||||
if ("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
|
if("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
|
||||||
set(API_SELECTED FALSE)
|
set(API_SELECTED FALSE)
|
||||||
elseif ("${LINE}" MATCHES "-${APILC}")
|
elseif("${LINE}" MATCHES "-${APILC}")
|
||||||
set(API_SELECTED FALSE)
|
set(API_SELECTED FALSE)
|
||||||
elseif ("${LINE}" MATCHES "${APILC}")
|
elseif("${LINE}" MATCHES "${APILC}")
|
||||||
set(API_SELECTED TRUE)
|
set(API_SELECTED TRUE)
|
||||||
endif ()
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^([ ]*)\\* @api (.*)$")
|
endif()
|
||||||
|
|
||||||
# Remove the old squirrel stuff
|
# Remove the old squirrel stuff
|
||||||
if ("${LINE}" MATCHES "#ifdef DEFINE_SQUIRREL_CLASS")
|
if("${LINE}" MATCHES "#ifdef DEFINE_SQUIRREL_CLASS")
|
||||||
set(SQUIRREL_STUFF TRUE)
|
set(SQUIRREL_STUFF TRUE)
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "#ifdef DEFINE_SQUIRREL_CLASS")
|
endif()
|
||||||
if ("${LINE}" MATCHES "^#endif /\\* DEFINE_SQUIRREL_CLASS \\*/")
|
if("${LINE}" MATCHES "^#endif /\\* DEFINE_SQUIRREL_CLASS \\*/")
|
||||||
unset(SQUIRREL_STUFF)
|
unset(SQUIRREL_STUFF)
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^#endif /\\* DEFINE_SQUIRREL_CLASS \\*/")
|
endif()
|
||||||
if (SQUIRREL_STUFF)
|
if(SQUIRREL_STUFF)
|
||||||
continue()
|
continue()
|
||||||
endif (SQUIRREL_STUFF)
|
endif()
|
||||||
|
|
||||||
# Ignore forward declarations of classes
|
# Ignore forward declarations of classes
|
||||||
if ("${LINE}" MATCHES "^( *)class(.*);")
|
if("${LINE}" MATCHES "^( *)class(.*);")
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^( *)class(.*);")
|
endif()
|
||||||
|
|
||||||
# We only want to have public functions exported for now
|
# We only want to have public functions exported for now
|
||||||
if ("${LINE}" MATCHES "^( *)class (.*) (: public|: protected|: private|:) ([^ ]*)")
|
if("${LINE}" MATCHES "^( *)class (.*) (: public|: protected|: private|:) ([^ ]*)")
|
||||||
if (NOT CLS_LEVEL)
|
if(NOT CLS_LEVEL)
|
||||||
if (NOT DEFINED API_SELECTED)
|
if(NOT DEFINED API_SELECTED)
|
||||||
message(WARNING "Class '${CMAKE_MATCH_2}' has no @api. It won't be published to any API.")
|
message(WARNING "Class '${CMAKE_MATCH_2}' has no @api. It won't be published to any API.")
|
||||||
set(API_SELECTED FALSE)
|
set(API_SELECTED FALSE)
|
||||||
endif (NOT DEFINED API_SELECTED)
|
endif()
|
||||||
unset(IS_PUBLIC)
|
unset(IS_PUBLIC)
|
||||||
unset(CLS_PARAM_0)
|
unset(CLS_PARAM_0)
|
||||||
set(CLS_PARAM_1 1)
|
set(CLS_PARAM_1 1)
|
||||||
@@ -153,132 +153,132 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
set(CLS "${CMAKE_MATCH_2}")
|
set(CLS "${CMAKE_MATCH_2}")
|
||||||
set(SUPER_CLS "${CMAKE_MATCH_4}")
|
set(SUPER_CLS "${CMAKE_MATCH_4}")
|
||||||
elseif (CLS_LEVEL EQUAL 1)
|
elseif(CLS_LEVEL EQUAL 1)
|
||||||
if (NOT DEFINED API_SELECTED)
|
if(NOT DEFINED API_SELECTED)
|
||||||
set(API_SELECTED ${CLS_IN_API})
|
set(API_SELECTED ${CLS_IN_API})
|
||||||
endif (NOT API_SELECTED)
|
endif()
|
||||||
|
|
||||||
if (API_SELECTED)
|
if(API_SELECTED)
|
||||||
list(APPEND STRUCTS "${CLS}::${CMAKE_MATCH_2}")
|
list(APPEND STRUCTS "${CLS}::${CMAKE_MATCH_2}")
|
||||||
endif (API_SELECTED)
|
endif()
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
endif ()
|
endif()
|
||||||
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
|
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^( *)class (.*) (: public|: protected|: private|:) ([^ ]*)")
|
endif()
|
||||||
if ("${LINE}" MATCHES "^( *)public")
|
if("${LINE}" MATCHES "^( *)public")
|
||||||
if (CLS_LEVEL EQUAL 1)
|
if(CLS_LEVEL EQUAL 1)
|
||||||
set(IS_PUBLIC TRUE)
|
set(IS_PUBLIC TRUE)
|
||||||
endif (CLS_LEVEL EQUAL 1)
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^( *)public")
|
endif()
|
||||||
if ("${LINE}" MATCHES "^( *)protected")
|
if("${LINE}" MATCHES "^( *)protected")
|
||||||
if (CLS_LEVEL EQUAL 1)
|
if(CLS_LEVEL EQUAL 1)
|
||||||
unset(IS_PUBLIC)
|
unset(IS_PUBLIC)
|
||||||
endif (CLS_LEVEL EQUAL 1)
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^( *)protected")
|
endif()
|
||||||
if ("${LINE}" MATCHES "^( *)private")
|
if("${LINE}" MATCHES "^( *)private")
|
||||||
if (CLS_LEVEL EQUAL 1)
|
if(CLS_LEVEL EQUAL 1)
|
||||||
unset(IS_PUBLIC)
|
unset(IS_PUBLIC)
|
||||||
endif (CLS_LEVEL EQUAL 1)
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^( *)private")
|
endif()
|
||||||
|
|
||||||
# Ignore the comments
|
# Ignore the comments
|
||||||
if ("${LINE}" MATCHES "^#")
|
if("${LINE}" MATCHES "^#")
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^#")
|
endif()
|
||||||
if ("${LINE}" MATCHES "/\\*.*\\*/")
|
if("${LINE}" MATCHES "/\\*.*\\*/")
|
||||||
unset(COMMENT)
|
unset(COMMENT)
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "/\\*.*\\*/")
|
endif()
|
||||||
if ("${LINE}" MATCHES "/\\*")
|
if("${LINE}" MATCHES "/\\*")
|
||||||
set(COMMENT TRUE)
|
set(COMMENT TRUE)
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "/\\*")
|
endif()
|
||||||
if ("${LINE}" MATCHES "\\*/")
|
if("${LINE}" MATCHES "\\*/")
|
||||||
unset(COMMENT)
|
unset(COMMENT)
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "\\*/")
|
endif()
|
||||||
if (COMMENT)
|
if(COMMENT)
|
||||||
continue()
|
continue()
|
||||||
endif (COMMENT)
|
endif()
|
||||||
|
|
||||||
# We need to make specialized conversions for structs
|
# We need to make specialized conversions for structs
|
||||||
if ("${LINE}" MATCHES "^( *)struct ([^ ]*)")
|
if("${LINE}" MATCHES "^( *)struct ([^ ]*)")
|
||||||
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
|
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
|
||||||
|
|
||||||
# Check if we want to publish this struct
|
# Check if we want to publish this struct
|
||||||
if (NOT DEFINED API_SELECTED)
|
if(NOT DEFINED API_SELECTED)
|
||||||
set(API_SELECTED ${CLS_IN_API})
|
set(API_SELECTED ${CLS_IN_API})
|
||||||
endif (NOT DEFINED API_SELECTED)
|
endif()
|
||||||
if (NOT API_SELECTED)
|
if(NOT API_SELECTED)
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT API_SELECTED)
|
endif()
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
|
|
||||||
if (NOT IS_PUBLIC OR NOT CLS_LEVEL EQUAL 1)
|
if(NOT IS_PUBLIC OR NOT CLS_LEVEL EQUAL 1)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT IS_PUBLIC OR NOT CLS_LEVEL EQUAL 1)
|
endif()
|
||||||
|
|
||||||
list(APPEND STRUCTS "${CLS}::${CMAKE_MATCH_2}")
|
list(APPEND STRUCTS "${CLS}::${CMAKE_MATCH_2}")
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^( *)struct ([^ ]*)")
|
endif()
|
||||||
|
|
||||||
# We need to make specialized conversions for enums
|
# We need to make specialized conversions for enums
|
||||||
if ("${LINE}" MATCHES "^( *)enum ([^ ]*)")
|
if("${LINE}" MATCHES "^( *)enum ([^ ]*)")
|
||||||
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
|
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
|
||||||
|
|
||||||
# Check if we want to publish this enum
|
# Check if we want to publish this enum
|
||||||
if (NOT DEFINED API_SELECTED)
|
if(NOT DEFINED API_SELECTED)
|
||||||
set(API_SELECTED ${CLS_IN_API})
|
set(API_SELECTED ${CLS_IN_API})
|
||||||
endif (NOT DEFINED API_SELECTED)
|
endif()
|
||||||
if (NOT API_SELECTED)
|
if(NOT API_SELECTED)
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT API_SELECTED)
|
endif()
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
|
|
||||||
if (NOT IS_PUBLIC)
|
if(NOT IS_PUBLIC)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT IS_PUBLIC)
|
endif()
|
||||||
|
|
||||||
set(IN_ENUM TRUE)
|
set(IN_ENUM TRUE)
|
||||||
list(APPEND ENUMS "${CLS}::${CMAKE_MATCH_2}")
|
list(APPEND ENUMS "${CLS}::${CMAKE_MATCH_2}")
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^( *)enum ([^ ]*)")
|
endif()
|
||||||
|
|
||||||
# Maybe the end of the class, if so we can start with the Squirrel export pretty soon
|
# Maybe the end of the class, if so we can start with the Squirrel export pretty soon
|
||||||
if ("${LINE}" MATCHES "};")
|
if("${LINE}" MATCHES "};")
|
||||||
math(EXPR CLS_LEVEL "${CLS_LEVEL} - 1")
|
math(EXPR CLS_LEVEL "${CLS_LEVEL} - 1")
|
||||||
if (CLS_LEVEL)
|
if(CLS_LEVEL)
|
||||||
unset(IN_ENUM)
|
unset(IN_ENUM)
|
||||||
continue()
|
continue()
|
||||||
endif (CLS_LEVEL)
|
endif()
|
||||||
|
|
||||||
if (CLS)
|
if(CLS)
|
||||||
set(START_SQUIRREL_DEFINE_ON_NEXT_LINE TRUE)
|
set(START_SQUIRREL_DEFINE_ON_NEXT_LINE TRUE)
|
||||||
endif (CLS)
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "};")
|
endif()
|
||||||
|
|
||||||
# Empty/white lines. When we may do the Squirrel export, do that export.
|
# Empty/white lines. When we may do the Squirrel export, do that export.
|
||||||
if ("${LINE}" MATCHES "^([ ]*)$")
|
if("${LINE}" MATCHES "^([ ]*)$")
|
||||||
if (NOT START_SQUIRREL_DEFINE_ON_NEXT_LINE)
|
if(NOT START_SQUIRREL_DEFINE_ON_NEXT_LINE)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT START_SQUIRREL_DEFINE_ON_NEXT_LINE)
|
endif()
|
||||||
|
|
||||||
if (NOT CLS_IN_API)
|
if(NOT CLS_IN_API)
|
||||||
reset_reader()
|
reset_reader()
|
||||||
continue()
|
continue()
|
||||||
endif (NOT CLS_IN_API)
|
endif()
|
||||||
|
|
||||||
if (NOT HAS_FILEHEADER)
|
if(NOT HAS_FILEHEADER)
|
||||||
dump_fileheader()
|
dump_fileheader()
|
||||||
set(HAS_FILEHEADER TRUE)
|
set(HAS_FILEHEADER TRUE)
|
||||||
endif (NOT HAS_FILEHEADER)
|
endif()
|
||||||
|
|
||||||
unset(IS_PUBLIC)
|
unset(IS_PUBLIC)
|
||||||
unset(NAMESPACE_OPENED)
|
unset(NAMESPACE_OPENED)
|
||||||
@@ -288,38 +288,38 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
|
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
|
|
||||||
if ("${APIUC}" STREQUAL "Template")
|
if("${APIUC}" STREQUAL "Template")
|
||||||
# First check whether we have enums to print
|
# First check whether we have enums to print
|
||||||
if (DEFINED ENUMS)
|
if(DEFINED ENUMS)
|
||||||
if (NOT NAMESPACE_OPENED)
|
if(NOT NAMESPACE_OPENED)
|
||||||
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
|
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
|
||||||
set(NAMESPACE_OPENED TRUE)
|
set(NAMESPACE_OPENED TRUE)
|
||||||
endif (NOT NAMESPACE_OPENED)
|
endif()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n /* Allow enums to be used as Squirrel parameters */")
|
string(APPEND SQUIRREL_EXPORT "\n /* Allow enums to be used as Squirrel parameters */")
|
||||||
foreach(ENUM IN LISTS ENUMS)
|
foreach(ENUM IN LISTS ENUMS)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline ${ENUM} GetParam(ForceType<${ENUM}>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (${ENUM})tmp; }")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline ${ENUM} GetParam(ForceType<${ENUM}>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (${ENUM})tmp; }")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n template <> inline int Return<${ENUM}>(HSQUIRRELVM vm, ${ENUM} res) { sq_pushinteger(vm, (int32)res); return 1; }")
|
string(APPEND SQUIRREL_EXPORT "\n template <> inline int Return<${ENUM}>(HSQUIRRELVM vm, ${ENUM} res) { sq_pushinteger(vm, (int32)res); return 1; }")
|
||||||
endforeach(ENUM)
|
endforeach()
|
||||||
endif (DEFINED ENUMS)
|
endif()
|
||||||
|
|
||||||
# Then check whether we have structs/classes to print
|
# Then check whether we have structs/classes to print
|
||||||
if (DEFINED STRUCTS)
|
if(DEFINED STRUCTS)
|
||||||
if (NOT NAMESPACE_OPENED)
|
if(NOT NAMESPACE_OPENED)
|
||||||
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
|
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
|
||||||
set(NAMESPACE_OPENED TRUE)
|
set(NAMESPACE_OPENED TRUE)
|
||||||
endif (NOT NAMESPACE_OPENED)
|
endif()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n /* Allow inner classes/structs to be used as Squirrel parameters */")
|
string(APPEND SQUIRREL_EXPORT "\n /* Allow inner classes/structs to be used as Squirrel parameters */")
|
||||||
foreach(STRUCT IN LISTS STRUCTS)
|
foreach(STRUCT IN LISTS STRUCTS)
|
||||||
dump_class_templates(${STRUCT})
|
dump_class_templates(${STRUCT})
|
||||||
endforeach(STRUCT)
|
endforeach()
|
||||||
endif (DEFINED STRUCTS)
|
endif()
|
||||||
|
|
||||||
if (NOT NAMESPACE_OPENED)
|
if(NOT NAMESPACE_OPENED)
|
||||||
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
|
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
|
||||||
set(NAMESPACE_OPENED TRUE)
|
set(NAMESPACE_OPENED TRUE)
|
||||||
else (NOT NAMESPACE_OPENED)
|
else()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
endif (NOT NAMESPACE_OPENED)
|
endif()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n /* Allow ${CLS} to be used as Squirrel parameter */")
|
string(APPEND SQUIRREL_EXPORT "\n /* Allow ${CLS} to be used as Squirrel parameter */")
|
||||||
dump_class_templates(${CLS})
|
dump_class_templates(${CLS})
|
||||||
|
|
||||||
@@ -327,7 +327,7 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
|
|
||||||
reset_reader()
|
reset_reader()
|
||||||
continue()
|
continue()
|
||||||
endif ("${APIUC}" STREQUAL "Template")
|
endif()
|
||||||
|
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
string(APPEND SQUIRREL_EXPORT "\ntemplate <> const char *GetClassName<${CLS}, ST_${APIUC}>() { return \"${API_CLS}\"; }")
|
string(APPEND SQUIRREL_EXPORT "\ntemplate <> const char *GetClassName<${CLS}, ST_${APIUC}>() { return \"${API_CLS}\"; }")
|
||||||
@@ -337,61 +337,61 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
string(APPEND SQUIRREL_EXPORT "\nvoid SQ${API_CLS}_Register(Squirrel *engine)")
|
string(APPEND SQUIRREL_EXPORT "\nvoid SQ${API_CLS}_Register(Squirrel *engine)")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n{")
|
string(APPEND SQUIRREL_EXPORT "\n{")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n DefSQClass<${CLS}, ST_${APIUC}> SQ${API_CLS}(\"${API_CLS}\");")
|
string(APPEND SQUIRREL_EXPORT "\n DefSQClass<${CLS}, ST_${APIUC}> SQ${API_CLS}(\"${API_CLS}\");")
|
||||||
if ("${SUPER_CLS}" STREQUAL "Text" OR "${SUPER_CLS}" STREQUAL "ScriptObject" OR "${SUPER_CLS}" STREQUAL "AIAbstractiveList::Valuator")
|
if("${SUPER_CLS}" STREQUAL "Text" OR "${SUPER_CLS}" STREQUAL "ScriptObject" OR "${SUPER_CLS}" STREQUAL "AIAbstractiveList::Valuator")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PreRegister(engine);")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PreRegister(engine);")
|
||||||
else ("${SUPER_CLS}" STREQUAL "Text" OR "${SUPER_CLS}" STREQUAL "ScriptObject" OR "${SUPER_CLS}" STREQUAL "AIAbstractiveList::Valuator")
|
else()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PreRegister(engine, \"${API_SUPER_CLS}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PreRegister(engine, \"${API_SUPER_CLS}\");")
|
||||||
endif ("${SUPER_CLS}" STREQUAL "Text" OR "${SUPER_CLS}" STREQUAL "ScriptObject" OR "${SUPER_CLS}" STREQUAL "AIAbstractiveList::Valuator")
|
endif()
|
||||||
if (NOT "${SUPER_CLS}" STREQUAL "ScriptEvent")
|
if(NOT "${SUPER_CLS}" STREQUAL "ScriptEvent")
|
||||||
if ("${CLS_PARAM_2}" STREQUAL "v")
|
if("${CLS_PARAM_2}" STREQUAL "v")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.AddSQAdvancedConstructor(engine);")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.AddSQAdvancedConstructor(engine);")
|
||||||
else ("${CLS_PARAM_2}" STREQUAL "v")
|
else()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.AddConstructor<void (${CLS}::*)(${CLS_PARAM_0}), ${CLS_PARAM_1}>(engine, \"${CLS_PARAM_2}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.AddConstructor<void (${CLS}::*)(${CLS_PARAM_0}), ${CLS_PARAM_1}>(engine, \"${CLS_PARAM_2}\");")
|
||||||
endif ("${CLS_PARAM_2}" STREQUAL "v")
|
endif()
|
||||||
endif (NOT "${SUPER_CLS}" STREQUAL "ScriptEvent")
|
endif()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
|
|
||||||
# Enum values
|
# Enum values
|
||||||
set(MLEN 0)
|
set(MLEN 0)
|
||||||
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
|
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
|
||||||
string(LENGTH "${ENUM_VALUE}" LEN)
|
string(LENGTH "${ENUM_VALUE}" LEN)
|
||||||
if (MLEN LESS LEN)
|
if(MLEN LESS LEN)
|
||||||
set(MLEN ${LEN})
|
set(MLEN ${LEN})
|
||||||
endif (MLEN LESS LEN)
|
endif()
|
||||||
endforeach(ENUM_VALUE)
|
endforeach()
|
||||||
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
|
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
|
||||||
string(LENGTH "${ENUM_VALUE}" LEN)
|
string(LENGTH "${ENUM_VALUE}" LEN)
|
||||||
math(EXPR LEN "${MLEN} - ${LEN}")
|
math(EXPR LEN "${MLEN} - ${LEN}")
|
||||||
unset(SPACES)
|
unset(SPACES)
|
||||||
foreach(i RANGE ${LEN})
|
foreach(i RANGE ${LEN})
|
||||||
string(APPEND SPACES " ")
|
string(APPEND SPACES " ")
|
||||||
endforeach(i)
|
endforeach()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQConst(engine, ${CLS}::${ENUM_VALUE},${SPACES}\"${ENUM_VALUE}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQConst(engine, ${CLS}::${ENUM_VALUE},${SPACES}\"${ENUM_VALUE}\");")
|
||||||
endforeach(ENUM_VALUE)
|
endforeach()
|
||||||
if (MLEN)
|
if(MLEN)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
endif (MLEN)
|
endif()
|
||||||
|
|
||||||
# Const values
|
# Const values
|
||||||
set(MLEN 0)
|
set(MLEN 0)
|
||||||
foreach(CONST_VALUE IN LISTS CONST_VALUES)
|
foreach(CONST_VALUE IN LISTS CONST_VALUES)
|
||||||
string(LENGTH "${CONST_VALUE}" LEN)
|
string(LENGTH "${CONST_VALUE}" LEN)
|
||||||
if (MLEN LESS LEN)
|
if(MLEN LESS LEN)
|
||||||
set(MLEN ${LEN})
|
set(MLEN ${LEN})
|
||||||
endif (MLEN LESS LEN)
|
endif()
|
||||||
endforeach(CONST_VALUE)
|
endforeach()
|
||||||
foreach(CONST_VALUE IN LISTS CONST_VALUES)
|
foreach(CONST_VALUE IN LISTS CONST_VALUES)
|
||||||
string(LENGTH "${CONST_VALUE}" LEN)
|
string(LENGTH "${CONST_VALUE}" LEN)
|
||||||
math(EXPR LEN "${MLEN} - ${LEN}")
|
math(EXPR LEN "${MLEN} - ${LEN}")
|
||||||
unset(SPACES)
|
unset(SPACES)
|
||||||
foreach(i RANGE ${LEN})
|
foreach(i RANGE ${LEN})
|
||||||
string(APPEND SPACES " ")
|
string(APPEND SPACES " ")
|
||||||
endforeach(i)
|
endforeach()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQConst(engine, ${CLS}::${CONST_VALUE},${SPACES}\"${CONST_VALUE}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQConst(engine, ${CLS}::${CONST_VALUE},${SPACES}\"${CONST_VALUE}\");")
|
||||||
endforeach(CONST_VALUE)
|
endforeach()
|
||||||
if (MLEN)
|
if(MLEN)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
endif (MLEN)
|
endif()
|
||||||
|
|
||||||
# Mapping of OTTD strings to errors
|
# Mapping of OTTD strings to errors
|
||||||
set(MLEN 0)
|
set(MLEN 0)
|
||||||
@@ -399,10 +399,10 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}")
|
string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}")
|
||||||
list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING)
|
list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING)
|
||||||
string(LENGTH "${ENUM_STRING}" LEN)
|
string(LENGTH "${ENUM_STRING}" LEN)
|
||||||
if (MLEN LESS LEN)
|
if(MLEN LESS LEN)
|
||||||
set(MLEN ${LEN})
|
set(MLEN ${LEN})
|
||||||
endif (MLEN LESS LEN)
|
endif()
|
||||||
endforeach(ENUM_STRING_TO_ERROR)
|
endforeach()
|
||||||
foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS)
|
foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS)
|
||||||
string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}")
|
string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}")
|
||||||
list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING)
|
list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING)
|
||||||
@@ -412,33 +412,33 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
unset(SPACES)
|
unset(SPACES)
|
||||||
foreach(i RANGE ${LEN})
|
foreach(i RANGE ${LEN})
|
||||||
string(APPEND SPACES " ")
|
string(APPEND SPACES " ")
|
||||||
endforeach(i)
|
endforeach()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n ScriptError::RegisterErrorMap(${ENUM_STRING},${SPACES}${CLS}::${ENUM_ERROR});")
|
string(APPEND SQUIRREL_EXPORT "\n ScriptError::RegisterErrorMap(${ENUM_STRING},${SPACES}${CLS}::${ENUM_ERROR});")
|
||||||
endforeach(ENUM_STRING_TO_ERROR)
|
endforeach()
|
||||||
if (MLEN)
|
if(MLEN)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
endif (MLEN)
|
endif()
|
||||||
|
|
||||||
# Mapping of errors to human 'readable' strings.
|
# Mapping of errors to human 'readable' strings.
|
||||||
set(MLEN 0)
|
set(MLEN 0)
|
||||||
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
|
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
|
||||||
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
|
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
|
||||||
if (MLEN LESS LEN)
|
if(MLEN LESS LEN)
|
||||||
set(MLEN ${LEN})
|
set(MLEN ${LEN})
|
||||||
endif (MLEN LESS LEN)
|
endif()
|
||||||
endforeach(ENUM_ERROR_TO_STRING)
|
endforeach()
|
||||||
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
|
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
|
||||||
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
|
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
|
||||||
math(EXPR LEN "${MLEN} - ${LEN}")
|
math(EXPR LEN "${MLEN} - ${LEN}")
|
||||||
unset(SPACES)
|
unset(SPACES)
|
||||||
foreach(i RANGE ${LEN})
|
foreach(i RANGE ${LEN})
|
||||||
string(APPEND SPACES " ")
|
string(APPEND SPACES " ")
|
||||||
endforeach(i)
|
endforeach()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n ScriptError::RegisterErrorMapString(${CLS}::${ENUM_ERROR_TO_STRING},${SPACES}\"${ENUM_ERROR_TO_STRING}\");")
|
string(APPEND SQUIRREL_EXPORT "\n ScriptError::RegisterErrorMapString(${CLS}::${ENUM_ERROR_TO_STRING},${SPACES}\"${ENUM_ERROR_TO_STRING}\");")
|
||||||
endforeach(ENUM_ERROR_TO_STRING)
|
endforeach()
|
||||||
if (MLEN)
|
if(MLEN)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
endif (MLEN)
|
endif()
|
||||||
|
|
||||||
# Static methods
|
# Static methods
|
||||||
set(MLEN 0)
|
set(MLEN 0)
|
||||||
@@ -446,10 +446,10 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
|
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
|
||||||
list(GET STATIC_METHOD 0 FUNCNAME)
|
list(GET STATIC_METHOD 0 FUNCNAME)
|
||||||
string(LENGTH "${FUNCNAME}" LEN)
|
string(LENGTH "${FUNCNAME}" LEN)
|
||||||
if (MLEN LESS LEN)
|
if(MLEN LESS LEN)
|
||||||
set(MLEN ${LEN})
|
set(MLEN ${LEN})
|
||||||
endif (MLEN LESS LEN)
|
endif()
|
||||||
endforeach(STATIC_METHOD)
|
endforeach()
|
||||||
foreach(STATIC_METHOD IN LISTS STATIC_METHODS)
|
foreach(STATIC_METHOD IN LISTS STATIC_METHODS)
|
||||||
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
|
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
|
||||||
list(GET STATIC_METHOD 0 FUNCNAME)
|
list(GET STATIC_METHOD 0 FUNCNAME)
|
||||||
@@ -457,26 +457,26 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
list(GET STATIC_METHOD 2 TYPES)
|
list(GET STATIC_METHOD 2 TYPES)
|
||||||
string(LENGTH "${FUNCNAME}" LEN)
|
string(LENGTH "${FUNCNAME}" LEN)
|
||||||
math(EXPR LEN "${MLEN} - ${LEN}")
|
math(EXPR LEN "${MLEN} - ${LEN}")
|
||||||
if ("${TYPES}" STREQUAL "v")
|
if("${TYPES}" STREQUAL "v")
|
||||||
if (LEN GREATER 8)
|
if(LEN GREATER 8)
|
||||||
math(EXPR LEN "${LEN} - 8")
|
math(EXPR LEN "${LEN} - 8")
|
||||||
else (LEN GREATER 8)
|
else()
|
||||||
set(LEN 0)
|
set(LEN 0)
|
||||||
endif (LEN GREATER 8)
|
endif()
|
||||||
endif ("${TYPES}" STREQUAL "v")
|
endif()
|
||||||
unset(SPACES)
|
unset(SPACES)
|
||||||
foreach(i RANGE ${LEN})
|
foreach(i RANGE ${LEN})
|
||||||
string(APPEND SPACES " ")
|
string(APPEND SPACES " ")
|
||||||
endforeach(i)
|
endforeach()
|
||||||
if ("${TYPES}" STREQUAL "v")
|
if("${TYPES}" STREQUAL "v")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQAdvancedStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQAdvancedStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\");")
|
||||||
else ("${TYPES}" STREQUAL "v")
|
else()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}${ARGC}, \"${TYPES}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}${ARGC}, \"${TYPES}\");")
|
||||||
endif ("${TYPES}" STREQUAL "v")
|
endif()
|
||||||
endforeach(STATIC_METHOD)
|
endforeach()
|
||||||
if (MLEN)
|
if(MLEN)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
endif (MLEN)
|
endif()
|
||||||
|
|
||||||
# Non-static methods
|
# Non-static methods
|
||||||
set(MLEN 0)
|
set(MLEN 0)
|
||||||
@@ -484,10 +484,10 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
string(REPLACE ":" ";" METHOD "${METHOD}")
|
string(REPLACE ":" ";" METHOD "${METHOD}")
|
||||||
list(GET METHOD 0 FUNCNAME)
|
list(GET METHOD 0 FUNCNAME)
|
||||||
string(LENGTH "${FUNCNAME}" LEN)
|
string(LENGTH "${FUNCNAME}" LEN)
|
||||||
if (MLEN LESS LEN)
|
if(MLEN LESS LEN)
|
||||||
set(MLEN ${LEN})
|
set(MLEN ${LEN})
|
||||||
endif (MLEN LESS LEN)
|
endif()
|
||||||
endforeach(METHOD)
|
endforeach()
|
||||||
foreach(METHOD IN LISTS METHODS)
|
foreach(METHOD IN LISTS METHODS)
|
||||||
string(REPLACE ":" ";" METHOD "${METHOD}")
|
string(REPLACE ":" ";" METHOD "${METHOD}")
|
||||||
list(GET METHOD 0 FUNCNAME)
|
list(GET METHOD 0 FUNCNAME)
|
||||||
@@ -495,26 +495,26 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
list(GET METHOD 2 TYPES)
|
list(GET METHOD 2 TYPES)
|
||||||
string(LENGTH "${FUNCNAME}" LEN)
|
string(LENGTH "${FUNCNAME}" LEN)
|
||||||
math(EXPR LEN "${MLEN} - ${LEN}")
|
math(EXPR LEN "${MLEN} - ${LEN}")
|
||||||
if ("${TYPES}" STREQUAL "v")
|
if("${TYPES}" STREQUAL "v")
|
||||||
if (LEN GREATER 8)
|
if(LEN GREATER 8)
|
||||||
math(EXPR LEN "${LEN} - 8")
|
math(EXPR LEN "${LEN} - 8")
|
||||||
else (LEN GREATER 8)
|
else()
|
||||||
set(LEN 0)
|
set(LEN 0)
|
||||||
endif (LEN GREATER 8)
|
endif()
|
||||||
endif ("${TYPES}" STREQUAL "v")
|
endif()
|
||||||
unset(SPACES)
|
unset(SPACES)
|
||||||
foreach(i RANGE ${LEN})
|
foreach(i RANGE ${LEN})
|
||||||
string(APPEND SPACES " ")
|
string(APPEND SPACES " ")
|
||||||
endforeach(i)
|
endforeach()
|
||||||
if ("${TYPES}" STREQUAL "v")
|
if("${TYPES}" STREQUAL "v")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQAdvancedMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQAdvancedMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\");")
|
||||||
else ("${TYPES}" STREQUAL "v")
|
else()
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}${ARGC}, \"${TYPES}\");")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}${ARGC}, \"${TYPES}\");")
|
||||||
endif ("${TYPES}" STREQUAL "v")
|
endif()
|
||||||
endforeach(METHOD)
|
endforeach()
|
||||||
if (MLEN)
|
if(MLEN)
|
||||||
string(APPEND SQUIRREL_EXPORT "\n")
|
string(APPEND SQUIRREL_EXPORT "\n")
|
||||||
endif (MLEN)
|
endif()
|
||||||
|
|
||||||
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PostRegister(engine);")
|
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PostRegister(engine);")
|
||||||
string(APPEND SQUIRREL_EXPORT "\n}")
|
string(APPEND SQUIRREL_EXPORT "\n}")
|
||||||
@@ -522,64 +522,64 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
reset_reader()
|
reset_reader()
|
||||||
|
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^([ ]*)$")
|
endif()
|
||||||
|
|
||||||
# Skip non-public functions
|
# Skip non-public functions
|
||||||
if (NOT IS_PUBLIC)
|
if(NOT IS_PUBLIC)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT IS_PUBLIC)
|
endif()
|
||||||
|
|
||||||
# Add enums
|
# Add enums
|
||||||
if (IN_ENUM)
|
if(IN_ENUM)
|
||||||
string(REGEX MATCH "([^, ]+)" ENUM_VALUE "${LINE}")
|
string(REGEX MATCH "([^, ]+)" ENUM_VALUE "${LINE}")
|
||||||
list(APPEND ENUM_VALUES "${ENUM_VALUE}")
|
list(APPEND ENUM_VALUES "${ENUM_VALUE}")
|
||||||
|
|
||||||
# Check if this a special error enum
|
# Check if this a special error enum
|
||||||
list(GET ENUMS -1 ENUM)
|
list(GET ENUMS -1 ENUM)
|
||||||
if ("${ENUM}" MATCHES ".*::ErrorMessages")
|
if("${ENUM}" MATCHES ".*::ErrorMessages")
|
||||||
# syntax:
|
# syntax:
|
||||||
# enum ErrorMessages {
|
# enum ErrorMessages {
|
||||||
# ERR_SOME_ERROR, // [STR_ITEM1, STR_ITEM2, ...]
|
# ERR_SOME_ERROR, // [STR_ITEM1, STR_ITEM2, ...]
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# Set the mappings
|
# Set the mappings
|
||||||
if ("${LINE}" MATCHES "\\[(.*)\\]")
|
if("${LINE}" MATCHES "\\[(.*)\\]")
|
||||||
string(REGEX REPLACE "[ ]" "" MAPPINGS "${CMAKE_MATCH_1}")
|
string(REGEX REPLACE "[ ]" "" MAPPINGS "${CMAKE_MATCH_1}")
|
||||||
string(REPLACE "," ";" MAPPINGS "${MAPPINGS}")
|
string(REPLACE "," ";" MAPPINGS "${MAPPINGS}")
|
||||||
|
|
||||||
foreach(MAPPING IN LISTS MAPPINGS)
|
foreach(MAPPING IN LISTS MAPPINGS)
|
||||||
list(APPEND ENUM_STRING_TO_ERRORS "${MAPPING}:${ENUM_VALUE}")
|
list(APPEND ENUM_STRING_TO_ERRORS "${MAPPING}:${ENUM_VALUE}")
|
||||||
endforeach(MAPPING)
|
endforeach()
|
||||||
|
|
||||||
list(APPEND ENUM_ERROR_TO_STRINGS "${ENUM_VALUE}")
|
list(APPEND ENUM_ERROR_TO_STRINGS "${ENUM_VALUE}")
|
||||||
endif ("${LINE}" MATCHES "\\[(.*)\\]")
|
endif()
|
||||||
endif ("${ENUM}" MATCHES ".*::ErrorMessages")
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif (IN_ENUM)
|
endif()
|
||||||
|
|
||||||
# Add a const (non-enum) value
|
# Add a const (non-enum) value
|
||||||
if ("${LINE}" MATCHES "^[ ]*static const [^ ]+ ([^ ]+) = -?\\(?[^ ]*\\)?[^ ]+;")
|
if("${LINE}" MATCHES "^[ ]*static const [^ ]+ ([^ ]+) = -?\\(?[^ ]*\\)?[^ ]+;")
|
||||||
list(APPEND CONST_VALUES "${CMAKE_MATCH_1}")
|
list(APPEND CONST_VALUES "${CMAKE_MATCH_1}")
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^[ ]*static const [^ ]+ ([^ ]+) = -?\\(?[^ ]*\\)?[^ ]+;")
|
endif()
|
||||||
|
|
||||||
# Add a method to the list
|
# Add a method to the list
|
||||||
if ("${LINE}" MATCHES "^.*\\(.*\\).*$")
|
if("${LINE}" MATCHES "^.*\\(.*\\).*$")
|
||||||
if (NOT CLS_LEVEL EQUAL 1)
|
if(NOT CLS_LEVEL EQUAL 1)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT CLS_LEVEL EQUAL 1)
|
endif()
|
||||||
if ("${LINE}" MATCHES "~")
|
if("${LINE}" MATCHES "~")
|
||||||
if (DEFINED API_SELECTED)
|
if(DEFINED API_SELECTED)
|
||||||
message(WARNING "Destructor for '${CLS}' has @api. Tag ignored.")
|
message(WARNING "Destructor for '${CLS}' has @api. Tag ignored.")
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
endif (DEFINED API_SELECTED)
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "~")
|
endif()
|
||||||
|
|
||||||
unset(IS_STATIC)
|
unset(IS_STATIC)
|
||||||
if ("${LINE}" MATCHES "static")
|
if("${LINE}" MATCHES "static")
|
||||||
set(IS_STATIC TRUE)
|
set(IS_STATIC TRUE)
|
||||||
endif ("${LINE}" MATCHES "static")
|
endif()
|
||||||
|
|
||||||
string(REGEX REPLACE "(virtual|static|const)[ ]+" "" LINE "${LINE}")
|
string(REGEX REPLACE "(virtual|static|const)[ ]+" "" LINE "${LINE}")
|
||||||
string(REGEX REPLACE "{.*" "" LINE "${LINE}")
|
string(REGEX REPLACE "{.*" "" LINE "${LINE}")
|
||||||
@@ -593,75 +593,75 @@ foreach(LINE IN LISTS SOURCE_LINES)
|
|||||||
string(REGEX MATCH "([^ ]+)( ([^ ]+))?" RESULT "${LINE}")
|
string(REGEX MATCH "([^ ]+)( ([^ ]+))?" RESULT "${LINE}")
|
||||||
set(FUNCTYPE "${CMAKE_MATCH_1}")
|
set(FUNCTYPE "${CMAKE_MATCH_1}")
|
||||||
set(FUNCNAME "${CMAKE_MATCH_3}")
|
set(FUNCNAME "${CMAKE_MATCH_3}")
|
||||||
if ("${FUNCTYPE}" STREQUAL "${CLS}" AND NOT FUNCNAME)
|
if("${FUNCTYPE}" STREQUAL "${CLS}" AND NOT FUNCNAME)
|
||||||
if (DEFINED API_SELECTED)
|
if(DEFINED API_SELECTED)
|
||||||
message(WARNING "Constructor for '${CLS}' has @api. Tag ignored.")
|
message(WARNING "Constructor for '${CLS}' has @api. Tag ignored.")
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
endif (DEFINED API_SELECTED)
|
endif()
|
||||||
set(CLS_PARAM_0 "${PARAM_S}")
|
set(CLS_PARAM_0 "${PARAM_S}")
|
||||||
if (NOT PARAM_S)
|
if(NOT PARAM_S)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT PARAM_S)
|
endif()
|
||||||
elseif (NOT FUNCNAME)
|
elseif(NOT FUNCNAME)
|
||||||
continue()
|
continue()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
string(REPLACE "," ";" PARAMS "${PARAM_S}")
|
string(REPLACE "," ";" PARAMS "${PARAM_S}")
|
||||||
if (IS_STATIC)
|
if(IS_STATIC)
|
||||||
set(TYPES ".")
|
set(TYPES ".")
|
||||||
else (IS_STATIC)
|
else()
|
||||||
set(TYPES "x")
|
set(TYPES "x")
|
||||||
endif (IS_STATIC)
|
endif()
|
||||||
|
|
||||||
set(LEN 1)
|
set(LEN 1)
|
||||||
foreach(PARAM IN LISTS PARAMS)
|
foreach(PARAM IN LISTS PARAMS)
|
||||||
math(EXPR LEN "${LEN} + 1")
|
math(EXPR LEN "${LEN} + 1")
|
||||||
string(STRIP "${PARAM}" PARAM)
|
string(STRIP "${PARAM}" PARAM)
|
||||||
if ("${PARAM}" MATCHES "\\*|&")
|
if("${PARAM}" MATCHES "\\*|&")
|
||||||
if ("${PARAM}" MATCHES "^char")
|
if("${PARAM}" MATCHES "^char")
|
||||||
# Many types can be converted to string, so use '.', not 's'. (handled by our glue code)
|
# Many types can be converted to string, so use '.', not 's'. (handled by our glue code)
|
||||||
string(APPEND TYPES ".")
|
string(APPEND TYPES ".")
|
||||||
elseif ("${PARAM}" MATCHES "^void")
|
elseif("${PARAM}" MATCHES "^void")
|
||||||
string(APPEND TYPES "p")
|
string(APPEND TYPES "p")
|
||||||
elseif ("${PARAM}" MATCHES "^Array")
|
elseif("${PARAM}" MATCHES "^Array")
|
||||||
string(APPEND TYPES "a")
|
string(APPEND TYPES "a")
|
||||||
elseif ("${PARAM}" MATCHES "^struct Array")
|
elseif("${PARAM}" MATCHES "^struct Array")
|
||||||
string(APPEND TYPES "a")
|
string(APPEND TYPES "a")
|
||||||
elseif ("${PARAM}" MATCHES "^Text")
|
elseif("${PARAM}" MATCHES "^Text")
|
||||||
string(APPEND TYPES ".")
|
string(APPEND TYPES ".")
|
||||||
else ()
|
else()
|
||||||
string(APPEND TYPES "x")
|
string(APPEND TYPES "x")
|
||||||
endif ()
|
endif()
|
||||||
elseif ("${PARAM}" MATCHES "^bool")
|
elseif("${PARAM}" MATCHES "^bool")
|
||||||
string(APPEND TYPES "b")
|
string(APPEND TYPES "b")
|
||||||
elseif ("${PARAM}" MATCHES "^HSQUIRRELVM")
|
elseif("${PARAM}" MATCHES "^HSQUIRRELVM")
|
||||||
set(TYPES "v")
|
set(TYPES "v")
|
||||||
else ()
|
else()
|
||||||
string(APPEND TYPES "i")
|
string(APPEND TYPES "i")
|
||||||
endif ()
|
endif()
|
||||||
endforeach(PARAM)
|
endforeach()
|
||||||
|
|
||||||
# Check if we want to publish this function
|
# Check if we want to publish this function
|
||||||
if (NOT DEFINED API_SELECTED)
|
if(NOT DEFINED API_SELECTED)
|
||||||
set(API_SELECTED ${CLS_IN_API})
|
set(API_SELECTED ${CLS_IN_API})
|
||||||
endif (NOT DEFINED API_SELECTED)
|
endif()
|
||||||
if (NOT API_SELECTED)
|
if(NOT API_SELECTED)
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
continue()
|
continue()
|
||||||
endif (NOT API_SELECTED)
|
endif()
|
||||||
unset(API_SELECTED)
|
unset(API_SELECTED)
|
||||||
|
|
||||||
if ("${FUNCTYPE}" STREQUAL "${CLS}" AND NOT FUNCNAME)
|
if("${FUNCTYPE}" STREQUAL "${CLS}" AND NOT FUNCNAME)
|
||||||
set(CLS_PARAM_1 ${LEN})
|
set(CLS_PARAM_1 ${LEN})
|
||||||
set(CLS_PARAM_2 "${TYPES}")
|
set(CLS_PARAM_2 "${TYPES}")
|
||||||
elseif ("${FUNCNAME}" MATCHES "^_" AND NOT "${TYPES}" STREQUAL "v")
|
elseif("${FUNCNAME}" MATCHES "^_" AND NOT "${TYPES}" STREQUAL "v")
|
||||||
elseif (IS_STATIC)
|
elseif(IS_STATIC)
|
||||||
list(APPEND STATIC_METHODS "${FUNCNAME}:${LEN}:${TYPES}")
|
list(APPEND STATIC_METHODS "${FUNCNAME}:${LEN}:${TYPES}")
|
||||||
else ()
|
else()
|
||||||
list(APPEND METHODS "${FUNCNAME}:${LEN}:${TYPES}")
|
list(APPEND METHODS "${FUNCNAME}:${LEN}:${TYPES}")
|
||||||
endif ()
|
endif()
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "^.*\\(.*\\).*$")
|
endif()
|
||||||
endforeach(LINE)
|
endforeach()
|
||||||
|
|
||||||
configure_file(${SCRIPT_API_SOURCE_FILE} ${SCRIPT_API_BINARY_FILE})
|
configure_file(${SCRIPT_API_SOURCE_FILE} ${SCRIPT_API_BINARY_FILE})
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
if (NOT INCLUDES_SOURCE_FILE)
|
if(NOT INCLUDES_SOURCE_FILE)
|
||||||
message(FATAL_ERROR "Script needs INCLUDES_SOURCE_FILE defined")
|
message(FATAL_ERROR "Script needs INCLUDES_SOURCE_FILE defined")
|
||||||
endif (NOT INCLUDES_SOURCE_FILE)
|
endif()
|
||||||
if (NOT INCLUDES_BINARY_FILE)
|
if(NOT INCLUDES_BINARY_FILE)
|
||||||
message(FATAL_ERROR "Script needs INCLUDES_BINARY_FILE defined")
|
message(FATAL_ERROR "Script needs INCLUDES_BINARY_FILE defined")
|
||||||
endif (NOT INCLUDES_BINARY_FILE)
|
endif()
|
||||||
if (NOT APILC)
|
if(NOT APILC)
|
||||||
message(FATAL_ERROR "Script needs APILC defined")
|
message(FATAL_ERROR "Script needs APILC defined")
|
||||||
endif (NOT APILC)
|
endif()
|
||||||
if (NOT APIUC)
|
if(NOT APIUC)
|
||||||
message(FATAL_ERROR "Script needs APIUC defined")
|
message(FATAL_ERROR "Script needs APIUC defined")
|
||||||
endif (NOT APIUC)
|
endif()
|
||||||
|
|
||||||
set(ARGC 1)
|
set(ARGC 1)
|
||||||
set(ARG_READ NO)
|
set(ARG_READ NO)
|
||||||
@@ -21,32 +21,32 @@ set(ARG_READ NO)
|
|||||||
while(ARGC LESS CMAKE_ARGC)
|
while(ARGC LESS CMAKE_ARGC)
|
||||||
set(ARG ${CMAKE_ARGV${ARGC}})
|
set(ARG ${CMAKE_ARGV${ARGC}})
|
||||||
|
|
||||||
if (ARG_READ)
|
if(ARG_READ)
|
||||||
list(APPEND SCRIPT_API_BINARY_FILES "${ARG}")
|
list(APPEND SCRIPT_API_BINARY_FILES "${ARG}")
|
||||||
endif (ARG_READ)
|
endif()
|
||||||
|
|
||||||
if (ARG STREQUAL "--")
|
if(ARG STREQUAL "--")
|
||||||
set(ARG_READ YES)
|
set(ARG_READ YES)
|
||||||
endif (ARG STREQUAL "--")
|
endif()
|
||||||
|
|
||||||
math(EXPR ARGC "${ARGC} + 1")
|
math(EXPR ARGC "${ARGC} + 1")
|
||||||
endwhile()
|
endwhile()
|
||||||
|
|
||||||
foreach(FILE IN LISTS SCRIPT_API_BINARY_FILES)
|
foreach(FILE IN LISTS SCRIPT_API_BINARY_FILES)
|
||||||
file(STRINGS "${FILE}" LINES REGEX "^void SQ${APIUC}.*_Register\\(Squirrel \\*engine\\)$")
|
file(STRINGS "${FILE}" LINES REGEX "^void SQ${APIUC}.*_Register\\(Squirrel \\*engine\\)$")
|
||||||
if (LINES)
|
if(LINES)
|
||||||
string(REGEX REPLACE ".*api/${APILC}/(.*)" "#include \"\\1\"" FILE "${FILE}")
|
string(REGEX REPLACE ".*api/${APILC}/(.*)" "#include \"\\1\"" FILE "${FILE}")
|
||||||
list(APPEND SQUIRREL_INCLUDES "${FILE}")
|
list(APPEND SQUIRREL_INCLUDES "${FILE}")
|
||||||
foreach(LINE IN LISTS LINES)
|
foreach(LINE IN LISTS LINES)
|
||||||
if ("${LINE}" MATCHES "SQ${APIUC}(List|Controller)_Register")
|
if("${LINE}" MATCHES "SQ${APIUC}(List|Controller)_Register")
|
||||||
continue()
|
continue()
|
||||||
endif ("${LINE}" MATCHES "SQ${APIUC}(List|Controller)_Register")
|
endif()
|
||||||
string(REGEX REPLACE "^.*void " " " LINE "${LINE}")
|
string(REGEX REPLACE "^.*void " " " LINE "${LINE}")
|
||||||
string(REGEX REPLACE "Squirrel \\*" "" LINE "${LINE}")
|
string(REGEX REPLACE "Squirrel \\*" "" LINE "${LINE}")
|
||||||
list(APPEND SQUIRREL_REGISTER "${LINE}")
|
list(APPEND SQUIRREL_REGISTER "${LINE}")
|
||||||
endforeach(LINE)
|
endforeach()
|
||||||
endif (LINES)
|
endif()
|
||||||
endforeach(FILE)
|
endforeach()
|
||||||
|
|
||||||
list(SORT SQUIRREL_INCLUDES)
|
list(SORT SQUIRREL_INCLUDES)
|
||||||
string(REPLACE ";" "\n" SQUIRREL_INCLUDES "${SQUIRREL_INCLUDES}")
|
string(REPLACE ";" "\n" SQUIRREL_INCLUDES "${SQUIRREL_INCLUDES}")
|
||||||
|
@@ -28,13 +28,13 @@ if (UNIX AND NOT APPLE)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Done by the subdirectories, if nforenum / grfcodec is installed
|
# Done by the subdirectories, if nforenum / grfcodec is installed
|
||||||
if (GRFCODEC_FOUND)
|
if(GRFCODEC_FOUND)
|
||||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/openttd.grf PROPERTIES GENERATED TRUE)
|
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/openttd.grf PROPERTIES GENERATED TRUE)
|
||||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/orig_extra.grf PROPERTIES GENERATED TRUE)
|
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/orig_extra.grf PROPERTIES GENERATED TRUE)
|
||||||
|
|
||||||
list(APPEND BASESET_BINARY_FILES openttd.grf)
|
list(APPEND BASESET_BINARY_FILES openttd.grf)
|
||||||
list(APPEND BASESET_BINARY_FILES orig_extra.grf)
|
list(APPEND BASESET_BINARY_FILES orig_extra.grf)
|
||||||
endif (GRFCODEC_FOUND)
|
endif()
|
||||||
|
|
||||||
set(BASESET_EXTRAGRF_FILE ${CMAKE_CURRENT_SOURCE_DIR}/orig_extra.grf)
|
set(BASESET_EXTRAGRF_FILE ${CMAKE_CURRENT_SOURCE_DIR}/orig_extra.grf)
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ foreach(BASESET_SOURCE_FILE IN LISTS BASESET_SOURCE_FILES)
|
|||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND BASESET_BINARY_FILES ${BASESET_BINARY_FILE})
|
list(APPEND BASESET_BINARY_FILES ${BASESET_BINARY_FILE})
|
||||||
endforeach(BASESET_SOURCE_FILE)
|
endforeach()
|
||||||
|
|
||||||
# Walk over all the other baseset files, and generate a command to copy them
|
# Walk over all the other baseset files, and generate a command to copy them
|
||||||
foreach(BASESET_OTHER_SOURCE_FILE IN LISTS BASESET_OTHER_SOURCE_FILES)
|
foreach(BASESET_OTHER_SOURCE_FILE IN LISTS BASESET_OTHER_SOURCE_FILES)
|
||||||
@@ -78,7 +78,7 @@ foreach(BASESET_OTHER_SOURCE_FILE IN LISTS BASESET_OTHER_SOURCE_FILES)
|
|||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND BASESET_BINARY_FILES ${BASESET_OTHER_BINARY_FILE})
|
list(APPEND BASESET_BINARY_FILES ${BASESET_OTHER_BINARY_FILE})
|
||||||
endforeach(BASESET_OTHER_SOURCE_FILE)
|
endforeach()
|
||||||
|
|
||||||
# Create a new target which generates all baseset metadata files
|
# Create a new target which generates all baseset metadata files
|
||||||
add_custom_target_timestamp(baseset_files
|
add_custom_target_timestamp(baseset_files
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
# This is mainly because not many people have both of these tools installed,
|
# This is mainly because not many people have both of these tools installed,
|
||||||
# so it is cheaper to cache them in git, and only regenerate when you are
|
# so it is cheaper to cache them in git, and only regenerate when you are
|
||||||
# working on it / have the tools installed.
|
# working on it / have the tools installed.
|
||||||
if (GRFCODEC_FOUND)
|
if(GRFCODEC_FOUND)
|
||||||
include(CreateGrfCommand)
|
include(CreateGrfCommand)
|
||||||
create_grf_command()
|
create_grf_command()
|
||||||
endif (GRFCODEC_FOUND)
|
endif()
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
# This is mainly because not many people have both of these tools installed,
|
# This is mainly because not many people have both of these tools installed,
|
||||||
# so it is cheaper to cache them in git, and only regenerate when you are
|
# so it is cheaper to cache them in git, and only regenerate when you are
|
||||||
# working on it / have the tools installed.
|
# working on it / have the tools installed.
|
||||||
if (GRFCODEC_FOUND)
|
if(GRFCODEC_FOUND)
|
||||||
include(CreateGrfCommand)
|
include(CreateGrfCommand)
|
||||||
create_grf_command(
|
create_grf_command(
|
||||||
# We share some files with 'openttd' grf
|
# We share some files with 'openttd' grf
|
||||||
@@ -11,4 +11,4 @@ if (GRFCODEC_FOUND)
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/canals.png
|
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/canals.png
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/chars.png
|
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/chars.png
|
||||||
)
|
)
|
||||||
endif (GRFCODEC_FOUND)
|
endif()
|
||||||
|
@@ -24,11 +24,11 @@ add_files(
|
|||||||
viewport_sprite_sorter_sse4.cpp
|
viewport_sprite_sorter_sse4.cpp
|
||||||
CONDITION SSE_FOUND
|
CONDITION SSE_FOUND
|
||||||
)
|
)
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
set_compile_flags(
|
set_compile_flags(
|
||||||
viewport_sprite_sorter_sse4.cpp
|
viewport_sprite_sorter_sse4.cpp
|
||||||
COMPILE_FLAGS -msse4.1)
|
COMPILE_FLAGS -msse4.1)
|
||||||
endif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
endif()
|
||||||
|
|
||||||
add_files(
|
add_files(
|
||||||
aircraft.h
|
aircraft.h
|
||||||
|
@@ -32,7 +32,7 @@ add_files(
|
|||||||
CONDITION NOT OPTION_DEDICATED AND SSE_FOUND
|
CONDITION NOT OPTION_DEDICATED AND SSE_FOUND
|
||||||
)
|
)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
set_compile_flags(
|
set_compile_flags(
|
||||||
32bpp_anim_sse2.cpp
|
32bpp_anim_sse2.cpp
|
||||||
32bpp_sse2.cpp
|
32bpp_sse2.cpp
|
||||||
@@ -44,7 +44,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clan
|
|||||||
32bpp_anim_sse4.cpp
|
32bpp_anim_sse4.cpp
|
||||||
32bpp_sse4.cpp
|
32bpp_sse4.cpp
|
||||||
COMPILE_FLAGS -msse4.1)
|
COMPILE_FLAGS -msse4.1)
|
||||||
endif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
endif()
|
||||||
|
|
||||||
add_files(
|
add_files(
|
||||||
base.hpp
|
base.hpp
|
||||||
|
@@ -56,6 +56,7 @@ public:
|
|||||||
void ScheduleErrorMessage(const ErrorMessageData &data);
|
void ScheduleErrorMessage(const ErrorMessageData &data);
|
||||||
|
|
||||||
void ShowErrorMessage(StringID summary_msg, StringID detailed_msg, WarningLevel wl, int x = 0, int y = 0, const GRFFile *textref_stack_grffile = nullptr, uint textref_stack_size = 0, const uint32 *textref_stack = nullptr, StringID extra_msg = INVALID_STRING_ID);
|
void ShowErrorMessage(StringID summary_msg, StringID detailed_msg, WarningLevel wl, int x = 0, int y = 0, const GRFFile *textref_stack_grffile = nullptr, uint textref_stack_size = 0, const uint32 *textref_stack = nullptr, StringID extra_msg = INVALID_STRING_ID);
|
||||||
|
bool HideActiveErrorMessage();
|
||||||
void ClearErrorMessages();
|
void ClearErrorMessages();
|
||||||
void ShowFirstError();
|
void ShowFirstError();
|
||||||
void UnshowCriticalError();
|
void UnshowCriticalError();
|
||||||
|
@@ -335,13 +335,6 @@ public:
|
|||||||
if (_window_system_initialized) ShowFirstError();
|
if (_window_system_initialized) ShowFirstError();
|
||||||
}
|
}
|
||||||
|
|
||||||
EventState OnKeyPress(WChar key, uint16 keycode) override
|
|
||||||
{
|
|
||||||
if (keycode != WKC_SPACE) return ES_NOT_HANDLED;
|
|
||||||
delete this;
|
|
||||||
return ES_HANDLED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check whether the currently shown error message was critical or not.
|
* Check whether the currently shown error message was critical or not.
|
||||||
* @return True iff the message was critical.
|
* @return True iff the message was critical.
|
||||||
@@ -449,6 +442,18 @@ void ShowErrorMessage(StringID summary_msg, StringID detailed_msg, WarningLevel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close active error message window
|
||||||
|
* @return true if a window was closed.
|
||||||
|
*/
|
||||||
|
bool HideActiveErrorMessage() {
|
||||||
|
ErrmsgWindow *w = (ErrmsgWindow*)FindWindowById(WC_ERRMSG, 0);
|
||||||
|
if (w == nullptr) return false;
|
||||||
|
delete w;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Schedule a list of errors.
|
* Schedule a list of errors.
|
||||||
* Note: This does not try to display the error now. This is useful if the window system is not yet running.
|
* Note: This does not try to display the error now. This is useful if the window system is not yet running.
|
||||||
|
@@ -1254,14 +1254,14 @@ protected:
|
|||||||
|
|
||||||
CargoID cargo_filter[NUM_CARGO + 2]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE
|
CargoID cargo_filter[NUM_CARGO + 2]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE
|
||||||
StringID cargo_filter_texts[NUM_CARGO + 3]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID
|
StringID cargo_filter_texts[NUM_CARGO + 3]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID
|
||||||
CargoID produced_cargo_filter_criteria; ///< Selected produced cargo filter
|
byte produced_cargo_filter_criteria; ///< Selected produced cargo filter index
|
||||||
CargoID accepted_cargo_filter_criteria; ///< Selected accepted cargo filter
|
byte accepted_cargo_filter_criteria; ///< Selected accepted cargo filter index
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set cargo filter list item index.
|
* Set cargo filter list item index.
|
||||||
* @param index The index of the cargo to be set
|
* @param index The index of the cargo to be set
|
||||||
*/
|
*/
|
||||||
void SetProducedCargoFilterIndex(int index)
|
void SetProducedCargoFilterIndex(byte index)
|
||||||
{
|
{
|
||||||
if (this->produced_cargo_filter_criteria != index) {
|
if (this->produced_cargo_filter_criteria != index) {
|
||||||
this->produced_cargo_filter_criteria = index;
|
this->produced_cargo_filter_criteria = index;
|
||||||
@@ -1278,7 +1278,7 @@ protected:
|
|||||||
* Set cargo filter list item index.
|
* Set cargo filter list item index.
|
||||||
* @param index The index of the cargo to be set
|
* @param index The index of the cargo to be set
|
||||||
*/
|
*/
|
||||||
void SetAcceptedCargoFilterIndex(int index)
|
void SetAcceptedCargoFilterIndex(byte index)
|
||||||
{
|
{
|
||||||
if (this->accepted_cargo_filter_criteria != index) {
|
if (this->accepted_cargo_filter_criteria != index) {
|
||||||
this->accepted_cargo_filter_criteria = index;
|
this->accepted_cargo_filter_criteria = index;
|
||||||
@@ -1296,7 +1296,7 @@ protected:
|
|||||||
*/
|
*/
|
||||||
void SetCargoFilterArray()
|
void SetCargoFilterArray()
|
||||||
{
|
{
|
||||||
uint filter_items = 0;
|
byte filter_items = 0;
|
||||||
|
|
||||||
/* Add item for disabling filtering. */
|
/* Add item for disabling filtering. */
|
||||||
this->cargo_filter[filter_items] = CF_ANY;
|
this->cargo_filter[filter_items] = CF_ANY;
|
||||||
|
@@ -79,7 +79,7 @@ foreach(LANG_SOURCE_FILE IN LISTS LANG_SOURCE_FILES)
|
|||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND LANG_BINARY_FILES ${LANG_BINARY_FILE})
|
list(APPEND LANG_BINARY_FILES ${LANG_BINARY_FILE})
|
||||||
endforeach(LANG_SOURCE_FILE)
|
endforeach()
|
||||||
|
|
||||||
# Create a new target which compiles all language files
|
# Create a new target which compiles all language files
|
||||||
add_custom_target(language_files
|
add_custom_target(language_files
|
||||||
|
@@ -188,6 +188,7 @@ STR_COLOUR_ORANGE :Laranja
|
|||||||
STR_COLOUR_BROWN :Marrom
|
STR_COLOUR_BROWN :Marrom
|
||||||
STR_COLOUR_GREY :Cinza
|
STR_COLOUR_GREY :Cinza
|
||||||
STR_COLOUR_WHITE :Branco
|
STR_COLOUR_WHITE :Branco
|
||||||
|
STR_COLOUR_RANDOM :Aleatório
|
||||||
|
|
||||||
# Units used in OpenTTD
|
# Units used in OpenTTD
|
||||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
|
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
|
||||||
@@ -234,6 +235,8 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecion
|
|||||||
STR_BUTTON_SORT_BY :{BLACK}Classificar por
|
STR_BUTTON_SORT_BY :{BLACK}Classificar por
|
||||||
STR_BUTTON_LOCATION :{BLACK}Local
|
STR_BUTTON_LOCATION :{BLACK}Local
|
||||||
STR_BUTTON_RENAME :{BLACK}Renomear
|
STR_BUTTON_RENAME :{BLACK}Renomear
|
||||||
|
STR_BUTTON_CATCHMENT :{BLACK}Cobertura
|
||||||
|
STR_TOOLTIP_CATCHMENT :{BLACK}Alternar a visão da área de cobertura
|
||||||
|
|
||||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela
|
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela
|
||||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela
|
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela
|
||||||
@@ -262,6 +265,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ao ativa
|
|||||||
STR_BUTTON_DEFAULT :{BLACK}Padrão
|
STR_BUTTON_DEFAULT :{BLACK}Padrão
|
||||||
STR_BUTTON_CANCEL :{BLACK}Cancelar
|
STR_BUTTON_CANCEL :{BLACK}Cancelar
|
||||||
STR_BUTTON_OK :{BLACK}OK
|
STR_BUTTON_OK :{BLACK}OK
|
||||||
|
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Aviso: os administradores do servidor podem ler qualquer texto inserido aqui.
|
||||||
|
|
||||||
# On screen keyboard window
|
# On screen keyboard window
|
||||||
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
||||||
@@ -335,6 +339,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Ampliar
|
|||||||
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Reduzir a visão
|
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Reduzir a visão
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir linha ferroviária
|
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir linha ferroviária
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Construir rodovias
|
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Construir rodovias
|
||||||
|
STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Construir bondes
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construir docas
|
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construir docas
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construir aeroportos
|
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construir aeroportos
|
||||||
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir a barra de paisagismo para elevar ou abaixar terreno, plantar árvores, etc.
|
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir a barra de paisagismo para elevar ou abaixar terreno, plantar árvores, etc.
|
||||||
@@ -463,6 +468,7 @@ STR_TOOLBAR_SOUND_MUSIC :Som/música
|
|||||||
############ range for message menu starts
|
############ range for message menu starts
|
||||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Última mensagem/notícia
|
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Última mensagem/notícia
|
||||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Histórico de Mensagens
|
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Histórico de Mensagens
|
||||||
|
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Apagar todas as mensagens
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
############ range for about menu starts
|
############ range for about menu starts
|
||||||
@@ -857,6 +863,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
|
|||||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G o a} {STRING} já está disponível! - {ENGINE}
|
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G o a} {STRING} já está disponível! - {ENGINE}
|
||||||
|
|
||||||
|
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Abrir a janela do grupo focado no grupo do veículo
|
||||||
|
|
||||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} não aceita mais {STRING}
|
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} não aceita mais {STRING}
|
||||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} não aceita mais {STRING} ou {STRING}
|
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} não aceita mais {STRING} ou {STRING}
|
||||||
@@ -923,6 +930,11 @@ STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizado..
|
|||||||
STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia
|
STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia
|
||||||
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano
|
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano
|
||||||
STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo (RUB)
|
STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo (RUB)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_MXN :Peso Mexicano (MXN)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_NTD :Novo dólar de Taiwan (NTD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi chinês (CNY)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_HKD :Dólar de Hong Kong (HKD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_INR :Rúpia Indiana (INR)
|
||||||
############ end of currency region
|
############ end of currency region
|
||||||
|
|
||||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automóveis
|
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automóveis
|
||||||
@@ -985,7 +997,10 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
|||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobro
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dobro
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quádruplo
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamanho da fonte
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamanho duplo
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamanho quádruplo
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecionar o conjunto de gráficos base para usar
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecionar o conjunto de gráficos base para usar
|
||||||
@@ -1169,6 +1184,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Permitir paisag
|
|||||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite paisagismo sob edifícios e vias sem precisar removê-las
|
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite paisagismo sob edifícios e vias sem precisar removê-las
|
||||||
STR_CONFIG_SETTING_CATCHMENT :Dimensionamento mais realista das áreas de abrangência: {STRING}
|
STR_CONFIG_SETTING_CATCHMENT :Dimensionamento mais realista das áreas de abrangência: {STRING}
|
||||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Exibe áreas de abrangência de para diferentes tipos de estações e aeroportos
|
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Exibe áreas de abrangência de para diferentes tipos de estações e aeroportos
|
||||||
|
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando habilitado, os setores com estações conectadas (como plataformas de petróleo) também podem ser atendidos por estações de propriedade da empresa construídas nas proximidades. Quando desativados, esses setores só podem ser atendidos por suas estações anexas. Qualquer estação próxima da empresa não será capaz de atendê-los, nem a estação anexa servirá qualquer outra coisa que não seja a indústria
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remoção de mais rodovias, pontes, etc. das cidades: {STRING}
|
STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remoção de mais rodovias, pontes, etc. das cidades: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Torna mais fácil remover infraestrutura e edifícios de cidades
|
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Torna mais fácil remover infraestrutura e edifícios de cidades
|
||||||
STR_CONFIG_SETTING_TRAIN_LENGTH :Tamanho máximo de trens: {STRING}
|
STR_CONFIG_SETTING_TRAIN_LENGTH :Tamanho máximo de trens: {STRING}
|
||||||
@@ -1254,6 +1270,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Impossí
|
|||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de Infraestrutura: {STRING}
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de Infraestrutura: {STRING}
|
||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando ativado, infraestrutura gera custos de manutenção. O custo aumenta proporcionalmente à malha de transportes, afetando companhias maiores mais do que as menores
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando ativado, infraestrutura gera custos de manutenção. O custo aumenta proporcionalmente à malha de transportes, afetando companhias maiores mais do que as menores
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Escolha a cor inicial para a empresa
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca saem de linha: {STRING}
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca saem de linha: {STRING}
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ativando essa config. mantém todos os tipos de aeroportos disponíveis à construção após sua introdução
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ativando essa config. mantém todos os tipos de aeroportos disponíveis à construção após sua introdução
|
||||||
@@ -1288,6 +1305,7 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir populaç
|
|||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das linhas nos gráficos: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das linhas nos gráficos: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir.
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir.
|
||||||
|
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adicione uma linha à janela de construção do veículo, mostrando de qual NewGRF o veículo selecionado vem.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino
|
||||||
@@ -1464,6 +1482,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IA em
|
|||||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite jogadores controlados pelo computador participar em jogos multijogador
|
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite jogadores controlados pelo computador participar em jogos multijogador
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING}
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING}
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos de computação que um script pode tomar em um turno
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos de computação que um script pode tomar em um turno
|
||||||
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quanta memória um único script pode consumir antes de ser encerrado à força. Isso pode precisar ser aumentado para mapas grandes.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Os intervalos de serviço são em percentagem: {STRING}
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Os intervalos de serviço são em percentagem: {STRING}
|
||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Define se a manutenção de veículos é ativada pelo tempo passado desde a última manutenção ou quando a confiabilidade alcança um certo valor
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Define se a manutenção de veículos é ativada pelo tempo passado desde a última manutenção ou quando a confiabilidade alcança um certo valor
|
||||||
@@ -1522,6 +1541,8 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completa
|
|||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias coloridas aparecem em: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias coloridas aparecem em: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano a partir do qual os jornais são impressos em cor. Antes disso, serão em preto-e-branco
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano a partir do qual os jornais são impressos em cor. Antes disso, serão em preto-e-branco
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING}
|
STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING}
|
||||||
|
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No final deste ano, a pontuação da empresa é registrada e a tela de pontuação máxima é exibida, mas os jogadores podem continuar jogando depois disso.{} Se isso for antes do ano inicial, a tela de pontuação máxima nunca será exibida.
|
||||||
|
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Ativar economia regular (alterações menores): {STRING}
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Ativar economia regular (alterações menores): {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Quando ativado, a produção de indústrias muda com mais frequência, e mais sutilmente
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Quando ativado, a produção de indústrias muda com mais frequência, e mais sutilmente
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Permite comprar ações de outras empresas: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Permite comprar ações de outras empresas: {STRING}
|
||||||
@@ -1566,6 +1587,8 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Se ativado, per
|
|||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Proibido
|
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Proibido
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, layout de cidades customizável
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, layout de cidades customizável
|
||||||
|
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quanta carga é produzida pelas casas nas cidades, em relação à população geral da cidade.{} Crescimento quadrático: uma cidade com o dobro do tamanho gera quatro vezes mais passageiros.{} Crescimento linear: uma cidade com o dobro do tamanho gera o dobro da quantidade de passageiros.
|
||||||
|
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadrático (original)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Posicionamento de árvores: {STRING}
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Posicionamento de árvores: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla o nascimento aleatório de árvores durante o jogo. Isso pode afetar indústrias que dependem do crescimento de árvores, como serrarias
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla o nascimento aleatório de árvores durante o jogo. Isso pode afetar indústrias que dependem do crescimento de árvores, como serrarias
|
||||||
@@ -1807,6 +1830,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Mudar an
|
|||||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar modificação de valores de produção: {ORANGE}{STRING}
|
STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar modificação de valores de produção: {ORANGE}{STRING}
|
||||||
|
|
||||||
# Livery window
|
# Livery window
|
||||||
|
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Esquema de cores
|
||||||
|
|
||||||
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Exibir esquemas de cor gerais
|
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Exibir esquemas de cor gerais
|
||||||
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Exibe esquemas de cor de trens
|
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Exibe esquemas de cor de trens
|
||||||
@@ -2066,6 +2090,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconec
|
|||||||
|
|
||||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor está protegido. Digite a senha
|
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor está protegido. Digite a senha
|
||||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa está protegida. Digite a senha
|
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa está protegida. Digite a senha
|
||||||
|
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Lista de clientes
|
||||||
|
|
||||||
# Network company list added strings
|
# Network company list added strings
|
||||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Lista de clientes
|
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Lista de clientes
|
||||||
@@ -2237,7 +2262,7 @@ STR_CONTENT_TYPE_AI_LIBRARY :Biblioteca de I
|
|||||||
STR_CONTENT_TYPE_SCENARIO :Cenário
|
STR_CONTENT_TYPE_SCENARIO :Cenário
|
||||||
STR_CONTENT_TYPE_HEIGHTMAP :Mapa topográfico
|
STR_CONTENT_TYPE_HEIGHTMAP :Mapa topográfico
|
||||||
STR_CONTENT_TYPE_BASE_SOUNDS :Sons padrão
|
STR_CONTENT_TYPE_BASE_SOUNDS :Sons padrão
|
||||||
STR_CONTENT_TYPE_BASE_MUSIC :Músicsas padrão
|
STR_CONTENT_TYPE_BASE_MUSIC :Músicas padrão
|
||||||
STR_CONTENT_TYPE_GAME_SCRIPT :Script do jogo
|
STR_CONTENT_TYPE_GAME_SCRIPT :Script do jogo
|
||||||
STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de GS's
|
STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de GS's
|
||||||
|
|
||||||
@@ -2403,7 +2428,10 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construi
|
|||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel de bonde. Shift altera construção/preço estimado
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel de bonde. Shift altera construção/preço estimado
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Alternar construir/remover para contrução rodoviária
|
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Alternar construir/remover para contrução rodoviária
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Alternar construir/remover linhas de bonde e sinais
|
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Alternar construir/remover linhas de bonde e sinais
|
||||||
|
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converter/atualizar o tipo de estrada. Shift altera construção/exibição de estimativa de custo
|
||||||
|
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converter/Melhorar o tipo de bonde. Shift troca construção/amostra custo estimado
|
||||||
|
|
||||||
|
STR_ROAD_NAME_TRAM :Bonde
|
||||||
|
|
||||||
# Road depot construction window
|
# Road depot construction window
|
||||||
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orientação da Garagem
|
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orientação da Garagem
|
||||||
@@ -2588,6 +2616,7 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
|
|||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de ferrovia: {LTBLUE}{STRING}
|
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de ferrovia: {LTBLUE}{STRING}
|
||||||
|
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Tipo de estrada: {LTBLUE}{STRING}
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2699,6 +2728,7 @@ STR_FRAMERATE_SPEED_FACTOR :{WHITE}Fator de
|
|||||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está sendo executado, comparado com a velocidade esperada na simulação normal
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está sendo executado, comparado com a velocidade esperada na simulação normal
|
||||||
STR_FRAMERATE_CURRENT :{WHITE}Atual
|
STR_FRAMERATE_CURRENT :{WHITE}Atual
|
||||||
STR_FRAMERATE_AVERAGE :{WHITE}Médio
|
STR_FRAMERATE_AVERAGE :{WHITE}Médio
|
||||||
|
STR_FRAMERATE_MEMORYUSE :{WHITE}Memória
|
||||||
STR_FRAMERATE_DATA_POINTS :{WHITE}Dados baseados em {COMMA} medidas
|
STR_FRAMERATE_DATA_POINTS :{WHITE}Dados baseados em {COMMA} medidas
|
||||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} ms
|
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} ms
|
||||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE} ms
|
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE} ms
|
||||||
@@ -2715,12 +2745,15 @@ STR_FRAMERATE_GL_ROADVEHS :{WHITE} Tiques
|
|||||||
STR_FRAMERATE_GL_SHIPS :{WHITE} Tiques de embarcação:
|
STR_FRAMERATE_GL_SHIPS :{WHITE} Tiques de embarcação:
|
||||||
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Tiques de aeronave:
|
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Tiques de aeronave:
|
||||||
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Tiques do mundo:
|
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Tiques do mundo:
|
||||||
|
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Atraso no gráfico de link:
|
||||||
STR_FRAMERATE_DRAWING :{WHITE}Renderizações de gráficos:
|
STR_FRAMERATE_DRAWING :{WHITE}Renderizações de gráficos:
|
||||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Visualizações do mundo:
|
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Visualizações do mundo:
|
||||||
STR_FRAMERATE_VIDEO :{WHITE}Saída de vídeo:
|
STR_FRAMERATE_VIDEO :{WHITE}Saída de vídeo:
|
||||||
STR_FRAMERATE_SOUND :{WHITE}Mixagem de áudio:
|
STR_FRAMERATE_SOUND :{WHITE}Mixagem de áudio:
|
||||||
|
STR_FRAMERATE_GAMESCRIPT :{BLACK} Script do jogo:
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMETIME_CAPTION_GAMELOOP :Loop de jogo
|
||||||
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manuseio de carga
|
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manuseio de carga
|
||||||
STR_FRAMETIME_CAPTION_GL_TRAINS :Tiques de trem
|
STR_FRAMETIME_CAPTION_GL_TRAINS :Tiques de trem
|
||||||
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Tiques de automóveis
|
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Tiques de automóveis
|
||||||
@@ -2756,6 +2789,8 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalhes
|
|||||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nenhuma informação disponível
|
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nenhuma informação disponível
|
||||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||||
|
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Substituir ficheiro
|
||||||
|
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Tem certeza de que deseja substituir o arquivo existente?
|
||||||
|
|
||||||
STR_SAVELOAD_OSKTITLE :{BLACK}Coloque o nome para o jogo salvo
|
STR_SAVELOAD_OSKTITLE :{BLACK}Coloque o nome para o jogo salvo
|
||||||
|
|
||||||
@@ -2873,6 +2908,7 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versão:
|
|||||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versão compatível: {SILVER}{NUM}
|
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Mín. versão compatível: {SILVER}{NUM}
|
||||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}SomaMD5 (verf. de segurança): {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}SomaMD5 (verf. de segurança): {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||||
|
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Padrão (D)
|
||||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parâmetros: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parâmetros: {SILVER}{STRING}
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Sem informação disponível
|
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Sem informação disponível
|
||||||
@@ -2985,6 +3021,7 @@ STR_NEWGRF_BUGGY :{WHITE}O NewGRF
|
|||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informação de carga/readaptação para '{1:ENGINE}' difere da lista de aquisição após a construção. Isso pode causar a autorenovação/-substituição à falhar a readaptação corretamente.
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informação de carga/readaptação para '{1:ENGINE}' difere da lista de aquisição após a construção. Isso pode causar a autorenovação/-substituição à falhar a readaptação corretamente.
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' causou um loop infinito no callback da produção
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' causou um loop infinito no callback da produção
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Retorno {1:HEX} retornou um resultado desconhecido/inválido {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Retorno {1:HEX} retornou um resultado desconhecido/inválido {2:HEX}
|
||||||
|
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' retornou tipo de carga inválido no retorno de chamada de produção em {2:HEX}
|
||||||
|
|
||||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||||
STR_NEWGRF_INVALID_CARGO :<carga inválida>
|
STR_NEWGRF_INVALID_CARGO :<carga inválida>
|
||||||
@@ -3079,6 +3116,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Suborna
|
|||||||
# Goal window
|
# Goal window
|
||||||
STR_GOALS_CAPTION :{WHITE}{COMPANY} Objetivos
|
STR_GOALS_CAPTION :{WHITE}{COMPANY} Objetivos
|
||||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objetivos globais
|
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objetivos globais
|
||||||
|
STR_GOALS_SPECTATOR :Objetivos Globais
|
||||||
STR_GOALS_GLOBAL_TITLE :{G=m}{BLACK}Objetivos globais:
|
STR_GOALS_GLOBAL_TITLE :{G=m}{BLACK}Objetivos globais:
|
||||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||||
STR_GOALS_NONE :{G=m}{ORANGE}- Nenhum -
|
STR_GOALS_NONE :{G=m}{ORANGE}- Nenhum -
|
||||||
@@ -3320,6 +3358,9 @@ STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Indústr
|
|||||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nenhum -
|
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nenhum -
|
||||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes das indústrias - clique no nome para centralizar a visçao principal na indústria. Ctrl+Clique abre uma nova janela na localização da indústria
|
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes das indústrias - clique no nome para centralizar a visçao principal na indústria. Ctrl+Clique abre uma nova janela na localização da indústria
|
||||||
|
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carga aceita: {SILVER}{STRING}
|
||||||
|
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Todos os tipos de carga
|
||||||
|
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Nenhum
|
||||||
|
|
||||||
# Industry view
|
# Industry view
|
||||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||||
@@ -3387,6 +3428,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos -
|
|||||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo
|
STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo
|
||||||
STR_GROUP_DELETE_TOOLTIP :{BLACK}Remove o grupo selecionado
|
STR_GROUP_DELETE_TOOLTIP :{BLACK}Remove o grupo selecionado
|
||||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Renomeia o grupo selecionado
|
STR_GROUP_RENAME_TOOLTIP :{BLACK}Renomeia o grupo selecionado
|
||||||
|
STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a pintura do grupo selecionado
|
||||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática
|
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática
|
||||||
|
|
||||||
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Remover grupo
|
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Remover grupo
|
||||||
@@ -3409,9 +3451,11 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nova Locomotiva
|
|||||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nova Locomotiva Maglev
|
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nova Locomotiva Maglev
|
||||||
|
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Novos Automóveis
|
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Novos Automóveis
|
||||||
|
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Novo Veículo Elétrico
|
||||||
|
|
||||||
############ range for vehicle availability starts
|
############ range for vehicle availability starts
|
||||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Trens
|
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Trens
|
||||||
|
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Novo Veículo Terrestre
|
||||||
STR_BUY_VEHICLE_SHIP_CAPTION :Novas Embarcações
|
STR_BUY_VEHICLE_SHIP_CAPTION :Novas Embarcações
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nova Aeronave
|
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nova Aeronave
|
||||||
############ range for vehicle availability ends
|
############ range for vehicle availability ends
|
||||||
@@ -3433,6 +3477,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacida
|
|||||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagões energizados: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT}
|
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagões energizados: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT}
|
||||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Adaptável para: {GOLD}{STRING}
|
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Adaptável para: {GOLD}{STRING}
|
||||||
STR_PURCHASE_INFO_ALL_TYPES :Todos as cargas
|
STR_PURCHASE_INFO_ALL_TYPES :Todos as cargas
|
||||||
|
STR_PURCHASE_INFO_NONE :Nenhum
|
||||||
STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST}
|
STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST}
|
||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE}
|
STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados
|
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados
|
||||||
@@ -3448,12 +3493,18 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Comprar
|
|||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Comprar Embarcação
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Comprar Embarcação
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Comprar Aeronave
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Comprar Aeronave
|
||||||
|
|
||||||
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Trocar Veículos
|
||||||
|
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Repor Navio
|
||||||
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e reequipar aeronaves
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra o veículo ferroviário selecionado. Shift+Clique mostra preço estimado sem a compra
|
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra o veículo ferroviário selecionado. Shift+Clique mostra preço estimado sem a compra
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra o veículo selecionado. Shift+Clique mostra preço estimado sem a compra
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra o veículo selecionado. Shift+Clique mostra preço estimado sem a compra
|
||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Compra a embarcação selecionada. Shift+Clique mostra preço estimado sem a compra
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Compra a embarcação selecionada. Shift+Clique mostra preço estimado sem a compra
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Compra a aeronave selecionada. Shift+Clique mostra o preço estimado sem a compra
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Compra a aeronave selecionada. Shift+Clique mostra o preço estimado sem a compra
|
||||||
|
|
||||||
|
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Compre e troque o trem destacado. Shift+Click mostra os custos estimados sem comprar
|
||||||
|
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :Compre e reponha o navio em destaque. Shift+Clique mostra o custo estimado sem comprar
|
||||||
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e repor a aeronave destacada. Shift+Clique mostra o custo estimado sem comprar
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Renomear
|
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Renomear
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Renomear
|
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Renomear
|
||||||
@@ -3565,6 +3616,7 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Mensagem
|
|||||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Projetamos um novo {STRING} - estaria interessado em um ano de exclusividade do uso deste veículo, de modo a que possamos avaliar a sua performance antes de o disponibilizar para todos ?
|
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Projetamos um novo {STRING} - estaria interessado em um ano de exclusividade do uso deste veículo, de modo a que possamos avaliar a sua performance antes de o disponibilizar para todos ?
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :locomotiva ferroviária
|
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :locomotiva ferroviária
|
||||||
|
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :locomotiva ferroviária eletrificada
|
||||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :locomotiva monotrilho
|
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :locomotiva monotrilho
|
||||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva maglev
|
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva maglev
|
||||||
|
|
||||||
@@ -3618,6 +3670,7 @@ STR_REPLACE_ELRAIL_VEHICLES :Locomotivas El
|
|||||||
STR_REPLACE_MONORAIL_VEHICLES :Monotrilho
|
STR_REPLACE_MONORAIL_VEHICLES :Monotrilho
|
||||||
STR_REPLACE_MAGLEV_VEHICLES :Maglevs
|
STR_REPLACE_MAGLEV_VEHICLES :Maglevs
|
||||||
|
|
||||||
|
STR_REPLACE_ROAD_VEHICLES :Veículos terrestres
|
||||||
|
|
||||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões: {ORANGE}{STRING}
|
STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões: {ORANGE}{STRING}
|
||||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Faz autosubstituição manter o tamanho do trem removendo vagões (começando pela frente), se ao substituir a locomotiva o trem ficar maior
|
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Faz autosubstituição manter o tamanho do trem removendo vagões (começando pela frente), se ao substituir a locomotiva o trem ficar maior
|
||||||
@@ -3838,6 +3891,7 @@ STR_ORDER_CONDITIONAL_AGE :Idade (anos)
|
|||||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita de manutenção
|
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita de manutenção
|
||||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
||||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos)
|
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos)
|
||||||
|
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Confiabilidade máxima
|
||||||
|
|
||||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comprarar os dados do veículo com o valor fornecido
|
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comprarar os dados do veículo com o valor fornecido
|
||||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :é igual a
|
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :é igual a
|
||||||
@@ -4068,6 +4122,11 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Selecion
|
|||||||
STR_AI_LIST_CANCEL :{BLACK}Cancelar
|
STR_AI_LIST_CANCEL :{BLACK}Cancelar
|
||||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mudar o script
|
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mudar o script
|
||||||
|
|
||||||
|
STR_SCREENSHOT_CAPTION :{WHITE}Tirar uma captura de tela
|
||||||
|
STR_SCREENSHOT_SCREENSHOT :{BLACK}Captura de tela normal
|
||||||
|
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Zoom máximo na captura de tela
|
||||||
|
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Captura de tela do mapa todo
|
||||||
|
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de tela do minimapa
|
||||||
|
|
||||||
# AI Parameters
|
# AI Parameters
|
||||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parâmetros
|
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parâmetros
|
||||||
@@ -4341,6 +4400,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Tipo de
|
|||||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Remova a ferrovia antes
|
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Remova a ferrovia antes
|
||||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Rua é mão única ou está bloqueada
|
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Rua é mão única ou está bloqueada
|
||||||
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Cruzamentos de nível não são permitidos para esse tipo de trilho
|
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Cruzamentos de nível não são permitidos para esse tipo de trilho
|
||||||
|
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não permitidas para este tipo de estrada
|
||||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Impossível construir sinais aqui...
|
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Impossível construir sinais aqui...
|
||||||
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Impossível construir ferrovia aqui...
|
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Impossível construir ferrovia aqui...
|
||||||
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Impossível remover a ferrovia daqui...
|
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Impossível remover a ferrovia daqui...
|
||||||
@@ -4360,6 +4420,10 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Impossí
|
|||||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Impossível remover bonde daqui...
|
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Impossível remover bonde daqui...
|
||||||
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}...não há rodovias
|
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}...não há rodovias
|
||||||
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}...não há linha de bonde
|
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}...não há linha de bonde
|
||||||
|
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada aqui ...
|
||||||
|
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Sem estrada adequada
|
||||||
|
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Nenhum bonde adequado
|
||||||
|
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... bonde incompatível
|
||||||
|
|
||||||
# Waterway construction errors
|
# Waterway construction errors
|
||||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Impossível construir canais aqui...
|
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Impossível construir canais aqui...
|
||||||
|
@@ -960,7 +960,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
|
|||||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G ý á é í é é á} {STRING} k dispozici! - {ENGINE}
|
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G ý á é í é é á} {STRING} k dispozici! - {ENGINE}
|
||||||
|
|
||||||
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Otevřít okno skupiny zaměřené na skupinu vozidla
|
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Otevřít okno skupin s předvybranou skupinou daného vozidla
|
||||||
|
|
||||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} už dále nepřijímá {STRING.acc}
|
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} už dále nepřijímá {STRING.acc}
|
||||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} už dále nepřijímá {STRING.acc} ani {STRING.acc}
|
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} už dále nepřijímá {STRING.acc} ani {STRING.acc}
|
||||||
|
@@ -1304,7 +1304,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duur voor het w
|
|||||||
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P 0 "" n}
|
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P 0 "" n}
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY :Knopinfo weergeven: {STRING}
|
STR_CONFIG_SETTING_HOVER_DELAY :Knopinfo weergeven: {STRING}
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat knopinfo worden weergegeven wanneer je de muis boven een besturingselement houdt. Wanneer de waarde 0 is, wordt knopinfo aan de rechtermuisknop gebonden.
|
STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat knopinfo worden weergegeven wanneer je de muis boven een besturingselement houdt. Wanneer de waarde 0 is, wordt knopinfo aan de rechtermuisknop gebonden.
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Muis stilhouden gedurende {COMMA} seconde{P 0 "" n}
|
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Muis stilhouden gedurende {COMMA} milliseconde{P 0 "" n}
|
||||||
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklik
|
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklik
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Inwoneraantal bij stad weergeven: {STRING}
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Inwoneraantal bij stad weergeven: {STRING}
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Aantal inwoners van een stad weergeven bij naam op de kaart
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Aantal inwoners van een stad weergeven bij naam op de kaart
|
||||||
|
@@ -935,6 +935,7 @@ STR_GAME_OPTIONS_CURRENCY_MXN :Meksikon peso (
|
|||||||
STR_GAME_OPTIONS_CURRENCY_NTD :Uusi Taiwanin dollari (TWD)
|
STR_GAME_OPTIONS_CURRENCY_NTD :Uusi Taiwanin dollari (TWD)
|
||||||
STR_GAME_OPTIONS_CURRENCY_CNY :Kiinan renminbi (CNY)
|
STR_GAME_OPTIONS_CURRENCY_CNY :Kiinan renminbi (CNY)
|
||||||
STR_GAME_OPTIONS_CURRENCY_HKD :Hongkongin dollari (HKD)
|
STR_GAME_OPTIONS_CURRENCY_HKD :Hongkongin dollari (HKD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_INR :Intian rupia (INR)
|
||||||
############ end of currency region
|
############ end of currency region
|
||||||
|
|
||||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Kulkuneuvot
|
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Kulkuneuvot
|
||||||
@@ -2165,6 +2166,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Väärä
|
|||||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Palvelin on täynnä
|
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Palvelin on täynnä
|
||||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sinut on kielletty palvelimelta
|
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sinut on kielletty palvelimelta
|
||||||
STR_NETWORK_ERROR_KICKED :{WHITE}Sinut potkittiin pihalle palvelimelta
|
STR_NETWORK_ERROR_KICKED :{WHITE}Sinut potkittiin pihalle palvelimelta
|
||||||
|
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Syy: {STRING}
|
||||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Huijaaminen ei ole sallittua tällä palvelimella
|
STR_NETWORK_ERROR_CHEATER :{WHITE}Huijaaminen ei ole sallittua tällä palvelimella
|
||||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Lähetit liian monta komentoa palvelimelle
|
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Lähetit liian monta komentoa palvelimelle
|
||||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Käytit liian paljon aikaa salasanan syöttämiseen
|
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Käytit liian paljon aikaa salasanan syöttämiseen
|
||||||
@@ -2224,6 +2226,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} an
|
|||||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Annoit yhtiölle {1:STRING} {2:CURRENCY_LONG}
|
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Annoit yhtiölle {1:STRING} {2:CURRENCY_LONG}
|
||||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Palvelin sulki istunnon
|
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Palvelin sulki istunnon
|
||||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Palvelin käynnistyy uudelleen...{}Odota, ole hyvä...
|
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Palvelin käynnistyy uudelleen...{}Odota, ole hyvä...
|
||||||
|
STR_NETWORK_MESSAGE_KICKED :{STRING} potkaistiin ulos. Syy: ({STRING})
|
||||||
|
|
||||||
# Content downloading window
|
# Content downloading window
|
||||||
STR_CONTENT_TITLE :{WHITE}Sisällön lataus
|
STR_CONTENT_TITLE :{WHITE}Sisällön lataus
|
||||||
@@ -3667,10 +3670,10 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Olet my
|
|||||||
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Viesti kulkuneuvovalmistajalta
|
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Viesti kulkuneuvovalmistajalta
|
||||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Olemme juuri suunnitelleet uuden {STRING} – oletteko kiinnostunut vuoden yksinoikeutetusta kokeilusta, jotta näemme miten tuote suoriutuu ennen kuin julkistamme sen yleiseen käyttöön?
|
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Olemme juuri suunnitelleet uuden {STRING} – oletteko kiinnostunut vuoden yksinoikeutetusta kokeilusta, jotta näemme miten tuote suoriutuu ennen kuin julkistamme sen yleiseen käyttöön?
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :veturin
|
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :veturi
|
||||||
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :sähköradan veturi
|
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :sähköradan veturi
|
||||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :yksiraiteisen veturin
|
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :yksiraiteisen veturi
|
||||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev-veturin
|
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :Maglev-veturi
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :ajoneuvon
|
STR_ENGINE_PREVIEW_ROAD_VEHICLE :ajoneuvon
|
||||||
STR_ENGINE_PREVIEW_TRAM_VEHICLE :raitiovaunun
|
STR_ENGINE_PREVIEW_TRAM_VEHICLE :raitiovaunun
|
||||||
|
@@ -236,6 +236,8 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filterkr
|
|||||||
STR_BUTTON_SORT_BY :{BLACK}Sortieren nach
|
STR_BUTTON_SORT_BY :{BLACK}Sortieren nach
|
||||||
STR_BUTTON_LOCATION :{BLACK}Standort
|
STR_BUTTON_LOCATION :{BLACK}Standort
|
||||||
STR_BUTTON_RENAME :{BLACK}Umbenennen
|
STR_BUTTON_RENAME :{BLACK}Umbenennen
|
||||||
|
STR_BUTTON_CATCHMENT :{BLACK}Einzugsgebiet
|
||||||
|
STR_TOOLTIP_CATCHMENT :{BLACK}Anzeige des Einzugsgebietes umschalten
|
||||||
|
|
||||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fenster schließen
|
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fenster schließen
|
||||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Titelleiste klicken und ziehen, um das Fenster zu verschieben
|
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Titelleiste klicken und ziehen, um das Fenster zu verschieben
|
||||||
@@ -934,6 +936,10 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgischer Lar
|
|||||||
STR_GAME_OPTIONS_CURRENCY_IRR :Iranischer Rial (IRR)
|
STR_GAME_OPTIONS_CURRENCY_IRR :Iranischer Rial (IRR)
|
||||||
STR_GAME_OPTIONS_CURRENCY_RUB :Russische Rubel (RUB)
|
STR_GAME_OPTIONS_CURRENCY_RUB :Russische Rubel (RUB)
|
||||||
STR_GAME_OPTIONS_CURRENCY_MXN :Mexikanischer Peso (MXN)
|
STR_GAME_OPTIONS_CURRENCY_MXN :Mexikanischer Peso (MXN)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_NTD :Neuer Taiwan-Dollar (NTD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_CNY :Chinesischer Yuan (CNY)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_HKD :Hongkong-Dollar (HKD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_INR :Indische Rupie (INR)
|
||||||
############ end of currency region
|
############ end of currency region
|
||||||
|
|
||||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Fahrzeuge
|
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Fahrzeuge
|
||||||
@@ -1566,6 +1572,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Rechenoperation
|
|||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximale Anzahl Rechenschritte, die ein Skript in einer Runde zur Verfügung hat
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximale Anzahl Rechenschritte, die ein Skript in einer Runde zur Verfügung hat
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maximaler Arbeitsspeicher pro Script: {STRING}
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maximaler Arbeitsspeicher pro Script: {STRING}
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Wie viel Arbeitsspeicher ein Script maximal benutzen darf bevor es terminiert wird. Diese Wert muss eventuell vergrößert werden für größere Maps.
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Wie viel Arbeitsspeicher ein Script maximal benutzen darf bevor es terminiert wird. Diese Wert muss eventuell vergrößert werden für größere Maps.
|
||||||
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SHARING_RAIL :Aktiviere Sharing für Eisenbahnnetze: {STRING}
|
STR_CONFIG_SETTING_SHARING_RAIL :Aktiviere Sharing für Eisenbahnnetze: {STRING}
|
||||||
STR_CONFIG_SETTING_SHARING_ROAD :Aktiviere Sharing für Haltestellen, Ladeplätze und Depots: {STRING}
|
STR_CONFIG_SETTING_SHARING_ROAD :Aktiviere Sharing für Haltestellen, Ladeplätze und Depots: {STRING}
|
||||||
@@ -1640,10 +1647,13 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Zeitung
|
|||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Farbige Nachrichten erscheinen ab: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Farbige Nachrichten erscheinen ab: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jahr in dem die Zeitung in Farbe herausgebracht wird. Vor diesem Jahr erscheint sie in Schwarz-Weiß-Druck
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jahr in dem die Zeitung in Farbe herausgebracht wird. Vor diesem Jahr erscheint sie in Schwarz-Weiß-Druck
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Startdatum: {STRING}
|
STR_CONFIG_SETTING_STARTING_YEAR :Startdatum: {STRING}
|
||||||
|
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nie
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Feinere Wirtschaft aktivieren (mehrere, kleinere Veränderungen): {STRING}
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Feinere Wirtschaft aktivieren (mehrere, kleinere Veränderungen): {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wird diese Option ausgewählt, ändert sich die Produktionsmenge der Industrien häufiger, aber dafür in kleineren Schritten. Diese Einstellung hat gewöhnlicherweise KEINEN Effekt, wenn die Industrien von NewGRFs bereitgestellt werden
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wird diese Option ausgewählt, ändert sich die Produktionsmenge der Industrien häufiger, aber dafür in kleineren Schritten. Diese Einstellung hat gewöhnlicherweise KEINEN Effekt, wenn die Industrien von NewGRFs bereitgestellt werden
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Handel mit Firmenanteilen erlauben: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Handel mit Firmenanteilen erlauben: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Erlaube das Kaufen und Verkaufen von Firmenanteilen. Firmenanteile sind nur verfügbar für Firmen, die hinreichend lange existieren
|
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Erlaube das Kaufen und Verkaufen von Firmenanteilen. Firmenanteile sind nur verfügbar für Firmen, die hinreichend lange existieren
|
||||||
|
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimales Alter einer Firma, um an der Börse gehandelt zu werden: {STRING}
|
||||||
|
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Setze das minimale Alter einer Firma, ab dem Andere Firmenanteile dieser Firma kaufen und verkaufen können.
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prozentsatz des Profits für Teilstrecken: {STRING}
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prozentsatz des Profits für Teilstrecken: {STRING}
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Um das Einkommen der einzelnen Fahrzeuge einer Lieferkette ungefähr abschätzen zu können, wird vom Transporterlös bei Ablieferung einer Fracht der gewählte Prozentsatz den Zulieferfahrzeugen zugeschlagen
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Um das Einkommen der einzelnen Fahrzeuge einer Lieferkette ungefähr abschätzen zu können, wird vom Transporterlös bei Ablieferung einer Fracht der gewählte Prozentsatz den Zulieferfahrzeugen zugeschlagen
|
||||||
STR_CONFIG_SETTING_SIMULATE_SIGNALS :Simuliere Signale in Tunneln und Brücken aller: {STRING}
|
STR_CONFIG_SETTING_SIMULATE_SIGNALS :Simuliere Signale in Tunneln und Brücken aller: {STRING}
|
||||||
@@ -3162,6 +3172,7 @@ STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktuelle
|
|||||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Wie schnell das Spiel aktuell läuft, verglichen mit der erwarteten Geschwindigkeit bei normaler Simulationsrate.
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Wie schnell das Spiel aktuell läuft, verglichen mit der erwarteten Geschwindigkeit bei normaler Simulationsrate.
|
||||||
STR_FRAMERATE_CURRENT :{WHITE}Momentan
|
STR_FRAMERATE_CURRENT :{WHITE}Momentan
|
||||||
STR_FRAMERATE_AVERAGE :{WHITE}Durchschnitt
|
STR_FRAMERATE_AVERAGE :{WHITE}Durchschnitt
|
||||||
|
STR_FRAMERATE_MEMORYUSE :{WHITE}Arbeitsspeicher
|
||||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Daten basierend auf {COMMA} Messungen
|
STR_FRAMERATE_DATA_POINTS :{BLACK}Daten basierend auf {COMMA} Messungen
|
||||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
||||||
@@ -3169,6 +3180,8 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}
|
|||||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} Bilder/s
|
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} Bilder/s
|
||||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} Bilder/s
|
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} Bilder/s
|
||||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} Bilder/s
|
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} Bilder/s
|
||||||
|
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
||||||
|
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
|
||||||
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
|
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
|
||||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||||
@@ -3612,6 +3625,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klick au
|
|||||||
# Story book window
|
# Story book window
|
||||||
STR_STORY_BOOK_CAPTION :{WHITE}Chronik für {COMPANY}
|
STR_STORY_BOOK_CAPTION :{WHITE}Chronik für {COMPANY}
|
||||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Allgemeine Chronik
|
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Allgemeine Chronik
|
||||||
|
STR_STORY_BOOK_SPECTATOR :Allgemeine Chronik
|
||||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Seite {NUM}
|
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Seite {NUM}
|
||||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Springt zur gewünschten Seite, wenn diese im Auswahlmenü angeklickt wird
|
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Springt zur gewünschten Seite, wenn diese im Auswahlmenü angeklickt wird
|
||||||
@@ -4015,6 +4029,7 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Neue Einschiene
|
|||||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Neue Magnetbahnfahrzeuge
|
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Neue Magnetbahnfahrzeuge
|
||||||
|
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Neue Fahrzeuge
|
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Neue Fahrzeuge
|
||||||
|
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Neue Straßenbahnen
|
||||||
|
|
||||||
############ range for vehicle availability starts
|
############ range for vehicle availability starts
|
||||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Neue Schienenfahrzeuge
|
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Neue Schienenfahrzeuge
|
||||||
@@ -4059,6 +4074,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Fahrzeug
|
|||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Schiff kaufen
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Schiff kaufen
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Flugzeug kaufen
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Flugzeug kaufen
|
||||||
|
|
||||||
|
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Schiff kaufen und umrüsten
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Angewähltes Fahrzeug kaufen. Shift+Klick zeigt einen Kostenvoranschlag
|
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Angewähltes Fahrzeug kaufen. Shift+Klick zeigt einen Kostenvoranschlag
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Ausgewähltes Fahrzeug kaufen. Shift+Klick zeigt einen Kostenvoranschlag
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Ausgewähltes Fahrzeug kaufen. Shift+Klick zeigt einen Kostenvoranschlag
|
||||||
@@ -4222,6 +4238,7 @@ STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Umschalt
|
|||||||
STR_REPLACE_ENGINES :Schienenfahrzeuge
|
STR_REPLACE_ENGINES :Schienenfahrzeuge
|
||||||
STR_REPLACE_WAGONS :Waggons
|
STR_REPLACE_WAGONS :Waggons
|
||||||
STR_REPLACE_ALL_RAILTYPE :Alle Schienenfahrzeuge
|
STR_REPLACE_ALL_RAILTYPE :Alle Schienenfahrzeuge
|
||||||
|
STR_REPLACE_ALL_ROADTYPE :Alle Straßenfahrzeuge
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Gleistyp auswählen, für den Loks ersetzt werden sollen
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Gleistyp auswählen, für den Loks ersetzt werden sollen
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Hier wird angezeigt, gegen welches Fahrzeug das auf der linken Seite gewählte ersetzt wird
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Hier wird angezeigt, gegen welches Fahrzeug das auf der linken Seite gewählte ersetzt wird
|
||||||
@@ -4791,6 +4808,9 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Ausgewä
|
|||||||
STR_AI_LIST_CANCEL :{BLACK}Abbrechen
|
STR_AI_LIST_CANCEL :{BLACK}Abbrechen
|
||||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Skript nicht wechseln
|
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Skript nicht wechseln
|
||||||
|
|
||||||
|
STR_SCREENSHOT_CAPTION :{WHITE}Sreenshot erzeugen
|
||||||
|
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normaler Screenshot
|
||||||
|
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Screenshot des ganzen Spielfeldes
|
||||||
|
|
||||||
# AI Parameters
|
# AI Parameters
|
||||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameter
|
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameter
|
||||||
@@ -5092,6 +5112,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Keine ge
|
|||||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Gleise müssen erst abgerissen werden
|
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Gleise müssen erst abgerissen werden
|
||||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Einbahnstraße oder blockierter Weg
|
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Einbahnstraße oder blockierter Weg
|
||||||
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Bahnübergänge sind für diesen Schienentyp nicht erlaubt
|
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Bahnübergänge sind für diesen Schienentyp nicht erlaubt
|
||||||
|
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Bahnübergänge sind für diesen Straßentyp nicht erlaubt
|
||||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Signal kann hier nicht aufgestellt werden...
|
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Signal kann hier nicht aufgestellt werden...
|
||||||
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Gleise können hier nicht verlegt werden...
|
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Gleise können hier nicht verlegt werden...
|
||||||
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Gleise können nicht abgerissen werden...
|
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Gleise können nicht abgerissen werden...
|
||||||
@@ -5113,7 +5134,10 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Diese St
|
|||||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Straßenbahngleise können hier nicht entfernt werden...
|
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Straßenbahngleise können hier nicht entfernt werden...
|
||||||
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}...hier ist keine Straße
|
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}...hier ist keine Straße
|
||||||
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}...hier ist kein Straßenbahngleis
|
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}...hier ist kein Straßenbahngleis
|
||||||
|
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Straßentyp kann hier nicht geändert werden...
|
||||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Straßenbahngleistyp kann hier nicht geändert werden...
|
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Straßenbahngleistyp kann hier nicht geändert werden...
|
||||||
|
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Keine geeigneten Straßenbahnschienen
|
||||||
|
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... inkompatible Straßenbahngleise
|
||||||
|
|
||||||
# Waterway construction errors
|
# Waterway construction errors
|
||||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kanal kann hier nicht gebaut werden...
|
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kanal kann hier nicht gebaut werden...
|
||||||
|
@@ -937,6 +937,7 @@ STR_GAME_OPTIONS_CURRENCY_MXN :Peso messicano
|
|||||||
STR_GAME_OPTIONS_CURRENCY_NTD :Nuovo dollaro taiwanese (NTD)
|
STR_GAME_OPTIONS_CURRENCY_NTD :Nuovo dollaro taiwanese (NTD)
|
||||||
STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi cinese (CNY)
|
STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi cinese (CNY)
|
||||||
STR_GAME_OPTIONS_CURRENCY_HKD :Dollaro di Hong Kong (HKD)
|
STR_GAME_OPTIONS_CURRENCY_HKD :Dollaro di Hong Kong (HKD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_INR :Rupia indiana (INR)
|
||||||
############ end of currency region
|
############ end of currency region
|
||||||
|
|
||||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automezzi
|
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Automezzi
|
||||||
|
@@ -857,7 +857,7 @@ STR_ABOUT_MENU_SEPARATOR :
|
|||||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Przełącz konsolę
|
STR_ABOUT_MENU_TOGGLE_CONSOLE :Przełącz konsolę
|
||||||
STR_ABOUT_MENU_AI_DEBUG :Debugowanie SI / Game Script
|
STR_ABOUT_MENU_AI_DEBUG :Debugowanie SI / Game Script
|
||||||
STR_ABOUT_MENU_SCREENSHOT :Zrzut ekranu
|
STR_ABOUT_MENU_SCREENSHOT :Zrzut ekranu
|
||||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Pokaż ilość klatek na sekundę
|
STR_ABOUT_MENU_SHOW_FRAMERATE :Pokaż liczbę klatek na sekundę
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Info o 'OpenTTD'
|
STR_ABOUT_MENU_ABOUT_OPENTTD :Info o 'OpenTTD'
|
||||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Wyrównywanie sprite'ów
|
STR_ABOUT_MENU_SPRITE_ALIGNER :Wyrównywanie sprite'ów
|
||||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Włącz/wyłącz ramki
|
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Włącz/wyłącz ramki
|
||||||
@@ -1586,11 +1586,11 @@ STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
|||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Nachylenie stoków dla pojazdów drogowych: {STRING}
|
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Nachylenie stoków dla pojazdów drogowych: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Pochylenie pola stoku dla pojazdów drogowych. Wyższa wartość utrudnia podjazd pod górę
|
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Pochylenie pola stoku dla pojazdów drogowych. Wyższa wartość utrudnia podjazd pod górę
|
||||||
STR_CONFIG_SETTING_FORBID_90_DEG :Zabroń pociągom skręcać o 90 stopni: {STRING}
|
STR_CONFIG_SETTING_FORBID_90_DEG :Zabroń pociągom skręcać o 90 stopni: {STRING}
|
||||||
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-stopniowy zakręt występuje wtedy, gdy bezpośrednio po poziomym odcinku toru występuje odcinek pionowy na sąsiadującym polu zmuszając pociąg do skrętu o 90 stopni pokonując krawędź pola zamiast normalnego, 45-stopniowego skrętu w innych kombinacjach torów.
|
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-stopniowy zakręt występuje wtedy, gdy bezpośrednio po poziomym odcinku toru występuje odcinek pionowy (lub na odwrót), zmuszając pociąg do ostrzejszego skrętu (zamiast normalnego, 45-stopniowego skrętu w innych kombinacjach torów)
|
||||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Pozwól na łączenie stacji nie sąsiadujących bezpośrednio: {STRING}
|
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Pozwól na łączenie stacji nie sąsiadujących bezpośrednio: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Pozwalaj na dodawanie części stacji nie stykających się ze sobą. Naciśnij Ctrl przed postawieniem nowej części
|
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Pozwalaj na dodawanie części stacji nie stykających się ze sobą. Naciśnij Ctrl przed postawieniem nowej części
|
||||||
STR_CONFIG_SETTING_INFLATION :Inflacja: {STRING}
|
STR_CONFIG_SETTING_INFLATION :Inflacja: {STRING}
|
||||||
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Włącz inflację w ekonomii, gdzie koszty rosną nieco szybciej niż zapłaty
|
STR_CONFIG_SETTING_INFLATION_HELPTEXT :Włącz lub wyłącz inflację (sytuacja ekonomiczna, w związku z którą koszty rosną nieco szybciej niż zapłaty)
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksymalna długość mostu: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksymalna długość mostu: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksymalna długość budowanych mostów
|
STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksymalna długość budowanych mostów
|
||||||
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksymalna wysokość mostu: {STRING}
|
STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksymalna wysokość mostu: {STRING}
|
||||||
@@ -1598,7 +1598,7 @@ STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksymalna wyso
|
|||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksymalna długość tunelu: {STRING}
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksymalna długość tunelu: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksymalna długość budowanych tuneli
|
STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksymalna długość budowanych tuneli
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Budowa przedsiębiorstw wydobywczych: {STRING}
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Budowa przedsiębiorstw wydobywczych: {STRING}
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metoda finansowania podstawowego przemysłu. 'żadne' oznacza brak możliwości finansowania czegokolwiek, 'obiecujące' oznacza, że finansowanie jest możliwe, ale konstrukcja pojawi się w losowym miejscu na mapie oraz losowo budowa może zakończyć się porażką, 'jak inne gałęzi przemysłu' oznacza, że przemysł wydobywczy może być budowany tak jak fabryki przetwórcze, w dowolnym miejscu
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metoda finansowania podstawowych przedsiębiorstw. 'Niedostępna' oznacza brak możliwości finansowania czegokolwiek, 'poszukiwania' oznacza, że finansowanie jest możliwe, ale konstrukcja pojawi się w losowym miejscu na mapie (oraz losowo budowa może zakończyć się porażką), 'jak inne przedsiębiorstwa' oznacza, że przemysł wydobywczy może być budowany tak jak fabryki przetwórcze, w dowolnym miejscu
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Niedostępna
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Niedostępna
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Jak inne przedsiębiorstwa
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Jak inne przedsiębiorstwa
|
||||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Poszukiwania
|
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Poszukiwania
|
||||||
@@ -1614,7 +1614,7 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Po prawej
|
|||||||
STR_CONFIG_SETTING_SHOWFINANCES :Pokazuj okno finansów na koniec roku: {STRING}
|
STR_CONFIG_SETTING_SHOWFINANCES :Pokazuj okno finansów na koniec roku: {STRING}
|
||||||
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Jeśli włączone, to okienko finansowe pokazuje się na zakończenie każdego roku, by ułatwić śledzenie sytuacji finansowej firmy
|
STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Jeśli włączone, to okienko finansowe pokazuje się na zakończenie każdego roku, by ułatwić śledzenie sytuacji finansowej firmy
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nowe polecenia są domyślnie 'bez zatrzymywania się': {STRING}
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nowe polecenia są domyślnie 'bez zatrzymywania się': {STRING}
|
||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalnie pojazd zatrzyma się na każdej stacji, przez którą przejeżdża. Włączając tę opcję, pojazd przejedzie do swojego celu bez zatrzymywania się. Zwróć uwagę na to, że to ustawienie ma wpływ tylko na nowe rozkazy. Indywidualne rozkazy mogą być ustalane bez względu na wartość tej opcji
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalnie pojazd zatrzyma się na każdej stacji, przez którą przejeżdża. Po włączeniu tej opcji, pojazd przejedzie do swojego celu bez zatrzymywania się. Zwróć uwagę na to, że to ustawienie ma wpływ tylko na nowe polecenia. Pojedyncze polecenia mogą być ustalane bez względu na wartość tej opcji
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION :Rozkazy nowego pociągu kończą się domyślnie na {STRING} peronu
|
STR_CONFIG_SETTING_STOP_LOCATION :Rozkazy nowego pociągu kończą się domyślnie na {STRING} peronu
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Miejsce, w którym pociąg domyślnie zatrzyma się na peronie. 'Bliższy koniec' oznacza blisko kierunku przyjazdu, 'środek' oznacza środkową część peronu, a 'daleki koniec' oznacza daleko od kierunku przyjazdu. Zapamiętaj, że to ustawienie określa tylko domyślną wartość dla nowych rozkazów. Wszystkie rozkazy mogą być zmienione, bez względu na wartość ustawienia
|
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Miejsce, w którym pociąg domyślnie zatrzyma się na peronie. 'Bliższy koniec' oznacza blisko kierunku przyjazdu, 'środek' oznacza środkową część peronu, a 'daleki koniec' oznacza daleko od kierunku przyjazdu. Zapamiętaj, że to ustawienie określa tylko domyślną wartość dla nowych rozkazów. Wszystkie rozkazy mogą być zmienione, bez względu na wartość ustawienia
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :początku
|
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :początku
|
||||||
@@ -1647,9 +1647,9 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Brak*
|
|||||||
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Zredukowana
|
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Zredukowana
|
||||||
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normalna
|
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normalna
|
||||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Pozwól na budowę przystanków przelotowych na drogach miejskich: {STRING}
|
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Pozwól na budowę przystanków przelotowych na drogach miejskich: {STRING}
|
||||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Pozwalaj budować przystanki przelotowe na drogach własnościowych miast
|
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Pozwalaj budować przystanki przelotowe na drogach będących własnością miast
|
||||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Pozwól na przejazd przez przystanki należące do przeciwników: {STRING}
|
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Pozwól na budowę przystanków przelotowych na drogach innych firm: {STRING}
|
||||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Pozwalaj budować przystanki przelotowe na drogach własnościowych innych graczy
|
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Pozwalaj budować przystanki przelotowe na drogach będących własnością innych graczy
|
||||||
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Zmiana tego ustawienia nie jest możliwa, gdy znajdują się tutaj pojazdy
|
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Zmiana tego ustawienia nie jest możliwa, gdy znajdują się tutaj pojazdy
|
||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Utrzymywanie infrastruktury: {STRING}
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Utrzymywanie infrastruktury: {STRING}
|
||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Kiedy włączone, utrzymanie infrastruktury jest naliczane w kosztach. Koszty wzrastają nadproporcjonalnie do rozmiarów sieci połączeń, a więc dotykają bardziej duże niż małe firmy
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Kiedy włączone, utrzymanie infrastruktury jest naliczane w kosztach. Koszty wzrastają nadproporcjonalnie do rozmiarów sieci połączeń, a więc dotykają bardziej duże niż małe firmy
|
||||||
@@ -1690,8 +1690,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Pokaż populacj
|
|||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Wyświetlaj populację miast w ich etykietach na mapie
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Wyświetlaj populację miast w ich etykietach na mapie
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grubość linii na wykresie: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grubość linii na wykresie: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grubość linii na wykresach. Cienka linia jest dokładniejsza, grubsza linia jest bardziej widoczna a kolory łatwiejsze do odróżnienia
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grubość linii na wykresach. Cienka linia jest dokładniejsza, grubsza linia jest bardziej widoczna a kolory łatwiejsze do odróżnienia
|
||||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Pokaż nazwę tego NewGRF'a w oknie pojazdu budowlanego: {STRING}
|
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Pokaż nazwę NewGRF'a w oknie budowy pojazdu: {STRING}
|
||||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Dodaj linię do okna pojazdów budowlanych, pokazujących z którego NewGRF wybrany pojazd pochodzi.
|
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Dodaj linię do okna budowy pojazdów, pokazujących z którego NewGRF'a wybrany pojazd pochodzi.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Krajobraz: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Krajobraz: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Krajobrazy określają podstawowe scenariusze gry, które różnią się przedsiębiorstwami, towarami i wymogami dla rozwoju miast. Pliki NewGRF i skrypty umożliwiają dokładniejszą kontrolę warunków rozgrywki
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Krajobrazy określają podstawowe scenariusze gry, które różnią się przedsiębiorstwami, towarami i wymogami dla rozwoju miast. Pliki NewGRF i skrypty umożliwiają dokładniejszą kontrolę warunków rozgrywki
|
||||||
@@ -1752,8 +1752,8 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Wygładź przes
|
|||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Zdecyduj, jak główny widok przesuwa się do konkretnej lokacji, gdy klikasz na mini-mapie lub gdy używasz komendy do przesunięcia do danego obiektu na mapie. Kiedy włączone, widok przesuwa się płynnie, kiedy wyłączone, następuje skok bezpośrednio do wybranego miejsca
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Zdecyduj, jak główny widok przesuwa się do konkretnej lokacji, gdy klikasz na mini-mapie lub gdy używasz komendy do przesunięcia do danego obiektu na mapie. Kiedy włączone, widok przesuwa się płynnie, kiedy wyłączone, następuje skok bezpośrednio do wybranego miejsca
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Pokaż dymek z pomiarem podczas używania różnych narzędzi: {STRING}
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Pokaż dymek z pomiarem podczas używania różnych narzędzi: {STRING}
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Wyświetlaj długość budowanych odcinków i różnicę wysokości przy przeciąganiu w trakcie operacji budowlanych
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Wyświetlaj długość budowanych odcinków i różnicę wysokości przy przeciąganiu w trakcie operacji budowlanych
|
||||||
STR_CONFIG_SETTING_LIVERIES :Pokaż barwy firm wg typu pojazdu: {STRING}
|
STR_CONFIG_SETTING_LIVERIES :Pokaż barwy pojazdów wg grup: {STRING}
|
||||||
STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrolka stosowania schematu kolorów pojazdów specyficznych dla typów pojazdów (w przeciwieństwie do specyfiki firmy)
|
STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Wyłączenie tego ustawienia powoduje, że jeśli gracz ustawił, oprócz koloru firmy, różne kolory dla różnych grup pojazdów, kolory te nie są widoczne (pokazywany jest w ich miejscu domyślny kolor firmy)
|
||||||
STR_CONFIG_SETTING_LIVERIES_NONE :brak
|
STR_CONFIG_SETTING_LIVERIES_NONE :brak
|
||||||
STR_CONFIG_SETTING_LIVERIES_OWN :własnej firmy
|
STR_CONFIG_SETTING_LIVERIES_OWN :własnej firmy
|
||||||
STR_CONFIG_SETTING_LIVERIES_ALL :wszystkich firm
|
STR_CONFIG_SETTING_LIVERIES_ALL :wszystkich firm
|
||||||
@@ -1794,7 +1794,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31
|
|||||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatycznie włącz pauzę przy rozpoczęciu nowej gry: {STRING}
|
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Automatycznie włącz pauzę przy rozpoczęciu nowej gry: {STRING}
|
||||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Kiedy włączone, gra zostanie automatycznie zatrzymana na samym początku, pozwalając na lepsze rozpoznanie mapy
|
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Kiedy włączone, gra zostanie automatycznie zatrzymana na samym początku, pozwalając na lepsze rozpoznanie mapy
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Zezwól w czasie wstrzymania gry na: {STRING}
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Zezwól w czasie wstrzymania gry na: {STRING}
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Wybierz, jakich akcji można dokonywac, gdy gra jest wstrzymana
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Wybierz, jakich akcji można dokonywać, gdy gra jest wstrzymana (włączona jest pauza)
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Brak działań
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Brak działań
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Wszystkie niezwiązane z konstrukcją
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Wszystkie niezwiązane z konstrukcją
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Wszystkie oprócz modyfikowania terenu
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Wszystkie oprócz modyfikowania terenu
|
||||||
@@ -1953,12 +1953,12 @@ STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Wyświetlaj okn
|
|||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Domyślny typ sygnalizatorów: {STRING}
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Domyślny typ sygnalizatorów: {STRING}
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Domyślny typ semaforów
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Domyślny typ semaforów
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :sygnalizatory blokowe
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :sygnalizatory blokowe
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :sygnalizatory jazdy
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :sygnalizatory trasy
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :sygnalizatory jazdy - jednokierunkowe
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :sygnalizatory trasy - jednokierunkowe
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Przełączaj typy sygnalizatorów: {STRING}
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Przełączaj typy sygnalizatorów: {STRING}
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Wybierz, między jakimi typami semaforów przełączać, po naciśnięciu Ctrl+klik przy budowaniu semaforów
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Wybierz, między jakimi typami semaforów przełączać, po naciśnięciu Ctrl+klik przy budowaniu semaforów
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :tylko sygnalizatory blokowe
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :tylko sygnalizatory blokowe
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :tylko sygnalizatory jazdy
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :tylko sygnalizatory trasy
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :wszystkie
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :wszystkie
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TOWN_LAYOUT :Układ dróg dla nowych miast: {STRING}
|
STR_CONFIG_SETTING_TOWN_LAYOUT :Układ dróg dla nowych miast: {STRING}
|
||||||
@@ -2038,7 +2038,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symetryczna" o
|
|||||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Tryb dystrybucji dla poczty: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Tryb dystrybucji dla poczty: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symetryczna" oznacza, że mniej więcej tyle samo poczty będzie wysłane ze stacji A do stacji B, co z B do A. "Asymetryczna" znaczy, że narzucone ilości poczty mogą być wysłane w obu kierunkach. "Ręczna" oznacza, że nie będzie automatycznej dystrybucji dla poczty.
|
STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symetryczna" oznacza, że mniej więcej tyle samo poczty będzie wysłane ze stacji A do stacji B, co z B do A. "Asymetryczna" znaczy, że narzucone ilości poczty mogą być wysłane w obu kierunkach. "Ręczna" oznacza, że nie będzie automatycznej dystrybucji dla poczty.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Typ dystrybucji dla CHRONIONEJ klasy towarów: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Typ dystrybucji dla CHRONIONEJ klasy towarów: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :CHRONIONA klasa towarów zawiera kosztowności w umiarkowanym, diamenty w tropikalnym lub złoto w arktycznym klimacie. NewGRF-y mogą to zmieniać. "Symetryczna" oznacza, że mniej więcej tyle samo towaru będzie wysłane ze stacji A do stacji B, co z B do A. "Asymetryczna" znaczy, że narzucone ilości towarów mogą być wysłane w obu kierunkach. "Ręczna" oznacza, że nie będzie automatycznej dystrybucji dla tych towarów. Rekomendowane ustawienie to asymetryczne lub ręczne dla klimatu arktycznego, ponieważ banki nie będą wysyłać złota spowrotem do kopalni złota. Dla umiarkowanego i tropikalnego klimatu możesz także wybrać symetryczne, ponieważ banki będą wysyłać kosztowności spowrotem do banku, z którego pochodzi część kosztowności.
|
STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :CHRONIONA klasa towarów zawiera kosztowności w umiarkowanym, diamenty w tropikalnym lub złoto w arktycznym klimacie. NewGRF-y mogą to zmieniać. "Symetryczna" oznacza, że mniej więcej tyle samo towaru będzie wysłane ze stacji A do stacji B, co z B do A. "Asymetryczna" znaczy, że narzucone ilości towarów mogą być wysłane w obu kierunkach. "Manualna" oznacza, że nie będzie automatycznej dystrybucji dla tych towarów. Rekomendowane ustawienie to asymetryczne lub ręczne dla klimatu arktycznego, ponieważ banki nie będą wysyłać złota spowrotem do kopalni złota. Dla umiarkowanego i tropikalnego klimatu możesz także wybrać symetryczne, ponieważ banki będą wysyłać kosztowności spowrotem do banku, z którego pochodzi część kosztowności.
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Tryb dystrybucji dla innych typów ładunku: {STRING}
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Tryb dystrybucji dla innych typów ładunku: {STRING}
|
||||||
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymetrycznie" oznacza, że określone ilości ładunków mogą być wysłane w obu kierunkach. "manualnie" oznacza, że dystrybucja nie będzie odbywać się automatycznie.
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymetrycznie" oznacza, że określone ilości ładunków mogą być wysłane w obu kierunkach. "manualnie" oznacza, że dystrybucja nie będzie odbywać się automatycznie.
|
||||||
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Dokładność dystrybucji: {STRING}
|
STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Dokładność dystrybucji: {STRING}
|
||||||
@@ -2046,7 +2046,7 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Im wyżej ustaw
|
|||||||
STR_CONFIG_SETTING_DEMAND_DISTANCE :Wpływ odległości na dystrybucję: {STRING}
|
STR_CONFIG_SETTING_DEMAND_DISTANCE :Wpływ odległości na dystrybucję: {STRING}
|
||||||
STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Jeśli ładunki z jednej stacji trafiają na kilka różnych stacji, na ich dystrybucję wpływ ma odległość. Im wyższą wartość ustawisz, tym bliższe stacje będą preferowane. Zerowa wartość ustawienia sprawi, że odległość nie będzie wpływała na podział dystrybucji.
|
STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Jeśli ładunki z jednej stacji trafiają na kilka różnych stacji, na ich dystrybucję wpływ ma odległość. Im wyższą wartość ustawisz, tym bliższe stacje będą preferowane. Zerowa wartość ustawienia sprawi, że odległość nie będzie wpływała na podział dystrybucji.
|
||||||
STR_CONFIG_SETTING_DEMAND_SIZE :Ilość powracającego ładunku dla trybu symetrycznego: {STRING}
|
STR_CONFIG_SETTING_DEMAND_SIZE :Ilość powracającego ładunku dla trybu symetrycznego: {STRING}
|
||||||
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ustawiając to na mniej niż 100% powoduje, że symetryczna dystrybucja zachowuje się podobnie do asymetrycznej. Mniej towaru będzie zwróconego jeśli pewna ilość zostanie wysłana do stacji. Jeśli ustawisz to na 0%, to symetryczna dystrybucja zachowuje się jak asymetryczna.
|
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ustawienie tego na mniej niż 100% powoduje, że symetryczna dystrybucja zachowuje się podobnie do asymetrycznej. Mniej towaru będzie zwróconego jeśli pewna ilość zostanie wysłana do stacji. Jeśli ustawisz to na 0%, to symetryczna dystrybucja zachowuje się jak asymetryczna.
|
||||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Zapełnienie krótkich tras przed wybraniem tras o dużej przepustowości: {STRING}
|
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Zapełnienie krótkich tras przed wybraniem tras o dużej przepustowości: {STRING}
|
||||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Często są różne trasy pomiędzy dwoma stacjami. Cargodist zapełni najpierw najkrótsza trasę, później wykorzystuje kolejną z najkrótszych tras aż ta jest pełna itd. Zapełnienie jest określone przez obliczenie pojemności wraz z planowanym użyciem. Kiedy już wszystkie trasy są zapełnione, a istnieje wciąż zapotrzebowanie, przepełni wszystkie trasy, preferując jednak te z dużą pojemnością.Jednak w większości algorytm oblicza pojemności niedokładnie. Te ustawienia pozwolą Ci sprecyzować, jaki ma być procent zapełnienia krótszych tras zanim zostaną wybrane dłuższe. Ustaw na mniej niż 100% w celu uniknięcia przepełnienia stacji w razie zawyżenia pojemności.
|
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Często są różne trasy pomiędzy dwoma stacjami. Cargodist zapełni najpierw najkrótsza trasę, później wykorzystuje kolejną z najkrótszych tras aż ta jest pełna itd. Zapełnienie jest określone przez obliczenie pojemności wraz z planowanym użyciem. Kiedy już wszystkie trasy są zapełnione, a istnieje wciąż zapotrzebowanie, przepełni wszystkie trasy, preferując jednak te z dużą pojemnością.Jednak w większości algorytm oblicza pojemności niedokładnie. Te ustawienia pozwolą Ci sprecyzować, jaki ma być procent zapełnienia krótszych tras zanim zostaną wybrane dłuższe. Ustaw na mniej niż 100% w celu uniknięcia przepełnienia stacji w razie zawyżenia pojemności.
|
||||||
|
|
||||||
@@ -3117,7 +3117,7 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
|
|||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} Zespół OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} Zespół OpenTTD
|
||||||
|
|
||||||
# Framerate display window
|
# Framerate display window
|
||||||
STR_FRAMERATE_CAPTION :{WHITE}Ilość klatek na sekundę
|
STR_FRAMERATE_CAPTION :{WHITE}Liczba klatek na sekundę
|
||||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||||
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tempo symulacji: {STRING}
|
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tempo symulacji: {STRING}
|
||||||
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Liczba ticków gry symulowanych na sekundę.
|
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Liczba ticków gry symulowanych na sekundę.
|
||||||
@@ -4292,7 +4292,7 @@ STR_ORDERS_END_OF_ORDERS :- - Koniec pole
|
|||||||
STR_ORDERS_END_OF_SHARED_ORDERS :- - Koniec współdzielonych poleceń - -
|
STR_ORDERS_END_OF_SHARED_ORDERS :- - Koniec współdzielonych poleceń - -
|
||||||
|
|
||||||
# Order bottom buttons
|
# Order bottom buttons
|
||||||
STR_ORDER_NON_STOP :{BLACK}Non-stop
|
STR_ORDER_NON_STOP :{BLACK}Bezpośrednio
|
||||||
STR_ORDER_GO_TO :Idź do
|
STR_ORDER_GO_TO :Idź do
|
||||||
STR_ORDER_GO_NON_STOP_TO :Idź bezpośrednio do
|
STR_ORDER_GO_NON_STOP_TO :Idź bezpośrednio do
|
||||||
STR_ORDER_GO_VIA :Idź przez
|
STR_ORDER_GO_VIA :Idź przez
|
||||||
@@ -4303,7 +4303,7 @@ STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Pełny z
|
|||||||
STR_ORDER_DROP_LOAD_IF_POSSIBLE :Załaduj jeśli dostępne
|
STR_ORDER_DROP_LOAD_IF_POSSIBLE :Załaduj jeśli dostępne
|
||||||
STR_ORDER_DROP_FULL_LOAD_ALL :Pełny załadunek wszystkiego
|
STR_ORDER_DROP_FULL_LOAD_ALL :Pełny załadunek wszystkiego
|
||||||
STR_ORDER_DROP_FULL_LOAD_ANY :Pełny załadunek któregoś z towarów
|
STR_ORDER_DROP_FULL_LOAD_ANY :Pełny załadunek któregoś z towarów
|
||||||
STR_ORDER_DROP_NO_LOADING :Nie ładować
|
STR_ORDER_DROP_NO_LOADING :Nie ładuj
|
||||||
STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Zmień sposób załadunku w podświetlonym poleceniu
|
STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Zmień sposób załadunku w podświetlonym poleceniu
|
||||||
|
|
||||||
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Rozładuj i załaduj
|
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Rozładuj i załaduj
|
||||||
@@ -4374,7 +4374,7 @@ STR_ORDER_GO_TO_WAYPOINT :Idź przez {WAY
|
|||||||
STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Idź bezpośrednio poprzez {WAYPOINT}
|
STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Idź bezpośrednio poprzez {WAYPOINT}
|
||||||
|
|
||||||
STR_ORDER_SERVICE_AT :Serwisuj w
|
STR_ORDER_SERVICE_AT :Serwisuj w
|
||||||
STR_ORDER_SERVICE_NON_STOP_AT :Serwisuj non-stop w
|
STR_ORDER_SERVICE_NON_STOP_AT :Serwisuj bezpośrednio w
|
||||||
|
|
||||||
STR_ORDER_NEAREST_DEPOT :najbliższego
|
STR_ORDER_NEAREST_DEPOT :najbliższego
|
||||||
STR_ORDER_NEAREST_HANGAR :najbliższego hangaru
|
STR_ORDER_NEAREST_HANGAR :najbliższego hangaru
|
||||||
@@ -4394,7 +4394,7 @@ STR_ORDER_IMPLICIT :(sugerowany)
|
|||||||
|
|
||||||
STR_ORDER_FULL_LOAD :(Pełny załadunek)
|
STR_ORDER_FULL_LOAD :(Pełny załadunek)
|
||||||
STR_ORDER_FULL_LOAD_ANY :(Pełny załadunek dowolnego towaru)
|
STR_ORDER_FULL_LOAD_ANY :(Pełny załadunek dowolnego towaru)
|
||||||
STR_ORDER_NO_LOAD :(Nie ładować)
|
STR_ORDER_NO_LOAD :(Nie ładuj)
|
||||||
STR_ORDER_UNLOAD :(Rozładuj i zabierz ładunek)
|
STR_ORDER_UNLOAD :(Rozładuj i zabierz ładunek)
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD :(Rozładuj i czekaj na pełny załadunek)
|
STR_ORDER_UNLOAD_FULL_LOAD :(Rozładuj i czekaj na pełny załadunek)
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Rozładuj i czekaj na pełny załadunek któregoś z towarów)
|
STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Rozładuj i czekaj na pełny załadunek któregoś z towarów)
|
||||||
|
@@ -187,6 +187,7 @@ STR_COLOUR_ORANGE :Portocaliu
|
|||||||
STR_COLOUR_BROWN :Maro
|
STR_COLOUR_BROWN :Maro
|
||||||
STR_COLOUR_GREY :Gri
|
STR_COLOUR_GREY :Gri
|
||||||
STR_COLOUR_WHITE :Alb
|
STR_COLOUR_WHITE :Alb
|
||||||
|
STR_COLOUR_DEFAULT :Prestabilit
|
||||||
|
|
||||||
# Units used in OpenTTD
|
# Units used in OpenTTD
|
||||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph
|
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph
|
||||||
@@ -233,6 +234,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Alegeți
|
|||||||
STR_BUTTON_SORT_BY :{BLACK}Ordonează
|
STR_BUTTON_SORT_BY :{BLACK}Ordonează
|
||||||
STR_BUTTON_LOCATION :{BLACK}Locație
|
STR_BUTTON_LOCATION :{BLACK}Locație
|
||||||
STR_BUTTON_RENAME :{BLACK}Nume nou
|
STR_BUTTON_RENAME :{BLACK}Nume nou
|
||||||
|
STR_BUTTON_CATCHMENT :Arie de acoperire
|
||||||
|
|
||||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Închide fereastra
|
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Închide fereastra
|
||||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Titlul ferestrei - trage de aici pentru a muta fereastra
|
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Titlul ferestrei - trage de aici pentru a muta fereastra
|
||||||
@@ -836,6 +838,7 @@ STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE
|
|||||||
STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} nu are nici un ordin
|
STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} nu are nici un ordin
|
||||||
STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} are ordine duplicate
|
STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} are ordine duplicate
|
||||||
STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} are o staţie invalidă în ordine
|
STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} are o staţie invalidă în ordine
|
||||||
|
STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} are în ordinele sale un aeroport a cărui pistă este prea scurtă
|
||||||
|
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} este vechi
|
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} este vechi
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} este foarte vechi
|
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} este foarte vechi
|
||||||
@@ -1444,6 +1447,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permite Intelig
|
|||||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite ca jucătorii controlați de AI să participe în jocuri multiplayer
|
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite ca jucătorii controlați de AI să participe în jocuri multiplayer
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Număr opcodes înainte de suspendarea scripturilor: {STRING}
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Număr opcodes înainte de suspendarea scripturilor: {STRING}
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Numărul maxim de instrucțiuni pe care un script le poate executa pe parcursul unei ture
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Numărul maxim de instrucțiuni pe care un script le poate executa pe parcursul unei ture
|
||||||
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervaluri de service în procente: {STRING}
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervaluri de service în procente: {STRING}
|
||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Alege dacă întreținerea vehiculelor este activată de trecerea unei anumite perioade de timp, sau scăzând un anumit procent din gradul de rezistență al vehiculului
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Alege dacă întreținerea vehiculelor este activată de trecerea unei anumite perioade de timp, sau scăzând un anumit procent din gradul de rezistență al vehiculului
|
||||||
@@ -1647,6 +1651,7 @@ STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Câmpur
|
|||||||
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construcţie
|
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Construcţie
|
||||||
STR_CONFIG_SETTING_ADVISORS :{ORANGE}Știri / Consilieri
|
STR_CONFIG_SETTING_ADVISORS :{ORANGE}Știri / Consilieri
|
||||||
STR_CONFIG_SETTING_COMPANY :{ORANGE}Companie
|
STR_CONFIG_SETTING_COMPANY :{ORANGE}Companie
|
||||||
|
STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Contabilitate
|
||||||
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicule
|
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehicule
|
||||||
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Direcţionare
|
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Direcţionare
|
||||||
STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Dezastre / Accidente
|
STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Dezastre / Accidente
|
||||||
@@ -2551,6 +2556,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Numele d
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Încărcături acceptate: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Încărcături acceptate: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
|
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tip șină: {LTBLUE}{STRING}
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Limită viteză pe calea ferată: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Limită viteză pe calea ferată: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Viteza limită a drumului: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Viteza limită a drumului: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2656,11 +2662,14 @@ STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Număr d
|
|||||||
STR_FRAMERATE_AVERAGE :{WHITE}Medie
|
STR_FRAMERATE_AVERAGE :{WHITE}Medie
|
||||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Date bazate pe măsurători {COMMA}
|
STR_FRAMERATE_DATA_POINTS :{BLACK}Date bazate pe măsurători {COMMA}
|
||||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||||
|
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} cadre/s
|
||||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
STR_FRAMERATE_VIDEO :{BLACK}Ieșire video:
|
STR_FRAMERATE_VIDEO :{BLACK}Ieșire video:
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMETIME_CAPTION_GAMELOOP :Buclă de joc
|
||||||
|
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manipularea încărcăturilor
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -3319,6 +3328,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Elimină toate
|
|||||||
|
|
||||||
STR_GROUP_RENAME_CAPTION :{BLACK}Redenumeşte un grup
|
STR_GROUP_RENAME_CAPTION :{BLACK}Redenumeşte un grup
|
||||||
|
|
||||||
|
STR_GROUP_PROFIT_THIS_YEAR :Profitul pe anul acesta:
|
||||||
STR_GROUP_OCCUPANCY :Utilizare curentă:
|
STR_GROUP_OCCUPANCY :Utilizare curentă:
|
||||||
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||||
|
|
||||||
@@ -3367,6 +3377,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Cumpăr
|
|||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Cumpără navă
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Cumpără navă
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Cumpără aeronavă
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Cumpără aeronavă
|
||||||
|
|
||||||
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Cumpără și schimbă marfa transportată de aeronavă
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Cumpără vehiculul feroviar selectat. Shift+Click arată costul estimat fără să cumpere vehiculul
|
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Cumpără vehiculul feroviar selectat. Shift+Click arată costul estimat fără să cumpere vehiculul
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Cumpără autovehiculul selectat. Shift+Click arată costul estimat fără să cumpere autovehiculul
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Cumpără autovehiculul selectat. Shift+Click arată costul estimat fără să cumpere autovehiculul
|
||||||
@@ -3979,6 +3990,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Alege sc
|
|||||||
STR_AI_LIST_CANCEL :{BLACK}Anulează
|
STR_AI_LIST_CANCEL :{BLACK}Anulează
|
||||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Nu schimba scriptul
|
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Nu schimba scriptul
|
||||||
|
|
||||||
|
STR_SCREENSHOT_CAPTION :{WHITE}Capturează ecranul
|
||||||
|
STR_SCREENSHOT_SCREENSHOT :{BLACK}Captură de ecran obișnuită
|
||||||
|
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Captură de hartă la mărime maximă
|
||||||
|
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Captură de hartă la mărime normală
|
||||||
|
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Captură de hartă întreagă
|
||||||
|
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Captură de hartă topografică
|
||||||
|
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captură de hartă a lumii
|
||||||
|
|
||||||
# AI Parameters
|
# AI Parameters
|
||||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametrii
|
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametrii
|
||||||
@@ -4063,7 +4081,7 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Doar un
|
|||||||
|
|
||||||
# Screenshot related messages
|
# Screenshot related messages
|
||||||
STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Imagine de dimensiune foarte mare
|
STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Imagine de dimensiune foarte mare
|
||||||
STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Imaginea capturata va avea o dimensiune de {COMMA} x {COMMA} pixeli. Realizarea unei capturi va dura puțin timp. Dorești să continui?
|
STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Imaginea capturată va avea o dimensiune de {COMMA} x {COMMA} pixeli. Realizarea unei capturi va dura ceva timp. Dorești să continui?
|
||||||
|
|
||||||
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Imagine salvată cu succes pe disc în fişierul '{STRING}'
|
STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Imagine salvată cu succes pe disc în fişierul '{STRING}'
|
||||||
STR_ERROR_SCREENSHOT_FAILED :{WHITE}Imaginea nu a putut fi capturată!
|
STR_ERROR_SCREENSHOT_FAILED :{WHITE}Imaginea nu a putut fi capturată!
|
||||||
@@ -4433,6 +4451,7 @@ STR_BASESOUNDS_WIN_DESCRIPTION :Setul de sunete
|
|||||||
STR_BASESOUNDS_NONE_DESCRIPTION :Un set de sunete fără nici un sunet inclus.
|
STR_BASESOUNDS_NONE_DESCRIPTION :Un set de sunete fără nici un sunet inclus.
|
||||||
STR_BASEMUSIC_WIN_DESCRIPTION :Setul de muzică original al Transport Tycoon Deluxe pentru Windows.
|
STR_BASEMUSIC_WIN_DESCRIPTION :Setul de muzică original al Transport Tycoon Deluxe pentru Windows.
|
||||||
STR_BASEMUSIC_DOS_DESCRIPTION :Setul de muzică original al Transport Tycoon Deluxe pentru DOS.
|
STR_BASEMUSIC_DOS_DESCRIPTION :Setul de muzică original al Transport Tycoon Deluxe pentru DOS.
|
||||||
|
STR_BASEMUSIC_TTO_DESCRIPTION :Setul de muzică original al Transport (Original/World Editor) pentru DOS.
|
||||||
STR_BASEMUSIC_NONE_DESCRIPTION :Un set de muzică fără muzică inclusă.
|
STR_BASEMUSIC_NONE_DESCRIPTION :Un set de muzică fără muzică inclusă.
|
||||||
|
|
||||||
##id 0x2000
|
##id 0x2000
|
||||||
|
1188
src/lang/slovak.txt
1188
src/lang/slovak.txt
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1121,6 +1121,7 @@ STR_CONFIG_SETTING_CITY_APPROVAL :நகர ம
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :அதிகபட்ச வரைபட உயரம்: {STRING}
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :அதிகபட்ச வரைபட உயரம்: {STRING}
|
||||||
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :இந்த வரைபடத்திலுள்ள மலைகளின் அதிகபட்ச உயரத்தினை அமை
|
STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :இந்த வரைபடத்திலுள்ள மலைகளின் அதிகபட்ச உயரத்தினை அமை
|
||||||
|
STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE} அதிகபட்ச வரைபட உயரமாக இந்த மதிப்பை நீங்கள் தர இயலாது. வரைபடத்தில் குறைந்தது ஒரு மலையாவது இந்த மதிப்பை விட உயரமாக உள்ளது
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE :நகரத்தின் சாலைகள், பாலங்கள் மற்றும் சுரங்கங்களை நீக்க அனுமதிக்கவும்: {STRING}
|
STR_CONFIG_SETTING_EXTRADYNAMITE :நகரத்தின் சாலைகள், பாலங்கள் மற்றும் சுரங்கங்களை நீக்க அனுமதிக்கவும்: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :நகராட்சியின் கட்டடங்கள் நீக்குவதை எளிதாக்கவும்
|
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :நகராட்சியின் கட்டடங்கள் நீக்குவதை எளிதாக்கவும்
|
||||||
STR_CONFIG_SETTING_TRAIN_LENGTH :இரயில்களின் அதிகபட்ச நீளம்: {STRING}
|
STR_CONFIG_SETTING_TRAIN_LENGTH :இரயில்களின் அதிகபட்ச நீளம்: {STRING}
|
||||||
|
@@ -236,6 +236,8 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Süzme k
|
|||||||
STR_BUTTON_SORT_BY :{BLACK}Sırala
|
STR_BUTTON_SORT_BY :{BLACK}Sırala
|
||||||
STR_BUTTON_LOCATION :{BLACK}Göster
|
STR_BUTTON_LOCATION :{BLACK}Göster
|
||||||
STR_BUTTON_RENAME :{BLACK}Yeni ad
|
STR_BUTTON_RENAME :{BLACK}Yeni ad
|
||||||
|
STR_BUTTON_CATCHMENT :{BLACK}Kapsama alanı
|
||||||
|
STR_TOOLTIP_CATCHMENT :{BLACK}Kapsama alanını göstermeyi aç/kapa
|
||||||
|
|
||||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Pencereyi kapat
|
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Pencereyi kapat
|
||||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Pencere başlığı - pencereyi hareket ettirmek için sürükle
|
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Pencere başlığı - pencereyi hareket ettirmek için sürükle
|
||||||
@@ -264,6 +266,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Bu düğ
|
|||||||
STR_BUTTON_DEFAULT :{BLACK}Varsayılan
|
STR_BUTTON_DEFAULT :{BLACK}Varsayılan
|
||||||
STR_BUTTON_CANCEL :{BLACK}İptal
|
STR_BUTTON_CANCEL :{BLACK}İptal
|
||||||
STR_BUTTON_OK :{BLACK}Tamam
|
STR_BUTTON_OK :{BLACK}Tamam
|
||||||
|
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Uyarı: Sunucu yöneticileri buraya yazılan yazıları okuyabilir.
|
||||||
|
|
||||||
# On screen keyboard window
|
# On screen keyboard window
|
||||||
STR_OSK_KEYBOARD_LAYOUT :"1234567890*-\qwertyuıopğüasdfghjklşi,' zxcvbnmöç. .
|
STR_OSK_KEYBOARD_LAYOUT :"1234567890*-\qwertyuıopğüasdfghjklşi,' zxcvbnmöç. .
|
||||||
@@ -337,6 +340,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Yakınla
|
|||||||
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Uzaklaş
|
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Uzaklaş
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Demiryolu yapımı
|
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Demiryolu yapımı
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Karayolu yapımı
|
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Karayolu yapımı
|
||||||
|
STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Tramvay inşa et
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Rıhtım yapımı
|
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Rıhtım yapımı
|
||||||
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Havalimanı yapımı
|
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Havalimanı yapımı
|
||||||
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Arazi düzenleme araç çubuğunu aç (ağaç dikme, alçaltma/yükseltme vb. için).
|
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Arazi düzenleme araç çubuğunu aç (ağaç dikme, alçaltma/yükseltme vb. için).
|
||||||
@@ -357,6 +361,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Peyzaj y
|
|||||||
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Şehir yapımı
|
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Şehir yapımı
|
||||||
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Fabrika yapımı
|
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Fabrika yapımı
|
||||||
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Yol yapımı
|
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Yol yapımı
|
||||||
|
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK} Tramvay yapımı
|
||||||
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Ağaç dik. Shift ile tıklama maliyet tahminini gösterir
|
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Ağaç dik. Shift ile tıklama maliyet tahminini gösterir
|
||||||
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Tabela koy
|
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Tabela koy
|
||||||
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Nesneyi yerleştirin. Shift ile tıklama maliyet tahminini gösterir
|
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Nesneyi yerleştirin. Shift ile tıklama maliyet tahminini gösterir
|
||||||
@@ -860,6 +865,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
|
|||||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Yeni {STRING} artık kullanılabilir! - {ENGINE}
|
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Yeni {STRING} artık kullanılabilir! - {ENGINE}
|
||||||
|
|
||||||
|
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Aracın grubuna odaklanmış grup penceresini açın
|
||||||
|
|
||||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} artık {STRING} kabul etmiyor
|
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} artık {STRING} kabul etmiyor
|
||||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} artık {STRING} veya {STRING} kabul etmiyor
|
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} artık {STRING} veya {STRING} kabul etmiyor
|
||||||
@@ -927,6 +933,10 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Gürcistan Lari
|
|||||||
STR_GAME_OPTIONS_CURRENCY_IRR :İran Riyali (IRR)
|
STR_GAME_OPTIONS_CURRENCY_IRR :İran Riyali (IRR)
|
||||||
STR_GAME_OPTIONS_CURRENCY_RUB :Yeni Rus Rublesi (RUB)
|
STR_GAME_OPTIONS_CURRENCY_RUB :Yeni Rus Rublesi (RUB)
|
||||||
STR_GAME_OPTIONS_CURRENCY_MXN :Meksika Pezosu (MXN)
|
STR_GAME_OPTIONS_CURRENCY_MXN :Meksika Pezosu (MXN)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_NTD :Yeni Tayvan Doları (NTD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_CNY :Çin Yuanı (CNY)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Doları (HKD)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_INR :Hindistan Rupisi (INR)
|
||||||
############ end of currency region
|
############ end of currency region
|
||||||
|
|
||||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Karayolu taşıtları
|
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Karayolu taşıtları
|
||||||
@@ -989,10 +999,12 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
|||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :İki kat büyük
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :İki kat büyük
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Dört kat büyük
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Dört kat büyük
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Yazı boyutu
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :Arayüz boyutunu seç
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :Arayüz boyutunu seç
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Yazı iki kat büyük
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Yazı iki kat büyük
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Dört kat büyük
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Temel grafik kümesi
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Temel grafik kümesi
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kullanılacak temel grafik kümesini seçin
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kullanılacak temel grafik kümesini seçin
|
||||||
@@ -1176,6 +1188,8 @@ STR_CONFIG_SETTING_AUTOSLOPE :Binaların, yol
|
|||||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Binaları ve yolları kaldırmaksızın altlarında yeryüzü şekillendirmesi yapılmasına izin ver
|
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Binaları ve yolları kaldırmaksızın altlarında yeryüzü şekillendirmesi yapılmasına izin ver
|
||||||
STR_CONFIG_SETTING_CATCHMENT :İstasyon kapsama alanlarının daha gerçeğe yakın ölçülerde olmasına izin ver: {STRING}
|
STR_CONFIG_SETTING_CATCHMENT :İstasyon kapsama alanlarının daha gerçeğe yakın ölçülerde olmasına izin ver: {STRING}
|
||||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Farklı istasyon ve hava limanları için farklı büyüklükte alanlar gerekir
|
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Farklı istasyon ve hava limanları için farklı büyüklükte alanlar gerekir
|
||||||
|
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Şirket istasyonları, bağlı nötr istasyonları olan endüstrilere hizmet edebilir: {STRING}
|
||||||
|
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Etkinleştirildiğinde, bağlı istasyonları olan endüstrilere (Petrol Kuleleri gibi) yakınlarda kurulan şirkete ait istasyonlar da hizmet verebilir. Devre dışı bırakıldığında, bu sektörlere yalnızca bağlı istasyonları tarafından hizmet verilebilir. Yakındaki herhangi bir şirket istasyonu onlara hizmet veremeyecek ve ekli istasyon sektör dışında başka bir şeye hizmet etmeyecek
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Şehirlere ait köprülerin, yolların ve tünellerin yıkılmasına izin vermeleri için, şehir yetkililerinin toleransını arttır: {STRING}
|
STR_CONFIG_SETTING_EXTRADYNAMITE :Şehirlere ait köprülerin, yolların ve tünellerin yıkılmasına izin vermeleri için, şehir yetkililerinin toleransını arttır: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Belediyelerin sahip olduğu altyapı ve binaların yıkımını kolaylaştır
|
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Belediyelerin sahip olduğu altyapı ve binaların yıkımını kolaylaştır
|
||||||
STR_CONFIG_SETTING_TRAIN_LENGTH :En yüksek tren uzunluğu: {STRING}
|
STR_CONFIG_SETTING_TRAIN_LENGTH :En yüksek tren uzunluğu: {STRING}
|
||||||
@@ -1297,6 +1311,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Şehir nüfusun
|
|||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Haritadaki şehir etiketlerinde nüfus bilgisini görüntüle
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Haritadaki şehir etiketlerinde nüfus bilgisini görüntüle
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grafiklerdeki çizgi kalınlığı: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grafiklerdeki çizgi kalınlığı: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grafiklerdeki çizginin genişliği. İnce çizgiler daha hassas şekilde okunabilir, koyu çizgileri ise görmek ve renklerini ayırt etmek daha kolay olur.
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grafiklerdeki çizginin genişliği. İnce çizgiler daha hassas şekilde okunabilir, koyu çizgileri ise görmek ve renklerini ayırt etmek daha kolay olur.
|
||||||
|
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :NewGRF'nin adını araç inşa penceresinde göster: {STRING}
|
||||||
|
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Araç inşa penceresine, seçilen aracın hangi NewGRF'den geldiğini gösteren bir satır ekleyin.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :İklim: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :İklim: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :İklimler farklı kargo ve şehir gelişme gereksinimlerini belirleyen temel oynanış senaryolarını tanımlar. NewGRF ve Oyun Betikleri daha ince ayarlar yapmanızı sağlar
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :İklimler farklı kargo ve şehir gelişme gereksinimlerini belirleyen temel oynanış senaryolarını tanımlar. NewGRF ve Oyun Betikleri daha ince ayarlar yapmanızı sağlar
|
||||||
@@ -1473,6 +1489,9 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Çok oyunculuda
|
|||||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :YZ (yapay zeka) bilgisayar oyuncularının çok oyunculu oyunlara katılmasına izin ver
|
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :YZ (yapay zeka) bilgisayar oyuncularının çok oyunculu oyunlara katılmasına izin ver
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Betikler duraklatılıncaya kadar çalıştırılacak opkod sayısı: {STRING}
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Betikler duraklatılıncaya kadar çalıştırılacak opkod sayısı: {STRING}
|
||||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Bir betiğin bir elde kullanabileceği azami hesaplama adımı sayısı
|
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Bir betiğin bir elde kullanabileceği azami hesaplama adımı sayısı
|
||||||
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Script başına kullanılabilecek maksimum bellek: {STRING}
|
||||||
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Tek bir betiğin zorla durdurulmadan önce ne kadar bellek kullanabileceğini gösterir. Bu değerin büyük haritalarda arttırılması gerekebilir.
|
||||||
|
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servis gecikmeleri yüzde ile: {STRING}
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servis gecikmeleri yüzde ile: {STRING}
|
||||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Araçlara bakım yapılmasına bir önceki bakımın üzerinden geçen zamana göre mi, yoksa aracın güvenilirlik değerinin azami güvenilirliğe kıyasla belli bir yüzde oranında düşmesine bağlı olarak mı karar verileceğini seçin
|
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Araçlara bakım yapılmasına bir önceki bakımın üzerinden geçen zamana göre mi, yoksa aracın güvenilirlik değerinin azami güvenilirliğe kıyasla belli bir yüzde oranında düşmesine bağlı olarak mı karar verileceğini seçin
|
||||||
@@ -1531,10 +1550,16 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Tam
|
|||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Renkli gazete şu senede çıksın: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Renkli gazete şu senede çıksın: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Gazete haberlerinin renkli olarak basılmaya başlandığı yıl. Bu tarihe kadar gazete siyah/beyaz olarak basılır
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Gazete haberlerinin renkli olarak basılmaya başlandığı yıl. Bu tarihe kadar gazete siyah/beyaz olarak basılır
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Başlangıç tarihi: {STRING}
|
STR_CONFIG_SETTING_STARTING_YEAR :Başlangıç tarihi: {STRING}
|
||||||
|
STR_CONFIG_SETTING_ENDING_YEAR :Yıl sonu puanı: {STRING}
|
||||||
|
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Oyunun puan sonucuna göre bittiği yıl. Bu yılın sonunda, şirketin puanı kaydedilir ve yüksek puan ekranında gösterilir ama oyuncular oynamaya devam edebilir.{}Eğer bu başlama yılından önce ise, yüksek puan ekranı gösterilmez.
|
||||||
|
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||||
|
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Asla
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Yüzeysel ekonomi (daha çok ve küçük çapta değişiklikler): {STRING}
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Yüzeysel ekonomi (daha çok ve küçük çapta değişiklikler): {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Etkinleştirildiğinde, endüstri üretim miktarı daha sık ve daha küçük adımlarla değişir. Eğer endüstriler bir NewGRF dosyası tarafından sağlanıyorsa bu özellik genellikle etkisiz kalır
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Etkinleştirildiğinde, endüstri üretim miktarı daha sık ve daha küçük adımlarla değişir. Eğer endüstriler bir NewGRF dosyası tarafından sağlanıyorsa bu özellik genellikle etkisiz kalır
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Diğer şirketlerin hisseleri alınabilsin: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Diğer şirketlerin hisseleri alınabilsin: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Etkinleştirildiğinde, şirketlerin hisse senetlerinin alınıp satılması mümkün olur. Hisse senetleri sadece belli bir yaşa ulaşan şirketler için geçerlidir
|
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Etkinleştirildiğinde, şirketlerin hisse senetlerinin alınıp satılması mümkün olur. Hisse senetleri sadece belli bir yaşa ulaşan şirketler için geçerlidir
|
||||||
|
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Hisse satmak için gerekli minimum şirket yaşı: {STRING}
|
||||||
|
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Bir şirketin hisselerinin satılabileceği ve diğer şirketlerin alabileceği minimum şirket yaşını belirleyin.
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Besleme sistemlerinde, bölümlerden elde edilen kardan ödenecek yüzde: {STRING}
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Besleme sistemlerinde, bölümlerden elde edilen kardan ödenecek yüzde: {STRING}
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Besleme sistemlerinde, sistemi oluşturan ara bölümlere verilen kar yüzdesi. Böylece kar miktarı üzerinde daha fazla kontrol elde edilmiş olur
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Besleme sistemlerinde, sistemi oluşturan ara bölümlere verilen kar yüzdesi. Böylece kar miktarı üzerinde daha fazla kontrol elde edilmiş olur
|
||||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Fare sürüklendiğinde sinyal yerleştirme sıklığı: {STRING}
|
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Fare sürüklendiğinde sinyal yerleştirme sıklığı: {STRING}
|
||||||
@@ -1575,6 +1600,10 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Bu seçeneği e
|
|||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Yasak
|
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Yasak
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :İzin verildi
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :İzin verildi
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :İzin verildi, özel kasaba yerleşimi
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :İzin verildi, özel kasaba yerleşimi
|
||||||
|
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Şehrin kargo üretimi: {STRING}
|
||||||
|
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Şehrin genel nüfusuna oranla, şehirlerdeki evler tarafından ne kadar kargo üretiliyor.{}Üstel büyüme: İki katı büyüklükteki bir şehir dört katı büyüklükte yolcuya sahip olur.{}Lineer büyüme: İki katı büyüklükteki bir şehir iki katı büyüklükte yolcuya sahip olur.
|
||||||
|
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :İkinci dereceden (orjinall)
|
||||||
|
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Doğrusal
|
||||||
|
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Oyunda ağaç dikme: {STRING}
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Oyunda ağaç dikme: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Oyundaki rastgele ağaçların görünümünü kontrol eder. Bu, ağaçların büyümesine bağımlı olan endüstrileri etkileyebilir, örneğin keresteciler gibi
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Oyundaki rastgele ağaçların görünümünü kontrol eder. Bu, ağaçların büyümesine bağımlı olan endüstrileri etkileyebilir, örneğin keresteciler gibi
|
||||||
@@ -2138,6 +2167,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Yanlış
|
|||||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Sunucu dolu
|
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Sunucu dolu
|
||||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sunucuya girmeniz yasaklandı
|
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sunucuya girmeniz yasaklandı
|
||||||
STR_NETWORK_ERROR_KICKED :{WHITE}Oyundan atıldınız
|
STR_NETWORK_ERROR_KICKED :{WHITE}Oyundan atıldınız
|
||||||
|
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Sebep: {STRING}
|
||||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Bu sunucuda hileler kapalı
|
STR_NETWORK_ERROR_CHEATER :{WHITE}Bu sunucuda hileler kapalı
|
||||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Sunucuya çok fazla komut gönderiyordunuz
|
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Sunucuya çok fazla komut gönderiyordunuz
|
||||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Şifre girmeniz çok uzun sürdü
|
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Şifre girmeniz çok uzun sürdü
|
||||||
@@ -2197,6 +2227,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ş
|
|||||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {1:STRING} oyuncusuna {2:CURRENCY_LONG} verdiniz
|
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** {1:STRING} oyuncusuna {2:CURRENCY_LONG} verdiniz
|
||||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Sunucu kapandı
|
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Sunucu kapandı
|
||||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Sunucu baştan başlatılıyor...{}Lütfen bekleyin...
|
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Sunucu baştan başlatılıyor...{}Lütfen bekleyin...
|
||||||
|
STR_NETWORK_MESSAGE_KICKED :*** {STRING} atıldı. Sebep: ({STRING})
|
||||||
|
|
||||||
# Content downloading window
|
# Content downloading window
|
||||||
STR_CONTENT_TITLE :{WHITE}İçerik indirme
|
STR_CONTENT_TITLE :{WHITE}İçerik indirme
|
||||||
@@ -2414,7 +2445,11 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Tünel Y
|
|||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Tramvay tüneli yap. Shift ile tıklama maliyet tahminini gösterir
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Tramvay tüneli yap. Shift ile tıklama maliyet tahminini gösterir
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Yol yap/sil arasında geçiş yap
|
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Yol yap/sil arasında geçiş yap
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Tramvay yapımı/yıkımı
|
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Tramvay yapımı/yıkımı
|
||||||
|
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Yol türünü Dönüştür/Geliştir. Shift ile tıklama maliyet tahminini gösterir
|
||||||
|
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Tramvay türünü dönüştür / yükselt. Shift'e basma maliyet tahmini gösterir.
|
||||||
|
|
||||||
|
STR_ROAD_NAME_ROAD :Yol
|
||||||
|
STR_ROAD_NAME_TRAM :Tramvay
|
||||||
|
|
||||||
# Road depot construction window
|
# Road depot construction window
|
||||||
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Garaj Yönü
|
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Garaj Yönü
|
||||||
@@ -2599,8 +2634,11 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
|
|||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}İstenen: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}İstenen: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Ray türü: {LTBLUE}{STRING}
|
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Ray türü: {LTBLUE}{STRING}
|
||||||
|
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Yol türü: {LTBLUE}{STRING}
|
||||||
|
STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Tramvay tipi: {LTBLUE}{STRING}
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Ray hız sınırı: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Ray hız sınırı: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Yol hız sınırı: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Yol hız sınırı: {LTBLUE}{VELOCITY}
|
||||||
|
STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Tramvay hız limiti: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
# Description of land area of different tiles
|
# Description of land area of different tiles
|
||||||
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Kayalar
|
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Kayalar
|
||||||
@@ -2710,6 +2748,7 @@ STR_FRAMERATE_SPEED_FACTOR :{BLACK}Şu anki
|
|||||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beklenen normal simülasyon hızı yerine, şu anda oyunun ne kadar hızlı çalıştığı.
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beklenen normal simülasyon hızı yerine, şu anda oyunun ne kadar hızlı çalıştığı.
|
||||||
STR_FRAMERATE_CURRENT :{WHITE}Geçerli
|
STR_FRAMERATE_CURRENT :{WHITE}Geçerli
|
||||||
STR_FRAMERATE_AVERAGE :{WHITE}Ortalama
|
STR_FRAMERATE_AVERAGE :{WHITE}Ortalama
|
||||||
|
STR_FRAMERATE_MEMORYUSE :{WHITE}Bellek
|
||||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Veriler {COMMA} ölçümlerine dayanır
|
STR_FRAMERATE_DATA_POINTS :{BLACK}Veriler {COMMA} ölçümlerine dayanır
|
||||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
||||||
@@ -2717,6 +2756,9 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}
|
|||||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} kare/s
|
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} kare/s
|
||||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} kare/s
|
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} kare/s
|
||||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} kare/s
|
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} kare/s
|
||||||
|
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
||||||
|
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
|
||||||
|
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
|
||||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
@@ -2732,7 +2774,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Grafik i
|
|||||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Dünya görüş alanları:
|
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Dünya görüş alanları:
|
||||||
STR_FRAMERATE_VIDEO :{BLACK}Video çıkışı:
|
STR_FRAMERATE_VIDEO :{BLACK}Video çıkışı:
|
||||||
STR_FRAMERATE_SOUND :{BLACK}Ses karıştırma:
|
STR_FRAMERATE_SOUND :{BLACK}Ses karıştırma:
|
||||||
|
STR_FRAMERATE_ALLSCRIPTS :{BLACK} Oyun Betiği/Yapay Zeka toplam:
|
||||||
STR_FRAMERATE_GAMESCRIPT :Oyun scripti
|
STR_FRAMERATE_GAMESCRIPT :Oyun scripti
|
||||||
|
STR_FRAMERATE_AI :{BLACK} YZ {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
STR_FRAMETIME_CAPTION_GAMELOOP :Oyun döngüsü
|
STR_FRAMETIME_CAPTION_GAMELOOP :Oyun döngüsü
|
||||||
@@ -2747,6 +2791,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Grafik işleme
|
|||||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Dünya görüş alanı derleme
|
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Dünya görüş alanı derleme
|
||||||
STR_FRAMETIME_CAPTION_VIDEO :Video çıkışı
|
STR_FRAMETIME_CAPTION_VIDEO :Video çıkışı
|
||||||
STR_FRAMETIME_CAPTION_SOUND :Ses karıştırma
|
STR_FRAMETIME_CAPTION_SOUND :Ses karıştırma
|
||||||
|
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Oyun Betiği/Yapay Zeka betikleri toplam
|
||||||
|
STR_FRAMETIME_CAPTION_GAMESCRIPT :Oyun betiği
|
||||||
|
STR_FRAMETIME_CAPTION_AI :YZ {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -3011,6 +3058,7 @@ STR_NEWGRF_BUGGY :{WHITE}NewGRF '
|
|||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}'{1:ENGINE}' için kargo tür değişim bilgisi yapımdan sonraki alım listesinden farklı. Bu otomatik yenileme-değiştirmenin kargo türünü doğru şekilde değiştirmesine engel olabilir
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}'{1:ENGINE}' için kargo tür değişim bilgisi yapımdan sonraki alım listesinden farklı. Bu otomatik yenileme-değiştirmenin kargo türünü doğru şekilde değiştirmesine engel olabilir
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' üretim yordamında sonsuz döngüye neden oldu
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' üretim yordamında sonsuz döngüye neden oldu
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}{1:HEX} adlı callback hata ya da geçersiz sonuç döndü {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}{1:HEX} adlı callback hata ya da geçersiz sonuç döndü {2:HEX}
|
||||||
|
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' üretim geri çağırımında, geçerli olmayan kargo türü geri döndü {2:HEX}
|
||||||
|
|
||||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||||
STR_NEWGRF_INVALID_CARGO :<geçersiz kargo>
|
STR_NEWGRF_INVALID_CARGO :<geçersiz kargo>
|
||||||
@@ -3077,6 +3125,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :İsim değişti
|
|||||||
|
|
||||||
# Town local authority window
|
# Town local authority window
|
||||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} belediyesi
|
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} belediyesi
|
||||||
|
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Bölge
|
||||||
|
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Bölgeyi yerel yönetim sınırları içinde göster
|
||||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Taşıma şirketi değerlendirmeleri:
|
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Taşıma şirketi değerlendirmeleri:
|
||||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Yapılabilecekler:
|
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Yapılabilecekler:
|
||||||
@@ -3336,6 +3386,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY
|
|||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Demiryolu parçaları:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Demiryolu parçaları:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Sinyaller
|
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Sinyaller
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Karayolu parçaları:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Karayolu parçaları:
|
||||||
|
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Tramvay parçaları:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Su kareleri:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Su kareleri:
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanallar
|
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanallar
|
||||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}İstasyonlar:
|
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}İstasyonlar:
|
||||||
@@ -3346,8 +3397,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
|
|||||||
# Industry directory
|
# Industry directory
|
||||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Fabrikalar
|
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Fabrikalar
|
||||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Hiçbiri -
|
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Hiçbiri -
|
||||||
|
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% taşındı){BLACK}
|
||||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||||
|
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
|
||||||
|
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
|
||||||
|
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||||
|
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} ve {NUM} daha...
|
||||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Fabrika adları - görüntüyü fabrikada merkezlemek için adına tıklayın. Ctrl ile tıklama fabrikanın konumunu gösteren yeni bir pencere açar
|
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Fabrika adları - görüntüyü fabrikada merkezlemek için adına tıklayın. Ctrl ile tıklama fabrikanın konumunu gösteren yeni bir pencere açar
|
||||||
|
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Kabul edilen kargo: {SILVER}{STRING}
|
||||||
|
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Üretilmiş kargo: {SILVER}{STRING}
|
||||||
|
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Tüm kargo tipleri
|
||||||
|
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Hiçbiri
|
||||||
|
|
||||||
# Industry view
|
# Industry view
|
||||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||||
@@ -3413,6 +3473,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Gruplanmamış
|
|||||||
STR_GROUP_DEFAULT_SHIPS :Gruplanmamış gemiler
|
STR_GROUP_DEFAULT_SHIPS :Gruplanmamış gemiler
|
||||||
STR_GROUP_DEFAULT_AIRCRAFTS :Gruplanmamış uçaklar
|
STR_GROUP_DEFAULT_AIRCRAFTS :Gruplanmamış uçaklar
|
||||||
|
|
||||||
|
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
|
||||||
|
|
||||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruplar - gruba ait araçları listelemek için grubun üzerine tıklayın. Hiyerarşiyi düzenlemek için grupları sürükleyip bırakın.
|
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruplar - gruba ait araçları listelemek için grubun üzerine tıklayın. Hiyerarşiyi düzenlemek için grupları sürükleyip bırakın.
|
||||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Grup oluşturmak için tıklayın
|
STR_GROUP_CREATE_TOOLTIP :{BLACK}Grup oluşturmak için tıklayın
|
||||||
@@ -3441,14 +3502,17 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Yeni Monoray
|
|||||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Yeni Maglev
|
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Yeni Maglev
|
||||||
|
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Yeni Karayolu Araçları
|
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Yeni Karayolu Araçları
|
||||||
|
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Yeni Tramvay Araçları
|
||||||
|
|
||||||
############ range for vehicle availability starts
|
############ range for vehicle availability starts
|
||||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Trenler
|
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Trenler
|
||||||
|
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Yeni yol araçları
|
||||||
STR_BUY_VEHICLE_SHIP_CAPTION :Yeni gemi
|
STR_BUY_VEHICLE_SHIP_CAPTION :Yeni gemi
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Yeni Hava Aracı
|
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Yeni Hava Aracı
|
||||||
############ range for vehicle availability ends
|
############ range for vehicle availability ends
|
||||||
|
|
||||||
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Fiyat: {GOLD}{CURRENCY_LONG}{BLACK} Ağırlık: {GOLD}{WEIGHT_SHORT}
|
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Fiyat: {GOLD}{CURRENCY_LONG}{BLACK} Ağırlık: {GOLD}{WEIGHT_SHORT}
|
||||||
|
STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Maliyet: {GOLD}{CURRENCY_LONG}{BLACK} (Tamir maliyeti: {GOLD}{CURRENCY_LONG}{BLACK}) Ağırlık: {GOLD}{WEIGHT_SHORT}
|
||||||
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Hız: {GOLD}{VELOCITY}{BLACK} Güç: {GOLD}{POWER}
|
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Hız: {GOLD}{VELOCITY}{BLACK} Güç: {GOLD}{POWER}
|
||||||
STR_PURCHASE_INFO_SPEED :{BLACK}Hız: {GOLD}{VELOCITY}
|
STR_PURCHASE_INFO_SPEED :{BLACK}Hız: {GOLD}{VELOCITY}
|
||||||
STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Okyanus hızı: {GOLD}{VELOCITY}
|
STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Okyanus hızı: {GOLD}{VELOCITY}
|
||||||
@@ -3459,8 +3523,10 @@ STR_PURCHASE_INFO_REFITTABLE :(modifiyeli)
|
|||||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Yapım yılı: {GOLD}{NUM}{BLACK} Ömür: {GOLD}{COMMA} sene
|
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Yapım yılı: {GOLD}{NUM}{BLACK} Ömür: {GOLD}{COMMA} sene
|
||||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Aza. Güvenilirlik: {GOLD}%{COMMA}
|
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Aza. Güvenilirlik: {GOLD}%{COMMA}
|
||||||
STR_PURCHASE_INFO_COST :{BLACK}Fiyat: {GOLD}{CURRENCY_LONG}
|
STR_PURCHASE_INFO_COST :{BLACK}Fiyat: {GOLD}{CURRENCY_LONG}
|
||||||
|
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Maliyet: {GOLD}{CURRENCY_LONG}{BLACK} (Tamirat Maliyeti: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Ağırlık: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Ağırlık: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Fiyat: {GOLD}{CURRENCY_LONG}{BLACK} Hız: {GOLD}{VELOCITY}
|
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Fiyat: {GOLD}{CURRENCY_LONG}{BLACK} Hız: {GOLD}{VELOCITY}
|
||||||
|
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Maliyet: {GOLD}{CURRENCY_LONG}{BLACK} (Tamir maliyeti: {GOLD}{CURRENCY_LONG}{BLACK}) Hız: {GOLD}{VELOCITY}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapasite: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapasite: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Güç Veren Vagonlar: {GOLD}+{POWER}{BLACK} Ağırlık: {GOLD}+{WEIGHT_SHORT}
|
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Güç Veren Vagonlar: {GOLD}+{POWER}{BLACK} Ağırlık: {GOLD}+{WEIGHT_SHORT}
|
||||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Dönüştürülebildiği kargolar: {GOLD}{STRING}
|
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Dönüştürülebildiği kargolar: {GOLD}{STRING}
|
||||||
@@ -3481,12 +3547,20 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Araç Sa
|
|||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Gemi Satın Al
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Gemi Satın Al
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Uçak Satın Al
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Uçak Satın Al
|
||||||
|
|
||||||
|
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Araç satın alın ve yenileyin.
|
||||||
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Aracı satın alın ve yenileyin.
|
||||||
|
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Gemi satın al ve yenile
|
||||||
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Uçağı satın al veya sahip olduğunla değiştir.
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Seçili treni satın al. Shift ile tıklama satın almadan tahmini maliyeti gösterir.
|
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Seçili treni satın al. Shift ile tıklama satın almadan tahmini maliyeti gösterir.
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}İşaretli aracı al. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}İşaretli aracı al. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
||||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Seçili gemiyi satın al. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Seçili gemiyi satın al. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Seçili uçağı satın al. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Seçili uçağı satın al. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
||||||
|
|
||||||
|
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Gösterilen treni satın al. Shift+Click satın almadan tahmini maliyeti gösterir
|
||||||
|
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Seçili karayolu aracını satın alın. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
||||||
|
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Seçili gemiyi satın al. Shift ile tıklama satın almadan tahmini maliyeti gösterir
|
||||||
|
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Seçili uçağı satın al. Shift ile tıklama satın almanın tahmini maliyetini gösterir
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Yeni isim
|
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Yeni isim
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}İsim
|
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}İsim
|
||||||
@@ -3598,10 +3672,12 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Araç ü
|
|||||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Yeni bir {STRING} tasarladık - bizim için bunu bir yıl denemeyi kabul ediyor musunuz?
|
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Yeni bir {STRING} tasarladık - bizim için bunu bir yıl denemeyi kabul ediyor musunuz?
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :lokomotif
|
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :lokomotif
|
||||||
|
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :Elektrikli demiryolu lokomotifi
|
||||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monoray lokomotifi
|
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monoray lokomotifi
|
||||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomotifi
|
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomotifi
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :karayolu aracı
|
STR_ENGINE_PREVIEW_ROAD_VEHICLE :karayolu aracı
|
||||||
|
STR_ENGINE_PREVIEW_TRAM_VEHICLE :Tramvay aracı
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_AIRCRAFT :uçak
|
STR_ENGINE_PREVIEW_AIRCRAFT :uçak
|
||||||
STR_ENGINE_PREVIEW_SHIP :gemi
|
STR_ENGINE_PREVIEW_SHIP :gemi
|
||||||
@@ -3643,14 +3719,18 @@ STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Lokomoti
|
|||||||
STR_REPLACE_ENGINES :Lokomotifler
|
STR_REPLACE_ENGINES :Lokomotifler
|
||||||
STR_REPLACE_WAGONS :Vagon
|
STR_REPLACE_WAGONS :Vagon
|
||||||
STR_REPLACE_ALL_RAILTYPE :Tüm demiryolu araçları
|
STR_REPLACE_ALL_RAILTYPE :Tüm demiryolu araçları
|
||||||
|
STR_REPLACE_ALL_ROADTYPE :Tüm karayolu araçları
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Lokomatiflerini değiştireceğiniz ray türünü seçin
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Lokomatiflerini değiştireceğiniz ray türünü seçin
|
||||||
|
STR_REPLACE_HELP_ROADTYPE :{BLACK}Motorlarını değiştirmek istediğin yol tipini seç
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Soldaki değiştiriliyorsa neyle değiştirildiğini göster
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Soldaki değiştiriliyorsa neyle değiştirildiğini göster
|
||||||
STR_REPLACE_RAIL_VEHICLES :Demiryolu Araçları
|
STR_REPLACE_RAIL_VEHICLES :Demiryolu Araçları
|
||||||
STR_REPLACE_ELRAIL_VEHICLES :Elektrikli Trenler
|
STR_REPLACE_ELRAIL_VEHICLES :Elektrikli Trenler
|
||||||
STR_REPLACE_MONORAIL_VEHICLES :Monoray Araçları
|
STR_REPLACE_MONORAIL_VEHICLES :Monoray Araçları
|
||||||
STR_REPLACE_MAGLEV_VEHICLES :Maglev Araçları
|
STR_REPLACE_MAGLEV_VEHICLES :Maglev Araçları
|
||||||
|
|
||||||
|
STR_REPLACE_ROAD_VEHICLES :Yol Araçları
|
||||||
|
STR_REPLACE_TRAM_VEHICLES :Tramvay Araçları
|
||||||
|
|
||||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Vagon kaldırma: {ORANGE}{STRING}
|
STR_REPLACE_REMOVE_WAGON :{BLACK}Vagon kaldırma: {ORANGE}{STRING}
|
||||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Otomatik yenilemede tren boyutunun artması gerekiyorsa vagonları kaldır (en önden başlayarak yeterli sayıda vagon silinir)
|
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Otomatik yenilemede tren boyutunun artması gerekiyorsa vagonları kaldır (en önden başlayarak yeterli sayıda vagon silinir)
|
||||||
@@ -4102,6 +4182,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vurgulan
|
|||||||
STR_AI_LIST_CANCEL :{BLACK}İptal
|
STR_AI_LIST_CANCEL :{BLACK}İptal
|
||||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Betiği değiştirme
|
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Betiği değiştirme
|
||||||
|
|
||||||
|
STR_SCREENSHOT_CAPTION :{WHITE}Ekran görüntüsü al
|
||||||
|
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normal ekran görüntüsü
|
||||||
|
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Ekran görüntüsünü tamamen yakınlaştırdı
|
||||||
|
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Varsayılan yakınlıkta ekran görüntüsü
|
||||||
|
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Tüm haritanın ekran görüntüsünü al
|
||||||
|
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Yükseklik haritası ekran görüntüsü
|
||||||
|
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Küçük harita ekran görüntüsü
|
||||||
|
|
||||||
# AI Parameters
|
# AI Parameters
|
||||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametreler
|
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametreler
|
||||||
@@ -4375,6 +4462,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Uygun ra
|
|||||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Önce ray kaldırılmalı
|
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Önce ray kaldırılmalı
|
||||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Yol tek yönlü veya kapalı
|
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Yol tek yönlü veya kapalı
|
||||||
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Bu ray türü için hemzemin geçit yapılamaz
|
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Bu ray türü için hemzemin geçit yapılamaz
|
||||||
|
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Hemzemin geçite bu yol tipinde izin verilmemektedir.
|
||||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Buraya sinyal yapılamıyor...
|
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Buraya sinyal yapılamıyor...
|
||||||
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Buraya ray yapılamıyor...
|
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Buraya ray yapılamıyor...
|
||||||
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Buradan ray kaldırılamıyor...
|
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Buradan ray kaldırılamıyor...
|
||||||
@@ -4394,6 +4482,11 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Yol bura
|
|||||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Tramvay kaldırılamaz...
|
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Tramvay kaldırılamaz...
|
||||||
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... karayolu yok
|
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... karayolu yok
|
||||||
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... tramvay yolu yok
|
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... tramvay yolu yok
|
||||||
|
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Buradaki yol tipi değiştirilemiyor...
|
||||||
|
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Tramvay türünü burada değiştiremezsiniz
|
||||||
|
STR_ERROR_NO_SUITABLE_ROAD :{WHITE} Uygun yol yok
|
||||||
|
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Uygun olmayan tramvay
|
||||||
|
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... uyumsuz tramvay
|
||||||
|
|
||||||
# Waterway construction errors
|
# Waterway construction errors
|
||||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Buraya kanal yapılamaz...
|
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Buraya kanal yapılamaz...
|
||||||
@@ -4446,6 +4539,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Grup olu
|
|||||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Bu grup silinemiyor...
|
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Bu grup silinemiyor...
|
||||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Grubun ismi değiştirilemiyor...
|
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Grubun ismi değiştirilemiyor...
|
||||||
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Üst grup ayarlanamıyor...
|
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Üst grup ayarlanamıyor...
|
||||||
|
STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}Grup hiyerarşisinde döngülere izin verilmez
|
||||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Bu gruptaki bütün araçlar çıkartılamıyor...
|
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Bu gruptaki bütün araçlar çıkartılamıyor...
|
||||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Araç bu gruba eklenemiyor...
|
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Araç bu gruba eklenemiyor...
|
||||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Paylaşılan araçlar bu gruba eklenemiyor...
|
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Paylaşılan araçlar bu gruba eklenemiyor...
|
||||||
|
@@ -31,6 +31,8 @@
|
|||||||
#include "tilehighlight_func.h"
|
#include "tilehighlight_func.h"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
#include "guitimer_func.h"
|
#include "guitimer_func.h"
|
||||||
|
#include "error.h"
|
||||||
|
#include "news_gui.h"
|
||||||
|
|
||||||
#include "saveload/saveload.h"
|
#include "saveload/saveload.h"
|
||||||
|
|
||||||
@@ -215,6 +217,8 @@ enum {
|
|||||||
GHK_CHAT_ALL,
|
GHK_CHAT_ALL,
|
||||||
GHK_CHAT_COMPANY,
|
GHK_CHAT_COMPANY,
|
||||||
GHK_CHAT_SERVER,
|
GHK_CHAT_SERVER,
|
||||||
|
GHK_CLOSE_NEWS,
|
||||||
|
GHK_CLOSE_ERROR,
|
||||||
GHK_CHANGE_MAP_MODE_PREV,
|
GHK_CHANGE_MAP_MODE_PREV,
|
||||||
GHK_CHANGE_MAP_MODE_NEXT,
|
GHK_CHANGE_MAP_MODE_NEXT,
|
||||||
};
|
};
|
||||||
@@ -414,6 +418,14 @@ struct MainWindow : Window
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GHK_CLOSE_NEWS: // close active news window
|
||||||
|
if (!HideActiveNewsMessage()) return ES_NOT_HANDLED;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GHK_CLOSE_ERROR: // close active error window
|
||||||
|
if (!HideActiveErrorMessage()) return ES_NOT_HANDLED;
|
||||||
|
break;
|
||||||
|
|
||||||
case GHK_CHANGE_MAP_MODE_PREV:
|
case GHK_CHANGE_MAP_MODE_PREV:
|
||||||
if (_focused_window && _focused_window->viewport && _focused_window->viewport->zoom >= ZOOM_LVL_DRAW_MAP) {
|
if (_focused_window && _focused_window->viewport && _focused_window->viewport->zoom >= ZOOM_LVL_DRAW_MAP) {
|
||||||
ChangeRenderMode(_focused_window->viewport, true);
|
ChangeRenderMode(_focused_window->viewport, true);
|
||||||
@@ -540,6 +552,8 @@ static Hotkey global_hotkeys[] = {
|
|||||||
Hotkey(_ghk_chat_all_keys, "chat_all", GHK_CHAT_ALL),
|
Hotkey(_ghk_chat_all_keys, "chat_all", GHK_CHAT_ALL),
|
||||||
Hotkey(_ghk_chat_company_keys, "chat_company", GHK_CHAT_COMPANY),
|
Hotkey(_ghk_chat_company_keys, "chat_company", GHK_CHAT_COMPANY),
|
||||||
Hotkey(_ghk_chat_server_keys, "chat_server", GHK_CHAT_SERVER),
|
Hotkey(_ghk_chat_server_keys, "chat_server", GHK_CHAT_SERVER),
|
||||||
|
Hotkey(WKC_SPACE, "close_news", GHK_CLOSE_NEWS),
|
||||||
|
Hotkey(WKC_SPACE, "close_error", GHK_CLOSE_ERROR),
|
||||||
Hotkey(WKC_PAGEUP, "previous_map_mode", GHK_CHANGE_MAP_MODE_PREV),
|
Hotkey(WKC_PAGEUP, "previous_map_mode", GHK_CHANGE_MAP_MODE_PREV),
|
||||||
Hotkey(WKC_PAGEDOWN, "next_map_mode", GHK_CHANGE_MAP_MODE_NEXT),
|
Hotkey(WKC_PAGEDOWN, "next_map_mode", GHK_CHANGE_MAP_MODE_NEXT),
|
||||||
HOTKEY_LIST_END
|
HOTKEY_LIST_END
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
if (NOT OPTION_DEDICATED)
|
if(NOT OPTION_DEDICATED)
|
||||||
add_files(
|
add_files(
|
||||||
allegro_m.cpp
|
allegro_m.cpp
|
||||||
allegro_m.h
|
allegro_m.h
|
||||||
@@ -42,7 +42,7 @@ if (NOT OPTION_DEDICATED)
|
|||||||
os2_m.h
|
os2_m.h
|
||||||
CONDITION OPTION_OS2
|
CONDITION OPTION_OS2
|
||||||
)
|
)
|
||||||
endif (NOT OPTION_DEDICATED)
|
endif()
|
||||||
|
|
||||||
add_files(
|
add_files(
|
||||||
midi.h
|
midi.h
|
||||||
|
@@ -519,16 +519,6 @@ struct NewsWindow : Window {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EventState OnKeyPress(WChar key, uint16 keycode) override
|
|
||||||
{
|
|
||||||
if (keycode == WKC_SPACE) {
|
|
||||||
/* Don't continue. */
|
|
||||||
delete this;
|
|
||||||
return ES_HANDLED;
|
|
||||||
}
|
|
||||||
return ES_NOT_HANDLED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Some data on this window has become invalid.
|
* Some data on this window has become invalid.
|
||||||
* @param data Information about the changed data.
|
* @param data Information about the changed data.
|
||||||
@@ -603,7 +593,6 @@ private:
|
|||||||
|
|
||||||
/* static */ int NewsWindow::duration = 0; // Instance creation.
|
/* static */ int NewsWindow::duration = 0; // Instance creation.
|
||||||
|
|
||||||
|
|
||||||
/** Open up an own newspaper window for the news item */
|
/** Open up an own newspaper window for the news item */
|
||||||
static void ShowNewspaper(const NewsItem *ni)
|
static void ShowNewspaper(const NewsItem *ni)
|
||||||
{
|
{
|
||||||
@@ -1032,6 +1021,17 @@ static void ShowNewsMessage(const NewsItem *ni)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close active news message window
|
||||||
|
* @return true if a window was closed.
|
||||||
|
*/
|
||||||
|
bool HideActiveNewsMessage() {
|
||||||
|
NewsWindow *w = (NewsWindow*)FindWindowById(WC_NEWS_WINDOW, 0);
|
||||||
|
if (w == nullptr) return false;
|
||||||
|
delete w;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/** Show previous news item */
|
/** Show previous news item */
|
||||||
void ShowLastNewsMessage()
|
void ShowLastNewsMessage()
|
||||||
{
|
{
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
void ShowLastNewsMessage();
|
void ShowLastNewsMessage();
|
||||||
void ShowMessageHistory();
|
void ShowMessageHistory();
|
||||||
|
bool HideActiveNewsMessage();
|
||||||
|
|
||||||
extern NewsItem *_latest_news;
|
extern NewsItem *_latest_news;
|
||||||
|
|
||||||
|
@@ -1213,7 +1213,22 @@ void SwitchToMode(SwitchMode new_mode)
|
|||||||
MakeNewEditorWorld();
|
MakeNewEditorWorld();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SM_RESTARTGAME: // Restart --> 'Random game' with current settings
|
case SM_RESTARTGAME: // Restart --> Current settings preserved
|
||||||
|
if (_file_to_saveload.abstract_ftype == FT_SAVEGAME || _file_to_saveload.abstract_ftype == FT_SCENARIO) {
|
||||||
|
/* Restart current savegame/scenario */
|
||||||
|
_switch_mode = _game_mode == GM_EDITOR ? SM_LOAD_SCENARIO : SM_LOAD_GAME;
|
||||||
|
SwitchToMode(_switch_mode);
|
||||||
|
break;
|
||||||
|
} else if (_file_to_saveload.abstract_ftype == FT_HEIGHTMAP) {
|
||||||
|
/* Restart current heightmap */
|
||||||
|
_switch_mode = _game_mode == GM_EDITOR ? SM_LOAD_HEIGHTMAP : SM_RESTART_HEIGHTMAP;
|
||||||
|
SwitchToMode(_switch_mode);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/* No break here, to enter the next case:
|
||||||
|
* Restart --> 'Random game' with current settings */
|
||||||
|
FALLTHROUGH;
|
||||||
|
|
||||||
case SM_NEWGAME: // New Game --> 'Random game'
|
case SM_NEWGAME: // New Game --> 'Random game'
|
||||||
if (_network_server) {
|
if (_network_server) {
|
||||||
seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "Random Map");
|
seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "Random Map");
|
||||||
@@ -1250,11 +1265,12 @@ void SwitchToMode(SwitchMode new_mode)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case SM_RESTART_HEIGHTMAP: // Load a heightmap and start a new game from it with current settings
|
||||||
case SM_START_HEIGHTMAP: // Load a heightmap and start a new game from it
|
case SM_START_HEIGHTMAP: // Load a heightmap and start a new game from it
|
||||||
if (_network_server) {
|
if (_network_server) {
|
||||||
seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "%s (Heightmap)", _file_to_saveload.title);
|
seprintf(_network_game_info.map_name, lastof(_network_game_info.map_name), "%s (Heightmap)", _file_to_saveload.title);
|
||||||
}
|
}
|
||||||
MakeNewGame(true, true);
|
MakeNewGame(true, new_mode == SM_START_HEIGHTMAP);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SM_LOAD_HEIGHTMAP: // Load heightmap from scenario editor
|
case SM_LOAD_HEIGHTMAP: // Load heightmap from scenario editor
|
||||||
|
@@ -34,6 +34,7 @@ enum SwitchMode {
|
|||||||
SM_LOAD_SCENARIO, ///< Load scenario from scenario editor.
|
SM_LOAD_SCENARIO, ///< Load scenario from scenario editor.
|
||||||
SM_START_HEIGHTMAP, ///< Load a heightmap and start a new game from it.
|
SM_START_HEIGHTMAP, ///< Load a heightmap and start a new game from it.
|
||||||
SM_LOAD_HEIGHTMAP, ///< Load heightmap from scenario editor.
|
SM_LOAD_HEIGHTMAP, ///< Load heightmap from scenario editor.
|
||||||
|
SM_RESTART_HEIGHTMAP, ///< Load a heightmap and start a new game from it with current settings.
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Display Options */
|
/** Display Options */
|
||||||
|
@@ -8,7 +8,7 @@ foreach(ENUM IN LISTS ENUM_LINES)
|
|||||||
string(REGEX REPLACE ".* ([^ @]+)@.*" "\\1" FILE_PATTERN "${ENUM}")
|
string(REGEX REPLACE ".* ([^ @]+)@.*" "\\1" FILE_PATTERN "${ENUM}")
|
||||||
file(GLOB FILENAMES "${FILE_PATTERN}")
|
file(GLOB FILENAMES "${FILE_PATTERN}")
|
||||||
list(APPEND DEPENDENCIES ${FILENAMES})
|
list(APPEND DEPENDENCIES ${FILENAMES})
|
||||||
endforeach(ENUM)
|
endforeach()
|
||||||
list(REMOVE_DUPLICATES DEPENDENCIES)
|
list(REMOVE_DUPLICATES DEPENDENCIES)
|
||||||
|
|
||||||
# Add a command to generate script_window.hpp
|
# Add a command to generate script_window.hpp
|
||||||
@@ -40,9 +40,9 @@ foreach(API "ai;AI" "game;GS" "template;Template")
|
|||||||
list(GET API 1 APIUC)
|
list(GET API 1 APIUC)
|
||||||
|
|
||||||
foreach(SCRIPT_API_FILE IN LISTS SCRIPT_API_FILES)
|
foreach(SCRIPT_API_FILE IN LISTS SCRIPT_API_FILES)
|
||||||
if ("${SCRIPT_API_FILE}" MATCHES ".*script_controller.*")
|
if("${SCRIPT_API_FILE}" MATCHES ".*script_controller.*")
|
||||||
continue()
|
continue()
|
||||||
endif ("${SCRIPT_API_FILE}" MATCHES ".*script_controller.*")
|
endif()
|
||||||
get_filename_component(SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE}" NAME)
|
get_filename_component(SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE}" NAME)
|
||||||
string(REPLACE "script_" "${APILC}_" SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE_NAME}")
|
string(REPLACE "script_" "${APILC}_" SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE_NAME}")
|
||||||
set(SCRIPT_API_BINARY_FILE "${CMAKE_BINARY_DIR}/generated/script/api/${APILC}/${SCRIPT_API_FILE_NAME}.sq")
|
set(SCRIPT_API_BINARY_FILE "${CMAKE_BINARY_DIR}/generated/script/api/${APILC}/${SCRIPT_API_FILE_NAME}.sq")
|
||||||
@@ -62,7 +62,7 @@ foreach(API "ai;AI" "game;GS" "template;Template")
|
|||||||
COMMENT "Generating ${APILC}/${SCRIPT_API_FILE_NAME}.sq"
|
COMMENT "Generating ${APILC}/${SCRIPT_API_FILE_NAME}.sq"
|
||||||
)
|
)
|
||||||
list(APPEND SCRIPT_${APIUC}_BINARY_FILES ${SCRIPT_API_BINARY_FILE})
|
list(APPEND SCRIPT_${APIUC}_BINARY_FILES ${SCRIPT_API_BINARY_FILE})
|
||||||
endforeach(SCRIPT_API_FILE)
|
endforeach()
|
||||||
|
|
||||||
add_custom_target_timestamp(script_${APILC}
|
add_custom_target_timestamp(script_${APILC}
|
||||||
DEPENDS
|
DEPENDS
|
||||||
@@ -72,7 +72,7 @@ foreach(API "ai;AI" "game;GS" "template;Template")
|
|||||||
script_window
|
script_window
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT "${APILC}" STREQUAL "template")
|
if(NOT "${APILC}" STREQUAL "template")
|
||||||
list(APPEND SCRIPT_${APIUC}_BINARY_FILES "${CMAKE_CURRENT_SOURCE_DIR}/${APILC}/${APILC}_controller.hpp.sq")
|
list(APPEND SCRIPT_${APIUC}_BINARY_FILES "${CMAKE_CURRENT_SOURCE_DIR}/${APILC}/${APILC}_controller.hpp.sq")
|
||||||
set(INCLUDES_BINARY_FILE "${CMAKE_BINARY_DIR}/generated/script/api/${APILC}/${APILC}_includes.hpp")
|
set(INCLUDES_BINARY_FILE "${CMAKE_BINARY_DIR}/generated/script/api/${APILC}/${APILC}_includes.hpp")
|
||||||
add_custom_command_timestamp(OUTPUT ${INCLUDES_BINARY_FILE}
|
add_custom_command_timestamp(OUTPUT ${INCLUDES_BINARY_FILE}
|
||||||
@@ -100,11 +100,11 @@ foreach(API "ai;AI" "game;GS" "template;Template")
|
|||||||
add_dependencies(script_api
|
add_dependencies(script_api
|
||||||
script_${APILC}_includes
|
script_${APILC}_includes
|
||||||
)
|
)
|
||||||
else (NOT "${APILC}" STREQUAL "template")
|
else()
|
||||||
add_dependencies(script_api
|
add_dependencies(script_api
|
||||||
script_${APILC}
|
script_${APILC}
|
||||||
)
|
)
|
||||||
endif (NOT "${APILC}" STREQUAL "template")
|
endif()
|
||||||
|
|
||||||
target_include_directories(script_api
|
target_include_directories(script_api
|
||||||
INTERFACE
|
INTERFACE
|
||||||
@@ -112,7 +112,7 @@ foreach(API "ai;AI" "game;GS" "template;Template")
|
|||||||
${CMAKE_BINARY_DIR}/generated/script/api/${APILC}
|
${CMAKE_BINARY_DIR}/generated/script/api/${APILC}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/${APILC}
|
${CMAKE_CURRENT_SOURCE_DIR}/${APILC}
|
||||||
)
|
)
|
||||||
endforeach(API)
|
endforeach()
|
||||||
|
|
||||||
add_library(openttd::script_api ALIAS script_api)
|
add_library(openttd::script_api ALIAS script_api)
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
if (NOT OPTION_DEDICATED)
|
if(NOT OPTION_DEDICATED)
|
||||||
add_files(
|
add_files(
|
||||||
allegro_s.cpp
|
allegro_s.cpp
|
||||||
allegro_s.h
|
allegro_s.h
|
||||||
@@ -34,7 +34,7 @@ if (NOT OPTION_DEDICATED)
|
|||||||
xaudio2_s.h
|
xaudio2_s.h
|
||||||
CONDITION WIN32 AND XAUDIO2_FOUND
|
CONDITION WIN32 AND XAUDIO2_FOUND
|
||||||
)
|
)
|
||||||
endif (NOT OPTION_DEDICATED)
|
endif()
|
||||||
|
|
||||||
add_files(
|
add_files(
|
||||||
sound_driver.hpp
|
sound_driver.hpp
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
#include "game/game.hpp"
|
#include "game/game.hpp"
|
||||||
#include "command_func.h"
|
#include "command_func.h"
|
||||||
#include "string_func.h"
|
#include "string_func.h"
|
||||||
|
#include "tile_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
@@ -328,7 +329,14 @@ bool FindSubsidyTownCargoRoute()
|
|||||||
const Town *src_town = Town::GetRandom();
|
const Town *src_town = Town::GetRandom();
|
||||||
if (src_town->cache.population < SUBSIDY_CARGO_MIN_POPULATION) return false;
|
if (src_town->cache.population < SUBSIDY_CARGO_MIN_POPULATION) return false;
|
||||||
|
|
||||||
CargoArray town_cargo_produced = GetProductionAroundTiles(src_town->xy, 1, 1, SUBSIDY_TOWN_CARGO_RADIUS);
|
/* Calculate the produced cargo of houses around town center. */
|
||||||
|
CargoArray town_cargo_produced;
|
||||||
|
TileArea ta = TileArea(src_town->xy, 1, 1).Expand(SUBSIDY_TOWN_CARGO_RADIUS);
|
||||||
|
TILE_AREA_LOOP(tile, ta) {
|
||||||
|
if (IsTileType(tile, MP_HOUSE)) {
|
||||||
|
AddProducedCargo(tile, town_cargo_produced);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Passenger subsidies are not handled here. */
|
/* Passenger subsidies are not handled here. */
|
||||||
town_cargo_produced[CT_PASSENGERS] = 0;
|
town_cargo_produced[CT_PASSENGERS] = 0;
|
||||||
@@ -431,7 +439,15 @@ bool FindSubsidyCargoDestination(CargoID cid, SourceType src_type, SourceID src)
|
|||||||
case ST_TOWN: {
|
case ST_TOWN: {
|
||||||
/* Select a random town. */
|
/* Select a random town. */
|
||||||
const Town *dst_town = Town::GetRandom();
|
const Town *dst_town = Town::GetRandom();
|
||||||
CargoArray town_cargo_accepted = GetAcceptanceAroundTiles(dst_town->xy, 1, 1, SUBSIDY_TOWN_CARGO_RADIUS);
|
|
||||||
|
/* Calculate cargo acceptance of houses around town center. */
|
||||||
|
CargoArray town_cargo_accepted;
|
||||||
|
TileArea ta = TileArea(dst_town->xy, 1, 1).Expand(SUBSIDY_TOWN_CARGO_RADIUS);
|
||||||
|
TILE_AREA_LOOP(tile, ta) {
|
||||||
|
if (IsTileType(tile, MP_HOUSE)) {
|
||||||
|
AddAcceptedCargo(tile, town_cargo_accepted, nullptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Check if the town can accept this cargo. */
|
/* Check if the town can accept this cargo. */
|
||||||
if (town_cargo_accepted[cid] < 8) return false;
|
if (town_cargo_accepted[cid] < 8) return false;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
add_subdirectory(cocoa)
|
add_subdirectory(cocoa)
|
||||||
|
|
||||||
if (NOT OPTION_DEDICATED)
|
if(NOT OPTION_DEDICATED)
|
||||||
add_files(
|
add_files(
|
||||||
allegro_v.cpp
|
allegro_v.cpp
|
||||||
allegro_v.h
|
allegro_v.h
|
||||||
@@ -24,7 +24,7 @@ if (NOT OPTION_DEDICATED)
|
|||||||
win32_v.h
|
win32_v.h
|
||||||
CONDITION WIN32
|
CONDITION WIN32
|
||||||
)
|
)
|
||||||
endif (NOT OPTION_DEDICATED)
|
endif()
|
||||||
|
|
||||||
add_files(
|
add_files(
|
||||||
dedicated_v.cpp
|
dedicated_v.cpp
|
||||||
|
Reference in New Issue
Block a user