Merge branch 'master' into jgrpp

# Conflicts:
#	CMakeLists.txt
#	src/saveload/town_sl.cpp
#	src/screenshot.h
#	src/script/api/ai/ai_date.hpp.sq
#	src/script/api/ai/ai_marine.hpp.sq
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_date.hpp.sq
#	src/script/api/game/game_marine.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/game/game_window.hpp.sq
#	src/script/api/script_window.hpp
#	src/script/api/template/template_window.hpp.sq
#	src/signal.cpp
#	src/statusbar_gui.cpp
#	src/toolbar_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
pull/192/head
Jonathan G Rennison 4 years ago
commit 5b78090a61

@ -205,6 +205,7 @@ target_link_libraries(openttd
openttd::languages
openttd::settings
openttd::basesets
openttd::script_api
openttd::binfiles
Threads::Threads
)

@ -0,0 +1,119 @@
cmake_minimum_required(VERSION 3.5)
#
# CMake script to automatically generate the enums in script_window.hpp
#
# The file is scanned for @enum tokens, and the placeholder is filled with an enum from a different file.
#
# Example:
# // @enum enumname filename@placeholder@
# ... content here is replaced ...
# // @endenum
#
# The parameter "enumname" specifies the enumeration to extract. This can also be a regular expression.
# The parameter "filename" specifies the relative path to the file, where the enumeration is extracted from. This can also be a glob expression.
#
#
if (NOT GENERATE_SOURCE_FILE)
message(FATAL_ERROR "Script needs GENERATE_SOURCE_FILE defined")
endif (NOT GENERATE_SOURCE_FILE)
if (NOT GENERATE_BINARY_FILE)
message(FATAL_ERROR "Script needs GENERATE_BINARY_FILE defined")
endif (NOT GENERATE_BINARY_FILE)
file(STRINGS ${GENERATE_SOURCE_FILE} ENUM_LINES REGEX "@enum")
foreach(ENUM IN LISTS ENUM_LINES)
string(REGEX REPLACE "^( )// @enum ([^ ]+) ([^ ]+)@([^ ]+)@" "\\4" PLACE_HOLDER "${ENUM}")
set(ADD_INDENT "${CMAKE_MATCH_1}")
set(ENUM_PATTERN "${CMAKE_MATCH_2}")
file(GLOB FILENAMES "${CMAKE_MATCH_3}")
list(SORT FILENAMES)
foreach(FILE IN LISTS FILENAMES)
unset(ACTIVE)
unset(ACTIVE_COMMENT)
unset(COMMENT)
file(STRINGS ${FILE} SOURCE_LINES)
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" FILE ${FILE})
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}/* automatically generated from ${FILE} */")
foreach(LINE IN LISTS SOURCE_LINES)
string(REPLACE "${RM_INDENT}" "" LINE "${LINE}")
# Remember possible doxygen comment before enum declaration
if ((NOT ACTIVE) AND "${LINE}" MATCHES "/\\*\\*")
set(COMMENT "${ADD_INDENT}${LINE}")
set(ACTIVE_COMMENT 1)
elseif (ACTIVE_COMMENT EQUAL 1)
string(APPEND COMMENT "\n${ADD_INDENT}${LINE}")
endif()
# Check for enum match
if ("${LINE}" MATCHES "^ *enum *${ENUM_PATTERN} *\{")
# REGEX REPLACE does a REGEX MATCHALL and fails if an empty string is matched
string(REGEX MATCH "[^ ]*" RESULT "${LINE}")
string(REPLACE "${RESULT}" "" RM_INDENT "${LINE}")
set(ACTIVE 1)
if (ACTIVE_COMMENT GREATER 0)
string(APPEND ${PLACE_HOLDER} "\n${COMMENT}")
endif (ACTIVE_COMMENT GREATER 0)
unset(ACTIVE_COMMENT)
unset(COMMENT)
endif ("${LINE}" MATCHES "^ *enum *${ENUM_PATTERN} *\{")
# Forget doxygen comment, if no enum follows
if (ACTIVE_COMMENT EQUAL 2 AND NOT "${LINE}" STREQUAL "")
unset(ACTIVE_COMMENT)
unset(COMMENT)
endif (ACTIVE_COMMENT EQUAL 2 AND NOT "${LINE}" STREQUAL "")
if (ACTIVE_COMMENT EQUAL 1 AND "${LINE}" MATCHES "\\*/")
set(ACTIVE_COMMENT 2)
endif (ACTIVE_COMMENT EQUAL 1 AND "${LINE}" MATCHES "\\*/")
if (ACTIVE)
if ("${LINE}" MATCHES "^ *[A-Za-z0-9_]* *[,=]")
# Transform enum values
# REGEX REPLACE does a REGEX MATCHALL and replaces too much
string(REGEX MATCH " *=[^,]*" RESULT "${LINE}")
string(REPLACE "${RESULT}" "" LINE "${LINE}")
string(REGEX REPLACE " *//" " //" LINE "${LINE}")
string(REGEX MATCH "^( *)([A-Za-z0-9_]+),(.*)" RESULT "${LINE}")
string(LENGTH "${CMAKE_MATCH_2}" LEN)
math(EXPR LEN "43 - ${LEN}")
unset(SPACES)
foreach(i RANGE ${LEN})
string(APPEND SPACES " ")
endforeach(i)
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}")
else (CMAKE_MATCH_3)
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},")
endif (CMAKE_MATCH_3)
elseif ("${LINE}" STREQUAL "")
string(APPEND ${PLACE_HOLDER} "\n")
else ()
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${LINE}")
endif ()
endif (ACTIVE)
if ("${LINE}" MATCHES "^ *\};")
if (ACTIVE)
string(APPEND ${PLACE_HOLDER} "\n")
endif (ACTIVE)
unset(ACTIVE)
endif ("${LINE}" MATCHES "^ *\};")
endforeach(LINE)
endforeach(FILE)
endforeach(ENUM)
configure_file(${GENERATE_SOURCE_FILE} ${GENERATE_BINARY_FILE})

@ -38,7 +38,6 @@ execute_process(COMMAND ${OPENTTD_EXECUTABLE}
OUTPUT_VARIABLE REGRESSION_OUTPUT
ERROR_VARIABLE REGRESSION_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
if (REGRESSION_OUTPUT)

@ -0,0 +1,667 @@
cmake_minimum_required(VERSION 3.5)
if (NOT SCRIPT_API_SOURCE_FILE)
message(FATAL_ERROR "Script needs SCRIPT_API_SOURCE_FILE defined")
endif (NOT SCRIPT_API_SOURCE_FILE)
if (NOT SCRIPT_API_BINARY_FILE)
message(FATAL_ERROR "Script needs SCRIPT_API_BINARY_FILE defined")
endif (NOT SCRIPT_API_BINARY_FILE)
if (NOT SCRIPT_API_FILE)
message(FATAL_ERROR "Script needs SCRIPT_API_FILE defined")
endif (NOT SCRIPT_API_FILE)
if (NOT APIUC)
message(FATAL_ERROR "Script needs APIUC defined")
endif (NOT APIUC)
if (NOT APILC)
message(FATAL_ERROR "Script needs APILC defined")
endif (NOT APILC)
macro(dump_fileheader)
get_filename_component(SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE}" NAME)
string(APPEND SQUIRREL_EXPORT "\n#include \"../${SCRIPT_API_FILE_NAME}\"")
if (NOT "${APIUC}" STREQUAL "Template")
string(REPLACE "script_" "template_" SCRIPT_API_FILE_NAME "${SCRIPT_API_FILE_NAME}")
string(APPEND SQUIRREL_EXPORT "\n#include \"../template/${SCRIPT_API_FILE_NAME}.sq\"")
endif (NOT "${APIUC}" STREQUAL "Template")
endmacro(dump_fileheader)
macro(dump_class_templates NAME)
string(REGEX REPLACE "^Script" "" REALNAME ${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; }")
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; }")
elseif ("${NAME}" STREQUAL "ScriptText")
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 if (sq_gettype(vm, index) == OT_INSTANCE) {")
string(APPEND SQUIRREL_EXPORT "\n return GetParam(ForceType<ScriptText *>(), vm, index, ptr);")
string(APPEND SQUIRREL_EXPORT "\n }")
string(APPEND SQUIRREL_EXPORT "\n if (sq_gettype(vm, index) == OT_STRING) {")
string(APPEND SQUIRREL_EXPORT "\n return new RawText(GetParam(ForceType<const char *>(), vm, index, ptr));")
string(APPEND SQUIRREL_EXPORT "\n }")
string(APPEND SQUIRREL_EXPORT "\n return nullptr;")
string(APPEND SQUIRREL_EXPORT "\n }")
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; }")
endif ()
endmacro(dump_class_templates)
macro(reset_reader)
unset(ENUMS)
unset(ENUM_VALUES)
unset(CONST_VALUES)
unset(STRUCTS)
unset(ENUM_STRING_TO_ERRORS)
unset(ENUM_ERROR_TO_STRINGS)
unset(METHODS)
unset(STATIC_METHODS)
unset(CLS)
unset(START_SQUIRREL_DEFINE_ON_NEXT_LINE)
set(CLS_LEVEL 0)
unset(CLS_IN_API)
endmacro(reset_reader)
reset_reader()
file(STRINGS "${SCRIPT_API_FILE}" SOURCE_LINES)
foreach(LINE IN LISTS SOURCE_LINES)
# Ignore special doxygen blocks
if ("${LINE}" MATCHES "^#ifndef DOXYGEN_API")
set(DOXYGEN_SKIP "next")
continue()
endif ()
if ("${LINE}" MATCHES "^#ifdef DOXYGEN_API")
set(DOXYGEN_SKIP "true")
continue()
endif ()
if ("${LINE}" MATCHES "^#endif /\\* DOXYGEN_API \\*/")
unset(DOXYGEN_SKIP)
continue()
endif ()
if ("${LINE}" MATCHES "^#else")
if ("${DOXYGEN_SKIP}" STREQUAL "next")
set(DOXYGEN_SKIP "true")
else()
unset(DOXYGEN_SKIP)
endif()
continue()
endif ()
if ("${DOXYGEN_SKIP}" STREQUAL "true")
continue()
endif()
if ("${LINE}" MATCHES "^([ ]*)\\* @api (.*)$")
set(LINE ${CMAKE_MATCH_2})
# By default, classes are not selected
if (NOT CLS_LEVEL)
set(API_SELECTED FALSE)
endif (NOT CLS_LEVEL)
if ("${APIUC}" STREQUAL "Template")
set(API_SELECTED TRUE)
if ("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
set(API_SELECTED FALSE)
endif ("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
continue()
endif("${APIUC}" STREQUAL "Template")
if ("${LINE}" STREQUAL "none" OR "${LINE}" STREQUAL "-all")
set(API_SELECTED FALSE)
elseif ("${LINE}" MATCHES "-${APILC}")
set(API_SELECTED FALSE)
elseif ("${LINE}" MATCHES "${APILC}")
set(API_SELECTED TRUE)
endif ()
continue()
endif ("${LINE}" MATCHES "^([ ]*)\\* @api (.*)$")
# Remove the old squirrel stuff
if ("${LINE}" MATCHES "#ifdef DEFINE_SQUIRREL_CLASS")
set(SQUIRREL_STUFF TRUE)
continue()
endif ("${LINE}" MATCHES "#ifdef DEFINE_SQUIRREL_CLASS")
if ("${LINE}" MATCHES "^#endif /\\* DEFINE_SQUIRREL_CLASS \\*/")
unset(SQUIRREL_STUFF)
continue()
endif ("${LINE}" MATCHES "^#endif /\\* DEFINE_SQUIRREL_CLASS \\*/")
if (SQUIRREL_STUFF)
continue()
endif (SQUIRREL_STUFF)
# Ignore forward declarations of classes
if ("${LINE}" MATCHES "^( *)class(.*);")
continue()
endif ("${LINE}" MATCHES "^( *)class(.*);")
# We only want to have public functions exported for now
if ("${LINE}" MATCHES "^( *)class (.*) (: public|: protected|: private|:) ([^ ]*)")
if (NOT CLS_LEVEL)
if (NOT DEFINED API_SELECTED)
message(WARNING "Class '${CMAKE_MATCH_2}' has no @api. It won't be published to any API.")
set(API_SELECTED FALSE)
endif (NOT DEFINED API_SELECTED)
unset(IS_PUBLIC)
unset(CLS_PARAM_0)
set(CLS_PARAM_1 1)
set(CLS_PARAM_2 "x")
set(CLS_IN_API ${API_SELECTED})
unset(API_SELECTED)
set(CLS "${CMAKE_MATCH_2}")
set(SUPER_CLS "${CMAKE_MATCH_4}")
elseif (CLS_LEVEL EQUAL 1)
if (NOT DEFINED API_SELECTED)
set(API_SELECTED ${CLS_IN_API})
endif (NOT API_SELECTED)
if (API_SELECTED)
list(APPEND STRUCTS "${CLS}::${CMAKE_MATCH_2}")
endif (API_SELECTED)
unset(API_SELECTED)
endif ()
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
continue()
endif ("${LINE}" MATCHES "^( *)class (.*) (: public|: protected|: private|:) ([^ ]*)")
if ("${LINE}" MATCHES "^( *)public")
if (CLS_LEVEL EQUAL 1)
set(IS_PUBLIC TRUE)
endif (CLS_LEVEL EQUAL 1)
continue()
endif ("${LINE}" MATCHES "^( *)public")
if ("${LINE}" MATCHES "^( *)protected")
if (CLS_LEVEL EQUAL 1)
unset(IS_PUBLIC)
endif (CLS_LEVEL EQUAL 1)
continue()
endif ("${LINE}" MATCHES "^( *)protected")
if ("${LINE}" MATCHES "^( *)private")
if (CLS_LEVEL EQUAL 1)
unset(IS_PUBLIC)
endif (CLS_LEVEL EQUAL 1)
continue()
endif ("${LINE}" MATCHES "^( *)private")
# Ignore the comments
if ("${LINE}" MATCHES "^#")
continue()
endif ("${LINE}" MATCHES "^#")
if ("${LINE}" MATCHES "/\\*.*\\*/")
unset(COMMENT)
continue()
endif ("${LINE}" MATCHES "/\\*.*\\*/")
if ("${LINE}" MATCHES "/\\*")
set(COMMENT TRUE)
continue()
endif ("${LINE}" MATCHES "/\\*")
if ("${LINE}" MATCHES "\\*/")
unset(COMMENT)
continue()
endif ("${LINE}" MATCHES "\\*/")
if (COMMENT)
continue()
endif (COMMENT)
# We need to make specialized conversions for structs
if ("${LINE}" MATCHES "^( *)struct ([^ ]*)")
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
# Check if we want to publish this struct
if (NOT DEFINED API_SELECTED)
set(API_SELECTED ${CLS_IN_API})
endif (NOT DEFINED API_SELECTED)
if (NOT API_SELECTED)
unset(API_SELECTED)
continue()
endif (NOT API_SELECTED)
unset(API_SELECTED)
if (NOT IS_PUBLIC OR NOT CLS_LEVEL EQUAL 1)
continue()
endif (NOT IS_PUBLIC OR NOT CLS_LEVEL EQUAL 1)
list(APPEND STRUCTS "${CLS}::${CMAKE_MATCH_2}")
continue()
endif ("${LINE}" MATCHES "^( *)struct ([^ ]*)")
# We need to make specialized conversions for enums
if ("${LINE}" MATCHES "^( *)enum ([^ ]*)")
math(EXPR CLS_LEVEL "${CLS_LEVEL} + 1")
# Check if we want to publish this enum
if (NOT DEFINED API_SELECTED)
set(API_SELECTED ${CLS_IN_API})
endif (NOT DEFINED API_SELECTED)
if (NOT API_SELECTED)
unset(API_SELECTED)
continue()
endif (NOT API_SELECTED)
unset(API_SELECTED)
if (NOT IS_PUBLIC)
continue()
endif (NOT IS_PUBLIC)
set(IN_ENUM TRUE)
list(APPEND ENUMS "${CLS}::${CMAKE_MATCH_2}")
continue()
endif ("${LINE}" MATCHES "^( *)enum ([^ ]*)")
# Maybe the end of the class, if so we can start with the Squirrel export pretty soon
if ("${LINE}" MATCHES "};")
math(EXPR CLS_LEVEL "${CLS_LEVEL} - 1")
if (CLS_LEVEL)
unset(IN_ENUM)
continue()
endif (CLS_LEVEL)
if (CLS)
set(START_SQUIRREL_DEFINE_ON_NEXT_LINE TRUE)
endif (CLS)
continue()
endif ("${LINE}" MATCHES "};")
# Empty/white lines. When we may do the Squirrel export, do that export.
if ("${LINE}" MATCHES "^([ ]*)$")
if (NOT START_SQUIRREL_DEFINE_ON_NEXT_LINE)
continue()
endif (NOT START_SQUIRREL_DEFINE_ON_NEXT_LINE)
if (NOT CLS_IN_API)
reset_reader()
continue()
endif (NOT CLS_IN_API)
if (NOT HAS_FILEHEADER)
dump_fileheader()
set(HAS_FILEHEADER TRUE)
endif (NOT HAS_FILEHEADER)
unset(IS_PUBLIC)
unset(NAMESPACE_OPENED)
string(REGEX REPLACE "^Script" "${APIUC}" API_CLS "${CLS}")
string(REGEX REPLACE "^Script" "${APIUC}" API_SUPER_CLS "${SUPER_CLS}")
string(APPEND SQUIRREL_EXPORT "\n")
if ("${APIUC}" STREQUAL "Template")
# First check whether we have enums to print
if (DEFINED ENUMS)
if (NOT NAMESPACE_OPENED)
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
set(NAMESPACE_OPENED TRUE)
endif (NOT NAMESPACE_OPENED)
string(APPEND SQUIRREL_EXPORT "\n /* Allow enums to be used as Squirrel parameters */")
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 int Return<${ENUM}>(HSQUIRRELVM vm, ${ENUM} res) { sq_pushinteger(vm, (int32)res); return 1; }")
endforeach(ENUM)
endif (DEFINED ENUMS)
# Then check whether we have structs/classes to print
if (DEFINED STRUCTS)
if (NOT NAMESPACE_OPENED)
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
set(NAMESPACE_OPENED TRUE)
endif (NOT NAMESPACE_OPENED)
string(APPEND SQUIRREL_EXPORT "\n /* Allow inner classes/structs to be used as Squirrel parameters */")
foreach(STRUCT IN LISTS STRUCTS)
dump_class_templates(${STRUCT})
endforeach(STRUCT)
endif (DEFINED STRUCTS)
if (NOT NAMESPACE_OPENED)
string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {")
set(NAMESPACE_OPENED TRUE)
else (NOT NAMESPACE_OPENED)
string(APPEND SQUIRREL_EXPORT "\n")
endif (NOT NAMESPACE_OPENED)
string(APPEND SQUIRREL_EXPORT "\n /* Allow ${CLS} to be used as Squirrel parameter */")
dump_class_templates(${CLS})
string(APPEND SQUIRREL_EXPORT "\n} // namespace SQConvert")
reset_reader()
continue()
endif ("${APIUC}" STREQUAL "Template")
string(APPEND SQUIRREL_EXPORT "\n")
string(APPEND SQUIRREL_EXPORT "\ntemplate <> const char *GetClassName<${CLS}, ST_${APIUC}>() { return \"${API_CLS}\"; }")
string(APPEND SQUIRREL_EXPORT "\n")
# Then do the registration functions of the class.
string(APPEND SQUIRREL_EXPORT "\nvoid SQ${API_CLS}_Register(Squirrel *engine)")
string(APPEND SQUIRREL_EXPORT "\n{")
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")
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")
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")
if (NOT "${SUPER_CLS}" STREQUAL "ScriptEvent")
if ("${CLS_PARAM_2}" STREQUAL "v")
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.AddSQAdvancedConstructor(engine);")
else ("${CLS_PARAM_2}" STREQUAL "v")
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 (NOT "${SUPER_CLS}" STREQUAL "ScriptEvent")
string(APPEND SQUIRREL_EXPORT "\n")
# Enum values
set(MLEN 0)
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
string(LENGTH "${ENUM_VALUE}" LEN)
if (MLEN LESS LEN)
set(MLEN ${LEN})
endif (MLEN LESS LEN)
endforeach(ENUM_VALUE)
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
string(LENGTH "${ENUM_VALUE}" LEN)
math(EXPR LEN "${MLEN} - ${LEN}")
unset(SPACES)
foreach(i RANGE ${LEN})
string(APPEND SPACES " ")
endforeach(i)
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQConst(engine, ${CLS}::${ENUM_VALUE},${SPACES}\"${ENUM_VALUE}\");")
endforeach(ENUM_VALUE)
if (MLEN)
string(APPEND SQUIRREL_EXPORT "\n")
endif (MLEN)
# Const values
set(MLEN 0)
foreach(CONST_VALUE IN LISTS CONST_VALUES)
string(LENGTH "${CONST_VALUE}" LEN)
if (MLEN LESS LEN)
set(MLEN ${LEN})
endif (MLEN LESS LEN)
endforeach(CONST_VALUE)
foreach(CONST_VALUE IN LISTS CONST_VALUES)
string(LENGTH "${CONST_VALUE}" LEN)
math(EXPR LEN "${MLEN} - ${LEN}")
unset(SPACES)
foreach(i RANGE ${LEN})
string(APPEND SPACES " ")
endforeach(i)
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQConst(engine, ${CLS}::${CONST_VALUE},${SPACES}\"${CONST_VALUE}\");")
endforeach(CONST_VALUE)
if (MLEN)
string(APPEND SQUIRREL_EXPORT "\n")
endif (MLEN)
# Mapping of OTTD strings to errors
set(MLEN 0)
foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS)
string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}")
list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING)
string(LENGTH "${ENUM_STRING}" LEN)
if (MLEN LESS LEN)
set(MLEN ${LEN})
endif (MLEN LESS LEN)
endforeach(ENUM_STRING_TO_ERROR)
foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS)
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 1 ENUM_ERROR)
string(LENGTH "${ENUM_STRING}" LEN)
math(EXPR LEN "${MLEN} - ${LEN}")
unset(SPACES)
foreach(i RANGE ${LEN})
string(APPEND SPACES " ")
endforeach(i)
string(APPEND SQUIRREL_EXPORT "\n ScriptError::RegisterErrorMap(${ENUM_STRING},${SPACES}${CLS}::${ENUM_ERROR});")
endforeach(ENUM_STRING_TO_ERROR)
if (MLEN)
string(APPEND SQUIRREL_EXPORT "\n")
endif (MLEN)
# Mapping of errors to human 'readable' strings.
set(MLEN 0)
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
if (MLEN LESS LEN)
set(MLEN ${LEN})
endif (MLEN LESS LEN)
endforeach(ENUM_ERROR_TO_STRING)
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
math(EXPR LEN "${MLEN} - ${LEN}")
unset(SPACES)
foreach(i RANGE ${LEN})
string(APPEND SPACES " ")
endforeach(i)
string(APPEND SQUIRREL_EXPORT "\n ScriptError::RegisterErrorMapString(${CLS}::${ENUM_ERROR_TO_STRING},${SPACES}\"${ENUM_ERROR_TO_STRING}\");")
endforeach(ENUM_ERROR_TO_STRING)
if (MLEN)
string(APPEND SQUIRREL_EXPORT "\n")
endif (MLEN)
# Static methods
set(MLEN 0)
foreach(STATIC_METHOD IN LISTS STATIC_METHODS)
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
list(GET STATIC_METHOD 0 FUNCNAME)
string(LENGTH "${FUNCNAME}" LEN)
if (MLEN LESS LEN)
set(MLEN ${LEN})
endif (MLEN LESS LEN)
endforeach(STATIC_METHOD)
foreach(STATIC_METHOD IN LISTS STATIC_METHODS)
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
list(GET STATIC_METHOD 0 FUNCNAME)
list(GET STATIC_METHOD 1 ARGC)
list(GET STATIC_METHOD 2 TYPES)
string(LENGTH "${FUNCNAME}" LEN)
math(EXPR LEN "${MLEN} - ${LEN}")
if ("${TYPES}" STREQUAL "v")
if (LEN GREATER 8)
math(EXPR LEN "${LEN} - 8")
else (LEN GREATER 8)
set(LEN 0)
endif (LEN GREATER 8)
endif ("${TYPES}" STREQUAL "v")
unset(SPACES)
foreach(i RANGE ${LEN})
string(APPEND SPACES " ")
endforeach(i)
if ("${TYPES}" STREQUAL "v")
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQAdvancedStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\");")
else ("${TYPES}" STREQUAL "v")
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}${ARGC}, \"${TYPES}\");")
endif ("${TYPES}" STREQUAL "v")
endforeach(STATIC_METHOD)
if (MLEN)
string(APPEND SQUIRREL_EXPORT "\n")
endif (MLEN)
# Non-static methods
set(MLEN 0)
foreach(METHOD IN LISTS METHODS)
string(REPLACE ":" ";" METHOD "${METHOD}")
list(GET METHOD 0 FUNCNAME)
string(LENGTH "${FUNCNAME}" LEN)
if (MLEN LESS LEN)
set(MLEN ${LEN})
endif (MLEN LESS LEN)
endforeach(METHOD)
foreach(METHOD IN LISTS METHODS)
string(REPLACE ":" ";" METHOD "${METHOD}")
list(GET METHOD 0 FUNCNAME)
list(GET METHOD 1 ARGC)
list(GET METHOD 2 TYPES)
string(LENGTH "${FUNCNAME}" LEN)
math(EXPR LEN "${MLEN} - ${LEN}")
if ("${TYPES}" STREQUAL "v")
if (LEN GREATER 8)
math(EXPR LEN "${LEN} - 8")
else (LEN GREATER 8)
set(LEN 0)
endif (LEN GREATER 8)
endif ("${TYPES}" STREQUAL "v")
unset(SPACES)
foreach(i RANGE ${LEN})
string(APPEND SPACES " ")
endforeach(i)
if ("${TYPES}" STREQUAL "v")
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQAdvancedMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\");")
else ("${TYPES}" STREQUAL "v")
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.DefSQMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}${ARGC}, \"${TYPES}\");")
endif ("${TYPES}" STREQUAL "v")
endforeach(METHOD)
if (MLEN)
string(APPEND SQUIRREL_EXPORT "\n")
endif (MLEN)
string(APPEND SQUIRREL_EXPORT "\n SQ${API_CLS}.PostRegister(engine);")
string(APPEND SQUIRREL_EXPORT "\n}")
reset_reader()
continue()
endif ("${LINE}" MATCHES "^([ ]*)$")
# Skip non-public functions
if (NOT IS_PUBLIC)
continue()
endif (NOT IS_PUBLIC)
# Add enums
if (IN_ENUM)
string(REGEX MATCH "([^, ]+)" ENUM_VALUE "${LINE}")
list(APPEND ENUM_VALUES "${ENUM_VALUE}")
# Check if this a special error enum
list(GET ENUMS -1 ENUM)
if ("${ENUM}" MATCHES ".*::ErrorMessages")
# syntax:
# enum ErrorMessages {
# ERR_SOME_ERROR, // [STR_ITEM1, STR_ITEM2, ...]
# }
# Set the mappings
if ("${LINE}" MATCHES "\\[(.*)\\]")
string(REGEX REPLACE "[ ]" "" MAPPINGS "${CMAKE_MATCH_1}")
string(REPLACE "," ";" MAPPINGS "${MAPPINGS}")
foreach(MAPPING IN LISTS MAPPINGS)
list(APPEND ENUM_STRING_TO_ERRORS "${MAPPING}:${ENUM_VALUE}")
endforeach(MAPPING)
list(APPEND ENUM_ERROR_TO_STRINGS "${ENUM_VALUE}")
endif ("${LINE}" MATCHES "\\[(.*)\\]")
endif ("${ENUM}" MATCHES ".*::ErrorMessages")
continue()
endif (IN_ENUM)
# Add a const (non-enum) value
if ("${LINE}" MATCHES "^[ ]*static const [^ ]+ ([^ ]+) = -?\\(?[^ ]*\\)?[^ ]+;")
list(APPEND CONST_VALUES "${CMAKE_MATCH_1}")
continue()
endif ("${LINE}" MATCHES "^[ ]*static const [^ ]+ ([^ ]+) = -?\\(?[^ ]*\\)?[^ ]+;")
# Add a method to the list
if ("${LINE}" MATCHES "^.*\\(.*\\).*$")
if (NOT CLS_LEVEL EQUAL 1)
continue()
endif (NOT CLS_LEVEL EQUAL 1)
if ("${LINE}" MATCHES "~")
if (DEFINED API_SELECTED)
message(WARNING "Destructor for '${CLS}' has @api. Tag ignored.")
unset(API_SELECTED)
endif (DEFINED API_SELECTED)
continue()
endif ("${LINE}" MATCHES "~")
unset(IS_STATIC)
if ("${LINE}" MATCHES "static")
set(IS_STATIC TRUE)
endif ("${LINE}" MATCHES "static")
string(REGEX REPLACE "(virtual|static|const)[ ]+" "" LINE "${LINE}")
string(REGEX REPLACE "{.*" "" LINE "${LINE}")
set(PARAM_S "${LINE}")
string(REGEX REPLACE "\\*" "" LINE "${LINE}")
string(REGEX REPLACE "\\(.*" "" LINE "${LINE}")
string(REGEX REPLACE ".*\\(" "" PARAM_S "${PARAM_S}")
string(REGEX REPLACE "\\).*" "" PARAM_S "${PARAM_S}")
string(REGEX MATCH "([^ ]+)( ([^ ]+))?" RESULT "${LINE}")
set(FUNCTYPE "${CMAKE_MATCH_1}")
set(FUNCNAME "${CMAKE_MATCH_3}")
if ("${FUNCTYPE}" STREQUAL "${CLS}" AND NOT FUNCNAME)
if (DEFINED API_SELECTED)
message(WARNING "Constructor for '${CLS}' has @api. Tag ignored.")
unset(API_SELECTED)
endif (DEFINED API_SELECTED)
set(CLS_PARAM_0 "${PARAM_S}")
if (NOT PARAM_S)
continue()
endif (NOT PARAM_S)
elseif (NOT FUNCNAME)
continue()
endif ()
string(REPLACE "," ";" PARAMS "${PARAM_S}")
if (IS_STATIC)
set(TYPES ".")
else (IS_STATIC)
set(TYPES "x")
endif (IS_STATIC)
set(LEN 1)
foreach(PARAM IN LISTS PARAMS)
math(EXPR LEN "${LEN} + 1")
string(STRIP "${PARAM}" PARAM)
if ("${PARAM}" MATCHES "\\*|&")
if ("${PARAM}" MATCHES "^char")
# Many types can be converted to string, so use '.', not 's'. (handled by our glue code)
string(APPEND TYPES ".")
elseif ("${PARAM}" MATCHES "^void")
string(APPEND TYPES "p")
elseif ("${PARAM}" MATCHES "^Array")
string(APPEND TYPES "a")
elseif ("${PARAM}" MATCHES "^struct Array")
string(APPEND TYPES "a")
elseif ("${PARAM}" MATCHES "^Text")
string(APPEND TYPES ".")
else ()
string(APPEND TYPES "x")
endif ()
elseif ("${PARAM}" MATCHES "^bool")
string(APPEND TYPES "b")
elseif ("${PARAM}" MATCHES "^HSQUIRRELVM")
set(TYPES "v")
else ()
string(APPEND TYPES "i")
endif ()
endforeach(PARAM)
# Check if we want to publish this function
if (NOT DEFINED API_SELECTED)
set(API_SELECTED ${CLS_IN_API})
endif (NOT DEFINED API_SELECTED)
if (NOT API_SELECTED)
unset(API_SELECTED)
continue()
endif (NOT API_SELECTED)
unset(API_SELECTED)
if ("${FUNCTYPE}" STREQUAL "${CLS}" AND NOT FUNCNAME)
set(CLS_PARAM_1 ${LEN})
set(CLS_PARAM_2 "${TYPES}")
elseif ("${FUNCNAME}" MATCHES "^_" AND NOT "${TYPES}" STREQUAL "v")
elseif (IS_STATIC)
list(APPEND STATIC_METHODS "${FUNCNAME}:${LEN}:${TYPES}")
else ()
list(APPEND METHODS "${FUNCNAME}:${LEN}:${TYPES}")
endif ()
continue()
endif ("${LINE}" MATCHES "^.*\\(.*\\).*$")
endforeach(LINE)
configure_file(${SCRIPT_API_SOURCE_FILE} ${SCRIPT_API_BINARY_FILE})

