[Release] OpenRCT2 (RollerCoaster Tycoon 2) for Switch

Download: https://github.com/rsn8887/openrct2/releases/latest

Edit: New update v1.04 (see changelog at the bottom). To update from any version to latest, it is enough to just replace the .nro file.

# OpenRCT2 (RollerCoaster Tycoon 2) port for Switch

This is my Switch port of OpenRCT2, a re-implementation of RollerCoaster Tycoon 2. A construction and management simulation video game that simulates amusement park management.

Data files from the original game are required to play this game. _RollerCoaster Tycoon 2_ data files are required to launch the game. Additionally, _RollerCoaster Tycoon 1_ data files are also supported.

Port by @rsn8887.

Visit my Patreon:
https://www.patreon.com/rsn8887

IMG_2411.jpeg


OpenRCT2_cc.jpg OpenRCT2_bb.jpg OpenRCT2_dd.jpg

# Thanks

Thanks to the many many developers who worked on this open source game.

Thanks to Chris Sawyer for writing the amazing original game.

Thanks to devkitPro for making Switch homebrew possible.

Thanks to Milenko for testing and making screenshots.

Thanks to my supporters on Patreon: Andyways, CountDuckula, Jason Crawford, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, Milenko, and RadicalR.

# Installation

- Download (see `assets` below), and unzip openrct2_switch.zip and copy the contents over to the `/switch/` folder on your sd card, so that you have a folder `/switch/openrct2` with many folders and files inside.

- Copy all files and folders from a working *Windows RollerCoaster Tycoon 2* installation to `/switch/openrct2/rct2/` so that you have a files and folders `/switch/openrct2/rct2/rct2.exe`, `/switch/openrct2/rct2/Data/`, `/switch/openrct2/rct2/Landscapes/`, `/switch/openrct2/rct2/ObjData/` and many more files and folders there. For my testing, I used the files from the gog.com version.

- Optionally, you can also install the *Windows RollerCoaster Tycoon 1* files. Just copy your complete rct1 files to `/switch/openrct2/rct1/`. Then you can select the RCT1 scenarios, and in options you can select to show the rct1 title sequence. For my testing, I used the files from the gog.com version.

- Note: This game takes quite long to load at first, because it generates a bunch of cache files. Subsequent boots are much faster.

# Controls

