OpenRCT2/readme.md

157 lines
9.8 KiB
Markdown
Raw Normal View History

2014-04-15 01:50:20 +02:00
# OpenRCT2
2016-06-19 02:55:36 +02:00
An open-source re-implementation of RollerCoaster Tycoon 2. A construction and management simulation video game that simulates amusement park management.
2014-04-15 01:50:20 +02:00
2016-03-21 13:46:40 +01:00
### Build Status
2016-06-13 20:27:40 +02:00
| | Windows | Linux / Mac | Download |
2016-03-22 18:56:30 +01:00
|-------------|---------|-------------|----------|
Release v0.0.7 - Feature: [#1730] Keyboard shortcuts for track construction. - Feature: [#2060, #5282] Heightmap loader - Feature: [#5110] The tile inspector can now be used in multiplayer. - Feature: [#5305] Add scenery eye dropper tool. - Feature: [#5370] Ride operating mode can be set from the console. - Feature: [#5415] Add mute toolbar button (as seen in RCT1 and Locomotion). - Improved: [#5254] Scenario option changes are now synchronised over multiplayer. - Improved: [#3288] Added server description and greeting textboxes to the start server menu. - Improved: [#3502] Track previews display at higher zoom level for large layouts. - Improved: [#5055] Implement 'quick demolish' for rides. - Improved: [#5137] Removing all guests no longer closes the rides and removes the vehicles. - Improved: [#5163] Minor tile inspector improvements and fixes. - Improved: [#5222] Add Catalan language. - Improved: [#5351] Giga Coaster and Steel Twister RC boosters now use the correct sprites. - Improved: Looping RC and Corkscrew RC now use booster sprites from RCT1's CSG1.DAT if available. - Improved: Scenario options are now synced in multiplayer. - Improved: Remove duplicate ride penalty for closed rides. - Improved: Make shortcut keys window larger and resizable. - Removed: known_issues.txt no longer used, check issue tracker on GitHub. - Fix: [#1992] Felicity Anderson Cheat can crash the game, as well as blocking queues. - Fix: [#4493] Provide tooltip for disabled price field. - Fix: [#4689] Object selection tabs sometimes flicker. - Fix: [#4913] Server greeting displaying local setting. - Fix: [#4972] Map window not updated properly when shrinking map from Map Generation window. - Fix: [#5004] Peeps in parks imported from RCT1 show abnormalities. - Fix: [#5014] Research not imported from RCT1 correctly. - Fix: [#5032] Booster speed is not saved in TD6. - Fix: [#5140] Headless server should save default users.json. - Fix: [#5150] --openrct-data-path sets user data path instead of OpenRCT2 data path. - Fix: [#5169] Parks containing packed objects fail to open. - Fix: [#5199] "Force a breakdown" debugging tool isn't hidden in multiplayer. - Fix: [#5188] Clicking on a Magic Carpet doesn't open the ride window. - Fix: [#5218] Scale RCT1 park value objectives. - Fix: [#5219] Game crashes when opening 'misc' tab in options. - Fix: [#5238] RCT1 import: Rides are initially free when placing them. - Fix: [#5252] Correct typo in Conger Eel Coaster description. - Fix: [#5265] Queue line TVs not detected properly. - Fix: [#5271] Keyboard shortcuts window isn't large enough (for some languages). - Fix: [#5284] Mechanic is called to fix a ride that's outside his patrol area. - Fix: [#5285] Intro always plays even if play_intro = false. - Fix: [#5299] Scenario editor crash when placing peep spawn. - Fix: [#5318] Using the bulldozer tool on under-construction paths results in unlimited free money. - Fix: [#5325] Game crashes if encountering an invalid ride type during research. - Fix: [#5345] Correct typos in descriptions for Top Spin and Splash Boats. - Fix: [#5350] Steel Twister RC and Giga Coaster boosters are underpowered, Junior Roller Coaster boosters overpowered compared to RCTC. - Fix: [#5357] "Assertion failed!" after guest with name 'Emma Garrell' exits/enters ride. - Fix: Walls do not import from RCT1 correctly in pause mode. - Fix: Extraneous window tabs show up on MacOS 10.12. - Fix: Potential for integer overflow in ride length. - Fix: Vehicles erroneously removed when removing all guests. - Technical: INI configuration file now case-insensitive. - Technical: Remove version build from msbuild & NSIS.
2017-05-03 22:34:27 +02:00
| **master** | [![AppVeyor](https://ci.appveyor.com/api/projects/status/7efnemxhon6i5n34/branch/master?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://img.shields.io/badge/master-v0.0.7-green.svg)](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://img.shields.io/badge/develop-v0.0.8-blue.svg)](https://openrct2.org/downloads/develop/latest) |
2014-08-16 18:05:57 +02:00
2016-03-21 13:46:40 +01:00
### Chat
2016-08-17 22:47:04 +02:00
English:<br />
2016-04-20 14:17:13 +02:00
[![Gitter](https://img.shields.io/badge/gitter-general-blue.svg)](https://gitter.im/OpenRCT2/OpenRCT2/non-dev)<br />
2016-08-17 22:47:04 +02:00
[![Gitter](https://img.shields.io/badge/gitter-development-yellowgreen.svg)](https://gitter.im/OpenRCT2/OpenRCT2)<br />
Nederlands:<br />
[![Gitter](https://img.shields.io/badge/gitter-general-blue.svg)](https://gitter.im/OpenRCT2/OpenRCT2/Nederlands)
2014-11-03 19:24:43 +01:00
2014-04-15 01:50:20 +02:00
# Contents
- 1 - [Introduction](#1-introduction)
2016-06-19 02:55:36 +02:00
- 2 - [Downloading the game (pre-built)](#2-downloading-the-game-pre-built)
- 3 - [Building the game](#3-building-the-game)
- 3.1 - [Building prerequisites](#31-building-prerequisites)
- 3.2 - [Compiling and running](#32-compiling-and-running)
- 4 - [Contributing](#4-contributing)
- 4.1 - [Bug fixes](#41-bug-fixes)
- 4.2 - [New features](#42-new-features)
- 4.3 - [Translation](#43-translation)
- 5 - [Licence](#5-licence)
- 6 - [More information](#6-more-information)
2014-04-15 01:50:20 +02:00
# 1 Introduction
2016-06-19 02:55:36 +02:00
**OpenRCT2** is an open-source re-implementation of RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and maintaining an amusement park containing attractions, shops and facilities. The player must try to make a profit and maintain a good park reputation whilst keeping the guests happy. OpenRCT2 allows for both scenario and sandbox play. Scenarios require the player to complete a certain objective in a set time limit whilst sandbox allows the player to build a more flexible park with optionally no restrictions or finance.
2014-04-15 01:50:20 +02:00
2016-07-13 11:00:01 +02:00
RollerCoaster Tycoon 2 was originally written by Chris Sawyer in x86 assembly and is the sequel to RollerCoaster Tycoon. The engine was based on Transport Tycoon, an older game which also has an equivalent open-source project, [OpenTTD](http://openttd.org). OpenRCT2 attempts to provide everything from RCT2 as well as many improvements and additional features, some of these include support for modern platforms, an improved interface, improved guest and staff AI, more editing tools, increased limits, and cooperative multiplayer. It also re-introduces mechanics from RollerCoaster Tycoon that were not present in RollerCoaster Tycoon 2. Some of those include; mountain tool in-game, the *"have fun"* objective, launched coasters (not passing-through the station) and several buttons on the toolbar.
2014-04-15 01:50:20 +02:00
2016-06-19 02:55:36 +02:00
# 2 Downloading the game (pre-built)
2014-04-15 01:50:20 +02:00
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). If you have the original RollerCoaster Tycoon and its expansion packs, you can [point OpenRCT2 to these](https://github.com/OpenRCT2/OpenRCT2/wiki/Loading-RCT1-scenarios-and-data) in order to play the original scenarios.
2014-04-15 01:50:20 +02:00
[OpenRCT2.org](https://openrct2.org/downloads) offers precompiled builds and installers of the latest master and the develop branch. There is also a cross platform [Launcher](https://github.com/LRFLEW/OpenRCT2Launcher/releases) available that will automatically update your build of the game so that you always have the latest version.
Some Linux distributions offer native packages already. These packages are usually third-party, but we're trying to resolve issues they are facing.
* ArchLinux AUR: [openrct2-git](https://aur.archlinux.org/packages/openrct2-git) and [openrct2](https://aur.archlinux.org/packages/openrct2)
* Ubuntu PPA: [`master` branch](https://launchpad.net/~openrct2/+archive/ubuntu/master) and [`develop` branch](https://launchpad.net/~openrct2/+archive/ubuntu/nightly) (`develop` branch builds are temporarily on hold due to [missing functionality in bzr](https://bugs.launchpad.net/ubuntu/+source/bzr-git/+bug/1084403))
* openSUSE OBS: [games/openrct2](https://software.opensuse.org/download.html?project=games&package=openrct2)
2016-06-19 02:55:36 +02:00
# 3 Building the game
2015-03-21 19:18:45 +01:00
2016-06-19 02:55:36 +02:00
## 3.1 Building prerequisites
2014-04-15 01:50:20 +02:00
2016-06-19 02:55:36 +02:00
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).
2014-05-23 14:29:09 +02:00
### Windows:
- 7 / 8 / 10
- Visual Studio 2017 (Enterprise / Professional / [Community (Free)](https://www.visualstudio.com/vs/community/))
- Desktop development with C++
- Windows 10 SDK (10.0.14393.0)
2016-08-26 00:58:43 +02:00
- [7-Zip](http://www.7-zip.org/) (for deployment only)
- [NSIS](http://nsis.sourceforge.net/) (for deployment only)
2014-04-15 01:50:20 +02:00
2016-10-24 10:58:10 +02:00
### macOS:
- Xcode 8
The program can also be built as a command line program using CMake. This type of build requires:
- Xcode Command Line Tools
- [Homebrew](http://brew.sh)
2016-10-24 10:58:10 +02:00
- CMake (available through Homebrew)
2014-08-17 22:01:05 +02:00
2016-10-24 10:58:10 +02:00
### Linux:
- sdl2
- sdl2-ttf (can be disabled)
- fontconfig (can be disabled)
- libzip (>= 1.0)
- libpng (>= 1.2)
- speexdsp
- curl (only if building with http support)
- jansson (>= 2.5)
- openssl (>= 1.0; only if building with multiplayer support)
- iconv (part of glibc on Linux)
- zlib
- gl (commonly provided by Mesa or GPU vendors; can be disabled)
- cmake
2014-05-23 14:29:09 +02:00
2016-06-19 02:55:36 +02:00
## 3.2 Compiling and running
2014-05-23 14:29:09 +02:00
### Windows:
2016-07-28 13:19:40 +02:00
1. Check out the repository. This can be done using [GitHub Desktop](https://desktop.github.com) or [other tools](https://help.github.com/articles/which-remote-url-should-i-use).
2. Open a new Developer Command Prompt for VS 2017, then navigate to the repository (e.g. `cd C:\GitHub\OpenRCT2`).
2016-12-11 14:44:09 +01:00
3. Run `msbuild openrct2.proj /t:build /p:platform=x64`.
2016-11-24 00:43:38 +01:00
4. Run the game, `bin\openrct2`
2016-08-26 00:58:43 +02:00
Once you have ran msbuild once, further development can be done within Visual Studio by opening `openrct2.sln`.
Other examples:
```
2016-11-24 00:42:23 +01:00
set platform=x64
2016-08-26 00:58:43 +02:00
msbuild openrct2.proj /t:clean
2016-11-24 00:42:23 +01:00
msbuild openrct2.proj /t:rebuild /p:configuration=release
2016-08-26 00:58:43 +02:00
msbuild openrct2.proj /t:g2
msbuild openrct2.proj /t:PublishPortable
```
2014-04-15 01:50:20 +02:00
2016-10-24 10:58:10 +02:00
### macOS:
#### Xcode:
The recommended way of building OpenRCT2 for macOS is with Xcode. The Xcode build will create a self-contained application bundles which include all the necessary game files and dependencies. Open the project file OpenRCT2.xcodeproj in Xcode and build from there. Building this way will handle the dependencies for you automatically. You can also invoke an Xcode build from the command line using `xcodebuild`.
2015-12-12 13:53:16 +01:00
2016-10-24 10:58:10 +02:00
#### CMake:
A command line version of OpenRCT2 can be built using CMake. This type of build requires you to provide the dependencies yourself. The supported method of doing this is with [Homebrew](http://brew.sh). Once you have Homebrew installed, you can download all the required libraries with this command:
```
brew install cmake openssl jansson libpng sdl2 sdl2_ttf speexdsp libzip
2016-10-24 10:58:10 +02:00
```
2015-12-12 13:53:16 +01:00
2016-10-24 10:58:10 +02:00
Once you have the dependencies installed, you can build the project using CMake using the following commands:
```
mkdir build
cd build
cmake ..
make
ln -s ../data data
2014-08-17 22:01:05 +02:00
```
2016-10-24 10:58:10 +02:00
Then you can run the game by running `./openrct2`.
2014-08-17 22:01:05 +02:00
2014-05-23 14:29:09 +02:00
### Linux:
2016-10-24 10:58:10 +02:00
The standard CMake build procedure is to install the [required libraries](https://github.com/OpenRCT2/OpenRCT2#mac--linux), then:
```
mkdir build
cd build
cmake ../
make
```
Detailed instructions can be found on our [wiki](https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux).
2014-05-23 14:29:09 +02:00
2016-06-19 02:55:36 +02:00
# 4 Contributing
OpenRCT2 uses the [gitflow workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#gitflow-workflow). If you are implementing a new feature or logic from the original game, please branch off and perform pull requests to ```develop```. If you are fixing a bug for the next release, please branch off and perform pull requests to the correct release branch. ```master``` only contains tagged releases, you should never branch off this.
2014-04-15 01:50:20 +02:00
2015-09-09 19:25:48 +02:00
Please read our [contributing guidelines](https://github.com/OpenRCT2/OpenRCT2/blob/develop/CONTRIBUTING.md) for information.
2016-06-19 02:55:36 +02:00
## 4.1 Bug fixes
A list of bugs can be found on the [issue tracker](https://github.com/OpenRCT2/OpenRCT2/issues). Feel free to work on any bug and submit a pull request to the develop branch with the fix. Mentioning that you intend to fix a bug on the issue will prevent other people from trying as well.
2014-04-15 01:50:20 +02:00
2016-06-19 02:55:36 +02:00
## 4.2 New features
Please talk to the OpenRCT2 team first before starting to develop a new feature. We may already have plans or reasons against it, therefore contacting us will allow us to help you or prevent you from wasting any time. You can talk to us via gitter, see links at the top of this page.
2014-04-15 01:50:20 +02:00
2016-06-19 02:55:36 +02:00
## 4.3 Translation
You can translate the game into other languages by editing the language files in ```data/language``` directory. Please join discussions and submit pull requests to [OpenRCT2/Localisation](https://github.com/OpenRCT2/Localisation).
2015-02-17 19:49:29 +01:00
2016-06-19 02:55:36 +02:00
# 5 Licence
2014-04-25 17:07:07 +02:00
**OpenRCT2** is licensed under the GNU General Public License version 3.
2014-12-09 19:31:46 +01:00
2016-06-19 02:55:36 +02:00
# 6 More information
2015-06-24 18:14:07 +02:00
- [GitHub](https://github.com/OpenRCT2/OpenRCT2)
- [OpenRCT2.org](https://openrct2.org)
- [Forums](https://openrct2.org/forums/)
2014-12-09 19:31:46 +01:00
- [Facebook](https://www.facebook.com/OpenRCT2)
- [RCT subreddit](http://www.reddit.com/r/rct/)
- [OpenRCT2 subreddit](http://www.reddit.com/r/openrct2/)