@ -0,0 +1,60 @@
cmake_minimum_required(VERSION 3.5)
if (NOT INCLUDES_SOURCE_FILE)
message(FATAL_ERROR "Script needs INCLUDES_SOURCE_FILE defined")
endif (NOT INCLUDES_SOURCE_FILE)
if (NOT INCLUDES_BINARY_FILE)
message(FATAL_ERROR "Script needs INCLUDES_BINARY_FILE defined")
endif (NOT INCLUDES_BINARY_FILE)
if (NOT APILC)
message(FATAL_ERROR "Script needs APILC defined")
endif (NOT APILC)
if (NOT APIUC)
message(FATAL_ERROR "Script needs APIUC defined")
endif (NOT APIUC)
set(ARGC 1)
set(ARG_READ NO)
# Read all the arguments given to CMake; we are looking for -- and everything
# that follows. Those are our api files.
while(ARGC LESS CMAKE_ARGC)
set(ARG ${CMAKE_ARGV${ARGC}})
if (ARG_READ)
list(APPEND SCRIPT_API_BINARY_FILES "${ARG}")
endif (ARG_READ)
if (ARG STREQUAL "--")
set(ARG_READ YES)
endif (ARG STREQUAL "--")
math(EXPR ARGC "${ARGC} + 1")
endwhile()
foreach(FILE IN LISTS SCRIPT_API_BINARY_FILES)
file(STRINGS "${FILE}" LINES REGEX "^void SQ${APIUC}.*_Register\\(Squirrel \\*engine\\)$")
if (LINES)
string(REGEX REPLACE ".*api/${APILC}/(.*)" "#include \"\\1\"" FILE "${FILE}")
list(APPEND SQUIRREL_INCLUDES "${FILE}")
foreach(LINE IN LISTS LINES)
if ("${LINE}" MATCHES "SQ${APIUC}(List|Controller)_Register")
continue()
endif ("${LINE}" MATCHES "SQ${APIUC}(List|Controller)_Register")
string(REGEX REPLACE "^.*void " " " LINE "${LINE}")
string(REGEX REPLACE "Squirrel \\*" "" LINE "${LINE}")
list(APPEND SQUIRREL_REGISTER "${LINE}")
endforeach(LINE)
endif (LINES)
endforeach(FILE)
list(SORT SQUIRREL_INCLUDES)
string(REPLACE ";" "\n" SQUIRREL_INCLUDES "${SQUIRREL_INCLUDES}")
string(REGEX REPLACE "_Register" "0000Register" SQUIRREL_REGISTER "${SQUIRREL_REGISTER}")
list(SORT SQUIRREL_REGISTER)
string(REGEX REPLACE "0000Register" "_Register" SQUIRREL_REGISTER "${SQUIRREL_REGISTER}")
string(REPLACE ";" ";\n" SQUIRREL_REGISTER "${SQUIRREL_REGISTER}")
set(SQUIRREL_REGISTER " SQ${APIUC}List_Register(engine);\n${SQUIRREL_REGISTER};")
configure_file(${INCLUDES_SOURCE_FILE} ${INCLUDES_BINARY_FILE})

@ -24,60 +24,8 @@
/* Manually include the Text glue. */
#include "../script/api/template/template_text.hpp.sq"
/* Convert all AI related classes to Squirrel data.
* Note: this line is a marker in squirrel_export.sh. Do not change! */
#include "../script/api/ai/ai_accounting.hpp.sq"
#include "../script/api/ai/ai_airport.hpp.sq"
#include "../script/api/ai/ai_base.hpp.sq"
#include "../script/api/ai/ai_basestation.hpp.sq"
#include "../script/api/ai/ai_bridge.hpp.sq"
#include "../script/api/ai/ai_bridgelist.hpp.sq"
#include "../script/api/ai/ai_cargo.hpp.sq"
#include "../script/api/ai/ai_cargolist.hpp.sq"
#include "../script/api/ai/ai_company.hpp.sq"
#include "../script/api/ai/ai_controller.hpp.sq"
#include "../script/api/ai/ai_date.hpp.sq"
#include "../script/api/ai/ai_depotlist.hpp.sq"
#include "../script/api/ai/ai_engine.hpp.sq"
#include "../script/api/ai/ai_enginelist.hpp.sq"
#include "../script/api/ai/ai_error.hpp.sq"
#include "../script/api/ai/ai_event.hpp.sq"
#include "../script/api/ai/ai_event_types.hpp.sq"
#include "../script/api/ai/ai_execmode.hpp.sq"
#include "../script/api/ai/ai_gamesettings.hpp.sq"
#include "../script/api/ai/ai_group.hpp.sq"
#include "../script/api/ai/ai_grouplist.hpp.sq"
#include "../script/api/ai/ai_industry.hpp.sq"
#include "../script/api/ai/ai_industrylist.hpp.sq"
#include "../script/api/ai/ai_industrytype.hpp.sq"
#include "../script/api/ai/ai_industrytypelist.hpp.sq"
#include "../script/api/ai/ai_infrastructure.hpp.sq"
#include "../script/api/ai/ai_list.hpp.sq"
#include "../script/api/ai/ai_log.hpp.sq"
#include "../script/api/ai/ai_map.hpp.sq"
#include "../script/api/ai/ai_marine.hpp.sq"
#include "../script/api/ai/ai_order.hpp.sq"
#include "../script/api/ai/ai_priorityqueue.hpp.sq"
#include "../script/api/ai/ai_rail.hpp.sq"
#include "../script/api/ai/ai_railtypelist.hpp.sq"
#include "../script/api/ai/ai_road.hpp.sq"
#include "../script/api/ai/ai_roadtypelist.hpp.sq"
#include "../script/api/ai/ai_sign.hpp.sq"
#include "../script/api/ai/ai_signlist.hpp.sq"
#include "../script/api/ai/ai_station.hpp.sq"
#include "../script/api/ai/ai_stationlist.hpp.sq"
#include "../script/api/ai/ai_subsidy.hpp.sq"
#include "../script/api/ai/ai_subsidylist.hpp.sq"
#include "../script/api/ai/ai_testmode.hpp.sq"
#include "../script/api/ai/ai_tile.hpp.sq"
#include "../script/api/ai/ai_tilelist.hpp.sq"
#include "../script/api/ai/ai_town.hpp.sq"
#include "../script/api/ai/ai_townlist.hpp.sq"
#include "../script/api/ai/ai_tunnel.hpp.sq"
#include "../script/api/ai/ai_vehicle.hpp.sq"
#include "../script/api/ai/ai_vehiclelist.hpp.sq"
#include "../script/api/ai/ai_waypoint.hpp.sq"
#include "../script/api/ai/ai_waypointlist.hpp.sq"
/* Convert all AI related classes to Squirrel data. */
#include "../script/api/ai/ai_includes.hpp"
#include "../company_base.h"
#include "../company_func.h"
@ -102,112 +50,8 @@ void AIInstance::RegisterAPI()
{
ScriptInstance::RegisterAPI();
/* Register all classes */
SQAIList_Register(this->engine);
SQAIAccounting_Register(this->engine);
SQAIAirport_Register(this->engine);
SQAIBase_Register(this->engine);
SQAIBaseStation_Register(this->engine);
SQAIBridge_Register(this->engine);
SQAIBridgeList_Register(this->engine);
SQAIBridgeList_Length_Register(this->engine);
SQAICargo_Register(this->engine);
SQAICargoList_Register(this->engine);
SQAICargoList_IndustryAccepting_Register(this->engine);
SQAICargoList_IndustryProducing_Register(this->engine);
SQAICargoList_StationAccepting_Register(this->engine);
SQAICompany_Register(this->engine);
SQAIDate_Register(this->engine);
SQAIDepotList_Register(this->engine);
SQAIEngine_Register(this->engine);
SQAIEngineList_Register(this->engine);
SQAIError_Register(this->engine);
SQAIEvent_Register(this->engine);
SQAIEventAircraftDestTooFar_Register(this->engine);
SQAIEventCompanyAskMerger_Register(this->engine);
SQAIEventCompanyBankrupt_Register(this->engine);
SQAIEventCompanyInTrouble_Register(this->engine);
SQAIEventCompanyMerger_Register(this->engine);
SQAIEventCompanyNew_Register(this->engine);
SQAIEventCompanyTown_Register(this->engine);
SQAIEventController_Register(this->engine);
SQAIEventDisasterZeppelinerCleared_Register(this->engine);
SQAIEventDisasterZeppelinerCrashed_Register(this->engine);
SQAIEventEngineAvailable_Register(this->engine);
SQAIEventEnginePreview_Register(this->engine);
SQAIEventExclusiveTransportRights_Register(this->engine);
SQAIEventIndustryClose_Register(this->engine);
SQAIEventIndustryOpen_Register(this->engine);
SQAIEventRoadReconstruction_Register(this->engine);
SQAIEventStationFirstVehicle_Register(this->engine);
SQAIEventSubsidyAwarded_Register(this->engine);
SQAIEventSubsidyExpired_Register(this->engine);
SQAIEventSubsidyOffer_Register(this->engine);
SQAIEventSubsidyOfferExpired_Register(this->engine);
SQAIEventTownFounded_Register(this->engine);
SQAIEventVehicleAutoReplaced_Register(this->engine);
SQAIEventVehicleCrashed_Register(this->engine);
SQAIEventVehicleLost_Register(this->engine);
SQAIEventVehicleUnprofitable_Register(this->engine);
SQAIEventVehicleWaitingInDepot_Register(this->engine);
SQAIExecMode_Register(this->engine);
SQAIGameSettings_Register(this->engine);
SQAIGroup_Register(this->engine);
SQAIGroupList_Register(this->engine);
SQAIIndustry_Register(this->engine);
SQAIIndustryList_Register(this->engine);
SQAIIndustryList_CargoAccepting_Register(this->engine);
SQAIIndustryList_CargoProducing_Register(this->engine);
SQAIIndustryType_Register(this->engine);
SQAIIndustryTypeList_Register(this->engine);
SQAIInfrastructure_Register(this->engine);
SQAILog_Register(this->engine);
SQAIMap_Register(this->engine);
SQAIMarine_Register(this->engine);
SQAIOrder_Register(this->engine);
SQAIPriorityQueue_Register(this->engine);
SQAIRail_Register(this->engine);
SQAIRailTypeList_Register(this->engine);
SQAIRoad_Register(this->engine);
SQAIRoadTypeList_Register(this->engine);
SQAISign_Register(this->engine);
SQAISignList_Register(this->engine);
SQAIStation_Register(this->engine);
SQAIStationList_Register(this->engine);
SQAIStationList_Cargo_Register(this->engine);
SQAIStationList_CargoPlanned_Register(this->engine);
SQAIStationList_CargoPlannedByFrom_Register(this->engine);
SQAIStationList_CargoPlannedByVia_Register(this->engine);
SQAIStationList_CargoPlannedFromByVia_Register(this->engine);
SQAIStationList_CargoPlannedViaByFrom_Register(this->engine);
SQAIStationList_CargoWaiting_Register(this->engine);
SQAIStationList_CargoWaitingByFrom_Register(this->engine);
SQAIStationList_CargoWaitingByVia_Register(this->engine);
SQAIStationList_CargoWaitingFromByVia_Register(this->engine);
SQAIStationList_CargoWaitingViaByFrom_Register(this->engine);
SQAIStationList_Vehicle_Register(this->engine);
SQAISubsidy_Register(this->engine);
SQAISubsidyList_Register(this->engine);
SQAITestMode_Register(this->engine);
SQAITile_Register(this->engine);
SQAITileList_Register(this->engine);
SQAITileList_IndustryAccepting_Register(this->engine);
SQAITileList_IndustryProducing_Register(this->engine);
SQAITileList_StationType_Register(this->engine);
SQAITown_Register(this->engine);
SQAITownEffectList_Register(this->engine);
SQAITownList_Register(this->engine);
SQAITunnel_Register(this->engine);
SQAIVehicle_Register(this->engine);
SQAIVehicleList_Register(this->engine);
SQAIVehicleList_DefaultGroup_Register(this->engine);
SQAIVehicleList_Depot_Register(this->engine);
SQAIVehicleList_Group_Register(this->engine);
SQAIVehicleList_SharedOrders_Register(this->engine);
SQAIVehicleList_Station_Register(this->engine);
SQAIWaypoint_Register(this->engine);
SQAIWaypointList_Register(this->engine);
SQAIWaypointList_Vehicle_Register(this->engine);
/* Register all classes */
SQAI_RegisterAll(this->engine);
if (!this->LoadCompatibilityScripts(this->versionAPI, AI_DIR)) this->Died();
}

