1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-10 09:32:29 +01:00

Merge branch 'pre-release'

This commit is contained in:
Ted John
2016-04-15 22:39:13 +01:00
368 changed files with 77621 additions and 25654 deletions

3
.gitattributes vendored
View File

@@ -9,6 +9,9 @@
*.fsproj merge=union
*.dbproj merge=union
# Custom for Xcode
*.pbxproj merge=union
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain

21
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,21 @@
**OS:**
**Version:**
**Commit:**
Explanation of the issue...
- [ ] Reproducible in RCT2 (vanilla)?
- [ ] Multiplayer?
**Steps to reproduce:**
1.
2.
**Dump file**
If you have a dump file, zip it and drag&drop it here.
**Screenshots / Video:**
Drag / drop screenshots here. Use https://vid.me to upload video.
**Save game:**
Change the file extension to .txt or package to a .zip so that it can be drag / dropped here...

43
.gitignore vendored
View File

@@ -5,10 +5,14 @@ sdl
# Compiled dll
openrct2.dll
# Compiled linux executable
openrct2
# Distribution
distribution/windows/*.exe
# Build artifacts
artifacts
.cache
#lib
@@ -104,11 +108,14 @@ ipch/
*.opensdf
*.sdf
*.cachefile
*.VC.opendb
*.VC.db
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.diagsession
# Guidance Automation Toolkit
*.gpState
@@ -198,9 +205,38 @@ Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
#############
## Xcode
#############
# Build generated
build/
DerivedData
# Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
# Other
*.xccheckout
*.moved-aside
*.xcuserstate
# Mac crap
.DS_Store
# We link logo files to .xcassets in Xcode project, so don't sync them
distribution/osx/Assets.xcassets/AppIcon.appiconset/*.png
# Extra Xcode-specific lib files
libxc
#############
## Python
@@ -238,3 +274,10 @@ openrct2.id*
openrct2.nam
openrct2.til
data/g2.dat
#################
## Linux
#################
# KDE folder settings
.directory

View File

@@ -1,10 +1,69 @@
language: c
before_install:
- bash install.sh
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then bash scripts/linux/install.sh; fi
- if [[ $TRAVIS_OS_NAME == "osx" ]]; then sudo gem install xcpretty-travis-formatter; fi
sudo: required
dist: trusty
env:
global:
- OPENRCT2_VERSION="0.0.4.0"
matrix:
include:
- os: linux
env:
- OPENRCT2_CMAKE_OPTS="-DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=OpenRCT2"
- OPENRCT2_MAKE_OPTS="-j2"
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
after_success:
- cd build
- make install
- mv OpenRCT2/bin/openrct2 OpenRCT2/ && mv OpenRCT2/share/openrct2 OpenRCT2/data && mv OpenRCT2/share/doc/openrct2 OpenRCT2/doc
- rm -rf OpenRCT2/bin OpenRCT2/share # remove empty dirs
- tar cvzf openrct2-linux.tar.gz OpenRCT2/
- if [[ "z$OPENRCT2_ORG_TOKEN" != "z" && ("${TRAVIS_BRANCH}" =~ "^(develop|push/)" || "z${TRAVIS_TAG}" != "z") ]] ; then curl -o - -v --form "key=$OPENRCT2_ORG_TOKEN" --form "fileName=OpenRCT2-${OPENRCT2_VERSION}-${TRAVIS_BRANCH}-${TRAVIS_COMMIT:0:7}-linux.tar.gz" --form "version=${OPENRCT2_VERSION}" --form "gitHash=$TRAVIS_COMMIT" --form "gitBranch=$TRAVIS_BRANCH" --form "flavourId=4" --form "file=@openrct2-linux.tar.gz" "https://openrct2.org/altapi/?command=push-build"; fi
- os: linux
env: OPENRCT2_CMAKE_OPTS="-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
- os: linux
env: OPENRCT2_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
- os: linux
env: TARGET=docker32
services:
- docker
- os: linux
env: OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON" TARGET=docker32
services:
- docker
- os: osx
osx_image: xcode7.2
env:
- secure: "OXn/i72FxW/oh6RGlaN+gHSbkt1ToFe36etaiDOsJQznt6fe9CpFdnE8U1XBHlGokcEjbGNErRU7CFDKYHQuGrPZyHXwgqG2/0emIqFaFt5ti5ypyYKf5qH9x1LLLfdZxDyHkxXdlJ7Etxbp3G7qrV8CGRQiYRNHm1f98AmuufE="
after_success:
- cd build/Release
- zip -r openrct2-osx.zip OpenRCT2.app
- if [[ "z$OPENRCT2_ORG_TOKEN" != "z" && ("${TRAVIS_BRANCH}" =~ "^(develop|push/)" || "z${TRAVIS_TAG}" != "z") ]] ; then curl -o - -v --form "key=$OPENRCT2_ORG_TOKEN" --form "fileName=OpenRCT2-${OPENRCT2_VERSION}-${TRAVIS_BRANCH}-${TRAVIS_COMMIT:0:7}-osx.zip" --form "version=${OPENRCT2_VERSION}" --form "gitHash=$TRAVIS_COMMIT" --form "gitBranch=$TRAVIS_BRANCH" --form "flavourId=3" --form "file=@openrct2-osx.zip" "https://openrct2.org/altapi/?command=push-build"; fi
# Following entries used to be included in testing, but they only proved useful while changing things in CMake setup.
# They are meant to be used when there are changes to CMakeLists.txt
# - os: linux
# env: OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8"
# - os: linux
# env: OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
# - os: linux
# env: OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=OFF -DDISABLE_HTTP_TWITCH=ON -DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8"
# - os: linux
# env: OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=OFF -DDISABLE_HTTP_TWITCH=OFF -DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8"
# - os: linux
# env: OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
# - os: linux
# env: OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
# - os: linux
# env: OPENRCT2_CMAKE_OPTS="-DDISABLE_HTTP_TWITCH=ON -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
script:
- bash build.sh
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then bash scripts/linux/build.sh ; fi
- if [[ $TRAVIS_OS_NAME == "osx" ]]; then set -o pipefail && xcodebuild | xcpretty -f `xcpretty-travis-formatter`; fi
notifications:
on_failure: change
@@ -14,21 +73,3 @@ cache:
directories:
- .cache
apt: true
env:
- OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8"
- OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
- OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=OFF -DDISABLE_HTTP_TWITCH=ON -DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8"
- OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=OFF -DDISABLE_HTTP_TWITCH=OFF -DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8"
- OPENRCT2_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
- OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
- OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
- OPENRCT2_CMAKE_OPTS="-DDISABLE_HTTP_TWITCH=ON -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt" TARGET=windows
- TARGET=docker32
- OPENRCT2_CMAKE_OPTS="-DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON" TARGET=docker32
sudo: required
dist: trusty
services:
- docker

View File

@@ -23,6 +23,10 @@ set (ORCT2_RESOURCE_DIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT}/)
project(${PROJECT})
if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
message(FATAL_ERROR "Building in-source is not supported! Create a build dir and remove ${CMAKE_SOURCE_DIR}/CMakeCache.txt")
endif()
add_definitions(-DORCT2_RESOURCE_DIR="${ORCT2_RESOURCE_DIR}")
add_definitions(-DHAVE_CONFIG_H)
add_definitions(-DCURL_STATICLIB)
@@ -32,13 +36,6 @@ INCLUDE(FindPkgConfig)
option(DISABLE_HTTP_TWITCH "Disable HTTP and Twitch support.")
if (DISABLE_HTTP_TWITCH)
add_definitions(-DDISABLE_HTTP -DDISABLE_TWITCH)
else (DISABLE_HTTP_TWITCH)
PKG_CHECK_MODULES(LIBCURL REQUIRED libcurl)
PKG_CHECK_MODULES(JANSSON REQUIRED jansson)
SET(HTTPLIBS ${LIBCURL_LIBRARIES} ${JANSSON_LIBRARIES})
if (WIN32)
SET(HTTPLIBS ${HTTPLIBS} ssl crypto winmm.lib ws2_32)
endif (WIN32)
endif (DISABLE_HTTP_TWITCH)
option(DISABLE_NETWORK "Disable multiplayer functionality. Mainly for testing.")
@@ -50,6 +47,69 @@ else (DISABLE_NETWORK)
endif (WIN32)
endif (DISABLE_NETWORK)
option(STATIC "Create a static build.")
PKG_CHECK_MODULES(PNG libpng>=1.6)
if (NOT PNG_FOUND)
PKG_CHECK_MODULES(PNG libpng16)
endif (NOT PNG_FOUND)
if (NOT PNG_FOUND)
PKG_CHECK_MODULES(PNG libpng>=1.2)
endif (NOT PNG_FOUND)
if (NOT PNG_FOUND)
PKG_CHECK_MODULES(PNG REQUIRED libpng12)
endif (NOT PNG_FOUND)
PKG_CHECK_MODULES(ZLIB REQUIRED zlib)
PKG_CHECK_MODULES(JANSSON REQUIRED jansson>=2.7)
# Handle creating the rct2 text and data files on OS X and Linux
# See details in src/openrct2.c:openrct2_setup_rct2_segment for how the values
# were derived.
if (UNIX)
add_custom_command(
OUTPUT openrct2_text
COMMAND dd if=${CMAKE_CURRENT_SOURCE_DIR}/openrct2.exe of=${CMAKE_BINARY_DIR}/openrct2_text bs=4096 skip=1 count=1187
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/openrct2.exe
)
add_custom_command(
OUTPUT openrct2_data
COMMAND dd if=${CMAKE_CURRENT_SOURCE_DIR}/openrct2.exe of=${CMAKE_BINARY_DIR}/openrct2_data bs=4096 skip=1188 count=318
COMMAND dd if=/dev/zero of=${CMAKE_BINARY_DIR}/openrct2_data bs=4096 seek=318 count=2630 conv=notrunc
COMMAND dd if=${CMAKE_CURRENT_SOURCE_DIR}/openrct2.exe of=${CMAKE_BINARY_DIR}/openrct2_data bs=4096 skip=1506 seek=2948 count=1 conv=notrunc
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/openrct2.exe
)
add_custom_target(segfiles DEPENDS openrct2_text openrct2_data)
if (APPLE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -sectcreate rct2_text __text ${CMAKE_CURRENT_SOURCE_DIR}/build/openrct2_text -sectcreate rct2_data __data ${CMAKE_CURRENT_SOURCE_DIR}/build/openrct2_data -segaddr rct2_data 0x8a4000 -segprot rct2_data rwx rwx -segaddr rct2_text 0x401000 -segprot rct2_text rwx rwx -fno-pie -read_only_relocs suppress")
else (APPLE)
# For Linux we have to use objcopy to wrap regular binaries into a linkable
# format. We use specific section names which are then referenced in a
# bespoke linker script so they can be placed at predefined VMAs.
add_custom_command(
OUTPUT openrct2_text_section.o
COMMAND objcopy --input binary --output elf32-i386 --binary-architecture i386 openrct2_text openrct2_text_section.o --rename-section .data=.rct2_text,contents,alloc,load,readonly,code
DEPENDS segfiles
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
add_custom_command(
OUTPUT openrct2_data_section.o
COMMAND objcopy --input binary --output elf32-i386 --binary-architecture i386 openrct2_data openrct2_data_section.o --rename-section .data=.rct2_data,contents,alloc,load,readonly,data
DEPENDS segfiles
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
add_custom_target(linkable_sections DEPENDS openrct2_text_section.o openrct2_data_section.o)
SET_SOURCE_FILES_PROPERTIES(
openrct2_text_section.o openrct2_data_section.o
PROPERTIES
EXTERNAL_OBJECT true
GENERATED true
)
# can't use GLOB here, as the files don't exist yet at cmake-time
set(RCT2_SECTIONS "${CMAKE_BINARY_DIR}/openrct2_data_section.o" "${CMAKE_BINARY_DIR}/openrct2_text_section.o")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-T,\"${CMAKE_CURRENT_SOURCE_DIR}/distribution/linux/ld_script.xc\"")
endif (APPLE)
endif (UNIX)
set(DEBUG_LEVEL 0 CACHE STRING "Select debug level for compilation. Use value in range 03.")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDEBUG=${DEBUG_LEVEL}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG=${DEBUG_LEVEL}")
@@ -57,49 +117,134 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG=${DEBUG_LEVEL}")
# include lib
include_directories("lib/")
# add source files
file(GLOB_RECURSE ORCT2_SOURCES "src/*.c" "src/*.cpp" "lib/argparse/*.c" "lib/cutest/*.c" "lib/lodepng/*.c")
file(GLOB_RECURSE ORCT2_SOURCES "src/*.c" "src/*.cpp" "src/*.h" "src/*.hpp")
if (APPLE)
file(GLOB_RECURSE ORCT2_MM_SOURCES "src/*.m")
set_source_files_properties(${ORCT2_MM_SOURCES} PROPERTIES COMPILE_FLAGS "-x objective-c -fmodules")
endif (APPLE)
if (UNIX)
# force 32bit build for now and set necessary flags to compile code as is
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -std=gnu99 -fno-omit-frame-pointer")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -std=gnu++11 -fno-omit-frame-pointer")
set(CMAKE_SHARED_LINKER_FLAGS "-m32")
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS})
endif (UNIX)
# force 32bit build for now and set necessary flags to compile code as is
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -std=gnu99 -fno-omit-frame-pointer -fno-pie -fstrict-aliasing -Werror=strict-aliasing")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -std=gnu++11 -fno-omit-frame-pointer -fno-pie -fstrict-aliasing -Werror=strict-aliasing")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}")
if (MINGW)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpack-struct=1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpack-struct=1")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++")
endif ()
if (STATIC)
if (WIN32)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static")
else (WIN32)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
endif (WIN32)
endif ()
option(WITH_BREAKPAD "Enable breakpad")
if (WITH_BREAKPAD)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_BREAKPAD")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_BREAKPAD")
set(BREAKPAD_DIR "/home/janisozaur/workspace/breakpad/src")
set(BREAKPAD_INCLUDE_DIR "${BREAKPAD_DIR}/src")
set(BREAKPAD_LIBRARY_DIR "${BREAKPAD_DIR}/src/client/linux")
set(BREAKPAD_LIBS breakpad_client pthread)
endif (WITH_BREAKPAD)
# find and include SDL2
PKG_CHECK_MODULES(SDL2 REQUIRED sdl2 SDL2_ttf)
if (STATIC)
# FreeType is required by SDL2_ttf, but not wired up properly in package
PKG_CHECK_MODULES(FREETYPE REQUIRED freetype2)
SET(SDL2LIBS ${SDL2_STATIC_LIBRARIES} ${FREETYPE_STATIC_LIBRARIES})
else (STATIC)
SET(SDL2LIBS ${SDL2_LIBRARIES})
endif (STATIC)
# speex v1.1.15 is supplied in our zipped library, but distributions provide
# updated version, with required functions extracted out to libspeexdsp.
# This largely takes care of the problem
if (WIN32)
include_directories("lib/libspeex/")
file(GLOB_RECURSE SPEEX_SOURCES "lib/libspeex/*.c")
else (WIN32)
PKG_CHECK_MODULES(SPEEX REQUIRED speexdsp)
endif (WIN32)
if (STATIC)
SET(REQUIREDLIBS ${PNG_STATIC_LIBRARIES} ${JANSSON_STATIC_LIBRARIES} ${ZLIB_STATIC_LIBRARIES})
else (STATIC)
SET(REQUIREDLIBS ${PNG_LIBRARIES} ${JANSSON_LIBRARIES} ${ZLIB_LIBRARIES})
endif (STATIC)
if (NOT DISABLE_HTTP_TWITCH)
PKG_CHECK_MODULES(LIBCURL REQUIRED libcurl)
if (WIN32)
# Curl depends on openssl and ws2 in mingw builds, but is not wired up in pkg-config
PKG_CHECK_MODULES(SSL REQUIRED openssl)
set(WSLIBS ws2_32)
endif (WIN32)
if (STATIC)
SET(HTTPLIBS ${LIBCURL_STATIC_LIBRARIES} ${SSL_STATIC_LIBRARIES} ${WSLIBS})
else (STATIC)
SET(HTTPLIBS ${LIBCURL_LIBRARIES} ${SSL_LIBRARIES} ${WSLIBS})
endif (STATIC)
endif (NOT DISABLE_HTTP_TWITCH)
PKG_CHECK_MODULES(SPEEX REQUIRED speexdsp)
# Include libdl for dlopen
if (UNIX)
# Include libdl for dlopen
set(DLLIB dl)
endif (UNIX)
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS} ${LIBCURL_INCLUDE_DIRS} ${JANSSON_INCLUDE_DIRS} ${SPEEX_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS} ${LIBCURL_INCLUDE_DIRS} ${JANSSON_INCLUDE_DIRS} ${SPEEX_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${BREAKPAD_INCLUDE_DIR})
LINK_DIRECTORIES(${SDL2_LIBRARY_DIRS} ${JANSSON_LIBRARY_DIRS} ${LIBCURL_LIBRARY_DIRS})
LINK_DIRECTORIES(${SDL2_LIBRARY_DIRS} ${JANSSON_LIBRARY_DIRS} ${LIBCURL_LIBRARY_DIRS} ${PNG_LIBRARY_DIRS} ${ZLIB_LIBRARY_DIRS} ${BREAKPAD_LIBRARY_DIR})
if (WIN32)
# build as library for now, replace with add_executable
add_library(${PROJECT} SHARED ${ORCT2_SOURCES} ${SPEEX_SOURCES})
else (WIN32)
add_executable(${PROJECT} ${ORCT2_SOURCES})
add_executable(${PROJECT} ${ORCT2_SOURCES} ${ORCT2_MM_SOURCES} ${RCT2_SECTIONS})
add_dependencies(${PROJECT} segfiles)
if (NOT APPLE)
add_dependencies(${PROJECT} linkable_sections)
endif ()
add_custom_command(
OUTPUT g2.dat
COMMAND ./openrct2 sprite build ${CMAKE_BINARY_DIR}/g2.dat ${CMAKE_CURRENT_SOURCE_DIR}/resources/g2/
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
add_custom_target(g2 DEPENDS ${PROJECT} g2.dat)
endif (WIN32)
if (UNIX AND NOT APPLE)
# FontConfig for TrueType fonts.
PKG_CHECK_MODULES(FONTCONFIG REQUIRED fontconfig)
INCLUDE_DIRECTORIES(${FONTCONFIG_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(${PROJECT} ${FONTCONFIG_LIBRARIES})
endif (UNIX AND NOT APPLE)
# install into ${CMAKE_INSTALL_PREFIX}/bin/
#install (TARGETS ${PROJECT} DESTINATION bin)
# libopenrct2.dll -> openrct2.dll
set_target_properties(${PROJECT} PROPERTIES PREFIX "")
TARGET_LINK_LIBRARIES(${PROJECT} ${SDL2_LIBRARIES} ${ORCTLIBS_LIB} ${JANSSON_LIBRARIES} ${HTTPLIBS} ${NETWORKLIBS} ${SPEEX_LIBRARIES} ${DLLIB})
TARGET_LINK_LIBRARIES(${PROJECT} ${SDL2LIBS} ${HTTPLIBS} ${NETWORKLIBS} ${SPEEX_LIBRARIES} ${DLLIB} ${REQUIREDLIBS} ${BREAKPAD_LIBS})
if (APPLE OR STATIC)
FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c)
TARGET_LINK_LIBRARIES(${PROJECT} ${ICONV_LIBRARIES})
endif (APPLE OR STATIC)
# Don't recurse, grab all *.txt and *.md files
file(GLOB DOC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/distribution/*.txt")
list(APPEND DOC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/contributors.md" "${CMAKE_CURRENT_SOURCE_DIR}/licence.txt")
# CMake does not allow specifying a dependency chain which includes built-in
# targets, like `install`, so we have to trick it and execute dependency ourselves.
install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" --build \"${CMAKE_CURRENT_BINARY_DIR}\" --target g2)")
install(TARGETS ${PROJECT} RUNTIME DESTINATION bin)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/g2.dat" DESTINATION share/${PROJECT})
install(DIRECTORY data/ DESTINATION share/${PROJECT})
install(FILES ${DOC_FILES} DESTINATION share/doc/${PROJECT})
set(CPACK_PACKAGE_VERSION_MAJOR 0)
set(CPACK_PACKAGE_VERSION_MINOR 0)
set(CPACK_PACKAGE_VERSION_PATCH 4)
INCLUDE(CPack)

View File

@@ -1,4 +1,3 @@
SET(ACTUAL_SYSTEM ${CMAKE_SYSTEM_NAME})
SET(CMAKE_SYSTEM_NAME Windows)
SET(COMPILER_PREFIX i686-w64-mingw32)
@@ -8,17 +7,6 @@ SET(CMAKE_RC_COMPILER ${COMPILER_PREFIX}-windres)
SET(CMAKE_PKGCONFIG_EXECUTABLE ${COMPILER_PREFIX}-pkg-config)
SET(PKG_CONFIG_EXECUTABLE ${COMPILER_PREFIX}-pkg-config)
# potential flags to make code more similar to MSVC:
# -fshort-wchar -fshort-enums -mms-bitfields
#
set(CMAKE_C_FLAGS "-std=gnu99 -fpack-struct=1" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS "-std=c++0x -std=gnu++0x -fpack-struct=1" CACHE STRING "" FORCE)
if(${ACTUAL_SYSTEM} MATCHES "Linux")
set(CMAKE_SHARED_LINKER_FLAGS "-O3 -static-libgcc -static-libstdc++ -static -lpthread" CACHE STRING "" FORCE)
else()
set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++" CACHE STRING "" FORCE)
endif(${ACTUAL_SYSTEM} MATCHES "Linux")
if(APPLE)
SET(TARGET_ENVIRONMENT /usr/local/mingw-w32-bin_i686-darwin/i686-w64-mingw32)
else()

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:OpenRCT2.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,16 @@
{
"DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "E48FB7C08C6966C4BACE7D0390CDFA7C64DD04D8",
"DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
},
"DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
"E48FB7C08C6966C4BACE7D0390CDFA7C64DD04D8" : 0
},
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "6B7243E0-B9B8-4E6D-ACE9-4DF346FA52C7",
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
"E48FB7C08C6966C4BACE7D0390CDFA7C64DD04D8" : "OpenRCT2\/"
},
"DVTSourceControlWorkspaceBlueprintNameKey" : "OpenRCT2",
"DVTSourceControlWorkspaceBlueprintVersion" : 204,
"DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "OpenRCT2.xcodeproj"
}

View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0720"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D497D0771C20FD52002BF46A"
BuildableName = "OpenRCT2.app"
BlueprintName = "OpenRCT2"
ReferencedContainer = "container:OpenRCT2.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D497D0771C20FD52002BF46A"
BuildableName = "OpenRCT2.app"
BlueprintName = "OpenRCT2"
ReferencedContainer = "container:OpenRCT2.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "NO"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D497D0771C20FD52002BF46A"
BuildableName = "OpenRCT2.app"
BlueprintName = "OpenRCT2"
ReferencedContainer = "container:OpenRCT2.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D497D0771C20FD52002BF46A"
BuildableName = "OpenRCT2.app"
BlueprintName = "OpenRCT2"
ReferencedContainer = "container:OpenRCT2.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

BIN
SDL2.dll

Binary file not shown.

View File

@@ -1,4 +1,32 @@
version: 0.0.3.{build}
version: 0.0.4.{build}
os: Visual Studio 2015
environment:
ENCKEY:
secure: saYAIpqXzpq0U+JH+MNi/isRQ6Y51PZhm4BrnePDiAPptFO5htxFOLegrYqxdy67
CODE-SIGN-KEY-OPENRCT2.ORG.PFX.PASSWORD:
secure: bzYmf0ElxisSGyZnIjUOYQ==
OPENRCT2.ORG_TOKEN:
secure: leQX3xCQpmBLGuMqrxjFlzexDt96ypNRMM5TTRVHbGE8PwVg9crgeykLc2BIZU6HDHveJCHqh2cGMdHtHYJYcw==
install:
- cmd: >-
IF DEFINED ENCKEY ( nuget install secure-file -ExcludeVersion && secure-file\tools\secure-file -decrypt distribution\windows\code-sign-key-openrct2.org.pfx.enc -secret %ENCKEY% )
cinst nsis.portable --version=3.01-beta1 > nul
- ps: >-
curl "http://nsis.sourceforge.net/mediawiki/images/5/53/KillProcDll%26FindProcDll.zip" -OutFile nsisxtra.zip
7z x nsisxtra.zip > $null
cp FindProcDLL.dll "C:\ProgramData\chocolatey\lib\nsis.portable\tools\nsis-3.0b1\Plugins\x86-ansi"
build_script:
- set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
- .\build.bat
- ps: >-
.\setenv.ps1
appveyor_run
artifacts:
- path: .\artifacts\openrct2.zip
name: OpenRCT2-portable
- path: .\artifacts\*.exe
name: OpenRCT2-installer
- path: .\artifacts\openrct2-symbols-*.zip
name: OpenRCT2 debug symbols

View File

@@ -1 +0,0 @@
msbuild .\projects\openrct2.sln /p:Configuration=Release /p:Platform=Win32

100
build.sh
View File

@@ -1,100 +0,0 @@
#!/bin/bash
set -e
cachedir=.cache
mkdir -p $cachedir
# Sets default target to "linux", if none specified
TARGET=${TARGET-linux}
if [[ ! -d build ]]; then
mkdir -p build
fi
# keep in sync with version in install.sh
sha256sum=69ff98c9544838fb16384bc78af9dc1c452b9d01d919e43f5fec686d02c9bdd8
libVFile="./libversion"
libdir="./lib"
currentversion=0
needsdownload="true"
if [ -f $libVFile ]; then
while read line; do
currentversion=$line
continue
done < $libVFile
fi
if [ "z$currentversion" == "z$sha256sum" ]; then
needsdownload="false"
fi
if [ ! -d $libdir ]; then
needsdownload="true"
fi
if [[ "$needsdownload" = "true" ]]; then
echo "Found library had sha256sum $currentversion, expected $sha256sum"
echo "New libraries need to be downloaded. Clearing cache and calling ./install.sh"
rm -rf ./lib
if [[ -f $cachedir/orctlibs.zip ]]; then
rm -rf $cachedir/orctlibs.zip
fi
if [[ -d /usr/local/cross-tools/orctlibs ]]; then
sudo rm -rf /usr/local/cross-tools/orctlibs
fi
if [[ -d $cachedir/orctlibs ]]; then
rm -rf $cachedir/orctlibs
fi
./install.sh
fi
pushd build
echo OPENRCT2_CMAKE_OPTS = $OPENRCT2_CMAKE_OPTS
if [[ $TARGET == "docker32" ]]
then
PARENT=$(readlink -f ../)
chmod a+rwx $(pwd)
chmod g+s $(pwd)
docker run -u travis -v $PARENT:/work/openrct2 -w /work/openrct2/build -i -t openrct2/openrct2:32bit-only bash -c "cmake ../ $OPENRCT2_CMAKE_OPTS && make"
else
cmake -DCMAKE_BUILD_TYPE=Debug $OPENRCT2_CMAKE_OPTS ..
make
fi
popd
if [[ $TARGET == "windows" ]]; then
if [[ ! -h openrct2.dll ]]; then
ln -s build/openrct2.dll openrct2.dll
fi
fi
if [[ ! -h build/data ]]; then
ln -s ../data build/data
fi
if [[ $TARGET == "linux" ]] || [[ $TARGET == "docker32" ]]; then
if [[ ! -h openrct2 ]]; then
ln -s build/openrct2 openrct2
fi
fi
if [[ -z "$DISABLE_G2_BUILD" ]]; then
echo Building: data/g2.dat
./build_g2.sh > /dev/null 2>&1
fi
if [[ $TARGET == "windows" ]]; then
if [[ -t 1 ]]; then
echo -e "\nDone! Run OpenRCT2 by typing:\n\n\033[95mwine openrct2.exe\n\033[0m"
else
echo -e "\nDone! Run OpenRCT2 by typing:\n\nwine openrct2.exe\n"
fi
else
if [[ -t 1 ]]; then
echo -e "\nDone! Run OpenRCT2 by typing:\n\n\033[95m./openrct2\n\033[0m"
else
echo -e "\nDone! Run OpenRCT2 by typing:\n\n./openrct2\n"
fi
fi

View File

@@ -1 +0,0 @@
.\build\release\openrct2.exe sprite build "data\g2.dat" "resources\g2"

View File

@@ -1,7 +0,0 @@
#!/bin/bash
if [[ $TARGET == "windows" ]]; then
wine openrct2.exe sprite build data/g2.dat resources/g2/
else
./openrct2 sprite build data/g2.dat resources/g2/
fi

View File

@@ -34,6 +34,7 @@ Includes all git commit authors. Aliases are GitHub user names.
* (Vijfhoek) - Misc.
* (wolfreak99) - Misc.
* Inseok Lee (dlunch) - Original command line
* Lewis Fox (LRFLEW) - Misc.
## Additional implementation (OpenRCT2)
* (atmaxinger) - User configuration
@@ -48,6 +49,8 @@ Includes all git commit authors. Aliases are GitHub user names.
* Thomas den Hollander (ThomasdenH) - Misc.
* James Robertson (rd3k) - Misc.
* Robert Jordan (trigger-death) - UI theming, title sequence editor, misc.
* Aaron van Geffen (AaronVanGeffen) - scenario select screen, font detection, misc.
* Kelson Blakewood - title sequence for 0.0.4
## Bug fixes
* (halfbro)
@@ -56,6 +59,11 @@ Includes all git commit authors. Aliases are GitHub user names.
* Ed Foley (e-foley)
* Michael Pham (nightroan)
* Hielke Morsink (Broxzier)
* Lucas Riutzel (jackinloadup)
* Youngjae Yu (YJSoft)
* Chanwoong Kim (kexplo)
* Josué Acevedo (Wirlie)
* Martin Černáč (octaroot)
## Toolchain
* (Balletie) - OSX
@@ -64,6 +72,7 @@ Includes all git commit authors. Aliases are GitHub user names.
* Jarno Veuger (JarnoVgr) - Windows build server
* Ted John (IntelOrca) - Windows
* Michał Janiszewski (janisozaur) - Linux, Travis CI
* Lewis Fox (LRFLEW) - OSX
## Documentation
* (honzi)
@@ -78,23 +87,26 @@ Includes all git commit authors. Aliases are GitHub user names.
* Extracting from original files: Ted John (IntelOrca)
* Reviewing and merging: Rune Laenen (runelaenen), Michael Steenbeek (Gymnasiast)
* Fixing unmaintained languages: Michael Steenbeek (Gymnasiast)
* Miscellaneous fixes: Alexander Overvoorde (Overv), Ed Foley (e-foley)
* English (UK) - Ted John (IntelOrca), (Tinytimrob)
* English (US) - Ted John (IntelOrca), Michael Steenbeek (Gymnasiast)
* Dutch - Michael Steenbeek (Gymnasiast), (xzbobzx), (mrtnptrs), Thomas den Hollander (ThomasdenH), (hostbrute); reviewing and discussion: Aaron van Geffen (AaronVanGeffen), (Balletie) and Sijmen Schoon (Vijfhoek).
* Finnish - (DJHasis)
* French - (fbourigault), Joël Troch (JoelTroch), Michael Steenbeek (Gymnasiast)
* German - (danidoedel), (atmaxinger), (Yepoleb), Daniel Kessel (dkessel), Leon (AllGoodNamesAreTaken)
* Korean - "TELK" (telk5093)
* Polish - Adrian Wielgosik (adrian17)
* Portuguese (BR) - (kaudy)
* English (US) - Ted John (IntelOrca), Michael Steenbeek (Gymnasiast); small fixes: LRFLEW, mike-koch
* Czech - Martin Černáč (octaroot), (Clonewayx), Tomáš Pazdiora (Aroidzap)
* Dutch - Michael Steenbeek (Gymnasiast), Yannic Geurts (xzbobzx), (mrtnptrs), Thomas den Hollander (ThomasdenH), (hostbrute), Marijn van de Werf (marijnvdwerf); reviewing and discussion: Aaron van Geffen (AaronVanGeffen), (Balletie) and Sijmen Schoon (Vijfhoek).
* Finnish - (DJHasis), (Zode), (TheWing)
* French - (fbourigault), Joël Troch (JoelTroch), Michael Steenbeek (Gymnasiast), Romain Vigier (rvgr), (AziasYur), Hugo Courtial (s0r00t), David Delobel (incyclum)
* German - (danidoedel), (atmaxinger), (Yepoleb), Daniel Kessel (dkessel), Leon (AllGoodNamesAreTaken), (raidcookie)
* Japanese - Aaron van Geffen (AaronVanGeffen), Nick Hall (nickhall), (jhako)
* Korean - "TELK" (telk5093), (NeverDruid); small fixes: (kexplo)
* Polish - Adrian Wielgosik (adrian17), (lopezloo), Michał Janiszewski (janisozaur)
* Portuguese (BR) - (kaudy), (renansimoes)
* Russian - (Soosisya)
* Simplified Chinese - Naiji Ma (naijim)
* Spanish - (mdtrooper)
* Swedish - (Jinxit), (mharrys), (Slimeyo)
* Simplified Chinese - Naiji Ma (naijim), (izhangfei), Eric Zhao (sczyh30)
* Spanish - (mdtrooper), Josué Acevedo (Wirlie), Daniel Trujillo Viedma (gdabi); small fixes: (teapartycthulu)
* Swedish - (Jinxit), (mharrys), (Slimeyo), (Nubbie)
* Traditional Chinese - Harry Lam (daihakken)
## Graphics
* OpenRCT2 Logo - xzbobzx
* OpenRCT2 Logo - Yannic Geurts (xzbobzx)
## RollerCoaster Tycoon 2 credits
Design and programming by Chris Sawyer

View File

@@ -4,9 +4,9 @@
STR_0000 :
STR_0001 :{STRINGID} {COMMA16}
STR_0002 :螺旋过山车
STR_0003 :站立过山车
STR_0003 :站立过山车
STR_0004 :悬挂摇摆过山车
STR_0005 :回转过山车
STR_0005 :翻转式过山车
STR_0006 :儿童过山车
STR_0007 :迷你火车
STR_0008 :单轨电车
@@ -19,12 +19,12 @@ STR_0014 :喷射-自由落体
STR_0015 :雪橇过山车
STR_0016 :观景塔
# I could not find this thing in the game
STR_0017 :Looping Roller Coaster
STR_0017 :回环式过山车
STR_0018 :充气小艇滑道
STR_0019 :矿车过山车
STR_0020 :缆车
# STR_0021 has the same meaning as STR_0001 in chinese
STR_0021 :Corkscrew Roller Coaster
STR_0021 :螺旋过山车
STR_0022 :迷宫
STR_0023 :螺旋滑梯
STR_0024 :卡丁车
@@ -57,8 +57,8 @@ STR_0048 :龙卷风
STR_0049 :鬼屋
STR_0050 :急救室
STR_0051 :马戏表演
STR_0052 :Tunnel Of Horror
STR_0053 :Steel Twister Roller Coaster
STR_0052 :恐怖隧道
STR_0053 :铁架旋转式过山车
STR_0054 :木制过山车
STR_0055 :Side-Friction Roller Coaster
STR_0056 :疯狂老鼠过山车
@@ -67,26 +67,26 @@ STR_0058 :Unknown Ride (38)
STR_0059 :飞翔过山车
STR_0060 :Unknown Ride (3A)
STR_0061 :弗吉尼亚卷轴
STR_0062 :Splash Boats
STR_0062 :激流勇进
STR_0063 :迷你直升机
STR_0064 :躺卧过山车
STR_0064 :躺卧过山车
STR_0065 :悬挂式单轨电车
STR_0066 :Unknown Ride (40)
STR_0067 :反转过山车
STR_0068 :Heartline Twister Coaster
STR_0069 :迷你高尔夫
STR_0070 :巨型过山车
STR_0071 :Roto-Drop
STR_0071 :旋转落体
STR_0072 :转转飞碟
STR_0073 :鬼怪屋
STR_0074 :单轨自行车
STR_0075 :紧凑回转过山车
STR_0076 :Water Coaster
STR_0076 :水上过山车
STR_0077 :喷气弹射过山车
STR_0078 :回转发卡过山车
STR_0079 :魔毯
STR_0080 :迷你潜艇
STR_0081 :木筏
STR_0081 :水上木筏
STR_0082 :Unknown Ride (50)
STR_0083 :Enterprise
STR_0084 :Unknown Ride (52)
@@ -95,7 +95,7 @@ STR_0086 :Unknown Ride (54)
STR_0087 :Unknown Ride (55)
STR_0088 :回转冲力过山车
STR_0089 :迷你过山车
STR_0090 :Mine Ride
STR_0090 :矿车式过山车
STR_0091 :Unknown Ride (59)
# LIM: Linear Induction Motors
STR_0092 :LIM喷射过山车
@@ -886,8 +886,8 @@ STR_0875 :{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{POP
STR_0876 :{BLACK}{DOWN}
STR_0877 :太低!
STR_0878 :太高!
STR_0879 :不能降低土地...
STR_0880 :不能抬升土地...
STR_0879 :不能在这里降低土地...
STR_0880 :不能在这里抬升土地...
STR_0881 :有物体挡住去路
STR_0882 :载入游戏
STR_0883 :保存游戏
@@ -909,13 +909,13 @@ STR_0898 :{SMALLFONT}{BLACK}左转
STR_0899 :{SMALLFONT}{BLACK}右转
STR_0900 :{SMALLFONT}{BLACK}左转 (小弧度)
STR_0901 :{SMALLFONT}{BLACK}右转 (小弧度)
STR_0902 :{SMALLFONT}{BLACK}Left-hand curve (very small radius)
STR_0903 :{SMALLFONT}{BLACK}Right-hand curve (very small radius)
STR_0904 :{SMALLFONT}{BLACK}Left-hand curve (large radius)
STR_0905 :{SMALLFONT}{BLACK}Right-hand curve (large radius)
STR_0906 :{SMALLFONT}{BLACK}Straight
STR_0907 :Slope
STR_0908 :Roll/Banking
STR_0902 :{SMALLFONT}{BLACK}左转(很小的弧度)
STR_0903 :{SMALLFONT}{BLACK}右转(很小的弧度)
STR_0904 :{SMALLFONT}{BLACK}左转(大弧度)
STR_0905 :{SMALLFONT}{BLACK}右转(大弧度)
STR_0906 :{SMALLFONT}{BLACK}直行
STR_0907 :坡度
STR_0908 :滚动/倾斜
STR_0909 :Seat Rot.
STR_0910 :{SMALLFONT}{BLACK}Roll for left-hand curve
STR_0911 :{SMALLFONT}{BLACK}Roll for right-hand curve
@@ -924,43 +924,43 @@ STR_0913 :{SMALLFONT}{BLACK}Move to previous section
STR_0914 :{SMALLFONT}{BLACK}Move to next section
STR_0915 :{SMALLFONT}{BLACK}Construct the selected section
STR_0916 :{SMALLFONT}{BLACK}Remove the highlighted section
STR_0917 :{SMALLFONT}{BLACK}Vertical drop
STR_0918 :{SMALLFONT}{BLACK}Steep slope down
STR_0919 :{SMALLFONT}{BLACK}Slope down
STR_0920 :{SMALLFONT}{BLACK}Level
STR_0921 :{SMALLFONT}{BLACK}Slope up
STR_0922 :{SMALLFONT}{BLACK}Steep slope up
STR_0923 :{SMALLFONT}{BLACK}Vertical rise
STR_0924 :{SMALLFONT}{BLACK}Helix down
STR_0925 :{SMALLFONT}{BLACK}Helix up
STR_0926 :Can't remove this...
STR_0927 :Can't construct this here...
STR_0917 :{SMALLFONT}{BLACK}垂直下坡
STR_0918 :{SMALLFONT}{BLACK}陡峭下坡
STR_0919 :{SMALLFONT}{BLACK}下坡
STR_0920 :{SMALLFONT}{BLACK}水平
STR_0921 :{SMALLFONT}{BLACK}上坡
STR_0922 :{SMALLFONT}{BLACK}陡峭上坡
STR_0923 :{SMALLFONT}{BLACK}垂直上坡
STR_0924 :{SMALLFONT}{BLACK}向下螺旋
STR_0925 :{SMALLFONT}{BLACK}向上螺旋
STR_0926 :不能移除此物...
STR_0927 :不能在此建造...
STR_0928 :{SMALLFONT}{BLACK}Chain lift, to pull cars up slopes
STR_0929 :'S' Bend (left)
STR_0930 :'S' Bend (right)
STR_0931 :Vertical Loop (left)
STR_0932 :Vertical Loop (right)
STR_0933 :Raise or lower land first
STR_0934 :Ride entrance in the way
STR_0935 :Ride exit in the way
STR_0936 :Park entrance in the way
STR_0929 :'S'型弯道 (向左)
STR_0930 :'S'型弯道 (向右)
STR_0931 :垂直回环 (向左)
STR_0932 :垂直回环 (向右)
STR_0933 :请先将地面抬升或降低
STR_0934 :游乐设施入口挡在此处
STR_0935 :游乐设施出口挡在此处
STR_0936 :游乐场的入口挡在此处
STR_0937 :{SMALLFONT}{BLACK}View options
STR_0938 :{SMALLFONT}{BLACK}Adjust land height and slope
STR_0939 :Underground/Inside View
STR_0940 :Remove Base Land
STR_0941 :Remove Vertical Faces
STR_0942 :See-Through Rides
STR_0943 :See-Through Scenery
STR_0944 :Save
STR_0945 :Don't Save
STR_0946 :Cancel
STR_0947 :Save this before loading ?
STR_0948 :Save this before quitting ?
STR_0949 :Save this before quitting ?
STR_0950 :Load Game
STR_0951 :Quit Game
STR_0952 :Quit Game
STR_0953 :Load Landscape
STR_0938 :{SMALLFONT}{BLACK}调整地势高低及陡峭程度
STR_0939 :地下/内部 视图模式
STR_0940 :移除地表
STR_0941 :移除垂直地面
STR_0942 :略过游乐设施
STR_0943 :掠过景物
STR_0944 :保存
STR_0945 :不保存
STR_0946 :取消
STR_0947 :是否在载入其他存档之前保存游戏 ?
STR_0948 :是否在退出之前保存游戏 ?
STR_0949 :是否在退出之前保存游戏 ?
STR_0950 :加载游戏
STR_0951 :退出游戏
STR_0952 :退出游戏
STR_0953 :载入地形
STR_0954 :
STR_0955 :{SMALLFONT}{BLACK}Select seat rotation angle for this track section
STR_0956 :-180{DEGREE}
@@ -979,18 +979,18 @@ STR_0968 :+360{DEGREE}
STR_0969 :+405{DEGREE}
STR_0970 :+450{DEGREE}
STR_0971 :+495{DEGREE}
STR_0972 :Cancel
STR_0973 :OK
STR_0974 :Rides
STR_0975 :Shops and Stalls
STR_0976 :Restrooms and Information Kiosks
STR_0977 :New Transport Rides
STR_0978 :New Gentle Rides
STR_0979 :New Roller Coasters
STR_0980 :New Thrill Rides
STR_0981 :New Water Rides
STR_0982 :New Shops & Stalls
STR_0983 :Research & Development
STR_0972 :取消
STR_0973 :确定
STR_0974 :游乐设施
STR_0975 :商店及摊贩
STR_0976 :洗手间及服务台
STR_0977 :建造新的运输类游乐设施
STR_0978 :建造新的温和类游乐设施
STR_0979 :建造新的过山车
STR_0980 :建造新的刺激类游乐设施
STR_0981 :建造新的水上游乐设施
STR_0982 :建造新的商店及摊贩
STR_0983 :研究及开发
STR_0984 :{WINDOW_COLOUR_2}{UP}{BLACK} {CURRENCY2DP}
STR_0985 :{WINDOW_COLOUR_2}{DOWN}{BLACK} {CURRENCY2DP}
STR_0986 :{BLACK}{CURRENCY2DP}
@@ -998,30 +998,30 @@ STR_0987 :Too many rides/attractions
STR_0988 :Can't create new ride/attraction...
STR_0989 :{STRINGID}
STR_0990 :{SMALLFONT}{BLACK}Construction
STR_0991 :Station platform
STR_0991 :车站站台
STR_0992 :{SMALLFONT}{BLACK}Demolish entire ride/attraction
STR_0993 :Demolish ride/attraction
STR_0994 :Demolish
STR_0995 :{WINDOW_COLOUR_1}Are you sure you want to completely demolish {STRINGID}?
STR_0996 :Overall view
STR_0996 :整体外观
STR_0997 :{SMALLFONT}{BLACK}View selection
STR_0998 :No more stations allowed on this ride
STR_0999 :Requires a station platform
STR_1000 :Track is not a complete circuit
STR_1001 :Track unsuitable for type of train
STR_0999 :需要一个车站站台
STR_1000 :轨道没有连接完整
STR_1001 :轨道不适合此类型的车
STR_1002 :Can't open {POP16}{POP16}{POP16}{STRINGID}...
STR_1003 :Can't test {POP16}{POP16}{POP16}{STRINGID}...
STR_1004 :Can't close {POP16}{POP16}{POP16}{STRINGID}...
STR_1005 :Can't start construction on {POP16}{POP16}{POP16}{STRINGID}...
STR_1006 :Must be closed first
STR_1006 :必须先关闭
STR_1007 :Unable to create enough vehicles
STR_1008 :{SMALLFONT}{BLACK}Open, close, or test ride/attraction
STR_1009 :{SMALLFONT}{BLACK}Open or close all rides/attractions
STR_1010 :{SMALLFONT}{BLACK}Open or close park
STR_1011 :Close all
STR_1012 :Open all
STR_1013 :Close park
STR_1014 :Open park
STR_1011 :关闭所有游乐设施
STR_1012 :开启所有游乐设施
STR_1013 :关闭游乐场
STR_1014 :开放游乐场
STR_1015 :Unable to operate with more than one station platform in this mode
STR_1016 :Unable to operate with less than two stations in this mode
STR_1017 :Can't change operating mode...
@@ -1043,21 +1043,21 @@ STR_1032 :Can only build this on water!
STR_1033 :Can only build this above ground!
STR_1034 :Can only build this on land!
STR_1035 :Local authority won't allow construction above tree-height!
STR_1036 :Load Game
STR_1037 :Load Landscape
STR_1038 :Convert saved game to scenario
STR_1039 :Install new track design
STR_1040 :Save Game
STR_1041 :Save Scenario
STR_1042 :Save Landscape
STR_1043 :OpenRCT2 Saved Game
STR_1044 :OpenRCT2 Scenario File
STR_1045 :OpenRCT2 Landscape File
STR_1046 :OpenRCT2 Track Design File
STR_1047 :Game save failed!
STR_1048 :Scenario save failed!
STR_1049 :Landscape save failed!
STR_1050 :Failed to load...{NEWLINE}File contains invalid data!
STR_1036 :载入游戏
STR_1037 :载入存档
STR_1038 :将存档转换为关卡
STR_1039 :添加新的轨道设计
STR_1040 :保存游戏
STR_1041 :保存关卡
STR_1042 :保存地形
STR_1043 :OpenRCT2 游戏存档
STR_1044 :OpenRCT2 关卡文件
STR_1045 :OpenRCT2 地形文件
STR_1046 :OpenRCT2 轨道设计文件
STR_1047 :存储游戏失败!
STR_1048 :存储关卡失败!
STR_1049 :存储地形失败!
STR_1050 :载入失败...{NEWLINE}文件中含有不可读取的数据!
STR_1051 :Invisible Supports
STR_1052 :Invisible People
STR_1053 :{SMALLFONT}{BLACK}Rides/attractions in park
@@ -3826,4 +3826,4 @@ STR_5477 :Map rendering
STR_5478 :Controls
STR_5479 :Toolbar
STR_5480 :Show toolbar buttons for:
STR_5481 :Themes
STR_5481 :主题

View File

@@ -1201,8 +1201,8 @@ STR_1195 :測試中
STR_1196 :已開啟
STR_1197 :故障了
STR_1198 :毀壞了!
STR_1199 :{COMMA16} 個遊客在這個遊樂設施上
STR_1200 :{COMMA16} 個遊客在這個遊樂設施上
STR_1199 :{COMMA16}個遊客在這個遊樂設施上
STR_1200 :{COMMA16}個遊客在這個遊樂設施上
STR_1201 :無人在排隊
STR_1202 :1個遊客在排隊
STR_1203 :{COMMA16}個遊客在排隊
@@ -1925,7 +1925,7 @@ STR_1917 :{POP16}{POP16}{POP16}{CURRENCY}
STR_1918 :不能再借貸更多錢!
STR_1919 :沒有足夠的現金!
STR_1920 :不能償還貸款!
STR_1921 :{SMALLFONT}{BLACK}開新遊戲
STR_1921 :{SMALLFONT}{BLACK}開新遊戲
STR_1922 :{SMALLFONT}{BLACK}繼續遊玩存檔
STR_1923 :{SMALLFONT}{BLACK}開始教學
STR_1924 :{SMALLFONT}{BLACK}退出遊戲
@@ -2748,7 +2748,7 @@ STR_2739 :無
STR_2740 :夢幻遊樂園 (RCT1)
STR_2741 :模擬樂園 (RCT2)
STR_2742 :找不到css50.dat
STR_2743 :複製夢幻遊樂園(RCT1)文件夾中的'data\css17.dat'到模擬樂園(RCT2)的文件夾, 並重新命名為'data\css50.dat'.
STR_2743 :複製夢幻遊樂園(RCT1)文件夾中的'data\css17.dat'到模擬樂園(RCT2)的文件夾, 並重新命名為'data\css50.dat'.
STR_2744 :[
STR_2745 :\
STR_2746 :]
@@ -2763,8 +2763,8 @@ STR_2753 :除好草的草地
STR_2754 :灌溉花圃
STR_2755 :修復被毀壞的物件
STR_2756 :移除垃圾
STR_2757 :強制晴天
STR_2758 :強制雷暴
STR_2757 :<not used anymore>
STR_2758 :<not used anymore>
STR_2759 :無'擋在路上'檢查
STR_2760 :+{CURRENCY}
STR_2761 :<not used anymore>
@@ -2781,7 +2781,7 @@ STR_2771 :減慢遊戲速度
STR_2772 :加快遊戲速度
STR_2773 :視窗化
STR_2774 :全螢幕
STR_2775 :全螢幕 (桌面尺寸)
STR_2775 :全螢幕 (無邊框視窗)
STR_2776 :語言:
STR_2777 :{MOVE_X}{SMALLFONT}{STRING}
STR_2778 :{RIGHTGUILLEMET}{MOVE_X}{SMALLFONT}{STRING}
@@ -3228,16 +3228,16 @@ STR_3217 :已擁有的土地
STR_3218 :已擁有建造權的土地
STR_3219 :可供購買的土地
STR_3220 :可供購買建造權的土地
STR_3221 :{SMALLFONT}{BLACK}樂園設置成為土地的擁有者
STR_3222 :{SMALLFONT}{BLACK}樂園擁有土地的建造權
STR_3221 :{SMALLFONT}{BLACK}樂園成為土地的擁有者
STR_3222 :{SMALLFONT}{BLACK}樂園擁有土地的建造權
STR_3223 :{SMALLFONT}{BLACK}將土地設置成為可供樂園購買
STR_3224 :{SMALLFONT}{BLACK}將土地的建造權設置成為可供樂園購買
STR_3225 :{SMALLFONT}{BLACK}設置是否在選中的位置中建造一些隨機物件
STR_3225 :{SMALLFONT}{BLACK}設置是否在選中的位置中隨機建造一些物件
STR_3226 :{SMALLFONT}{BLACK}建造樂園入口
STR_3227 :太多樂園入口!
STR_3228 :{SMALLFONT}{BLACK}設置遊客的開始步行位置
STR_3229 :區域煞車不能建造在車站之後
STR_3230 :區域煞車不能建造在自己之後
STR_3230 :區域煞車不能建造在另一個區域煞車之後
STR_3231 :區域煞車不能建造在這個鏈條坡道的頂部之後
STR_3232 :選項 - 財政
STR_3233 :選項 - 遊客
@@ -3281,9 +3281,9 @@ STR_3270 :{SMALLFONT}{BLACK}禁止對地形作任何調整
STR_3271 :禁止高空建造
STR_3272 :{SMALLFONT}{BLACK}禁止任何高空發展
STR_3273 :較高難度的樂園評價公式
STR_3274 :{SMALLFONT}{BLACK}使增加樂園評價更加有挑戰性
STR_3274 :{SMALLFONT}{BLACK}使增加樂園評價更挑戰性
STR_3275 :較難生成遊客
STR_3276 :{SMALLFONT}{BLACK}使吸引遊客更加有挑戰性
STR_3276 :{SMALLFONT}{BLACK}使吸引遊客更挑戰性
STR_3277 :{WINDOW_COLOUR_2}購買土地的費用:
STR_3278 :{WINDOW_COLOUR_2}購買建造權利的費用:
STR_3279 :免費進入樂園 / 需費乘搭遊樂設施
@@ -3331,7 +3331,7 @@ STR_3320 :無法儲存劇情檔案...
STR_3321 :成功安裝新物件
STR_3322 :{WINDOW_COLOUR_2}目標: {BLACK}{STRINGID}
STR_3323 :缺少物件資料, ID為:
STR_3324 :需要資料片:
STR_3324 :需要資料片: {STRINGID}
STR_3325 :需要一隻資料片
STR_3326 :{WINDOW_COLOUR_2}(暫無圖片)
STR_3327 :尚未設定遊客的開始步行位置
@@ -3341,7 +3341,7 @@ STR_3330 :樂園必需有一些己擁有的土地
STR_3331 :由地圖邊緣到樂園入口的道路尚未連接好, 或者太複雜 - 這些道路必需是一格寬度, 並以越少交界及彎位越好
STR_3332 :樂園入口倒轉了, 或沒有道路連接至地圖邊緣
STR_3333 :在存檔中導出附加物件
STR_3334 :{SMALLFONT}{BLACK}選擇是否儲存附加物件(額外加入的附加物件)到存檔, 以便存檔給沒有那些附加物件的人載入
STR_3334 :{SMALLFONT}{BLACK}選擇是否儲存附加物件(額外加入的附加物件)到存檔, 以便沒有那些附加物件的人載入存檔
STR_3335 :雲霄飛車設計工具 - 選擇要設計的雲霄飛車的類型及車輛種類
STR_3336 :軌道設計管理工具 - 選擇要管理的遊樂設施的類型
STR_3337 :<not used anymore>
@@ -3360,8 +3360,8 @@ STR_3349 :刪除
STR_3350 :軌道設計名稱
STR_3351 :請輸入這個軌道設計的新名稱:
STR_3352 :不能重命名這個軌道設計...
STR_3353 :新名稱含有不合的字符
STR_3354 :已有另外一個檔案為相同名稱, 或檔案被寫入保護
STR_3353 :新名稱含有不合的字符
STR_3354 :已有另外一個相同名稱的檔案, 或檔案被寫入保護
STR_3355 :檔案被寫入保護或被鎖定
STR_3356 :刪除檔案
STR_3357 :{WINDOW_COLOUR_2}你確定要永久刪除{STRINGID} ?
@@ -3465,7 +3465,7 @@ STR_5123 :翻新遊樂設施
STR_5124 :<not used anymore>
STR_5125 :全可拆卸
STR_5126 :隨機播放主題曲
STR_5127 :{SMALLFONT}{BLACK}禁止調整地勢
STR_5127 :{SMALLFONT}{BLACK}拖曳調整地形, 而不調整地勢
STR_5128 :選擇大小
STR_5129 :請輸入介於{COMMA16}及{COMMA16}的選擇大小
STR_5130 :地圖大小
@@ -3475,7 +3475,7 @@ STR_5133 :{SMALLFONT}{BLACK}選擇較小的土地範圍
STR_5134 :{SMALLFONT}{BLACK}選擇較大的土地範圍
STR_5135 :{SMALLFONT}{BLACK}購買土地擁有權或建造權
STR_5136 :土地擁有權
STR_5137 :允許鏈條上拉及發車速度高至{VELOCITY}
STR_5137 :移除遊樂設施的運行限制
STR_5138 :{SMALLFONT}{WINDOW_COLOUR_2}{STRINGID}
STR_5139 :{WHITE}{STRINGID}
STR_5140 :去除煞車組件故障
@@ -3515,7 +3515,7 @@ STR_5173 :將Twitch聊天室的內容推送為新聞
STR_5174 :{SMALLFONT}{BLACK}會將Twitch聊天室所有標'!news'的內容以最近消息顯示於遊戲內
STR_5175 :請輸入你的Twitch頻道名稱
STR_5176 :准許Twitch頻道融合於遊戲之中
STR_5177 :全屏幕模式:
STR_5177 :顯示模式:
STR_5178 :{SMALLFONT}{BLACK}顯示用於財政的密技
STR_5179 :{SMALLFONT}{BLACK}顯示用於遊客的密技
STR_5180 :{SMALLFONT}{BLACK}顯示用於樂園的密技
@@ -3617,14 +3617,14 @@ STR_5275 :搜尋物件
STR_5276 :請輸入你要搜尋的物件名稱
STR_5277 :清除
STR_5278 :沙盒模式
STR_5279 :沙盒模式關閉
STR_5279 :關閉沙盒模式
STR_5280 :{SMALLFONT}{BLACK}允許從地圖視窗中修改土地擁有權, 以及其他平常只適用於劇情編輯工具的選項
STR_5281 :{SMALLFONT}{BLACK}功能
STR_5282 :夢幻遊樂場 (RCT1)遊樂設施開關燈號
STR_5283 :夢幻遊樂場 (RCT1)樂園開關燈號
STR_5284 :夢幻遊樂場 (RCT1)選擇劇情字體
STR_5285 :人肉炸彈!!!
STR_5286 :{SMALLFONT}{BLACK}某些遊客爆炸,嘻嘻
STR_5286 :{SMALLFONT}{BLACK}某些遊客立即爆炸, 嘻嘻!
STR_5287 :遊樂設施已經故障了
STR_5288 :遊樂設施已關閉了
STR_5289 :沒有故障可適用於此遊樂設施
@@ -3642,7 +3642,7 @@ STR_5300 :{SMALLFONT}{BLACK}一鍵解僱員工
STR_5301 :{MEDIUMFONT}{BLACK}付清你的貸款
STR_5302 :付清貸款
STR_5303 :暫停時可以建造物件
STR_5304 :主畫面動畫:
STR_5304 :主選單動畫:
STR_5305 :夢幻遊樂場 (RCT1)
STR_5306 :夢幻遊樂場 (RCT1) (+資料片1 - AA)
STR_5307 :夢幻遊樂場 (RCT1) (+資料片1&2 - AA+LL)
@@ -3742,7 +3742,7 @@ STR_5399 :按'暫停'按鈕繼續編輯
STR_5400 :不能更改此主選單動畫
STR_5401 :建立新的主選單動畫, 並作出更改
STR_5402 :載入主選單動畫失敗
STR_5403 :非法的存檔或沒有'Load'或'Wait'指令
STR_5403 :非法的存檔或沒有'載入'或'等候'指令
STR_5404 :名稱已經存在
STR_5405 :請輸入存檔名稱
STR_5406 :請輸入主選單動畫存檔名稱
@@ -3780,7 +3780,7 @@ STR_5437 :暫無存檔被選中
STR_5438 :當命令編輯工具開啟不能作出改變
STR_5439 :4秒以上的等待(Wait)命令需要加上重新開始(Restart)命令
STR_5440 :當焦點失去時最小化全螢幕的遊戲
STR_5441 :{SMALLFONT}{BLACK}以軌道類別分別遊樂設施,{NEWLINE}令到車輔風格可以在建造後更改,{NEWLINE}就像夢幻遊樂園1(RCT1)一樣.
STR_5441 :{SMALLFONT}{BLACK}以軌道類別分別遊樂設施,{NEWLINE}就像夢幻遊樂園1(RCT1)一樣,{NEWLINE}令到車輔風格可以在建造後更改.
STR_5442 :固定樂園評價:
STR_5443 :速度{MOVE_X}{87}{STRINGID}
STR_5444 :速度:
@@ -3840,7 +3840,7 @@ STR_5497 :延遲值 (Ping):
STR_5498 :伺服器列表
STR_5499 :玩家名稱:
STR_5500 :新增伺服器
STR_5501 :開伺服器
STR_5501 :開伺服器
STR_5502 :多人連線模式
STR_5503 :請輸入主機名稱或IP地址:
STR_5504 :{SMALLFONT}{BLACK}顯示多人連線狀態
@@ -3849,7 +3849,7 @@ STR_5506 :遊客無視設施的刺激度
STR_5507 :預設清潔工人會修剪草皮
STR_5508 :允許載入校驗失敗的檔案
STR_5509 :{SMALLFONT}{BLACK}允許載入校驗失敗的劇情及存檔, 例如試玩版的劇情或已損壞的存檔.
STR_5510 :預設效裝置
STR_5510 :預設效裝置
STR_5511 :(未知)
STR_5512 :另存遊戲
STR_5513 :(快速)儲存遊戲
@@ -3895,7 +3895,7 @@ STR_5552 :{POP16}{POP16}第{COMMA16}年, {PUSH16}{PUSH16}{PUSH16}{STRINGID} {
STR_5553 :當Steam overlay開啟時暫停遊戲
STR_5554 :{SMALLFONT}{BLACK}啟用山丘工具
STR_5555 :顯示來自其他類型軌道的車輛種類
STR_5556 :踢走玩家
STR_5556 :{SMALLFONT}{BLACK}踢除玩家
STR_5557 :多人遊戲不同步時依然保持連線
STR_5558 :此設定會於重啟遊戲後生效
STR_5559 :檢查時距為10分鐘
@@ -3906,7 +3906,7 @@ STR_5563 :此功能暫未穩定地使用, 請多加留意.
STR_5564 :插入已損壞元素
STR_5565 :{SMALLFONT}{BLACK}在一個網格的最上插入一個已損壞的地圖元素. 此插入會隱藏其他元素.
STR_5566 :密碼:
STR_5567 :推廣
STR_5567 :推廣由主伺服器列表中
STR_5568 :輸入密碼
STR_5569 :此伺服器被密碼保護
STR_5570 :索取伺服器
@@ -3914,14 +3914,316 @@ STR_5571 :加入遊戲
STR_5572 :加入最愛
STR_5573 :由最愛中移除
STR_5574 :伺服器名稱:
STR_5575 :最玩家數:
STR_5575 :最玩家數:
STR_5576 :連接埠:
STR_5577 :南韓園 (₩)
STR_5578 :俄羅斯盧布 (R)
STR_5579 :顥示縮放因子:
STR_5580 :捷克克朗 (Kc)
STR_5581 :顥示幀數
STR_5582 :限制滑鼠游標於視窗中移動
STR_5583 :{COMMA1DP16}ms{POWERNEGATIVEONE}
STR_5584 :SI
STR_5585 :{SMALLFONT}{BLACK}移除遊樂設施的運行限制, 例如容許鏈條上拉速度高達{VELOCITY}
STR_5586 :自動開啟商店及攤販
STR_5587 :{SMALLFONT}{BLACK}當此設定啟用後, 商店及攤販將會於建造後自動開啟
STR_5588 :{SMALLFONT}{BLACK}與其他玩家一起遊玩
STR_5589 :消息設定
STR_5590 :樂園獎項
STR_5591 :推廣計劃已完結
STR_5592 :有關樂園的警告
STR_5593 :有關樂園評價的警告
STR_5594 :遊樂設施發生故障
STR_5595 :遊樂設施毀壞了
STR_5596 :有關遊樂設施的警告
STR_5597 :研發好的遊樂設施,商店或景物
STR_5598 :有關遊客的警告
STR_5599 :遊客迷路了
STR_5600 :遊客已離開樂園
STR_5601 :遊客正在排隊遊玩某個遊樂設施
STR_5602 :遊客已乘上遊樂設施
STR_5603 :遊客已離開遊樂設施
STR_5604 :遊客已購買物品
STR_5605 :遊客已使用設施
STR_5606 :遊客已死亡
STR_5607 :{SMALLFONT}{BLACK}強制移除選中的地圖元素.
STR_5608 :BH
STR_5609 :CH
STR_5610 :{SMALLFONT}{BLACK}移除選中的地圖元素. 使用時請注意. 因為強制移除地圖元素並不會對遊戲中的現金做成影響.
STR_5611 :G
STR_5612 :{SMALLFONT}{BLACK}Ghost flag
STR_5613 :B
STR_5614 :{SMALLFONT}{BLACK}Broken flag
STR_5615 :L
STR_5616 :{SMALLFONT}{BLACK}Last element for tile flag
STR_5617 :{SMALLFONT}{BLACK}將選中的元素移到上面.
STR_5618 :{SMALLFONT}{BLACK}將選中的元素移到下面.
STR_5619 :夢幻遊樂園
STR_5620 :夢幻遊樂園: 資料片1
STR_5621 :夢幻遊樂園: 資料片2
STR_5622 :模擬樂園2
STR_5623 :瘋狂世界
STR_5624 :時空歷險
STR_5625 :{OPENQUOTES}真實的{ENDQUOTES}樂園
STR_5626 :其他樂園
STR_5627 :樂園列表的排序方式:
STR_5628 :出處的遊戲
STR_5629 :困難程度
STR_5630 :允許劇情解鎖
STR_5631 :額外下載的官方樂園
STR_5632 :建設你的..
STR_5633 :CMD +
STR_5634 :OPTION +
STR_5635 :{WINDOW_COLOUR_2}已花費金錢: {BLACK}{CURRENCY2DP}
STR_5636 :{WINDOW_COLOUR_2}已運行命名: {BLACK}{COMMA16}個
STR_5637 :無法進行此動作...
STR_5638 :並沒有足夠的權限
STR_5639 :{SMALLFONT}{BLACK}顯示玩家列表
STR_5640 :{SMALLFONT}{BLACK}管理組別
STR_5641 :預設組別:
STR_5642 :組別:
STR_5643 :新增組別
STR_5644 :移除組別
STR_5645 :聊天
STR_5646 :修改地勢
STR_5647 :暫停遊戲
STR_5648 :修改湖泊及水塘
STR_5649 :開始建造遊樂設施
STR_5650 :移除遊樂設施
STR_5651 :建造遊樂設施
STR_5652 :修改遊樂設施的設置
STR_5653 :修改景物
STR_5654 :放置道路
STR_5655 :修改遊客
STR_5656 :修改員工
STR_5657 :修改樂園的設置
STR_5658 :修改樂園資金的設置
STR_5659 :踢除玩家
STR_5660 :修改組別
STR_5661 :將玩家分配到個別組別
STR_5662 :N/A
STR_5663 :清除景物
STR_5664 :密技
STR_5665 :啟用/禁用景物批量放置
STR_5701 :{WINDOW_COLOUR_2}最近的動作: {BLACK}{STRINGID}
STR_5702 :{SMALLFONT}{BLACK}將這個玩家的最近的動作定位
STR_5703 :無法踢除架設者
STR_5704 :最近的動作:
STR_5705 :無法將此玩家分配到此組別
STR_5706 :無法移除有玩家在內的組別
STR_5707 :無法修改此組別
STR_5708 :無法改變架設者身處的組別
STR_5709 :重命名組別
STR_5710 :組別名稱
STR_5711 :請輸入這個組別的新名稱:
STR_5712 :無法修改你沒有的權限
STR_5713 :踢除玩家
STR_5714 :顯示設定視窗
STR_5715 :開新遊戲
STR_5716 :無法於多人連線模式中使用
# For identifying client network version in server list window
STR_5717 :多人連線版本: {STRING}
STR_5718 :{SMALLFONT}{BLACK}多人連線版本: {STRING}
STR_5719 :晴天
STR_5720 :間中陰天
STR_5721 :陰天
STR_5722 :有雨
STR_5723 :大雨
STR_5724 :雷暴
STR_5725 :{BLACK}強制設定天氣為:
STR_5726 :{SMALLFONT}{BLACK}設定樂園目前的天氣
STR_5727 :縮放品質
STR_5728 :需要啟用硬體渲染
STR_5729 :{SMALLFONT}{BLACK}需要啟用硬體渲染
STR_5730 :最鄰近
STR_5731 :線性
STR_5732 :各向異性
STR_5733 :以整數比例調整最鄰近式縮放
# tooltip for tab in options window
STR_5734 :{SMALLFONT}{BLACK}渲染
STR_5735 :網絡狀況
STR_5736 :玩家
STR_5737 :已關閉, {COMMA16}個遊客依然在這個遊樂設施上
STR_5738 :已關閉, {COMMA16}個遊客依然在這個遊樂設施上
STR_5739 :{WINDOW_COLOUR_2}在這個遊樂設施上的遊客: {BLACK}{COMMA16}
STR_5740 :永不完結的推廣計劃
STR_5741 :{SMALLFONT}{BLACK}推廣計劃將會不斷推行下去
STR_5742 :認證中...
STR_5743 :連線中...
STR_5744 :索取伺服器地址中...
STR_5745 :網絡不同步已被偵察
STR_5746 :已斷線
STR_5747 :已斷線: {STRING}
STR_5748 :已被踢除
STR_5749 :請離開這個伺服器!
STR_5750 :連線已關閉
STR_5751 :接收不到任何資料
STR_5752 :{OUTLINE}{RED}{STRING}已離開遊戲
STR_5753 :{OUTLINE}{RED}{STRING}已離開遊戲 ({STRING})
STR_5754 :不合適的玩家名字
STR_5755 :不合適的遊戲版本
STR_5756 :密碼錯誤
STR_5757 :伺服器人數已滿
STR_5758 :{OUTLINE}{GREEN}{STRING}已加入遊戲
STR_5759 :下載劇情中... ({INT32} / {INT32})
STR_5760 :港幣 (HK$)
STR_5761 :新台幣 (NT$)
STR_5762 :人民幣 (CN{YEN})
STR_5763 :所有檔案
STR_5764 :不正確的遊樂設施類別
STR_5765 :無法修改不正確類別的遊樂設施
STR_5766 :<available string id>
STR_5767 :收入
STR_5768 :總乘客數
STR_5769 :總利潤
STR_5770 :每小時服務的遊客
STR_5771 :運行費用
STR_5772 :年齡
STR_5773 :總乘客數: {COMMA32}
STR_5774 :總利潤: {CURRENCY2DP}
STR_5775 :乘客: {BLACK}每小時{COMMA32}個
STR_5776 :落成年份: {BLACK}今年
STR_5777 :落成年份: {BLACK}去年
STR_5778 :落成年份: {BLACK}{COMMA16}年前
STR_5779 :利潤: 每小時{CURRENCY2DP}
STR_5780 :運作成本: {BLACK}每小時{CURRENCY2DP}
STR_5781 :運作成本: {BLACK}未知
STR_5782 :你已經連接到伺服器. 按 '{STRING}' 來聊天.
STR_5783 :{WINDOW_COLOUR_2}劇情未解開
STR_5784 :{BLACK}完成已解開的劇情來解開此劇情.
STR_5785 :不能重命名組別...
STR_5786 :不正確的組別名稱
STR_5787 :{COMMA32} 玩家在線
STR_5788 :預設檢查遊樂設施的時隔:
STR_5789 :禁用光影效果
STR_5790 :{SMALLFONT}{BLACK}開啟/關閉夢幻遊樂園式的收費系統-{NEWLINE}(例如同時收取遊樂設施及進場費用)
STR_5791 :{SMALLFONT}{BLACK}設定所有遊樂設施的可靠度為100%{NEWLINE}並重設他們的落成年份為"今年"
STR_5792 :{SMALLFONT}{BLACK}修理所有已故障的遊樂設施
STR_5793 :{SMALLFONT}{BLACK}重設指定遊樂設施的毀壞記錄,{NEWLINE}令遊客不覺得該設施不安全
STR_5794 :{SMALLFONT}{BLACK}此密技移除某些劇情禁止修改{NEWLINE}某些已預先建設好的遊樂設施的限制
STR_5795 :{SMALLFONT}{BLACK}遊客會乘坐所有樂園內的遊樂設施{NEWLINE}即使它們的刺激度極端地高
STR_5796 :{SMALLFONT}{BLACK}強制開放或關閉樂園
STR_5797 :{SMALLFONT}{BLACK}禁止天氣轉變並{NEWLINE}固定於選定的天氣
STR_5798 :{SMALLFONT}{BLACK}允許暫停時建造物件
STR_5799 :{SMALLFONT}{BLACK}禁止所有因煞車故障發生的故障及毀壞
STR_5800 :{SMALLFONT}{BLACK}防止遊樂設施發生故障
#############
# Scenarios #
################
# RCT Original #
################
<Forest Frontiers>
STR_SCNR :Forest Frontiers
STR_PARK :Forest Frontiers
STR_DTLS :在隱藏於森林深處的清空範圍中, 建造一個很受歡迎的樂園
<Dynamite Dunes>
STR_SCNR :Dynamite Dunes
STR_PARK :Dynamite Dunes
STR_DTLS :這個座立於沙漠中的樂園只有一座雲霄飛車, 但不缺乏可供擴充的位置
<Leafy Lake>
STR_SCNR :Leafy Lake
STR_PARK :Leafy Lake
STR_DTLS :在一個大型湖泊的旁邊, 由零開始建造一個樂園
<Diamond Heights>
STR_SCNR :Diamond Heights
STR_PARK :Diamond Heights
STR_DTLS :Diamond Heights已經是一個擁有極佳遊樂設施, 並且很發展得很成功的樂園 - 繼續發展它讓它的價值翻倍
<Evergreen Gardens>
STR_SCNR :Evergreen Gardens
STR_PARK :Evergreen Gardens
STR_DTLS :將景色優美的Evergreen Gardens轉型成一個很受歡迎的樂園
<Bumbly Beach>
STR_SCNR :Bumbly Beach
STR_PARK :Bumbly Beach
STR_DTLS :將Bumbly Beach這個小型樂園發展成一個很受歡迎的樂園
<Trinity Islands>
STR_SCNR :Trinity Islands
STR_PARK :Trinity Islands
STR_DTLS :幾個鄰近的島嶼組成了這個新樂園的基本地勢
<Katie's Dreamland>
STR_SCNR :Katie's Dreamland
STR_PARK :Katie's Dreamland
STR_DTLS :一個只有幾個遊樂設施但有擴展空間的小型樂園 - 你的目標是讓它的價值翻倍
<Pokey Park>
STR_SCNR :Pokey Park
STR_PARK :Pokey Park
STR_DTLS :一個擠迫的小型樂園, 它需要重大擴張
<White Water Park>
STR_SCNR :White Water Park
STR_PARK :White Water Park
STR_DTLS :一個附有優良水文類遊樂設施的樂園, 它需要重大擴張
<Millennium Mines>
STR_SCNR :Millennium Mines
STR_PARK :Millennium Mines
STR_DTLS :將一個已被遺棄的大型礦坑由景點轉型成一個樂園
<Karts & Coasters>
STR_SCNR :Karts & Coasters
STR_PARK :Karts & Coasters
STR_DTLS :一個隱藏在森林的大型樂園, 但當中只有小型賽車及木製雲霄飛車
<Mel's World>
STR_SCNR :Mel's World
STR_PARK :Mel's World
STR_DTLS :這個樂園已經有一些既優秀又現代的遊樂設施, 但它亦有很大的擴充空間
<Mystic Mountain>
STR_SCNR :Mystic Mountain
STR_PARK :Mystic Mountain
STR_DTLS :在Mystic Mountain的崎嶇不平森林中, 由零開始建造一個樂園
<Pacific Pyramids>
STR_SCNR :Pacific Pyramids
STR_PARK :Pacific Pyramids
STR_DTLS :Convert the Egyptian Ruins tourist attraction into a thriving theme park
<Crumbly Woods>
STR_SCNR :Crumbly Woods
STR_PARK :Crumbly Woods
STR_DTLS :A large park with well-designed but rather old rides - Replace the old rides or add new rides to make the park more popular
<Paradise Pier>
STR_SCNR :Paradise Pier
STR_PARK :Paradise Pier
STR_DTLS :將這個平凡無奇的小鎮碼頭轉型成一個很受歡迎的樂園
<Lightning Peaks>
STR_SCNR :Lightning Peaks
STR_PARK :Lightning Peaks
STR_DTLS :The beautiful mountains of Lightning Peaks are popular with walkers and sightseers - Use the available land to attract a new thrill-seeking clientele
<Ivory Towers>
STR_SCNR :Ivory Towers
STR_PARK :Ivory Towers
STR_DTLS :一個有數項問題的知名樂園
<Rainbow Valley>
STR_SCNR :Rainbow Valley
STR_PARK :Rainbow Valley
STR_DTLS :Rainbow Valley's local authority won't allow any landscape changes or large tree removal, but you must develop the area into a large theme park
<Thunder Rock>
STR_SCNR :Thunder Rock
STR_PARK :Thunder Rock
STR_DTLS :Thunder Rock豎立一個在沙漠中部, 並因此吸引遊客 - 將可用的空間建造遊樂設施來吸引更多遊客
<Mega Park>
STR_SCNR :Mega Park
STR_PARK :Mega Park
STR_DTLS :盡情玩吧!
#####################
# Rides/attractions #
#####################
@@ -3931,92 +4233,92 @@ STR_5580 :捷克克朗 (Kc)
[AML1]
STR_NAME :美式蒸氣火車
STR_DESC :配備著復刻蒸氣火車頭及煤水車的小型蒸氣火車, 拉著帶有帆布車頂的木製車廂
STR_CPTY :每車廂6乘客
STR_CPTY :每車廂6乘客
[CLIFT1]
STR_NAME :纜車車卡
STR_DESC :供纜車使用的開放式車卡
STR_CPTY :每車卡2乘客
STR_CPTY :每車卡2乘客
[CLIFT2]
STR_NAME :登頂滑雪纜車車椅
STR_DESC :供纜車使用的開放式車卡
STR_CPTY :每車卡2乘客
STR_CPTY :每車卡2乘客
[LIFT1]
STR_NAME :升降機
STR_DESC :遊客乘搭升降機上下穿梭於垂直的管道中, 並借此訪問另一層
STR_CPTY :16乘客
STR_CPTY :16乘客
[MONO1]
STR_NAME :流線型單軌電車
STR_DESC :大載客量的單軌電車, 車頭車尾都配備著流線型設計
STR_CPTY :每車卡5或10乘客
STR_CPTY :每車卡5或10乘客
[MONO2]
STR_NAME :小型單軌電車
STR_DESC :附有開放式側邊的小型單軌電車
STR_CPTY :每車卡4乘客
STR_CPTY :每車卡4乘客
[MONO3]
STR_NAME :懷舊風格單軌電車
STR_DESC :使用開放式設計車廂的單軌電車
STR_CPTY :每車卡4乘客
STR_CPTY :每車卡4乘客
[NRL]
STR_NAME :蒸氣火車
STR_DESC :配備著復刻蒸氣火車頭及煤水車的小型蒸氣火車, 拉著開放式的木製車廂
STR_CPTY :每車廂6乘客
STR_CPTY :每車廂6乘客
[NRL2]
STR_NAME :有蓋蒸氣火車
STR_DESC :配備著復刻蒸氣火車頭及煤水車的小型蒸氣火車, 拉著帶有織布車頂的木製車廂
STR_CPTY :每車廂6乘客
STR_CPTY :每車廂6乘客
[SMONO]
STR_NAME :懸掛式單軌電車
STR_DESC :大載客量的單軌電車
STR_CPTY :每車卡8乘客
STR_CPTY :每車卡8乘客
[TRAM1]
STR_NAME :電車
STR_DESC :復刻的懷舊電車
STR_CPTY :每車卡10乘客
STR_CPTY :每車卡10乘客
[4X4]
STR_NAME :怪獸卡車
STR_DESC :能爬上陡斜坡道, 而且帶有動力的巨型4 x 4卡車
STR_CPTY :每卡車2乘客
STR_CPTY :每卡車2乘客
[CHBUILD]
STR_NAME :古怪屋
STR_DESC :一座建築物, 含有扭曲房間及傾斜走道使人於行走中失去方向感
STR_CPTY :5遊客
STR_CPTY :5遊客
[CIRCUS1]
STR_NAME :馬戲團
STR_DESC :於大型帳幕內進行動物馬戲團表演
STR_CPTY :30遊客
STR_CPTY :30遊客
[CTCAR]
STR_NAME :笑臉貓遊
STR_DESC :帶有動力的貓車輛跟隨著軌道的路線遊覽周邊
STR_CPTY :每輛車2乘客
STR_DESC :帶有動力的貓車輛跟隨著軌道的路線遊覽周邊
STR_CPTY :每輛車2乘客
[DODG1]
STR_NAME :碰碰車
STR_DESC :自助駕駛的電力碰碰車
STR_CPTY :每車輛1乘客
STR_CPTY :每車輛1乘客
[FSAUC]
STR_NAME :碰碰飛碟
STR_DESC :自助駕駛的飛碟型車輛
STR_CPTY :每飛碟1乘客
STR_CPTY :每飛碟1乘客
[FWH1]
STR_NAME :摩天輪
STR_DESC :不斷旋轉, 附有露天座椅的巨大輪環
STR_CPTY :32乘客
STR_CPTY :32乘客
[GOLF1]
STR_NAME :迷你高爾夫
@@ -4027,4 +4329,4 @@ STR_CPTY :
[CONDORRD]
STR_NAME :神鷹暢遊
STR_DESC :乘客乘坐於軌道下的神鷹造型列車上, 將會於飛馳中體驗飛一般的快感
STR_CPTY :每車卡4乘客
STR_CPTY :每車卡4乘客

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1779,7 +1779,7 @@ STR_1773 :Only one on-ride photo section allowed per ride
STR_1774 :Only one cable lift hill allowed per ride
STR_1775 :Off
STR_1776 :On
STR_1777 :{WINDOW_COLOUR_2}Music
STR_1777 :{WINDOW_COLOUR_2}Ride music
STR_1778 :{STRINGID} - -
STR_1779 :{INLINE_SPRITE}{254}{19}{00}{00} Panda costume
STR_1780 :{INLINE_SPRITE}{255}{19}{00}{00} Tiger costume
@@ -2364,7 +2364,7 @@ STR_2356 :{WINDOW_COLOUR_2}Rides inspected: {BLACK}{COMMA16}
STR_2357 :House
STR_2358 :Units
STR_2359 :Real Values
STR_2360 :{WINDOW_COLOUR_2}Display Resolution:
STR_2360 :Display Resolution:
STR_2361 :Landscape Smoothing
STR_2362 :{SMALLFONT}{BLACK}Toggle landscape tile edge smoothing on/off
STR_2363 :Gridlines on Landscape
@@ -2689,7 +2689,7 @@ STR_2680 :All research complete
STR_2681 :{MEDIUMFONT}{BLACK}Increases your money by {CURRENCY}
STR_2682 :<not used anymore>
STR_2683 :<not used anymore>
STR_2684 :{SMALLFONT}{BLACK}Large group of peeps arrive
STR_2684 :{SMALLFONT}{BLACK}Large group of guests arrive
STR_2685 :Simplex Noise Parameters
STR_2686 :{WINDOW_COLOUR_2}Low:
STR_2687 :{WINDOW_COLOUR_2}High:
@@ -2763,8 +2763,8 @@ STR_2753 :Mowed grass
STR_2754 :Water plants
STR_2755 :Fix vandalism
STR_2756 :Remove litter
STR_2757 :Force Sun
STR_2758 :Force Thunder
STR_2757 :<not used anymore>
STR_2758 :<not used anymore>
STR_2759 :Zero Clearance
STR_2760 :+{CURRENCY}
STR_2761 :<not used anymore>
@@ -2781,7 +2781,7 @@ STR_2771 :Slower Gamespeed
STR_2772 :Faster Gamespeed
STR_2773 :Windowed
STR_2774 :Fullscreen
STR_2775 :Fullscreen (desktop)
STR_2775 :Fullscreen (borderless window)
STR_2776 :Language:
STR_2777 :{MOVE_X}{SMALLFONT}{STRING}
STR_2778 :{RIGHTGUILLEMET}{MOVE_X}{SMALLFONT}{STRING}
@@ -3331,7 +3331,7 @@ STR_3320 :Unable to save scenario file...
STR_3321 :New objects installed successfully
STR_3322 :{WINDOW_COLOUR_2}Objective: {BLACK}{STRINGID}
STR_3323 :Missing object data, ID:
STR_3324 :Requires Add-On Pack:
STR_3324 :Requires Add-On Pack: {STRINGID}
STR_3325 :Requires an Add-On Pack
STR_3326 :{WINDOW_COLOUR_2}(no image)
STR_3327 :Starting positions for people not set
@@ -3465,7 +3465,7 @@ STR_5123 :Renew rides
STR_5124 :<not used anymore>
STR_5125 :All destructable
STR_5126 :Random title music
STR_5127 :{SMALLFONT}{BLACK}Disable land elevation
STR_5127 :{SMALLFONT}{BLACK}While dragging, paint landscape instead of changing elevation
STR_5128 :Selection size
STR_5129 :Enter selection size between {COMMA16} and {COMMA16}
STR_5130 :Map size
@@ -3475,7 +3475,7 @@ STR_5133 :{SMALLFONT}{BLACK}Adjust smaller area of land rights
STR_5134 :{SMALLFONT}{BLACK}Adjust larger area of land rights
STR_5135 :{SMALLFONT}{BLACK}Buy land rights and construction rights
STR_5136 :Land rights
STR_5137 :Allow lift hill and launch speeds{NEWLINE}up to {VELOCITY}
STR_5137 :Unlock operating limits
STR_5138 :{SMALLFONT}{WINDOW_COLOUR_2}{STRINGID}
STR_5139 :{WHITE}{STRINGID}
STR_5140 :Disable brakes failure
@@ -3503,19 +3503,19 @@ STR_5161 :Date Format:
STR_5162 :Day/Month/Year
STR_5163 :Month/Day/Year
STR_5164 :Twitch Channel name
STR_5165 :Name peeps after followers
STR_5166 :{SMALLFONT}{BLACK}Will name peeps after channel's Twitch followers
STR_5167 :Track follower peeps
STR_5165 :Name guests after followers
STR_5166 :{SMALLFONT}{BLACK}Will name guests after channel's Twitch followers
STR_5167 :Track follower guests
STR_5168 :{SMALLFONT}{BLACK}Will turn on tracking information for guests named after channel's Twitch followers
STR_5169 :Name peeps after people in Twitch chat
STR_5170 :{SMALLFONT}{BLACK}Will name peeps after people in Twitch chat
STR_5171 :Track chat peeps
STR_5169 :Name guests after people in Twitch chat
STR_5170 :{SMALLFONT}{BLACK}Will name guests after people in Twitch chat
STR_5171 :Track chat guests
STR_5172 :{SMALLFONT}{BLACK}Will turn on tracking information for guests named after Twitch chat participants
STR_5173 :Pull Twitch chat as news
STR_5174 :{SMALLFONT}{BLACK}Will use Twitch chat messages preceded by !news for in game notifications
STR_5175 :Input the name of your Twitch channel
STR_5176 :Enable Twitch integration
STR_5177 :Fullscreen mode:
STR_5177 :Screen mode:
STR_5178 :{SMALLFONT}{BLACK}Show financial cheats
STR_5179 :{SMALLFONT}{BLACK}Show guest cheats
STR_5180 :{SMALLFONT}{BLACK}Show park cheats
@@ -3569,7 +3569,7 @@ STR_5227 :Save Overwrite Prompt
STR_5228 :{SMALLFONT}{BLACK}Main UI
STR_5229 :{SMALLFONT}{BLACK}Park
STR_5230 :{SMALLFONT}{BLACK}Tools
STR_5231 :{SMALLFONT}{BLACK}Rides and Peeps
STR_5231 :{SMALLFONT}{BLACK}Rides and Guests
STR_5232 :{SMALLFONT}{BLACK}Editors
STR_5233 :{SMALLFONT}{BLACK}Miscellaneous
STR_5234 :{SMALLFONT}{BLACK}Prompts
@@ -3677,8 +3677,8 @@ STR_5335 :Ride entrance
STR_5336 :Ride exit
STR_5337 :Park entrance
STR_5338 :Element type
STR_5339 :Base height
STR_5340 :Clearance height
STR_5339 :{SMALLFONT}{BLACK}Base height
STR_5340 :{SMALLFONT}{BLACK}Clearance height
STR_5341 :Flags
STR_5342 :Choose a map tile
STR_5343 :Automatically place staff
@@ -3894,7 +3894,7 @@ STR_5552 :{POP16}{POP16}Year {COMMA16}, {PUSH16}{PUSH16}{PUSH16}{STRINGID} {M
STR_5553 :Pause game when Steam overlay is open
STR_5554 :{SMALLFONT}{BLACK}Enable mountain tool
STR_5555 :Show vehicles from other track types
STR_5556 :Kick Player
STR_5556 :{SMALLFONT}{BLACK}Kick player
STR_5557 :Stay connected after desynchronisation (Multiplayer)
STR_5558 :A restart is required for this setting to take effect
STR_5559 :10 min. inspections
@@ -3919,6 +3919,635 @@ STR_5577 :South Korean Won (W)
STR_5578 :Russian Rouble (R)
STR_5579 :Window scale factor:
STR_5580 :Czech koruna (Kc)
STR_5581 :Show FPS
STR_5582 :Trap mouse cursor in window
STR_5583 :{COMMA1DP16}ms{POWERNEGATIVEONE}
STR_5584 :SI
STR_5585 :{SMALLFONT}{BLACK}Unlocks ride operation limits, allowing for things like {VELOCITY} lift hills
STR_5586 :Automatically open shops and stalls
STR_5587 :{SMALLFONT}{BLACK}When enabled, shops and stalls will be automatically opened after building them
STR_5588 :{SMALLFONT}{BLACK}Play with other players
STR_5589 :Notification Settings
STR_5590 :Park awards
STR_5591 :Marketing campaign has finished
STR_5592 :Park warnings
STR_5593 :Park rating warnings
STR_5594 :Ride has broken down
STR_5595 :Ride has crashed
STR_5596 :Ride warnings
STR_5597 :Ride / scenery researched
STR_5598 :Guest warnings
STR_5599 :Guest is lost
STR_5600 :Guest has left the park
STR_5601 :Guest is queuing for ride
STR_5602 :Guest is on ride
STR_5603 :Guest has left ride
STR_5604 :Guest has bought item
STR_5605 :Guest has used facility
STR_5606 :Guest has died
STR_5607 :{SMALLFONT}{BLACK}Forcefully remove selected map element.
STR_5608 :BH
STR_5609 :CH
STR_5610 :{SMALLFONT}{BLACK}Remove the currently selected map element. This will forcefully remove it, so no cash will be used/gained. Use with caution.
STR_5611 :G
STR_5612 :{SMALLFONT}{BLACK}Ghost flag
STR_5613 :B
STR_5614 :{SMALLFONT}{BLACK}Broken flag
STR_5615 :L
STR_5616 :{SMALLFONT}{BLACK}Last element for tile flag
STR_5617 :{SMALLFONT}{BLACK}Move selected element up.
STR_5618 :{SMALLFONT}{BLACK}Move selected element down.
STR_5619 :RollerCoaster Tycoon
STR_5620 :Added Attractions
STR_5621 :Loopy Landscapes
STR_5622 :RollerCoaster Tycoon 2
STR_5623 :Wacky Worlds
STR_5624 :Time Twister
STR_5625 :{OPENQUOTES}Real{ENDQUOTES} Parks
STR_5626 :Other Parks
STR_5627 :Group scenario list by:
STR_5628 :Source game
STR_5629 :Difficulty level
STR_5630 :Enable unlocking of scenarios
STR_5631 :Original DLC Parks
STR_5632 :Build your own...
STR_5633 :CMD +
STR_5634 :OPTION +
STR_5635 :{WINDOW_COLOUR_2}Money spent: {BLACK}{CURRENCY2DP}
STR_5636 :{WINDOW_COLOUR_2}Commands ran: {BLACK}{COMMA16}
STR_5637 :Can't do this...
STR_5638 :Permission denied
STR_5639 :{SMALLFONT}{BLACK}Show list of players
STR_5640 :{SMALLFONT}{BLACK}Manage groups
STR_5641 :Default Group:
STR_5642 :Group:
STR_5643 :Add Group
STR_5644 :Remove Group
STR_5645 :Chat
STR_5646 :Terraform
STR_5647 :Toggle Pause
STR_5648 :Set Water Level
STR_5649 :Create Ride
STR_5650 :Remove Ride
STR_5651 :Build Ride
STR_5652 :Ride Properties
STR_5653 :Scenery
STR_5654 :Path
STR_5655 :Guest
STR_5656 :Staff
STR_5657 :Park Properties
STR_5658 :Park Funding
STR_5659 :Kick Player
STR_5660 :Modify Groups
STR_5661 :Set Player Group
STR_5662 :N/A
STR_5663 :Clear Landscape
STR_5664 :Cheat
STR_5665 :Toggle Scenery Cluster
STR_5701 :{WINDOW_COLOUR_2}Last action: {BLACK}{STRINGID}
STR_5702 :{SMALLFONT}{BLACK}Locate player's most recent action
STR_5703 :Can't kick the host
STR_5704 :Last Action:
STR_5705 :Can't set to this group
STR_5706 :Can't remove group that players belong to
STR_5707 :This group cannot be modified
STR_5708 :Can't change the group that the host belongs to
STR_5709 :Rename Group
STR_5710 :Group name
STR_5711 :Enter new name for this group:
STR_5712 :Can't modify permission that you do not have yourself
STR_5713 :Kick Player
STR_5714 :Show options window
STR_5715 :New Game
STR_5716 :Not allowed in multiplayer mode
# For identifying client network version in server list window
STR_5717 :Network version: {STRING}
STR_5718 :{SMALLFONT}{BLACK}Network version: {STRING}
STR_5719 :Sunny
STR_5720 :Partially Cloudy
STR_5721 :Cloudy
STR_5722 :Rain
STR_5723 :Heavy Rain
STR_5724 :Thunderstorm
STR_5725 :{BLACK}Force weather:
STR_5726 :{SMALLFONT}{BLACK}Sets the current weather in park
STR_5727 :Scaling quality
STR_5728 :Requires hardware display option
STR_5729 :{SMALLFONT}{BLACK}Requires hardware display option
STR_5730 :Nearest neighbour
STR_5731 :Linear
STR_5732 :Anisotropic
STR_5733 :Use NN scaling at integer scales
# tooltip for tab in options window
STR_5734 :{SMALLFONT}{BLACK}Rendering
STR_5735 :Network Status
STR_5736 :Player
STR_5737 :Closed, {COMMA16} person still on ride
STR_5738 :Closed, {COMMA16} people still on ride
STR_5739 :{WINDOW_COLOUR_2}Customers on ride: {BLACK}{COMMA16}
STR_5740 :Never-ending marketing campaigns
STR_5741 :{SMALLFONT}{BLACK}Marketing campaigns never end
STR_5742 :Authenticating ...
STR_5743 :Connecting ...
STR_5744 :Resolving ...
STR_5745 :Network desync detected
STR_5746 :Disconnected
STR_5747 :Disconnected: {STRING}
STR_5748 :Kicked
STR_5749 :Get out of the server!
STR_5750 :Connection Closed
STR_5751 :No Data
STR_5752 :{OUTLINE}{RED}{STRING} has disconnected
STR_5753 :{OUTLINE}{RED}{STRING} has disconnected ({STRING})
STR_5754 :Bad Player Name
STR_5755 :Incorrect Software Version
STR_5756 :Bad Password
STR_5757 :Server Full
STR_5758 :{OUTLINE}{GREEN}{STRING} has joined the game
STR_5759 :Downloading map ... ({INT32} / {INT32})
STR_5760 :Hong Kong Dollars (HK$)
STR_5761 :New Taiwan Dollar (NT$)
STR_5762 :Chinese Yuan (CN{YEN})
STR_5763 :All files
STR_5764 :Invalid ride type
STR_5765 :Cannot edit rides of invalid type
STR_5766 :<available string id>
STR_5767 :Income
STR_5768 :Total customers
STR_5769 :Total profit
STR_5770 :Customers per hour
STR_5771 :Running cost
STR_5772 :Age
STR_5773 :Total customers: {COMMA32}
STR_5774 :Total profit: {CURRENCY2DP}
STR_5775 :Customers: {COMMA32} per hour
STR_5776 :Built: This Year
STR_5777 :Built: Last Year
STR_5778 :Built: {COMMA16} Years Ago
STR_5779 :Income: {CURRENCY2DP} per hour
STR_5780 :Running cost: {CURRENCY2DP} per hour
STR_5781 :Running cost: Unknown
STR_5782 :You are now connected. Press '{STRING}' to chat.
STR_5783 :{WINDOW_COLOUR_2}Scenario Locked
STR_5784 :{BLACK}Complete earlier scenarios to unlock this scenario.
STR_5785 :Can't rename group...
STR_5786 :Invalid group name
STR_5787 :{COMMA32} players online
STR_5788 :Default inspection interval:
STR_5789 :Disable lightning effect
STR_5790 :{SMALLFONT}{BLACK}Toggles RCT1-style pricing{NEWLINE}(e.g. both ride price and entrance price)
STR_5791 :{SMALLFONT}{BLACK}Sets the reliability of all rides to 100%{NEWLINE}and resets their built date to "this year"
STR_5792 :{SMALLFONT}{BLACK}Fixes all broken down rides
STR_5793 :{SMALLFONT}{BLACK}Resets the crash history of a ride,{NEWLINE}so guests will not complain that its unsafe
STR_5794 :{SMALLFONT}{BLACK}Some scenarios disable editing of some{NEWLINE}of the rides already in the park.{NEWLINE}This cheat lifts the restriction
STR_5795 :{SMALLFONT}{BLACK}Guests ride every attraction in the park{NEWLINE}even if the intensity is extremely high
STR_5796 :{SMALLFONT}{BLACK}Forces the park to close or open
STR_5797 :{SMALLFONT}{BLACK}Disables weather changes and{NEWLINE}freezes the selected weather
STR_5798 :{SMALLFONT}{BLACK}Allows building actions in pause mode
STR_5799 :{SMALLFONT}{BLACK}Disables ride breakdowns and crashes due to brake failure
STR_5800 :{SMALLFONT}{BLACK}Prevents rides from breaking down
#############
# Scenarios #
################
# RCT Original #
################
<Forest Frontiers>
STR_SCNR :Forest Frontiers
STR_PARK :Forest Frontiers
STR_DTLS :Deep in the forest, build a thriving theme park in a large cleared area
<Dynamite Dunes>
STR_SCNR :Dynamite Dunes
STR_PARK :Dynamite Dunes
STR_DTLS :Built in the middle of the desert, this theme park contains just one roller coaster but has space for expansion
<Leafy Lake>
STR_SCNR :Leafy Lake
STR_PARK :Leafy Lake
STR_DTLS :Starting from scratch, build a theme park around a large lake
<Diamond Heights>
STR_SCNR :Diamond Heights
STR_PARK :Diamond Heights
STR_DTLS :Diamond Heights is already a successful theme park with great rides - develop it to double its value
<Evergreen Gardens>
STR_SCNR :Evergreen Gardens
STR_PARK :Evergreen Gardens
STR_DTLS :Convert the beautiful Evergreen Gardens into a thriving theme park
<Bumbly Beach>
STR_SCNR :Bumbly Beach
STR_PARK :Bumbly Beach
STR_DTLS :Develop Bumbly Beach's small amusement park into a thriving theme park
<Trinity Islands>
STR_SCNR :Trinity Islands
STR_PARK :Trinity Islands
STR_DTLS :Several islands form the basis for this new park
<Katie's Dreamland>
STR_SCNR :Katie's Dreamland
STR_PARK :Katie's Dreamland
STR_DTLS :A small theme park with a few rides and room for expansion - Your aim is to double the park value
<Pokey Park>
STR_SCNR :Pokey Park
STR_PARK :Pokey Park
STR_DTLS :A small, cramped amusement park which requires major expansion
<White Water Park>
STR_SCNR :White Water Park
STR_PARK :White Water Park
STR_DTLS :A park with some excellent water-based rides requires expansion
<Millennium Mines>
STR_SCNR :Millennium Mines
STR_PARK :Millennium Mines
STR_DTLS :Convert a large abandoned mine from a tourist attraction into a theme park
<Karts & Coasters>
STR_SCNR :Karts & Coasters
STR_PARK :Karts & Coasters
STR_DTLS :A large park hidden in the forest, with only go-kart tracks and wooden roller coasters
<Mel's World>
STR_SCNR :Mel's World
STR_PARK :Mel's World
STR_DTLS :This theme park has some well-designed modern rides, but plenty of space for expansion
<Mystic Mountain>
STR_SCNR :Mystic Mountain
STR_PARK :Mystic Mountain
STR_DTLS :In the hilly forests of Mystic Mountain, build a theme park from scratch
<Pacific Pyramids>
STR_SCNR :Pacific Pyramids
STR_PARK :Pacific Pyramids
STR_DTLS :Convert the Egyptian Ruins tourist attraction into a thriving theme park
<Crumbly Woods>
STR_SCNR :Crumbly Woods
STR_PARK :Crumbly Woods
STR_DTLS :A large park with well-designed but rather old rides - Replace the old rides or add new rides to make the park more popular
<Paradise Pier>
STR_SCNR :Paradise Pier
STR_PARK :Paradise Pier
STR_DTLS :Convert this sleepy town's pier into a thriving attraction
<Lightning Peaks>
STR_SCNR :Lightning Peaks
STR_PARK :Lightning Peaks
STR_DTLS :The beautiful mountains of Lightning Peaks are popular with walkers and sightseers - Use the available land to attract a new thrill-seeking clientele
<Ivory Towers>
STR_SCNR :Ivory Towers
STR_PARK :Ivory Towers
STR_DTLS :A well-established park, which has a few problems
<Rainbow Valley>
STR_SCNR :Rainbow Valley
STR_PARK :Rainbow Valley
STR_DTLS :Rainbow Valley's local authority won't allow any landscape changes or large tree removal, but you must develop the area into a large theme park
<Thunder Rock>
STR_SCNR :Thunder Rock
STR_PARK :Thunder Rock
STR_DTLS :Thunder Rock stands in the middle of a desert and attracts many tourists - Use the available space to build rides to attract more people
<Mega Park>
STR_SCNR :Mega Park
STR_PARK :Mega Park
STR_DTLS :Just for fun!
## Added Attractions
<Whispering Cliffs>
STR_SCNR :Whispering Cliffs
STR_PARK :Whispering Cliffs
STR_DTLS :Develop the seaside cliffs into a thriving amusement park
<Three Monkeys Park>
STR_SCNR :Three Monkeys Park
STR_PARK :Three Monkeys Park
STR_DTLS :Central to this large developing park is a giant triple-track racing/duelling steel coaster
<Canary Mines>
STR_SCNR :Canary Mines
STR_PARK :Canary Mines
STR_DTLS :This abandoned mine already has the makings of a tourist attraction with its minature railway and a pair of vertical drop roller coasters
<Barony Bridge>
STR_SCNR :Barony Bridge
STR_PARK :Barony Bridge
STR_DTLS :An old redundant bridge is yours to develop into an amusement park
<Funtopia>
STR_SCNR :Funtopia
STR_PARK :Funtopia
STR_DTLS :Covering land both sides of a highway, this park has several rides already operating
<Haunted Harbor>
STR_SCNR :Haunted Harbor
STR_PARK :Haunted Harbor
STR_DTLS :The local authority has agreed to sell nearby land cheaply to this small seaside park, on the condition that certain rides are preserved
<Fun Fortress>
STR_SCNR :Fun Fortress
STR_PARK :Fun Fortress
STR_DTLS :This castle is all yours to turn into a theme park
<Future World>
STR_SCNR :Future World
STR_PARK :Future World
STR_DTLS :This futuristic park has plenty of space for new rides on its alien landscape
<Gentle Glen>
STR_SCNR :Gentle Glen
STR_PARK :Gentle Glen
STR_DTLS :The local population prefer gentle and relaxing rides, so it is your job to expand this park to suit their tastes
<Jolly Jungle>
STR_SCNR :Jolly Jungle
STR_PARK :Jolly Jungle
STR_DTLS :Deep in the jungle lies a large area of land ready to be turned into a theme park
<Hydro Hills>
STR_SCNR :Hydro Hills
STR_PARK :Hydro Hills
STR_DTLS :A series of stepped lakes form the basis for this new park
<Sprightly Park>
STR_SCNR :Sprightly Park
STR_PARK :Sprightly Park
STR_DTLS :This elderly park has many historical rides but is badly in debt
<Magic Quarters>
STR_SCNR :Magic Quarters
STR_PARK :Magic Quarters
STR_DTLS :A large area of land has been cleared and partially themed ready for you to develop into a landscaped theme park
<Fruit Farm>
STR_SCNR :Fruit Farm
STR_PARK :Fruit Farm
STR_DTLS :A thriving fruit farm has built a railroad to boost its income, your job is to develop it into a full-blown amusement park
<Butterfly Dam>
STR_SCNR :Butterfly Dam
STR_PARK :Butterfly Dam
STR_DTLS :The area around a dam is available for you to develop into an amusement park
<Coaster Canyon>
STR_SCNR :Coaster Canyon
STR_PARK :Coaster Canyon
STR_DTLS :A vast canyon is yours to turn into a theme park
<Thunderstorm Park>
STR_SCNR :Thunderstorm Park
STR_PARK :Thunderstorm Park
STR_DTLS :The weather is so wet here that a giant pyramid has been built to allow some rides to be built under cover
<Harmonic Hills>
STR_SCNR :Harmonic Hills
STR_PARK :Harmonic Hills
STR_DTLS :The local authority won't allow you to build above tree height in this park
<Roman Village>
STR_SCNR :Roman Village
STR_PARK :Roman Village
STR_DTLS :Develop this Roman-themed park by adding rides and roller coasters
<Swamp Cove>
STR_SCNR :Swamp Cove
STR_PARK :Swamp Cove
STR_DTLS :Built partly on a series of small islands, this park already has a pair of large roller coasters as its centerpiece
<Adrenaline Heights>
STR_SCNR :Adrenaline Heights
STR_PARK :Adrenaline Heights
STR_DTLS :Build a park to appeal to the high-intensity thrill-seeking local people
<Utopia Park>
STR_SCNR :Utopia Park
STR_PARK :Utopia Park
STR_DTLS :An oasis in the middle of the desert provides an unusual opportunity to build an amusement park
<Rotting Heights>
STR_SCNR :Rotting Heights
STR_PARK :Rotting Heights
STR_DTLS :Overgrown and dilapidated, can you resurrect this once-great amusement park?
<Fiasco Forest>
STR_SCNR :Fiasco Forest
STR_PARK :Fiasco Forest
STR_DTLS :Full of badly designed and dangerous rides, you have a very limited budget and time to fix the problems and turn the park around
<Pickle Park>
STR_SCNR :Pickle Park
STR_PARK :Pickle Park
STR_DTLS :The local authority will not allow any kind of advertising or promotion, so this park must succeed by reputation only
<Giggle Downs>
STR_SCNR :Giggle Downs
STR_PARK :Giggle Downs
STR_DTLS :A four lane steeplechase ride is the centerpiece of this expanding park
<Mineral Park>
STR_SCNR :Mineral Park
STR_PARK :Mineral Park
STR_DTLS :Turn this abandoned stone quarry into a place to attract thrill-seeking tourists
<Coaster Crazy>
STR_SCNR :Coaster Crazy
STR_PARK :Coaster Crazy
STR_DTLS :You have limited funds but unlimited time to turn this mountainside area into a vast roller coaster park
<Urban Park>
STR_SCNR :Urban Park
STR_PARK :Urban Park
STR_DTLS :A tiny park has done a deal with the nearby town to allow expansion through the town itself
<Geoffrey Gardens>
STR_SCNR :Geoffrey Gardens
STR_PARK :Geoffrey Gardens
STR_DTLS :A large garden park needs turning into a thriving theme park
## Loopy Landscapes
<Iceberg Islands>
STR_SCNR :Iceberg Islands
STR_PARK :Iceberg Islands
STR_DTLS :A collection of icebergs make a cold setting for this ambitious theme park
<Volcania>
STR_SCNR :Volcania
STR_PARK :Volcania
STR_DTLS :A dormant volcano is the setting of this coaster-building challenge
<Arid Heights>
STR_SCNR :Arid Heights
STR_PARK :Arid Heights
STR_DTLS :Free of any financial limits, your challenge is to develop this desert park while keeping the guests happy
<Razor Rocks>
STR_SCNR :Razor Rocks
STR_PARK :Razor Rocks
STR_DTLS :Your task is to build a massive coaster-filled park in amongst Razor Rocks
<Crater Lake>
STR_SCNR :Crater Lake
STR_PARK :Crater Lake
STR_DTLS :A large lake in an ancient crater is the setting for this park
<Vertigo Views>
STR_SCNR :Vertigo Views
STR_PARK :Vertigo Views
STR_DTLS :This large park already has an excellent hyper-coaster, but your task is to massively increase its profit
<Paradise Pier 2>
STR_SCNR :Paradise Pier 2
STR_PARK :Paradise Pier 2
STR_DTLS :Paradise Pier has expanded its network of walkways over the sea, and your task is to expand the park to use the extra space
<Dragon's Cove>
STR_SCNR :Dragon's Cove
STR_PARK :Dragon's Cove
STR_DTLS :This sea-side cove is the setting for this coaster-building challenge
<Good Knight Park>
STR_SCNR :Good Knight Park
STR_PARK :Good Knight Park
STR_DTLS :A castle with a pair of roller coasters needs developing into a larger theme park
<Wacky Warren>
STR_SCNR :Wacky Warren
STR_PARK :Wacky Warren
STR_DTLS :A park which has much of its footpaths and coasters underground
<Grand Glacier>
STR_SCNR :Grand Glacier
STR_PARK :Grand Glacier
STR_DTLS :A glacier-filled valley is yours to develop into a theme park
<Crazy Craters>
STR_SCNR :Crazy Craters
STR_PARK :Crazy Craters
STR_DTLS :In a far-off world where money is not needed, you must build an entertainment centre to keep the people happy
<Dusty Desert>
STR_SCNR :Dusty Desert
STR_PARK :Dusty Desert
STR_DTLS :Five coasters require completion in this desert park
<Woodworm Park>
STR_SCNR :Woodworm Park
STR_PARK :Woodworm Park
STR_DTLS :This historical park is only allowed to build older-styled rides
<Icarus Park>
STR_SCNR :Icarus Park
STR_PARK :Icarus Park
STR_DTLS :Develop this alien park to maximize its profit
<Sunny Swamps>
STR_SCNR :Sunny Swamps
STR_PARK :Sunny Swamps
STR_DTLS :This well-themed amusement park already has several rides, but has plenty of space for expansion
<Frightmare Hills>
STR_SCNR :Frightmare Hills
STR_PARK :Frightmare Hills
STR_DTLS :A scary park with a giant centrepiece coaster
<Thunder Rocks>
STR_SCNR :Thunder Rocks
STR_PARK :Thunder Rocks
STR_DTLS :Two large hunks of rock stick out of the sand, upon which the beginnings of a theme park are constructed
<Octagon Park>
STR_SCNR :Octagon Park
STR_PARK :Octagon Park
STR_DTLS :In this large park you must design and build ten large coasters
<Pleasure Island>
STR_SCNR :Pleasure Island
STR_PARK :Pleasure Island
STR_DTLS :A long thin island makes a challenging setting to build a selection of coasters
<Icicle Worlds>
STR_SCNR :Icicle Worlds
STR_PARK :Icicle Worlds
STR_DTLS :An icy landscape needs turning into a thriving theme park
<Southern Sands>
STR_SCNR :Southern Sands
STR_PARK :Southern Sands
STR_DTLS :A desert park with some cleverly designed coasters is yours to expand
<Tiny Towers>
STR_SCNR :Tiny Towers
STR_PARK :Tiny Towers
STR_DTLS :In this tiny park you must finish building the five existing coasters
<Nevermore Park>
STR_SCNR :Nevermore Park
STR_PARK :Nevermore Park
STR_DTLS :A large park with a novel transporation system around its edge
<Pacifica>
STR_SCNR :Pacifica
STR_PARK :Pacifica
STR_DTLS :This large island is all yours to develop as an amusement park
<Urban Jungle>
STR_SCNR :Urban Jungle
STR_PARK :Urban Jungle
STR_DTLS :A giant abandoned skyscraper is a unique opportunity for a theme park developer
<Terror Town>
STR_SCNR :Terror Town
STR_PARK :Terror Town
STR_DTLS :This urban area is all yours to develop into an amusement park
<Megaworld Park>
STR_SCNR :Megaworld Park
STR_PARK :Megaworld Park
STR_DTLS :A giant park already packed full of rides needs improving
<Venus Ponds>
STR_SCNR :Venus Ponds
STR_PARK :Venus Ponds
STR_DTLS :On a far-away planet this area of land needs turning into a theme park
<Micro Park>
STR_SCNR :Micro Park
STR_PARK :Micro Park
STR_DTLS :Try to create the world's smallest profitable park
## Real Parks from RCT1
# None of them had details
<Alton Towers>
STR_SCNR :Alton Towers
STR_PARK :Alton Towers
STR_DTLS :
<Heide-Park>
STR_SCNR :Heide-Park
STR_PARK :Heide-Park
STR_DTLS :
<Blackpool Pleasure Beach>
STR_SCNR :Blackpool Pleasure Beach
STR_PARK :Blackpool Pleasure Beach
STR_DTLS :
## Misc parks from RCT1
# Had no details
<Fort Anachronism>
STR_SCNR :Fort Anachronism
STR_PARK :Fort Anachronism
STR_DTLS :
#####################
# Rides/attractions #

View File

@@ -1779,7 +1779,7 @@ STR_1773 :Only one on-ride photo section allowed per ride
STR_1774 :Only one cable lift hill allowed per ride
STR_1775 :Off
STR_1776 :On
STR_1777 :{WINDOW_COLOUR_2}Music
STR_1777 :{WINDOW_COLOUR_2}Ride music
STR_1778 :{STRINGID} - -
STR_1779 :{INLINE_SPRITE}{254}{19}{00}{00} Panda costume
STR_1780 :{INLINE_SPRITE}{255}{19}{00}{00} Tiger costume
@@ -2689,7 +2689,7 @@ STR_2680 :All research complete
STR_2681 :{MEDIUMFONT}{BLACK}Increases your money by {CURRENCY}
STR_2682 :<not used anymore>
STR_2683 :<not used anymore>
STR_2684 :{SMALLFONT}{BLACK}Large group of peeps arrive
STR_2684 :{SMALLFONT}{BLACK}Large group of guests arrive
STR_2685 :Simplex Noise Parameters
STR_2686 :{WINDOW_COLOUR_2}Low:
STR_2687 :{WINDOW_COLOUR_2}High:
@@ -2782,7 +2782,7 @@ STR_2771 :Slower Gamespeed
STR_2772 :Faster Gamespeed
STR_2773 :Windowed
STR_2774 :Fullscreen
STR_2775 :Fullscreen (desktop)
STR_2775 :Fullscreen (borderless)
STR_2776 :Language:
STR_2777 :{MOVE_X}{SMALLFONT}{STRING}
STR_2778 :{RIGHTGUILLEMET}{MOVE_X}{SMALLFONT}{STRING}
@@ -3457,470 +3457,457 @@ STR_3444 :Page 5
STR_3445 :Set Patrol Area
STR_3446 :Cancel Patrol Area
# New strings, cleaner
STR_5120 :Finances
STR_5121 :Research
STR_5122 :Select rides by track type (like in RCT1)
STR_5123 :Renew rides
STR_5124 :<not used anymore>
STR_5125 :All destructable
STR_5126 :Random title music
STR_5127 :{SMALLFONT}{BLACK}Disable land elevation
STR_5128 :Selection size
STR_5129 :Enter selection size between {COMMA16} and {COMMA16}
STR_5130 :Map size
STR_5131 :Enter map size between {COMMA16} and {COMMA16}
STR_5132 :Fix all rides
STR_5133 :{SMALLFONT}{BLACK}Adjust smaller area of land rights
STR_5134 :{SMALLFONT}{BLACK}Adjust larger area of land rights
STR_5135 :{SMALLFONT}{BLACK}Buy land rights and construction rights
STR_5136 :Land rights
STR_5137 :Allow lift hill and launch speeds{NEWLINE}up to {VELOCITY}
STR_5138 :{SMALLFONT}{WINDOW_COLOUR_2}{STRINGID}
STR_5139 :{WHITE}{STRINGID}
STR_5140 :Disable brakes failure
STR_5141 :Disable all breakdowns
STR_5142 :Normal Speed
STR_5143 :Quick Speed
STR_5144 :Fast Speed
STR_5145 :Turbo Speed
STR_5146 :Hyper Speed
STR_5147 :Cheats
STR_5148 :{SMALLFONT}{BLACK}Change the game speed
STR_5149 :{SMALLFONT}{BLACK}Open the cheats window
STR_5150 :Enable debugging tools
#Thousands separator
STR_5151 :,
#Decimals separator
STR_5152 :.
STR_5153 :Edit Themes...
STR_5154 :Hardware display
STR_5155 :Allow testing of unfinished tracks
STR_5156 :{SMALLFONT}{BLACK}Allows testing of most ride types even when the track is unfinished, does not apply to block sectioned modes
STR_5157 :Unlock all prices
STR_5158 :Quit to menu
STR_5159 :Exit OpenRCT2
STR_5160 :{POP16}{MONTH} {PUSH16}{PUSH16}{STRINGID}, Year {POP16}{COMMA16}
STR_5161 :Date Format:
STR_5162 :Day/Month/Year
STR_5163 :Month/Day/Year
STR_5164 :Twitch Channel name
STR_5165 :Name peeps after followers
STR_5166 :{SMALLFONT}{BLACK}Will name peeps after channel's Twitch followers
STR_5167 :Track follower peeps
STR_5168 :{SMALLFONT}{BLACK}Will turn on tracking information for guests named after channel's Twitch followers
STR_5169 :Name peeps after people in Twitch chat
STR_5170 :{SMALLFONT}{BLACK}Will name peeps after people in Twitch chat
STR_5171 :Track chat peeps
STR_5172 :{SMALLFONT}{BLACK}Will turn on tracking information for guests named after Twitch chat participants
STR_5173 :Pull Twitch chat as news
STR_5174 :{SMALLFONT}{BLACK}Will use Twitch chat messages preceded by !news for in game notifications
STR_5175 :Input the name of your Twitch channel
STR_5176 :Enable Twitch integration
STR_5177 :Fullscreen mode:
STR_5178 :{SMALLFONT}{BLACK}Show financial cheats
STR_5179 :{SMALLFONT}{BLACK}Show guest cheats
STR_5180 :{SMALLFONT}{BLACK}Show park cheats
STR_5181 :{SMALLFONT}{BLACK}Show ride cheats
STR_5182 :{INT32}
STR_5183 :Base height
STR_5184 :Enter base height between {COMMA16} and {COMMA16}
STR_5185 :Water level
STR_5186 :Enter water level between {COMMA16} and {COMMA16}
STR_5187 :Finances
STR_5188 :New Campaign
STR_5189 :Research
STR_5190 :Map
STR_5191 :Viewport
STR_5192 :Recent News
STR_5193 :Land
STR_5194 :Water
STR_5195 :Clear Scenery
STR_5196 :Land Rights
STR_5197 :Scenery
STR_5198 :Footpath
STR_5199 :Ride Construction
STR_5200 :Track Design Place
STR_5201 :New Ride
STR_5202 :Track Design Selection
STR_5203 :Ride
STR_5204 :Ride List
STR_5205 :Guest
STR_5206 :Guest List
STR_5207 :Staff
STR_5208 :Staff List
STR_5209 :Banner
STR_5210 :Object Selection
STR_5211 :Invention List
STR_5212 :Scenario Options
STR_5213 :Objective Options
STR_5214 :Map Generation
STR_5215 :Track Design Manager
STR_5216 :Track Design Manager List
STR_5217 :Cheats
STR_5218 :Themes
STR_5219 :Options
STR_5220 :Keyboard Shortcuts
STR_5221 :Change Keyboard Shortcut
STR_5222 :Load/Save
STR_5223 :Save Prompt
STR_5224 :Demolish Ride Prompt
STR_5225 :Fire Staff Prompt
STR_5226 :Track Delete Prompt
STR_5227 :Save Overwrite Prompt
STR_5228 :{SMALLFONT}{BLACK}Main UI
STR_5229 :{SMALLFONT}{BLACK}Park
STR_5230 :{SMALLFONT}{BLACK}Tools
STR_5231 :{SMALLFONT}{BLACK}Rides and Peeps
STR_5232 :{SMALLFONT}{BLACK}Editors
STR_5233 :{SMALLFONT}{BLACK}Miscellaneous
STR_5234 :{SMALLFONT}{BLACK}Prompts
STR_5235 :{SMALLFONT}{BLACK}Settings
STR_5236 :Window:
STR_5237 :Palette:
STR_5238 :Current Theme:
STR_5239 :Duplicate
STR_5240 :Enter a name for the theme
STR_5241 :Can't change this theme
STR_5242 :Theme name already exists
STR_5243 :Invalid characters used
STR_5244 :Themes
STR_5245 :Top Toolbar
STR_5246 :Bottom Toolbar
STR_5247 :Track Editor Bottom Toolbar
STR_5248 :Scenario Editor Bottom Toolbar
STR_5249 :Title Menu Buttons
STR_5250 :Title Exit Button
STR_5251 :Title Options Button
STR_5252 :Title Scenario Selection
STR_5253 :Park Information
STR_5254 :Create
STR_5255 :{SMALLFONT}{BLACK}Create a new title sequence from scratch
STR_5256 :Create a new theme to make changes to
STR_5257 :{SMALLFONT}{BLACK}Create a new theme based on the current one
STR_5258 :{SMALLFONT}{BLACK}Delete the current theme
STR_5259 :{SMALLFONT}{BLACK}Rename the current theme
STR_5260 :Giant Screenshot
STR_5261 :Filter
STR_5262 :Wacky Worlds
STR_5263 :Time Twister
STR_5264 :Custom
STR_5265 :{SMALLFONT}{BLACK}Select which content sources are visible
STR_5266 :{SMALLFONT}{BLACK}Display
STR_5267 :{SMALLFONT}{BLACK}Culture and Units
STR_5268 :{SMALLFONT}{BLACK}Audio
STR_5269 :{SMALLFONT}{BLACK}Controls and interface
STR_5270 :{SMALLFONT}{BLACK}Miscellaneous
STR_5271 :{SMALLFONT}{BLACK}Twitch
STR_5272 :{SMALLFONT}{BLACK}Small Scenery
STR_5273 :{SMALLFONT}{BLACK}Large Scenery
STR_5274 :{SMALLFONT}{BLACK}Footpaths
STR_5275 :Search for Objects
STR_5276 :Enter the name of an object to search for
STR_5277 :Clear
STR_5278 :Sandbox mode
STR_5279 :Sandbox mode off
STR_5280 :{SMALLFONT}{BLACK}Allow editing land ownership settings through the Map window and other options that are normally restricted to the Scenario Editor
STR_5281 :{SMALLFONT}{BLACK}Features
STR_5282 :RCT1 Ride Open/Close Lights
STR_5283 :RCT1 Park Open/Close Lights
STR_5284 :RCT1 Scenario Selection Font
STR_5285 :EXPLODE!!!
STR_5286 :{SMALLFONT}{BLACK}Makes some guests explode
STR_5287 :Ride is already broken down
STR_5288 :Ride is closed
STR_5289 :No breakdowns available for this ride
STR_5290 :Fix ride
STR_5291 :Can't force breakdown
STR_5292 :{SMALLFONT}{BLACK}Force a breakdown
STR_5293 :{SMALLFONT}{BLACK}Close ride/attraction
STR_5294 :{SMALLFONT}{BLACK}Test ride/attraction
STR_5295 :{SMALLFONT}{BLACK}Open ride/attraction
STR_5296 :{SMALLFONT}{BLACK}Close park
STR_5297 :{SMALLFONT}{BLACK}Open park
STR_5298 :{RED}{STRINGID}
STR_5299 :{LIGHTPINK}{STRINGID}
STR_5300 :{SMALLFONT}{BLACK}Quick fire staff
STR_5301 :{MEDIUMFONT}{BLACK}Clear your loan
STR_5302 :Clear loan
STR_5303 :Allow building in pause mode
STR_5304 :Title Sequence:
STR_5305 :RollerCoaster Tycoon 1
STR_5306 :RollerCoaster Tycoon 1 (AA)
STR_5307 :RollerCoaster Tycoon 1 (AA + LL)
STR_5308 :RollerCoaster Tycoon 2
STR_5309 :OpenRCT2
STR_5310 :Random
STR_5311 :{SMALLFONT}{BLACK}Debug tools
STR_5312 :Show console
STR_5313 :Show tile inspector
STR_5314 :Tile inspector
STR_5315 :Grass
STR_5316 :Sand
STR_5317 :Dirt
STR_5318 :Rock
STR_5319 :Martian
STR_5320 :Checkerboard
STR_5321 :Grass clumps
STR_5322 :Ice
STR_5323 :Grid (red)
STR_5324 :Grid (yellow)
STR_5325 :Grid (blue)
STR_5326 :Grid (green)
STR_5327 :Sand (dark)
STR_5328 :Sand (light)
STR_5329 :Checkerboard (inverted)
STR_5330 :Underground view
STR_5331 :Rock
STR_5332 :Wood (red)
STR_5333 :Wood (black)
STR_5334 :Ice
STR_5335 :Ride entrance
STR_5336 :Ride exit
STR_5337 :Park entrance
STR_5338 :Element type
STR_5339 :Base height
STR_5340 :Clearance height
STR_5341 :Flags
STR_5342 :Choose a map tile
STR_5343 :Automatically place staff
STR_5344 :Changelog
STR_5345 :Financial cheats
STR_5346 :Guest cheats
STR_5347 :Park cheats
STR_5348 :Ride cheats
STR_5349 :{SMALLFONT}{BLACK}All Rides
STR_5350 :Max
STR_5351 :Min
STR_5352 :{BLACK}Happiness:
STR_5353 :{BLACK}Energy:
STR_5354 :{BLACK}Hunger:
STR_5355 :{BLACK}Thirst:
STR_5356 :{BLACK}Nausea:
STR_5357 :{BLACK}Nausea tolerance:
STR_5358 :{BLACK}Bathroom:
STR_5359 :Remove guests
STR_5360 :{SMALLFONT}{BLACK}Removes all guests from the map
STR_5361 :Give all guests:
STR_5362 :{BLACK}Set all guests' preferred ride intensity to:
STR_5363 :More than 1
STR_5364 :Less than 15
STR_5365 :{BLACK}Staff speed:
STR_5366 :Normal
STR_5367 :Fast
STR_5368 :Reset crash status
STR_5369 :Park parameters...
STR_5370 :{SMALLFONT}{BLACK}Click this button to modify park{NEWLINE}parameters like restrictions,{NEWLINE}guest generation and money.
STR_5371 :Object Selection
STR_5372 :Invert right mouse dragging
STR_5373 :Name {STRINGID}
STR_5374 :Date {STRINGID}
STR_5375 :{UP}
STR_5376 :{DOWN}
STR_5377 :{SMALLFONT}{BLACK}Saves
STR_5378 :{SMALLFONT}{BLACK}Script
STR_5379 :{SMALLFONT}{BLACK}Skip to next wait command
STR_5380 :{SMALLFONT}{BLACK}Start playing title sequence
STR_5381 :{SMALLFONT}{BLACK}Stop playing title sequence
STR_5382 :{SMALLFONT}{BLACK}Restart title sequence
STR_5383 :{SMALLFONT}{BLACK}Create a new title sequence based on the current one
STR_5384 :{SMALLFONT}{BLACK}Delete the current title sequence
STR_5385 :{SMALLFONT}{BLACK}Rename the current title sequence
STR_5386 :{SMALLFONT}{BLACK}Insert a new command
STR_5387 :{SMALLFONT}{BLACK}Edit the selected command
STR_5388 :{SMALLFONT}{BLACK}Delete the selected command
STR_5389 :{SMALLFONT}{BLACK}Skip to the selected command in the title sequence
STR_5390 :{SMALLFONT}{BLACK}Move the selected command down
STR_5391 :{SMALLFONT}{BLACK}Move the selected command up
STR_5392 :{SMALLFONT}{BLACK}Add a save to the title sequence
STR_5393 :{SMALLFONT}{BLACK}Remove the selected save from the title sequence
STR_5394 :{SMALLFONT}{BLACK}Rename the selected save
STR_5395 :{SMALLFONT}{BLACK}Load the selected save in game
STR_5396 :{SMALLFONT}{BLACK}Reload the title sequence if changes have been made to it outside of the game
STR_5397 :Can only be used on the title screen
STR_5398 :Cannot edit title sequence while it's playing
STR_5399 :Press the stop button to continue editing
STR_5400 :Can't change this title sequence
STR_5401 :Create a new title sequence to make changes to
STR_5402 :Failed to load title sequence
STR_5403 :There may be no Load or Wait command or a save may be invalid
STR_5404 :Name already exists
STR_5405 :Enter a name for the save
STR_5406 :Enter a name for the title sequence
STR_5407 :Add
STR_5408 :Remove
STR_5409 :Insert
STR_5410 :Edit
STR_5411 :Reload
STR_5412 :Skip to
STR_5413 :Load
STR_5414 :Load{MOVE_X}{87}Six Flags Magic Mountain.SC6
STR_5415 :Load{MOVE_X}{87}{STRING}
STR_5416 :Load{MOVE_X}{87}No save selected
STR_5417 :Location
STR_5418 :Location{MOVE_X}{87}{COMMA16} {COMMA16}
STR_5419 :Rotate
STR_5420 :Rotate{MOVE_X}{87}{COMMA16}
STR_5421 :Zoom
STR_5422 :Zoom{MOVE_X}{87}{COMMA16}
STR_5423 :Wait
STR_5424 :Wait{MOVE_X}{87}{COMMA16}
STR_5425 :Restart
STR_5426 :End
STR_5427 :Coordinates:
STR_5428 :Counter-clockwise rotations:
STR_5429 :Zoom level:
STR_5430 :Seconds to wait:
STR_5431 :Save to load:
STR_5432 :Command:
STR_5433 :Title Sequences
STR_5434 :Command Editor
STR_5435 :Rename save
STR_5436 :Edit Title Sequences...
STR_5437 :No save selected
STR_5438 :Can't make changes while command editor is open
STR_5439 :A wait command with at least 4 seconds is required with a restart command
# Strings added by OpenRCT2. Only add strings that differ from UK English!
STR_5440 :Minimize fullscreen on focus loss
STR_5441 :{SMALLFONT}{BLACK}Identifies rides by track type,{NEWLINE}so vehicles can be changed{NEWLINE}afterwards, like in RCT1.
STR_5442 :Force park rating:
STR_5443 :Speed{MOVE_X}{87}{STRINGID}
STR_5444 :Speed:
STR_5445 :Speed
STR_5446 :Get
STR_5447 :Type {STRINGID}
STR_5448 :Ride / Vehicle {STRINGID}
STR_5449 :Reduce game speed
STR_5450 :Increase game speed
STR_5451 :Open cheats window
STR_5452 :Toggle visibility of toolbars
STR_5453 :Select another ride
STR_5454 :Uncap FPS
STR_5455 :Enable sandbox mode
STR_5456 :Disable clearance checks
STR_5457 :Disable support limits
STR_5458 :Rotate clockwise
STR_5459 :Rotate counterclockwise
STR_5460 :Rotate view counterclockwise
STR_5461 :Set guests' parameters
STR_5462 :{CURRENCY}
STR_5463 :Goal: Have fun!
STR_5464 :General
STR_5465 :Climate
STR_5466 :Staff
STR_5467 :ALT +
STR_5468 :Recent messages
STR_5469 :Scroll map up
STR_5470 :Scroll map left
STR_5471 :Scroll map down
STR_5472 :Scroll map right
STR_5473 :Cycle day / night
STR_5474 :Display text on banners in upper case
STR_5475 :{COMMA16} weeks
STR_5476 :Hardware
STR_5477 :Map rendering
STR_5478 :Controls
STR_5479 :Toolbar
STR_5480 :Show toolbar buttons for:
STR_5481 :Themes
STR_5482 :{WINDOW_COLOUR_2}Time since last inspection: {BLACK}1 minute
STR_5483 :{BLACK}({COMMA16} weeks remaining)
STR_5484 :{BLACK}({COMMA16} week remaining)
STR_5485 :{SMALLFONT}{STRING}
STR_5486 :{BLACK}{COMMA16}
STR_5487 :{SMALLFONT}{BLACK}Show recent messages
STR_5488 :No entrance (OpenRCT2 only!)
STR_5489 :{SMALLFONT}{BLACK}Show only tracked guests
STR_5490 :Disable audio on focus loss
STR_5491 :Inventions list
STR_5492 :Scenario options
STR_5493 :Send Message
STR_5494 :<not used anymore>
STR_5495 :Player List
STR_5496 :Player:
STR_5497 :Ping:
STR_5498 :Server List
STR_5499 :Player Name:
STR_5500 :Add Server
STR_5501 :Start Server
STR_5502 :Multiplayer
STR_5503 :Enter hostname or IP address:
STR_5504 :{SMALLFONT}{BLACK}Show multiplayer status
STR_5505 :Unable to connect to server.
STR_5506 :Guests ignore intensities
STR_5507 :Handymen mow grass by default
STR_5508 :Allow loading files with incorrect checksums
STR_5509 :{SMALLFONT}{BLACK}Allows loading scenarios and saves that have an incorrect checksum, like the scenarios from the demo or damaged saves.
STR_5510 :Default sound device
STR_5511 :(UNKNOWN)
STR_5512 :Save Game As
STR_5513 :(Quick) save game
STR_5514 :Disable vandalism
STR_5515 :{SMALLFONT}{BLACK}Stops guests from vandalizing your park when they're angry
STR_5516 :{SMALLFONT}{BLACK}Black
STR_5517 :{SMALLFONT}{BLACK}Gray
STR_5518 :{SMALLFONT}{BLACK}White
STR_5519 :{SMALLFONT}{BLACK}Dark purple
STR_5520 :{SMALLFONT}{BLACK}Light purple
STR_5521 :{SMALLFONT}{BLACK}Bright purple
STR_5522 :{SMALLFONT}{BLACK}Dark blue
STR_5523 :{SMALLFONT}{BLACK}Light blue
STR_5524 :{SMALLFONT}{BLACK}Icy blue
STR_5525 :{SMALLFONT}{BLACK}Dark water
STR_5526 :{SMALLFONT}{BLACK}Light water
STR_5527 :{SMALLFONT}{BLACK}Saturated green
STR_5528 :{SMALLFONT}{BLACK}Dark green
STR_5529 :{SMALLFONT}{BLACK}Moss green
STR_5530 :{SMALLFONT}{BLACK}Bright green
STR_5531 :{SMALLFONT}{BLACK}Olive green
STR_5532 :{SMALLFONT}{BLACK}Dark olive green
STR_5533 :{SMALLFONT}{BLACK}Bright yellow
STR_5534 :{SMALLFONT}{BLACK}Yellow
STR_5535 :{SMALLFONT}{BLACK}Dark yellow
STR_5536 :{SMALLFONT}{BLACK}Light orange
STR_5537 :{SMALLFONT}{BLACK}Dark orange
STR_5538 :{SMALLFONT}{BLACK}Light brown
STR_5539 :{SMALLFONT}{BLACK}Saturated brown
STR_5540 :{SMALLFONT}{BLACK}Dark brown
STR_5541 :{SMALLFONT}{BLACK}Salmon pink
STR_5542 :{SMALLFONT}{BLACK}Bordeaux red
STR_5543 :{SMALLFONT}{BLACK}Saturated red
STR_5544 :{SMALLFONT}{BLACK}Bright red
STR_5545 :{SMALLFONT}{BLACK}Dark pink
STR_5546 :{SMALLFONT}{BLACK}Bright pink
STR_5547 :{SMALLFONT}{BLACK}Light pink
STR_5548 :Show all operating modes
STR_5549 :Year/Month/Day
STR_5550 :{POP16}{POP16}Year {COMMA16}, {PUSH16}{PUSH16}{MONTH} {PUSH16}{PUSH16}{STRINGID}
STR_5551 :Year/Day/Month
STR_5552 :{POP16}{POP16}Year {COMMA16}, {PUSH16}{PUSH16}{PUSH16}{STRINGID} {MONTH}
STR_5553 :Pause game when Steam overlay is open
STR_5554 :{SMALLFONT}{BLACK}Enable mountain tool
STR_5555 :Show vehicles from other track types
STR_5556 :Kick Player
STR_5557 :Stay connected after desynchronization (Multiplayer)
STR_5558 :A restart is required for this setting to take effect
STR_5559 :10 min. inspections
STR_5560 :{SMALLFONT}{BLACK}Sets the inspection time to 'Every 10 minutes' on all rides
STR_5561 :Failed to load language
STR_5562 :WARNING!
STR_5563 :This feature is currently unstable, take extra caution.
STR_5564 :Insert Corrupt Element
STR_5565 :{SMALLFONT}{BLACK}Inserts a corrupt map element at top of tile. This will hide any element above the corrupt element.
STR_5566 :Password:
STR_5567 :Advertise
STR_5568 :Password Required
STR_5569 :This server requires a password
STR_5570 :Fetch Servers
STR_5571 :Join Game
STR_5572 :Add To Favorites
STR_5573 :Remove From Favorites
STR_5574 :Server Name:
STR_5575 :Max Players:
STR_5576 :Port:
STR_5577 :South Korean Won (W)
STR_5578 :Russian Ruble (R)
STR_5579 :Window scale factor:
STR_5580 :Czech koruna (Kc)
STR_5620 :Corkscrew Follies
#############
# Scenarios #
#############
## RCT Original
<Forest Frontiers>
STR_SCNR :Forest Frontiers
STR_PARK :Forest Frontiers
STR_DTLS :Deep in the forest, build a thriving theme park in a large cleared area
<Dynamite Dunes>
STR_SCNR :Dynamite Dunes
STR_PARK :Dynamite Dunes
STR_DTLS :Built in the middle of the desert, this theme park contains just one roller coaster but has space for expansion
<Leafy Lake>
STR_SCNR :Leafy Lake
STR_PARK :Leafy Lake
STR_DTLS :Starting from scratch, build a theme park around a large lake
<Diamond Heights>
STR_SCNR :Diamond Heights
STR_PARK :Diamond Heights
STR_DTLS :Diamond Heights is already a successful theme park with great rides - develop it to double its value
<Evergreen Gardens>
STR_SCNR :Evergreen Gardens
STR_PARK :Evergreen Gardens
STR_DTLS :Convert the beautiful Evergreen Gardens into a thriving theme park
<Bumbly Beach>
STR_SCNR :Bumbly Beach
STR_PARK :Bumbly Beach
STR_DTLS :Develop Bumbly Beach's small amusement park into a thriving theme park
<Trinity Islands>
STR_SCNR :Trinity Islands
STR_PARK :Trinity Islands
STR_DTLS :Several islands form the basis for this new park
<Katie's Dreamland>
STR_SCNR :Katie's World
STR_PARK :Katie's World
STR_DTLS :A small theme park with a few rides and room for expansion - Your aim is to double the park value
<Pokey Park>
STR_SCNR :Dinky Park
STR_PARK :Dinky Park
STR_DTLS :A small, cramped amusement park which requires major expansion
<White Water Park>
STR_SCNR :Aqua Park
STR_PARK :Aqua Park
STR_DTLS :A park with some excellent water-based rides requires expansion
<Millennium Mines>
STR_SCNR :Millennium Mines
STR_PARK :Millennium Mines
STR_DTLS :Convert a large abandoned mine from a tourist attraction into a theme park
<Karts & Coasters>
STR_SCNR :Karts & Coasters
STR_PARK :Karts & Coasters
STR_DTLS :A large park hidden in the forest, with only go-kart tracks and wooden roller coasters
<Mel's World>
STR_SCNR :Mel's World
STR_PARK :Mel's World
STR_DTLS :This theme park has some well-designed modern rides, but plenty of space for expansion
<Mystic Mountain>
STR_SCNR :Mothball Mountain
STR_PARK :Mothball Mountain
STR_DTLS :In the hilly forests of Mothball Mountain, build a theme park from scratch
<Pacific Pyramids>
STR_SCNR :Pacific Pyramids
STR_PARK :Pacific Pyramids
STR_DTLS :Convert the Egyptian Ruins tourist attraction into a thriving theme park
<Crumbly Woods>
STR_SCNR :Crumbly Woods
STR_PARK :Crumbly Woods
STR_DTLS :A large park with well-designed but rather old rides - Replace the old rides or add new rides to make the park more popular
<Paradise Pier>
STR_SCNR :Big Pier
STR_PARK :Big Pier
STR_DTLS :Convert this sleepy town's pier into a thriving attraction
<Lightning Peaks>
STR_SCNR :Lightning Peaks
STR_PARK :Lightning Peaks
STR_DTLS :The beautiful mountains of Lightning Peaks are popular with walkers and sightseers - Use the available land to attract a new thrill-seeking clientele
<Ivory Towers>
STR_SCNR :Ivory Towers
STR_PARK :Ivory Towers
STR_DTLS :A well-established park, which has a few problems
<Rainbow Valley>
STR_SCNR :Rainbow Valley
STR_PARK :Rainbow Valley
STR_DTLS :Rainbow Valley's local authority won't allow any landscape changes or large tree removal, but you must develop the area into a large theme park
<Thunder Rock>
STR_SCNR :Thunder Rock
STR_PARK :Thunder Rock
STR_DTLS :Thunder Rock stands in the middle of a desert and attracts many tourists - Use the available space to build rides to attract more people
<Mega Park>
STR_SCNR :Mega Park
STR_PARK :Mega Park
STR_DTLS :Just for fun!
## Corkscrew Follies
<Whispering Cliffs>
STR_SCNR :Whispering Cliffs
STR_PARK :Whispering Cliffs
STR_DTLS :Develop the seaside cliffs into a thriving amusement park
<Three Monkeys Park>
STR_SCNR :Three Monkeys Park
STR_PARK :Three Monkeys Park
STR_DTLS :Central to this large developing park is a giant triple-track racing/duelling steel coaster
<Canary Mines>
STR_SCNR :Canary Mines
STR_PARK :Canary Mines
STR_DTLS :This abandoned mine already has the makings of a tourist attraction with its minature railway and a pair of vertical drop roller coasters
<Barony Bridge>
STR_SCNR :Barony Bridge
STR_PARK :Barony Bridge
STR_DTLS :An old redundant bridge is yours to develop into an amusement park
<Funtopia>
STR_SCNR :Funtopia
STR_PARK :Funtopia
STR_DTLS :Covering land both sides of a highway, this park has several rides already operating
<Haunted Harbor>
STR_SCNR :Haunted Harbor
STR_PARK :Haunted Harbor
STR_DTLS :The local authority has agreed to sell nearby land cheaply to this small seaside park, on the condition that certain rides are preserved
<Fun Fortress>
STR_SCNR :Fun Fortress
STR_PARK :Fun Fortress
STR_DTLS :This castle is all yours to turn into a theme park
<Future World>
STR_SCNR :Future World
STR_PARK :Future World
STR_DTLS :This futuristic park has plenty of space for new rides on its alien landscape
<Gentle Glen>
STR_SCNR :Gentle Glen
STR_PARK :Gentle Glen
STR_DTLS :The local population prefer gentle and relaxing rides, so it is your job to expand this park to suit their tastes
<Jolly Jungle>
STR_SCNR :Jolly Jungle
STR_PARK :Jolly Jungle
STR_DTLS :Deep in the jungle lies a large area of land ready to be turned into a theme park
<Hydro Hills>
STR_SCNR :Hydro Hills
STR_PARK :Hydro Hills
STR_DTLS :A series of stepped lakes form the basis for this new park
<Sprightly Park>
STR_SCNR :Sprightly Park
STR_PARK :Sprightly Park
STR_DTLS :This elderly park has many historical rides but is badly in debt
<Magic Quarters>
STR_SCNR :Magic Quarters
STR_PARK :Magic Quarters
STR_DTLS :A large area of land has been cleared and partially themed ready for you to develop into a landscaped theme park
<Fruit Farm>
STR_SCNR :Fruit Farm
STR_PARK :Fruit Farm
STR_DTLS :A thriving fruit farm has built a railroad to boost its income, your job is to develop it into a full-blown amusement park
<Butterfly Dam>
STR_SCNR :Butterfly Dam
STR_PARK :Butterfly Dam
STR_DTLS :The area around a dam is available for you to develop into an amusement park
<Coaster Canyon>
STR_SCNR :Coaster Canyon
STR_PARK :Coaster Canyon
STR_DTLS :A vast canyon is yours to turn into a theme park
<Thunderstorm Park>
STR_SCNR :Thunderstorm Park
STR_PARK :Thunderstorm Park
STR_DTLS :The weather is so wet here that a giant pyramid has been built to allow some rides to be built under cover
<Harmonic Hills>
STR_SCNR :Harmonic Hills
STR_PARK :Harmonic Hills
STR_DTLS :The local authority won't allow you to build above tree height in this park
<Roman Village>
STR_SCNR :Roman Village
STR_PARK :Roman Village
STR_DTLS :Develop this Roman-themed park by adding rides and roller coasters
<Swamp Cove>
STR_SCNR :Swamp Cove
STR_PARK :Swamp Cove
STR_DTLS :Built partly on a series of small islands, this park already has a pair of large roller coasters as its centerpiece
<Adrenaline Heights>
STR_SCNR :Adrenaline Heights
STR_PARK :Adrenaline Heights
STR_DTLS :Build a park to appeal to the high-intensity thrill-seeking local people
<Utopia Park>
STR_SCNR :Utopia Park
STR_PARK :Utopia Park
STR_DTLS :An oasis in the middle of the desert provides an unusual opportunity to build an amusement park
<Rotting Heights>
STR_SCNR :Rotting Heights
STR_PARK :Rotting Heights
STR_DTLS :Overgrown and dilapidated, can you resurrect this once-great amusement park?
<Fiasco Forest>
STR_SCNR :Fiasco Forest
STR_PARK :Fiasco Forest
STR_DTLS :Full of badly designed and dangerous rides, you have a very limited budget and time to fix the problems and turn the park around
<Pickle Park>
STR_SCNR :Pickle Park
STR_PARK :Pickle Park
STR_DTLS :The local authority will not allow any kind of advertising or promotion, so this park must succeed by reputation only
<Giggle Downs>
STR_SCNR :Giggle Downs
STR_PARK :Giggle Downs
STR_DTLS :A four lane steeplechase ride is the centerpiece of this expanding park
<Mineral Park>
STR_SCNR :Mineral Park
STR_PARK :Mineral Park
STR_DTLS :Turn this abandoned stone quarry into a place to attract thrill-seeking tourists
<Coaster Crazy>
STR_SCNR :Coaster Crazy
STR_PARK :Coaster Crazy
STR_DTLS :You have limited funds but unlimited time to turn this mountainside area into a vast roller coaster park
<Urban Park>
STR_SCNR :Urban Park
STR_PARK :Urban Park
STR_DTLS :A tiny park has done a deal with the nearby town to allow expansion through the town itself
<Geoffrey Gardens>
STR_SCNR :Geoffrey Gardens
STR_PARK :Geoffrey Gardens
STR_DTLS :A large garden park needs turning into a thriving theme park
## Loopy Landscapes
<Iceberg Islands>
STR_SCNR :Iceberg Islands
STR_PARK :Iceberg Islands
STR_DTLS :A collection of icebergs make a cold setting for this ambitious theme park
<Volcania>
STR_SCNR :Volcania
STR_PARK :Volcania
STR_DTLS :A dormant volcano is the setting of this coaster-building challenge
<Arid Heights>
STR_SCNR :Arid Heights
STR_PARK :Arid Heights
STR_DTLS :Free of any financial limits, your challenge is to develop this desert park while keeping the guests happy
<Razor Rocks>
STR_SCNR :Razor Rocks
STR_PARK :Razor Rocks
STR_DTLS :Your task is to build a massive coaster-filled park in amongst Razor Rocks
<Crater Lake>
STR_SCNR :Crater Lake
STR_PARK :Crater Lake
STR_DTLS :A large lake in an ancient crater is the setting for this park
<Vertigo Views>
STR_SCNR :Vertigo Views
STR_PARK :Vertigo Views
STR_DTLS :This large park already has an excellent hyper-coaster, but your task is to massively increase its profit
<Paradise Pier 2>
STR_SCNR :Big Pier 2
STR_PARK :Big Pier 2
STR_DTLS :Big Pier has expanded its network of walkways over the sea, and your task is to expand the park to use the extra space
<Dragon's Cove>
STR_SCNR :Dragon's Cove
STR_PARK :Dragon's Cove
STR_DTLS :This sea-side cove is the setting for this coaster-building challenge
<Good Knight Park>
STR_SCNR :Good Knight Park
STR_PARK :Good Knight Park
STR_DTLS :A castle with a pair of roller coasters needs developing into a larger theme park
<Wacky Warren>
STR_SCNR :Wacky Warren
STR_PARK :Wacky Warren
STR_DTLS :A park which has much of its footpaths and coasters underground
<Grand Glacier>
STR_SCNR :Grand Glacier
STR_PARK :Grand Glacier
STR_DTLS :A glacier-filled valley is yours to develop into a theme park
<Crazy Craters>
STR_SCNR :Crazy Craters
STR_PARK :Crazy Craters
STR_DTLS :In a far-off world where money is not needed, you must build an entertainment centre to keep the people happy
<Dusty Desert>
STR_SCNR :Dusty Desert
STR_PARK :Dusty Desert
STR_DTLS :Five coasters require completion in this desert park
<Woodworm Park>
STR_SCNR :Woodworm Park
STR_PARK :Woodworm Park
STR_DTLS :This historical park is only allowed to build older-styled rides
<Icarus Park>
STR_SCNR :Icarus Park
STR_PARK :Icarus Park
STR_DTLS :Develop this alien park to maximize its profit
<Sunny Swamps>
STR_SCNR :Sunny Swamps
STR_PARK :Sunny Swamps
STR_DTLS :This well-themed amusement park already has several rides, but has plenty of space for expansion
<Frightmare Hills>
STR_SCNR :Frightmare Hills
STR_PARK :Frightmare Hills
STR_DTLS :A scary park with a giant centrepiece coaster
<Thunder Rocks>
STR_SCNR :Thunder Rocks
STR_PARK :Thunder Rocks
STR_DTLS :Two large hunks of rock stick out of the sand, upon which the beginnings of a theme park are constructed
<Octagon Park>
STR_SCNR :Octagon Park
STR_PARK :Octagon Park
STR_DTLS :In this large park you must design and build ten large coasters
<Pleasure Island>
STR_SCNR :Pleasure Island
STR_PARK :Pleasure Island
STR_DTLS :A long thin island makes a challenging setting to build a selection of coasters
<Icicle Worlds>
STR_SCNR :Icicle Worlds
STR_PARK :Icicle Worlds
STR_DTLS :An icy landscape needs turning into a thriving theme park
<Southern Sands>
STR_SCNR :Southern Sands
STR_PARK :Southern Sands
STR_DTLS :A desert park with some cleverly designed coasters is yours to expand
<Tiny Towers>
STR_SCNR :Tiny Towers
STR_PARK :Tiny Towers
STR_DTLS :In this tiny park you must finish building the five existing coasters
<Nevermore Park>
STR_SCNR :Nevermore Park
STR_PARK :Nevermore Park
STR_DTLS :A large park with a novel transporation system around its edge
<Pacifica>
STR_SCNR :Pacifica
STR_PARK :Pacifica
STR_DTLS :This large island is all yours to develop as an amusement park
<Urban Jungle>
STR_SCNR :Urban Jungle
STR_PARK :Urban Jungle
STR_DTLS :A giant abandoned skyscraper is a unique opportunity for a theme park developer
<Terror Town>
STR_SCNR :Terror Town
STR_PARK :Terror Town
STR_DTLS :This urban area is all yours to develop into an amusement park
<Megaworld Park>
STR_SCNR :Megaworld Park
STR_PARK :Megaworld Park
STR_DTLS :A giant park already packed full of rides needs improving
<Venus Ponds>
STR_SCNR :Venus Ponds
STR_PARK :Venus Ponds
STR_DTLS :On a far-away planet this area of land needs turning into a theme park
<Micro Park>
STR_SCNR :Micro Park
STR_PARK :Micro Park
STR_DTLS :Try to create the world's smallest profitable park
## Real Parks from RCT1
# None of them had details
<Alton Towers>
STR_SCNR :Alton Towers
STR_PARK :Alton Towers
STR_DTLS :
<Heide-Park>
STR_SCNR :Heide-Park
STR_PARK :Heide-Park
STR_DTLS :
<Blackpool Pleasure Beach>
STR_SCNR :Blackpool Pleasure Beach
STR_PARK :Blackpool Pleasure Beach
STR_DTLS :
## Misc parks from RCT1
# Had no details
<Fort Anachronism>
STR_SCNR :Fort Anachronism
STR_PARK :Fort Anachronism
STR_DTLS :
#########
# Rides #

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -848,7 +848,7 @@ STR_0843 :<not used anymore>
STR_0844 :<not used anymore>
STR_0845 :<not used anymore>
STR_0846 :<not used anymore>
STR_0847 :Infos zu `OpenRCT2'
STR_0847 :Über `OpenRCT2'
STR_0848 :RollerCoaster Tycoon 2
STR_0849 :{WINDOW_COLOUR_2}Version 2.01.032
STR_0850 :{WINDOW_COLOUR_2}Copyright {COPYRIGHT} 2002 Chris Sawyer, alle Rechte vorbehalten
@@ -1197,7 +1197,7 @@ STR_1192 :{OUTLINE}{RED}{STRINGID}
STR_1193 :{WINDOW_COLOUR_2}{STRINGID}
STR_1194 :Geschlossen
STR_1195 :Testlauf
STR_1196 :Offen
STR_1196 :Geöffnet
STR_1197 :Defekt
STR_1198 :Verunglückt!
STR_1199 :{COMMA16} Person auf Fahrt
@@ -1657,7 +1657,7 @@ STR_1652 :{SMALLFONT}{OPENQUOTES}Ich bin ja so aufgeregt - eine Bahn von Inta
STR_1653 :{SMALLFONT}{OPENQUOTES}...und hier sind wir bei d. {STRINGID}!{ENDQUOTES}
STR_1654 :{WINDOW_COLOUR_2}Aktuelle Gedanken:
STR_1655 :{SMALLFONT}{BLACK}Fußweg auf Gelände anlegen
STR_1656 :{SMALLFONT}{BLACK}Brücke bauen oder Tunnelfußweg anlegen
STR_1656 :{SMALLFONT}{BLACK}Brücke bauen oder Tunnel anlegen
STR_1657 :{WINDOW_COLOUR_2}Bevorzugte Bahn-
STR_1658 :{WINDOW_COLOUR_2}intensität: {BLACK}weniger als {COMMA16}
STR_1659 :{WINDOW_COLOUR_2}intensität: {BLACK}zwischen {COMMA16} und {COMMA16}
@@ -1713,8 +1713,8 @@ STR_1708 :{SMALLFONT}{BLACK}Patrouillenbereich für diesen{NEWLINE}Mitarbeite
STR_1709 :Mitarbeiter entlassen
STR_1710 :Ja
STR_1711 :{WINDOW_COLOUR_1}Möchten Sie {STRINGID} wirklich entlassen?
STR_1712 :{INLINE_SPRITE}{247}{19}{00}{00}{WINDOW_COLOUR_2}Fußwege kehren
STR_1713 :{INLINE_SPRITE}{248}{19}{00}{00}{WINDOW_COLOUR_2}Beete wässern
STR_1712 :{INLINE_SPRITE}{247}{19}{00}{00}{WINDOW_COLOUR_2}Fußwege fegen
STR_1713 :{INLINE_SPRITE}{248}{19}{00}{00}{WINDOW_COLOUR_2}Beete bewässern
STR_1714 :{INLINE_SPRITE}{249}{19}{00}{00}{WINDOW_COLOUR_2}Mülleimer leeren
STR_1715 :{INLINE_SPRITE}{250}{19}{00}{00}{WINDOW_COLOUR_2}Gras mähen
STR_1716 :Ungültiger Name für Park
@@ -1778,7 +1778,7 @@ STR_1773 :Nur ein Fahrtfoto-Bereich pro Bahn erlaubt
STR_1774 :Nur ein Kabellifthügel pro Bahn erlaubt
STR_1775 :Aus
STR_1776 :Ein
STR_1777 :{WINDOW_COLOUR_2}Musik
STR_1777 :{WINDOW_COLOUR_2}Attraktionsmusik
STR_1778 :{STRINGID} - -
STR_1779 :{INLINE_SPRITE}{254}{19}{00}{00} Pandakostüm
STR_1780 :{INLINE_SPRITE}{255}{19}{00}{00} Tigerkostüm
@@ -1793,7 +1793,7 @@ STR_1788 :{INLINE_SPRITE}{07}{20}{00}{00} Sheriffkostüm
STR_1789 :{INLINE_SPRITE}{08}{20}{00}{00} Piratenkostüm
STR_1790 :{SMALLFONT}{BLACK}Uniformfarbe für diesen{NEWLINE}Mitarbeiter auswählen
STR_1791 :{WINDOW_COLOUR_2}Uniformfarbe:
STR_1792 :Antwortet auf Störung von {STRINGID}
STR_1792 :Unterwegs zur Reparatur von {STRINGID}
STR_1793 :Unterwegs zur Inspektion von {STRINGID}
STR_1794 :Repariert {STRINGID}
STR_1795 :Beantwortet einen Funkspruch
@@ -1877,8 +1877,8 @@ STR_1872 :{COMMA16}
STR_1873 :{WINDOW_COLOUR_2}Einkünfte: {BLACK}{CURRENCY2DP} pro Stunde
STR_1874 :{WINDOW_COLOUR_2}Gewinn: {BLACK}{CURRENCY2DP} pro Stunde
STR_1875 :{BLACK} {SPRITE}{BLACK} {STRINGID}
STR_1876 :{WINDOW_COLOUR_2}{INLINE_SPRITE}{251}{19}{00}{00}Bahnen inspizieren
STR_1877 :{WINDOW_COLOUR_2}{INLINE_SPRITE}{252}{19}{00}{00}Bahnen reparieren
STR_1876 :{WINDOW_COLOUR_2}{INLINE_SPRITE}{251}{19}{00}{00}Attraktionen inspizieren
STR_1877 :{WINDOW_COLOUR_2}{INLINE_SPRITE}{252}{19}{00}{00}Attraktionen reparieren
STR_1878 :{WINDOW_COLOUR_2}Inspektion:
STR_1879 :Alle 10 Minuten
STR_1880 :Alle 20 Minuten
@@ -1887,7 +1887,7 @@ STR_1882 :Alle 45 Minuten
STR_1883 :Jede Stunde
STR_1884 :Alle 2 Stunden
STR_1885 :Nie
STR_1886 :Inspektion bei {STRINGID}
STR_1886 :Inspiziert {STRINGID}
STR_1887 :{WINDOW_COLOUR_2}Letzte Inspektion vor: {BLACK}{COMMA16} Minuten
STR_1888 :{WINDOW_COLOUR_2}Letzte Inspektion vor: {BLACK}mehr als 4 Stunden
STR_1889 :{WINDOW_COLOUR_2}Ausfallzeit: {MOVE_X}{255}{BLACK}{COMMA16}%
@@ -1939,8 +1939,8 @@ STR_1934 :{STRINGID} hat {STRINGID} verlassen
STR_1935 :{STRINGID} hat den Park verlassen
STR_1936 :{STRINGID} hat {STRINGID} gekauft
STR_1937 :{SMALLFONT}{BLACK}Informationen zum Thema dieser{NEWLINE}Nachricht anzeigen
STR_1938 :{SMALLFONT}{BLACK}Ansicht des Besuchers anzeigen
STR_1939 :{SMALLFONT}{BLACK}Ansicht des Mitarbeiters anzeigen
STR_1938 :{SMALLFONT}{BLACK}Ansicht des Besuchers
STR_1939 :{SMALLFONT}{BLACK}Ansicht des Mitarbeiters
STR_1940 :{SMALLFONT}{BLACK}Vergnügen, Energie, Hunger, usw.{NEWLINE}dieses Besuchers anzeigen
STR_1941 :{SMALLFONT}{BLACK}Gefahrene Bahnen dieses Besuchers anzeigen
STR_1942 :{SMALLFONT}{BLACK}Finanzinformationen zu diesem{NEWLINE}Besucher anzeigen
@@ -2225,8 +2225,8 @@ STR_2220 :{WINDOW_COLOUR_2}Parkbewertung: {BLACK}{COMMA16}
STR_2221 :{SMALLFONT}{BLACK}Parkbewertung: {COMMA16}
STR_2222 :{SMALLFONT}{BLACK}{STRINGID}
STR_2223 :{WINDOW_COLOUR_2}Besucher im Park: {BLACK}{COMMA16}
STR_2224 :{WINDOW_COLOUR_2}Geld: {BLACK}{CURRENCY2DP}
STR_2225 :{WINDOW_COLOUR_2}Geld: {RED}{CURRENCY2DP}
STR_2224 :{WINDOW_COLOUR_2}Kontostand: {BLACK}{CURRENCY2DP}
STR_2225 :{WINDOW_COLOUR_2}Kontostand: {RED}{CURRENCY2DP}
STR_2226 :{WINDOW_COLOUR_2}Verkehrswert: {BLACK}{CURRENCY}
STR_2227 :{WINDOW_COLOUR_2}Firmenwert: {BLACK}{CURRENCY}
STR_2228 :{WINDOW_COLOUR_2}Gewinne des letzten Monats aus Speisen/Getränke und {NEWLINE}-Werbeartikeln: {BLACK}{CURRENCY}
@@ -2351,17 +2351,17 @@ STR_2346 :Anzeigen
STR_2347 :{RED}{STRINGID} ist ertrunken!
STR_2348 :{SMALLFONT}{BLACK}Statistiken für diesen Mitarbeiter anzeigen
STR_2349 :{WINDOW_COLOUR_2}Lohn: {BLACK}{CURRENCY} pro Monat
STR_2350 :{WINDOW_COLOUR_2}Angestellt: {BLACK}{MONTHYEAR}
STR_2351 :{WINDOW_COLOUR_2}Gemähte Rasen: {BLACK}{COMMA16}
STR_2350 :{WINDOW_COLOUR_2}Angestellt seit: {BLACK}{MONTHYEAR}
STR_2351 :{WINDOW_COLOUR_2}Gemähte Rasenflächen: {BLACK}{COMMA16}
STR_2352 :{WINDOW_COLOUR_2}Bewässerte Beete: {BLACK}{COMMA16}
STR_2353 :{WINDOW_COLOUR_2}Beseitigter Abfall: {BLACK}{COMMA16}
STR_2353 :{WINDOW_COLOUR_2}Gefegte Fußwege: {BLACK}{COMMA16}
STR_2354 :{WINDOW_COLOUR_2}Geleerte Mülleimer: {BLACK}{COMMA16}
STR_2355 :{WINDOW_COLOUR_2}Reparierte Bahnen: {BLACK}{COMMA16}
STR_2356 :{WINDOW_COLOUR_2}Inspizierte Bahnen: {BLACK}{COMMA16}
STR_2355 :{WINDOW_COLOUR_2}Reparierte Attraktionen: {BLACK}{COMMA16}
STR_2356 :{WINDOW_COLOUR_2}Inspizierte Attraktionen: {BLACK}{COMMA16}
STR_2357 :Haus
STR_2358 :Einheiten
STR_2359 :Echte Werte
STR_2360 :{WINDOW_COLOUR_2}Bildschirmauflösung:
STR_2360 :Bildschirmauflösung:
STR_2361 :Landschaftsglättung
STR_2362 :{SMALLFONT}{BLACK}Kantenglättung des Landschaftsquadrats ein-/ausschalten
STR_2363 :Gitterlinien auf Landschaft
@@ -2453,17 +2453,17 @@ STR_2448 :{YELLOW}Ihre Marketingkampagne für einen halben Parkeintrittspreis
STR_2449 :{YELLOW}Ihre Marketingkampange für Gratis-{STRINGID} ist zu Ende
STR_2450 :{YELLOW}Ihre Werbekampagne für den Park ist zu Ende
STR_2451 :{YELLOW}Ihre Werbekampagne für d. {STRINGID} ist zu Ende
STR_2452 :{WINDOW_COLOUR_2}Geld (abzüglich Darlehen): {BLACK}{CURRENCY2DP}
STR_2453 :{WINDOW_COLOUR_2}Geld (abzüglich Darlehen): {RED}{CURRENCY2DP}
STR_2452 :{WINDOW_COLOUR_2}Kontostand (abzüglich Darlehen): {BLACK}{CURRENCY2DP}
STR_2453 :{WINDOW_COLOUR_2}Kontostand (abzüglich Darlehen): {RED}{CURRENCY2DP}
STR_2454 :{SMALLFONT}{BLACK}{CURRENCY2DP} -
STR_2455 :{SMALLFONT}{BLACK}+{CURRENCY2DP} -
STR_2456 :{SMALLFONT}{BLACK}{CURRENCY2DP} -
STR_2457 :{SMALLFONT}{BLACK}Finanzkonten anzeigen
STR_2458 :{SMALLFONT}{BLACK}Gelddiagramm (abzüglich Darlehen){NEWLINE}im Zeitverlauf anzeigen
STR_2458 :{SMALLFONT}{BLACK}Kontostand (abzüglich Darlehen){NEWLINE}im Zeitverlauf anzeigen
STR_2459 :{SMALLFONT}{BLACK}Verkehrswertdiagramm im{NEWLINE}Zeitverlauf anzeigen
STR_2460 :{SMALLFONT}{BLACK}Diagramm zu Wochengewinn anzeigen
STR_2460 :{SMALLFONT}{BLACK}Diagramm zum Wochengewinn anzeigen
STR_2461 :{SMALLFONT}{BLACK}Marketingkampagnen anzeigen
STR_2462 :{SMALLFONT}{BLACK}Ansicht von Parkeingang anzeigen
STR_2462 :{SMALLFONT}{BLACK}Ansicht des Parkeingangs
STR_2463 :{SMALLFONT}{BLACK}Parkbewertungsdiagramm{NEWLINE}im Zeitverlauf anzeigen
STR_2464 :{SMALLFONT}{BLACK}Besucherzahlendiagramm{NEWLINE}im Zeitverlauf anzeigen
STR_2465 :{SMALLFONT}{BLACK}Parkeintrittspreis und -informationen anzeigen
@@ -2684,7 +2684,7 @@ STR_2677 :???
STR_2678 :???
STR_2679 :???
STR_2680 :Alle Forschungen beendet
STR_2681 :{MEDIUMFONT}{BLACK}Erhöht Ihr Geld um {CURRENCY}
STR_2681 :{MEDIUMFONT}{BLACK}Erhöht Ihren Kontostand um {CURRENCY}
STR_2682 :{MEDIUMFONT}{BLACK}Zw. freiem und kostenpfl. Eintritt umsch.
STR_2683 :{MEDIUMFONT}{BLACK}Erhöht das Vergnügen der Besucher maximal
STR_2684 :{SMALLFONT}{BLACK}Eine große Gruppe von Besuchern tritt ein
@@ -2754,15 +2754,15 @@ STR_2747 :{ENDQUOTES}
STR_2748 :Leiste
STR_2749 :Mein neues Szenario
# New strings used in the cheats window previously these were ???
STR_2750 :Alle Gegenstände nach oben bewegen
STR_2751 :Alle Gegenstände nach unten bewegen
STR_2750 :Alle Objekte nach oben bewegen
STR_2751 :Alle Objekte nach unten bewegen
STR_2752 :Gras beseitigen
STR_2753 :Rasen mähen
STR_2754 :Pflanzen gießen
STR_2755 :Vandalismus bes.
STR_2756 :Müll beseitigen
STR_2757 :Schönes Wetter
STR_2758 :Gewitter
STR_2757 :<not used anymore>
STR_2758 :<not used anymore>
STR_2759 :Höhen auf Null
STR_2760 :+{CURRENCY}
STR_2761 :Bezahlen für Eintritt
@@ -2779,7 +2779,7 @@ STR_2771 :Zeit langsamer
STR_2772 :Zeit schneller
STR_2773 :Fenstermodus
STR_2774 :Vollbild
STR_2775 :Vollbild (Desktop)
STR_2775 :Vollbild (Randlos)
STR_2776 :Sprache:
STR_2777 :{MOVE_X}{SMALLFONT}{STRING}
STR_2778 :{RIGHTGUILLEMET}{MOVE_X}{SMALLFONT}{STRING}
@@ -2805,7 +2805,7 @@ STR_2796 :{SMALLFONT}{BLACK}Sortieren Sie die Bahnliste in die richtige Reihe
STR_2797 :Ansicht rollen, wenn Zeiger am Bildschirmrand ist
STR_2798 :{SMALLFONT}{BLACK}Wählen Sie aus, ob die Ansicht gerollt werden soll, wenn sich der Mauszeiger am Bildschirmrand befindet
STR_2799 :{SMALLFONT}{BLACK}Tastenkürzel anzeigen oder ändern
STR_2800 :{WINDOW_COLOUR_2}Besucher gesammt: {BLACK}{COMMA32}
STR_2800 :{WINDOW_COLOUR_2}Besucher gesamt: {BLACK}{COMMA32}
STR_2801 :{WINDOW_COLOUR_2}Einkünfte d. Eintrittskarten: {BLACK}{CURRENCY2DP}
STR_2802 :Karte
STR_2803 :{SMALLFONT}{BLACK}Diese Besucher auf Karte hervorheben
@@ -3233,7 +3233,7 @@ STR_3224 :{SMALLFONT}{BLACK}Legen Sie die Baurechte fest, die vom{NEWLINE}Par
STR_3225 :{SMALLFONT}{BLACK}Bau einer zufälligen Objektgruppe{NEWLINE}um ausgewählte Position herum ein-/ausschalten
STR_3226 :{SMALLFONT}{BLACK}Parkeingang bauen
STR_3227 :Zu viele Parkeingänge!
STR_3228 :{SMALLFONT}{BLACK}Legen Sie die Startpositionen{NEWLINE}für Personen fest
STR_3228 :{SMALLFONT}{BLACK}Legen Sie die Startpositionen{NEWLINE}der Besucher fest
STR_3229 :Blockbremsen können nicht unmittelbar nach der Station eingesetzt werden
STR_3230 :Blockbremsen können nicht unmittelbar hintereinander eingesetzt werden
STR_3231 :Blockbremsen können nicht unmittelbar nach der Anstiegsspitze eingesetzt werden
@@ -3245,32 +3245,32 @@ STR_3236 :{SMALLFONT}{BLACK}Besucheroptionen anzeigen
STR_3237 :{SMALLFONT}{BLACK}Parkoptionen anzeigen
STR_3238 :Kein Geld
STR_3239 :{SMALLFONT}{BLACK}Machen Sie diesen Park zu einem Park, bei dem keine finanziellen Einschränkungen gelten
STR_3240 :{WINDOW_COLOUR_2}Anfangsgeldstand:
STR_3241 :{WINDOW_COLOUR_2}Anfangsdarlehen:
STR_3242 :{WINDOW_COLOUR_2}Max. Darlehensgröße:
STR_3240 :{WINDOW_COLOUR_2}Kontostand zu Beginn:
STR_3241 :{WINDOW_COLOUR_2}Darlehen zu Beginn:
STR_3242 :{WINDOW_COLOUR_2}Maximales Darlehen:
STR_3243 :{WINDOW_COLOUR_2}Jährliche Zinsrate:
STR_3244 :Marketingkampagnen verbieten
STR_3245 :{SMALLFONT}{BLACK}Werbung, Werbeschemas und sonstige Marketingkampagnen verbieten
STR_3246 :{WINDOW_COLOUR_2}{CURRENCY}
STR_3247 :{WINDOW_COLOUR_2}{COMMA16}%
STR_3248 :Anfangsgeldstand kann nicht weiter erhöht werden!
STR_3249 :Anfangsgeldstand kann nicht weiter reduziert werden!
STR_3250 :Anfangsdarlehen kann nicht weiter erhöht werden!
STR_3251 :Anfangsdarlehen kann nicht weiter reduziert werden!
STR_3252 :Max. Darlehensgröße kann nicht weiter erhöht werden!
STR_3253 :Max. Darlehensgröße kann nicht weiter reduziert werden!
STR_3254 :Zinsrate kann nicht weiter erhöht werden!
STR_3255 :Zinsrate kann nicht weiter reduziert werden!
STR_3256 :Weniger aufregendere Bahnen bevorzugt
STR_3248 :Anfangskontostand kann nicht{NEWLINE}weiter erhöht werden!
STR_3249 :Anfangskontostand kann nicht{NEWLINE}weiter reduziert werden!
STR_3250 :Anfangsdarlehen kann nicht{NEWLINE}weiter erhöht werden!
STR_3251 :Anfangsdarlehen kann nicht{NEWLINE}weiter reduziert werden!
STR_3252 :Maximales Darlehen kann nicht{NEWLINE}weiter erhöht werden!
STR_3253 :Maximales Darlehen kann nicht{NEWLINE}weiter reduziert werden!
STR_3254 :Zinsrate kann nicht weiter{NEWLINE}erhöht werden!
STR_3255 :Zinsrate kann nicht weiter{NEWLINE}reduziert werden!
STR_3256 :Weniger aufregende Bahnen bevorzugt
STR_3257 :{SMALLFONT}{BLACK}Wählen Sie aus, ob die Besucher im Allgemeinen weniger aufregende{NEWLINE}Bahnen vorziehen
STR_3258 :Aufregendere Bahnen bevorzugt
STR_3259 :{SMALLFONT}{BLACK}Wählen Sie aus, ob die Besucher im Allgemeinen aufregendere{NEWLINE}Bahnen vorziehen
STR_3260 :{WINDOW_COLOUR_2}Durchschnittliches Geld pro Besucher:
STR_3261 :{WINDOW_COLOUR_2}Anfangsvergnügen der Besucher:
STR_3262 :{WINDOW_COLOUR_2}Anfangshunger der Besucher:
STR_3263 :{WINDOW_COLOUR_2}Anfangsdurst der Besucher:
STR_3264 :Dies kann nicht weiter erhöht werden!
STR_3265 :Dies kann nicht weiter reduziert werden!
STR_3261 :{WINDOW_COLOUR_2}Vergnügen der Besucher zu Beginn:
STR_3262 :{WINDOW_COLOUR_2}Hunger der Besucher zu Beginn:
STR_3263 :{WINDOW_COLOUR_2}Durst der Besucher zu Beginn:
STR_3264 :Dies kann nicht weiter{NEWLINE}erhöht werden!
STR_3265 :Dies kann nicht weiter{NEWLINE}reduziert werden!
STR_3266 :{SMALLFONT}{BLACK}Wählen Sie aus, was der Park für{NEWLINE}Eintritt und Fahrten verlangt
STR_3267 :Entfernen von Bäumen verbieten
STR_3268 :{SMALLFONT}{BLACK}Entfernen von hohen Bäumen verbieten
@@ -3278,9 +3278,9 @@ STR_3269 :Landschaftsänderungen verbieten
STR_3270 :{SMALLFONT}{BLACK}Jegliche Änderungen an der{NEWLINE}Landschaft verbieten
STR_3271 :Hohe Bauten verbieten
STR_3272 :{SMALLFONT}{BLACK}Jegliche hohe Bauten verbieten
STR_3273 :Höhere Schwierigkeitsstufe für Parkbewertung
STR_3273 :Höherer Schwierigkeitsgrad für Parkbewertung
STR_3274 :{SMALLFONT}{BLACK}Machen Sie die Parkbewertung schwieriger
STR_3275 :Höhere Schwierigkeitsstufe für Besuchergewinnung
STR_3275 :Höherer Schwierigkeitsgrad für Besuchergewinnung
STR_3276 :{SMALLFONT}{BLACK}Machen Sie das Anlocken von{NEWLINE}Besuchern schwieriger
STR_3277 :{WINDOW_COLOUR_2}Kosten für Landkauf:
STR_3278 :{WINDOW_COLOUR_2}Kosten für Erwerb v. Baurechten:
@@ -3319,7 +3319,7 @@ STR_3310 :{WINDOW_COLOUR_2}{LENGTH}
STR_3311 :{WINDOW_COLOUR_2}{COMMA2DP32}
STR_3312 :{WINDOW_COLOUR_2}Attraktionen unter Beibehaltungsauftrag:
STR_3313 :Szenarioname
STR_3314 :Namen für Szenario eingeben:
STR_3314 :Namen für dieses Szenario eingeben:
STR_3315 :Park-/Szenariodetails
STR_3316 :Beschreibung für dieses Szenario eingeben:
STR_3317 :Noch keine Details
@@ -3329,7 +3329,7 @@ STR_3320 :Szenariodatei kann nicht gespeichert werden...
STR_3321 :Neue Objekte erfolgreich installiert
STR_3322 :{WINDOW_COLOUR_2}Ziel: {BLACK}{STRINGID}
STR_3323 :Fehlende Objektdaten, ID:
STR_3324 :Erfordert Add-On-Pack:
STR_3324 :Erfordert Add-On-Pack: {STRINGID}
STR_3325 :Erfordert ein Add-On-Pack
STR_3326 :{WINDOW_COLOUR_2}(kein Bild)
STR_3327 :Startpositionen für Personen nicht eingestellt
@@ -3343,9 +3343,9 @@ STR_3334 :{SMALLFONT}{BLACK}Wählen Sie aus, ob zusätzliche Plugin-Objektdat
STR_3335 :Achterbahn-Designer - Bahnarten & Fahrzeuge auswählen
STR_3336 :Streckenentwurf-Manager - Bahnart auswählen
STR_3337 :Six Flags-Park
STR_3338 :{BLACK}Eigenes Layout
STR_3339 :{BLACK}{COMMA16} Entwurf verfügbar oder eigenes Layout
STR_3340 :{BLACK}{COMMA16} Entwürfe verfügbar oder eigenes Layout
STR_3338 :{BLACK}Eigenes Layout entwerfen
STR_3339 :{BLACK}{COMMA16} Entwurf verfügbar oder eigenes Layout entwerfen
STR_3340 :{BLACK}{COMMA16} Entwürfe verfügbar oder eigenes Layout entwerfen
STR_3341 :{SMALLFONT}{BLACK}Spielwerkzeuge
STR_3342 :Szenario-Editor
STR_3343 :Gespeichertes Spiel in Szenario umwandeln
@@ -3460,7 +3460,7 @@ STR_5123 :Bahnen erneuern
STR_5124 :Keine Six Flags
STR_5125 :Alles zerstörbar
STR_5126 :Zufällige Titelmusik
STR_5127 :{SMALLFONT}{BLACK}Höhenanpassung deaktivieren
STR_5127 :{SMALLFONT}{BLACK}Während dem Ziehen wird die Landschaft angemalt, ohne die Höhe zu verändern
STR_5128 :Auswahlgröße
STR_5129 :Auswahlgröße zwischen {COMMA16} und {COMMA16} eingeben:
STR_5130 :Kartengröße
@@ -3470,7 +3470,7 @@ STR_5133 :{SMALLFONT}{BLACK}Kleineren Landbereich anpassen
STR_5134 :{SMALLFONT}{BLACK}Größeren Landbereich anpassen
STR_5135 :{SMALLFONT}{BLACK}Kaufe Land- und Baurechte
STR_5136 :Landrechte
STR_5137 :Erlaube Lifthügel- und Antriebsgeschw.{NEWLINE}bis zu {VELOCITY}
STR_5137 :Betriebsbeschränkungen aufheben
STR_5138 :{SMALLFONT}{WINDOW_COLOUR_2}{STRINGID}
STR_5139 :{WHITE}{STRINGID}
STR_5140 :Deaktiviere Bremsenfehlfunktion
@@ -3510,7 +3510,7 @@ STR_5173 :Erhalte Twitch-Chat als Spielnachrichten
STR_5174 :{SMALLFONT}{BLACK}Benutzt Twitch-Chatnachrichten, welchen !news vorangestellt ist, für Spielbenachrichtigungen
STR_5175 :Namen Ihres Twitch-Kanals eingeben:
STR_5176 :Twitch-Integration aktivieren
STR_5177 :Vollbildmodus:
STR_5177 :Bildschirmmodus:
STR_5178 :{SMALLFONT}{BLACK}Cheats für Finanzen anzeigen
STR_5179 :{SMALLFONT}{BLACK}Cheats für Parkbesucher anzeigen
STR_5180 :{SMALLFONT}{BLACK}Cheats für Park anzeigen
@@ -3672,8 +3672,8 @@ STR_5335 :Attraktionseingang
STR_5336 :Attraktionsausgang
STR_5337 :Parkeingang
STR_5338 :Elementtyp
STR_5339 :Basishöhe
STR_5340 :Lichte Höhe
STR_5339 :{SMALLFONT}{BLACK}Basishöhe
STR_5340 :{SMALLFONT}{BLACK}Lichte Höhe
STR_5341 :Kennzeichen
STR_5342 :Eine Kachel auf der Karte auswählen
STR_5343 :Personal automatisch platzieren
@@ -3889,7 +3889,7 @@ STR_5552 :{POP16}{POP16}Jahr {COMMA16}, {PUSH16}{PUSH16}{PUSH16}{STRINGID} {M
STR_5553 :Spiel bei geöffnetem Steam Overlay pausieren
STR_5554 :{SMALLFONT}{BLACK}Gebirgswerkzeug aktivieren
STR_5555 :Fahrzeuge anderer Streckentyp. anzeigen
STR_5556 :Spieler entfernen
STR_5556 :{SMALLFONT}{BLACK}Spieler entfernen
STR_5557 :Nach Desync. verbunden bleiben (Mehrspieler)
STR_5558 :Damit diese Einstellung wirksam wird, ist ein Neustart erforderlich
STR_5559 :10 Min. Inspektionen
@@ -3898,7 +3898,7 @@ STR_5561 :Sprache konnte nicht geladen werden
STR_5562 :WARNUNG!
STR_5563 :Diese Funktion ist derzeit instabil und mit erhöhter Vorsicht zu verwenden.
STR_5564 :Fehlerhaftes Element einf.
STR_5565 :{SMALLFONT}{BLACK}Fügt ein fehlerhaftes Kartenelement auf der Kachel ein, dadurch werden alle Elemente darüber versteckt.
STR_5565 :{SMALLFONT}{BLACK}Fügt ein fehlerhaftes Kartenelement auf{NEWLINE}der Kachel ein, dadurch werden alle Elemente darüber versteckt.
STR_5566 :Passwort:
STR_5567 :Veröffentlichen
STR_5568 :Passwort benötigt
@@ -3914,6 +3914,633 @@ STR_5577 :Südkoreanischer Won (W)
STR_5578 :Russischer Rubel (R)
STR_5579 :Skalierungsfaktor:
STR_5580 :Tschechische Krone (Kc)
STR_5581 :FPS anzeigen
STR_5582 :Mauszeiger im Fenster fangen
STR_5583 :{COMMA1DP16}ms{POWERNEGATIVEONE}
STR_5584 :SI
STR_5585 :{SMALLFONT}{BLACK}Hebt Beschränkungen von Attraktionen auf, um Dinge wie {VELOCITY} schnelle Lifthügel zu erlauben
STR_5586 :Läden und Stände automatisch öffnen
STR_5587 :{SMALLFONT}{BLACK}Wenn aktiviert, werden Läden und Stände nach dem Bauen automatisch geöffnet
STR_5588 :{SMALLFONT}{BLACK}Mit anderen Spielern spielen
STR_5589 :Benachrichtigungseinstellungen
STR_5590 :Parkauszeichnungen
STR_5591 :Marketingkampage wurde beendet
STR_5592 :Parkwarnungen
STR_5593 :Parkbewertungswarnungen
STR_5594 :Attraktion ist ausgefallen
STR_5595 :Attraktion ist verunglückt
STR_5596 :Attraktionswarnungen
STR_5597 :Attraktion / Szenerie erforscht
STR_5598 :Besucherwarnungen
STR_5599 :Besucher hat sich verirrt
STR_5600 :Besucher hat den Park verlassen
STR_5601 :Besucher steht für eine Attraktion schlange
STR_5602 :Besucher ist auf einer Attraktion
STR_5603 :Besucher hat eine Attraktion verlassen
STR_5604 :Besucher hat einen Gegenstand gekauft
STR_5605 :Besucher hat eine Einrichtung benutzt
STR_5606 :Besucher ist gestorben
STR_5607 :{SMALLFONT}{BLACK}Erzwingt das Löschen des{NEWLINE}ausgewählten Elements
STR_5608 :BH
STR_5609 :LH
STR_5610 :{SMALLFONT}{BLACK}Entfernt das ausgewählte Kartenelement. Das Löschen wird erzwungen und dadurch kein Geld verwendet/gutgeschrieben. Mit Vorsicht zu verwenden.
STR_5611 :G
STR_5612 :{SMALLFONT}{BLACK}Flag für Ghost-Element
STR_5613 :D
STR_5614 :{SMALLFONT}{BLACK}Flag für defektes Element
STR_5615 :L
STR_5616 :{SMALLFONT}{BLACK}Flag für letztes Element der Kachel
STR_5617 :{SMALLFONT}{BLACK}Ausgewähltes Element nach oben bewegen
STR_5618 :{SMALLFONT}{BLACK}Ausgewähltes Element nach unten bewegen
STR_5619 :RollerCoaster Tycoon
STR_5620 :Added Attractions
STR_5621 :Loopy Landscapes
STR_5622 :RollerCoaster Tycoon 2
STR_5623 :Wacky Worlds
STR_5624 :Time Twister
STR_5625 :{OPENQUOTES}Reale{ENDQUOTES} Parks
STR_5626 :Sonstige Parks
STR_5627 :Szenarioliste ordnen nach:
STR_5628 :Spielherkunft
STR_5629 :Schwierigkeitsgrad
STR_5630 :Freispielen der Szenarios aktivieren
STR_5631 :Originale DLC Parks
STR_5632 :Bauen Sie Ihren eigenen...
STR_5633 :CMD +
STR_5634 :OPTION +
STR_5635 :{WINDOW_COLOUR_2}Geld ausgegeben: {BLACK}{CURRENCY2DP}
STR_5636 :{WINDOW_COLOUR_2}Befehle ausgeführt: {BLACK}{COMMA16}
STR_5637 :Nicht möglich...
STR_5638 :Keine Berechtigung
STR_5639 :{SMALLFONT}{BLACK}Spielerliste anzeigen
STR_5640 :{SMALLFONT}{BLACK}Gruppen verwalten
STR_5641 :Standardgruppe:
STR_5642 :Gruppe:
STR_5643 :Gruppe hinzuf.
STR_5644 :Gruppe entf.
STR_5645 :Chat
STR_5646 :Landschaft anpassen
STR_5647 :Spiel pausieren/fortsetzen
STR_5648 :Wasserniveau festlegen
STR_5649 :Attraktion entwerfen
STR_5650 :Attraktion abreißen
STR_5651 :Attraktion bauen
STR_5652 :Attraktionseigenschaften
STR_5653 :Szenerie
STR_5654 :Fußwege
STR_5655 :Besucher
STR_5656 :Mitarbeiter
STR_5657 :Parkeigenschaften
STR_5658 :Parkfinanzierung
STR_5659 :Spieler entfernen
STR_5660 :Gruppen anpassen
STR_5661 :Spielergruppe festlegen
STR_5662 :N/A
STR_5663 :Landschaft leeren
STR_5664 :Cheats
STR_5665 :Bau Szenerie-Objektgruppe ein-/ausschalten
STR_5701 :{WINDOW_COLOUR_2}Letzte Aktion: {BLACK}{STRINGID}
STR_5702 :{SMALLFONT}{BLACK}Lokalisiert die letzte Aktion des Spielers
STR_5703 :Host kann nicht entfernt werden
STR_5704 :Letzte Aktion:
STR_5705 :Diese Gruppe kann nicht{NEWLINE}eingestellt werden
STR_5706 :Diese Gruppe kann nicht entfernt werden, solange ihr Spieler angehören
STR_5707 :Diese Gruppe kann nicht{NEWLINE}angepasst werden
STR_5708 :Die Gruppe des Hosts kann{NEWLINE}nicht geändert werden
STR_5709 :Gruppe umbenen.
STR_5710 :Gruppenname
STR_5711 :Neuen Namen für diese Gruppe eingeben:
STR_5712 :Berechtigung kann nicht bearbeitet werden, da Sie diese selbst nicht besitzen
STR_5713 :Spieler entfernen
STR_5714 :Optionen anzeigen
STR_5715 :Neues Spiel
STR_5716 :Im Mehrspielermodus nicht erlaubt
STR_5717 :Netzwerkversion: {STRING}
STR_5718 :{SMALLFONT}{BLACK}Netzwerkversion: {STRING}
STR_5719 :Sonnig
STR_5720 :Teilweise bewölkt
STR_5721 :Bewölkt
STR_5722 :Regen
STR_5723 :Starker Regen
STR_5724 :Gewitter
STR_5725 :{BLACK}Wetter erzwingen:
STR_5726 :{SMALLFONT}{BLACK}Stellt das aktuelle Wetter im Park ein
STR_5727 :Skalierungsmethode:
STR_5728 :Setzt Anzeige durch Hardware voraus
STR_5729 :{SMALLFONT}{BLACK}Setzt Anzeige durch Hardware voraus
STR_5730 :Pixelwiederholung
STR_5731 :Linear
STR_5732 :Anisotrop
STR_5733 :Pixelwdh. bei ganzzahligem Skalierungsfaktor
STR_5734 :{SMALLFONT}{BLACK}Darstellung
STR_5735 :Netzwerkstatus
STR_5736 :Spieler
STR_5737 :Geschlossen, noch {COMMA16} Person auf Fahrt
STR_5738 :Geschlossen, noch {COMMA16} Personen auf Fahrt
STR_5739 :{WINDOW_COLOUR_2}Besucher auf Fahrt: {BLACK}{COMMA16}
STR_5740 :Dauerhafte Marketingkampagnen
STR_5741 :{SMALLFONT}{BLACK}Marketingkampagnen sind dauerhaft
STR_5742 :Authentifizieren ...
STR_5743 :Verbinden ...
STR_5744 :Auflösen ...
STR_5745 :Netzwerkdesynchronisation entdeckt
STR_5746 :Getrennt
STR_5747 :Getrennt: {STRING}
STR_5748 :Gekickt
STR_5749 :Verschwinde vom Server!
STR_5750 :Verbindung geschlossen
STR_5751 :Keine Daten
STR_5752 :{OUTLINE}{RED}{STRING} hat das Spiel verlassen
STR_5753 :{OUTLINE}{RED}{STRING} hat das Spiel verlassen ({STRING})
STR_5754 :Unzulässiger Spielername
STR_5755 :Inkompatible Softwareversion
STR_5756 :Falsches Passwort
STR_5757 :Server voll
STR_5758 :{OUTLINE}{GREEN}{STRING} hat das Spiel betreten
STR_5759 :Karte herunterladen ... ({INT32} / {INT32})
STR_5760 :Hongkong-Dollar (HK$)
STR_5761 :Neuer Taiwan-Dollar (NT$)
STR_5762 :Chinesischer Yuan (CN{YEN})
STR_5763 :Alle Dateien
STR_5764 :Ungültiger Bahntyp
STR_5765 :Kann Bahnen eines ungültigen Typs nicht bearbeiten
STR_5766 :<available string id>
STR_5767 :Einkünfte
STR_5768 :Besucher gesamt
STR_5769 :Gesamtgewinn
STR_5770 :Besucher pro Stunde
STR_5771 :Betriebskosten
STR_5772 :Alter
STR_5773 :Besucher gesamt: {COMMA32}
STR_5774 :Gesamtgewinn: {CURRENCY2DP}
STR_5775 :Besucher: {COMMA32} pro Stunde
STR_5776 :Erbaut: Dieses Jahr
STR_5777 :Erbaut: Letztes Jahr
STR_5778 :Erbaut: Vor {COMMA16} Jahren
STR_5779 :Einkünfte: {CURRENCY2DP} pro Stunde
STR_5780 :Betriebskosten: {CURRENCY2DP} pro Stunde
STR_5781 :Betriebskosten: Unbekannt
STR_5782 :Sie sind jetzt verbunden. Drücken Sie '{STRING}' um zu chatten.
STR_5783 :{WINDOW_COLOUR_2}Szenario gesperrt
STR_5784 :{BLACK}Vorhergehende Szenarios abschließen, um dieses Szenario freizuschalten.
STR_5785 :Gruppe kann nicht umbenannt werden...
STR_5786 :Ungültiger Gruppenname
STR_5787 :{COMMA32} Spieler online
STR_5788 :Standardinspektionszeit:
STR_5789 :Blitzeffekt deaktivieren
STR_5790 :{SMALLFONT}{BLACK}(De-)Aktiviert die RCT1-Preisgestaltung{NEWLINE}(z.B. Fahrtpreis und Parkeintrittspreis festlegen)
STR_5791 :{SMALLFONT}{BLACK}Setzt die Zuverlässigkeit aller Attraktionen auf 100% und setzt ihr Baujahr auf "Dieses Jahr" zurück
STR_5792 :{SMALLFONT}{BLACK}Repariert alle defekten Attraktionen
STR_5793 :{SMALLFONT}{BLACK}Setzt die Unfallhistorie zurück, sodass sich Besucher nicht länger über unsichere Attraktionen beschweren
STR_5794 :{SMALLFONT}{BLACK}Einige Szenarien verbieten das Bearbeiten einiger bereits gebauten Attraktionen. Dieser Cheat hebt diese{NEWLINE}Beschränkung auf
STR_5795 :{SMALLFONT}{BLACK}Besucher fahren mit jeder Attraktion, auch wenn die Intensität extrem hoch ist
STR_5796 :{SMALLFONT}{BLACK}Zwingt den Park zu schließen/öffnen
STR_5797 :{SMALLFONT}{BLACK}Deaktiviert Wetterveränderungen und{NEWLINE}friert das ausgewählte Wetter ein
STR_5798 :{SMALLFONT}{BLACK}Erlaubt das Bauen im Pausenmodus
STR_5799 :{SMALLFONT}{BLACK}Verhindert einen Defekt oder Unfall, einer Attraktion, durch fehlerhafte Bremsen
STR_5800 :{SMALLFONT}{BLACK}Verhindert, dass Attraktionen ausfallen
#############
# Scenarios #
################
# RCT Original #
################
<Forest Frontiers>
STR_SCNR :Forest Frontiers
STR_PARK :Forest Frontiers
STR_DTLS :Bauen Sie tief im Wald auf einem großen freigelegten Gelände einen erfolgreichen Freizeitpark.
<Dynamite Dunes>
STR_SCNR :Dynamite Dunes
STR_PARK :Dynamite Dunes
STR_DTLS :Dieser Freizeitpark inmitten der Wüste besitzt nur eine Achterbahn, hat aber genug Platz für Erweiterungen.
<Leafy Lake>
STR_SCNR :Leafy Lake
STR_PARK :Leafy Lake
STR_DTLS :Fangen Sie bei Null an und bauen Sie einen Freizeitpark um einen großen See herum.
<Diamond Heights>
STR_SCNR :Diamond Heights
STR_PARK :Diamond Heights
STR_DTLS :Diamond Heights ist bereits ein erfolgreicher Freizeitpark mit tollen Attraktionen. Entwickeln Sie ihn weiter und verdoppeln Sie seinen Verkehrswert.
<Evergreen Gardens>
STR_SCNR :Evergreen Gardens
STR_PARK :Evergreen Gardens
STR_DTLS :Wandeln Sie die schönen Evergreen Gardens in einen gut besuchten Freizeitpark um.
<Bumbly Beach>
STR_SCNR :Bumbly Beach
STR_PARK :Bumbly Beach
STR_DTLS :Machen Sie aus dem kleinen Vergnügungspark Bumbly Beach einen florierenden Freizeitpark.
<Trinity Islands>
STR_SCNR :Trinity Islands
STR_PARK :Trinity Islands
STR_DTLS :Mehrere Inseln bilden den Ausgangspunkt für diesen neuen Park.
<Katie's Dreamland>
STR_SCNR :Katie's Dreamland
STR_PARK :Katie's Dreamland
STR_DTLS :Ein kleiner Freizeitpark mit wenigen Attraktionen, aber genug Gelände zur Erweiterung. Ihr Ziel ist es, den Verkehrswert des Parks zu verdoppeln.
<Pokey Park>
STR_SCNR :Pokey Park
STR_PARK :Pokey Park
STR_DTLS :Ein kleiner, eng zusammengedrängter Vergnügungspark, bei dem eine Erweiterung in großem Ausmaß erforderlich ist.
<White Water Park>
STR_SCNR :White Water Park
STR_PARK :White Water Park
STR_DTLS :Dieser Park mit verschiedenen hervorragenden Wasser-Attraktionen hat einen Ausbau nötig.
<Millennium Mines>
STR_SCNR :Millennium Mines
STR_PARK :Millennium Mines
STR_DTLS :Machen Sie einen Freizeitpark aus dieser weitläufigen, verlassenen Mine, die zur Zeit nur von Touristen besichtigt wird.
<Karts & Coasters>
STR_SCNR :Karts & Coasters
STR_PARK :Karts & Coasters
STR_DTLS :Ein großer Park, versteckt im Wald gelegen, der nur Gokartbahnen und Holzachterbahnen aufzuweisen hat.
<Mel's World>
STR_SCNR :Mel's World
STR_PARK :Mel's World
STR_DTLS :Dieser Freizeitpark verfügt über ein paar ausgezeichnete moderne Attraktionen und jede Menge Platz für Erweiterungen.
<Mystic Mountain>
STR_SCNR :Mystic Mountain
STR_PARK :Mystic Mountain
STR_DTLS :Bauen Sie in den bergigen Wäldern der Mystic Mountains einen neuen Freizeitpark.
<Pacific Pyramids>
STR_SCNR :Pacific Pyramids
STR_PARK :Pacific Pyramids
STR_DTLS :Verwandeln Sie die Touristenattraktion mit ägyptischen Ruinen in einen erfolgreichen Freizeitpark.
<Crumbly Woods>
STR_SCNR :Crumbly Woods
STR_PARK :Crumbly Woods
STR_DTLS :Ein großer Park mit guten, aber ziemlich alten Attraktionen. Ersetzen Sie die alten Attraktionen oder fügen Sie neue hinzu, damit der Park mehr Leute anzieht.
<Paradise Pier>
STR_SCNR :Paradise Pier
STR_PARK :Paradise Pier
STR_DTLS :Verwandeln Sie die Anlegestelle dieser verschlafenen Stadt in einen wohlbekannten und gutgehenden Anziehungspunkt.
<Lightning Peaks>
STR_SCNR :Lightning Peaks
STR_PARK :Lightning Peaks
STR_DTLS :Die herrlichen Berge von Lightning Peaks sind beliebt bei Wanderern und Leuten, die gern interessante Orte besichtigen. Nutzen Sie das zur Verfügung stehende Gelände, um jene Besucher anzulocken, die auf der Suche nach einem aufregenden Kick sind.
<Ivory Towers>
STR_SCNR :Ivory Towers
STR_PARK :Ivory Towers
STR_DTLS :Ein gut geführter Park, der jedoch ein paar Probleme hat.
<Rainbow Valley>
STR_SCNR :Rainbow Valley
STR_PARK :Rainbow Valley
STR_DTLS :Die örtlichen Behörden von Rainbow Valley werden landschaftliche Veränderungen oder größere Baumrodungen nicht erlauben, aber Sie sollen in dem Gebiet einen großen Freizeitpark entstehen lassen.
<Thunder Rock>
STR_SCNR :Thunder Rock
STR_PARK :Thunder Rock
STR_DTLS :Thunder Rock befindet sich mitten in einer Wüste und zieht viele Touristen an. Bauen Sie auf dem verfügbaren Platz Attraktionen, die noch mehr Leute herlocken.
<Mega Park>
STR_SCNR :Mega Park
STR_PARK :Mega Park
STR_DTLS :Nur zum Spaß!
## Added Attractions
<Whispering Cliffs>
STR_SCNR :Whispering Cliffs
STR_PARK :Whispering Cliffs
STR_DTLS :Lassen Sie in diesen Klippen am Meer einen florierenden Vergnügungspark entstehen.
<Three Monkeys Park>
STR_SCNR :Three Monkeys Park
STR_PARK :Three Monkeys Park
STR_DTLS :Mitten in diesem großen, aufstrebenden Park steht eine riesige Dreispur-Achterbahn, in der die Fahrt wie ein Kopf-an-Kopf-Rennen abläuft.
<Canary Mines>
STR_SCNR :Canary Mines
STR_PARK :Canary Mines
STR_DTLS :Dieses verlassene Bergwerk bietet mit der Miniatureisenbahn und den Sturzachterbahnen bereits gute Voraussetzungen, eine Touristenattraktion zu werden.
<Barony Bridge>
STR_SCNR :Barony Bridge
STR_PARK :Barony Bridge
STR_DTLS :Wandeln Sie eine alte, nicht mehr benutzte Brücke in einen attraktiven Park um.
<Funtopia>
STR_SCNR :Funtopia
STR_PARK :Funtopia
STR_DTLS :In diesem Park zu beiden Seiten einer Autobahn sind bereits verschiedene Attraktionen in Betrieb.
<Haunted Harbor>
STR_SCNR :Haunted Harbor
STR_PARK :Haunted Harbor
STR_DTLS :Die örtlichen Behörden haben zugestimmt, dem kleinen Park an der Küste umliegendes Gelände günstig zu verkaufen, unter der Bedingung, dass bestimmte Attraktionen erhalten werden.
<Fun Fortress>
STR_SCNR :Fun Fortress
STR_PARK :Fun Fortress
STR_DTLS :Sie können Ihrer Fantasie freien Lauf lassen, damit ein Themenpark aus diesem Schloss entsteht.
<Future World>
STR_SCNR :Future World
STR_PARK :Future World
STR_DTLS :Dieser futuristische Park bietet auf seinem fremdartigen Gelände viel Platz für neue Attraktionen.
<Gentle Glen>
STR_SCNR :Gentle Glen
STR_PARK :Gentle Glen
STR_DTLS :Die Bevölkerung in der Umgebung bevorzugt gemäßigte Attraktionen, auf denen man sich erholen kann. Ihre Aufgabe ist es, diesen Ansprüchen gerecht zu werden.
<Jolly Jungle>
STR_SCNR :Jolly Jungle
STR_PARK :Jolly Jungle
STR_DTLS :Ein riesiges Gelände tief im Dschungel wartet darauf, von Ihnen in einen Themenpark umgewandelt zu werden.
<Hydro Hills>
STR_SCNR :Hydro Hills
STR_PARK :Hydro Hills
STR_DTLS :Eine Reihe terrassenförmig angeordneter Seen sind der Ausgangsort für den neuen Park.
<Sprightly Park>
STR_SCNR :Sprightly Park
STR_PARK :Sprightly Park
STR_DTLS :Dieser ältere Park besitzt viele historisch interessante Attraktionen, ist aber hoch verschuldet.
<Magic Quarters>
STR_SCNR :Magic Quarters
STR_PARK :Magic Quarters
STR_DTLS :Ein großes Gelände wurde freigeräumt und teilweise thematisch gestaltet. Sie sollen daraus einen interessante Themenlandschaft machen.
<Fruit Farm>
STR_SCNR :Fruit Farm
STR_PARK :Fruit Farm
STR_DTLS :Eine gutgehende Obstplantage hat eine Miniatureisenbahn bauen lassen, um die Einnahmen zu steigern. Entwickeln Sie jetzt daraus einen Vergnügungspark mit allem Drum und Dran.
<Butterfly Dam>
STR_SCNR :Butterfly Dam
STR_PARK :Butterfly Dam
STR_DTLS :Das Gebiet rings um einen Damm steht Ihnen zur Verfügung, damit daraus ein Vergnügungspark entsteht.
<Coaster Canyon>
STR_SCNR :Coaster Canyon
STR_PARK :Coaster Canyon
STR_DTLS :Ein weitläufiger Canyon steht Ihnen zur Verfügung, um in einen Themenpark verwandelt zu werden.
<Thunderstorm Park>
STR_SCNR :Thunderstorm Park
STR_PARK :Thunderstorm Park
STR_DTLS :Das Wetter in dieser Gegend ist so feucht, dass bereits eine riesengroße Pyramide gebaut wurde, damit wenigstens einige Attraktionen überdacht sind.
<Harmonic Hills>
STR_SCNR :Harmonic Hills
STR_PARK :Harmonic Hills
STR_DTLS :Die Baubehörde dieser Gegend erlaubt in diesem Park keine Konstruktionen über Baumhöhe.
<Roman Village>
STR_SCNR :Roman Village
STR_PARK :Roman Village
STR_DTLS :Entwickeln Sie diesen römisch gestalteten Park weiter, indem Sie Achterbahnen und andere Attraktionen hinzufügen.
<Swamp Cove>
STR_SCNR :Swamp Cove
STR_PARK :Swamp Cove
STR_DTLS :Dieser Park, der sich über eine Reihe kleiner Inseln erstreckt, besitzt ein Paar einer großen Achterbahn als Hauptattraktion.
<Adrenaline Heights>
STR_SCNR :Adrenaline Heights
STR_PARK :Adrenaline Heights
STR_DTLS :Bauen Sie einen Park für die Menschen dieser Gegend, die hohe Intensität und Nervenkitzel bevorzugen.
<Utopia Park>
STR_SCNR :Utopia Park
STR_PARK :Utopia Park
STR_DTLS :Eine Oase inmitten der Wüste ist sicher eine ungewöhnliche Herausforderung für Planer eines Vergnügungsparks.
<Rotting Heights>
STR_SCNR :Rotting Heights
STR_PARK :Rotting Heights
STR_DTLS :Überwuchert und verfallen. Können Sie diesen einst großartigen Vergnügungspark wieder zum Leben erwecken?
<Fiasco Forest>
STR_SCNR :Fiasco Forest
STR_PARK :Fiasco Forest
STR_DTLS :Hier gibt es fast nur gefährliche und schlecht geplante Attraktionen. Sie haben nur sehr begrenzte finanzielle Mittel und wenig Zeit, die Probleme zu beheben und den Park umzukrempeln.
<Pickle Park>
STR_SCNR :Pickle Park
STR_PARK :Pickle Park
STR_DTLS :Die strengen örtlichen Ämter erlauben keinerlei Werbung oder Propaganda. Dieser Park kann also nur durch seinen Ruf zum Erfolg gelangen.
<Giggle Downs>
STR_SCNR :Giggle Downs
STR_PARK :Giggle Downs
STR_DTLS :Eine vierspurige Bahn mit Renncharakter ist das Herzstück dieses aufstrebenden Parks.
<Mineral Park>
STR_SCNR :Mineral Park
STR_PARK :Mineral Park
STR_DTLS :Verwandeln Sie diesen verlassenen Steinbruch in einen Ort, der Touristen anzieht, die den besonderen Kick suchen.
<Coaster Crazy>
STR_SCNR :Coaster Crazy
STR_PARK :Coaster Crazy
STR_DTLS :Sie haben nur begrenzt Geld, aber jede Menge Zeit, aus diesem Berggelände einen riesigen Achterbahn-Park zu machen.
<Urban Park>
STR_SCNR :Urban Park
STR_PARK :Urban Park
STR_DTLS :Ein winzig kleiner Park hat mit der nahe gelegenen Stadt vereinbart, dass er sich durch die Stadt hindurch ausbreiten darf.
<Geoffrey Gardens>
STR_SCNR :Geoffrey Gardens
STR_PARK :Geoffrey Gardens
STR_DTLS :Eine große gepflegte Parkanlage soll in einen erfolgreichen Themenpark umgestaltet werden.
## Loopy Landscapes
<Iceberg Islands>
STR_SCNR :Iceberg Islands
STR_PARK :Iceberg Islands
STR_DTLS :Eine Anzahl Eisberge bilden die kalte Umgebung dieses anspruchsvollen Parkprojekts.
<Volcania>
STR_SCNR :Volcania
STR_PARK :Volcania
STR_DTLS :Ein untätiger Vulkan fordert geradezu heraus, an ihm eine Achterbahnanlage zu bauen.
<Arid Heights>
STR_SCNR :Arid Heights
STR_PARK :Arid Heights
STR_DTLS :Ohne jegliche finanzielle Einschränkungen sollen Sie diesen Wüstenpark ausbauen und dabei die Besucher bei Laune halten.
<Razor Rocks>
STR_SCNR :Razor Rocks
STR_PARK :Razor Rocks
STR_DTLS :Ihre Aufgabe ist es, zwischen den zerklüfteten Felsen einen Park mit dicht gedrängten Achterbahnen zu bauen.
<Crater Lake>
STR_SCNR :Crater Lake
STR_PARK :Crater Lake
STR_DTLS :Ein großer See in einem alten Krater ist Ausgangspunkt für diesen Park.
<Vertigo Views>
STR_SCNR :Vertigo Views
STR_PARK :Vertigo Views
STR_DTLS :Dieser große Park besitzt bereits eine ausgezeichnete Hyper-Achterbahn, aber Ihre Aufgabe ist es, die Erträge beträchtlich zu steigern.
<Paradise Pier 2>
STR_SCNR :Paradise Pier 2
STR_PARK :Paradise Pier 2
STR_DTLS :Paradise Pier hat sein Netz von Spazierwegen über dem Meer erweitert. Sie sollen den Park erweitern, indem Sie den neu gewonnenen Platz nutzen.
<Dragon's Cove>
STR_SCNR :Dragon's Cove
STR_PARK :Dragon's Cove
STR_DTLS :Eine Meeresbucht ist der Rahmen für dieses anspruchsvolle Achterbahn-Bauvorhaben.
<Good Knight Park>
STR_SCNR :Good Knight Park
STR_PARK :Good Knight Park
STR_DTLS :Ein Schloss mit ein paar Achterbahnen soll zu einem großen Vergnügungspark entwickelt werden.
<Wacky Warren>
STR_SCNR :Wacky Warren
STR_PARK :Wacky Warren
STR_DTLS :Ein Park, dessen Gehwege und Achterbahnen größtenteils unterirdisch angelegt sind.
<Grand Glacier>
STR_SCNR :Grand Glacier
STR_PARK :Grand Glacier
STR_DTLS :Es steht Ihnen ein Gletschertal zur Verfügung, das in einen Vergnügungspark zu verwandeln ist.
<Crazy Craters>
STR_SCNR :Crazy Craters
STR_PARK :Crazy Craters
STR_DTLS :In einer weit entfernten Welt, wo man Geld nicht braucht, sollen Sie ein Unterhaltungszentrum bauen, damit die Leute glücklich und zufrieden bleiben.
<Dusty Desert>
STR_SCNR :Dusty Desert
STR_PARK :Dusty Desert
STR_DTLS :Fünf Achterbahnen müssen in diesem Wüstenpark fertiggestellt werden.
<Woodworm Park>
STR_SCNR :Woodworm Park
STR_PARK :Woodworm Park
STR_DTLS :In diesem historischen Park dürfen nur Attraktionen im altmodischen Stil gebaut werden.
<Icarus Park>
STR_SCNR :Icarus Park
STR_PARK :Icarus Park
STR_DTLS :Verbessern Sie diesen außerirdischen Park, damit höchste Erträge erzielt werden.
<Sunny Swamps>
STR_SCNR :Sunny Swamps
STR_PARK :Sunny Swamps
STR_DTLS :In diesem nach Themen angelegten Park gibt es zwar verschiedene Attraktionen, aber noch viel Platz für Erweiterungen.
<Frightmare Hills>
STR_SCNR :Frightmare Hills
STR_PARK :Frightmare Hills
STR_DTLS :Ein Gruselpark mit einer Riesenachterbahn als Herzstück.
<Thunder Rocks>
STR_SCNR :Thunder Rocks
STR_PARK :Thunder Rocks
STR_DTLS :Zwei enorme Gesteinsbrocken ragen aus dem Wüstensand, auf denen mit den ersten Bauten für einen Vergnügungspark bereits begonnen wurde.
<Octagon Park>
STR_SCNR :Octagon Park
STR_PARK :Octagon Park
STR_DTLS :In diesem weitläufigen Park sollen Sie zehn große Achterbahnen entwerfen und konstruieren.
<Pleasure Island>
STR_SCNR :Pleasure Island
STR_PARK :Pleasure Island
STR_DTLS :Diese lange, schmale Insel ist Anreiz genug, eine Auswahl an Achterbahnen zu errichten.
<Icicle Worlds>
STR_SCNR :Icicle Worlds
STR_PARK :Icicle Worlds
STR_DTLS :Eine Eislandschaft soll in einen florierenden Vergnügungspark verwandelt werden.
<Southern Sands>
STR_SCNR :Southern Sands
STR_PARK :Southern Sands
STR_DTLS :Ein Park in der Wüste mit ein paar durchdachten Achterbahnen steht Ihnen zur Verfügung und soll erweitert werden.
<Tiny Towers>
STR_SCNR :Tiny Towers
STR_PARK :Tiny Towers
STR_DTLS :In diesem winzigen Park sollten Sie die fünf angefangenen Achterbahnen fertigstellen.
<Nevermore Park>
STR_SCNR :Nevermore Park
STR_PARK :Nevermore Park
STR_DTLS :Ein großer Park mit einem neuartigen Transportsystem, das durch die Randbereiche führt.
<Pacifica>
STR_SCNR :Pacifica
STR_PARK :Pacifica
STR_DTLS :Diese große Insel steht zu Ihrer Verfügung, machen Sie einen Vergnügungspark daraus.
<Urban Jungle>
STR_SCNR :Urban Jungle
STR_PARK :Urban Jungle
STR_DTLS :Ein gigantischer, verlassener Wolkenkratzer ist eine einmalige Gelegenheit für einen Vergnügungsparkbetreiber.
<Terror Town>
STR_SCNR :Terror Town
STR_PARK :Terror Town
STR_DTLS :Aus diesem Stadtgebiet können Sie einen Vergnügungspark zaubern.
<Megaworld Park>
STR_SCNR :Megaworld Park
STR_PARK :Megaworld Park
STR_DTLS :Ein ausgedehnter Park, der bereits mit Attraktionen vollgepackt ist, bedarf der Verbesserung.
<Venus Ponds>
STR_SCNR :Venus Ponds
STR_PARK :Venus Ponds
STR_DTLS :Auf einem weit entfernten Planeten soll dieses Stück Land in einen Vergnügungspark umgewandelt werden.
<Micro Park>
STR_SCNR :Micro Park
STR_PARK :Micro Park
STR_DTLS :Versuchen Sie, den kleinsten Park der Welt anzulegen und dabei möglichst viel Gewinn zu erzielen.
## Real Parks from RCT1
# None of them had details
<Alton Towers>
STR_SCNR :Alton Towers
STR_PARK :Alton Towers
STR_DTLS :
<Heide-Park>
STR_SCNR :Heide-Park
STR_PARK :Heide-Park
STR_DTLS :
<Blackpool Pleasure Beach>
STR_SCNR :Blackpool Pleasure Beach
STR_PARK :Blackpool Pleasure Beach
STR_DTLS :
## Misc parks from RCT1
# Had no details
<Fort Anachronism>
STR_SCNR :Fort Anachronism
STR_PARK :Fort Anachronism
STR_DTLS :
#######################
# Bahnen/Attraktionen #

3931
data/language/japanese.txt Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,81 +1,84 @@
# OpenRCT2 0.0.3 Title Sequence Script
# Arranged by Gymnasiast (Michael Steenbeek).
# Based on the 0.0.2 script, which was arranged by IntelOrca.
# OpenRCT2 0.0.4 Title Sequence Script
# Arranged by NWSpacek (Kelson Blakewood).
# If you have parks you think would work well in a title sequence (must be NCSO), contact me on reddit at u/spacek_toast
LOAD pfckrutonium1.sv6
LOCATION 7 41
WAIT 10
LOAD Ill Paradise.sv6
LOCATION 113 105
WAIT 15
LOAD netgrouppark.sv6
LOCATION 91 10
WAIT 9
LOCATION 25 15
WAIT 9
LOAD bigfoot.sv6
LOCATION 58 29
WAIT 10
ROTATE 1
LOCATION 29 63
WAIT 10
LOAD gymnasiast2.sv6
LOCATION 39 79
WAIT 11
LOAD achilleshiel.sv6
LOCATION 25 77
WAIT 10
LOCATION 36 58
LOCATION 120 102
ROTATE 3
WAIT 8
WAIT 10
LOAD mci.sv6
LOCATION 46 60
WAIT 6
LOCATION 76 32
LOCATION 73 136
ROTATE 1
WAIT 11
WAIT 15
LOAD phann.sv6
LOCATION 96 73
WAIT 8
LOAD Title Sequence Park 1.sv6
ROTATE 2
LOCATION 120 43
WAIT 15
LOAD rid6.sv6
LOCATION 56 34
WAIT 8
LOCATION 10 29
ROTATE 1
WAIT 8
LOAD gymnasiast1.sv6
LOCATION 51 46
WAIT 11
LOAD alexfablelake.SV6
LOCATION 50 25
WAIT 9
LOCATION 124 74
WAIT 15
ROTATE 1
LOCATION 35 74
WAIT 9
LOCATION 120 90
WAIT 10
LOAD poke.sv6
LOCATION 43 83
WAIT 9
LOCATION 123 130
WAIT 20
LOCATION 63 35
LOCATION 70 85
ROTATE 1
WAIT 15
LOAD Cypress Grove Title.sv6
LOCATION 106 43
ROTATE 3
WAIT 9
WAIT 15
LOCATION 12 47
LOCATION 60 103
ROTATE 1
WAIT 10
LOCATION 91 83
WAIT 10
ROTATE 1
LOCATION 117 61
WAIT 10
LOCATION 82 95
ROTATE 1
WAIT 20
LOCATION 110 94
ROTATE 3
WAIT 6
WAIT 15
LOCATION 79 94
WAIT 10
LOCATION 63 97
ROTATE 1
WAIT 10
LOAD TaCW.sv6
WAIT 15
ROTATE 1
LOCATION 110 95
WAIT 15
LOCATION 57 101
ROTATE 3
WAIT 15
LOCATION 100 63
ROTATE 2
WAIT 15
RESTART
END

View File

@@ -0,0 +1,98 @@
# RollerCoaster Tycoon 1 Title Sequence
##############################
# RollerCoaster Tycoon 1 #
##############################
# SC_DIAMOND_HEIGHTS
LOADRCT1 3
ROTATE 2
LOCATION 47, 99
WAIT 15
ROTATE 2
LOCATION 90, 48
WAIT 15
ROTATE 1
LOCATION 86, 43
WAIT 15
ROTATE 3
LOCATION 57, 50
WAIT 15
ROTATE 2
LOCATION 86, 64
WAIT 15
# SC_KATIES_DREAMLAND
LOADRCT1 7
LOCATION 48, 44
WAIT 15
LOCATION 64, 41
WAIT 15
# SC_POKEY_PARK,
LOADRCT1 8
ROTATE 2
LOCATION 56, 64
WAIT 15
# SC_WHITE_WATER_PARK
LOADRCT1 9
ROTATE 3
LOCATION 96, 88
WAIT 15
LOCATION 84, 95
WAIT 15
# SC_MILLENNIUM_MINES
LOADRCT1 10
ROTATE 1
ROTATE 1
LOCATION 64, 37
WAIT 15
# SC_KARTS_COASTERS
LOADRCT1 11
LOCATION 84, 56
WAIT 15
LOCATION 34, 36
WAIT 15
LOCATION 33, 65
WAIT 15
# SC_MELS_WORLD
LOADRCT1 12
ROTATE 3
LOCATION 50, 50
WAIT 15
LOCATION 35, 39
WAIT 15
ROTATE 3
LOCATION 62, 39
WAIT 15
# SC_CRUMBLY_WOODS
LOADRCT1 15
ROTATE 3
LOCATION 57, 94
WAIT 15
LOCATION 44, 84
WAIT 15
ROTATE 1
LOCATION 76, 59
WAIT 15
LOCATION 76, 48
WAIT 15
# SC_LIGHTNING_PEAKS
LOADRCT1 17
LOCATION 80, 49
WAIT 15
LOCATION 60, 62
WAIT 15
# SC_IVORY_TOWERS
LOADRCT1 18
ROTATE 3
LOCATION 50, 77
WAIT 15
RESTART

View File

@@ -0,0 +1,187 @@
# RollerCoaster Tycoon 1 Title Sequence
##############################
# Added Attractions #
##############################
# SC_HAUNTED_HARBOR
LOADRCT1 45
LOCATION 62, 53
WAIT 11
ROTATE 3
LOCATION 78, 45
WAIT 16
# SC_CANARY_MINES
LOADRCT1 42
LOCATION 52, 28
WAIT 15
# SC_GENTLE_GLEN
LOADRCT1 48
LOCATION 68, 45
WAIT 11
# SC_FUNTOPIA
LOADRCT1 44
LOCATION 69, 93
WAIT 17
# SC_SPRIGHTLY_PARK
LOADRCT1 51
ROTATE 3
LOCATION 97, 72
WAIT 12
ROTATE 2
LOCATION 74, 71
WAIT 12
ROTATE 2
LOCATION 67, 90
WAIT 12
# SC_GIGGLE_DOWNS
LOADRCT1 65
LOCATION 94, 64
WAIT 10
# SC_SWAMP_COVE
LOADRCT1 59
LOCATION 96, 22
WAIT 10
ROTATE 3
LOCATION 90, 29
WAIT 10
# SC_FRUIT_FARM
LOADRCT1 53
LOCATION 47, 52
WAIT 12
# SC_FUTURE_WORLD
LOADRCT1 47
LOCATION 67, 59
WAIT 19
# SC_THREE_MONKEYS_PARK
LOADRCT1 41
ROTATE 2
LOCATION 72, 61
WAIT 8
ROTATE 2
LOCATION 68, 70
WAIT 8
LOCATION 58, 56
WAIT 8
ROTATE 1
LOCATION 44, 70
WAIT 8
ROTATE 3
LOCATION 43, 90
WAIT 10
# SC_ROMAN_VILLAGE
LOADRCT1 58
LOCATION 49, 46
WAIT 15
# SC_ADRENALINE_HEIGHTS
LOADRCT1 60
ROTATE 3
LOCATION 38, 57
WAIT 15
##############################
# RollerCoaster Tycoon 1 #
##############################
# SC_DIAMOND_HEIGHTS
LOADRCT1 3
ROTATE 2
LOCATION 47, 99
WAIT 15
ROTATE 2
LOCATION 90, 48
WAIT 15
ROTATE 1
LOCATION 86, 43
WAIT 15
ROTATE 3
LOCATION 57, 50
WAIT 15
ROTATE 2
LOCATION 86, 64
WAIT 15
# SC_KATIES_DREAMLAND
LOADRCT1 7
LOCATION 48, 44
WAIT 15
LOCATION 64, 41
WAIT 15
# SC_POKEY_PARK,
LOADRCT1 8
ROTATE 2
LOCATION 56, 64
WAIT 15
# SC_WHITE_WATER_PARK
LOADRCT1 9
ROTATE 3
LOCATION 96, 88
WAIT 15
LOCATION 84, 95
WAIT 15
# SC_MILLENNIUM_MINES
LOADRCT1 10
ROTATE 1
ROTATE 1
LOCATION 64, 37
WAIT 15
# SC_KARTS_COASTERS
LOADRCT1 11
LOCATION 84, 56
WAIT 15
LOCATION 34, 36
WAIT 15
LOCATION 33, 65
WAIT 15
# SC_MELS_WORLD
LOADRCT1 12
ROTATE 3
LOCATION 50, 50
WAIT 15
LOCATION 35, 39
WAIT 15
ROTATE 3
LOCATION 62, 39
WAIT 15
# SC_CRUMBLY_WOODS
LOADRCT1 15
ROTATE 3
LOCATION 57, 94
WAIT 15
LOCATION 44, 84
WAIT 15
ROTATE 1
LOCATION 76, 59
WAIT 15
LOCATION 76, 48
WAIT 15
# SC_LIGHTNING_PEAKS
LOADRCT1 17
LOCATION 80, 49
WAIT 15
LOCATION 60, 62
WAIT 15
# SC_IVORY_TOWERS
LOADRCT1 18
ROTATE 3
LOCATION 50, 77
WAIT 15
RESTART

View File

@@ -0,0 +1,233 @@
# RollerCoaster Tycoon 1 Title Sequence
##############################
# Added Attractions (part 1) #
##############################
# SC_HAUNTED_HARBOR
LOADRCT1 45
LOCATION 62, 53
WAIT 11
ROTATE 3
LOCATION 78, 45
WAIT 16
# SC_CANARY_MINES
LOADRCT1 42
LOCATION 52, 28
WAIT 15
# SC_GENTLE_GLEN
LOADRCT1 48
LOCATION 68, 45
WAIT 11
# SC_FUNTOPIA
LOADRCT1 44
LOCATION 69, 93
WAIT 17
##############################
# Loopy Landscapes #
##############################
# SC_FRIGHTMARE_HILLS
LOADRCT1 86
LOCATION 46, 47
WAIT 5
# SC_GOOD_KNIGHT_PARK
LOADRCT1 30
ROTATE 2
LOCATION 60, 62
WAIT 5
# SC_ICEBERG_ISLANDS
LOADRCT1 22
ROTATE 3
LOCATION 36, 52
WAIT 4
# SC_SOUTHERN_SANDS
LOADRCT1 91
ROTATE 2
LOCATION 51, 47
WAIT 4
# SC_SUNNY_SWAMPS
LOADRCT1 85
ROTATE 3
LOCATION 77, 82
WAIT 4
# SC_VERTIGO_VIEWS
LOADRCT1 27
LOCATION 22, 56
WAIT 3
# SC_WACKY_WARREN
LOADRCT1 31
ROTATE 3
LOCATION 72, 80
WAIT 4
##############################
# Added Attractions (part 2) #
##############################
# SC_SPRIGHTLY_PARK
LOADRCT1 51
ROTATE 3
LOCATION 97, 72
WAIT 12
ROTATE 2
LOCATION 74, 71
WAIT 12
ROTATE 2
LOCATION 67, 90
WAIT 12
# SC_GIGGLE_DOWNS
LOADRCT1 65
LOCATION 94, 64
WAIT 10
# SC_SWAMP_COVE
LOADRCT1 59
LOCATION 96, 22
WAIT 10
ROTATE 3
LOCATION 90, 29
WAIT 10
# SC_FRUIT_FARM
LOADRCT1 53
LOCATION 47, 52
WAIT 12
# SC_FUTURE_WORLD
LOADRCT1 47
LOCATION 67, 59
WAIT 19
# SC_THREE_MONKEYS_PARK
LOADRCT1 41
ROTATE 2
LOCATION 72, 61
WAIT 8
ROTATE 2
LOCATION 68, 70
WAIT 8
LOCATION 58, 56
WAIT 8
ROTATE 1
LOCATION 44, 70
WAIT 8
ROTATE 3
LOCATION 43, 90
WAIT 10
# SC_ROMAN_VILLAGE
LOADRCT1 58
LOCATION 49, 46
WAIT 15
# SC_ADRENALINE_HEIGHTS
LOADRCT1 60
ROTATE 3
LOCATION 38, 57
WAIT 15
##############################
# RollerCoaster Tycoon 1 #
##############################
# SC_DIAMOND_HEIGHTS
LOADRCT1 3
ROTATE 2
LOCATION 47, 99
WAIT 15
ROTATE 2
LOCATION 90, 48
WAIT 15
ROTATE 1
LOCATION 86, 43
WAIT 15
ROTATE 3
LOCATION 57, 50
WAIT 15
ROTATE 2
LOCATION 86, 64
WAIT 15
# SC_KATIES_DREAMLAND
LOADRCT1 7
LOCATION 48, 44
WAIT 15
LOCATION 64, 41
WAIT 15
# SC_POKEY_PARK,
LOADRCT1 8
ROTATE 2
LOCATION 56, 64
WAIT 15
# SC_WHITE_WATER_PARK
LOADRCT1 9
ROTATE 3
LOCATION 96, 88
WAIT 15
LOCATION 84, 95
WAIT 15
# SC_MILLENNIUM_MINES
LOADRCT1 10
ROTATE 1
ROTATE 1
LOCATION 64, 37
WAIT 15
# SC_KARTS_COASTERS
LOADRCT1 11
LOCATION 84, 56
WAIT 15
LOCATION 34, 36
WAIT 15
LOCATION 33, 65
WAIT 15
# SC_MELS_WORLD
LOADRCT1 12
ROTATE 3
LOCATION 50, 50
WAIT 15
LOCATION 35, 39
WAIT 15
ROTATE 3
LOCATION 62, 39
WAIT 15
# SC_CRUMBLY_WOODS
LOADRCT1 15
ROTATE 3
LOCATION 57, 94
WAIT 15
LOCATION 44, 84
WAIT 15
ROTATE 1
LOCATION 76, 59
WAIT 15
LOCATION 76, 48
WAIT 15
# SC_LIGHTNING_PEAKS
LOADRCT1 17
LOCATION 80, 49
WAIT 15
LOCATION 60, 62
WAIT 15
# SC_IVORY_TOWERS
LOADRCT1 18
ROTATE 3
LOCATION 50, 77
WAIT 15
RESTART

5
debian/changelog vendored Normal file
View File

@@ -0,0 +1,5 @@
openrct2 (0.0.4-develop-1) unstable; urgency=medium
* Initial release. (Closes: #XXXXXX)
-- Michał Janiszewski <janisozaur+openrct2@gmail.com> Sun, 10 Jan 2016 23:41:16 +0100

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
9

18
debian/control vendored Normal file
View File

@@ -0,0 +1,18 @@
Source: openrct2
Maintainer: Michał Janiszewski <janisozaur+openrct2@gmail.com>
Section: misc
Priority: optional
Standards-Version: 3.9.2
Multi-Arch: same
Build-Depends: debhelper (>= 9), cmake, libsdl2-dev, libsdl2-ttf-dev, gcc, pkg-config, g++-multilib, gcc-multilib, libjansson4 (>= 2.7), libjansson-dev (>= 2.7), libspeex-dev, libspeexdsp-dev, libcurl4-openssl-dev, libcrypto++-dev, libfontconfig1-dev, libfreetype6-dev, libpng-dev
Package: openrct2
Architecture: i386
Homepage: https://openrct2.website/
Vcs-Browser: https://github.com/OpenRCT2/OpenRCT2
Vcs-Git: https://github.com/OpenRCT2/OpenRCT2
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: An open source re-implementation of Roller Coaster Tycoon 2.
An open source clone of RollerCoaster Tycoon 2 built by decompiling the
original game one bit at a time.
Requires original game assets.

0
debian/copyright vendored Normal file
View File

13
debian/rules vendored Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/make -f
BUILDDIR=build_dir
build:
scripts/linux/install.sh
mkdir $(BUILDDIR)
cd $(BUILDDIR); cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -C $(BUILDDIR)
touch build
%:
dh $@

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (quilt)

View File

@@ -1,3 +1,74 @@
0.0.4-rc1
------------------------------------------------------------------------
- Feature: Full native OSX .app support.
- Feature: Add displaying of frames per second (FPS).
- Feature: Changing the number of trains no longer requires retesting.
- Feature: Add SI units as a new measurement system for distance / speed.
- Feature: Update alternative font selection mechanism for all platforms.
- Feature: Allow enabling / disabling of different notifications.
- Feature: Add more columns and information to tile inspector.
- Feature: Add ability to remove and reorder elements in tile inspector.
- Feature: Integrate RCT1 style scenario select with optional unlock progression.
- Feature: Add graphics scaling and filtering.
- Feature: Add cheat: permanent marketing.
- Feature: Closed rides show number of guests currently on the ride in tooltip and on the ride window customer page.
- Feature: Scrolling the mouse wheel over any land tool preview box will increment or decrement the tool size.
- Feature: Additional property views added to the ride list window.
- Feature: Improved overall view centring for rides and shops.
- Feature: Add permission and group management in multiplayer.
- Feature: Add player windows with viewport and trace in multiplayer.
- Feature: Add ability to start a new scenario when starting a new server.
- Feature: Compress game data that is downloaded when connecting to a server.
- Feature: Support for using system load/save dialogs on Linux and OS X.
- Feature: OpenRCT2 now detects if the server is running a compatible version when attempting to connect to a multiplayer game.
- Feature: Ride information list can show more properties, like age and running cost.
- Feature: Added translations for Czech and Japanese.
- Feature: Added Hong Kong dollar, New Taiwan dollar and Chinese yuan as currencies.
- Feature: Weather cheat now allows for more types of weather.
- Feature: Use fontconfig on Linux and Objective-C APIs on OS X to detect fonts and provide a fallback if necessary.
- Feature: Ability to automatically open shops after placing them.
- Feature: Ability to change the default inspection interval for rides.
- Feature: Ability to disable lightning effect during a thunderstorm.
- Feature: Display a chat hotkey when joining a server.
- Change: Server IP addresses are no longer shown in the server list.
- Change: Theme format changed from INI to JSON (INI format no longer supported).
- Change: Sound controls re-worked to control sound effects and ride music separately.
- Change: Use native line endings in config.ini.
- Change: Remove default audio device from audio device dropdown in Linux.
- Technical: lodepng dropped in return for libpng.
- Technical: SDL2 upgraded from 2.0.3 to 2.0.4.
- Technical: argparse dropped in return for bespoke command line parsing implementation.
- Technical: Integrated breakpad for (manual) crash reporting
- Improve: performance of rendering, particularly for highly populated parks.
- Improve: performance of loading parks.
- Improve: support for hacked parks.
- Removed: Anti-cheat code that detected money hack attempts.
- Fix: Dated autosave files are not created on OSX and Linux.
- Fix: Title sequence directories are not deleted when title sequence is deleted on OSX and Linux.
- Fix: Tile not highlighted when placing staff members.
- Fix: Various de-synchronisation issues in multiplayer.
- Fix: Cheats not supported in multiplayer.
- Fix: [#1333] Rides never become safe again after a crash.
- Fix: [#1742] Non-ascii characters in scenario details not showing correctly.
- Fix: [#2126] Ferris Wheels set to "backward rotation" stop working (original bug).
- Fix: [#2449] Turning off Day/Night Circle while it is night doesn't reset back to day.
- Fix: [#2477] When opening the built-in load/save dialog, the list is not properly sorted.
- Fix: [#2650] Server did not validate actions send from clients (caused error box and desynchronisation).
- Fix: [#2651] Ride was not removed when multiplayer client aborted ride construction.
- Fix: [#2654] Free transport rides can prevent guests from properly leaving the park.
- Fix: [#2657] Don't create copies of official objects due to bugged saves (original bug).
- Fix: [#2681] When lowering/raising land/water with clearance checks off, walls still get removed.
- Fix: [#2693] Multiplayer chat caret does not show true position.
- Fix: [#2704] OSX Command Key not read for keyboard shortcuts.
- Fix: [#2728] Closing a boat ride with passengers causes empty boats to leave the platform (original bug).
- Fix: [#2925] Screenshots don't show night filters.
- Fix: [#2941] Enter does not work on input box when on the title screen.
- Fix: [#2948] New Ride window incorrectly said there were track designs available when in multiplayer mode.
- Fix: [#2958] Unable to import RCT1 parks in the scenario editor using the load landscape dialog.
- Fix: [#3015] Walls in SC4/SV4 files are not imported correctly.
- Fix: [#3063] Search exe directory for SSL bundle as well as CWD.
- Fix: [#3120] Negative cash in finance window is not red.
0.0.3.1-beta (2015-12-04)
------------------------------------------------------------------------
- Fix: [#2407] save game prompt delay is not reset on start scenario

View File

@@ -1,6 +1,7 @@
Release version: 0.0.3-1-beta
Release version: 0.0.4-rc1
------------------------------------------------------------------------
* Some sounds play at their maximum volume irrespective of the sound volume control.
* Scenario editor object selection window will show object names in the selected language at the time of building the object cache. (Deleting plugin.dat in Documents/OpenRCT2 will fix this)
* Guest AI is slightly worse than the original game.
Some bugs or limitations present in the original game have not yet been fixed or lifted.
Some bugs or limitations present in the original game have not yet been fixed or lifted.

View File

@@ -0,0 +1,214 @@
/* This script is based on elf_i386.xc with modifications for OpenRCT2 */
/* Script for -z combreloc: combine and sort reloc sections */
/* Copyright (C) 2014 Free Software Foundation, Inc.
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
"elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-unknown-linux-gnu/lib32"); SEARCH_DIR("/usr/x86_64-unknown-linux-gnu/lib32"); SEARCH_DIR("/usr/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/usr/i386-unknown-linux-gnu/lib");
SECTIONS
{
/* Read-only sections, merged into text segment: */
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x010000)); . = SEGMENT_START("text-segment", 0x010000) + SIZEOF_HEADERS;
.interp : { *(.interp) }
.note.gnu.build-id : { *(.note.gnu.build-id) }
.hash : { *(.hash) }
.gnu.hash : { *(.gnu.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.rel.dyn :
{
*(.rel.init)
*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
*(.rel.fini)
*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
*(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*)
*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
*(.rel.ctors)
*(.rel.dtors)
*(.rel.got)
*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
*(.rel.ifunc)
}
.rel.plt :
{
*(.rel.plt)
PROVIDE_HIDDEN (__rel_iplt_start = .);
*(.rel.iplt)
PROVIDE_HIDDEN (__rel_iplt_end = .);
}
.init :
{
KEEP (*(SORT_NONE(.init)))
}
.plt : { *(.plt) *(.iplt) }
.rct2_text 0x401000 : { *(.rct2_text) }
.rct2_data : { *(.rct2_data) }
.text :
{
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
}
.fini :
{
KEEP (*(SORT_NONE(.fini)))
}
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
.eh_frame_hdr : { *(.eh_frame_hdr) }
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table
.gcc_except_table.*) }
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges : ONLY_IF_RO { *(.exception_ranges
.exception_ranges*) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
.exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
/* Thread Local Storage sections */
.tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
.preinit_array :
{
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
}
.init_array :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
PROVIDE_HIDDEN (__init_array_end = .);
}
.fini_array :
{
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
PROVIDE_HIDDEN (__fini_array_end = .);
}
.ctors :
{
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
doesn't matter if the user does not
actually link against crtbegin.o; the
linker won't look for a file to match a
wildcard. The wildcard also means that it
doesn't matter which directory crtbegin.o
is in. */
KEEP (*crtbegin.o(.ctors))
KEEP (*crtbegin?.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
}
.dtors :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
}
.jcr : { KEEP (*(.jcr)) }
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
.got : { *(.got) *(.igot) }
. = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);
.got.plt : { *(.got.plt) *(.igot.plt) }
.data :
{
*(.data .data.* .gnu.linkonce.d.*)
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
_edata = .; PROVIDE (edata = .);
. = .;
__bss_start = .;
.bss :
{
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections.
FIXME: Why do we need it? When there is no .bss section, we don't
pad the .data section. */
. = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
. = SEGMENT_START("ldata-segment", .);
. = ALIGN(32 / 8);
_end = .; PROVIDE (end = .);
. = DATA_SEGMENT_END (.);
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/* DWARF 3 */
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges) }
/* DWARF Extension. */
.debug_macro 0 : { *(.debug_macro) }
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

View File

@@ -0,0 +1,68 @@
{
"images" : [
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "icon_16x16.png",
"scale" : "1x"
},
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "icon_16x16@2x.png",
"scale" : "2x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "icon_32x32.png",
"scale" : "1x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "icon_32x32@2x.png",
"scale" : "2x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "icon_128x128.png",
"scale" : "1x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "icon_128x128@2x.png",
"scale" : "2x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "icon_256x256.png",
"scale" : "1x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "icon_256x256@2x.png",
"scale" : "2x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "icon_512x512.png",
"scale" : "1x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "icon_512x512@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>ORCT</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>OpenRCT2 is licensed under the GNU General Public License version 3</string>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
</dict>
</plist>

View File

@@ -1,5 +1,5 @@
Last updated: 2015-12-04
Release version: 0.0.3-1-beta
Last updated: 2016-12-04
Release version: 0.0.4-rc1
------------------------------------------------------------------------
@@ -68,11 +68,10 @@ following information in your bug report:
3.0) Supported platforms
---- -------------------
OpenRCT2 currently requires the original RollerCoaster Tycoon 2 binary. While
this is still the case, the only supported platform is Windows. OpenRCT2 can
still be played on other operating systems either via a virtual machine or a
compatibility layer application such as Wine. Further instructions can be found
on GitHub.
OpenRCT2 is currently supported on Windows Vista and above, many distributions of
Linux and OSX 10.7. OpenRCT2 will only work on x86 architectures as the
original RollerCoaster Tycoon 2 binary is still required to run the game.
Further instructions can be found on GitHub.
4.0) Installing and running OpenRCT2
---- ------------------------------
@@ -82,7 +81,7 @@ be installed, or you have downloaded an installer, which will automatically
extract OpenRCT2 in the given directory.
OpenRCT2 requires an installation of RollerCoaster Tycoon 2 (RCT2) to run. You
must have either installed the original RCT2 disc, the GOG version or the steam
must have either installed the original RCT2 disc, the GOG version or the Steam
version. Alternatively you can manually specify the location of where your RCT2
data files are. These may be directly copied of the original disc and placed in
a directory of your choice.
@@ -105,7 +104,7 @@ the RCT2 install path.
If you are running Windows and have set a DPI scale, OpenRCT2 might look blury.
This is because OpenRCT2 currently uses the original RollerCoaster Tycoon 2
binary as a application host. However you can manually configure this binary to
binary as an application host. However you can manually configure this binary to
not be scaled. This will make the game more crisp, but may result in the
interface being too small to see clearly and less ergonomic to use. To stop DPI
scaling, right click the binary itself (openrct2.exe) in the install directory
@@ -116,8 +115,9 @@ select properties. Select the compatibility tab, check
If you wish to use Steam Overlay or capture game for video recording or
streaming, you might have to enable hardware display in the options window.
This will still render the graphics on the CPU but the pixel data will be
displayed using either DirectX or OpenGL. This might slow down the game but can
also make the game look smoother.
displayed using either DirectX or OpenGL. This may also enable vertical
synchronisation if supported by your graphics card and you have enabled
"Uncap FPS".
5.0) Development
---- -----------
@@ -147,16 +147,16 @@ OpenRCT2 is licensed under the GNU General Public Licence version 3.0. For
the complete licence text, see the file 'licence.txt'. This licence applies
to all files in this distribution, except as noted below.
argparse | MIT licence.
CuTest | zlib licence.
Jansson | MIT licence.
libcURL | MIT (or Modified BSD-style) licence.
libspeex | BSD-style license.
LodePNG | zlib licence.
libpng | libpng licence.
SDL2 | zlib licence.
SDL2 TTF | zlib licence.
zlib | zlib licence.
Licences for sub-libraries used by the above may vary. For more information, visit the libraries' respective official websites.
9.0) Credits
---- -------
For the full list of contributors to OpenRCT2, see the file 'contributors.md'.
For the full list of contributors to OpenRCT2, see the file 'contributors.md'.

View File

@@ -1,3 +1,11 @@
param (
[Parameter(Position = 1)]
[string]$VersionExtra = ""
)
$path = Split-Path $Script:MyInvocation.MyCommand.Path
Write-Output "Building Windows Installer (NSIS script)";
makensis /DVERSION_INCLUDE=$path\win32.txt $path\install.nsi > $path\win32.log;
Write-Host "Building Windows Installer (NSIS script)";
Write-Host " $VersionExtra";
makensis /DAPPV_EXTRA=$VersionExtra `
/DVERSION_INCLUDE=$path\win32.txt `
$path\install.nsi > $path\win32.log;

View File

@@ -1,8 +1,8 @@
# Version numbers to update
!define /ifndef APPV_MAJOR 0
!define /ifndef APPV_MINOR 0
!define /ifndef APPV_MAINT 3
!define /ifndef APPV_BUILD 1
!define /ifndef APPV_MAINT 4
!define /ifndef APPV_BUILD 0
!define /ifndef APPV_EXTRA "-beta"
!define APPNAME "OpenRCT2" ; Define application name
@@ -111,13 +111,9 @@ Section "!OpenRCT2" Section1
SetShellVarContext all
; Copy language files
SetOutPath "$INSTDIR\data\language\"
File ${PATH_ROOT}data\language\*.txt
; Copy data files
SetOutPath "$INSTDIR\data\"
File /r ${PATH_ROOT}data\*
File /r ${PATH_ROOT}bin\data\*
; Copy the rest of the stuff
SetOutPath "$INSTDIR\"
@@ -125,13 +121,13 @@ Section "!OpenRCT2" Section1
; Copy curl ca file
File ..\..\curl-ca-bundle.crt
; Copy curl ca file
File ..\..\curl-ca-bundle.crt
; Copy text files
File ..\changelog.txt
Push "$INSTDIR\changelog.txt"
Call unix2dos
File ..\known_issues.txt
Push "$INSTDIR\known_issues.txt"
Call unix2dos
File ..\..\licence.txt
Push "$INSTDIR\licence.txt"
Call unix2dos
@@ -145,7 +141,6 @@ Section "!OpenRCT2" Section1
; Copy executable
File /oname=openrct2.exe ${BINARY_DIR}\openrct2.exe
File /oname=openrct2.dll ${BINARY_DIR}\openrct2.dll
File /oname=SDL2.dll ${BINARY_DIR}\SDL2.dll
; Create the Registry Entries
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Comments" "Visit ${APPURLLINK}"
@@ -211,7 +206,6 @@ Section "Uninstall"
Delete "$INSTDIR\contributors.md"
Delete "$INSTDIR\openrct2.exe"
Delete "$INSTDIR\openrct2.dll"
Delete "$INSTDIR\SDL2.dll"
Delete "$INSTDIR\licence.txt"
Delete "$INSTDIR\INSTALL.LOG"
Delete "$INSTDIR\crash.log"
@@ -464,17 +458,10 @@ Function .onInit
SectionSetFlags 0 17
; Starts Setup - let's look for an older version of OpenRCT2
ReadRegStr $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Version"
IfErrors ShowWelcomeMessage ShowUpgradeMessage
ShowWelcomeMessage:
ReadRegStr $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Version"
IfErrors FinishCallback
ShowUpgradeMessage:
${VersionCompare} "${APPVERSIONINTERNAL}" "$R8" $R0
IntCmp $R0 1 WelcomeToSetup VersionsAreEqual InstallerIsOlder
WelcomeToSetup:
; An older version was found. Let's let the user know there's an upgrade that will take place.
ReadRegStr $OLDVERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "DisplayVersion"
@@ -483,26 +470,6 @@ WelcomeToSetup:
"Welcome to ${APPNAMEANDVERSION} Setup.$\nThis will allow you to upgrade from version $OLDVERSION."
Goto FinishCallback
VersionsAreEqual:
ReadRegStr $UninstallString HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "UninstallString"
IfFileExists "$UninstallString" "" FinishCallback
MessageBox MB_YESNO|MB_ICONQUESTION \
"Setup detected ${APPNAMEANDVERSION} on your system. This is the same version that this program will install.$\nAre you trying to uninstall it?" \
IDYES DoUninstall IDNO FinishCallback
DoUninstall: ; You have the same version as this installer. This allows you to uninstall.
Exec "$UninstallString"
Quit
InstallerIsOlder:
;MessageBox MB_OK|MB_ICONSTOP \
; "You have a newer version of ${APPNAME}.$\nSetup will now exit."
;Quit
MessageBox MB_OK|MB_ICONSTOP \
"You have a newer version of ${APPNAME}.$\nPlease note downgrading is currently untested."
MessageBox MB_OK|MB_ICONQUESTION \
"Welcome to ${APPNAMEANDVERSION} Setup.$\nThis will allow you to downgrade from version $OLDVERSION."
Goto FinishCallback
FinishCallback:
ClearErrors
; Call CheckProcessorArchitecture

View File

@@ -3,4 +3,4 @@ This directory contains the script and resources for the Windows installer. The
As there is currently only a 32 bit version of OpenRCT2 available, the architecture and windows version checks have been disabled. These will be re-enabled once OpenRCT2 is a stand alone executable.
Code based on [OpenTTD](http://openttd.org) installer.
Code based on [OpenTTD](http://openttd.org) installer.

View File

@@ -1,5 +1,5 @@
!define APPBITS 32 ; Define number of bits for the architecture
!define EXTRA_VERSION "Vista, 7, 8.1 and 10"
!define APPARCH "win32" ; Define the application architecture
!define BINARY_DIR "${PATH_ROOT}build\Release"
InstallDir "$PROGRAMFILES32\OpenRCT2\"
!define BINARY_DIR "${PATH_ROOT}bin"
InstallDir "$PROGRAMFILES32\OpenRCT2\"

View File

@@ -26,4 +26,4 @@ RUN pacman -R --noconfirm gcc
RUN yes | pacman -S gcc-libs-multilib
RUN pacman -S --noconfirm gcc-multilib
USER travis
RUN yaourt -S --noconfirm lib32-jansson lib32-curl lib32-sdl2 lib32-sdl2_ttf lib32-speex
RUN yaourt -S --noconfirm lib32-jansson lib32-curl lib32-sdl2 lib32-sdl2_ttf lib32-speex lib32-fontconfig

22
openrct2.sln Normal file
View File

@@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openrct2", "openrct2.vcxproj", "{D24D94F6-2A74-480C-B512-629C306CE92F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D24D94F6-2A74-480C-B512-629C306CE92F}.Debug|Win32.ActiveCfg = Debug|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Debug|Win32.Build.0 = Debug|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release|Win32.ActiveCfg = Release|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

400
openrct2.vcxproj Normal file
View File

@@ -0,0 +1,400 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build0;Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build0">
<Copy SourceFiles="openrct2.exe" DestinationFolder="$(OutDir)" />
<Copy SourceFiles="curl-ca-bundle.crt" DestinationFolder="$(OutDir)" />
</Target>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<None Include="curl-ca-bundle.crt" />
<None Include="openrct2.exe" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\addresses.c" />
<ClCompile Include="src\audio\audio.c" />
<ClCompile Include="src\audio\mixer.cpp" />
<ClCompile Include="src\cheats.c" />
<ClCompile Include="src\cmdline\CommandLine.cpp" />
<ClCompile Include="src\cmdline\RootCommands.cpp" />
<ClCompile Include="src\cmdline\ScreenshotCommands.cpp" />
<ClCompile Include="src\cmdline\SpriteCommands.cpp" />
<ClCompile Include="src\cmdline_sprite.c" />
<ClCompile Include="src\config.c" />
<ClCompile Include="src\core\Console.cpp" />
<ClCompile Include="src\core\Json.cpp" />
<ClCompile Include="src\core\Path.cpp" />
<ClCompile Include="src\core\Stopwatch.cpp" />
<ClCompile Include="src\core\String.cpp" />
<ClCompile Include="src\core\textinputbuffer.c" />
<ClCompile Include="src\cursors.c" />
<ClCompile Include="src\diagnostic.c" />
<ClCompile Include="src\drawing\drawing.c" />
<ClCompile Include="src\drawing\drawing_fast.cpp" />
<ClCompile Include="src\drawing\font.c" />
<ClCompile Include="src\drawing\line.c" />
<ClCompile Include="src\drawing\rain.c" />
<ClCompile Include="src\drawing\rect.c" />
<ClCompile Include="src\drawing\scrolling_text.c" />
<ClCompile Include="src\drawing\sprite.c" />
<ClCompile Include="src\drawing\string.c" />
<ClCompile Include="src\drawing\supports.c" />
<ClCompile Include="src\editor.c" />
<ClCompile Include="src\game.c" />
<ClCompile Include="src\hook.c" />
<ClCompile Include="src\image_io.c" />
<ClCompile Include="src\input.c" />
<ClCompile Include="src\interface\chat.c" />
<ClCompile Include="src\interface\colour.c" />
<ClCompile Include="src\interface\Theme.cpp" />
<ClCompile Include="src\interface\console.c" />
<ClCompile Include="src\interface\graph.c" />
<ClCompile Include="src\interface\keyboard_shortcut.c" />
<ClCompile Include="src\interface\screenshot.c" />
<ClCompile Include="src\interface\title_sequences.c" />
<ClCompile Include="src\interface\viewport.c" />
<ClCompile Include="src\interface\viewport_interaction.c" />
<ClCompile Include="src\interface\widget.c" />
<ClCompile Include="src\interface\window.c" />
<ClCompile Include="src\intro.c" />
<ClCompile Include="src\localisation\convert.c" />
<ClCompile Include="src\localisation\currency.c" />
<ClCompile Include="src\localisation\date.c" />
<ClCompile Include="src\localisation\language.cpp" />
<ClCompile Include="src\localisation\LanguagePack.cpp" />
<ClCompile Include="src\localisation\localisation.c" />
<ClCompile Include="src\localisation\real_names.c" />
<ClCompile Include="src\localisation\user.c" />
<ClCompile Include="src\localisation\utf8.c" />
<ClCompile Include="src\management\award.c" />
<ClCompile Include="src\management\finance.c" />
<ClCompile Include="src\management\marketing.c" />
<ClCompile Include="src\management\news_item.c" />
<ClCompile Include="src\management\research.c" />
<ClCompile Include="src\network\http.cpp" />
<ClCompile Include="src\network\network.cpp" />
<ClCompile Include="src\network\twitch.cpp" />
<ClCompile Include="src\object.c" />
<ClCompile Include="src\object_list.c" />
<ClCompile Include="src\openrct2.c" />
<ClCompile Include="src\peep\peep.c" />
<ClCompile Include="src\peep\staff.c" />
<ClCompile Include="src\platform\crash.cpp" />
<ClCompile Include="src\platform\linux.c" />
<ClCompile Include="src\platform\posix.c" />
<ClCompile Include="src\platform\shared.c" />
<ClCompile Include="src\platform\windows.c" />
<ClCompile Include="src\rct1.c" />
<ClCompile Include="src\rct2.c" />
<ClCompile Include="src\ride\cable_lift.c" />
<ClCompile Include="src\ride\ride.c" />
<ClCompile Include="src\ride\ride_data.c" />
<ClCompile Include="src\ride\ride_ratings.c" />
<ClCompile Include="src\ride\station.c" />
<ClCompile Include="src\ride\track.c" />
<ClCompile Include="src\ride\track_data.c" />
<ClCompile Include="src\ride\track_paint.c" />
<ClCompile Include="src\ride\vehicle.c" />
<ClCompile Include="src\scenario.c" />
<ClCompile Include="src\scenario_list.c" />
<ClCompile Include="src\windows\changelog.c" />
<ClCompile Include="src\windows\multiplayer.c" />
<ClCompile Include="src\windows\network_status.c" />
<ClCompile Include="src\windows\news_options.c" />
<ClCompile Include="src\windows\player.c" />
<ClCompile Include="src\windows\server_list.c" />
<ClCompile Include="src\windows\server_start.c" />
<ClCompile Include="src\windows\themes.c" />
<ClCompile Include="src\windows\title_command_editor.c" />
<ClCompile Include="src\windows\title_editor.c" />
<ClCompile Include="src\windows\maze_construction.c" />
<ClCompile Include="src\world\balloon.c" />
<ClCompile Include="src\world\duck.c" />
<ClCompile Include="src\world\money_effect.c" />
<ClCompile Include="src\world\particle.c" />
<ClCompile Include="src\title.c" />
<ClCompile Include="src\util\sawyercoding.c" />
<ClCompile Include="src\util\util.c" />
<ClCompile Include="src\windows\about.c" />
<ClCompile Include="src\windows\banner.c" />
<ClCompile Include="src\windows\cheats.c" />
<ClCompile Include="src\windows\clear_scenery.c" />
<ClCompile Include="src\windows\demolish_ride_prompt.c" />
<ClCompile Include="src\windows\dropdown.c" />
<ClCompile Include="src\windows\editor_bottom_toolbar.c" />
<ClCompile Include="src\windows\editor_inventions_list.c" />
<ClCompile Include="src\windows\editor_main.c" />
<ClCompile Include="src\windows\editor_objective_options.c" />
<ClCompile Include="src\windows\editor_object_selection.c" />
<ClCompile Include="src\windows\editor_scenario_options.c" />
<ClCompile Include="src\windows\error.c" />
<ClCompile Include="src\windows\finances.c" />
<ClCompile Include="src\windows\footpath.c" />
<ClCompile Include="src\windows\game_bottom_toolbar.c" />
<ClCompile Include="src\windows\guest_list.c" />
<ClCompile Include="src\windows\install_track.c" />
<ClCompile Include="src\windows\land.c" />
<ClCompile Include="src\windows\land_rights.c" />
<ClCompile Include="src\windows\loadsave.c" />
<ClCompile Include="src\windows\main.c" />
<ClCompile Include="src\windows\map.c" />
<ClCompile Include="src\windows\mapgen.c" />
<ClCompile Include="src\windows\map_tooltip.c" />
<ClCompile Include="src\windows\music_credits.c" />
<ClCompile Include="src\windows\news.c" />
<ClCompile Include="src\windows\new_campaign.c" />
<ClCompile Include="src\windows\new_ride.c" />
<ClCompile Include="src\windows\options.c" />
<ClCompile Include="src\windows\park.c" />
<ClCompile Include="src\windows\guest.c" />
<ClCompile Include="src\windows\publisher_credits.c" />
<ClCompile Include="src\windows\research.c" />
<ClCompile Include="src\windows\ride.c" />
<ClCompile Include="src\windows\ride_construction.c" />
<ClCompile Include="src\windows\ride_list.c" />
<ClCompile Include="src\windows\save_prompt.c" />
<ClCompile Include="src\windows\scenery.c" />
<ClCompile Include="src\windows\shortcut_keys.c" />
<ClCompile Include="src\windows\shortcut_key_change.c" />
<ClCompile Include="src\windows\sign.c" />
<ClCompile Include="src\windows\staff_fire_prompt.c" />
<ClCompile Include="src\windows\staff_list.c" />
<ClCompile Include="src\windows\staff.c" />
<ClCompile Include="src\windows\text_input.c" />
<ClCompile Include="src\windows\tile_inspector.c" />
<ClCompile Include="src\windows\title_exit.c" />
<ClCompile Include="src\windows\title_logo.c" />
<ClCompile Include="src\windows\title_menu.c" />
<ClCompile Include="src\windows\title_options.c" />
<ClCompile Include="src\windows\title_scenarioselect.c" />
<ClCompile Include="src\windows\tooltip.c" />
<ClCompile Include="src\windows\top_toolbar.c" />
<ClCompile Include="src\windows\track_list.c" />
<ClCompile Include="src\windows\track_manage.c" />
<ClCompile Include="src\windows\track_place.c" />
<ClCompile Include="src\windows\viewport.c" />
<ClCompile Include="src\windows\water.c" />
<ClCompile Include="src\world\banner.c" />
<ClCompile Include="src\world\climate.c" />
<ClCompile Include="src\world\footpath.c" />
<ClCompile Include="src\world\fountain.c" />
<ClCompile Include="src\world\map.c" />
<ClCompile Include="src\world\mapgen.c" />
<ClCompile Include="src\world\map_animation.c" />
<ClCompile Include="src\world\map_helpers.c" />
<ClCompile Include="src\world\park.c" />
<ClCompile Include="src\world\scenery.c" />
<ClCompile Include="src\world\sprite.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\addresses.h" />
<ClInclude Include="src\audio\audio.h" />
<ClInclude Include="src\audio\mixer.h" />
<ClInclude Include="src\cheats.h" />
<ClInclude Include="src\cmdline\CommandLine.hpp" />
<ClInclude Include="src\common.h" />
<ClInclude Include="src\config.h" />
<ClInclude Include="src\core\Console.hpp" />
<ClInclude Include="src\core\Diagnostics.hpp" />
<ClInclude Include="src\core\Exception.hpp" />
<ClInclude Include="src\core\FileStream.hpp" />
<ClInclude Include="src\core\Guard.hpp" />
<ClInclude Include="src\core\IDisposable.hpp" />
<ClInclude Include="src\core\IStream.hpp" />
<ClInclude Include="src\core\Json.hpp" />
<ClInclude Include="src\core\List.hpp" />
<ClInclude Include="src\core\Math.hpp" />
<ClInclude Include="src\core\Memory.hpp" />
<ClInclude Include="src\core\Path.hpp" />
<ClInclude Include="src\core\stopwatch.h" />
<ClInclude Include="src\core\Stopwatch.hpp" />
<ClInclude Include="src\core\String.hpp" />
<ClInclude Include="src\core\StringBuilder.hpp" />
<ClInclude Include="src\core\StringReader.hpp" />
<ClInclude Include="src\core\textinputbuffer.h" />
<ClInclude Include="src\core\Util.hpp" />
<ClInclude Include="src\cursors.h" />
<ClInclude Include="src\diagnostic.h" />
<ClInclude Include="src\drawing\drawing.h" />
<ClInclude Include="src\drawing\font.h" />
<ClInclude Include="src\drawing\supports.h" />
<ClInclude Include="src\editor.h" />
<ClInclude Include="src\game.h" />
<ClInclude Include="src\hook.h" />
<ClInclude Include="src\image_io.h" />
<ClInclude Include="src\input.h" />
<ClInclude Include="src\interface\chat.h" />
<ClInclude Include="src\interface\colour.h" />
<ClInclude Include="src\interface\themes.h" />
<ClInclude Include="src\interface\console.h" />
<ClInclude Include="src\interface\graph.h" />
<ClInclude Include="src\interface\keyboard_shortcut.h" />
<ClInclude Include="src\interface\screenshot.h" />
<ClInclude Include="src\interface\title_sequences.h" />
<ClInclude Include="src\interface\viewport.h" />
<ClInclude Include="src\interface\widget.h" />
<ClInclude Include="src\interface\window.h" />
<ClInclude Include="src\intro.h" />
<ClInclude Include="src\localisation\currency.h" />
<ClInclude Include="src\localisation\date.h" />
<ClInclude Include="src\localisation\format_codes.h" />
<ClInclude Include="src\localisation\language.h" />
<ClInclude Include="src\localisation\LanguagePack.h" />
<ClInclude Include="src\localisation\localisation.h" />
<ClInclude Include="src\localisation\string_ids.h" />
<ClInclude Include="src\management\award.h" />
<ClInclude Include="src\management\finance.h" />
<ClInclude Include="src\management\marketing.h" />
<ClInclude Include="src\management\news_item.h" />
<ClInclude Include="src\management\research.h" />
<ClInclude Include="src\network\http.h" />
<ClInclude Include="src\network\twitch.h" />
<ClInclude Include="src\network\network.h" />
<ClInclude Include="src\object.h" />
<ClInclude Include="src\openrct2.h" />
<ClInclude Include="src\peep\peep.h" />
<ClInclude Include="src\peep\staff.h" />
<ClInclude Include="src\platform\crash.h" />
<ClInclude Include="src\platform\platform.h" />
<ClInclude Include="src\rct1.h" />
<ClInclude Include="src\rct2.h" />
<ClInclude Include="src\ride\cable_lift.h" />
<ClInclude Include="src\ride\ride.h" />
<ClInclude Include="src\ride\ride_data.h" />
<ClInclude Include="src\ride\ride_ratings.h" />
<ClInclude Include="src\ride\station.h" />
<ClInclude Include="src\ride\track.h" />
<ClInclude Include="src\ride\track_data.h" />
<ClInclude Include="src\ride\track_paint.h" />
<ClInclude Include="src\ride\vehicle.h" />
<ClInclude Include="src\scenario.h" />
<ClCompile Include="src\scenario_sources.c" />
<ClInclude Include="src\sprites.h" />
<ClInclude Include="src\version.h" />
<ClInclude Include="test\management\finance_test.h" />
<ClInclude Include="test\ride\ride_ratings_test.h" />
<ClInclude Include="test\tests.h" />
<ClInclude Include="src\title.h" />
<ClInclude Include="src\util\sawyercoding.h" />
<ClInclude Include="src\util\util.h" />
<ClInclude Include="src\windows\dropdown.h" />
<ClInclude Include="src\windows\error.h" />
<ClInclude Include="src\windows\tooltip.h" />
<ClInclude Include="src\world\banner.h" />
<ClInclude Include="src\world\climate.h" />
<ClInclude Include="src\world\entrance.h" />
<ClInclude Include="src\world\footpath.h" />
<ClInclude Include="src\world\fountain.h" />
<ClInclude Include="src\world\map.h" />
<ClInclude Include="src\world\mapgen.h" />
<ClInclude Include="src\world\map_animation.h" />
<ClInclude Include="src\world\map_helpers.h" />
<ClInclude Include="src\world\park.h" />
<ClInclude Include="src\world\scenery.h" />
<ClInclude Include="src\world\sprite.h" />
<ClInclude Include="src\world\water.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D24D94F6-2A74-480C-B512-629C306CE92F}</ProjectGuid>
<RootNamespace>openrct2</RootNamespace>
<ProjectName>openrct2</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IncludePath>$(SolutionDir)lib\include;$(SolutionDir)lib\include\breakpad;$(SolutionDir)lib\include\libspeex;$(SolutionDir)lib\include\sdl;$(SolutionDir)lib\include\jansson;$(SolutionDir)lib\include\sdl_ttf;$(SolutionDir)lib\include\libpng;$(SolutionDir)lib\include\zlib;$(IncludePath)</IncludePath>
<LibraryPath>$(SolutionDir)lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin\</OutDir>
<IntDir>$(SolutionDir)obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IncludePath>$(SolutionDir)lib\include;$(SolutionDir)lib\include\breakpad;$(SolutionDir)lib\include\libspeex;$(SolutionDir)lib\include\sdl;$(SolutionDir)lib\include\jansson;$(SolutionDir)lib\include\sdl_ttf;$(SolutionDir)lib\include\libpng;$(SolutionDir)lib\include\zlib;$(IncludePath)</IncludePath>
<LibraryPath>$(SolutionDir)lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin\</OutDir>
<IntDir>$(SolutionDir)obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Breakpad)'=='true'">
<ClCompile>
<PreprocessorDefinitions>USE_BREAKPAD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<DisableSpecificWarnings>4091;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<PreprocessorDefinitions>$(OpenRCT2_DEFINES);DEBUG;_CRT_SECURE_NO_WARNINGS;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
<TreatSpecificWarningsAsErrors>4013</TreatSpecificWarningsAsErrors>
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>openrct2-libs-vs2015.lib;imm32.lib;version.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>UseFastLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<AdditionalOptions>/OPT:NOLBR /ignore:4099 %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<DisableSpecificWarnings>4091;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<WarningLevel>Level3</WarningLevel>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck />
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<TreatSpecificWarningsAsErrors>4013</TreatSpecificWarningsAsErrors>
<OmitFramePointers />
<BufferSecurityCheck>false</BufferSecurityCheck>
<PreprocessorDefinitions>$(OpenRCT2_DEFINES);_CRT_SECURE_NO_WARNINGS;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)\%(RelativeDir)</ObjectFileName>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>openrct2-libs-vs2015.lib;imm32.lib;version.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -1,24 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ShowAllFiles>false</ShowAllFiles>
<ShowAllFiles>true</ShowAllFiles>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerCommand>$(TargetDir)\openrct2.exe</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
<LocalDebuggerCommandArguments>
</LocalDebuggerCommandArguments>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommand>$(TargetDir)\openrct2.exe</LocalDebuggerCommand>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
<LocalDebuggerCommandArguments>
</LocalDebuggerCommandArguments>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommand>$(TargetDir)\openrct2.exe</LocalDebuggerCommand>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
<LocalDebuggerCommandArguments>
</LocalDebuggerCommandArguments>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'">
<LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>

View File

@@ -1,34 +0,0 @@
#init
$libversion = 4
$path = Split-Path $Script:MyInvocation.MyCommand.Path
$zip = $path+'\orctlibs.zip'
$libs = $path+'\lib'
$libsVFile = $path+'\libversion'
$liburl = 'https://openrct2.website/files/orctlibs-vs.zip'
$libsTest = Test-Path $libs
#libs version test
$libsVersionTest = Test-Path $libsVFile
$currentVersion = 0
$needsdownload = $true
if ($libsVersionTest) {
$currentVersion = [IO.File]::ReadAllText($libsVFile)
}
if ($currentVersion -ge $libversion) {
$needsdownload = $false
}
#download
if (!$libsTest -or $needsdownload) {
if ($libsTest) {
rm $libs -Recurse -Force
}
mkdir $libs
Invoke-WebRequest $liburl -OutFile $path\orctlibs.zip
[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $libs)
rm $path\orctlibs.zip -Force -ErrorAction SilentlyContinue
$libversion | Set-Content $libsVFile
} else {
echo 'All libs up to date'
}

View File

@@ -1,164 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release XP|Win32">
<Configuration>Release XP</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release with Tests|Win32">
<Configuration>Release with Tests</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0468FC1E-5881-4DB9-9DDE-1892290B31D9}</ProjectGuid>
<RootNamespace>language</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'">
<OutDir>$(SolutionDir)..\build\Release\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\Release\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<PostBuildEvent>
<Command>xcopy /Y "$(SolutionDir)\..\Data\Language\*.*" "$(TargetDir)\Data\Language\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>xcopy /Y "$(SolutionDir)\..\Data\Language\*.*" "$(TargetDir)\Data\Language\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>xcopy /Y "$(SolutionDir)\..\Data\Language\*.*" "$(TargetDir)\Data\Language\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>xcopy /Y "$(SolutionDir)\..\Data\Language\*.*" "$(TargetDir)\Data\Language\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="..\..\data\language\chinese_traditional.txt" />
<Text Include="..\..\data\language\dutch.txt" />
<Text Include="..\..\data\language\english_uk.txt" />
<Text Include="..\..\data\language\english_us.txt" />
<Text Include="..\..\data\language\french.txt" />
<Text Include="..\..\data\language\german.txt" />
<Text Include="..\..\data\language\hungarian.txt" />
<Text Include="..\..\data\language\polish.txt" />
<Text Include="..\..\data\language\spanish_sp.txt" />
<Text Include="..\..\data\language\swedish.txt" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Resource Files\Language">
<UniqueIdentifier>{96ec0470-f3e0-443e-8715-171ad8676bb6}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="..\..\data\language\dutch.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\english_uk.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\english_us.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\german.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\french.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\hungarian.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\polish.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\spanish_sp.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\swedish.txt">
<Filter>Resource Files\Language</Filter>
</Text>
<Text Include="..\..\data\language\chinese_traditional.txt">
<Filter>Resource Files\Language</Filter>
</Text>
</ItemGroup>
</Project>

View File

@@ -1,231 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release XP|Win32">
<Configuration>Release XP</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release with Tests|Win32">
<Configuration>Release with Tests</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}</ProjectGuid>
<RootNamespace>libs</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
<IncludePath>..\..\lib\libcurl\include;..\..\lib\jansson;..\..\lib\cutest\CuTest.h;..\..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>..\..\lib\libcurl\lib;..\..\lib\SDL2_ttf\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
<IncludePath>..\..\lib\libcurl\include;..\..\lib\jansson;..\..\lib\cutest\CuTest.h;..\..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>..\..\lib\libcurl\lib;..\..\lib\SDL2_ttf\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
<IncludePath>..\..\lib\libcurl\include;..\..\lib\jansson;..\..\lib\cutest\CuTest.h;..\..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>..\..\lib\libcurl\lib;..\..\lib\SDL2_ttf\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'">
<OutDir>$(SolutionDir)..\build\Release\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\Release\</IntDir>
<IncludePath>..\..\lib\libcurl\include;..\..\lib\jansson;..\..\lib\cutest\CuTest.h;..\..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>..\..\lib\libcurl\lib;..\..\lib\SDL2_ttf\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;NS_ENABLE_THREADS;NS_ENABLE_SSL;DISABLE_MD5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalDependencies>libcurl.lib;Ws2_32.lib;SDL2_ttf.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
<PreBuildEvent>
<Command>Powershell -NonInteractive -ExecutionPolicy "ByPass" -File "$(ProjectDir)../../pre-build.ps1"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;NS_ENABLE_THREADS;NS_ENABLE_SSL;DISABLE_MD5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<DebugInformationFormat>
</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<AdditionalDependencies>libcurl.lib;Ws2_32.lib;SDL2_ttf.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
<PreBuildEvent>
<Command>Powershell -NonInteractive -ExecutionPolicy "ByPass" -File "$(ProjectDir)../../pre-build.ps1"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;NS_ENABLE_THREADS;NS_ENABLE_SSL;DISABLE_MD5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<DebugInformationFormat>
</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<AdditionalDependencies>libcurl.lib;Ws2_32.lib;SDL2_ttf.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
<PreBuildEvent>
<Command>Powershell -NonInteractive -ExecutionPolicy "ByPass" -File "$(ProjectDir)../../pre-build.ps1"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;NS_ENABLE_THREADS;NS_ENABLE_SSL;DISABLE_MD5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<DebugInformationFormat>
</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<AdditionalDependencies>libcurl.lib;Ws2_32.lib;SDL2_ttf.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
<PreBuildEvent>
<Command>Powershell -NonInteractive -ExecutionPolicy "ByPass" -File "$(ProjectDir)../../pre-build.ps1"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\lib\argparse\argparse.c">
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="..\..\lib\cutest\CuTest.c" />
<ClCompile Include="..\..\lib\jansson\jansson\dump.c" />
<ClCompile Include="..\..\lib\jansson\jansson\error.c" />
<ClCompile Include="..\..\lib\jansson\jansson\hashtable.c" />
<ClCompile Include="..\..\lib\jansson\jansson\hashtable_seed.c" />
<ClCompile Include="..\..\lib\jansson\jansson\load.c" />
<ClCompile Include="..\..\lib\jansson\jansson\memory.c" />
<ClCompile Include="..\..\lib\jansson\jansson\pack_unpack.c" />
<ClCompile Include="..\..\lib\jansson\jansson\strbuffer.c" />
<ClCompile Include="..\..\lib\jansson\jansson\strconv.c" />
<ClCompile Include="..\..\lib\jansson\jansson\utf.c" />
<ClCompile Include="..\..\lib\jansson\jansson\value.c" />
<ClCompile Include="..\..\lib\libspeex\resample.c">
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<ClCompile Include="..\..\lib\lodepng\lodepng.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\lib\argparse\argparse.h" />
<ClInclude Include="..\..\lib\cutest\CuTest.h" />
<ClInclude Include="..\..\lib\jansson\jansson\hashtable.h" />
<ClInclude Include="..\..\lib\jansson\jansson\jansson.h" />
<ClInclude Include="..\..\lib\jansson\jansson\jansson_private.h" />
<ClInclude Include="..\..\lib\jansson\jansson\lookup3.h" />
<ClInclude Include="..\..\lib\jansson\jansson\strbuffer.h" />
<ClInclude Include="..\..\lib\jansson\jansson\utf.h" />
<ClInclude Include="..\..\lib\jansson\jansson_config.h" />
<ClInclude Include="..\..\lib\jansson\jansson_private_config.h" />
<ClInclude Include="..\..\lib\libspeex\arch.h" />
<ClInclude Include="..\..\lib\libspeex\config.h" />
<ClInclude Include="..\..\lib\libspeex\os_support.h" />
<ClInclude Include="..\..\lib\libspeex\speex\speex_resampler.h" />
<ClInclude Include="..\..\lib\libspeex\speex\speex_types.h" />
<ClInclude Include="..\..\lib\libspeex\stack_alloc.h" />
<ClInclude Include="..\..\lib\lodepng\lodepng.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="argparse">
<UniqueIdentifier>{f28d7721-061f-44b8-bbd5-42dc9483b387}</UniqueIdentifier>
</Filter>
<Filter Include="libspeex">
<UniqueIdentifier>{69f22202-b887-4e7c-bf7c-eb581571398d}</UniqueIdentifier>
</Filter>
<Filter Include="libspeex\speex">
<UniqueIdentifier>{45966214-8043-431c-8eb3-920c00bf749d}</UniqueIdentifier>
</Filter>
<Filter Include="lodepng">
<UniqueIdentifier>{7f953e55-d294-4158-b309-67f41fa82760}</UniqueIdentifier>
</Filter>
<Filter Include="libcurl">
<UniqueIdentifier>{7b46a2d6-1095-4e7a-b98b-006b832ef7a1}</UniqueIdentifier>
</Filter>
<Filter Include="jansson">
<UniqueIdentifier>{16ee6cb9-307a-4e8a-8261-a69d91b17739}</UniqueIdentifier>
</Filter>
<Filter Include="cutest">
<UniqueIdentifier>{92e56bd7-37be-465c-9212-3b6cfb8cf7c9}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\lib\argparse\argparse.c">
<Filter>argparse</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\libspeex\resample.c">
<Filter>libspeex</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\lodepng\lodepng.c">
<Filter>lodepng</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\dump.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\error.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\hashtable.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\hashtable_seed.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\load.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\memory.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\pack_unpack.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\strbuffer.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\strconv.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\utf.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\jansson\jansson\value.c">
<Filter>jansson</Filter>
</ClCompile>
<ClCompile Include="..\..\lib\cutest\CuTest.c">
<Filter>cutest</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\lib\argparse\argparse.h">
<Filter>argparse</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\libspeex\arch.h">
<Filter>libspeex</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\libspeex\config.h">
<Filter>libspeex</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\libspeex\os_support.h">
<Filter>libspeex</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\libspeex\stack_alloc.h">
<Filter>libspeex</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\libspeex\speex\speex_resampler.h">
<Filter>libspeex\speex</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\libspeex\speex\speex_types.h">
<Filter>libspeex\speex</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\lodepng\lodepng.h">
<Filter>lodepng</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson_config.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson_private_config.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson\hashtable.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson\jansson.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson\jansson_private.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson\lookup3.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson\strbuffer.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\jansson\jansson\utf.h">
<Filter>jansson</Filter>
</ClInclude>
<ClInclude Include="..\..\lib\cutest\CuTest.h" />
</ItemGroup>
</Project>

View File

@@ -1,51 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openrct2", "openrct2.vcxproj", "{D24D94F6-2A74-480C-B512-629C306CE92F}"
ProjectSection(ProjectDependencies) = postProject
{0468FC1E-5881-4DB9-9DDE-1892290B31D9} = {0468FC1E-5881-4DB9-9DDE-1892290B31D9}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "language", "language\language.vcxproj", "{0468FC1E-5881-4DB9-9DDE-1892290B31D9}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libs", "libs\libs.vcxproj", "{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release with Tests|Win32 = Release with Tests|Win32
Release XP|Win32 = Release XP|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D24D94F6-2A74-480C-B512-629C306CE92F}.Debug|Win32.ActiveCfg = Debug|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Debug|Win32.Build.0 = Debug|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release with Tests|Win32.ActiveCfg = Release with Tests|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release with Tests|Win32.Build.0 = Release with Tests|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release XP|Win32.ActiveCfg = Release XP|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release XP|Win32.Build.0 = Release XP|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release|Win32.ActiveCfg = Release|Win32
{D24D94F6-2A74-480C-B512-629C306CE92F}.Release|Win32.Build.0 = Release|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Debug|Win32.ActiveCfg = Debug|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Debug|Win32.Build.0 = Debug|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Release with Tests|Win32.ActiveCfg = Release with Tests|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Release with Tests|Win32.Build.0 = Release with Tests|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Release XP|Win32.ActiveCfg = Release XP|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Release XP|Win32.Build.0 = Release XP|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Release|Win32.ActiveCfg = Release|Win32
{0468FC1E-5881-4DB9-9DDE-1892290B31D9}.Release|Win32.Build.0 = Release|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Debug|Win32.ActiveCfg = Debug|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Debug|Win32.Build.0 = Debug|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Release with Tests|Win32.ActiveCfg = Release with Tests|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Release with Tests|Win32.Build.0 = Release with Tests|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Release XP|Win32.ActiveCfg = Release XP|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Release XP|Win32.Build.0 = Release XP|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Release|Win32.ActiveCfg = Release|Win32
{074DC930-05C6-4B7F-B5DD-DD237E6E44DB}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,512 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build0;Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build0">
<Copy SourceFiles="..\openrct2.exe" DestinationFolder="$(OutDir)" />
<Copy SourceFiles="..\curl-ca-bundle.crt" DestinationFolder="$(OutDir)" />
<Copy SourceFiles="..\SDL2.dll" DestinationFolder="$(OutDir)" />
</Target>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release XP|Win32">
<Configuration>Release XP</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release with Tests|Win32">
<Configuration>Release with Tests</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<None Include="..\curl-ca-bundle.crt" />
<None Include="..\openrct2.exe" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\addresses.c" />
<ClCompile Include="..\src\audio\audio.c" />
<ClCompile Include="..\src\audio\mixer.cpp" />
<ClCompile Include="..\src\cheats.c" />
<ClCompile Include="..\src\cmdline.c" />
<ClCompile Include="..\src\cmdline_sprite.c" />
<ClCompile Include="..\src\config.c" />
<ClCompile Include="..\src\cursors.c" />
<ClCompile Include="..\src\diagnostic.c" />
<ClCompile Include="..\src\drawing\drawing.c" />
<ClCompile Include="..\src\drawing\font.c" />
<ClCompile Include="..\src\drawing\line.c" />
<ClCompile Include="..\src\drawing\rain.c" />
<ClCompile Include="..\src\drawing\rect.c" />
<ClCompile Include="..\src\drawing\scrolling_text.c" />
<ClCompile Include="..\src\drawing\sprite.c" />
<ClCompile Include="..\src\drawing\string.c" />
<ClCompile Include="..\src\editor.c" />
<ClCompile Include="..\src\game.c" />
<ClCompile Include="..\src\hook.c" />
<ClCompile Include="..\src\input.c" />
<ClCompile Include="..\src\interface\chat.c" />
<ClCompile Include="..\src\interface\colour.c" />
<ClCompile Include="..\src\interface\themes.c" />
<ClCompile Include="..\src\interface\console.c" />
<ClCompile Include="..\src\interface\graph.c" />
<ClCompile Include="..\src\interface\keyboard_shortcut.c" />
<ClCompile Include="..\src\interface\screenshot.c" />
<ClCompile Include="..\src\interface\title_sequences.c" />
<ClCompile Include="..\src\interface\viewport.c" />
<ClCompile Include="..\src\interface\viewport_interaction.c" />
<ClCompile Include="..\src\interface\widget.c" />
<ClCompile Include="..\src\interface\window.c" />
<ClCompile Include="..\src\intro.c" />
<ClCompile Include="..\src\localisation\convert.c" />
<ClCompile Include="..\src\localisation\currency.c" />
<ClCompile Include="..\src\localisation\date.c" />
<ClCompile Include="..\src\localisation\language.cpp" />
<ClCompile Include="..\src\localisation\LanguagePack.cpp" />
<ClCompile Include="..\src\localisation\localisation.c" />
<ClCompile Include="..\src\localisation\real_names.c" />
<ClCompile Include="..\src\localisation\user.c" />
<ClCompile Include="..\src\localisation\utf8.c" />
<ClCompile Include="..\src\management\award.c" />
<ClCompile Include="..\src\management\finance.c" />
<ClCompile Include="..\src\management\marketing.c" />
<ClCompile Include="..\src\management\news_item.c" />
<ClCompile Include="..\src\management\research.c" />
<ClCompile Include="..\src\network\http.cpp" />
<ClCompile Include="..\src\network\network.cpp" />
<ClCompile Include="..\src\network\twitch.cpp" />
<ClCompile Include="..\src\object.c" />
<ClCompile Include="..\src\object_list.c" />
<ClCompile Include="..\src\openrct2.c" />
<ClCompile Include="..\src\peep\peep.c" />
<ClCompile Include="..\src\peep\staff.c" />
<ClCompile Include="..\src\platform\linux.c" />
<ClCompile Include="..\src\platform\posix.c" />
<ClCompile Include="..\src\platform\shared.c" />
<ClCompile Include="..\src\platform\osx.c" />
<ClCompile Include="..\src\platform\windows.c" />
<ClCompile Include="..\src\rct1.c" />
<ClCompile Include="..\src\rct2.c" />
<ClCompile Include="..\src\ride\ride.c" />
<ClCompile Include="..\src\ride\ride_data.c" />
<ClCompile Include="..\src\ride\ride_ratings.c" />
<ClCompile Include="..\src\ride\station.c" />
<ClCompile Include="..\src\ride\track.c" />
<ClCompile Include="..\src\ride\track_data.c" />
<ClCompile Include="..\src\ride\track_paint.c" />
<ClCompile Include="..\src\ride\vehicle.c" />
<ClCompile Include="..\src\scenario.c" />
<ClCompile Include="..\src\scenario_list.c" />
<ClCompile Include="..\src\windows\changelog.c" />
<ClCompile Include="..\src\windows\network_status.c" />
<ClCompile Include="..\src\windows\player_list.c" />
<ClCompile Include="..\src\windows\server_list.c" />
<ClCompile Include="..\src\windows\server_start.c" />
<ClCompile Include="..\src\windows\title_command_editor.c" />
<ClCompile Include="..\src\windows\title_editor.c" />
<ClCompile Include="..\src\windows\maze_construction.c" />
<ClCompile Include="..\src\world\balloon.c" />
<ClCompile Include="..\src\world\duck.c" />
<ClCompile Include="..\src\world\money_effect.c" />
<ClCompile Include="..\src\world\particle.c" />
<ClCompile Include="..\test\management\finance_test.c" />
<ClCompile Include="..\test\ride\ride_ratings_test.c" />
<ClCompile Include="..\test\tests.c" />
<ClCompile Include="..\src\title.c" />
<ClCompile Include="..\src\tutorial.c" />
<ClCompile Include="..\src\util\sawyercoding.c" />
<ClCompile Include="..\src\util\util.c" />
<ClCompile Include="..\src\windows\about.c" />
<ClCompile Include="..\src\windows\banner.c" />
<ClCompile Include="..\src\windows\cheats.c" />
<ClCompile Include="..\src\windows\clear_scenery.c" />
<ClCompile Include="..\src\windows\demolish_ride_prompt.c" />
<ClCompile Include="..\src\windows\dropdown.c" />
<ClCompile Include="..\src\windows\editor_bottom_toolbar.c" />
<ClCompile Include="..\src\windows\editor_inventions_list.c" />
<ClCompile Include="..\src\windows\editor_main.c" />
<ClCompile Include="..\src\windows\editor_objective_options.c" />
<ClCompile Include="..\src\windows\editor_object_selection.c" />
<ClCompile Include="..\src\windows\editor_scenario_options.c" />
<ClCompile Include="..\src\windows\error.c" />
<ClCompile Include="..\src\windows\finances.c" />
<ClCompile Include="..\src\windows\footpath.c" />
<ClCompile Include="..\src\windows\game_bottom_toolbar.c" />
<ClCompile Include="..\src\windows\guest_list.c" />
<ClCompile Include="..\src\windows\install_track.c" />
<ClCompile Include="..\src\windows\land.c" />
<ClCompile Include="..\src\windows\land_rights.c" />
<ClCompile Include="..\src\windows\loadsave.c" />
<ClCompile Include="..\src\windows\main.c" />
<ClCompile Include="..\src\windows\map.c" />
<ClCompile Include="..\src\windows\mapgen.c" />
<ClCompile Include="..\src\windows\map_tooltip.c" />
<ClCompile Include="..\src\windows\music_credits.c" />
<ClCompile Include="..\src\windows\news.c" />
<ClCompile Include="..\src\windows\new_campaign.c" />
<ClCompile Include="..\src\windows\new_ride.c" />
<ClCompile Include="..\src\windows\options.c" />
<ClCompile Include="..\src\windows\park.c" />
<ClCompile Include="..\src\windows\guest.c" />
<ClCompile Include="..\src\windows\publisher_credits.c" />
<ClCompile Include="..\src\windows\research.c" />
<ClCompile Include="..\src\windows\ride.c" />
<ClCompile Include="..\src\windows\ride_construction.c" />
<ClCompile Include="..\src\windows\ride_list.c" />
<ClCompile Include="..\src\windows\save_prompt.c" />
<ClCompile Include="..\src\windows\scenery.c" />
<ClCompile Include="..\src\windows\shortcut_keys.c" />
<ClCompile Include="..\src\windows\shortcut_key_change.c" />
<ClCompile Include="..\src\windows\sign.c" />
<ClCompile Include="..\src\windows\staff_fire_prompt.c" />
<ClCompile Include="..\src\windows\staff_list.c" />
<ClCompile Include="..\src\windows\staff.c" />
<ClCompile Include="..\src\windows\text_input.c" />
<ClCompile Include="..\src\windows\tile_inspector.c" />
<ClCompile Include="..\src\windows\title_exit.c" />
<ClCompile Include="..\src\windows\title_logo.c" />
<ClCompile Include="..\src\windows\title_menu.c" />
<ClCompile Include="..\src\windows\title_options.c" />
<ClCompile Include="..\src\windows\title_scenarioselect.c" />
<ClCompile Include="..\src\windows\tooltip.c" />
<ClCompile Include="..\src\windows\top_toolbar.c" />
<ClCompile Include="..\src\windows\track_list.c" />
<ClCompile Include="..\src\windows\track_manage.c" />
<ClCompile Include="..\src\windows\track_place.c" />
<ClCompile Include="..\src\windows\viewport.c" />
<ClCompile Include="..\src\windows\water.c" />
<ClCompile Include="..\src\windows\themes.c" />
<ClCompile Include="..\src\world\banner.c" />
<ClCompile Include="..\src\world\climate.c" />
<ClCompile Include="..\src\world\footpath.c" />
<ClCompile Include="..\src\world\fountain.c" />
<ClCompile Include="..\src\world\map.c" />
<ClCompile Include="..\src\world\mapgen.c" />
<ClCompile Include="..\src\world\map_animation.c" />
<ClCompile Include="..\src\world\map_helpers.c" />
<ClCompile Include="..\src\world\park.c" />
<ClCompile Include="..\src\world\scenery.c" />
<ClCompile Include="..\src\world\sprite.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\addresses.h" />
<ClInclude Include="..\src\audio\audio.h" />
<ClInclude Include="..\src\audio\mixer.h" />
<ClInclude Include="..\src\cheats.h" />
<ClInclude Include="..\src\cmdline.h" />
<ClInclude Include="..\src\common.h" />
<ClInclude Include="..\src\config.h" />
<ClInclude Include="..\src\core\Exception.hpp" />
<ClInclude Include="..\src\core\FileStream.hpp" />
<ClInclude Include="..\src\core\IDisposable.hpp" />
<ClInclude Include="..\src\core\IStream.hpp" />
<ClInclude Include="..\src\core\Math.hpp" />
<ClInclude Include="..\src\core\Memory.hpp" />
<ClInclude Include="..\src\core\StringBuilder.hpp" />
<ClInclude Include="..\src\core\StringReader.hpp" />
<ClInclude Include="..\src\cursors.h" />
<ClInclude Include="..\src\diagnostic.h" />
<ClInclude Include="..\src\drawing\drawing.h" />
<ClInclude Include="..\src\drawing\font.h" />
<ClInclude Include="..\src\editor.h" />
<ClInclude Include="..\src\game.h" />
<ClInclude Include="..\src\hook.h" />
<ClInclude Include="..\src\input.h" />
<ClInclude Include="..\src\interface\chat.h" />
<ClInclude Include="..\src\interface\colour.h" />
<ClInclude Include="..\src\interface\themes.h" />
<ClInclude Include="..\src\interface\console.h" />
<ClInclude Include="..\src\interface\graph.h" />
<ClInclude Include="..\src\interface\keyboard_shortcut.h" />
<ClInclude Include="..\src\interface\screenshot.h" />
<ClInclude Include="..\src\interface\title_sequences.h" />
<ClInclude Include="..\src\interface\viewport.h" />
<ClInclude Include="..\src\interface\widget.h" />
<ClInclude Include="..\src\interface\window.h" />
<ClInclude Include="..\src\intro.h" />
<ClInclude Include="..\src\localisation\currency.h" />
<ClInclude Include="..\src\localisation\date.h" />
<ClInclude Include="..\src\localisation\format_codes.h" />
<ClInclude Include="..\src\localisation\language.h" />
<ClInclude Include="..\src\localisation\LanguagePack.h" />
<ClInclude Include="..\src\localisation\localisation.h" />
<ClInclude Include="..\src\localisation\string_ids.h" />
<ClInclude Include="..\src\management\award.h" />
<ClInclude Include="..\src\management\finance.h" />
<ClInclude Include="..\src\management\marketing.h" />
<ClInclude Include="..\src\management\news_item.h" />
<ClInclude Include="..\src\management\research.h" />
<ClInclude Include="..\src\network\http.h" />
<ClInclude Include="..\src\network\twitch.h" />
<ClInclude Include="..\src\network\network.h" />
<ClInclude Include="..\src\object.h" />
<ClInclude Include="..\src\openrct2.h" />
<ClInclude Include="..\src\peep\peep.h" />
<ClInclude Include="..\src\peep\staff.h" />
<ClInclude Include="..\src\platform\platform.h" />
<ClInclude Include="..\src\rct1.h" />
<ClInclude Include="..\src\rct2.h" />
<ClInclude Include="..\src\ride\ride.h" />
<ClInclude Include="..\src\ride\ride_data.h" />
<ClInclude Include="..\src\ride\ride_ratings.h" />
<ClInclude Include="..\src\ride\station.h" />
<ClInclude Include="..\src\ride\track.h" />
<ClInclude Include="..\src\ride\track_data.h" />
<ClInclude Include="..\src\ride\track_paint.h" />
<ClInclude Include="..\src\ride\vehicle.h" />
<ClInclude Include="..\src\scenario.h" />
<ClInclude Include="..\src\sprites.h" />
<ClInclude Include="..\test\management\finance_test.h" />
<ClInclude Include="..\test\ride\ride_ratings_test.h" />
<ClInclude Include="..\test\tests.h" />
<ClInclude Include="..\src\title.h" />
<ClInclude Include="..\src\tutorial.h" />
<ClInclude Include="..\src\util\sawyercoding.h" />
<ClInclude Include="..\src\util\util.h" />
<ClInclude Include="..\src\windows\dropdown.h" />
<ClInclude Include="..\src\windows\error.h" />
<ClInclude Include="..\src\windows\tooltip.h" />
<ClInclude Include="..\src\world\banner.h" />
<ClInclude Include="..\src\world\climate.h" />
<ClInclude Include="..\src\world\entrance.h" />
<ClInclude Include="..\src\world\footpath.h" />
<ClInclude Include="..\src\world\fountain.h" />
<ClInclude Include="..\src\world\map.h" />
<ClInclude Include="..\src\world\mapgen.h" />
<ClInclude Include="..\src\world\map_animation.h" />
<ClInclude Include="..\src\world\map_helpers.h" />
<ClInclude Include="..\src\world\park.h" />
<ClInclude Include="..\src\world\scenery.h" />
<ClInclude Include="..\src\world\sprite.h" />
<ClInclude Include="..\src\world\water.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="libs\libs.vcxproj">
<Project>{074dc930-05c6-4b7f-b5dd-dd237e6e44db}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D24D94F6-2A74-480C-B512-629C306CE92F}</ProjectGuid>
<RootNamespace>openrct2</RootNamespace>
<ProjectName>openrct2</ProjectName>
<WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IncludePath>$(SolutionDir)..\lib;$(SolutionDir)..\lib\libspeex;$(SolutionDir)..\lib\sdl\include;$(SolutionDir)..\lib\libcurl\include;$(SolutionDir)..\lib\jansson;$(SolutionDir)..\lib\cutest;$(SolutionDir)..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>$(SolutionDir)..\lib\sdl\lib\x86;$(SolutionDir)..\lib\libcurl\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IncludePath>$(SolutionDir)..\lib;$(SolutionDir)..\lib\libspeex;$(SolutionDir)..\lib\sdl\include;$(SolutionDir)..\lib\libcurl\include;$(SolutionDir)..\lib\jansson;$(SolutionDir)..\lib\cutest;$(SolutionDir)..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>$(SolutionDir)..\lib\sdl\lib\x86;$(SolutionDir)..\lib\libcurl\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<IncludePath>$(SolutionDir)..\lib;$(SolutionDir)..\lib\libspeex;$(SolutionDir)..\lib\sdl\include;$(SolutionDir)..\lib\libcurl\include;$(SolutionDir)..\lib\jansson;$(SolutionDir)..\lib\cutest;$(SolutionDir)..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>$(SolutionDir)..\lib\sdl\lib\x86;$(SolutionDir)..\lib\libcurl\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)..\build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'">
<IncludePath>$(SolutionDir)..\lib;$(SolutionDir)..\lib\libspeex;$(SolutionDir)..\lib\sdl\include;$(SolutionDir)..\lib\libcurl\include;$(SolutionDir)..\lib\jansson;$(SolutionDir)..\lib\cutest;$(SolutionDir)..\lib\SDL2_ttf\include;$(IncludePath)</IncludePath>
<LibraryPath>$(SolutionDir)..\lib\sdl\lib\x86;$(SolutionDir)..\lib\libcurl\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)..\build\Release\</OutDir>
<IntDir>$(SolutionDir)..\obj\$(ProjectName)\Release\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<PreprocessorDefinitions>DEBUG;_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ObjectFileName>$(IntDir)fake\%(RelativeDir)</ObjectFileName>
<TreatSpecificWarningsAsErrors>4013</TreatSpecificWarningsAsErrors>
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>winmm.lib;sdl2.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>"$(TargetDir)openrct2.exe" sprite build "$(SolutionDir)..\Data\g2.dat" "$(SolutionDir)..\Resources\g2"
xcopy /YS "$(SolutionDir)..\Data" "$(TargetDir)Data"</Command>
<Message>Build g2.dat and copy the Data directory.</Message>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>
</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<TreatSpecificWarningsAsErrors>4013</TreatSpecificWarningsAsErrors>
<OmitFramePointers>
</OmitFramePointers>
<BufferSecurityCheck>false</BufferSecurityCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)fake\%(RelativeDir)</ObjectFileName>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>winmm.lib;sdl2.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
</Link>
<PostBuildEvent>
<Command>"$(TargetDir)openrct2.exe" sprite build "$(SolutionDir)..\Data\g2.dat" "$(SolutionDir)..\Resources\g2"
xcopy /YS "$(SolutionDir)..\Data" "$(TargetDir)Data"</Command>
<Message>Build g2.dat and copy the Data directory.</Message>
</PostBuildEvent>
<CustomBuildStep>
<Command>
</Command>
</CustomBuildStep>
<CustomBuildStep>
<Outputs>
</Outputs>
</CustomBuildStep>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release XP|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>
</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<TreatSpecificWarningsAsErrors>4013</TreatSpecificWarningsAsErrors>
<OmitFramePointers>
</OmitFramePointers>
<BufferSecurityCheck>false</BufferSecurityCheck>
<PreprocessorDefinitions>DISABLE_NETWORK;DISABLE_HTTP;DISABLE_TWITCH;_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)fake\%(RelativeDir)</ObjectFileName>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>winmm.lib;sdl2.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>"$(TargetDir)openrct2.exe" sprite build "$(SolutionDir)..\Data\g2.dat" "$(SolutionDir)..\Resources\g2"
xcopy /YS "$(SolutionDir)..\Data" "$(TargetDir)Data"</Command>
<Message>Build g2.dat and copy the Data directory.</Message>
</PostBuildEvent>
<CustomBuildStep>
<Command>
</Command>
</CustomBuildStep>
<CustomBuildStep>
<Outputs>
</Outputs>
</CustomBuildStep>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release with Tests|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>
</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<TreatSpecificWarningsAsErrors>4013</TreatSpecificWarningsAsErrors>
<OmitFramePointers>
</OmitFramePointers>
<BufferSecurityCheck>false</BufferSecurityCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;HAVE_CONFIG_H;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;ENABLE_TESTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)fake\%(RelativeDir)</ObjectFileName>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>winmm.lib;sdl2.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
</Link>
<PostBuildEvent>
<Command>"$(TargetDir)openrct2.exe" sprite build "$(SolutionDir)..\Data\g2.dat" "$(SolutionDir)..\Resources\g2"
xcopy /YS "$(SolutionDir)..\Data" "$(TargetDir)Data"</Command>
<Message>Build g2.dat and copy the Data directory.</Message>
</PostBuildEvent>
<CustomBuildStep>
<Command>
</Command>
</CustomBuildStep>
<CustomBuildStep>
<Outputs>
</Outputs>
</CustomBuildStep>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,14 +0,0 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by openrct2.rc
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@@ -1,17 +1,16 @@
# OpenRCT2
An open source clone of RollerCoaster Tycoon 2 built by decompiling the original game one bit at a time.
- [Screenshot 1, cheat windows](http://imgur.com/a/zJTYd)
- [Screenshot 2, large land tool area](http://i.imgur.com/kTkK5Gw.png) (up to 64 squares at once)
- [Screenshot 3, high resolution](http://i.imgur.com/yFzNyVu.jpg)
- [Screenshot 4, resizable window](http://imgur.com/a/3GDuT)
An open source re-implementation of Roller Coaster Tycoon 2. A construction and management simulation video game that simulates amusement park management.
Linux Build:
[![Travis CI](https://travis-ci.org/OpenRCT2/OpenRCT2.svg)](https://travis-ci.org/OpenRCT2/OpenRCT2)
Windows Build:
[![AppVeyor](https://ci.appveyor.com/api/projects/status/fib6re830brysuo2?svg=true)](https://ci.appveyor.com/project/IntelOrca/openrct2)
### Build Status
| | Windows | Linux / OSX | Download |
|-------------|---------|-------------|----------|
| **master** | [![AppVeyor](https://ci.appveyor.com/api/projects/status/7efnemxhon6i5n34/branch/develop?svg=true)](https://ci.appveyor.com/project/IntelOrca/openrct2-ject9) | [![Travis CI](https://travis-ci.org/OpenRCT2/OpenRCT2.svg?branch=master)](https://travis-ci.org/OpenRCT2/OpenRCT2) | [OpenRCT2.org](https://openrct2.org/downloads/master/latest) |
| **develop** | [![AppVeyor](https://ci.appveyor.com/api/projects/status/7efnemxhon6i5n34/branch/develop?svg=true)](https://ci.appveyor.com/project/IntelOrca/openrct2-ject9) | [![Travis CI](https://travis-ci.org/OpenRCT2/OpenRCT2.svg?branch=develop)](https://travis-ci.org/OpenRCT2/OpenRCT2) | [OpenRCT2.org](https://openrct2.org/downloads/develop/latest) |
Come talk with us if you have any questions:
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/OpenRCT2/OpenRCT2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
### Chat
| Developers | Players / Off-topic |
|------------|---------------------|
|[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/OpenRCT2/OpenRCT2)|[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/OpenRCT2/OpenRCT2/non-dev)|
# Contents
- 1 - [Introduction](#1-introduction)
@@ -62,51 +61,58 @@ The aim is to completely decompile RollerCoaster Tycoon 2 into C so that cross-p
# 2 Downloading the game / Building the source code
Several third party build servers offer precompiled builds and installers of the latest stable and the develop branch.
[OpenRCT2.com](https://openrct2.com/download)
[OpenRCT.net](https://openrct.net/builds.php)
[UrsaLabs](https://openrct.ursalabs.co)
There is also a Launcher available from [OpenRCT.net](https://openrct.net/download) that will automatically update your build so that you always have the current version as they are released.
[OpenRCT2.org](https://openrct2.org/downloads) offers precompiled builds and installers of the latest stable and the develop branch. There is also a Launcher available that will automatically update your build so that you always have the current version as they are released.
## 2.1 Building prerequisites
OpenRCT2 requires original files of Rollercoaster Tycoon 2 to play. It can be bought at either [Steam](http://store.steampowered.com/app/285330/) or [GOG.com](http://www.gog.com/game/rollercoaster_tycoon_2).
### Windows:
- Windows XP / Vista / 7 / 8 / 10
- Vista / 7 / 8 / 10
- Visual Studio 2015 (Enterprise / Professional / [Community (Free)](https://www.visualstudio.com/products/visual-studio-community-vs))
- [Powershell 4.0](http://social.technet.microsoft.com/wiki/contents/articles/21016.how-to-install-windows-powershell-4-0.aspx).
### Mac OS X:
- [Homebrew](http://brew.sh) or [MacPorts](https://www.macports.org/)
- [Homebrew](http://brew.sh)
### Mac OS X / Linux:
- [MinGW-w64](http://mingw-w64.sourceforge.net/)
- [Wine](http://www.winehq.org)
- libsdl2 compiled with MinGW-w64
- sdl2
- sdl2-ttf
- speexdsp
- curl (only if building with network support)
- jansson (only if building with network support)
- iconv (part of glibc on Linux)
- cmake
All libs listed here (bar cmake) required in 32 bit variants.
## 2.2 Compiling and running
### Windows:
1. Check out the repository. This can be done using [GitHub Windows](https://windows.github.com/) or [other tools](https://help.github.com/articles/which-remote-url-should-i-use).
2. Open the solution in the projects directory (**openrct2.sln**) with Visual Studio.
3. [Select the 'Release' configuration](http://msdn.microsoft.com/en-us/library/wx0123s5.aspx) and click Build -> Rebuild Solution. The dropdown menu to enable the 'release' configuration is towards the top of the VS Express window, near the "TEST" menu.
4. Start debugging. Press the "Local Windows Debugger" button with a green "play" icon next to it. If Visual Studio shows a warning about *openrct2.exe* not having debug information, press Continue.
5. When OpenRCT2 is run for the first time, it creates a settings file in `My Documents/OpenRCT2`. If it can't find the original installation of RCT2, you will need to edit `config.ini` in that folder and change the value of `game_path` to where RCT2 is installed.
6. If the game crashes, you may need to press the red, square Stop button along the top of VS Express to stop the program.
2. Open a new PowerShell window and navigate to the repository.
3. Run the setenv.ps1 script in the repository to setup your PowerShell environment for OpenRCT2 development. This will warn you of any missing applications required to build OpenRCT2.
4. Run ```install``` to download the required dependencies to build OpenRCT2.
5. Run ```build all``` to build all the required components for OpenRCT2.
6. Run ```run``` to run OpenRCT2.
Alternatively, to simply build the project you can just execute ``build.bat`` within VS2015 Native Tools Command prompt or Github Windows prompt.
These PowerShell scripts are stored in ```.\scripts\ps``` and have parameters. Once you have use the build script once, further development can be done within Visual Studio by opening ```openrct2.sln```. The build scripts have several commands allowing you to rebuild certain components such g2.dat or language files.
### Mac OS X:
Providing Homebrew or MacPorts are installed (but not both!), OpenRCT2's dependencies and Wine can be installed automatically through `install.sh`.
We support native builds OS X (limited to i386 only for now).
Make sure that you have [Homebrew](http://brew.sh/) installed and than run the following commands to install all the needed libraries and build openrct2.
```
bash install.sh
bash build.sh
wine openrct2.exe
# Install libraries
./install.sh
# Build OpenRCT2
./build.sh
# Run the game
./openrct2
```
### Linux:
As the easiest approach depends on your distribution, please take a look at the [wiki](https://github.com/OpenRCT2/OpenRCT2/wiki).
We support native builds for Linux (limited to i386 only for now).
As the easiest approach depends on your distribution, please take a look at the [wiki](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux).
# 3 Contributing
@@ -143,9 +149,8 @@ Translations are in progress for German, Dutch, French, Hungarian, Polish, Spani
# 5 More information
- [GitHub](https://github.com/OpenRCT2/OpenRCT2)
- [OpenRCT2.org](https://openrct2.org)
- [Forums](https://openrct2.org/forums/)
- [Facebook](https://www.facebook.com/OpenRCT2)
- [OpenRCT2.com](https://openrct2.com)
- [OpenRCT.net](https://openrct.net)
- [rct subreddit](http://www.reddit.com/r/rct/)
- [openrct2 subreddit](http://www.reddit.com/r/openrct2/)

BIN
resources/g2/60.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -41,4 +41,4 @@ using (FileStream fs = new FileStream(outputPath, FileMode.Create)) {
}
bw.Write(dataStream.ToArray());
}
}
}

View File

@@ -1 +0,0 @@
.\build\Release\openrct2.exe %*

113
scripts/linux/build.sh Executable file
View File

@@ -0,0 +1,113 @@
#!/bin/bash
set -e
cachedir=.cache
mkdir -p $cachedir
# Sets default target to "linux", if none specified
TARGET=${TARGET-linux}
SYSTEM=$(uname -s)
if [[ ! -d build ]]; then
mkdir -p build
fi
if [[ $TARGET != "linux" && $TARGET != "docker32" && $SYSTEM != "Darwin" ]]; then
# keep in sync with version in install.sh
if [[ $SYSTEM == "Darwin" ]]; then
# keep in sync with version in Xcode project
sha256sum=6562ce9e1f37f125e3345bfd8b961777800436bf607b30dc7c964e0e6991ad2c
else
sha256sum=f124c954bbd0b58c93e5fba46902806bd3637d3a1c5fb8e4b67441052f182df2
fi
libVFile="./libversion"
libdir="./lib"
currentversion=0
needsdownload="true"
if [ -f $libVFile ]; then
while read line; do
currentversion=$line
continue
done < $libVFile
fi
if [ "z$currentversion" == "z$sha256sum" ]; then
needsdownload="false"
fi
if [ ! -d $libdir ]; then
needsdownload="true"
fi
if [[ "$needsdownload" = "true" ]]; then
echo "Found library had sha256sum $currentversion, expected $sha256sum"
echo "New libraries need to be downloaded. Clearing cache and calling ./install.sh"
rm -rf ./lib
if [[ -f $cachedir/orctlibs.zip ]]; then
rm -rf $cachedir/orctlibs.zip
fi
if [[ -d /usr/local/cross-tools/orctlibs ]]; then
sudo rm -rf /usr/local/cross-tools/orctlibs
fi
if [[ -d $cachedir/orctlibs ]]; then
rm -rf $cachedir/orctlibs
fi
scripts/linux/install.sh
fi
# if [[ $TARGET != "linux" && $TARGET != "docker32" && $SYSTEM != "Darwin" ]]; then
fi
pushd build
echo OPENRCT2_CMAKE_OPTS = $OPENRCT2_CMAKE_OPTS
if [[ $TARGET == "docker32" ]]
then
PARENT=$(readlink -f ../)
chmod a+rwx $(pwd)
chmod g+s $(pwd)
# CMAKE and MAKE opts from environment
docker run -u travis -v $PARENT:/work/openrct2 -w /work/openrct2/build -i -t openrct2/openrct2:32bit-only bash -c "cmake ../ $OPENRCT2_CMAKE_OPTS && make $OPENRCT_MAKE_OPTS"
else
cmake $OPENRCT2_CMAKE_OPTS ..
# NOT the same variable as above
make $OPENRCT2_MAKE_OPTS
fi
popd
if [[ $TARGET == "windows" ]]; then
if [[ ! -h openrct2.dll ]]; then
ln -s build/openrct2.dll openrct2.dll
fi
fi
if [[ ! -h build/data ]]; then
ln -s ../data build/data
fi
if [[ $TARGET == "linux" ]] || [[ $TARGET == "docker32" ]]; then
if [[ ! -h openrct2 ]]; then
ln -s build/openrct2 openrct2
fi
fi
if [[ -z "$DISABLE_G2_BUILD" ]]; then
echo Building: g2.dat
pushd build
make g2
popd
fi
if [[ $TARGET == "windows" ]]; then
if [[ -t 1 ]]; then
echo -e "\nDone! Run OpenRCT2 by typing:\n\n\033[95mwine openrct2.exe\n\033[0m"
else
echo -e "\nDone! Run OpenRCT2 by typing:\n\nwine openrct2.exe\n"
fi
else
if [[ -t 1 ]]; then
echo -e "\nDone! Run OpenRCT2 by typing:\n\n\033[95m./openrct2\n\033[0m"
else
echo -e "\nDone! Run OpenRCT2 by typing:\n\n./openrct2\n"
fi
fi

View File

@@ -4,10 +4,12 @@ SDL2_PV=2.0.3
SDL2_TTF_PV=2.0.12
cachedir=.cache
liburl=https://openrct2.website/files/orctlibs.zip
mkdir -p $cachedir
echo $(uname)
if [[ $(uname -s) == "Darwin" ]]; then
liburl=https://openrct2.website/files/orctlibs-osx.zip
else
liburl=https://openrct2.website/files/orctlibs.zip
fi
mkdir -p "$cachedir"
# Sets default target to "linux", if none specified
TARGET=${TARGET-linux}
@@ -15,10 +17,25 @@ TARGET=${TARGET-linux}
libversion=3
libVFile="./libversion"
function has_cmd {
command -v "$1" >/dev/null 2>&1
}
function calculate_sha256 {
if has_cmd "shasum"; then
command shasum -a 256 "$1" | cut -f1 -d" "
elif has_cmd "sha256sum"; then
command sha256sum "$1" | cut -f1 -d" "
else
echo "Please install either sha256sum or shasum to continue"
exit 1
fi
}
function download {
if command -v curl > /dev/null 2>&1; then
if has_cmd "curl"; then
curl -L -o "$2" "$1"
elif command -v wget > /dev/null 2>&1; then
elif has_cmd "wget"; then
wget -O "$2" "$1"
else
echo "Please install either wget or curl to continue"
@@ -97,71 +114,46 @@ function install_pkg_config {
cat /usr/local/bin/i686-w64-mingw32-pkg-config
}
function install_local_libs {
mkdir -p lib
cp -rf $cachedir/orctlibs/local/* ./lib/.
function os_x_install_mingw_32 {
local mingw_name="mingw-w32-bin_i686-darwin"
local mingw_tar="${mingw_name}_20130531.tar.bz2"
local mingw_path="/usr/local/$mingw_name"
if [[ ! -f "$cachedir/$mingw_tar" ]]; then
download "https://downloads.sourceforge.net/project/mingw-w64/Toolchains targetting Win32/Automated Builds/$mingw_tar" "$cachedir/$mingw_tar"
fi
if [[ ! -d "$mingw_path" ]]; then
echo "Extracting contents of $mingw_tar to $mingw_path"
echo "Don't forget to add $mingw_path/bin to your PATH variable!"
mkdir "$mingw_path"
tar -xyf "$cachedir/$mingw_tar" -C "$mingw_path"
pushd "$mingw_path"
find . -type d -exec chmod 755 {} \;
popd
fi
}
echo TARGET = $TARGET
echo "HOST = $(uname)"
echo "TARGET = $TARGET"
if [[ $(uname) == "Darwin" ]]; then
echo "Installation of OpenRCT2 assumes you have homebrew and use it to install packages."
if [[ "$(uname)" == "Darwin" ]]; then
if ! has_cmd "brew"; then
echo "Homebrew is not installed, or brew is not in your \$PATH"
echo "install instructions: http://brew.sh/"
exit 1
fi
echo "Check if brew is installed"
package_command="brew"
which -s brew
if [ $? -eq 1 ]; then
echo "brew is not installed, or is not in your \$PATH"
echo "Check if MacPorts is installed"
which -s port
if [ $? -eq 1 ]; then
echo "MacPorts not found either, abort"
exit
else
echo "MacPorts found"
package_command="sudo port"
fi
else
echo "brew was found"
fi
brew install cmake
# Install packages with whatever command was found.
# Very possible I'm missing some dependencies here.
eval "$package_command install cmake wine"
if [[ ! -d /usr/include/wine ]]; then
# This will almost certainly break as brew changes. Better ideas
# welcome.
wine_path="/usr/local/Cellar/wine/1.6.2/include/wine"
if [ $package_command == "sudo port" ]; then
wine_path="/opt/local/include/wine"
fi
sudo ln -s $wine_path /usr/include
fi
mingw_name=mingw-w32-bin_i686-darwin
mingw_tar=$mingw_name"_20130531".tar.bz2
mingw_path=/usr/local/$mingw_name
if [[ ! -f $cachedir/$mingw_tar ]]; then
download "https://downloads.sourceforge.net/project/mingw-w64/Toolchains targetting Win32/Automated Builds/$mingw_tar" $cachedir/$mingw_tar
fi
if [[ ! -d "$mingw_path" ]]; then
pushd /usr/local/
sudo mkdir $mingw_name
popd
echo "Extracting contents of $mingw_tar to $mingw_path"
echo "Don't forget to add $mingw_path/bin to your PATH variable!"
sudo tar -xyf $cachedir/$mingw_tar -C $mingw_path
pushd /usr/local
sudo chmod 755 $mingw_name
pushd $mingw_name
sudo find . -type d -exec chmod 755 {} \;
popd
popd
fi
if [[ $TARGET == "windows" ]]; then
brew install wine
os_x_install_mingw_32
else
brew install jansson sdl2 sdl2_ttf speex --universal
fi
elif [[ $(uname) == "Linux" ]]; then
if [[ -z "$TRAVIS" ]]; then
sudo apt-get install -y binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 cmake
@@ -174,7 +166,7 @@ elif [[ $(uname) == "Linux" ]]; then
"linux")
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install --no-install-recommends -y --force-yes cmake libsdl2-dev:i386 libsdl2-ttf-dev:i386 gcc-4.8 pkg-config:i386 g++-4.8-multilib gcc-4.8-multilib libjansson-dev:i386 libspeex-dev:i386 libspeexdsp-dev:i386 libcurl4-openssl-dev:i386 libcrypto++-dev:i386 clang
sudo apt-get install --no-install-recommends -y --force-yes cmake libsdl2-dev:i386 libsdl2-ttf-dev:i386 gcc-4.8 pkg-config:i386 g++-4.8-multilib gcc-4.8-multilib libjansson-dev:i386 libspeex-dev:i386 libspeexdsp-dev:i386 libcurl4-openssl-dev:i386 libcrypto++-dev:i386 clang libfontconfig1-dev:i386 libfreetype6-dev:i386 libpng-dev:i386
download https://launchpad.net/ubuntu/+archive/primary/+files/libjansson4_2.7-1ubuntu1_i386.deb libjansson4_2.7-1ubuntu1_i386.deb
download https://launchpad.net/ubuntu/+archive/primary/+files/libjansson-dev_2.7-1ubuntu1_i386.deb libjansson-dev_2.7-1ubuntu1_i386.deb
sudo dpkg -i libjansson4_2.7-1ubuntu1_i386.deb
@@ -195,16 +187,13 @@ elif [[ $(uname) == "Linux" ]]; then
fi
fi
download_libs
# mind the gap (trailing space)
if [[ $(uname) == "Darwin" ]]; then
shasum -a 256 $cachedir/orctlibs.zip | cut -f1 -d\ > $libVFile
else
sha256sum $cachedir/orctlibs.zip | cut -f1 -d\ > $libVFile
if [[ $TARGET == "windows" || $(uname -s) == "Darwin" ]]; then
download_libs
calculate_sha256 "$cachedir/orctlibs.zip" > "$libVFile"
echo "Downloaded library with sha256sum: $(cat "$libVFile")"
# Local libs are required for all targets
# $TARGET == "windows" || $(uname -s) == "Darwin"
fi
echo "Downloaded library with sha256sum: $(cat $libVFile)"
# Local libs are required for all targets
install_local_libs
if [[ $TARGET == "windows" ]]; then
download_sdl

162
scripts/ps/appveyor_run.ps1 Normal file
View File

@@ -0,0 +1,162 @@
#########################################################
# Script to build OpenRCT2 on AppVeyor
#########################################################
function Push-Build($file, $name, $version, $flavourId)
{
curl.exe -s -o - `
--form "key=${env:OPENRCT2.ORG_TOKEN}" `
--form "fileName=$name" `
--form "version=$version" `
--form "gitHash=${env:APPVEYOR_REPO_COMMIT}" `
--form "gitBranch=${env:APPVEYOR_REPO_BRANCH}" `
--form "flavourId=$flavourId" `
--form "file=@$file" `
"https://openrct2.org/altapi/?command=push-build"
}
$server = "AppVeyor"
# Provide a short commit SHA1 too
${env:APPVEYOR_REPO_COMMIT_SHORT} = (${env:APPVEYOR_REPO_COMMIT}).Substring(0, 7)
# Current version
$version = "0.0.4.0"
# Tagged builds will hide branch and commit SHA1
$tag = $null
if (${env:APPVEYOR_REPO_TAG} -ne $null)
{
$tag = ${env:APPVEYOR_REPO_TAG_NAME}
}
# Enable code signing if password environment variable is set
$codeSign = $false
if (${env:CODE-SIGN-KEY-OPENRCT2.ORG.PFX.PASSWORD} -ne $null)
{
$codeSign = $true
}
# Enable pushing builds to OpenRCT2.org if token environment variable is set
$pushBuilds = $false
$installer = $false
$symbols = $false
if (${env:OPENRCT2.ORG_TOKEN} -ne $null)
{
$installer = $true
$symbols = $true
if ($tag -ne $null -or $env:APPVEYOR_REPO_BRANCH -match "^develop$|^push/")
{
$pushBuilds = $true
}
}
# Write out summary of the build
Write-Host "AppVeyor CI Build" -ForegroundColor Green
if ($tag -ne $null)
{
Write-Host " $version ($tag)" -ForegroundColor Green
}
else
{
Write-Host " $version-$env:APPVEYOR_REPO_BRANCH-$env:APPVEYOR_REPO_COMMIT_SHORT" -ForegroundColor Green
}
Write-Host " Signed: $codeSign" -ForegroundColor Green
Write-Host " Push : $pushBuilds" -ForegroundColor Green
# Install dependencies
install -Quiet
# Build OpenRCT2
publish build `
-Server $server `
-GitTag $tag `
-GitBranch $env:APPVEYOR_REPO_BRANCH `
-GitSha1 $env:APPVEYOR_REPO_COMMIT `
-GitSha1Short $env:APPVEYOR_REPO_COMMIT_SHORT `
-CodeSign $codeSign
if ($LASTEXITCODE -ne 0)
{
exit 1
}
# Create a Portable ZIP
publish package `
-Server $server `
-GitTag $tag `
-GitBranch $env:APPVEYOR_REPO_BRANCH `
-GitSha1 $env:APPVEYOR_REPO_COMMIT `
-GitSha1Short $env:APPVEYOR_REPO_COMMIT_SHORT `
-CodeSign $codeSign
# Create an Installer
if ($installer)
{
publish package `
-Installer `
-Server $server `
-GitTag $tag `
-GitBranch $env:APPVEYOR_REPO_BRANCH `
-GitSha1 $env:APPVEYOR_REPO_COMMIT `
-GitSha1Short $env:APPVEYOR_REPO_COMMIT_SHORT `
-CodeSign $codeSign
}
if ($symbols)
{
publish package `
-Symbols `
-Server $server `
-GitTag $tag `
-GitBranch $env:APPVEYOR_REPO_BRANCH `
-GitSha1 $env:APPVEYOR_REPO_COMMIT `
-GitSha1Short $env:APPVEYOR_REPO_COMMIT_SHORT `
-CodeSign $codeSign
}
if ($pushBuilds)
{
$versionExtension = ""
if ($tag -ne $null)
{
# Hide tag if it is a version
if ($GitTag -notmatch "^v[0-9]")
{
$versionExtension = "-$tag"
}
}
else
{
$versionExtension = "-${env:APPVEYOR_REPO_BRANCH}-${env:APPVEYOR_REPO_COMMIT_SHORT}"
}
$pushFileName = "OpenRCT2-${version}${versionExtension}-windows"
# Push portable zip
Write-Host "Sending portable zip to OpenRCT2.org" -ForegroundColor Cyan
Push-Build -file ".\artifacts\openrct2.zip" `
-name "$pushFileName.zip" `
-version $version `
-flavourId 1
# Push installer
if ($installer)
{
Write-Host "Sending installer to OpenRCT2.org" -ForegroundColor Cyan
Push-Build -file ".\artifacts\openrct2-install.exe" `
-name "$pushFileName.exe" `
-version $version `
-flavourId 2
}
# Push symbols
if ($symbols)
{
Write-Host "Sending symbols to OpenRCT2.org" -ForegroundColor Cyan
Push-Build -file ".\artifacts\openrct2-symbols-${env:APPVEYOR_REPO_COMMIT_SHORT}.zip" `
-name "$pushFileName-symbols.zip" `
-version $version `
-flavourId 5
}
}

81
scripts/ps/build.ps1 Normal file
View File

@@ -0,0 +1,81 @@
#########################################################
# Script to build different parts of OpenRCT2
#########################################################
[CmdletBinding()]
param (
[Parameter(Mandatory = $false, Position = 1)]
[string]$Task = "openrct2",
[Parameter(Mandatory = $false)]
[string]$Configuration = "Release",
[Parameter(Mandatory = $false)]
[switch]$Rebuild = $false,
[Parameter(Mandatory = $false)]
[switch]$Breakpad = $false
)
# Setup
$ErrorActionPreference = "Stop"
$scriptsPath = Split-Path $Script:MyInvocation.MyCommand.Path
Import-Module "$scriptsPath\common.psm1" -DisableNameChecking
# Get paths
$rootPath = Get-RootPath
$binPath = Join-Path $rootPath "bin"
$openrct2Path = Join-Path $binPath "openrct2.exe"
function Build-Data()
{
Write-Host "Copying data to bin..." -ForegroundColor Cyan
New-Item -Force -ItemType Directory $binPath > $null
Copy-Item -Force -Recurse "$rootPath\data" $binPath
return 0
}
function Build-OpenRCT2()
{
Write-Host "Building OpenRCT2 ($Configuration)..." -ForegroundColor Cyan
$target = ""
if ($Rebuild)
{
$target = "/t:rebuild"
}
msbuild $rootPath\openrct2.sln /p:Breakpad=$Breakpad /p:Configuration=$Configuration /p:Platform=Win32 $target /v:minimal | Write-Host
return $LASTEXITCODE
}
function Build-G2()
{
# Check if OpenRCT2 binary exists
if (-not (Test-Path $openrct2Path))
{
Write-Host "You must build OpenRCT2 first before g2.dat can be built." -ForegroundColor Red
return 1
}
Write-Host "Building g2.dat..." -ForegroundColor Cyan
& $openrct2Path sprite build "$binPath\data\g2.dat" "$rootPath\resources\g2"
return $LASTEXITCODE
}
function Build-All()
{
if (($result = (Build-Data )) -ne 0) { return $result }
if (($result = (Build-OpenRCT2)) -ne 0) { return $result }
if (($result = (Build-G2 )) -ne 0) { return $result }
}
# Script entry point
switch ($Task)
{
"data" { $result = Build-Data }
"openrct2" { $result = Build-OpenRCT2 }
"g2" { $result = Build-G2 }
"all" { $result = Build-All }
default { Write-Host "Unknown build task." -ForegroundColor Red
$result = 1 }
}
exit $result

29
scripts/ps/common.psm1 Normal file
View File

@@ -0,0 +1,29 @@
#########################################################
# Common functions for OpenRCT2 PowerShell scripts
#########################################################
$scriptsPath = Split-Path $Script:MyInvocation.MyCommand.Path
function AppExists($app)
{
$result = (Get-Command $app -CommandType Application -ErrorAction SilentlyContinue)
return ($result -ne $null -and $result.Count -gt 0)
}
function AddPath($path)
{
$env:path = "$path;$env:path"
}
function Get-RootPath()
{
return Split-Path (Split-Path $scriptsPath)
}
function Prompt-User($message)
{
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "Yes"
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", "No"
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$choice = $host.UI.PromptForChoice("", $message, $options, 1)
return ($choice -eq 0)
}

63
scripts/ps/install.ps1 Normal file
View File

@@ -0,0 +1,63 @@
#########################################################
# Script to install the latest dependencies for OpenRCT2
#########################################################
param (
[switch]$Force,
[switch]$Quiet
)
Write-Host "Installing OpenRCT2 development environment for Windows" -ForegroundColor Cyan
# Setup
$ErrorActionPreference = "Stop"
$scriptsPath = Split-Path $Script:MyInvocation.MyCommand.Path
Import-Module "$scriptsPath\common.psm1" -DisableNameChecking
# Constants
$libsUrl = "https://openrct2.website/files/openrct2-libs-vs2015.zip"
$libsVersion = 7
# Get paths
$rootPath = Get-RootPath
$libsPath = Join-Path $rootPath "lib"
$zipPath = Join-Path $libsPath "openrct2-libs-vs2015.zip"
$libsVersionPath = Join-Path $libsPath "libversion"
# Check if we need to update the dependencies
$currentLibsVersion = 0
$updateLibs = $true
if (Test-Path $libsVersionPath)
{
$currentLibsVersion = [IO.File]::ReadAllText($libsVersionPath)
}
if ($currentLibsVersion -ge $libsVersion)
{
$updateLibs = $false
}
# Check if user needs to download dependencies
$libsPathExists = Test-Path $libsPath
if ($libsPathExists -and -not $updateLibs -and -not $Force)
{
if (-not $Quiet -and (Prompt-User "Dependencies already exists, reinstall?"))
{
$updateLibs = $true
}
}
else
{
$updateLibs = $true
}
# Download latest version of the dependencies
if ($updateLibs) {
Write-Host "Updating dependencies..." -ForegroundColor Cyan
Remove-Item -Force -Recurse $libsPath -ErrorAction SilentlyContinue
New-Item -Force -ItemType Directory $libsPath > $null
Invoke-WebRequest $libsUrl -OutFile $zipPath
[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipPath, $libsPath)
Remove-Item $zipPath -Force -ErrorAction SilentlyContinue
$libsVersion | Set-Content $libsVersionPath
}

326
scripts/ps/publish.ps1 Normal file
View File

@@ -0,0 +1,326 @@
#########################################################
# Script to build and package OpenRCT2
# - Sets the source code preprocessor defines
# - Builds a clean release of OpenRCT2
# - Creates a ZIP for distribution
#########################################################
param (
[Parameter(Position = 1)]
[string]$Task = "all",
[string]$Server = "",
[string]$GitTag = "",
[string]$GitBranch = "",
[string]$GitSha1 = "",
[string]$GitSha1Short = "",
[bool] $CodeSign = $false,
[switch]$Installer = $false,
[switch]$Symbols = $false
)
if ($GitTag -eq "")
{
if ($GitBranch -eq $null)
{
$GitBranch = (git rev-parse --abbrev-ref HEAD)
}
if ($GitCommitSha1 -eq $null)
{
$GitCommitSha1 = (git rev-parse HEAD)
}
if ($GitCommitSha1Short -eq $null)
{
$GitCommitSha1Short = (git rev-parse --short HEAD)
}
}
# Setup
$ErrorActionPreference = "Stop"
$scriptsPath = Split-Path $Script:MyInvocation.MyCommand.Path
Import-Module "$scriptsPath\common.psm1" -DisableNameChecking
# Get paths
$rootPath = Get-RootPath
# Set build attributes
function Do-PrepareSource()
{
Write-Host "Setting build #defines..." -ForegroundColor Cyan
$defines = @{ }
$defines["OPENRCT2_BUILD_SERVER"] = $Server;
if ($GitTag -ne "")
{
# Hide tag if it is a version
if ($GitTag -match "^v[0-9]")
{
$defines["OPENRCT2_BRANCH"] = "";
}
else
{
$defines["OPENRCT2_BRANCH"] = $GitTag;
}
}
else
{
$defines["OPENRCT2_BRANCH"] = $GitBranch;
$defines["OPENRCT2_COMMIT_SHA1"] = $GitCommitSha1;
$defines["OPENRCT2_COMMIT_SHA1_SHORT"] = $GitCommitSha1Short;
}
$defineString = ""
foreach ($key in $defines.Keys) {
$value = $defines[$key]
if ($value -is [System.String]) {
$value = $value.Replace('"', '\"')
}
$defineString += "$key=""$value"";";
}
# Set the environment variable which the msbuild project will use
$env:OPENRCT2_DEFINES = $defineString;
return 0
}
# Building OpenRCT2
function Do-Build()
{
Write-Host "Building OpenRCT2..." -ForegroundColor Cyan
& "$scriptsPath\build.ps1" all -Rebuild -Breakpad
if ($LASTEXITCODE -ne 0)
{
Write-Host "Failed to build OpenRCT2" -ForegroundColor Red
return 1
}
if ($CodeSign)
{
$releaseDir = "$rootPath\bin"
$exePath = "$releaseDir\openrct2.exe"
$dllPath = "$releaseDir\openrct2.dll"
if (-not (Sign-Binary($exePath))) { return 1 }
if (-not (Sign-Binary($dllPath))) { return 1 }
}
return 0
}
# Symbols
function Do-Symbols()
{
Write-Host "Publishing OpenRCT2 debug symbols as zip..." -ForegroundColor Cyan
$artifactsDir = "$rootPath\artifacts"
$releaseDir = "$rootPath\bin"
$outZip = "$rootPath\artifacts\openrct2-symbols-$GitSha1Short.zip"
Copy-Item -Force "$releaseDir\openrct2.pdb" $artifactsDir -ErrorAction Stop
Copy-Item -Force "$releaseDir\openrct2.dll" $artifactsDir -ErrorAction Stop
# Create archive using 7z (renowned for speed and compression)
$7zcmd = "7za"
if (-not (AppExists($7zcmd)))
{
# AppVeyor in particular uses '7z' instead
$7zcmd = "7z"
if (-not (AppExists($7zcmd)))
{
Write-Host "Publish script requires 7z to be in PATH" -ForegroundColor Red
return 1
}
}
& $7zcmd a -tzip -mx9 $outZip "$artifactsDir\openrct2.pdb" "$artifactsDir\openrct2.dll" > $null
if ($LASTEXITCODE -ne 0)
{
Write-Host "Failed to create zip." -ForegroundColor Red
return 1
}
Remove-Item -Force -Recurse "$artifactsDir\openrct2.pdb" -ErrorAction SilentlyContinue
return 0
}
# Package
function Do-Package()
{
Write-Host "Publishing OpenRCT2 as zip..." -ForegroundColor Cyan
$releaseDir = "$rootPath\bin"
$distDir = "$rootPath\distribution"
$tempDir = "$rootPath\artifacts\temp"
$outZip = "$rootPath\artifacts\openrct2.zip"
# Create new temp directory
Remove-Item -Force -Recurse $tempDir -ErrorAction SilentlyContinue
New-Item -Force -ItemType Directory $tempDir > $null
# Copy files to be archived
Copy-Item -Force -Recurse "$releaseDir\data" $tempDir -ErrorAction Stop
Copy-Item -Force "$releaseDir\openrct2.exe" $tempDir -ErrorAction Stop
Copy-Item -Force "$releaseDir\openrct2.dll" $tempDir -ErrorAction Stop
Copy-Item -Force "$releaseDir\curl-ca-bundle.crt" $tempDir -ErrorAction Stop
Copy-Item -Force "$distDir\changelog.txt" $tempDir -ErrorAction Stop
Copy-Item -Force "$distDir\known_issues.txt" $tempDir -ErrorAction Stop
Copy-Item -Force "$distDir\readme.txt" $tempDir -ErrorAction Stop
Copy-Item -Force "$rootPath\contributors.md" $tempDir -ErrorAction Stop
Copy-Item -Force "$rootPath\licence.txt" $tempDir -ErrorAction Stop
# Create archive using 7z (renowned for speed and compression)
$7zcmd = "7za"
if (-not (AppExists($7zcmd)))
{
# AppVeyor in particular uses '7z' instead
$7zcmd = "7z"
if (-not (AppExists($7zcmd)))
{
Write-Host "Publish script requires 7z to be in PATH" -ForegroundColor Red
return 1
}
}
& $7zcmd a -tzip -mx9 $outZip "$tempDir\*" > $null
if ($LASTEXITCODE -ne 0)
{
Write-Host "Failed to create zip." -ForegroundColor Red
return 1
}
# Remove temp directory
Remove-Item -Force -Recurse $tempDir -ErrorAction SilentlyContinue
return 0
}
# Installer
function Do-Installer()
{
Write-Host "Publishing OpenRCT2 as installer..." -ForegroundColor Cyan
$artifactsDir = "$rootPath\artifacts"
$installerDir = "$rootPath\distribution\windows"
# Create artifacts directory
New-Item -Force -ItemType Directory $artifactsDir > $null
# Resolve version extension
$VersionExtra = ""
if ($GitTag -ne "")
{
# Hide tag if it is a version
if ($GitTag -notmatch "^v[0-9]")
{
$VersionExtra = "-$GitTag";
}
}
else
{
$VersionExtra = "-$GitBranch-$GitCommitSha1Short"
}
# Create installer
& "$installerDir\build.ps1" -VersionExtra $VersionExtra
if ($LASTEXITCODE -ne 0)
{
Write-Host "Failed to create installer." -ForegroundColor Red
if (Test-Path -PathType Leaf "$installerDir\win32.log")
{
Get-Content "$installerDir\win32.log" | Write-Host
}
return 1
}
$binaries = (Get-ChildItem "$installerDir\*.exe" | Sort-Object -Property LastWriteTime -Descending)
if ($binaries -eq 0)
{
Write-Host "Unable to find created installer." -ForegroundColor Red
return 1
}
$installerPath = $binaries[0].FullName
if ($CodeSign)
{
if (-not (Sign-Binary($installerPath))) { return 1 }
}
Move-Item -Force $installerPath "$artifactsDir\openrct2-install.exe"
return 0
}
function Do-Task-Build()
{
if (($result = (Do-PrepareSource)) -ne 0) { return $result }
if (($result = (Do-Build )) -ne 0) { return $result }
return 0
}
function Do-Task-Package()
{
if ($Installer)
{
if (($result = (Do-Installer)) -ne 0) { return $result }
}
elseif ($Symbols)
{
if (($result = (Do-Symbols)) -ne 0) { return $result }
}
else
{
if (($result = (Do-Package)) -ne 0) { return $result }
}
return 0
}
function Do-Task-All()
{
if (($result = (Do-Task-Build )) -ne 0) { return $result }
if (($result = (Do-Task-Package)) -ne 0) { return $result }
return 0
}
function Sign-Binary($binaryPath)
{
$pfxPath = "$rootPath\distribution\windows\code-sign-key-openrct2.org.pfx"
$pfxPassword = ${env:CODE-SIGN-KEY-OPENRCT2.ORG.PFX.PASSWORD}
$timestampUrl = "http://timestamp.comodoca.com/authenticode"
if (-not (Test-Path -PathType Leaf $pfxPath))
{
Write-Host "Unable to sign, code signature key was not found." -ForegroundColor Red
return 1
}
if ($pfxPassword -eq $null)
{
Write-Host "Unable to sign, %CODE-SIGN-KEY-OPENRCT2.ORG.PFX.PASSWORD% was not set." -ForegroundColor Red
return 1
}
# Resolve signtool path
$signtoolcmd = "signtool"
if (-not (AppExists($signtoolcmd)))
{
$signtoolcmd = "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\SignTool.exe"
if (-not (AppExists($signtoolcmd)))
{
Write-Host "Publish script requires signtool to be in PATH" -ForegroundColor Red
return 1
}
}
# Sign the binary
& $signtoolcmd sign /f $pfxPath /p $pfxPassword /t $timestampUrl $binaryPath
if ($LASTEXITCODE -ne 0)
{
Write-Host "Failed to sign binary." -ForegroundColor Red
return 1
}
return 0
}
# Script entry point
switch ($Task)
{
"build" { $result = Do-Task-Build }
"package" { $result = Do-Task-Package }
"all" { $result = Do-Task-All }
default { Write-Host "Unknown publish task." -ForegroundColor Red
$result = 1 }
}
exit $result

3
scripts/ps/run.ps1 Normal file
View File

@@ -0,0 +1,3 @@
$scriptsPath = Split-Path $Script:MyInvocation.MyCommand.Path
$rootPath = Split-Path (Split-Path $scriptsPath)
&("$rootPath\bin\openrct2.exe") $args

38
setenv.ps1 Normal file
View File

@@ -0,0 +1,38 @@
###########################################################
# Setups a PowerShell environment for OpenRCT2 development
###########################################################
# Setup
$ErrorActionPreference = "Stop"
$rootPath = Split-Path $Script:MyInvocation.MyCommand.Path
$scriptsPath = "$rootPath\scripts\ps"
Import-Module "$scriptsPath\common.psm1" -DisableNameChecking
Write-Host "Setting up OpenRCT2 development environment for Windows" -ForegroundColor Cyan
$appExists = @{}
$appExists["msbuild"] = AppExists("msbuild");
$appExists["7za"] = AppExists("7za");
$appExists["7z"] = AppExists("7z");
if (-not $appExists["msbuild"])
{
if ($env:PROCESSOR_ARCHITECTURE -eq "AMD64")
{
$lookPath = Join-Path ${env:ProgramFiles(x86)} "MSBuild\14.0\Bin\amd64\MSBuild.exe"
}
else
{
$lookPath = Join-Path $env:ProgramFiles "MSBuild\14.0\Bin\MSBuild.exe"
}
if (Test-Path $lookPath)
{
AddPath(Split-Path $lookPath)
}
else
{
Write-Host "Warning: msbuild not found, please include it in your PATH" -ForegroundColor Yellow
}
}
AddPath($scriptsPath)

View File

@@ -1,7 +1,11 @@
#include "addresses.h"
#if defined(__GNUC__)
#define DISABLE_OPT __attribute__((noinline,optimize("O0")))
#ifdef __clang__
#define DISABLE_OPT __attribute__((noinline,optnone))
#else
#define DISABLE_OPT __attribute__((noinline,optimize("O0")))
#endif // __clang__
#else
#define DISABLE_OPT
#endif // defined(__GNUC__)

View File

@@ -21,38 +21,14 @@
#ifndef _ADDRESSES_H_
#define _ADDRESSES_H_
#include "common.h"
#ifdef _MSC_VER
#pragma warning(disable : 4731)
#endif
#define RCT2_ADDRESS(address, type) ((type*)(address))
#define RCT2_GLOBAL(address, type) (*((type*)(address)))
#ifdef _WIN32
#define RCT2_CALLPROC(address) (((void(*)())(address))())
#define RCT2_CALLFUNC(address, returnType) (((returnType(*)())(address))())
#define RCT2_CALLFUNC_1(address, returnType, a1, v1) (((returnType(*)(a1))(address))(v1))
#define RCT2_CALLFUNC_2(address, returnType, a1, a2, v1, v2) (((returnType(*)(a1, a2))(address))(v1, v2))
#define RCT2_CALLFUNC_3(address, returnType, a1, a2, a3, v1, v2, v3) (((returnType(*)(a1, a2, a3))(address))(v1, v2, v3))
#define RCT2_CALLFUNC_4(address, returnType, a1, a2, a3, a4, v1, v2, v3, v4) (((returnType(*)(a1, a2, a3, a4))(address))(v1, v2, v3, v4))
#define RCT2_CALLFUNC_5(address, returnType, a1, a2, a3, a4, a5, v1, v2, v3, v4, v5) (((returnType(*)(a1, a2, a3, a4, a5))(address))(v1, v2, v3, v4, v5))
#define RCT2_CALLFUNC_6(address, returnType, a1, a2, a3, a4, a5, a6, v1, v2, v3, v4, v5, v6) (((returnType(*)(a1, a2, a3, a4, a5, a6))(address))(v1, v2, v3, v4, v5, v6))
#else
#define RCT2_CALLPROC(address)
#define RCT2_CALLFUNC(address, returnType)
#define RCT2_CALLFUNC_1(address, returnType, a1, v1)
#define RCT2_CALLFUNC_2(address, returnType, a1, a2, v1, v2)
#define RCT2_CALLFUNC_3(address, returnType, a1, a2, a3, v1, v2, v3)
#define RCT2_CALLFUNC_4(address, returnType, a1, a2, a3, a4, v1, v2, v3, v4)
#define RCT2_CALLFUNC_5(address, returnType, a1, a2, a3, a4, a5, v1, v2, v3, v4, v5)
#define RCT2_CALLFUNC_6(address, returnType, a1, a2, a3, a4, a5, a6, v1, v2, v3, v4, v5, v6)
#endif // _WIN32
#define RCT2_CALLPROC_1(address, a1, v1) RCT2_CALLFUNC_1(address, void, a1, v1)
#define RCT2_CALLPROC_2(address, a1, a2, v1, v2) RCT2_CALLFUNC_2(address, void, a1, a2, v1, v2)
#define RCT2_CALLPROC_3(address, a1, a2, a3, v1, v2, v3) RCT2_CALLFUNC_3(address, void, a1, a2, a3, v1, v2, v3)
#define RCT2_CALLPROC_4(address, a1, a2, a3, a4, v1, v2, v3, v4) RCT2_CALLFUNC_4(address, void, a1, a2, a3, a4, v1, v2, v3, v4)
#define RCT2_CALLPROC_5(address, a1, a2, a3, a4, a5, v1, v2, v3, v4, v5) RCT2_CALLFUNC_5(address, void, a1, a2, a3, a4, a5, v1, v2, v3, v4, v5)
#pragma region Memory locations
@@ -63,6 +39,7 @@
// are implemented in C. Sometimes memory locations are still used even if
// they aren't directly referenced, for example when a game is saved and
// loaded, large chunks of data is read and written to.
#define RCT2_ADDRESS_SPRITE_ENTRIES 0x00982708
#define RCT2_ADDRESS_EASTEREGG_NAMES 0x00988C20
@@ -146,6 +123,9 @@
#define RCT2_ADDRESS_PATH_TYPES 0x009ADA14
#define RCT2_ADDRESS_PATH_BIT_SCENERY_ENTRIES 0x009ADA54
#define RCT2_ADDRESS_SCENERY_SET_ENTRIES 0x009ADA90
#define RCT2_ADDRESS_PARK_ENTRANCE_ENTRIES 0x009ADADC
#define RCT2_ADDRESS_WATER_ENTRIES 0x009ADAE0
#define RCT2_ADDRESS_SCENARIO_TEXT_ENTRIES 0x009ADAE4
#define RCT2_ADDRESS_INSTALLED_OBJECT_LIST 0x009ADAE8
#define RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST 0x009ADAEC
@@ -191,7 +171,7 @@
#define RCT2_ADDRESS_TICKS_SINCE_DRAG_START 0x009DE540
#define RCT2_ADDRESS_PICKEDUP_PEEP_SPRITE 0x009DE550
#define RCT2_ADDRESS_PICKEDUP_PEEP_IMAGE 0x009DE550
#define RCT2_ADDRESS_PICKEDUP_PEEP_X 0x009DE554
#define RCT2_ADDRESS_PICKEDUP_PEEP_Y 0x009DE556
@@ -291,6 +271,10 @@
#define RCT2_ADDRESS_PEEP_UPDATE_FALLING_MAP 0x00F1AEC4
#define RCT2_ADDRESS_PEEP_UPDATE_FALLING_HEIGHT 0x00F1AEC8
#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_X 0x00F1AECE
#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_Y 0x00F1AED0
#define RCT2_ADDRESS_PEEP_PATHFINDING_GOAL_Z 0x00F1AED2
#define RCT2_ADDRESS_PROVISIONAL_PATH_FLAGS 0x00F3EF92
#define RCT2_ADDRESS_PROVISIONAL_PATH_X 0x00F3EF94
#define RCT2_ADDRESS_PROVISIONAL_PATH_Y 0x00F3EF96
@@ -479,6 +463,7 @@
#define RCT2_ADDRESS_SAVED_VIEW_X 0x0138869A
#define RCT2_ADDRESS_SAVED_VIEW_Y 0x0138869C
#define RCT2_ADDRESS_SAVED_VIEW_ZOOM_AND_ROTATION 0x0138869E
#define RCT2_ADDRESS_SCENARIO_COMPLETED_BY 0x013587D8
#define RCT2_ADDRESS_RIDE_MEASUREMENTS 0x0138B60C
#define RCT2_ADDRESS_GRASS_SCENERY_TILEPOS 0x013B0E70
@@ -513,6 +498,8 @@
#define RCT2_ADDRESS_FONT_CHAR_WIDTH 0x0141E9E8
#define RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT 0x0141E9D8
#define RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER 0x0141ED68
// This value is always 4 times the actual type
@@ -639,16 +626,17 @@
#pragma endregion
/* Returns the flags register
/**
* Returns the flags register
*
*Flags register is as follows:
*0bSZ0A_0P0C_0000_0000
*S = Signed flag
*Z = Zero flag
*C = Carry flag
*A = Adjust flag
*P = Parity flag
*All other bits are undefined.
* Flags register is as follows:
* 0bSZ0A_0P0C_0000_0000
* S = Signed flag
* Z = Zero flag
* C = Carry flag
* A = Adjust flag
* P = Parity flag
* All other bits are undefined.
*/
int RCT2_CALLPROC_X(int address, int _eax, int _ebx, int _ecx, int _edx, int _esi, int _edi, int _ebp);
@@ -657,16 +645,17 @@ static int RCT2_CALLPROC_EBPSAFE(int address)
return RCT2_CALLPROC_X(address, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB);
}
/* Returns the flags register
/**
* Returns the flags register
*
*Flags register is as follows:
*0bSZ0A_0P0C_0000_00000
*S = Signed flag
*Z = Zero flag
*C = Carry flag
*A = Adjust flag
*P = Parity flag
*All other bits are undefined.
* Flags register is as follows:
* 0bSZ0A_0P0C_0000_00000
* S = Signed flag
* Z = Zero flag
* C = Carry flag
* A = Adjust flag
* P = Parity flag
* All other bits are undefined.
*/
int RCT2_CALLFUNC_X(int address, int *_eax, int *_ebx, int *_ecx, int *_edx, int *_esi, int *_edi, int *_ebp);

View File

@@ -44,7 +44,6 @@ void *gCrowdSoundChannel = 0;
bool gGameSoundsOff = false;
void *gRainSoundChannel = 0;
rct_ride_music gRideMusicList[AUDIO_MAX_RIDE_MUSIC];
rct_ride_music_info *gRideMusicInfoList[NUM_DEFAULT_MUSIC_TRACKS];
rct_ride_music_params gRideMusicParamsList[AUDIO_MAX_RIDE_MUSIC];
rct_ride_music_params *gRideMusicParamsListEnd;
void *gTitleMusicChannel = 0;
@@ -61,9 +60,9 @@ void audio_init()
if (result >= 0)
return;
log_fatal("SDL_Init %s", SDL_GetError());
exit(-1);
}
log_fatal("SDL_Init %s", SDL_GetError());
exit(-1);
}
void audio_quit()
{
@@ -79,18 +78,26 @@ void audio_populate_devices()
if (gAudioDeviceCount <= 0)
return;
gAudioDeviceCount++;
gAudioDevices = malloc(gAudioDeviceCount * sizeof(audio_device));
safe_strncpy(gAudioDevices[0].name, language_get_string(5510), AUDIO_DEVICE_NAME_SIZE);
for (int i = 1; i < gAudioDeviceCount; i++) {
const char *utf8Name = SDL_GetAudioDeviceName(i - 1, SDL_FALSE);
audio_device *systemAudioDevices = malloc(gAudioDeviceCount * sizeof(audio_device));
for (int i = 0; i < gAudioDeviceCount; i++) {
const char *utf8Name = SDL_GetAudioDeviceName(i, SDL_FALSE);
if (utf8Name == NULL)
utf8Name = language_get_string(5511);
safe_strncpy(gAudioDevices[i].name, utf8Name, AUDIO_DEVICE_NAME_SIZE);
}
safe_strcpy(systemAudioDevices[i].name, utf8Name, AUDIO_DEVICE_NAME_SIZE);
}
#ifndef __LINUX__
gAudioDeviceCount++;
gAudioDevices = malloc(gAudioDeviceCount * sizeof(audio_device));
safe_strcpy(gAudioDevices[0].name, language_get_string(5510), AUDIO_DEVICE_NAME_SIZE);
memcpy(&gAudioDevices[1], systemAudioDevices, (gAudioDeviceCount - 1) * sizeof(audio_device));
#else
gAudioDevices = malloc(gAudioDeviceCount * sizeof(audio_device));
memcpy(gAudioDevices, systemAudioDevices, gAudioDeviceCount * sizeof(audio_device));
#endif // __LINUX__
free(systemAudioDevices);
}
int audio_play_sound_panned(int soundId, int pan, sint16 x, sint16 y, sint16 z)
{
@@ -128,6 +135,8 @@ rct_audio_params audio_get_params_from_location(int soundId, const rct_xyz16 *lo
int volumeDown = 0;
rct_audio_params params;
params.in_range = true;
params.volume = 0;
params.pan = 0;
rct_map_element *element = map_get_surface_element_at(location->x / 32, location->y / 32);
if (element && (element->base_height * 8) - 5 > location->z)
@@ -137,9 +146,9 @@ rct_audio_params audio_get_params_from_location(int soundId, const rct_xyz16 *lo
rct_xy16 pos2 = coordinate_3d_to_2d(location, rotation);
rct_window *window = RCT2_GLOBAL(RCT2_ADDRESS_NEW_WINDOW_PTR, rct_window*);
while (true) {
window--;
window--;
if (window < RCT2_ADDRESS(RCT2_ADDRESS_WINDOW_LIST, rct_window))
break;
break;
rct_viewport *viewport = window->viewport;
if (!viewport || !(viewport->flags & VIEWPORT_FLAG_SOUND_ON))
@@ -153,11 +162,11 @@ rct_audio_params audio_get_params_from_location(int soundId, const rct_xyz16 *lo
if (vy < 0 || vy >= viewport->view_height || vx < 0 || vx >= viewport->view_width || params.volume < -10000) {
params.in_range = false;
return params;
}
}
}
}
return params;
}
}
int audio_play_sound(int soundId, int volume, int pan)
{
@@ -204,6 +213,7 @@ void audio_start_title_music()
}
gTitleMusicChannel = Mixer_Play_Music(pathId, MIXER_LOOP_INFINITE, true);
Mixer_Channel_SetGroup(gTitleMusicChannel, MIXER_GROUP_TITLE_MUSIC);
}
void audio_stop_ride_music()
@@ -260,10 +270,9 @@ void audio_init_ride_sounds_and_info()
if (file == NULL)
continue;
uint32 head;
SDL_RWread(file, &head, sizeof(head), 1);
SDL_RWclose(file);
RCT2_GLOBAL(0x014241BC, uint32) = 0;
uint32 head;
SDL_RWread(file, &head, sizeof(head), 1);
SDL_RWclose(file);
if (head == 0x78787878)
rideMusicInfo->length = 0;
}
@@ -295,8 +304,8 @@ void audio_close()
}
void audio_toggle_all_sounds(){
gConfigSound.sound = !gConfigSound.sound;
if (gConfigSound.sound)
gConfigSound.sound_enabled = !gConfigSound.sound_enabled;
if (gConfigSound.sound_enabled)
audio_unpause_sounds();
else {
audio_stop_title_music();
@@ -323,7 +332,7 @@ void audio_stop_vehicle_sounds()
if (gOpenRCT2Headless || RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_SOUND_DEVICE, sint32) == -1)
return;
for (int i = 0; i < countof(gVehicleSoundList); i++) {
for (int i = 0; i < countof(gVehicleSoundList); i++) {
rct_vehicle_sound *vehicleSound = &gVehicleSoundList[i];
if (vehicleSound->id == 0xFFFF)
continue;

View File

@@ -170,7 +170,7 @@ extern rct_vehicle_sound_params *gVehicleSoundParamsListEnd;
* rct2: 0x006BAB21
*/
void audio_close();
/*
/**
* Initialises the audio subsystem.
*/
void audio_init();

View File

@@ -19,6 +19,7 @@
*****************************************************************************/
extern "C" {
#include "../addresses.h"
#include "../config.h"
#include "../platform/platform.h"
#include "../localisation/localisation.h"
@@ -27,6 +28,8 @@ extern "C" {
}
#include "mixer.h"
#include <cmath>
#include "../core/Math.hpp"
#include "../core/Util.hpp"
Mixer gMixer;
@@ -434,10 +437,10 @@ Mixer::Mixer()
{
effectbuffer = 0;
volume = 1;
for (int i = 0; i < countof(css1sources); i++) {
for (size_t i = 0; i < Util::CountOf(css1sources); i++) {
css1sources[i] = 0;
}
for (int i = 0; i < countof(musicsources); i++) {
for (size_t i = 0; i < Util::CountOf(musicsources); i++) {
musicsources[i] = 0;
}
}
@@ -458,7 +461,7 @@ void Mixer::Init(const char* device)
format.channels = have.channels;
format.freq = have.freq;
const char* filename = get_file_path(PATH_ID_CSS1);
for (int i = 0; i < countof(css1sources); i++) {
for (size_t i = 0; i < Util::CountOf(css1sources); i++) {
Source_Sample* source_sample = new Source_Sample;
if (source_sample->LoadCSS1(filename, i)) {
source_sample->Convert(format); // convert to audio output format, saves some cpu usage but requires a bit more memory, optional
@@ -481,13 +484,13 @@ void Mixer::Close()
}
Unlock();
SDL_CloseAudioDevice(deviceid);
for (int i = 0; i < countof(css1sources); i++) {
for (size_t i = 0; i < Util::CountOf(css1sources); i++) {
if (css1sources[i] && css1sources[i] != &source_null) {
delete css1sources[i];
css1sources[i] = 0;
}
}
for (int i = 0; i < countof(musicsources); i++) {
for (size_t i = 0; i < Util::CountOf(musicsources); i++) {
if (musicsources[i] && musicsources[i] != &source_null) {
delete musicsources[i];
musicsources[i] = 0;
@@ -530,9 +533,9 @@ void Mixer::Stop(Channel& channel)
Unlock();
}
bool Mixer::LoadMusic(int pathId)
bool Mixer::LoadMusic(size_t pathId)
{
if (pathId >= countof(musicsources)) {
if (pathId >= Util::CountOf(musicsources)) {
return false;
}
if (!musicsources[pathId]) {
@@ -574,7 +577,12 @@ void SDLCALL Mixer::Callback(void* arg, uint8* stream, int length)
void Mixer::MixChannel(Channel& channel, uint8* data, int length)
{
if (channel.source && channel.source->Length() > 0 && !channel.done && gConfigSound.sound) {
// Do not mix channel if channel is a sound and sound is disabled
if (channel.group == MIXER_GROUP_SOUND && !gConfigSound.sound_enabled) {
return;
}
if (channel.source && channel.source->Length() > 0 && !channel.done) {
AudioFormat streamformat = channel.source->Format();
int loaded = 0;
SDL_AudioCVT cvt;
@@ -664,8 +672,18 @@ void Mixer::MixChannel(Channel& channel, uint8* data, int length)
float volumeadjust = volume;
volumeadjust *= (gConfigSound.master_volume / 100.0f);
if (channel.group == MIXER_GROUP_MUSIC) {
volumeadjust *= (gConfigSound.music_volume / 100.0f);
switch (channel.group) {
case MIXER_GROUP_SOUND:
volumeadjust *= (gConfigSound.sound_volume / 100.0f);
// Cap sound volume on title screen so music is more audible
if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_TITLE_DEMO) {
volumeadjust = Math::Min(volumeadjust, 0.75f);
}
break;
case MIXER_GROUP_RIDE_MUSIC:
volumeadjust *= (gConfigSound.ride_music_volume / 100.0f);
break;
}
int startvolume = (int)(channel.oldvolume * volumeadjust);
int endvolume = (int)(channel.volume * volumeadjust);
@@ -797,14 +815,15 @@ void Mixer_Init(const char* device)
gMixer.Init(device);
}
void* Mixer_Play_Effect(int id, int loop, int volume, float pan, double rate, int deleteondone)
void* Mixer_Play_Effect(size_t id, int loop, int volume, float pan, double rate, int deleteondone)
{
if (gOpenRCT2Headless) return 0;
if (!gConfigSound.sound) {
if (!gConfigSound.sound_enabled) {
return 0;
}
if (id >= countof(gMixer.css1sources)) {
if (id >= Util::CountOf(gMixer.css1sources)) {
log_error("Tried to play an invalid sound id. %i", id);
return 0;
}
gMixer.Lock();
@@ -884,9 +903,6 @@ void* Mixer_Play_Music(int pathId, int loop, int streaming)
{
if (gOpenRCT2Headless) return 0;
if (!gConfigSound.sound) {
return 0;
}
if (streaming) {
const utf8 *filename = get_file_path(pathId);
@@ -900,7 +916,7 @@ void* Mixer_Play_Music(int pathId, int loop, int streaming)
if (!channel) {
delete source_samplestream;
} else {
channel->SetGroup(MIXER_GROUP_MUSIC);
channel->SetGroup(MIXER_GROUP_RIDE_MUSIC);
}
return channel;
} else {
@@ -911,7 +927,7 @@ void* Mixer_Play_Music(int pathId, int loop, int streaming)
if (gMixer.LoadMusic(pathId)) {
Channel* channel = gMixer.Play(*gMixer.musicsources[pathId], MIXER_LOOP_INFINITE, false, false);
if (channel) {
channel->SetGroup(MIXER_GROUP_MUSIC);
channel->SetGroup(MIXER_GROUP_RIDE_MUSIC);
}
return channel;
}

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