Skip to content

@rsn8887 rsn8887 released this May 7, 2019 · 17 commits to switch since this release

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



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 in-game.

v1.01

  • First release on Switch
Assets 3
You can’t perform that action at this time.