@ -2589,7 +2589,7 @@ struct CompanyWindow : Window
case WID_C_VIEW_HQ: {
TileIndex tile = Company::Get((CompanyID)this->window_number)->location_of_HQ;
if (_ctrl_pressed) {
ShowExtraViewPortWindow(tile);
ShowExtraViewportWindow(tile);
} else {
ScrollMainWindowToTile(tile);
}

@ -2267,7 +2267,7 @@ DEF_CONSOLE_CMD(ConViewportMarkDirty)
return true;
}
ViewPort *vp = FindWindowByClass(WC_MAIN_WINDOW)->viewport;
Viewport *vp = FindWindowByClass(WC_MAIN_WINDOW)->viewport;
uint l = strtoul(argv[1], nullptr, 0);
uint t = strtoul(argv[2], nullptr, 0);
uint r = min<uint>(l + ((argc > 3) ? strtoul(argv[3], nullptr, 0) : 1), vp->dirty_blocks_per_row);

@ -789,7 +789,7 @@ struct DepotWindow : Window {
case WID_D_LOCATION:
if (_ctrl_pressed) {
ShowExtraViewPortWindow(this->window_number);
ShowExtraViewportWindow(this->window_number);
} else {
ScrollMainWindowToTile(this->window_number);
}

@ -230,7 +230,7 @@ public:
int scr_bot = GetMainViewBottom() - 20;
Point pt = RemapCoords(this->position.x, this->position.y, GetSlopePixelZOutsideMap(this->position.x, this->position.y));
const ViewPort *vp = FindWindowById(WC_MAIN_WINDOW, 0)->viewport;
const Viewport *vp = FindWindowById(WC_MAIN_WINDOW, 0)->viewport;
if (this->face == INVALID_COMPANY) {
/* move x pos to opposite corner */
pt.x = UnScaleByZoom(pt.x - vp->virtual_left, vp->zoom) + vp->left;

@ -935,7 +935,10 @@ bool ExtractTar(const char *tar_filename, Subdirectory subdir)
const char *dirname = (*it).second.dirname;
/* The file doesn't have a sub directory! */
if (dirname == nullptr) return false;
if (dirname == nullptr) {
DEBUG(misc, 1, "Extracting %s failed; archive rejected, the contents must be in a sub directory", tar_filename);
return false;
}
char filename[MAX_PATH];
strecpy(filename, tar_filename, lastof(filename));

@ -20,72 +20,8 @@
#include "game_text.hpp"
#include "game.hpp"
/* Convert all Game related classes to Squirrel data.
* Note: this line is a marker in squirrel_export.sh. Do not change! */
#include "../script/api/game/game_accounting.hpp.sq"
#include "../script/api/game/game_admin.hpp.sq"
#include "../script/api/game/game_airport.hpp.sq"
#include "../script/api/game/game_base.hpp.sq"
#include "../script/api/game/game_basestation.hpp.sq"
#include "../script/api/game/game_bridge.hpp.sq"
#include "../script/api/game/game_bridgelist.hpp.sq"
#include "../script/api/game/game_cargo.hpp.sq"
#include "../script/api/game/game_cargolist.hpp.sq"
#include "../script/api/game/game_cargomonitor.hpp.sq"
#include "../script/api/game/game_client.hpp.sq"
#include "../script/api/game/game_clientlist.hpp.sq"
#include "../script/api/game/game_company.hpp.sq"
#include "../script/api/game/game_companymode.hpp.sq"
#include "../script/api/game/game_controller.hpp.sq"
#include "../script/api/game/game_date.hpp.sq"
#include "../script/api/game/game_depotlist.hpp.sq"
#include "../script/api/game/game_engine.hpp.sq"
#include "../script/api/game/game_enginelist.hpp.sq"
#include "../script/api/game/game_error.hpp.sq"
#include "../script/api/game/game_event.hpp.sq"
#include "../script/api/game/game_event_types.hpp.sq"
#include "../script/api/game/game_execmode.hpp.sq"
#include "../script/api/game/game_game.hpp.sq"
#include "../script/api/game/game_gamesettings.hpp.sq"
#include "../script/api/game/game_goal.hpp.sq"
#include "../script/api/game/game_industry.hpp.sq"
#include "../script/api/game/game_industrylist.hpp.sq"
#include "../script/api/game/game_industrytype.hpp.sq"
#include "../script/api/game/game_industrytypelist.hpp.sq"
#include "../script/api/game/game_infrastructure.hpp.sq"
#include "../script/api/game/game_list.hpp.sq"
#include "../script/api/game/game_log.hpp.sq"
#include "../script/api/game/game_map.hpp.sq"
#include "../script/api/game/game_marine.hpp.sq"
#include "../script/api/game/game_news.hpp.sq"
#include "../script/api/game/game_order.hpp.sq"
#include "../script/api/game/game_priorityqueue.hpp.sq"
#include "../script/api/game/game_rail.hpp.sq"
#include "../script/api/game/game_railtypelist.hpp.sq"
#include "../script/api/game/game_road.hpp.sq"
#include "../script/api/game/game_roadtypelist.hpp.sq"
#include "../script/api/game/game_sign.hpp.sq"
#include "../script/api/game/game_signlist.hpp.sq"
#include "../script/api/game/game_station.hpp.sq"
#include "../script/api/game/game_stationlist.hpp.sq"
#include "../script/api/game/game_story_page.hpp.sq"
#include "../script/api/game/game_storypageelementlist.hpp.sq"
#include "../script/api/game/game_storypagelist.hpp.sq"
#include "../script/api/game/game_subsidy.hpp.sq"
#include "../script/api/game/game_subsidylist.hpp.sq"
#include "../script/api/game/game_testmode.hpp.sq"
#include "../script/api/game/game_text.hpp.sq"
#include "../script/api/game/game_tile.hpp.sq"
#include "../script/api/game/game_tilelist.hpp.sq"
#include "../script/api/game/game_town.hpp.sq"
#include "../script/api/game/game_townlist.hpp.sq"
#include "../script/api/game/game_tunnel.hpp.sq"
#include "../script/api/game/game_vehicle.hpp.sq"
#include "../script/api/game/game_vehiclelist.hpp.sq"
#include "../script/api/game/game_viewport.hpp.sq"
#include "../script/api/game/game_waypoint.hpp.sq"
#include "../script/api/game/game_waypointlist.hpp.sq"
#include "../script/api/game/game_window.hpp.sq"
/* Convert all Game related classes to Squirrel data. */
#include "../script/api/game/game_includes.hpp"
#include "../safeguards.h"
@ -108,119 +44,8 @@ void GameInstance::RegisterAPI()
{
ScriptInstance::RegisterAPI();
/* Register all classes */
SQGSList_Register(this->engine);
SQGSAccounting_Register(this->engine);
SQGSAdmin_Register(this->engine);
SQGSAirport_Register(this->engine);
SQGSBase_Register(this->engine);
SQGSBaseStation_Register(this->engine);
SQGSBridge_Register(this->engine);
SQGSBridgeList_Register(this->engine);
SQGSBridgeList_Length_Register(this->engine);
SQGSCargo_Register(this->engine);
SQGSCargoList_Register(this->engine);
SQGSCargoList_IndustryAccepting_Register(this->engine);
SQGSCargoList_IndustryProducing_Register(this->engine);
SQGSCargoList_StationAccepting_Register(this->engine);
SQGSCargoMonitor_Register(this->engine);
SQGSClient_Register(this->engine);
SQGSClientList_Register(this->engine);
SQGSClientList_Company_Register(this->engine);
SQGSCompany_Register(this->engine);
SQGSCompanyMode_Register(this->engine);
SQGSDate_Register(this->engine);
SQGSDepotList_Register(this->engine);
SQGSEngine_Register(this->engine);
SQGSEngineList_Register(this->engine);
SQGSError_Register(this->engine);
SQGSEvent_Register(this->engine);
SQGSEventAdminPort_Register(this->engine);
SQGSEventCompanyBankrupt_Register(this->engine);
SQGSEventCompanyInTrouble_Register(this->engine);
SQGSEventCompanyMerger_Register(this->engine);
SQGSEventCompanyNew_Register(this->engine);
SQGSEventCompanyTown_Register(this->engine);
SQGSEventController_Register(this->engine);
SQGSEventExclusiveTransportRights_Register(this->engine);
SQGSEventGoalQuestionAnswer_Register(this->engine);
SQGSEventIndustryClose_Register(this->engine);
SQGSEventIndustryOpen_Register(this->engine);
SQGSEventRoadReconstruction_Register(this->engine);
SQGSEventStationFirstVehicle_Register(this->engine);
SQGSEventStoryPageButtonClick_Register(this->engine);
SQGSEventStoryPageTileSelect_Register(this->engine);
SQGSEventStoryPageVehicleSelect_Register(this->engine);
SQGSEventSubsidyAwarded_Register(this->engine);
SQGSEventSubsidyExpired_Register(this->engine);
SQGSEventSubsidyOffer_Register(this->engine);
SQGSEventSubsidyOfferExpired_Register(this->engine);
SQGSEventTownFounded_Register(this->engine);
SQGSEventVehicleCrashed_Register(this->engine);
SQGSEventWindowWidgetClick_Register(this->engine);
SQGSExecMode_Register(this->engine);
SQGSGame_Register(this->engine);
SQGSGameSettings_Register(this->engine);
SQGSGoal_Register(this->engine);
SQGSIndustry_Register(this->engine);
SQGSIndustryList_Register(this->engine);
SQGSIndustryList_CargoAccepting_Register(this->engine);
SQGSIndustryList_CargoProducing_Register(this->engine);
SQGSIndustryType_Register(this->engine);
SQGSIndustryTypeList_Register(this->engine);
SQGSInfrastructure_Register(this->engine);
SQGSLog_Register(this->engine);
SQGSMap_Register(this->engine);
SQGSMarine_Register(this->engine);
SQGSNews_Register(this->engine);
SQGSOrder_Register(this->engine);
SQGSPriorityQueue_Register(this->engine);
SQGSRail_Register(this->engine);
SQGSRailTypeList_Register(this->engine);
SQGSRoad_Register(this->engine);
SQGSRoadTypeList_Register(this->engine);
SQGSSign_Register(this->engine);
SQGSSignList_Register(this->engine);
SQGSStation_Register(this->engine);
SQGSStationList_Register(this->engine);
SQGSStationList_Cargo_Register(this->engine);
SQGSStationList_CargoPlanned_Register(this->engine);
SQGSStationList_CargoPlannedByFrom_Register(this->engine);
SQGSStationList_CargoPlannedByVia_Register(this->engine);
SQGSStationList_CargoPlannedFromByVia_Register(this->engine);
SQGSStationList_CargoPlannedViaByFrom_Register(this->engine);
SQGSStationList_CargoWaiting_Register(this->engine);
SQGSStationList_CargoWaitingByFrom_Register(this->engine);
SQGSStationList_CargoWaitingByVia_Register(this->engine);
SQGSStationList_CargoWaitingFromByVia_Register(this->engine);
SQGSStationList_CargoWaitingViaByFrom_Register(this->engine);
SQGSStationList_Vehicle_Register(this->engine);
SQGSStoryPage_Register(this->engine);
SQGSStoryPageElementList_Register(this->engine);
SQGSStoryPageList_Register(this->engine);
SQGSSubsidy_Register(this->engine);
SQGSSubsidyList_Register(this->engine);
SQGSTestMode_Register(this->engine);
SQGSText_Register(this->engine);
SQGSTile_Register(this->engine);
SQGSTileList_Register(this->engine);
SQGSTileList_IndustryAccepting_Register(this->engine);
SQGSTileList_IndustryProducing_Register(this->engine);
SQGSTileList_StationType_Register(this->engine);
SQGSTown_Register(this->engine);
SQGSTownEffectList_Register(this->engine);
SQGSTownList_Register(this->engine);
SQGSTunnel_Register(this->engine);
SQGSVehicle_Register(this->engine);
SQGSVehicleList_Register(this->engine);
SQGSVehicleList_Depot_Register(this->engine);
SQGSVehicleList_SharedOrders_Register(this->engine);
SQGSVehicleList_Station_Register(this->engine);
SQGSViewport_Register(this->engine);
SQGSWaypoint_Register(this->engine);
SQGSWaypointList_Register(this->engine);
SQGSWaypointList_Vehicle_Register(this->engine);
SQGSWindow_Register(this->engine);
/* Register all classes */
SQGS_RegisterAll(this->engine);
RegisterGameTranslation(this->engine);

@ -1439,7 +1439,7 @@ void RedrawScreenRect(int left, int top, int right, int bottom)
}
static std::vector<Rect> _dirty_viewport_occlusions;
static ViewPort *_dirty_viewport;
static Viewport *_dirty_viewport;
static NWidgetDisplay _dirty_viewport_disp_flags;
static void DrawDirtyViewport(uint occlusion, int left, int top, int right, int bottom)
@ -1484,7 +1484,7 @@ static void DrawDirtyViewport(uint occlusion, int left, int top, int right, int
if (_game_mode == GM_MENU) {
RedrawScreenRect(left, top, right, bottom);
} else {
extern void ViewportDrawChk(ViewPort *vp, int left, int top, int right, int bottom);
extern void ViewportDrawChk(Viewport *vp, int left, int top, int right, int bottom);
ViewportDrawChk(_dirty_viewport, left, top, right, bottom);
if (_dirty_viewport_disp_flags & (ND_SHADE_GREY | ND_SHADE_DIMMED)) {
GfxFillRect(left, top, right, bottom,
@ -1584,7 +1584,7 @@ void DrawDirtyBlocks()
}
if (w->viewport != nullptr && !w->IsShaded()) {
ViewPort *vp = w->viewport;
Viewport *vp = w->viewport;
if (vp->is_drawn) {
vp->ClearDirty();
} else if (vp->is_dirty) {

@ -148,7 +148,7 @@ struct GoalListWindow : public Window {
}
if (_ctrl_pressed) {
ShowExtraViewPortWindow(xy);
ShowExtraViewportWindow(xy);
} else {
ScrollMainWindowToTile(xy);
}

@ -54,8 +54,8 @@ void ShowStoryBook(CompanyID company, uint16 page_id = INVALID_STORY_PAGE);
void ShowEstimatedCostOrIncome(Money cost, int x, int y);
void ShowExtraViewPortWindow(TileIndex tile = INVALID_TILE);
void ShowExtraViewPortWindowForTileUnderCursor();
void ShowExtraViewportWindow(TileIndex tile = INVALID_TILE);
void ShowExtraViewportWindowForTileUnderCursor();
void ShowModifierKeyToggleWindow();

@ -1016,7 +1016,7 @@ public:
case WID_IV_GOTO: {
Industry *i = Industry::Get(this->window_number);
if (_ctrl_pressed) {
ShowExtraViewPortWindow(i->location.GetCenterTile());
ShowExtraViewportWindow(i->location.GetCenterTile());
} else {
ScrollMainWindowToTile(i->location.GetCenterTile());
}
@ -1627,7 +1627,7 @@ public:
uint p = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_ID_INDUSTRY_LIST, WD_FRAMERECT_TOP);
if (p < this->industries.size()) {
if (_ctrl_pressed) {
ShowExtraViewPortWindow(this->industries[p]->location.tile);
ShowExtraViewportWindow(this->industries[p]->location.tile);
} else {
ScrollMainWindowToTile(this->industries[p]->location.tile);
}

@ -403,7 +403,7 @@ STR_FILE_MENU_EXIT :Verlaat
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Kaart van wêreld
STR_MAP_MENU_EXTRA_VIEW_PORT :Ekstra toonvenster
STR_MAP_MENU_EXTRA_VIEWPORT :Ekstra toonvenster
STR_MAP_MENU_LINGRAPH_LEGEND :Vragverspreidingsleutel
STR_MAP_MENU_SIGN_LIST :Teken lys
@ -885,7 +885,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK} die dorpsraad van {TOWN} het 'n kontrak met {STRING} aan gegaan vir een jaaar se eksklusiewe vervoer regte
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Toonvenster {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Toonvenster {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Verander toonvenster
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Dupliseer die ligging van die hooftoonvenster na die toonvenster
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Verander hoofaansig

@ -374,7 +374,7 @@ STR_FILE_MENU_EXIT :خروج
# map menu
STR_MAP_MENU_MAP_OF_WORLD :خريطة العالم
STR_MAP_MENU_EXTRA_VIEW_PORT :شاشة عرض اضافية
STR_MAP_MENU_EXTRA_VIEWPORT :شاشة عرض اضافية
STR_MAP_MENU_SIGN_LIST :قائمة العلامات
############ range for town menu starts
@ -836,7 +836,7 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLAC
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK} فوضى طرق عارمة في مدينة {TOWN}!{}{}اعادة ترميم الطرق مولت من قبل شركة {STRING}{} تجلي ستة أشهر من الشقاء لعربات الطريق.
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}شاشة العرض {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}شاشة العرض {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}انسخ لشاشة العرض
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}انسخ موقع الشاشة الرئيسية لشاشة العرض هذه
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}لصق من شاشة العرض

@ -392,7 +392,7 @@ STR_FILE_MENU_EXIT :Irten
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Munduko mapa
STR_MAP_MENU_EXTRA_VIEW_PORT :lehio extra
STR_MAP_MENU_EXTRA_VIEWPORT :lehio extra
STR_MAP_MENU_SIGN_LIST :Seinale zerrenda
############ range for town menu starts
@ -861,7 +861,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN}ko udaletxeak {STRING}rekin urte beterako erabateko garraio-eskubideen kontratua sinatu du!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Leihoa {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Leihoa {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Leihora kopiatu
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK} Leiho nagusian ikusten dena leiho honetara kopiatu
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Aldatu ikuspen nagusia

@ -500,6 +500,7 @@ STR_COLOUR_ORANGE :Памаран
STR_COLOUR_BROWN :Карычневы
STR_COLOUR_GREY :Шэры
STR_COLOUR_WHITE :Белы
STR_COLOUR_RANDOM :Выпадковы
# Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}мiл{P я i яў}/г
@ -546,6 +547,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Выбе
STR_BUTTON_SORT_BY :{BLACK}Сартаваньне
STR_BUTTON_LOCATION :{BLACK}Агляд
STR_BUTTON_RENAME :{BLACK}Перайменаваць
STR_BUTTON_CATCHMENT :{BLACK}Ахоп
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Закрыць вакно
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Загаловак вакна — цягніце яго для перамяшчэньня вакна
@ -574,6 +576,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Калі
STR_BUTTON_DEFAULT :{BLACK}Па змоўчаньнi
STR_BUTTON_CANCEL :{BLACK}Скасаваць
STR_BUTTON_OK :{BLACK}OK
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Увага: адміністратары сервера могуць убачыць ваш пароль.
# On screen keyboard window
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
@ -667,6 +670,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Ґенэ
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Ґенэрацыя гарадоў
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Ґенэрацыя прамысловасьці
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Будаўніцтва аўтамабільных дарог
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Будаўніцтва трамвайных шляхоў
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Пасадзіць дрэвы. Пры націснутым Shift — ацэнка кошту высадкі.
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Паставіць метку
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Разьмясьціць аб'ект. Пры націснутым Shift — ацэнка кошту будаўніцтва.
@ -708,7 +712,7 @@ STR_FILE_MENU_EXIT :Выхад
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Мапа сусьвету
STR_MAP_MENU_EXTRA_VIEW_PORT :Дадатковае вакно прагляду
STR_MAP_MENU_EXTRA_VIEWPORT :Дадатковае вакно прагляду
STR_MAP_MENU_LINGRAPH_LEGEND :Леґенда грузаперавозак
STR_MAP_MENU_SIGN_LIST :Сьпіс таблічак
@ -775,6 +779,7 @@ STR_TOOLBAR_SOUND_MUSIC :Гукі/муз
############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Апошняе паведамленьне
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Гісторыя паведамленьняў
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Выдаліць усе паведамленьні
############ range ends here
############ range for about menu starts
@ -783,6 +788,7 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Кансоль
STR_ABOUT_MENU_AI_DEBUG :Наладка штучнага інтэлекту (ШІ/AI) / скрыптоў
STR_ABOUT_MENU_SCREENSHOT :Здымак экрана (Ctrl+S)
STR_ABOUT_MENU_SHOW_FRAMERATE :Паказаць чашчыню кадраў
STR_ABOUT_MENU_ABOUT_OPENTTD :Аб гульні OpenTTD
STR_ABOUT_MENU_SPRITE_ALIGNER :Выраўноўваньне спрайтаў
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Пераключыць абмежавальныя рамкі
@ -1119,6 +1125,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Дырэктар)
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}Кампанія «{STRING}» сталася фундатарам новага горада {TOWN}!
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Заснаваны новы горад - {TOWN}!
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Новае прадпрыемства! {STRING} буду{G 0 е е е ю}цца каля г. {NBSP}{TOWN}!
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Новае прадпрыемства! {STRING} закладзен{G 0 ы а а ыя} каля г. {NBSP}{TOWN}!
@ -1167,6 +1174,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}З'явіўся новы {STRING}! — {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Адчыніць акно групаў транспарта і абраць групу, да якой прыналежыць гэты транспартны сродак
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} больш не прымае {STRING.acc}
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} больш не прымае {STRING.acc} ды {STRING.acc}
@ -1186,7 +1194,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Мясцовыя ўлады г. {TOWN} падпісалі кантракт з {STRING} на адзін год эксклюзыўных транспартных правоў!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Вакно прагляду {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Вакно прагляду {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Капіяваць у вакно прагляду
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Скапіяваць бягучую пазыцыю ў вакно прагляду
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}У асноўнае акно
@ -1232,6 +1240,11 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Паўднёв
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Уласная...
STR_GAME_OPTIONS_CURRENCY_GEL :Грузінскі лары (GEL)
STR_GAME_OPTIONS_CURRENCY_IRR :Іранскі рыал (IRR)
STR_GAME_OPTIONS_CURRENCY_MXN :Мексіканскі песа (MXN)
STR_GAME_OPTIONS_CURRENCY_NTD :Новы тайваньскі даляр (NTD)
STR_GAME_OPTIONS_CURRENCY_CNY :Кітайскі юань (CNY)
STR_GAME_OPTIONS_CURRENCY_HKD :Ганконскі даляр (HKD)
STR_GAME_OPTIONS_CURRENCY_INR :Індыйская рупія (INR)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Дарожны рух
@ -1294,7 +1307,10 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Звычайн
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Падвоены
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Пачацвяроны
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Памер шрыфта
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Абярыце памер шрыфта, выкарыстоўванага ў гульні
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Звычайны
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Набор базавай ґрафікі
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбар базавага набору ґрафічных аб'ектаў
@ -1478,6 +1494,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Дазволі
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Дазволіць зьмену ляндшафту пад будынкамі й рэйкамi, не выдаляючы іx
STR_CONFIG_SETTING_CATCHMENT :Зона пакрыцьця залежыць ад тыпу станцыі: {STRING}
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Мець розныя памеры тэрыторыі, на якіх розныя тыпы станцыяў ды аэрапортаў зьбіраюць пасажыраў і грузы.
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Пры ўключэнні - прадпрыемствы, якія маюць уласныя станцыі пагрузкі (напрыклад, нафтавыя платформы), змогуць абслугоўвацца таксама і станцыямі гульцоў, пабудаванымі паблізу.{}Пры адключэнні - прадпрыемствы будуць рабіць пагрузку толькі праз свае ўнутраныя станцыі, і гэтыя станцыі будуць абслугоўваць толькі сваё прадпрыемства.
STR_CONFIG_SETTING_EXTRADYNAMITE :Дазволіць знос амаль усіх гарадзкіх аб'ектаў: {STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Спрасьціць знос гарадзкіх будынкаў ды інфраструктуры
STR_CONFIG_SETTING_TRAIN_LENGTH :Максымальная даўжыня цягнiкоў: {STRING}
@ -1494,8 +1511,8 @@ STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Крутась
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Крутасьць сьхаў для аўтатранспарту: {STRING}
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Крутасьць ухілаў для аўтатранспарту. Вышэйшыя значэньні ўскладняюць пад'ём на узгорак
STR_CONFIG_SETTING_FORBID_90_DEG :Забараніць цягнікам і караблям 90-ґрадусныя павароты: {STRING}
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-ґрадусныя павароты здараюцца, калі за гарызантальнымі рэйкамі адразу вынікаюць вэртыкальныя на суседняй клетцы. Цягнік вымушаны паварочваць на 90 ґрадусаў пры перасячэньні клетак замест звычайных 45 ґрадусаў пры іншай камбінацыі каляінаў. Гэта таксама датычыць радыюса паваротаў для караблёў.
STR_CONFIG_SETTING_FORBID_90_DEG :Забараніць цягнікам 90-ґрадусныя павароты: {STRING}
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-ґрадусныя павароты здараюцца, калі за гарызантальнымі рэйкамі адразу вынікаюць вэртыкальныя на суседняй клетцы. Цягнік вымушаны паварочваць на 90 ґрадусаў пры перасячэньні клетак замест звычайных 45 ґрадусаў пры іншай камбінацыі каляінаў.
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Дазволіць аб'яднаньне станцыяў, не прымыкаючых адна да адной: {STRING}
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дазволіць дадаць частку станцыі, якая непасрэдна не прылягае да існуючых частак. Патрабуе Ctrl+пстрычку пры разьмяшчэньні новых частак.
STR_CONFIG_SETTING_INFLATION :Уключыць інфляцыю: {STRING}
@ -1551,8 +1568,8 @@ STR_CONFIG_SETTING_PLANE_SPEED :Множнiк
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Усталяваць адносную хуткасьць самалётаў у параўнаньні зь іншымі транспартнымі сродкамі, каб зьменшыць даходы ад авіяперавозак.
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
STR_CONFIG_SETTING_PLANE_CRASHES :Верагоднасьць авіякатастрофаў: {STRING}
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Усталяваць, зь якой верагоднасьцю можа здарыцца крушэньне паветранага судна.
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :адсутнічае
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Наладка верагоднасьці падзеньня самалёта.{}* У буйных самалётаў заўсёды ёсць рызыка крушэньня пры пасадцы ў маленькіх аэрапортах.
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :адсутнічае*
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :зьніжаная
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :звычайная
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дазволіць будаўніцтва прыпынкаў Ro-Ro на дарогах гарадзкой уласнасьці: {STRING}
@ -1563,6 +1580,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Зьме
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Утрыманьне iнфраструктуры: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Калі ўключана, інфраструктура патрабуе выдаткаў на ўтрыманьне. Кошт расьце прапарцыянальна памерам сеткі, таму гэта больш датычыць вялікіх кампаніяў, ніж малых.
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Фірмовы колер кампаніі: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Малыя аэрапорты ніколі не састарэюць: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Уключэньне гэтай наладкі робіць усе віды аэрапортаў даступнымі назаўжды.
@ -1597,6 +1615,7 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Паказва
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Паказваць у надпісах на мапе колькасьць жыхароў населеных пунктаў адразу пасьля іх назвы.
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Таўшчыня лiнiяў у ґрафiках: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Таўшчыня лініяў ґрафікаў. Тонкая лінія дакладней, тоўстую лягчэй убачыць і адрозьніць колер.
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Паказваць назву модуля NewGRF, што змяшчае абраную мадэль транспартнага сродку, у акне куплі транспарта.
STR_CONFIG_SETTING_LANDSCAPE :Тып карты: {STRING}
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Выбар тыпу мапы вызначае аснову гульнёвага працэсу, напрыклад, даступныя тыпы транспарта і грузаў, розныя ўмовы росту гарадоў. Усё гэта таксама можа быць зменена з дапамогай модуляў NewGRF і гульнёвых скрыптоў.
@ -1608,8 +1627,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Тып ланд
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Толькі для TerraGenesis){}Узгоркаватасць ландшафту
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Колькасць прадпрыемстваў: {STRING}
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Выберыце, колькі прадпрыемстваў ствараць напачатку і на якім узроўні падтрымліваць іх колькасць падчас гульні.
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. адлегласьць ад краю мапы да нафтаперапрацоўчых заводаў: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нафтаперапрацоўчыя заводы будуюцца толькі каля краю мапы, у тым ліку на востраве.
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. адлегласьць ад краю мапы да прадпрыемстваў нафтавае індустрыі: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Гэта наладка абмяжоўвае адлегласьць ад краю мапы да нафтавых платформаў і нафтаперапрацоўчых заводаў. Такім чынам, на краях мапы, якія сканчаюцца вадою, яны будуць будавацца ля берага. На мапах памерам больш 256 гэта значэньне будзе адпаведна павялічана.
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Вышыня сьнегавой лініі: {STRING}
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Азначце, на якой вышыні ў субарктычным клімаце ўсталёўваецца снегавы полаг. Наяўнасьць снега ўплывае на расстаноўку прадпрыемстваў і на ўмовы росту гарадоў.
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Нароўнасьць ляндшафту: {STRING}
@ -1773,6 +1792,8 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Дазволі
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Дазволіць кампутарным гульцам (штучнаму інтэлекту) браць удзел у сеткавых гульнях.
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Колькасьць апэрацыяў перад спыненьнем скрыптоў: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Максымальная колькасьць вылічэньняў, якія скрыпт можа выканаць за раз.
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Макс. аб'ём памяці для скрыпту: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} МіБ
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтэрвал абслугоўваньня ў адсотках (%): {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Выбраць, ці залежыць абслугоўваньне транспарту ад даты апошняга абслугоўваньня або ад падзеньня надзейнасьці на пэўны адсотак ад максымальнай.
@ -1831,10 +1852,14 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Цалкам
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Каляровыя ґазэты з'яўляюцца ў {STRING} годзе
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Год, у якім ґазэты пачынаюць друкавацца каляровымі. Да гэтага году — выходзяць чорна-белымі.
STR_CONFIG_SETTING_STARTING_YEAR :Год пачатку гульні: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколі
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Уключыць лагодную эканоміку (больш дробных зьменаў): {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Калі ўключана, вытворчасьць прадпрыемстваў зьмяняецца часьцей ды малымі крокамі. Гэтая наладка звычайна не дае эфэкту, калі тыпы прадпрыемстваў вызначае набор новай ґрафікі (NewGRF).
STR_CONFIG_SETTING_ALLOW_SHARES :Дазволіць купляць акцыі іншых кампаніяў: {STRING}
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Калі ўключана, дазваляецца купляць і прадаваць долі ў кампаніях. Акцыі даступны для кампаніяў, якія дасягнулі пэўнага ўзросту.
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Мін. узрост кампаніі для выпуску акцыяў: {STRING}
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Мінімальны ўзрост, якога павінна дасягнуць кампанія для пачатку выпуску акцыяў, якімі змогуць гандляваць іншыя гульцы.
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Адсотак даходу, якi налiчваецца пры частковай перавозцы: {STRING}
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Адсотак даходу, які налічваецца на прамежкавых адцінках у вялікіх сетках, даючы большы кантроль над даходамі.
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Пры цягненьнi з Ctrl расстаўляць сыґналы кожныя: {STRING}
@ -1875,6 +1900,10 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Уключэн
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :забаронена
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :дазволена
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :дазволена з выбарам дарожнай сеткі
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Колькасць грузаў і пасажыраў у гарадах: {STRING}
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Залежнасць колькасці грузаў і пасажыраў ад памеру горада.{}Лінейная: у горадзе двухразовага памеру з'яўляецца ў 2 разу больш пасажыраў.{}Квадратычная: у горадзе двухразовага памеру з'яўляецца ў 4 разу больш пасажыраў.
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :квадратычная залежнасьць (арыґінальная)
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :лінейная залежнасць
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Расстаноўка дрэваў у гульні: {STRING}
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Кантроль адвольнага з'яўленьня дрэваў падчас гульні. Гэта можа закрануць прадпрыемствы, якія залежаць ад росту дрэваў, напрыклад, пільні.
@ -2116,6 +2145,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Зьмя
STR_CHEAT_SETUP_PROD :{LTBLUE}Дазволіць зьмяненьне прадукцыйнасьці: {ORANGE}{STRING}
# Livery window
STR_LIVERY_CAPTION :{WHITE}Колеры кампаніі «{COMPANY}»
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Паказаць асноўныя каляровыя схэмы
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Паказаць каляровыя схэмы цягнікоў
@ -2375,6 +2405,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Адлу
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Сэрвэр абаронены. Увядзіце пароль
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Кампанія абароненая. Увядзіце пароль
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Сьпіс кліентаў
# Network company list added strings
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Сьпіс кліентаў
@ -2420,7 +2451,7 @@ STR_NETWORK_CHAT_ALL :[Усім] {STR
STR_NETWORK_CHAT_OSKTITLE :{BLACK}Увядзіце тэкст для каманднага чату
# Network messages
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ня знойдзена сеткавых прыстасаваньняў, ці гульня скампіляваная без падтрымкі сеткі
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ня знойдзена сеткавых прыстасаваньняў
STR_NETWORK_ERROR_NOSERVER :{WHITE}Сеткавыя гульні ня знойдзеныя
STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Сэрвэр не адказвае на запыт
STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Немагчыма далучыцца з-за неадпаведнасьці NewGRF
@ -2436,6 +2467,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Няпр
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Сэрвэр перапоўнены
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Доступ на гэты сэрвэр вам забаронены
STR_NETWORK_ERROR_KICKED :{WHITE}Вас выкінулі з гульні
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Прычына: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}Махлярства не дазволена на гэтым сэрвэры
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Вы дасылалi да сэрвэра занадта шмат камандаў
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Вы задоўга ня можаце ўвесьцi пароль
@ -2688,9 +2720,9 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Камб
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Маршрутны сьветлафор (PMS).{}Дазваляе некалькім цягнікам знаходзіцца ў адным сыґнальным блёку, калі кожны зь іх можа зарэзэрваваць сабе бясьпечны шлях. Дазваляе праходжаньне цягнікоў у абодва бакі.
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Аднабаковы маршрутны сьветлафор (PMS).{}Дазваляе некалькім цягнікам знаходзіцца ў адным сыґнальным блёку, калі кожны зь іх можа зарэзэрваваць сабе бясьпечны шлях. Не дазваляе цягнікам праходзіць з адваротнага боку.
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Зьмяненьне тыпаў сыґналаў.{}Калі кнопка націснута, пстрыкніце для пераўтварэньня існуючага сыґнала ў сыґнал выбранага тыпу й віду, або пстрыкніце з націснутым Ctrl для перабіраньня існуючых варыянтаў. Shift+пстрычка — ацэнка кошту пераўтварэньня.
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Шчыльнасьць аўтаматычнай расстаноўкі сыґналаў пры цягненьні
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Паменшыць шчыльнасьць расстаноўкі сыґналаў
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Павялічыць шчыльнасьць расстаноўкі сыґналаў
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Адлегласьць паміж сыґналамі пры працягваньні.
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Паменшыць адлегласць паміж сыґналамі пры працягваньні
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Павялічыць адлегласць паміж сыґналамі пры працягваньні
# Bridge selection window
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Выберыце чыгуначны мост
@ -2729,6 +2761,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Буда
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Будаўніцтва/выдаленьне аўтамабільных дарогаў
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Будаўніцтва/выдаленьне трамвайных каляінаў
STR_ROAD_NAME_ROAD :Аўтамабільная дарога
# Road depot construction window
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Кірунак гаража
@ -2917,6 +2950,7 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Прымае: {LTBLUE}
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Тып чыгуначнага палатна: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Тып дарожнага палатна: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Макс. хуткасьць чыгункi: {LTBLUE}{VELOCITY}
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Макс. хуткасьць аўтамабіляў: {LTBLUE}{VELOCITY}
@ -3018,9 +3052,42 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002{STRING} Каманда распрацоўнікаў OpenTTD
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Хуткасць гульні
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Хуткасць разліку гульні: {STRING}
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Колькасць адлюстроўваных кадраў у секунду.
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Бягучая хуткасьць гульні: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Фактычная хуткасьць гульні (у параўнаньні з чаканаю хуткасьцю пры звычайнай хуткасьці сімуляцыі).
STR_FRAMERATE_DATA_POINTS :{BLACK}Дадзеныя па {COMMA} вымярэнь{P ню ям ям}
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} мс
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} мс
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} кадр{P "" а аў}/с
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} кадр{P "" а аў}/с
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} мс
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} с
############ Leave those lines in this order!!
STR_FRAMERATE_GAMELOOP :{BLACK}Разлік гульнявога цыклу:
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Рух паветраных судоў:
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Затрымка ґрафа размеркаваньня:
STR_FRAMERATE_ALLSCRIPTS :{BLACK}Усяго скрыптоў/ШІ:
STR_FRAMERATE_GAMESCRIPT :{BLACK} Гульнявы скрыпт:
STR_FRAMERATE_AI :{BLACK} ШІ {NUM} {STRING}
############ End of leave-in-this-order
############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Разлік гульнявога цыклу
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Рух аўтамабіляў
STR_FRAMETIME_CAPTION_GL_SHIPS :Рух караблёў
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Рух паветраных судоў
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Разлік зменаў на мапе
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Затрымка ґрафа размеркаваньня
STR_FRAMETIME_CAPTION_DRAWING :Адмалёўка адлюстравання
STR_FRAMETIME_CAPTION_VIDEO :Вывад на экран
STR_FRAMETIME_CAPTION_SOUND :Апрацоўка гуку
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Агульны час выканання скрыптоў
STR_FRAMETIME_CAPTION_GAMESCRIPT :Час выканання гульнявога скрыпту
STR_FRAMETIME_CAPTION_AI :ШІ {NUM} {STRING}
############ End of leave-in-this-order
@ -3046,6 +3113,8 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Зьве
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Няма зьвесткаў.
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Перазапіс файла
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Перазапісаць файл?
STR_SAVELOAD_OSKTITLE :{BLACK}Увядзіце назву для захаваньня гульні
@ -3163,7 +3232,10 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Вэрс
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Патрэбна вэрсгульнi не ніжэй за {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}Сума MD5: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Палітра: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Састарэлая (W)
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Састарэлая (W) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Парамэтры: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Няма
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Няма даступнай інфармацыі
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Файл ня знойдзены
@ -3244,6 +3316,8 @@ STR_NEWGRF_ERROR_READ_BOUNDS :Чытаньн
STR_NEWGRF_ERROR_GRM_FAILED :Запытаныя рэсурсы GRF недаступныя (спрайт {3:NUM})
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} быў адключаны з-за {2:STRING}
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Недапушчальны/невядомы фармат размяшчэньня спрайтаў (спрайт {3:NUM})
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Занадта шмат элементаў у спісе значэнняў (спрайт {3:NUM}, уласцівасць {4:HEX})
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Няверная апрацоўка прадукцыі прадпрыемства (спрайт {3:NUM}, "{2:STRING}")
# NewGRF related 'general' warnings
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Асьцярожна!
@ -3341,6 +3415,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Перайме
# Town local authority window
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Адміністрацыя г. {NBSP}{TOWN}
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Мяжа
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Рэйтынґ транспартных кампаніяў
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Даступныя дзеяньні:
@ -3369,6 +3444,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дац
# Goal window
STR_GOALS_CAPTION :{WHITE}Задачы кампаніі «{COMPANY}»
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глабальныя задачы
STR_GOALS_SPECTATOR :Агульныя задачы
STR_GOALS_GLOBAL_TITLE :{BLACK}Агульныя задачы:
STR_GOALS_TEXT :{ORANGE}{STRING}
STR_GOALS_NONE :{ORANGE}- Няма -
@ -3609,7 +3685,12 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Прамысловасьць
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Няма -
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_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} і яшчэ {NUM}...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Сьпіс прадпрыемстваў: пстрычка па назьве паказвае прадпрыемства ў асноўным вакне. Ctrl+клік - у дадатковым вакне.
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Любы
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Адсутнічае
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -3619,6 +3700,8 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Пака
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Прадукцыйнасьць: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Прадпрыемства хутка закрываецца!
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Патрабуе: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Патрабуецца:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
@ -3677,6 +3760,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ґруп
STR_GROUP_CREATE_TOOLTIP :{BLACK}Стварыць групу
STR_GROUP_DELETE_TOOLTIP :{BLACK}Выдаліць выбраную групу
STR_GROUP_RENAME_TOOLTIP :{BLACK}Перайменаваць выбраную групу
STR_GROUP_LIVERY_TOOLTIP :{BLACK}Змяніць колер абранае групы
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Абарона транспарту ў групе ад глабальнай аўтазамены
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Выдаліць ґрупу
@ -3699,9 +3783,11 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Новы мон
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Новы маґнітарэйкавы цягнік
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Новы аўтамабiль
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Новыя трамваі
############ range for vehicle availability starts
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Новы цягнiк
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Новы дарожны транспарт
STR_BUY_VEHICLE_SHIP_CAPTION :Новы карабель
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Новы авiятранспарт
############ range for vehicle availability ends
@ -3717,8 +3803,10 @@ STR_PURCHASE_INFO_REFITTABLE :(пераабс
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Распрацаваны ў {GOLD}{NUM} г.{BLACK} Тэрмін службы: {GOLD}{COMMA} г{P од ады адоў}
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Макс. надзейнасьць: {GOLD}{COMMA}%
STR_PURCHASE_INFO_COST :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} (Кошт пераабсталявання: {GOLD}{CURRENCY_LONG}{BLACK})
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Вага: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} Хуткасьць: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} (Вартасць пераабсталявання: {GOLD}{CURRENCY_LONG}{BLACK}) Хуткасць: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Ёмістасьць: {GOLD}{CARGO_LONG}, {CARGO_LONG}
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Маторныя ваґоны: {GOLD}+{POWER}{BLACK} Вага: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Пераабст. для: {GOLD}{STRING}
@ -3738,12 +3826,17 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Купі
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Купіць
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Купіць
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купіць і пераабсталяваць
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны лякаматыў/ваґон. Shift+пстрычка — ацэнка кошту набыцьця.
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны аўтамабіль. Shift+пстрычка — ацэнка кошту набыцьця.
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны карабель. Shift+пстрычка — ацэнка кошту набыцьця.
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны авіятранспарт. Shift+пстрычка — ацэнка кошту набыцьця.
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны лякаматыў/ваґон. Shift+пстрычка пакажа арыентыровачны кошт куплі.
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны аўтамабіль. Shift+пстрычка пакажа арыентыровачны кошт куплі.
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць вылучанае судна. Shift+пстрычка пакажа арыентыровачны кошт куплі.
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абранае паветранае судна. Shift+пстрычка пакажа арыентыровачны кошт куплі.
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Перайменаваць
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Перайменаваць
@ -3928,6 +4021,8 @@ STR_REPLACE_ELRAIL_VEHICLES :Чыгунач
STR_REPLACE_MONORAIL_VEHICLES :Монарэйкавыя ТС
STR_REPLACE_MAGLEV_VEHICLES :Маґнітныя ТС
STR_REPLACE_ROAD_VEHICLES :Аўтатранспарт
STR_REPLACE_TRAM_VEHICLES :Трамваі
STR_REPLACE_REMOVE_WAGON :{BLACK}Выдаленьне ваґонаў: {ORANGE}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Дазволіць пры аўтазамене захоўваць даўжыню цягнікоў шляхам выдаленьня ваґонаў (пачынаючы з галавы цягніка), калі пры аўтазамене лякаматыва павялічыцца даўжыня цягніка.
@ -4148,6 +4243,7 @@ STR_ORDER_CONDITIONAL_AGE :Узрост (
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Патрабуецца абслугоўваньне
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Заўсёды
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Рэшткавы тэрмiн службы (гадоў)
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Максімальная надзейнасць
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Умова пераходу
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :роўна
@ -4378,6 +4474,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Выбр
STR_AI_LIST_CANCEL :{BLACK}Скасаваць
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не змяняць скрыпт
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Бачная вобласць у максімальным набліжэнні
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}Параметры {STRING}
@ -4670,6 +4767,9 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Не а
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Не атрымалася выдаліць трамвайныя каляiны...
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}...тут няма дарогi
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}...тут няма трамвайных каляiнаў
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Тут немагчыма змяніць тып дарожнага палатна...
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Няма прыдатнага дарожнага палатна
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... несумяшчальны тып трамвайных каляінаў
# Waterway construction errors
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Тут немагчыма пабудаваць канал...

@ -396,7 +396,7 @@ STR_FILE_MENU_EXIT :Sair
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa do mundo
STR_MAP_MENU_EXTRA_VIEW_PORT :Janela extra
STR_MAP_MENU_EXTRA_VIEWPORT :Janela extra
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda do Fluxo de Carga
STR_MAP_MENU_SIGN_LIST :Lista de sinais
@ -876,7 +876,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Prefeitura de {TOWN} assina contrato de exclusividade com {STRING} por um ano!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Janela {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Janela {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Alterar visualização
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copiar o local da tela principal para esta janela
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Colar da visualização principal

@ -396,7 +396,7 @@ STR_FILE_MENU_EXIT :Изход
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Карта на света
STR_MAP_MENU_EXTRA_VIEW_PORT :Допълнителна камера
STR_MAP_MENU_EXTRA_VIEWPORT :Допълнителна камера
STR_MAP_MENU_SIGN_LIST :Списък с табели
############ range for town menu starts
@ -867,7 +867,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Местните власти на {TOWN} подписаха договор с {STRING} за едногодишни ексклузивни транспортни права
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Камера {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Камера {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Преместване на камерата
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Преместване на тази камера до глобалната
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Преместване глобалната камера

@ -400,7 +400,7 @@ STR_FILE_MENU_EXIT :Surt
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa del món
STR_MAP_MENU_EXTRA_VIEW_PORT :Vista extra
STR_MAP_MENU_EXTRA_VIEWPORT :Vista extra
STR_MAP_MENU_LINGRAPH_LEGEND :Llegenda del flux de càrrega
STR_MAP_MENU_SIGN_LIST :Llista de senyals
@ -881,7 +881,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}L'autoritat local de {TOWN} signa un contracte amb {STRING} per l'explotació en exclusiva dels drets de transport durant un any
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Canvia la vista extra
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Mou aquesta vista on està la vista principal
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Canvia vista principal

@ -498,7 +498,7 @@ STR_FILE_MENU_EXIT :Izlaz
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Karta svijeta
STR_MAP_MENU_EXTRA_VIEW_PORT :Dodatni pogled
STR_MAP_MENU_EXTRA_VIEWPORT :Dodatni pogled
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda protoka tereta
STR_MAP_MENU_SIGN_LIST :Popis znakova
@ -980,7 +980,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Lokalna vlast {TOWN} potpisuje ugovor sa {STRING} za jednogodišnja ekskluzivna prava transporta!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Mini pogled {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Mini pogled {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Promijeni pogled
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiraj lokaciju globalnog pogleda u ovaj mini pogled
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Promijeni glavni pogled

@ -481,7 +481,7 @@ STR_FILE_MENU_EXIT :Ukončit progra
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa světa
STR_MAP_MENU_EXTRA_VIEW_PORT :Další pohled
STR_MAP_MENU_EXTRA_VIEWPORT :Další pohled
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda toku nákladu
STR_MAP_MENU_SIGN_LIST :Seznam popisků
STR_MAP_MENU_PLAN_LIST :Seznam plánů
@ -980,7 +980,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Místní správa města {TOWN} podepsala dohodu s {STRING} na jeden rok exkluzivní dopravy!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Pohled {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Pohled {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Nastavit jako pohled
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Nastavit současné zorné pole jako pohled
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Změnit hlavní pohled

@ -403,7 +403,7 @@ STR_FILE_MENU_EXIT :Afslut
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Kort over verden
STR_MAP_MENU_EXTRA_VIEW_PORT :Nyt lokalitetsvindue
STR_MAP_MENU_EXTRA_VIEWPORT :Nyt lokalitetsvindue
STR_MAP_MENU_LINGRAPH_LEGEND :Laststrømforklaring
STR_MAP_MENU_SIGN_LIST :Liste over skilte
@ -885,7 +885,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Myndighederne i {TOWN} skriver kontrakt med {STRING} på et års eksklusive transportrettigheder!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Lokalitetsvindue {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Lokalitetsvindue {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Hent hovedvisning
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Bevæg denne visning til samme sted som hovedvisningen
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Flyt hovedvisning

@ -402,7 +402,7 @@ STR_FILE_MENU_EXIT :Afsluiten
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Wereldkaart
STR_MAP_MENU_EXTRA_VIEW_PORT :Extra kijkvenster
STR_MAP_MENU_EXTRA_VIEWPORT :Extra kijkvenster
STR_MAP_MENU_LINGRAPH_LEGEND :Vrachtstroomlegende
STR_MAP_MENU_SIGN_LIST :Bordjeslijst
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Gemeentebestuur van {TOWN} tekent contract met {STRING} voor een jaar exclusieve transportrechten!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Kijkvenster {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Kijkvenster {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Verander kijkvenster
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopieer de locatie van het algemene scherm naar dit kijkvenster
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Verander algemeen scherm

@ -407,7 +407,7 @@ STR_FILE_MENU_EXIT :Exit
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Map of world
STR_MAP_MENU_EXTRA_VIEW_PORT :Extra viewport
STR_MAP_MENU_EXTRA_VIEWPORT :Extra viewport
STR_MAP_MENU_LINGRAPH_LEGEND :Cargo Flow Legend
STR_MAP_MENU_SIGN_LIST :Sign list
STR_MAP_MENU_PLAN_LIST :Plan list
@ -894,7 +894,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Local authority of {TOWN} signs contract with {RAW_STRING} for one year of exclusive transport rights!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Change viewport
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copy the location of the main view to this viewport
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Change main view

@ -386,7 +386,7 @@ STR_FILE_MENU_EXIT :Exit
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Map of world
STR_MAP_MENU_EXTRA_VIEW_PORT :Extra viewport
STR_MAP_MENU_EXTRA_VIEWPORT :Extra viewport
STR_MAP_MENU_LINGRAPH_LEGEND :Cargo Flow Legend
STR_MAP_MENU_SIGN_LIST :Sign list
@ -860,7 +860,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Local authority of {TOWN} signs contract with {STRING} for one year of exclusive transport rights!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Copy to viewport
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copy the location of the main view to this viewport
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Paste from viewport

@ -402,7 +402,7 @@ STR_FILE_MENU_EXIT :Quit
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Map of world
STR_MAP_MENU_EXTRA_VIEW_PORT :Extra viewport
STR_MAP_MENU_EXTRA_VIEWPORT :Extra viewport
STR_MAP_MENU_LINGRAPH_LEGEND :Cargo Flow Legend
STR_MAP_MENU_SIGN_LIST :Sign list
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Local authority of {TOWN} signs contract with {STRING} for one year of exclusive transport rights!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Change viewport
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copy the location of the main view to this viewport
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Change main view

@ -389,7 +389,7 @@ STR_FILE_MENU_EXIT :Fermu
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mondomapo
STR_MAP_MENU_EXTRA_VIEW_PORT :Plia vidujo
STR_MAP_MENU_EXTRA_VIEWPORT :Plia vidujo
STR_MAP_MENU_LINGRAPH_LEGEND :Legendo de ŝarĝfluo
STR_MAP_MENU_SIGN_LIST :Afiŝa listo
@ -856,7 +856,7 @@ STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transporta monopolo!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vidujo {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vidujo {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopiu al vidujo
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiu la lokon de la ĉefvido al ĉi tiu vidujo
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Gluu de vidujo

@ -454,7 +454,7 @@ STR_FILE_MENU_EXIT :Välju
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Maailmakaart
STR_MAP_MENU_EXTRA_VIEW_PORT :Lisa vaateaken
STR_MAP_MENU_EXTRA_VIEWPORT :Lisa vaateaken
STR_MAP_MENU_LINGRAPH_LEGEND :Kaubavoo legend
STR_MAP_MENU_SIGN_LIST :Siltide register
@ -929,7 +929,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Kohalik linnavõim{TOWN} allkirjastab lepingu {STRING} transpordi ainuõiguseks üheks aastaks!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vaateaken {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vaateaken {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopeeri vaateaknasse
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopeeri praegune vaade vaateaknasse
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Muuda peamist vaadet

@ -374,7 +374,7 @@ STR_FILE_MENU_EXIT :Gevst
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Heimskort
STR_MAP_MENU_EXTRA_VIEW_PORT :Eyka synisgluggi
STR_MAP_MENU_EXTRA_VIEWPORT :Eyka synisgluggi
STR_MAP_MENU_SIGN_LIST :Listi yvur tekin
############ range for town menu starts
@ -841,7 +841,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Mynduleikanir í {TOWN} skriva undir sáttmála við {STRING} fyri einkarrætt av flutningi í eitt ár!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Sýnisgluggi {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Sýnisgluggi {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Rita til sýnisglugga
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Avrita staðið í høvuðsglugganum inn hendan sýnisgluggan
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Set inn frá sýnisglugga

@ -402,7 +402,7 @@ STR_FILE_MENU_EXIT :Sulje
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Maailmankartta
STR_MAP_MENU_EXTRA_VIEW_PORT :Lisänäkymä
STR_MAP_MENU_EXTRA_VIEWPORT :Lisänäkymä
STR_MAP_MENU_LINGRAPH_LEGEND :Rahtivirran selitys
STR_MAP_MENU_SIGN_LIST :Kylttilista
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN} ja {STRING} allekirjoittavat sopimuksen vuoden pituisesta kuljetusyksinoikeudesta!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Näkymä {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Näkymä {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Päänäkymästä tähän
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopioi päänäkymän sijainti tähän näkymään
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Vaihda päänäkymää

@ -403,7 +403,7 @@ STR_FILE_MENU_EXIT :Quitter le jeu
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Carte du monde
STR_MAP_MENU_EXTRA_VIEW_PORT :Vue supplémentaire
STR_MAP_MENU_EXTRA_VIEWPORT :Vue supplémentaire
STR_MAP_MENU_LINGRAPH_LEGEND :Légende du flux de marchandises
STR_MAP_MENU_SIGN_LIST :Liste des panneaux
@ -885,7 +885,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Les autorités locales de {TOWN} signent avec {STRING} un contrat d'exclusivité des transports valable un an{NBSP}!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vue {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vue {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Modifier cette vue
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copier l'emplacement de la vue principale vers cette vue
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Modifier la vue principale
@ -936,6 +936,7 @@ STR_GAME_OPTIONS_CURRENCY_MXN :Peso méxicain
STR_GAME_OPTIONS_CURRENCY_NTD :Nouveau Dollar de Taïwan (TWD)
STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi Chinois (CNY)
STR_GAME_OPTIONS_CURRENCY_HKD :Dollar de Hong Kong (HKD)
STR_GAME_OPTIONS_CURRENCY_INR :Roupie indienne (INR)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Véhicules routiers

@ -583,7 +583,7 @@ STR_FILE_MENU_EXIT :Fàg an-seo
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa an t-saoghail
STR_MAP_MENU_EXTRA_VIEW_PORT :Port-seallaidh a bharrachd
STR_MAP_MENU_EXTRA_VIEWPORT :Port-seallaidh a bharrachd
STR_MAP_MENU_LINGRAPH_LEGEND :Clàr-mìneachaidh an t-srutha carago
STR_MAP_MENU_SIGN_LIST :Liosta nan sanas
@ -1074,7 +1074,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Chuir an t-ùghdarras ionadail aig {TOWN} a làimh ri cùmhnant le {STRING} air còraichean giùlain às-dùnach fad bliadhna!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Port-seallaidh {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Port-seallaidh {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Atharraich am port-seallaidh
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Cuir lethbhreac dhen ionad air a' phrìomh shealladh sa phort-seallaidh seo
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Atharraich am prìomh phort-seallaidh

@ -403,7 +403,7 @@ STR_FILE_MENU_EXIT :Saír
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa do mundo
STR_MAP_MENU_EXTRA_VIEW_PORT :Xanela extra
STR_MAP_MENU_EXTRA_VIEWPORT :Xanela extra
STR_MAP_MENU_LINGRAPH_LEGEND :Lenda de tomar carga
STR_MAP_MENU_SIGN_LIST :Lista de rótulos
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}As autoridades locáis de {TOWN} asinan un contrato con {STRING} por un ano de dereitos de transporte exclusivos!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Cambiar xanela
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copia-la sitaución da vista principal a esta vista
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Cambia a vista principal

@ -403,7 +403,7 @@ STR_FILE_MENU_EXIT :OpenTTD beenden
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Weltkarte
STR_MAP_MENU_EXTRA_VIEW_PORT :Zusatzansicht
STR_MAP_MENU_EXTRA_VIEWPORT :Zusatzansicht
STR_MAP_MENU_LINGRAPH_LEGEND :Frachtverbindungen
STR_MAP_MENU_SIGN_LIST :Schilderliste
STR_MAP_MENU_PLAN_LIST :Planliste
@ -886,7 +886,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Stadtverwaltung von {TOWN} unterzeichnet Vertrag mit {STRING} über ein Jahr währende exklusive Transportrechte!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Ansicht {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Ansicht {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Zusatzansicht ändern
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Aktuelle Position der Hauptansicht in diese Zusatzansicht kopieren
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Hauptansicht ändern

@ -458,7 +458,7 @@ STR_FILE_MENU_EXIT :Έξοδος
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Χάρτης του κόσμου
STR_MAP_MENU_EXTRA_VIEW_PORT :Πρόσθετη εμφάνιση
STR_MAP_MENU_EXTRA_VIEWPORT :Πρόσθετη εμφάνιση
STR_MAP_MENU_LINGRAPH_LEGEND :Υπόμνημα Ροής Φορτίου
STR_MAP_MENU_SIGN_LIST :Λίστα πινακίδων
@ -985,7 +985,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Οι τοπικές αρχές της πόλης {TOWN} υπογράφουν συμβόλαιο με την εταιρεία {STRING} για αποκλειστικά δικαιώματα μεταφορών ενός έτους!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Εμφάνιση {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Εμφάνιση {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Αντιγραφή στο παράθυρο εμφάνισης
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Αντιγραφή της τοποθεσίας της κύριας προβολής σε αυτό το παράθυρο εμφάνισης
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Επικόλληση από παράθυρο εμφάνισης

@ -409,7 +409,7 @@ STR_FILE_MENU_EXIT :יציאה
# map menu
STR_MAP_MENU_MAP_OF_WORLD :מפת העולם
STR_MAP_MENU_EXTRA_VIEW_PORT :השקפה נוספת
STR_MAP_MENU_EXTRA_VIEWPORT :השקפה נוספת
STR_MAP_MENU_LINGRAPH_LEGEND :מקרא זרימת מטענים
STR_MAP_MENU_SIGN_LIST :רשימת שלטים
@ -887,7 +887,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}הרשות המקומית של {TOWN} חותמת חוזה עם {STRING} המעניק זכויות תעבורה בלעדיות למשך שנה!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}השקפה {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}השקפה {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}העתק להשקפה
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}העתק את מיקום חלון התצוגה הראשי לחלון תצוגה זה
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}עבור למיקום שנמצא בחלון התצוגה

@ -465,7 +465,7 @@ STR_FILE_MENU_EXIT :Kilépés
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Világtérkép
STR_MAP_MENU_EXTRA_VIEW_PORT :Extra látkép
STR_MAP_MENU_EXTRA_VIEWPORT :Extra látkép
STR_MAP_MENU_LINGRAPH_LEGEND :Rakományáramlási jelmagyarázat
STR_MAP_MENU_SIGN_LIST :Feliratok listája
@ -948,7 +948,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN} önkormányzata és {STRING} szerződést kötött egy éves kizárólagos szállítási jogokra!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}{COMMA}. látkép
STR_EXTRA_VIEWPORT_TITLE :{WHITE}{COMMA}. látkép
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Látkép átállítása
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}A látképre a fő nézet pozícióját másolja
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Fő nézet ideállítása

@ -374,7 +374,7 @@ STR_FILE_MENU_EXIT :Hætta
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Heimskort
STR_MAP_MENU_EXTRA_VIEW_PORT :Auka sjónarhorn
STR_MAP_MENU_EXTRA_VIEWPORT :Auka sjónarhorn
STR_MAP_MENU_SIGN_LIST :Skiltalisti
############ range for town menu starts
@ -840,7 +840,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Bæjarstjórn {TOWN} skrifar undir eins árs sérleyfis samning við {STRING} til flutningar á öllum varningi.
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Sjónarhorn {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Sjónarhorn {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Afrita í sjónarhorn
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Afrita aðalsjónarhornið í þetta sjónarhorn
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Afrita frá sjónarhorni

@ -396,7 +396,7 @@ STR_FILE_MENU_EXIT :Keluar
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Peta Dunia
STR_MAP_MENU_EXTRA_VIEW_PORT :Viewport ekstra
STR_MAP_MENU_EXTRA_VIEWPORT :Viewport ekstra
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda aliran kargo
STR_MAP_MENU_SIGN_LIST :Daftar Tanda
@ -876,7 +876,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Pemkot Kota {TOWN} menandatangani kontrak dengan {STRING} untuk hak transportasi eksklusif selama 1 tahun!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Viewport {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Simpan ke viewport
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Simpan lokasi peta sekarang ke viewport
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Tampilan dari viewport

@ -395,7 +395,7 @@ STR_FILE_MENU_EXIT :Scoir
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Léarscáil den domhan
STR_MAP_MENU_EXTRA_VIEW_PORT :Fuinneog amhairc bhreise
STR_MAP_MENU_EXTRA_VIEWPORT :Fuinneog amhairc bhreise
STR_MAP_MENU_LINGRAPH_LEGEND :Eochair an tSreafa Lastais
STR_MAP_MENU_SIGN_LIST :Liosta na gcomharthaí
@ -869,7 +869,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Síníonn údarás áitiúil {TOWN} conradh le {STRING} le haghaidh cearta eisiacha iompair ar feadh bliana!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Amharc {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Amharc {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Cóipeáil chuig amharc
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Cóipeáil suíomh an phríomh-amhairc chuig an amharc seo
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Greamaigh ón amharc

@ -404,7 +404,7 @@ STR_FILE_MENU_EXIT :Esci
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mappa del mondo
STR_MAP_MENU_EXTRA_VIEW_PORT :Mini visuale extra
STR_MAP_MENU_EXTRA_VIEWPORT :Mini visuale extra
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda rotte commerciali
STR_MAP_MENU_SIGN_LIST :Elenco cartelli
@ -886,7 +886,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}L'autorità locale di {TOWN} firma un accordo con la {STRING} per un anno di diritti di trasporto esclusivi!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Mini visuale {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Mini visuale {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Cambia mini visuale
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copia la posizione della visuale principale in questa mini visuale
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Cambia vis. principale

@ -397,7 +397,7 @@ STR_FILE_MENU_EXIT :OpenTTDを終
# map menu
STR_MAP_MENU_MAP_OF_WORLD :地図
STR_MAP_MENU_EXTRA_VIEW_PORT :ビューポートを開く
STR_MAP_MENU_EXTRA_VIEWPORT :ビューポートを開く
STR_MAP_MENU_LINGRAPH_LEGEND :貨物輸送履歴
STR_MAP_MENU_SIGN_LIST :標識リスト
STR_MAP_MENU_PLAN_LIST :計画一覧表
@ -872,7 +872,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK} {TOWN}が{STRING}と1年間の排他輸送契約を締結!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}ビューア {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}ビューア {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}ビューアへコピー
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}メイン画面の場所をビューアにコピーする
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}ビューアからペースト

@ -407,7 +407,7 @@ STR_FILE_MENU_EXIT :종료
# map menu
STR_MAP_MENU_MAP_OF_WORLD :전체 지도 보기
STR_MAP_MENU_EXTRA_VIEW_PORT :외부 화면
STR_MAP_MENU_EXTRA_VIEWPORT :외부 화면
STR_MAP_MENU_LINGRAPH_LEGEND :화물 흐름 범례
STR_MAP_MENU_SIGN_LIST :팻말 목록
STR_MAP_MENU_PLAN_LIST :계획 목록
@ -894,7 +894,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{0:TOWN} 지역 당국이 {1:STRING}과 1년 간의 수송 독점권 계약을 체결하였습니다!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}외부 화면 {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}외부 화면 {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}외부 화면으로 복사
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}현재 장소를 외부 화면에 복사합니다.
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}이 장소로 이동

@ -585,7 +585,7 @@ STR_FILE_MENU_EXIT :Exire
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Orbis tabula
STR_MAP_MENU_EXTRA_VIEW_PORT :Fenestra conspectus additicia
STR_MAP_MENU_EXTRA_VIEWPORT :Fenestra conspectus additicia
STR_MAP_MENU_LINGRAPH_LEGEND :Formula graphica onerum cursus
STR_MAP_MENU_SIGN_LIST :Index signorum
@ -1065,7 +1065,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN}: Auctoritas vicinalis nuntiat {STRING} esse societatem unicam cui uno anno licet transportare intra oppidum!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Fenestra conspectus {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Fenestra conspectus {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Mutare conspectum
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Transcribere locum primarium ad hanc fenestram conspectus
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Mutare conspectum primum

@ -404,7 +404,7 @@ STR_FILE_MENU_EXIT :Iziet
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Pasaules karte
STR_MAP_MENU_EXTRA_VIEW_PORT :Papildu skatvieta
STR_MAP_MENU_EXTRA_VIEWPORT :Papildu skatvieta
STR_MAP_MENU_LINGRAPH_LEGEND :Kravu plūsmas apzīmējumi
STR_MAP_MENU_SIGN_LIST :Zīmju saraksts
@ -886,7 +886,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN} vietējā pašvaldība panāk vienošanos ar {STRING} par pārvadājumu izņēmuma tiesībām uz vienu gadu!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Skatvieta {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Skatvieta {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Mainīt skatvietu
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopēt galvenā skata atrašanās vietu uz šo skatvietu
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Mainīt galveno skatu

@ -590,7 +590,7 @@ STR_FILE_MENU_EXIT :Išeiti
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Žemėlapis
STR_MAP_MENU_EXTRA_VIEW_PORT :Papildomas peržiūros langas
STR_MAP_MENU_EXTRA_VIEWPORT :Papildomas peržiūros langas
STR_MAP_MENU_LINGRAPH_LEGEND :Krovinių srautų legenda
STR_MAP_MENU_SIGN_LIST :Ženklų sąrašas
@ -1074,7 +1074,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Vietinė valdža {TOWN} pasirašo kontraktą {STRING} vieneriems metams išskirtines pervežimų teises!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Peržiūros langas {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Peržiūros langas {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopijuoti į peržiūros langą
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopijuoti pagrindinio lango padėtį į šį peržiūros langą
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Įkelti iš peržiūros lango

@ -402,7 +402,7 @@ STR_FILE_MENU_EXIT :Eraus
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Weltkaart
STR_MAP_MENU_EXTRA_VIEW_PORT :Extra Usiicht
STR_MAP_MENU_EXTRA_VIEWPORT :Extra Usiicht
STR_MAP_MENU_LINGRAPH_LEGEND :Cargo Flow Legend
STR_MAP_MENU_SIGN_LIST :Schëlderlëscht
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}D'Gemeng {TOWN} ënnerschreiwt Kontrakt mat {STRING} fir ee Joer laang exklusiv Transportrechter!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Usiicht {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Usiicht {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Ännert d'Usiicht
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopéiert d'Plaz vun der globaler Usiicht op des Usiicht
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Haptusiicht änneren

@ -378,7 +378,7 @@ STR_FILE_MENU_EXIT :Keluar
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Peta Dunia
STR_MAP_MENU_EXTRA_VIEW_PORT :Tetingkap pemandangan tambahan
STR_MAP_MENU_EXTRA_VIEWPORT :Tetingkap pemandangan tambahan
STR_MAP_MENU_SIGN_LIST :Senarai papan tanda
############ range for town menu starts
@ -845,7 +845,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT} {BLACK} Pihak Berkuasa Tempatan {TOWN} menanda tangani kontrak dengan {STRING} untuk satu tahun hak pengangkutan eksklusif!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Tetingkap Pemandangan {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Tetingkap Pemandangan {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Ubah tetingkap paparan
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Salin lokasi pemandangan global kepada tetingkap pemandangan ini
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Ubah paparan utama

@ -404,7 +404,7 @@ STR_FILE_MENU_EXIT :Avslutt OpenTTD
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Verdenskart
STR_MAP_MENU_EXTRA_VIEW_PORT :Ekstra tilleggsvindu
STR_MAP_MENU_EXTRA_VIEWPORT :Ekstra tilleggsvindu
STR_MAP_MENU_LINGRAPH_LEGEND :Symbolforklaring for vareflyt
STR_MAP_MENU_SIGN_LIST :Skiltliste
@ -885,7 +885,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Lokal myndighet i {TOWN} signerer kontrakt med {STRING} for ett år med eksklusift transport rettigheter!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Tilleggsvindu {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Tilleggsvindu {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopier til tilleggsvindu
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopier hovedvisningen til dette tilleggsvinduet
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Endre hovedsynsfelt

@ -397,7 +397,7 @@ STR_FILE_MENU_EXIT :Avslutt OpenTTD
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Verdskart
STR_MAP_MENU_EXTRA_VIEW_PORT :Ekstra tilleggsvindauge
STR_MAP_MENU_EXTRA_VIEWPORT :Ekstra tilleggsvindauge
STR_MAP_MENU_LINGRAPH_LEGEND :Symbolforklaring for vareflyt
STR_MAP_MENU_SIGN_LIST :Skiltliste
@ -871,7 +871,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Bystyret i {TOWN} signerer kontrakt med {STRING} om eitt års eksklusive transportrettar!!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Tilleggsvindauge {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Tilleggsvindauge {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopier til tilleggsvindauge
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopier stad i hovedvisinga til dette tilleggsvindauga
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Kopier frå tilleggsvindauge

@ -781,7 +781,7 @@ STR_FILE_MENU_EXIT :Wyjście
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa świata
STR_MAP_MENU_EXTRA_VIEW_PORT :Dodatkowy podgląd
STR_MAP_MENU_EXTRA_VIEWPORT :Dodatkowy podgląd
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda przepływu towarów
STR_MAP_MENU_SIGN_LIST :Lista napisów
@ -1264,7 +1264,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Lokalne władze miasta {TOWN} podpisują umowę z {STRING} na wyłączność usług transportowych!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Podgląd {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Podgląd {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Zmień podgląd
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiuj pozycję widoku głównego do podglądu
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Zmień widok główny

@ -401,7 +401,7 @@ STR_FILE_MENU_EXIT :Sair
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa do mundo
STR_MAP_MENU_EXTRA_VIEW_PORT :Visualizador extra
STR_MAP_MENU_EXTRA_VIEWPORT :Visualizador extra
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda de fluxo de carga
STR_MAP_MENU_SIGN_LIST :Lista de sinais
@ -882,7 +882,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Autoridade local de {TOWN} assina contrato com {STRING} por um ano de direitos exclusivos de transporte!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Visualizador {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Visualizador {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Alterar janela de exibição
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copiar a localização do visualizador global para este visualizador
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Alterar vista principal

@ -395,7 +395,7 @@ STR_FILE_MENU_EXIT :Ieşire din joc
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Harta lumii
STR_MAP_MENU_EXTRA_VIEW_PORT :Ecran suplimentar
STR_MAP_MENU_EXTRA_VIEWPORT :Ecran suplimentar
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda flux încărcătură
STR_MAP_MENU_SIGN_LIST :Lista de semne
@ -871,7 +871,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Autoritatea locală a oraşului {TOWN} semnează un contract cu {STRING} pentru un an de drepturi exclusive de transport!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Ecran {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Ecran {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Copiază în ecran
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copiază locaţia ecranului principal în acest ecran
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Importă din ecran

@ -529,7 +529,7 @@ STR_FILE_MENU_EXIT :Выход
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Карта мира
STR_MAP_MENU_EXTRA_VIEW_PORT :Доп. окно просмотра
STR_MAP_MENU_EXTRA_VIEWPORT :Доп. окно просмотра
STR_MAP_MENU_LINGRAPH_LEGEND :Легенда грузоперевозок
STR_MAP_MENU_SIGN_LIST :Список табличек
@ -1030,7 +1030,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Администрация г.{NBSP}{TOWN} заключила контракт с компанией «{STRING}», предоставляющий ей эксклюзивные права на транспортные услуги в городе сроком на 1{NBSP}год!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Окно просмотра {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Окно просмотра {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Из основного окна
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Показать то, что отображается в основном окне
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}В основное окно
@ -1643,7 +1643,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Количес
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Максимальное количество операций, которое скрипт может выполнить за один цикл
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Макс. объём памяти для скрипта: {STRING}
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Объём памяти, который может использовать скрипт. При превышении этого объёма скрипт будет принудительно завершён. Для больших карт это значение, возможно, потребуется увеличить.
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} Мбайт
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} МиБ
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Интервал обслуживания в процентах: {STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Выберите, должно ли техническое обслуживание транспорта выполняться через определённые промежутки времени, либо при снижении надёжности транспортного средства на определённый процент от максимума
@ -2930,7 +2930,7 @@ STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Кол-
STR_FRAMERATE_RATE_BLITTER :{BLACK}Вывод на экран: {STRING}
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Кол-во отображаемых кадров в секунду.
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Текущая скорость игры: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Фактическая скорость игры
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Фактическая скорость игры (по сравнению с ожидаемой скоростью при нормальной скорости симуляции).
STR_FRAMERATE_CURRENT :{WHITE}Сейчас
STR_FRAMERATE_AVERAGE :{WHITE}В среднем
STR_FRAMERATE_MEMORYUSE :{WHITE}Объём памяти

@ -583,7 +583,7 @@ STR_FILE_MENU_EXIT :Izađi
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Karta sveta
STR_MAP_MENU_EXTRA_VIEW_PORT :Dodatno gledište
STR_MAP_MENU_EXTRA_VIEWPORT :Dodatno gledište
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda protoka tereta
STR_MAP_MENU_SIGN_LIST :Lista Znakova
@ -1068,7 +1068,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Vlasti grada {TOWN} su potpisale ugovor sa preduzećem {STRING} o ekskluzivnom pravu prevoza na godinu dana!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Pogled{COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Pogled{COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK} Kopiraj u prozor za pogled
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Premešta pogled na trenutnu poziciju glavnog pogleda
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Promenite glavni prikaz

@ -402,7 +402,7 @@ STR_FILE_MENU_EXIT :退出
# map menu
STR_MAP_MENU_MAP_OF_WORLD :缩略地图
STR_MAP_MENU_EXTRA_VIEW_PORT :额外视点
STR_MAP_MENU_EXTRA_VIEWPORT :额外视点
STR_MAP_MENU_LINGRAPH_LEGEND :客货流图标
STR_MAP_MENU_SIGN_LIST :标志列表
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN}一年期的运输专营权已经被{STRING}购买!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}视点 {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}视点 {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}将主视角复制到视点
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}将额外视点移动到屏幕中心的位置
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}移动主视角到该视点

@ -459,7 +459,7 @@ STR_FILE_MENU_EXIT :Koniec
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa sveta
STR_MAP_MENU_EXTRA_VIEW_PORT :Ďalší pohľad
STR_MAP_MENU_EXTRA_VIEWPORT :Ďalší pohľad
STR_MAP_MENU_LINGRAPH_LEGEND :Legenka k smerovaniu nákladu
STR_MAP_MENU_SIGN_LIST :Zoznam popisov
@ -937,7 +937,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Miestna samospráva mesta {TOWN} podpísala exkluzívnu zmluvu na prepravu so spoločnosťou {STRING} na 1 rok !!!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Pohľad {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Pohľad {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Pohľad podľa mapy
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Nastaviť pohľad podľa hlavného pohľadu
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Mapa podľa pohľadu

@ -548,7 +548,7 @@ STR_FILE_MENU_EXIT :Izhod
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Zemljevid sveta
STR_MAP_MENU_EXTRA_VIEW_PORT :Dodaten pogled
STR_MAP_MENU_EXTRA_VIEWPORT :Dodaten pogled
STR_MAP_MENU_LINGRAPH_LEGEND :Legenda pretoka tovora
STR_MAP_MENU_SIGN_LIST :Seznam napisov
@ -1023,7 +1023,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Lokalna oblast kraja {TOWN} je podpisala pogodbo s/z {STRING} o eno letni izključni pravici za transport.
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Pogled {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Pogled {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopiraj na pogled
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiraj lokacijo splošnega pogleda v ta pogled
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Prilepi iz pogleda

@ -403,7 +403,7 @@ STR_FILE_MENU_EXIT :Salir
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Mapa del mundo
STR_MAP_MENU_EXTRA_VIEW_PORT :Punto de vista extra
STR_MAP_MENU_EXTRA_VIEWPORT :Punto de vista extra
STR_MAP_MENU_LINGRAPH_LEGEND :Leyenda de Movimientos de Carga
STR_MAP_MENU_SIGN_LIST :Lista de carteles
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}¡La autoridad local de {TOWN} firma un contrato de exclusividad con {STRING} por un año!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Cambiar punto de vista
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copia la localización de la vista principal a este punto de vista
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Cambiar vista principal

@ -403,7 +403,7 @@ STR_FILE_MENU_EXIT :Salir
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Minimapa completo
STR_MAP_MENU_EXTRA_VIEW_PORT :Ventana de vista adicional
STR_MAP_MENU_EXTRA_VIEWPORT :Ventana de vista adicional
STR_MAP_MENU_LINGRAPH_LEGEND :Leyenda de flujo de cargamento
STR_MAP_MENU_SIGN_LIST :Lista de carteles
@ -885,7 +885,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}¡Ayuntamiento de {TOWN} firma contrato de exclusividad con {STRING} por un año!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vista {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Cambiar ventana de vista
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copiar la vista principal a esta ventana de vista
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Cambiar vista principal

@ -402,7 +402,7 @@ STR_FILE_MENU_EXIT :Avsluta
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Världskarta
STR_MAP_MENU_EXTRA_VIEW_PORT :Nytt vyfönster
STR_MAP_MENU_EXTRA_VIEWPORT :Nytt vyfönster
STR_MAP_MENU_LINGRAPH_LEGEND :Legend för Godsflöden
STR_MAP_MENU_SIGN_LIST :Skyltlista
@ -884,7 +884,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}De lokala myndigheterna i {TOWN} skriver kontrakt med {STRING} för ett års exklusiva transporträttigheter!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vyfönster {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vyfönster {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Byt vy
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiera huvudvyns position till detta vyfönster
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Byt huvudvy
@ -2315,7 +2315,7 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Växla g
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Gör object osynliga istället för genomskinliga
# Linkgraph legend window
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legend för Godsflöden
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legend för godsflöden
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Alla
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Inga
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Välj företag att visa

@ -393,7 +393,7 @@ STR_FILE_MENU_EXIT :வெளிய
# map menu
STR_MAP_MENU_MAP_OF_WORLD :உலகப் படம்
STR_MAP_MENU_EXTRA_VIEW_PORT :கூடுதல் பார்வைபடம்
STR_MAP_MENU_EXTRA_VIEWPORT :கூடுதல் பார்வைபடம்
STR_MAP_MENU_LINGRAPH_LEGEND :சரக்கு செல்லும் வழிப் படம்
STR_MAP_MENU_SIGN_LIST :குறிகளின் பட்டியல்
@ -848,7 +848,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN} நகராட்சியின் முழு போக்குவரத்து உரிமைகளையும் ஒரு வருடத்திற்கு {STRING} வாங்கியுள்ளது!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}பார்வைப் படம் {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}பார்வைப் படம் {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}பார்படத்திற்கு மாற்றவும்
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}பிரதான பார்வையை மாற்றவும்

@ -387,7 +387,7 @@ STR_FILE_MENU_EXIT :ออกจา
# map menu
STR_MAP_MENU_MAP_OF_WORLD :แผนที่โลก
STR_MAP_MENU_EXTRA_VIEW_PORT :มุมมองเพิ่มเติม
STR_MAP_MENU_EXTRA_VIEWPORT :มุมมองเพิ่มเติม
STR_MAP_MENU_LINGRAPH_LEGEND :เส้นทางการกระจายสินค้า
STR_MAP_MENU_SIGN_LIST :รายการป้าย
@ -860,7 +860,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}ฝ่ายบริหารของเมือง {TOWN} ลงนามสัญญากับ {STRING} เป็นะระยเวลา 1 ปีสำหรับสัมปทานขนส่งพิเศษ
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}มุมมอง {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}มุมมอง {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}คัดลอกไปยังมุมมอง
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}คัดลอกตำแหน่งของมุมมองหลังมายังมุมมองนี้
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}วางจากมุมมอง

@ -395,7 +395,7 @@ STR_FILE_MENU_EXIT :離開
# map menu
STR_MAP_MENU_MAP_OF_WORLD :世界地圖
STR_MAP_MENU_EXTRA_VIEW_PORT :打開新視野
STR_MAP_MENU_EXTRA_VIEWPORT :打開新視野
STR_MAP_MENU_LINGRAPH_LEGEND :貨物流程索引
STR_MAP_MENU_SIGN_LIST :標誌清單
@ -871,7 +871,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN} 的地方政府與 {STRING} 簽訂了一年的專屬運輸權合約!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}視野 {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}視野 {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}複製至本視野
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}將主視野的位置複製到此視窗
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}貼上至主視野

@ -398,7 +398,7 @@ STR_FILE_MENU_EXIT :Çıkış
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Dünya haritası
STR_MAP_MENU_EXTRA_VIEW_PORT :Ek görünüm
STR_MAP_MENU_EXTRA_VIEWPORT :Ek görünüm
STR_MAP_MENU_LINGRAPH_LEGEND :Kargo Akış Göstergesi
STR_MAP_MENU_SIGN_LIST :Tabela listesi
@ -879,7 +879,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN} şehri yetkilileri {STRING} ile bir yıllığına şehrin tüm taşımacılık haklarını vermek üzere anlaştı!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Görünüm {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Görünüm {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Görüş alanını değiştir
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Ana görünümü bu pencereye kopyala
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Ana görünümü değiştir

@ -527,7 +527,7 @@ STR_FILE_MENU_EXIT :Вихід
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Карта світу
STR_MAP_MENU_EXTRA_VIEW_PORT :Додаткове вікно
STR_MAP_MENU_EXTRA_VIEWPORT :Додаткове вікно
STR_MAP_MENU_LINGRAPH_LEGEND :Легенда вантажопотоку
STR_MAP_MENU_SIGN_LIST :Список позначок
@ -992,6 +992,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Відтепер в наявності новий {STRING}! - {ENGINE}
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Відкрити вікно групи з центром на групах транспорту
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} більше не приймає {STRING}
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} більше не приймає {STRING} або {STRING}
@ -1011,7 +1012,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Адміністрація м. {TOWN} підписала угоду з "{STRING}" щодо ексклюзивних транспортних прав строком на один рік!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Вікно {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Вікно {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Змінити вікно
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Копіювати місцеположення з основного екрану до цього вікна
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Вставити в головне вікно
@ -1062,6 +1063,7 @@ STR_GAME_OPTIONS_CURRENCY_MXN :Мексика
STR_GAME_OPTIONS_CURRENCY_NTD :Новий тайваньський долар (NTD)
STR_GAME_OPTIONS_CURRENCY_CNY :Китайські ренміні (CNY)
STR_GAME_OPTIONS_CURRENCY_HKD :Гонконгський долар (HKD)
STR_GAME_OPTIONS_CURRENCY_INR :Індійська рупія (INR)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Сторона руху транспорту
@ -1673,6 +1675,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Повніст
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Рік впровадження кольорових новин: {STRING}
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Починаючи з вказанного року чорно-білі новини замінять кольоровими.
STR_CONFIG_SETTING_STARTING_YEAR :Початкова дата: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR :Рік закінчення: {STRING}
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Рік закінчення гри для підрахунку очок. У кінці року додають очки компанії і показують загальний результат, але гравці можуть грати далі.{}Якщо встановлено рік раніший початкового, загальний результат не зʼявиться.
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколи
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Стабільна економіка: {STRING}
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :При включенні обсяги виробництва підприємств змінюються часто, але не дуже суттєво. Зазвичай ця опція не впливає на підприємства, додані за допомогою NewGRF.
STR_CONFIG_SETTING_ALLOW_SHARES :Дозволити придбання акції інших компаній: {STRING}
@ -2286,6 +2292,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Паро
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Сервер переповнений
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Вас відключено від цього серверу
STR_NETWORK_ERROR_KICKED :{WHITE}Вас відключено від гри
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Причина: {STRING}
STR_NETWORK_ERROR_CHEATER :{WHITE}На цьому сервері грати нечесно не можна
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Ви посилали забагато команд серверу
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Ви занадто довго вводили пароль
@ -2345,6 +2352,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} д
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Ви дали {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Сервер закрив сеанс
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Перезавантаження сервера...{}Зачекайте...
STR_NETWORK_MESSAGE_KICKED :*** {STRING} відключено. Причина: ({STRING})
# Content downloading window
STR_CONTENT_TITLE :{WHITE}Завантаження вмісту
@ -2552,7 +2560,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Буду
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Будувати трамвайну лінію в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будувати автомобільне депо (для бідівництва та обслуговування автомобілів). Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будувати автомобільне депо (для будівництва і обслуговування автомобілів). Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Будувати трамвайне депо (для будівництва та обслуговування трамваїв). Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будувати автобусну зупинку. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Будувати пасажирську трамвайну станцію. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво
@ -2622,7 +2630,7 @@ STR_AIRPORT_METRO :Столичн
STR_AIRPORT_INTERNATIONAL :Міжнародний
STR_AIRPORT_COMMUTER :Приміський
STR_AIRPORT_INTERCONTINENTAL :Міжконтинентальний
STR_AIRPORT_HELIPORT :Гелікопорт
STR_AIRPORT_HELIPORT :Геліпорт
STR_AIRPORT_HELIDEPOT :Депо
STR_AIRPORT_HELISTATION :Гелікоптерна станція
@ -3524,6 +3532,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} і {NUM} ще...
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Назви підприємств - клацніть мишою на назву, щоб показати підприємство у центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на підприємство
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Приймається вантаж: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Виробництво: {SILVER}{STRING}
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Усі вантажі
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Нема
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@ -4299,6 +4311,10 @@ STR_AI_LIST_CANCEL :{BLACK}Відм
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не міняти скрипт
STR_SCREENSHOT_CAPTION :{WHITE}Зробити знімок екрану
STR_SCREENSHOT_SCREENSHOT :{BLACK}Звичайний зняток
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Зняток усієї мапи
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Зняток мапи висот
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Зняток мінімапи
# AI Parameters
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Параметри

@ -395,7 +395,7 @@ STR_FILE_MENU_EXIT :Ofslute
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Wrâldkaart
STR_MAP_MENU_EXTRA_VIEW_PORT :Ekstra finster
STR_MAP_MENU_EXTRA_VIEWPORT :Ekstra finster
STR_MAP_MENU_LINGRAPH_LEGEND :Frachtstreamleginda
STR_MAP_MENU_SIGN_LIST :Buordsjeslist
@ -869,7 +869,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Gemeente fan {TOWN} tekent in kontrakt mei {STRING} foar in jier lang eksklusive ferfiersrjochen!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Loaitsfinster {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Loaitsfinster {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopiearje nei loaitsfinster
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopiearje de lokaasje fan it haadfinster nei dit loaitsfinster
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Plak fanút loaitsfinster

@ -372,7 +372,7 @@ STR_FILE_MENU_EXIT :Излез
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Мапа на светот
STR_MAP_MENU_EXTRA_VIEW_PORT :екстра прозорец
STR_MAP_MENU_EXTRA_VIEWPORT :екстра прозорец
STR_MAP_MENU_SIGN_LIST :Си листа
############ range for town menu starts

@ -384,7 +384,7 @@ STR_FILE_MENU_EXIT :خروج
# map menu
STR_MAP_MENU_MAP_OF_WORLD :نقشه ی دنیا
STR_MAP_MENU_EXTRA_VIEW_PORT :نمای اضافه
STR_MAP_MENU_EXTRA_VIEWPORT :نمای اضافه
STR_MAP_MENU_LINGRAPH_LEGEND :میزان حمل بار
STR_MAP_MENU_SIGN_LIST :لیست نشانه
@ -858,7 +858,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}مقامات محلی {TOWN} قرارداد حمل و نقل انحصاری را با {STRING} به مدت یکسال امضاء کردند!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}نمای اضافه {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}نمای اضافه {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK} به نمای اضافه منتقل کن
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}موقعیت نمای اصلی را به این نمای اضافه منتقل کن
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}موقعیت نمای اضافه را به نمای اصلی منتقل کن

@ -380,7 +380,7 @@ STR_FILE_MENU_EXIT :باہر نکل
# map menu
STR_MAP_MENU_MAP_OF_WORLD :دنیا کا نقشھ
STR_MAP_MENU_EXTRA_VIEW_PORT :اضافی منظر
STR_MAP_MENU_EXTRA_VIEWPORT :اضافی منظر
STR_MAP_MENU_SIGN_LIST :اشاروں کی فھرست
############ range for town menu starts
@ -838,7 +838,7 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLAC
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}{TOWN} میں ٹریفک کا بُرا حال!{}{}سڑکیں دوبارہ بنوانے کے پیسے {STRING} نے دئیے۔ اس کی وجہ سے اگلے 6 ماہ مشکل رہے گی
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}دہکھنے والی کھڑکی {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}دہکھنے والی کھڑکی {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}دہکھنے والی کھڑکی کی نقل
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}بنیادی منظر میں نظر آنے والی جگہ کو دیکھنے والی کھڑکی میں نقل کریں
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}دہکھنے والی کھڑکی سے نقل کریں

@ -402,7 +402,7 @@ STR_FILE_MENU_EXIT :Thoát
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Bản đồ thế giới
STR_MAP_MENU_EXTRA_VIEW_PORT :Cửa sổ bổ sung
STR_MAP_MENU_EXTRA_VIEWPORT :Cửa sổ bổ sung
STR_MAP_MENU_LINGRAPH_LEGEND :Ghi chú luồng hàng hóa
STR_MAP_MENU_SIGN_LIST :Danh sách biển hiệu
@ -883,7 +883,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Chính quyền địa phương {TOWN} ký hợp đồng với {STRING} cho phép độc quyền vận tải trong vòng 1 năm!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Cửa sổ {COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Cửa sổ {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Đổi khung nhìn
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Nhìn vị trí này ở cửa sổ lớn chính
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Chuyển về cửa sổ chính

@ -395,7 +395,7 @@ STR_FILE_MENU_EXIT :Gadael
# map menu
STR_MAP_MENU_MAP_OF_WORLD :Map o'r Byd
STR_MAP_MENU_EXTRA_VIEW_PORT :Ffenestr Olygfa Newydd
STR_MAP_MENU_EXTRA_VIEWPORT :Ffenestr Olygfa Newydd
STR_MAP_MENU_LINGRAPH_LEGEND :Allwedd Llif Cargo
STR_MAP_MENU_SIGN_LIST :Rhestr Arwyddion
@ -870,7 +870,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLAC
STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Awdurdog lleol {TOWN} yn arwyddo cytundeb cyfyngol gyda {STRING} am flwyddyn o hawliau cludiant!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Ffenestr Olygfa{COMMA}
STR_EXTRA_VIEWPORT_TITLE :{WHITE}Ffenestr Olygfa{COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Copïo i Ffenestr Olygfa
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copïo lleoliad y golwg byd-eang i'r ffenestr olygfa
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Gludo o'r Ffenestr Olygfa

@ -69,7 +69,7 @@ void LinkGraphOverlay::GetWidgetDpi(DrawPixelInfo *dpi, uint margin) const
bool LinkGraphOverlay::CacheStillValid() const
{
if (this->window->viewport) {
const ViewPort *vp = this->window->viewport;
const Viewport *vp = this->window->viewport;
Rect region { vp->virtual_left, vp->virtual_top,
vp->virtual_left + vp->virtual_width, vp->virtual_top + vp->virtual_height };
return (region.left >= this->cached_region.left &&
@ -96,7 +96,7 @@ void LinkGraphOverlay::RebuildCache(bool incremental)
DrawPixelInfo dpi;
bool cache_all = false;
if (this->window->viewport) {
const ViewPort *vp = this->window->viewport;
const Viewport *vp = this->window->viewport;
const int pixel_margin = 256;
const int vp_margin = ScaleByZoom(pixel_margin, vp->zoom);
this->GetWidgetDpi(&dpi, pixel_margin);

@ -110,7 +110,7 @@ void CcPlaySound_EXPLOSION(const CommandCost &result, TileIndex tile, uint32 p1,
*/
bool DoZoomInOutWindow(ZoomStateChange how, Window *w)
{
ViewPort *vp;
Viewport *vp;
assert(w != nullptr);
vp = w->viewport;
@ -164,7 +164,7 @@ void ZoomInOrOutToCursorWindow(bool in, Window *w)
assert(w != nullptr);
if (_game_mode != GM_MENU) {
ViewPort *vp = w->viewport;
Viewport *vp = w->viewport;
if ((in && vp->zoom <= _settings_client.gui.zoom_min) || (!in && vp->zoom >= _settings_client.gui.zoom_max)) return;
Point pt = GetTileZoomCenterWindow(in, w);
@ -180,7 +180,7 @@ void FixTitleGameZoom()
{
if (_game_mode != GM_MENU) return;
ViewPort *vp = FindWindowByClass(WC_MAIN_WINDOW)->viewport;
Viewport *vp = FindWindowByClass(WC_MAIN_WINDOW)->viewport;
vp->zoom = _gui_zoom;
vp->virtual_width = ScaleByZoom(vp->width, vp->zoom);
vp->virtual_height = ScaleByZoom(vp->height, vp->zoom);

@ -894,13 +894,17 @@ struct SpriteAlignerWindow : Window {
void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override
{
if (widget != WID_SA_LIST) return;
resize->height = max(11, FONT_HEIGHT_NORMAL + 1);
resize->width = 1;
/* Resize to about 200 pixels (for the preview) */
size->height = (1 + 200 / resize->height) * resize->height;
switch (widget) {
case WID_SA_SPRITE:
size->height = ScaleGUITrad(200);
break;
case WID_SA_LIST:
resize->height = max(11, FONT_HEIGHT_NORMAL + 1);
resize->width = 1;
break;
default:
break;
}
}
void DrawWidget(const Rect &r, int widget) const override

@ -507,8 +507,8 @@ struct NewsWindow : Window {
TileIndex tile1 = GetReferenceTile(this->ni->reftype1, this->ni->ref1);
TileIndex tile2 = GetReferenceTile(this->ni->reftype2, this->ni->ref2);
if (_ctrl_pressed) {
if (tile1 != INVALID_TILE) ShowExtraViewPortWindow(tile1);
if (tile2 != INVALID_TILE) ShowExtraViewPortWindow(tile2);
if (tile1 != INVALID_TILE) ShowExtraViewportWindow(tile1);
if (tile2 != INVALID_TILE) ShowExtraViewportWindow(tile2);
} else {
if ((tile1 == INVALID_TILE || !ScrollMainWindowToTile(tile1)) && tile2 != INVALID_TILE) {
ScrollMainWindowToTile(tile2);

@ -52,7 +52,7 @@ void ResetViewportAfterLoadGame()
w->viewport->dest_scrollpos_x = _saved_scrollpos_x;
w->viewport->dest_scrollpos_y = _saved_scrollpos_y;
ViewPort *vp = w->viewport;
Viewport *vp = w->viewport;
vp->zoom = (ZoomLevel)min(_saved_scrollpos_zoom, ZOOM_LVL_MAX);
vp->virtual_width = ScaleByZoom(vp->width, vp->zoom);
vp->virtual_height = ScaleByZoom(vp->height, vp->zoom);

@ -306,6 +306,7 @@ enum SaveLoadVersion : uint16 {
SLV_MULTITILE_DOCKS, ///< 216 PR#7380 Multiple docks per station.
SLV_TRADING_AGE, ///< 217 PR#7780 Configurable company trading age.
SLV_ENDING_YEAR, ///< 218 PR#7747 v1.10 Configurable ending year.
SLV_REMOVE_TOWN_CARGO_CACHE, ///< 219 PR#8258 Remove town cargo acceptance and production caches.
SL_MAX_VERSION, ///< Highest possible saveload version

@ -212,10 +212,8 @@ static const SaveLoad _town_desc[] = {
SLE_CONDLST(Town, psa_list, REF_STORAGE, SLV_161, SL_MAX_VERSION),
SLE_CONDNULL(4, SLV_166, SLV_EXTEND_CARGOTYPES), ///< cargo_produced, no longer in use
SLE_CONDNULL(8, SLV_EXTEND_CARGOTYPES, SL_MAX_VERSION), ///< cargo_produced, no longer in use
/* reserve extra space in savegame here. (currently 30 bytes) */
SLE_CONDNULL(30, SLV_2, SL_MAX_VERSION),
SLE_CONDNULL(8, SLV_EXTEND_CARGOTYPES, SLV_REMOVE_TOWN_CARGO_CACHE), ///< cargo_produced, no longer in use
SLE_CONDNULL(30, SLV_2, SLV_REMOVE_TOWN_CARGO_CACHE), ///< old reserved space
SLE_END()
};
@ -278,11 +276,6 @@ static void RealSave_Town(Town *t)
for (int i = TE_BEGIN; i < NUM_TE; i++) {
SlObjectSaveFiltered(&t->received[i], _filtered_town_received_desc.data());
}
/* Write an empty matrix to avoid bumping savegame version. */
SlWriteUint32(0); // tile
SlWriteUint16(0); // w
SlWriteUint16(0); // h
}
static void Save_TOWN()
@ -321,7 +314,7 @@ static void Load_TOWN()
SlErrorCorrupt("Invalid town name generator");
}
if (!IsSavegameVersionBefore(SLV_166) || SlXvIsFeaturePresent(XSLFI_TOWN_CARGO_MATRIX)) {
if ((!IsSavegameVersionBefore(SLV_166) && IsSavegameVersionBefore(SLV_REMOVE_TOWN_CARGO_CACHE)) || SlXvIsFeaturePresent(XSLFI_TOWN_CARGO_MATRIX)) {
SlSkipBytes(4); // tile
uint16 w = SlReadUint16();
uint16 h = SlReadUint16();

@ -630,7 +630,7 @@ static void CurrentScreenCallback(void *userdata, void *buf, uint y, uint pitch,
*/
static void LargeWorldCallback(void *userdata, void *buf, uint y, uint pitch, uint n)
{
ViewPort *vp = (ViewPort *)userdata;
Viewport *vp = (Viewport *)userdata;
DrawPixelInfo dpi, *old_dpi;
int wx, left;
@ -727,11 +727,11 @@ static bool MakeSmallScreenshot(bool crashlog)
}
/**
* Configure a ViewPort for rendering (a part of) the map into a screenshot.
* Configure a Viewport for rendering (a part of) the map into a screenshot.
* @param t Screenshot type
* @param[out] vp Result viewport
*/
void SetupScreenshotViewport(ScreenshotType t, ViewPort *vp)
void SetupScreenshotViewport(ScreenshotType t, Viewport *vp)
{
switch(t) {
case SC_VIEWPORT:
@ -803,7 +803,7 @@ void SetupScreenshotViewport(ScreenshotType t, ViewPort *vp)
*/
static bool MakeLargeWorldScreenshot(ScreenshotType t)
{
ViewPort vp;
Viewport vp;
SetupScreenshotViewport(t, &vp);
const ScreenshotFormat *sf = _screenshot_formats + _cur_screenshot_format;
@ -873,7 +873,7 @@ static void ScreenshotConfirmationCallback(Window *w, bool confirmed)
*/
void MakeScreenshotWithConfirm(ScreenshotType t)
{
ViewPort vp;
Viewport vp;
SetupScreenshotViewport(t, &vp);
bool heightmap_or_minimap = t == SC_HEIGHTMAP || t == SC_MINIMAP;

@ -27,7 +27,7 @@ enum ScreenshotType {
class SmallMapWindow;
void SetupScreenshotViewport(ScreenshotType t, struct ViewPort *vp);
void SetupScreenshotViewport(ScreenshotType t, struct Viewport *vp);
bool MakeHeightmapScreenshot(const char *filename);
bool MakeSmallMapScreenshot(unsigned int width, unsigned int height, SmallMapWindow *window);
void MakeScreenshotWithConfirm(ScreenshotType t);

@ -1,3 +1,122 @@
add_library(script_api
INTERFACE
)
# Get script_window.hpp dependencies
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/script_window.hpp.in ENUM_LINES REGEX "@enum")
foreach(ENUM IN LISTS ENUM_LINES)
string(REGEX REPLACE ".* ([^ @]+)@.*" "\\1" FILE_PATTERN "${ENUM}")
file(GLOB FILENAMES "${FILE_PATTERN}")
list(APPEND DEPENDENCIES ${FILENAMES})
endforeach(ENUM)
list(REMOVE_DUPLICATES DEPENDENCIES)
# Add a command to generate script_window.hpp
add_custom_command_timestamp(OUTPUT ${CMAKE_BINARY_DIR}/generated/script/api/script_window.hpp
COMMAND ${CMAKE_COMMAND}
-DGENERATE_SOURCE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/script_window.hpp.in
-DGENERATE_BINARY_FILE=${CMAKE_BINARY_DIR}/generated/script/api/script_window.hpp
-P ${CMAKE_SOURCE_DIR}/cmake/scripts/GenerateWidget.cmake
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/script_window.hpp.in
DEPENDS ${CMAKE_SOURCE_DIR}/cmake/scripts/GenerateWidget.cmake ${DEPENDENCIES}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Generating script_window.hpp"
)
add_custom_target_timestamp(script_window
DEPENDS
${CMAKE_BINARY_DIR}/generated/script/api/script_window.hpp
)
target_include_directories(script_api
INTERFACE
${CMAKE_BINARY_DIR}/generated/script/api/
${CMAKE_CURRENT_SOURCE_DIR}
)
file(GLOB SCRIPT_API_FILES "script_*.hpp")
list(APPEND SCRIPT_API_FILES ${CMAKE_BINARY_DIR}/generated/script/api/script_window.hpp)
foreach(API "ai;AI" "game;GS" "template;Template")
list(GET API 0 APILC)
list(GET API 1 APIUC)
foreach(SCRIPT_API_FILE IN LISTS SCRIPT_API_FILES)
if ("${SCRIPT_API_FILE}" MATCHES ".*script_controller.*")
continue()
endif ("${SCRIPT_API_FILE}" MATCHES ".*script_controller.*")
get_filename_component(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")
add_custom_command_timestamp(OUTPUT ${SCRIPT_API_BINARY_FILE}
COMMAND ${CMAKE_COMMAND}
-DSCRIPT_API_SOURCE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/squirrel_export.hpp.sq.in
-DSCRIPT_API_BINARY_FILE=${SCRIPT_API_BINARY_FILE}
-DSCRIPT_API_FILE=${SCRIPT_API_FILE}
-DAPIUC=${APIUC}
-DAPILC=${APILC}
-P ${CMAKE_SOURCE_DIR}/cmake/scripts/SquirrelExport.cmake
MAIN_DEPENDENCY ${SCRIPT_API_FILE}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/squirrel_export.hpp.sq.in
${CMAKE_SOURCE_DIR}/cmake/scripts/SquirrelExport.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating ${APILC}/${SCRIPT_API_FILE_NAME}.sq"
)
list(APPEND SCRIPT_${APIUC}_BINARY_FILES ${SCRIPT_API_BINARY_FILE})
endforeach(SCRIPT_API_FILE)
add_custom_target_timestamp(script_${APILC}
DEPENDS
${SCRIPT_${APIUC}_BINARY_FILES}
)
add_dependencies(script_${APILC}
script_window
)
if (NOT "${APILC}" STREQUAL "template")
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")
add_custom_command_timestamp(OUTPUT ${INCLUDES_BINARY_FILE}
COMMAND ${CMAKE_COMMAND}
-DINCLUDES_SOURCE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/script_includes.hpp.in
-DINCLUDES_BINARY_FILE=${INCLUDES_BINARY_FILE}
-DAPIUC=${APIUC}
-DAPILC=${APILC}
-P ${CMAKE_SOURCE_DIR}/cmake/scripts/SquirrelIncludes.cmake
--
${SCRIPT_${APIUC}_BINARY_FILES}
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/script_includes.hpp.in
DEPENDS ${SCRIPT_${APIUC}_BINARY_FILES}
${CMAKE_SOURCE_DIR}/cmake/scripts/SquirrelIncludes.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating ${APILC}/${APILC}_includes.hpp"
)
add_custom_target_timestamp(script_${APILC}_includes
DEPENDS
${INCLUDES_BINARY_FILE}
)
add_dependencies(script_${APILC}_includes
script_${APILC}
)
add_dependencies(script_api
script_${APILC}_includes
)
else (NOT "${APILC}" STREQUAL "template")
add_dependencies(script_api
script_${APILC}
)
endif (NOT "${APILC}" STREQUAL "template")
target_include_directories(script_api
INTERFACE
${CMAKE_BINARY_DIR}/generated/script
${CMAKE_BINARY_DIR}/generated/script/api/${APILC}
${CMAKE_CURRENT_SOURCE_DIR}/${APILC}
)
endforeach(API)
add_library(openttd::script_api ALIAS script_api)
add_files(
ai_changelog.hpp
game_changelog.hpp
@ -69,7 +188,6 @@ add_files(
script_viewport.hpp
script_waypoint.hpp
script_waypointlist.hpp
script_window.hpp
script_accounting.cpp
script_admin.cpp
script_airport.cpp

@ -91,14 +91,14 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = .
INPUT = . $(GENERATED_API_DIR)
INPUT_ENCODING = UTF-8
FILE_PATTERNS = script_*.hpp \
ai_*.hpp
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_PATTERNS = ai_includes.hpp
EXCLUDE_SYMBOLS = GetClassName DECLARE_ENUM_AS_BIT_SET DECLARE_POSTFIX_INCREMENT
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *

@ -91,14 +91,14 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = .
INPUT = . $(GENERATED_API_DIR)
INPUT_ENCODING = UTF-8
FILE_PATTERNS = script_*.hpp \
game_*.hpp
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_PATTERNS = game_includes.hpp
EXCLUDE_SYMBOLS = GetClassName DECLARE_ENUM_AS_BIT_SET DECLARE_POSTFIX_INCREMENT
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *

@ -1,26 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_accounting.hpp"
#include "../template/template_accounting.hpp.sq"
template <> const char *GetClassName<ScriptAccounting, ST_AI>() { return "AIAccounting"; }
void SQAIAccounting_Register(Squirrel *engine)
{
DefSQClass<ScriptAccounting, ST_AI> SQAIAccounting("AIAccounting");
SQAIAccounting.PreRegister(engine);
SQAIAccounting.AddConstructor<void (ScriptAccounting::*)(), 1>(engine, "x");
SQAIAccounting.DefSQMethod(engine, &ScriptAccounting::GetCosts, "GetCosts", 1, "x");
SQAIAccounting.DefSQMethod(engine, &ScriptAccounting::ResetCosts, "ResetCosts", 1, "x");
SQAIAccounting.PostRegister(engine);
}

@ -1,56 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_airport.hpp"
#include "../template/template_airport.hpp.sq"
template <> const char *GetClassName<ScriptAirport, ST_AI>() { return "AIAirport"; }
void SQAIAirport_Register(Squirrel *engine)
{
DefSQClass<ScriptAirport, ST_AI> SQAIAirport("AIAirport");
SQAIAirport.PreRegister(engine);
SQAIAirport.AddConstructor<void (ScriptAirport::*)(), 1>(engine, "x");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_SMALL, "AT_SMALL");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_LARGE, "AT_LARGE");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_METROPOLITAN, "AT_METROPOLITAN");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_INTERNATIONAL, "AT_INTERNATIONAL");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_COMMUTER, "AT_COMMUTER");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_INTERCON, "AT_INTERCON");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_HELIPORT, "AT_HELIPORT");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_HELISTATION, "AT_HELISTATION");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_HELIDEPOT, "AT_HELIDEPOT");
SQAIAirport.DefSQConst(engine, ScriptAirport::AT_INVALID, "AT_INVALID");
SQAIAirport.DefSQConst(engine, ScriptAirport::PT_HELICOPTER, "PT_HELICOPTER");
SQAIAirport.DefSQConst(engine, ScriptAirport::PT_SMALL_PLANE, "PT_SMALL_PLANE");
SQAIAirport.DefSQConst(engine, ScriptAirport::PT_BIG_PLANE, "PT_BIG_PLANE");
SQAIAirport.DefSQConst(engine, ScriptAirport::PT_INVALID, "PT_INVALID");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::IsValidAirportType, "IsValidAirportType", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::IsAirportInformationAvailable, "IsAirportInformationAvailable", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetPrice, "GetPrice", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::IsHangarTile, "IsHangarTile", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::IsAirportTile, "IsAirportTile", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetAirportWidth, "GetAirportWidth", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetAirportHeight, "GetAirportHeight", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetAirportCoverageRadius, "GetAirportCoverageRadius", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetNumHangars, "GetNumHangars", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetHangarOfAirport, "GetHangarOfAirport", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::BuildAirport, "BuildAirport", 4, ".iii");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::RemoveAirport, "RemoveAirport", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetAirportType, "GetAirportType", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetNoiseLevelIncrease, "GetNoiseLevelIncrease", 3, ".ii");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetNearestTown, "GetNearestTown", 3, ".ii");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetMaintenanceCostFactor, "GetMaintenanceCostFactor", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &ScriptAirport::GetMonthlyMaintenanceCost, "GetMonthlyMaintenanceCost", 2, ".i");
SQAIAirport.PostRegister(engine);
}

@ -1,30 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_base.hpp"
#include "../template/template_base.hpp.sq"
template <> const char *GetClassName<ScriptBase, ST_AI>() { return "AIBase"; }
void SQAIBase_Register(Squirrel *engine)
{
DefSQClass<ScriptBase, ST_AI> SQAIBase("AIBase");
SQAIBase.PreRegister(engine);
SQAIBase.AddConstructor<void (ScriptBase::*)(), 1>(engine, "x");
SQAIBase.DefSQStaticMethod(engine, &ScriptBase::Rand, "Rand", 1, ".");
SQAIBase.DefSQStaticMethod(engine, &ScriptBase::RandItem, "RandItem", 2, ".i");
SQAIBase.DefSQStaticMethod(engine, &ScriptBase::RandRange, "RandRange", 2, ".i");
SQAIBase.DefSQStaticMethod(engine, &ScriptBase::RandRangeItem, "RandRangeItem", 3, ".ii");
SQAIBase.DefSQStaticMethod(engine, &ScriptBase::Chance, "Chance", 3, ".ii");
SQAIBase.DefSQStaticMethod(engine, &ScriptBase::ChanceItem, "ChanceItem", 4, ".iii");
SQAIBase.PostRegister(engine);
}

@ -1,33 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_basestation.hpp"
#include "../template/template_basestation.hpp.sq"
template <> const char *GetClassName<ScriptBaseStation, ST_AI>() { return "AIBaseStation"; }
void SQAIBaseStation_Register(Squirrel *engine)
{
DefSQClass<ScriptBaseStation, ST_AI> SQAIBaseStation("AIBaseStation");
SQAIBaseStation.PreRegister(engine);
SQAIBaseStation.AddConstructor<void (ScriptBaseStation::*)(), 1>(engine, "x");
SQAIBaseStation.DefSQConst(engine, ScriptBaseStation::STATION_NEW, "STATION_NEW");
SQAIBaseStation.DefSQConst(engine, ScriptBaseStation::STATION_JOIN_ADJACENT, "STATION_JOIN_ADJACENT");
SQAIBaseStation.DefSQConst(engine, ScriptBaseStation::STATION_INVALID, "STATION_INVALID");
SQAIBaseStation.DefSQStaticMethod(engine, &ScriptBaseStation::IsValidBaseStation, "IsValidBaseStation", 2, ".i");
SQAIBaseStation.DefSQStaticMethod(engine, &ScriptBaseStation::GetName, "GetName", 2, ".i");
SQAIBaseStation.DefSQStaticMethod(engine, &ScriptBaseStation::SetName, "SetName", 3, ".i.");
SQAIBaseStation.DefSQStaticMethod(engine, &ScriptBaseStation::GetLocation, "GetLocation", 2, ".i");
SQAIBaseStation.DefSQStaticMethod(engine, &ScriptBaseStation::GetConstructionDate, "GetConstructionDate", 2, ".i");
SQAIBaseStation.PostRegister(engine);
}

@ -1,48 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_bridge.hpp"
#include "../template/template_bridge.hpp.sq"
template <> const char *GetClassName<ScriptBridge, ST_AI>() { return "AIBridge"; }
void SQAIBridge_Register(Squirrel *engine)
{
DefSQClass<ScriptBridge, ST_AI> SQAIBridge("AIBridge");
SQAIBridge.PreRegister(engine);
SQAIBridge.AddConstructor<void (ScriptBridge::*)(), 1>(engine, "x");
SQAIBridge.DefSQConst(engine, ScriptBridge::ERR_BRIDGE_BASE, "ERR_BRIDGE_BASE");
SQAIBridge.DefSQConst(engine, ScriptBridge::ERR_BRIDGE_TYPE_UNAVAILABLE, "ERR_BRIDGE_TYPE_UNAVAILABLE");
SQAIBridge.DefSQConst(engine, ScriptBridge::ERR_BRIDGE_CANNOT_END_IN_WATER, "ERR_BRIDGE_CANNOT_END_IN_WATER");
SQAIBridge.DefSQConst(engine, ScriptBridge::ERR_BRIDGE_HEADS_NOT_ON_SAME_HEIGHT, "ERR_BRIDGE_HEADS_NOT_ON_SAME_HEIGHT");
ScriptError::RegisterErrorMap(STR_ERROR_CAN_T_BUILD_BRIDGE_HERE, ScriptBridge::ERR_BRIDGE_TYPE_UNAVAILABLE);
ScriptError::RegisterErrorMap(STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH, ScriptBridge::ERR_BRIDGE_CANNOT_END_IN_WATER);
ScriptError::RegisterErrorMap(STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT, ScriptBridge::ERR_BRIDGE_HEADS_NOT_ON_SAME_HEIGHT);
ScriptError::RegisterErrorMapString(ScriptBridge::ERR_BRIDGE_TYPE_UNAVAILABLE, "ERR_BRIDGE_TYPE_UNAVAILABLE");
ScriptError::RegisterErrorMapString(ScriptBridge::ERR_BRIDGE_CANNOT_END_IN_WATER, "ERR_BRIDGE_CANNOT_END_IN_WATER");
ScriptError::RegisterErrorMapString(ScriptBridge::ERR_BRIDGE_HEADS_NOT_ON_SAME_HEIGHT, "ERR_BRIDGE_HEADS_NOT_ON_SAME_HEIGHT");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::IsValidBridge, "IsValidBridge", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::IsBridgeTile, "IsBridgeTile", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::GetBridgeID, "GetBridgeID", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::GetName, "GetName", 3, ".ii");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::GetMaxSpeed, "GetMaxSpeed", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::GetPrice, "GetPrice", 3, ".ii");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::GetMaxLength, "GetMaxLength", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::GetMinLength, "GetMinLength", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::BuildBridge, "BuildBridge", 5, ".iiii");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::RemoveBridge, "RemoveBridge", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &ScriptBridge::GetOtherBridgeEnd, "GetOtherBridgeEnd", 2, ".i");
SQAIBridge.PostRegister(engine);
}

@ -1,35 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_bridgelist.hpp"
#include "../template/template_bridgelist.hpp.sq"
template <> const char *GetClassName<ScriptBridgeList, ST_AI>() { return "AIBridgeList"; }
void SQAIBridgeList_Register(Squirrel *engine)
{
DefSQClass<ScriptBridgeList, ST_AI> SQAIBridgeList("AIBridgeList");
SQAIBridgeList.PreRegister(engine, "AIList");
SQAIBridgeList.AddConstructor<void (ScriptBridgeList::*)(), 1>(engine, "x");
SQAIBridgeList.PostRegister(engine);
}
template <> const char *GetClassName<ScriptBridgeList_Length, ST_AI>() { return "AIBridgeList_Length"; }
void SQAIBridgeList_Length_Register(Squirrel *engine)
{
DefSQClass<ScriptBridgeList_Length, ST_AI> SQAIBridgeList_Length("AIBridgeList_Length");
SQAIBridgeList_Length.PreRegister(engine, "AIList");
SQAIBridgeList_Length.AddConstructor<void (ScriptBridgeList_Length::*)(uint length), 2>(engine, "xi");
SQAIBridgeList_Length.PostRegister(engine);
}

@ -1,55 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_cargo.hpp"
#include "../template/template_cargo.hpp.sq"
template <> const char *GetClassName<ScriptCargo, ST_AI>() { return "AICargo"; }
void SQAICargo_Register(Squirrel *engine)
{
DefSQClass<ScriptCargo, ST_AI> SQAICargo("AICargo");
SQAICargo.PreRegister(engine);
SQAICargo.AddConstructor<void (ScriptCargo::*)(), 1>(engine, "x");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_PASSENGERS, "CC_PASSENGERS");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_MAIL, "CC_MAIL");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_EXPRESS, "CC_EXPRESS");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_ARMOURED, "CC_ARMOURED");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_BULK, "CC_BULK");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_PIECE_GOODS, "CC_PIECE_GOODS");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_LIQUID, "CC_LIQUID");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_REFRIGERATED, "CC_REFRIGERATED");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_HAZARDOUS, "CC_HAZARDOUS");
SQAICargo.DefSQConst(engine, ScriptCargo::CC_COVERED, "CC_COVERED");
SQAICargo.DefSQConst(engine, ScriptCargo::TE_NONE, "TE_NONE");
SQAICargo.DefSQConst(engine, ScriptCargo::TE_PASSENGERS, "TE_PASSENGERS");
SQAICargo.DefSQConst(engine, ScriptCargo::TE_MAIL, "TE_MAIL");
SQAICargo.DefSQConst(engine, ScriptCargo::TE_GOODS, "TE_GOODS");
SQAICargo.DefSQConst(engine, ScriptCargo::TE_WATER, "TE_WATER");
SQAICargo.DefSQConst(engine, ScriptCargo::TE_FOOD, "TE_FOOD");
SQAICargo.DefSQConst(engine, ScriptCargo::CT_AUTO_REFIT, "CT_AUTO_REFIT");
SQAICargo.DefSQConst(engine, ScriptCargo::CT_NO_REFIT, "CT_NO_REFIT");
SQAICargo.DefSQConst(engine, ScriptCargo::DT_MANUAL, "DT_MANUAL");
SQAICargo.DefSQConst(engine, ScriptCargo::DT_ASYMMETRIC, "DT_ASYMMETRIC");
SQAICargo.DefSQConst(engine, ScriptCargo::DT_SYMMETRIC, "DT_SYMMETRIC");
SQAICargo.DefSQConst(engine, ScriptCargo::INVALID_DISTRIBUTION_TYPE, "INVALID_DISTRIBUTION_TYPE");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::IsValidCargo, "IsValidCargo", 2, ".i");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::IsValidTownEffect, "IsValidTownEffect", 2, ".i");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::GetCargoLabel, "GetCargoLabel", 2, ".i");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::IsFreight, "IsFreight", 2, ".i");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::HasCargoClass, "HasCargoClass", 3, ".ii");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::GetTownEffect, "GetTownEffect", 2, ".i");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::GetCargoIncome, "GetCargoIncome", 4, ".iii");
SQAICargo.DefSQStaticMethod(engine, &ScriptCargo::GetDistributionType, "GetDistributionType", 2, ".i");
SQAICargo.PostRegister(engine);
}

@ -1,59 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_cargolist.hpp"
#include "../template/template_cargolist.hpp.sq"
template <> const char *GetClassName<ScriptCargoList, ST_AI>() { return "AICargoList"; }
void SQAICargoList_Register(Squirrel *engine)
{
DefSQClass<ScriptCargoList, ST_AI> SQAICargoList("AICargoList");
SQAICargoList.PreRegister(engine, "AIList");
SQAICargoList.AddConstructor<void (ScriptCargoList::*)(), 1>(engine, "x");
SQAICargoList.PostRegister(engine);
}
template <> const char *GetClassName<ScriptCargoList_IndustryAccepting, ST_AI>() { return "AICargoList_IndustryAccepting"; }
void SQAICargoList_IndustryAccepting_Register(Squirrel *engine)
{
DefSQClass<ScriptCargoList_IndustryAccepting, ST_AI> SQAICargoList_IndustryAccepting("AICargoList_IndustryAccepting");
SQAICargoList_IndustryAccepting.PreRegister(engine, "AIList");
SQAICargoList_IndustryAccepting.AddConstructor<void (ScriptCargoList_IndustryAccepting::*)(IndustryID industry_id), 2>(engine, "xi");
SQAICargoList_IndustryAccepting.PostRegister(engine);
}
template <> const char *GetClassName<ScriptCargoList_IndustryProducing, ST_AI>() { return "AICargoList_IndustryProducing"; }
void SQAICargoList_IndustryProducing_Register(Squirrel *engine)
{
DefSQClass<ScriptCargoList_IndustryProducing, ST_AI> SQAICargoList_IndustryProducing("AICargoList_IndustryProducing");
SQAICargoList_IndustryProducing.PreRegister(engine, "AIList");
SQAICargoList_IndustryProducing.AddConstructor<void (ScriptCargoList_IndustryProducing::*)(IndustryID industry_id), 2>(engine, "xi");
SQAICargoList_IndustryProducing.PostRegister(engine);
}
template <> const char *GetClassName<ScriptCargoList_StationAccepting, ST_AI>() { return "AICargoList_StationAccepting"; }
void SQAICargoList_StationAccepting_Register(Squirrel *engine)
{
DefSQClass<ScriptCargoList_StationAccepting, ST_AI> SQAICargoList_StationAccepting("AICargoList_StationAccepting");
SQAICargoList_StationAccepting.PreRegister(engine, "AIList");
SQAICargoList_StationAccepting.AddConstructor<void (ScriptCargoList_StationAccepting::*)(StationID station_id), 2>(engine, "xi");
SQAICargoList_StationAccepting.PostRegister(engine);
}

@ -1,107 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_company.hpp"
#include "../template/template_company.hpp.sq"
template <> const char *GetClassName<ScriptCompany, ST_AI>() { return "AICompany"; }
void SQAICompany_Register(Squirrel *engine)
{
DefSQClass<ScriptCompany, ST_AI> SQAICompany("AICompany");
SQAICompany.PreRegister(engine);
SQAICompany.AddConstructor<void (ScriptCompany::*)(), 1>(engine, "x");
SQAICompany.DefSQConst(engine, ScriptCompany::CURRENT_QUARTER, "CURRENT_QUARTER");
SQAICompany.DefSQConst(engine, ScriptCompany::EARLIEST_QUARTER, "EARLIEST_QUARTER");
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_FIRST, "COMPANY_FIRST");
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_LAST, "COMPANY_LAST");
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_INVALID, "COMPANY_INVALID");
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_SELF, "COMPANY_SELF");
SQAICompany.DefSQConst(engine, ScriptCompany::COMPANY_SPECTATOR, "COMPANY_SPECTATOR");
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_MALE, "GENDER_MALE");
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_FEMALE, "GENDER_FEMALE");
SQAICompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID, "GENDER_INVALID");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_DEFAULT, "LS_DEFAULT");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_STEAM, "LS_STEAM");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_DIESEL, "LS_DIESEL");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_ELECTRIC, "LS_ELECTRIC");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_MONORAIL, "LS_MONORAIL");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_MAGLEV, "LS_MAGLEV");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_DMU, "LS_DMU");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_EMU, "LS_EMU");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_STEAM, "LS_PASSENGER_WAGON_STEAM");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_DIESEL, "LS_PASSENGER_WAGON_DIESEL");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_ELECTRIC, "LS_PASSENGER_WAGON_ELECTRIC");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MONORAIL, "LS_PASSENGER_WAGON_MONORAIL");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MAGLEV, "LS_PASSENGER_WAGON_MAGLEV");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_WAGON, "LS_FREIGHT_WAGON");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_BUS, "LS_BUS");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_TRUCK, "LS_TRUCK");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_SHIP, "LS_PASSENGER_SHIP");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_SHIP, "LS_FREIGHT_SHIP");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_HELICOPTER, "LS_HELICOPTER");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_SMALL_PLANE, "LS_SMALL_PLANE");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_LARGE_PLANE, "LS_LARGE_PLANE");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_TRAM, "LS_PASSENGER_TRAM");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_TRAM, "LS_FREIGHT_TRAM");
SQAICompany.DefSQConst(engine, ScriptCompany::LS_INVALID, "LS_INVALID");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_BLUE, "COLOUR_DARK_BLUE");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_PALE_GREEN, "COLOUR_PALE_GREEN");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_PINK, "COLOUR_PINK");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_YELLOW, "COLOUR_YELLOW");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_RED, "COLOUR_RED");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_LIGHT_BLUE, "COLOUR_LIGHT_BLUE");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_GREEN, "COLOUR_GREEN");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_GREEN, "COLOUR_DARK_GREEN");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_BLUE, "COLOUR_BLUE");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_CREAM, "COLOUR_CREAM");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_MAUVE, "COLOUR_MAUVE");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_PURPLE, "COLOUR_PURPLE");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_ORANGE, "COLOUR_ORANGE");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_BROWN, "COLOUR_BROWN");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_GREY, "COLOUR_GREY");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_WHITE, "COLOUR_WHITE");
SQAICompany.DefSQConst(engine, ScriptCompany::COLOUR_INVALID, "COLOUR_INVALID");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::ResolveCompanyID, "ResolveCompanyID", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::IsMine, "IsMine", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetName, "SetName", 2, "..");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetName, "GetName", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetPresidentName, "SetPresidentName", 2, "..");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetPresidentName, "GetPresidentName", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetPresidentGender, "SetPresidentGender", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetPresidentGender, "GetPresidentGender", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetLoanAmount, "SetLoanAmount", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetMinimumLoanAmount, "SetMinimumLoanAmount", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetLoanAmount, "GetLoanAmount", 1, ".");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetMaxLoanAmount, "GetMaxLoanAmount", 1, ".");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetLoanInterval, "GetLoanInterval", 1, ".");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetBankBalance, "GetBankBalance", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetQuarterlyIncome, "GetQuarterlyIncome", 3, ".ii");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetQuarterlyExpenses, "GetQuarterlyExpenses", 3, ".ii");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetQuarterlyCargoDelivered, "GetQuarterlyCargoDelivered", 3, ".ii");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetQuarterlyPerformanceRating, "GetQuarterlyPerformanceRating", 3, ".ii");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetQuarterlyCompanyValue, "GetQuarterlyCompanyValue", 3, ".ii");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::BuildCompanyHQ, "BuildCompanyHQ", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetCompanyHQ, "GetCompanyHQ", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetAutoRenewStatus, "SetAutoRenewStatus", 2, ".b");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewStatus, "GetAutoRenewStatus", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetAutoRenewMonths, "SetAutoRenewMonths", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewMonths, "GetAutoRenewMonths", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetAutoRenewMoney, "SetAutoRenewMoney", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewMoney, "GetAutoRenewMoney", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetPrimaryLiveryColour, "SetPrimaryLiveryColour", 3, ".ii");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::SetSecondaryLiveryColour, "SetSecondaryLiveryColour", 3, ".ii");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetPrimaryLiveryColour, "GetPrimaryLiveryColour", 2, ".i");
SQAICompany.DefSQStaticMethod(engine, &ScriptCompany::GetSecondaryLiveryColour, "GetSecondaryLiveryColour", 2, ".i");
SQAICompany.PostRegister(engine);
}

@ -1,33 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_date.hpp"
#include "../template/template_date.hpp.sq"
template <> const char *GetClassName<ScriptDate, ST_AI>() { return "AIDate"; }
void SQAIDate_Register(Squirrel *engine)
{
DefSQClass<ScriptDate, ST_AI> SQAIDate("AIDate");
SQAIDate.PreRegister(engine);
SQAIDate.AddConstructor<void (ScriptDate::*)(), 1>(engine, "x");
SQAIDate.DefSQConst(engine, ScriptDate::DATE_INVALID, "DATE_INVALID");
SQAIDate.DefSQStaticMethod(engine, &ScriptDate::IsValidDate, "IsValidDate", 2, ".i");
SQAIDate.DefSQStaticMethod(engine, &ScriptDate::GetCurrentDate, "GetCurrentDate", 1, ".");
SQAIDate.DefSQStaticMethod(engine, &ScriptDate::GetDayLengthFactor, "GetDayLengthFactor", 1, ".");
SQAIDate.DefSQStaticMethod(engine, &ScriptDate::GetYear, "GetYear", 2, ".i");
SQAIDate.DefSQStaticMethod(engine, &ScriptDate::GetMonth, "GetMonth", 2, ".i");
SQAIDate.DefSQStaticMethod(engine, &ScriptDate::GetDayOfMonth, "GetDayOfMonth", 2, ".i");
SQAIDate.DefSQStaticMethod(engine, &ScriptDate::GetDate, "GetDate", 4, ".iii");
SQAIDate.PostRegister(engine);
}