- Left analog stick = mouse pointer control
- Right analog stick = scroll the map
- R = left mouse click
- L = right mouse click
- ZR = hold to slow down analog joystick mouse, useful to precisely position the pointer
- ZL = hold to speed up analog joystick mouse
- A = right mouse click
- B = left mouse click
- Y = shift key, hold and move mouse up/down to build above the ground
- X = ctrl key, hold and move mouse to build multiple pieces at the same height above ground
- Dpad up = zoom out (page up key)
- Dpad down = zoom in (page down key)
- Dpad left = rotate construction object (z key)
- Dpad right = rotate camera (enter key)
- R3 (press right stick in) = open cheat menu (ctrl-alt-c)
- Hold ZL + dpad left = close topmost window (backspace key)
- Hold ZL + dpad right = exit construction mode (escape key)
- Minus = toggle between three touch control modes:
* Touchpad style drag pointer with finger and tap to click, default:
* Move a single finger to move the mouse pointer. Use short tap for left click. Hold a single finger while tapping a second finger for right click. Drag with two fingers to drag and drop.
* Jump to finger without click
* The pointer jumps to the finger, but the finger doesn't click. Use L/R or A/B to click
* Jump to finger with tap click
* The pointer jumps to the finger, and a short tap also generates a left click
- Plus = bring up on-screen keyboard, useful for entering names, etc.
* When pressing enter, it first erases existing text and replaces it with new text
- Physical USB keyboard and mouse are supported. Not all mice work. There's a [mouse compatibility
chart](https://docs.google.com/spreadsheets/d/1Drbo5-QuSX901MwtOytSMuqRGxeIkq2HELM806I9dj0/edit#gid=0).

# Current Limitations

- No network support

# Building

## Dependencies

- Switch compilation helper scripts
```
sudo -E dkp-pacman -S devkitpro-pkgbuild-helpers
```

- Switch libicu
```
git clone https://github.com/rsn8887/icu
cd icu
git checkout switch
cd ..
mkdir macos
mkdir switch
cd macos
../icu/icu4c/source/runConfigureICU MacOSX
make -j12
cd ../switch
source $DEVKITPRO/switchvars.sh
../icu/icu4c/source/configure --host aarch64-none-elf --prefix $DEVKITPRO/portlibs/switch/ --disable-shared --enable-static --disable-samples --disable-tests --with-cross-build=$PWD/../macos
cp ../icu/icu4c/source/config/mh-linux ../icu/icu4c/source/config/mh-unknown
make -j12
sudo -E make install
```

- Switch libzip
```
git clone https://github.com/rsn8887/libzip
cd libzip
git checkout switch
cd ..
mkdir buildswitch
cd buildswitch
source $DEVKITPRO/switchvars.sh
cmake ../libzip \
-DENABLE_COMMONCRYPTO=OFF \
-DENABLE_GNUTLS=OFF \
-DENABLE_MBEDTLS=OFF \
-DENABLE_OPENSSL=OFF \
-DENABLE_WINDOWS_CRYPTO=OFF \
-DBUILD_TOOLS=OFF \
-DBUILD_REGRESS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_DOC=OFF \
-DCMAKE_TOOLCHAIN_FILE=$DEVKITPRO/switch.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$PORTLIBS_PREFIX \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \
-DCMAKE_CXX_FLAGS="CFLAGS -fno-exceptions -fno-rtti"
make -j12 install
```

- Switch libspeexdsp
```
git clone https://github.com/rsn8887/speexdsp
#might use libtoolize instead of glibtoolize if not on mac
glibtoolize
aclocal
autoconf
autoheader
automake --add-missing
source $DEVKITPRO/switchvars.sh
./configure --host aarch64-none-elf --prefix $DEVKITPRO/portlibs/switch/ --disable-shared --enable-static
sudo -E make install
```

## Main app

- Switch openRCT2
```
git clone https://github.com/rsn8887/openrct2
cd openRCT2
git checkout switch
cd ..
mkdir buildswitch
cd buildswitch
source $DEVKITPRO/switchvars.sh
cmake ../openrct2 \
-DSWITCH_BUILD=ON \
-DCMAKE_BUILD_TYPE=RELEASE
make -j12 openrct2_switch.zip
```

# Changelog
v1.04

- Fix right mouse click input
- Map object rotation to dpad left and camera rotation to dpad right
- Map backspace to zl+dpad left and escape to zl+dpad right to make room for new rotation mapping

v1.03

- Map shift, ctrl, backspace, and escape keys, useful to build above ground and quickly close windows.
- Map cheat menu hotkey, now works by pressing the right stick in.
- Make joystick pointer speed truly independent of fps. It now moves at constant speed even if the frame rate is low.
- The filtering options now work as expected. In docked mode, `linear` gives a slightly blurry image, and `sharp nearest neighbor` gives perfectly sharp pixels.
- General image quality improvements in both docked and handheld mode. The internal rendering now dynamically switches resolution between 1080p and 720p instead of always rendering at 720p. Also, the mouse pointer looks a bit sharper now in handheld mode.
- The window scaling option now works and can be used to blow up or shrink down the whole game screen, including the user interface.
- Different game resolutions should also work in principle now. This involves editing the window_width and window_height entries in `/switch/home/openrct2/config.ini`. Only 16x9 ratios will work correctly. I think the default choice of 960x540 looks the best.

v1.02

- Fix mouse cursor not turning into a hand when hovering over hotspots in the park
- Reduce joystick pointer speed slightly for easier control in-game.

v1.01

- First release on Switch
 
Last edited by rsn8887,

burt111

Well-Known Member
Newcomer
Joined
Oct 30, 2016
Messages
48
Trophies
0
Age
26
XP
197
Country
United States
New update to version 1.03:
Download: https://github.com/rsn8887/openrct2/releases/latest

I mapped more keys such as shift/ctrl. The cheat menu now opens by clicking the right stick. The image quality is better, display options like sharp filtering now work. The joystick mouse control is fps independent. And more, see changelog below.

Changelog:
v1.03
  • Map shift, ctrl, backspace, and escape keys, useful to build above ground and quickly close windows.
  • Map cheat menu hotkey, now works by pressing the right stick in.
  • Make joystick pointer speed truly independent of fps. It now moves at constant speed even if the frame rate is low.
  • The filtering options now work as expected. In docked mode, linear gives a slightly blurry image, and sharp nearest neighbor gives perfectly sharp pixels.
  • General image quality improvements in both docked and handheld mode. The internal rendering now dynamically switches resolution between 1080p and 720p instead of always rendering at 720p. Also, the mouse pointer looks a bit sharper now in handheld mode.
  • The window scaling option now works and can be used to blow up or shrink down the whole game screen, including the user interface.
  • Different game resolutions should also work in principle now. This involves editing the window_width and window_height entries in /switch/home/openrct2/config.ini. Only 16x9 ratios will work correctly. I think the default choice of 960x540 looks the best.
not showing on github
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,628
Country
United States
On the bottom under "Assets:" I am not sure why, but the people at Github keep making the "Assets:" section smaller and smaller, and moving it further down to the bottom. I have no control over that.

I also just uploaded the same version here on gbatemp in the downloads section:
https://gbatemp.net/download/openrct2.35817/
 
Last edited by rsn8887,
  • Like
Reactions: burt111

Codiox

Well-Known Member
Member
Joined
Jan 19, 2016
Messages
184
Trophies
0
Age
39
XP
732
Country
South Africa
Please tell me you are not using exfat.

Yes it works fine for me, I tried both "save" and "save as..." and "load". The only difference between "save as" and "save" is that "save" gives you a default filename like "Crazy Castle". The files

I just now saved again, in the /switch/openrct2/ folder. Remember you can even create folders, there's a new folder button in the blue save requester. And you can press start to bring up the touch keyboard to change filenames and folder names. I tested that too just now (the keyboard), and it works just fine.

Remember don't launch openrct2 from ALBUM, always start buy holding R while starting some Switch GAME.

--------------------- MERGED ---------------------------



I only tested the gog.com version it is true. PM send with more information. Basically you might be missing a file or two? Also try deleting everything from the /switch/openrct2/home folder to start fresh.

Im using fat32 and starting the hbl through another game (Mario odyssey)

When im saving it looks like it's worked, but when I save again I don't see the previous savegame. When I go to loading while Ingame I also can't see the savegame. I can see the folder I created though.
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,628
Country
United States
1. I need to reproduce the save game problem to be able to debug it. Which scenario are you saving?

2. Can you just open the crazy castle scenario, move the camera a bit, and then save from there? If that also doesn't work for you we have to find out what is different between you and me.

3. Is the save game on your sdcard at least? Mine shows up inside OpenRCT2 but also when I connect via FTP it is there: "/switch/openrct2/Crazy Castle.sv6"

4. Another idea: Did you try deleting the files inside "/openrct2/home/" to start fresh? It will take a while to boot because it has to generate the cache files again.
 
Last edited by rsn8887,

Codiox

Well-Known Member
Member
Joined
Jan 19, 2016
Messages
184
Trophies
0
Age
39
XP
732
Country
South Africa
1. I need to reproduce the save game problem to be able to debug it. Which scenario are you saving?

2. Can you just open the crazy castle scenario, move the camera a bit, and then save from there? If that also doesn't work for you we have to find out what is different between you and me.

3. Is the save game on your sdcard at least? Mine shows up inside OpenRCT2 but also when I connect via FTP it is there: "/switch/openrct2/Crazy Castle.sv6"

4. Another idea: Did you try deleting the files inside "/openrct2/home/" to start fresh? It will take a while to boot because it has to generate the cache files again.

now my saves are appearing.

I just restarted the game. now everthing is appearing. I used a clean PC install from rct2 without a save. maybe that was the problem?
 

yusuo

Well-Known Member
Member
Joined
Oct 19, 2006
Messages
3,504
Trophies
2
Age
38
XP
6,169
Country
United Kingdom
I'm using SX OS and upon booting I'm not able to actually click anything. All the files are in the correct places. Any ideas, I'm in the middle of upgrading to 1.03
 

Codiox

Well-Known Member
Member
Joined
Jan 19, 2016
Messages
184
Trophies
0
Age
39
XP
732
Country
South Africa
tried the new version and also added RCT1 now, this is seriously awesome!

One last thing i would like to have to is a hotkey for rotating the buildings. Is there even a hotkey for it?

thank you very much @rsn8887 !
 

rodan100919

Active Member
Newcomer
Joined
Aug 2, 2013
Messages
31
Trophies
1
XP
630
Country
United States
One last thing i would like to have to is a hotkey for rotating the buildings.@rsn8887 !

Same. I keep pressing L/R thinking they'd rotate the camera. A dedicated pause button would also be nice, though there's not many buttons left to map. L3?
Side note, I tried out some custom content. Seems as long as it works with OpenRCT2, it'll work fine. It's a few years out of date, but this is still a good resource. Link

So far I have a few custom coasters and scenarios loading in.
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,628
Country
United States
It is mapped to B and R, according to my code.

I think it doesn't do much even in Windows game, just scrolling when right-click dragging? Strange. I would think the right button has more use.
 
Last edited by rsn8887,

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,628
Country
United States
I just found out you can go to options -> cogwheel icon -> enable cheats at the bottom.

Then you get an extra button in the toolbar for the cheats menu.

There are a LOT of options. Also you can select RCT1 Title sequences in the options menu. If you have copied RCT1 data to rct1 folder, it works. (rct1 also available from gog.com).
 

mitcha

مجاهد صنديد مقاتل عنيد
Member
Joined
Dec 20, 2015
Messages
405
Trophies
0
Location
collo (chullu)
XP
1,781
Country
Algeria
@rsn8887 thank you and other devs for making this port , great game.
one question : could we see even in a far future a port of IG2 "industry giant 2" ?
is this possible ?
 

Codiox

Well-Known Member
Member
Joined
Jan 19, 2016
Messages
184
Trophies
0
Age
39
XP
732
Country
South Africa
Pressing B moves the camera wildly. In 1.02 this worked fine. Can you take a look at it please?
Right mouse click is important for erasing trees etc. While in building mode so you don't have to change to the caterpillar mode.
 
Last edited by Codiox,

Teddy312

Member
Newcomer
Joined
Apr 17, 2019
Messages
20
Trophies
0
Age
26
XP
156
Country
Netherlands
The game crashes when i either place a entrance or exit. Sometimes it works but then it crashes shortly after while making the path to the entrance or exit (Haven't testes with 1.0.3 yet). It this a known problem or should i try to "reinstall" it? I use the RCT2 files from GOG.
 
  • Like
Reactions: DogParty

MrWhosHacking

Well-Known Member
Member
Joined
May 3, 2018
Messages
293
Trophies
0
Age
34
XP
505
Country
United States
Download: https://github.com/rsn8887/openrct2/releases/latest

Edit: New update v1.03 (see changelog at the bottom). To update from any version to latest, it is enough to just replace the .nro file.

# OpenRCT2 (RollerCoaster Tycoon 2) port for Switch

This is my Switch port of OpenRCT2, a re-implementation of RollerCoaster Tycoon 2. A construction and management simulation video game that simulates amusement park management.

Data files from the original game are required to play this game. _RollerCoaster Tycoon 2_ data files are required to launch the game. Additionally, _RollerCoaster Tycoon 1_ data files are also supported.

Port by @rsn8887.

Visit my Patreon:
https://www.patreon.com/rsn8887

View attachment 166126

View attachment 166127 View attachment 166128 View attachment 166129

# Thanks

Thanks to the many many developers who worked on this open source game.

Thanks to Chris Sawyer for writing the amazing original game.

Thanks to devkitPro for making Switch homebrew possible.

Thanks to Milenko for testing and making screenshots.

Thanks to my supporters on Patreon: Andyways, CountDuckula, Jason Crawford, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, Milenko, and RadicalR.

# Installation

- Download (see `assets` below), and unzip openrct2_switch.zip and copy the contents over to the `/switch/` folder on your sd card, so that you have a folder `/switch/openrct2` with many folders and files inside.

- Copy all files and folders from a working *Windows RollerCoaster Tycoon 2* installation to `/switch/openrct2/rct2/` so that you have a files and folders `/switch/openrct2/rct2/rct2.exe`, `/switch/openrct2/rct2/Data/`, `/switch/openrct2/rct2/Landscapes/`, `/switch/openrct2/rct2/ObjData/` and many more files and folders there. For my testing, I used the files from the gog.com version.

- Optionally, you can also install the *Windows RollerCoaster Tycoon 1* files. Just copy your complete rct1 files to `/switch/openrct2/rct1/`. Then you can select the RCT1 scenarios, and in options you can select to show the rct1 title sequence. For my testing, I used the files from the gog.com version.

- Note: This game takes quite long to load at first, because it generates a bunch of cache files. Subsequent boots are much faster.

# Controls

- Left analog stick = mouse pointer control
- Right analog stick = scroll the map
- R = left mouse click
- L = right mouse click
- ZR = hold to slow down analog joystick mouse, useful to precisely position the pointer
- ZL = hold to speed up analog joystick mouse
- A = right mouse click
- B = left mouse click
- Y = shift key, hold and move mouse up/down to build above the ground
- X = ctrl key, hold and move mouse to build multiple pieces at the same height above ground
- Dpad up = zoom out (page up key)
- Dpad down = zoom in (page down key)
- Dpad left = close topmost window (backspace key)
- Dpad right = exit construction mode (escape key)
- R3 (press right stick in) = open cheat menu (ctrl-alt-c)
- Minus = toggle between three touch control modes:
* Touchpad style drag pointer with finger and tap to click, default:
* Move a single finger to move the mouse pointer. Use short tap for left click. Hold a single finger while tapping a second finger for right click. Drag with two fingers to drag and drop.
* Jump to finger without click
* The pointer jumps to the finger, but the finger doesn't click. Use L/R or A/B to click
* Jump to finger with tap click
* The pointer jumps to the finger, and a short tap also generates a left click
- Plus = bring up on-screen keyboard, useful for entering names, etc.
* When pressing enter, it first erases existing text and replaces it with new text
- Physical USB keyboard and mouse are supported. Not all mice work. There's a [mouse compatibility
chart](https://docs.google.com/spreadsheets/d/1Drbo5-QuSX901MwtOytSMuqRGxeIkq2HELM806I9dj0/edit#gid=0).

# Current Limitations

- No network support

# Building

## Dependencies

- Switch compilation helper scripts
```
sudo -E dkp-pacman -S devkitpro-pkgbuild-helpers
```

- Switch libicu
```
git clone https://github.com/rsn8887/icu
cd icu
git checkout switch
cd ..
mkdir macos
mkdir switch
cd macos
../icu/icu4c/source/runConfigureICU MacOSX
make -j12
cd ../switch
source $DEVKITPRO/switchvars.sh
../icu/icu4c/source/configure --host aarch64-none-elf --prefix $DEVKITPRO/portlibs/switch/ --disable-shared --enable-static --disable-samples --disable-tests --with-cross-build=$PWD/../macos
cp ../icu/icu4c/source/config/mh-linux ../icu/icu4c/source/config/mh-unknown
make -j12
sudo -E make install
```

- Switch libzip
```
git clone https://github.com/rsn8887/libzip
cd libzip
git checkout switch
cd ..
mkdir buildswitch
cd buildswitch
source $DEVKITPRO/switchvars.sh
cmake ../libzip \
-DENABLE_COMMONCRYPTO=OFF \
-DENABLE_GNUTLS=OFF \
-DENABLE_MBEDTLS=OFF \
-DENABLE_OPENSSL=OFF \
-DENABLE_WINDOWS_CRYPTO=OFF \
-DBUILD_TOOLS=OFF \
-DBUILD_REGRESS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_DOC=OFF \
-DCMAKE_TOOLCHAIN_FILE=$DEVKITPRO/switch.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$PORTLIBS_PREFIX \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \
-DCMAKE_CXX_FLAGS="CFLAGS -fno-exceptions -fno-rtti"
make -j12 install
```

- Switch libspeexdsp
```
git clone https://github.com/rsn8887/speexdsp
#might use libtoolize instead of glibtoolize if not on mac
glibtoolize
aclocal
autoconf
autoheader
automake --add-missing
source $DEVKITPRO/switchvars.sh
./configure --host aarch64-none-elf --prefix $DEVKITPRO/portlibs/switch/ --disable-shared --enable-static
sudo -E make install
```

## Main app

- Switch openRCT2
```
git clone https://github.com/rsn8887/openrct2
cd openRCT2
git checkout switch
cd ..
mkdir buildswitch
cd buildswitch
source $DEVKITPRO/switchvars.sh
cmake ../openrct2 \
-DSWITCH_BUILD=ON \
-DCMAKE_BUILD_TYPE=RELEASE
make -j12 openrct2_switch.zip
```

# Changelog
v1.03

- Map shift, ctrl, backspace, and escape keys, useful to build above ground and quickly close windows.
- Map cheat menu hotkey, now works by pressing the right stick in.
- Make joystick pointer speed truly independent of fps. It now moves at constant speed even if the frame rate is low.
- The filtering options now work as expected. In docked mode, `linear` gives a slightly blurry image, and `sharp nearest neighbor` gives perfectly sharp pixels.
- General image quality improvements in both docked and handheld mode. The internal rendering now dynamically switches resolution between 1080p and 720p instead of always rendering at 720p. Also, the mouse pointer looks a bit sharper now in handheld mode.
- The window scaling option now works and can be used to blow up or shrink down the whole game screen, including the user interface.
- Different game resolutions should also work in principle now. This involves editing the window_width and window_height entries in `/switch/home/openrct2/config.ini`. Only 16x9 ratios will work correctly. I think the default choice of 960x540 looks the best.

v1.02

- Fix mouse cursor not turning into a hand when hovering over hotspots in the park
- Reduce joystick pointer speed slightly for easier control in-game.

v1.01

- First release on Switch



does it work for 8.0.0
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: :rofl2: