[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,

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
This is based on a complete rewrite of the game (OpenRCT2) but there are similar projects out there for some of the popular games that might be easier to port

Do you know some that are really good and kind of complete? I saw there's OpenLocomotion, but I never played it... is that good? Are there any other similar projects? I don't know much about PC open source games. I mostly played on C64, CPC and Amiga back in the day. Porting can take a lot of time, so it has to be worthwhile.
 
Last edited by rsn8887,

rodan100919

Active Member
Newcomer
Joined
Aug 2, 2013
Messages
31
Trophies
1
XP
628
Country
United States
Do you know some that are really good and kind of complete? I saw there's OpenLocomotion, but I never played it... is that good? Are there any other similar projects? I don't know much about PC open source games. I mostly played on C64, CPC and Amiga back in the day. Porting can take a lot of time, so it has to be worthwhile.

I haven't tried OpenLocomotion yet, but there's the OpenRA and Openage projects that garner a lot of attention. Personally I'm still holding out for an OpenMW port, but I understand that's somewhat of a pipe dream for now.
 

nikeymikey

This is now a Spiderman thread.........
Member
Joined
Nov 19, 2008
Messages
1,510
Trophies
1
XP
2,447
Country
United Kingdom
Yes. For example you can click on one of the people and click "rename..." then a window pops up where you can change their name.

Just press plus to bring up the keyboard, type in the new name and enter. It will automatically erase the old name and put the new one.

The keyboard does NOT work if you launch via ALBUM only if you launch via a GAME. Always launch all homebrew by holding R pressed on a GAME (not ALBUM).

Aha ok cool i will try it. Does it only come up when its needed tho? Like i cant just pop it up onscreen at any point during a game?

no sxos support? intentional or just fluke? i don't care meself just noticed it just blackscreens on their cfw...

It does work on SX, thats what i am using.
 

WiiHomebrew+Snes

Member of GBAtemp's shadow district
Member
Joined
May 4, 2016
Messages
640
Trophies
1
Age
39
Location
Floridia
Website
www.lucar.io
XP
2,781
Country
United States
Are there any other similar projects?
I think OpenTTD is on switch, and of course doom. As for DOS and C64 stuff you can have emulators for those. Likely a way to get some right now through Linux. x86 games and win98/2000 games will basically have to be open source ports.
 

nikeymikey

This is now a Spiderman thread.........
Member
Joined
Nov 19, 2008
Messages
1,510
Trophies
1
XP
2,447
Country
United Kingdom
@rsn8887 Can you add a shortcut to CTRL-ALT-C????? This activates the cheats menu on openrct2.

This game is much more fun with cheats, especially when youve already completed it in the past :)
 

Impossible_Igntiz

Well-Known Member
Member
Joined
Nov 16, 2018
Messages
421
Trophies
0
Location
Bonerville
XP
1,179
Country
United States
This is based on a complete rewrite of the game (OpenRCT2) but there are similar projects out there for some of the popular games that might be easier to port
ah i see, but regardless tho this is pretty awesome to see and can't wait to see what's in store for future projects later on during summer and later around fall or winter.
 

loler55

Well-Known Member
Member
Joined
Jan 4, 2012
Messages
1,045
Trophies
1
XP
1,906
Country
Gambia, The
Download: https://github.com/rsn8887/openrct2/releases/latest

Note: I made a very minor update to v1.02. The mouse pointer did not change into the hand when hovering over hotspots in the park, such as the visitors or signs. I also slightly reduced the joystick pointer speed to make it easier to control with the stick.

To update from 1.01 to 1.02, it is enough to just replace the .nro.

# 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.

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, 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.

- 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
- D-Pad or right analog stick = scrolling the map
- A/right trigger = left mouse click
- B/left trigger = right mouse click
- Y = zoom-in
- X = zoom-out
- Hold ZL = speed up analog joystick mouse
- Hold ZR = slow down analog joystick mouse, useful to precisely position the pointer
- Minus = toggle between three touch control modes:
* Touchpad (drag pointer with finger, 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, for entering names etc.
* When pressing enter, it first erases existing text and replaces it with new text

# 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.02

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

v1.01

- First release on Switch





WoW Amazing Release! thank you for this !!!!! i will play it today and report any bugs



you are my superhero when you can port command and conquer tiberium dawn or red arlert 2 to the switch too !
 

Fuzzy-v

Member
Newcomer
Joined
May 8, 2019
Messages
18
Trophies
0
XP
184
Country
Canada
Fantastic port! One of my favorite childhood games. Got my first copy in a cereal box on CD .;)

Thanks for the hard work. Can't believe how fast the Switch scene seems to be exploding lately. Awesome stuff .
 

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
Country
United States
Anybody tried saving manually and loading?
While saving I can't see my savegames.

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 ---------------------------

Same. Wondering what the issue is

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.
 
Last edited by rsn8887,

JABY

Member
Newcomer
Joined
Apr 19, 2019
Messages
9
Trophies
0
Age
32
XP
85
Country
United States
Finally got everything up and running. Major thanks to rsn8887 and team. This is such a cool project and really gets my nostalgia pumping.

I think my issues had to do with bad/missing files. Once I grabbed gog version it booted up in about 2/3 mins.

Funny to think I was eagerly waiting for 15+ mins.



P.S. Is there a proper way to exit this app ?
 
Last edited by JABY,

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
956
Trophies
1
Age
46
Website
www.patreon.com
XP
3,619
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.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • S @ salazarcosplay:
    @SylverReZ youtube to mp3 some are still good, usefull when the official music video has better audio than the music in th ecd
    +1
  • Xdqwerty @ Xdqwerty:
    im back
  • Psionic Roshambo @ Psionic Roshambo:
    Find the studio rips, like a few GBs per song lol
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, game boys per song?
  • Psionic Roshambo @ Psionic Roshambo:
    I used to have a few of those with Direct Sound on XP and Audigy Platinum sound card with high end speakers was a glorious time for audio
  • Psionic Roshambo @ Psionic Roshambo:
    Lol no Gigabytes per song
  • K3Nv2 @ K3Nv2:
    Some websites have full studio rips of production kind of hard to find for obvious reasons
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Not sure current audio codec based sound built in to motherboards can handle the bit depth those used
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, I just use mp3 files of the best quality i can find
    +1
  • K3Nv2 @ K3Nv2:
    I say fuck it and open Spotify 80% of your musics already on it probably
    +1
  • Xdqwerty @ Xdqwerty:
    or just put in on yt
  • Psionic Roshambo @ Psionic Roshambo:
    Xdqwerty for most people hearing anything better than 256Kbps MP3 they cannot tell the difference
  • Xdqwerty @ Xdqwerty:
    play the songs video
  • K3Nv2 @ K3Nv2:
    Audiophiles mjs second allegation
  • Psionic Roshambo @ Psionic Roshambo:
    Pedo Audio what ever MJ was into he lost a glove
  • K3Nv2 @ K3Nv2:
    Mjs glove fit
  • Psionic Roshambo @ Psionic Roshambo:
    Billies Jeans did not
  • K3Nv2 @ K3Nv2:
    Mj you are the father
  • K3Nv2 @ K3Nv2:
    Wifi 7 routers are already out
  • The Real Jdbye @ The Real Jdbye:
    and i'm still here on wifi 5
  • The Real Jdbye @ The Real Jdbye:
    all my stuff is wired anyway
  • The Real Jdbye @ The Real Jdbye:
    what annoys me is my server has 2.5g but i have nothing else that does
  • K3Nv2 @ K3Nv2:
    No real point in 7 unless you have 5gb which no real point in it
    K3Nv2 @ K3Nv2: No real point in 7 unless you have 5gb which no real point in it