@ -1,23 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_depotlist.hpp"
#include "../template/template_depotlist.hpp.sq"
template <> const char *GetClassName<ScriptDepotList, ST_AI>() { return "AIDepotList"; }
void SQAIDepotList_Register(Squirrel *engine)
{
DefSQClass<ScriptDepotList, ST_AI> SQAIDepotList("AIDepotList");
SQAIDepotList.PreRegister(engine, "AIList");
SQAIDepotList.AddConstructor<void (ScriptDepotList::*)(ScriptTile::TransportType transport_type), 2>(engine, "xi");
SQAIDepotList.PostRegister(engine);
}

@ -1,51 +0,0 @@
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "../script_engine.hpp"
#include "../template/template_engine.hpp.sq"
template <> const char *GetClassName<ScriptEngine, ST_AI>() { return "AIEngine"; }
void SQAIEngine_Register(Squirrel *engine)
{
DefSQClass<ScriptEngine, ST_AI> SQAIEngine("AIEngine");
SQAIEngine.PreRegister(engine);
SQAIEngine.AddConstructor<void (ScriptEngine::*)(), 1>(engine, "x");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::IsValidEngine, "IsValidEngine", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::IsBuildable, "IsBuildable", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetName, "GetName", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetCargoType, "GetCargoType", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::CanRefitCargo, "CanRefitCargo", 3, ".ii");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::CanPullCargo, "CanPullCargo", 3, ".ii");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetCapacity, "GetCapacity", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetReliability, "GetReliability", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetMaxSpeed, "GetMaxSpeed", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetPrice, "GetPrice", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetMaxAge, "GetMaxAge", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetRunningCost, "GetRunningCost", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetPower, "GetPower", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetWeight, "GetWeight", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetMaxTractiveEffort, "GetMaxTractiveEffort", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetDesignDate, "GetDesignDate", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetVehicleType, "GetVehicleType", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::IsWagon, "IsWagon", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::CanRunOnRail, "CanRunOnRail", 3, ".ii");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::HasPowerOnRail, "HasPowerOnRail", 3, ".ii");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::CanRunOnRoad, "CanRunOnRoad", 3, ".ii");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::HasPowerOnRoad, "HasPowerOnRoad", 3, ".ii");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetRoadType, "GetRoadType", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetRailType, "GetRailType", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::IsArticulated, "IsArticulated", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetPlaneType, "GetPlaneType", 2, ".i");
SQAIEngine.DefSQStaticMethod(engine, &ScriptEngine::GetMaximumOrderDistance, "GetMaximumOrderDistance", 2, ".i");
SQAIEngine.PostRegister(engine);
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save