1. EDIT: New update v1.05. Fixes right click drag scroling.

    Download and more information: http://github.com/rsn8887/openttd/releases/latest

    # OpenTTD port for Switch

    This is my Switch port of OpenTTD, a re-implementation of Transport Tycoon Deluxe.

    Port by @rsn8887, based on the Vita port by @angguss. I made some control enhancements and I also enabled sound on the Vita port, too (pull request to @angguss made).

    openttd_1.jpg

    More Screenshots:
    openttd_4.jpg openttd_2.jpg openttd_3.jpg

    # Thanks

    Thanks to the many developers who worked on this game.

    Thanks to @angguss for his excellent Vita port, on which this Switch port is based.

    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 openttd_switch.zip and copy the contents over to the `/switch/` folder on your sd card, so that you have a folder `/switch/openttd` with many folders and files inside.

    - Use you favorite homebrew launcher to start the game. It comes with everything you need to start playing right away.

    - Note: This game takes quite long to load (~15 seconds). But it is worth the wait!

    - The public domain graphics and sound sets from www.openttd.org are included.

    - If you want the choice to also use the original dos game graphics and sounds, copy over the files
    ```
    SAMPLE.CAT
    TRHCOM.GRF
    TREND.GRF
    TRTITLE.GRF
    TRG1.GRF
    TRGC.GRF
    TRGH.GRF
    TRGI.GRF
    TRGT.GRF
    ```
    from an original TTD game to `/switch/openttd/baseset/`.

    - To install the original music, copy over all files
    ```
    gm/gm_ttxx.gm (xx are numbers)
    ```

    from the folder `gm` from the original windows version of the game to `/switch/openttd/gm/`.

    You then get the choice to select `original dos` graphics, sounds, and music when you go to the game settings dialog.

    # 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 = switch button mappings between two presets: ZL/ZR = slow/fast mouse and Y/X = zoom, or ZL/ZR = zoom and Y/X = slow/fast mouse
    - Double click A / double click right trigger over a text field = bring up on-screen keyboard
    - The touch screen is used for indirect mouse input, like on a laptop touchpad. 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.

    # Current Limitations

    - No network support

    # Building

    libtimidity:
    ```
    git clone https://github.com/rsn8887/libtimidity
    cd libtimidity/src/
    make -f Makefile.switch
    cp libtimidity.a $DEVKITPRO/portlibs/switch/lib/
    cp timidity.h $DEVKITPRO/portlibs/switch/include/
    cp ../libtimidity.pc $DEVKITPRO/portlibs/lib/pkgconfig/
    ```

    liblzo2:
    Download https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz and extract, then
    ```
    cd lzo-2.10
    ./configure CFLAGS='-fPIC' CXXFLAGS='-fPIC' --host aarch64-none-elf --prefix $DEVKITPRO/portlibs/switch/ --disable-shared --enable-static
    make clean
    make -j12
    make install
    ```

    liblzma:
    Download and extract xz-5.2.4.tar.gz from https://tukaani.org/xz/ , then
    ```
    cd xz-5.2.4
    ./configure CFLAGS='-fPIC' CXXFLAGS='-fPIC' --enable-threads=no --host aarch64-none-elf --prefix $DEVKITPRO/portlibs/switch/ --disable-shared --enable-static
    cd src/liblzma
    make clean
    make -j12
    make install
    ```

    Then configure and build OpenTTD from my switch branch:
    ```
    git clone https://github.com/rsn8887/openttd
    git checkout switch
    PKG_CONFIG_PATH=$DEVKITPRO/portlibs/switch/lib/pkgconfig ./configure --os=SWITCH --host aarch64-none-elf --enable-static --prefix=/opt/devkitpro --with-sdl="pkg-config sdl2" --without-fontconfig --disable-strip --without-threads --with-libtimidity --enable-debug=0
    make -j12
    cd os/switch
    git clean -f
    cmake ./ -D
    make openttd_switch.zip
    ```

    openttd_switch.zip can be found in __cmake/__


    # Changelog
    1.05

    - fix right click drag scrolling

    1.04

    - re-compile with libnx v2.2.0 to fix potential crashes with firmware 8.0.x

    1.03

    - bundle with working AI compatibility script files (fixes AI crashing)
    - bundle with pre-installed AI opponents and support library scripts

    1.02

    - compile with lzma and lzo2 compression libraries to allow loading old compressed savegames/scenarios
    - hold ZR / ZL for slow / fast mouse to make it easier to position the pointer with the left stick
    - correctly display free disk space in load/save dialogs
    - press minus to switch button mappings between two presets: ZL/ZR = slow/fast mouse, Y/X = zoom, or ZL/ZR = zoom, Y/X = slow/fast mouse

    1.01

    - music is now working
    - improve smoothness of mouse pointer motion
    - reduce analog joystick deadzone for better mouse pointer control
    - update graphics and sound files to latest freeware versions from www.openttd.org
    - enable cursor key map scrolling on USB keyboard
    - enabled mouse wheel zoom

    1.00

    - initial Switch release based on latest nightly
     
  2. Discussion (71 replies)

  3. sj33

    sj33 GBAtemp Psycho!
    Member

    Joined:
    Oct 22, 2013
    Messages:
    4,032
    Country:
    Japan
    Amazing! Been waiting for this one!
     
    DayVeeBoi likes this.
  4. Issac

    Issac I
    Supervisor

    Joined:
    Apr 10, 2004
    Messages:
    6,724
    Country:
    Sweden
    If my Switch would have been hacked, I wouldn't wait 5 seconds until installing this.

    This game is AMAZING!!!! AAAAAH!
     
  5. Kubas_inko

    Kubas_inko "Something funny goes here."
    Member

    Joined:
    Feb 3, 2017
    Messages:
    6,300
    Country:
    Czech Republic
    Great job. Love this game.
    .
    .
    .
    But I want my mouse...
     
    Last edited by Kubas_inko, Mar 5, 2019
  6. Milenko

    Milenko GBAtemp Addict
    Member

    Joined:
    Oct 16, 2017
    Messages:
    2,164
    Country:
    Australia
    Thought it crashed the first few times as it black screened for a bit, but then worked fine! Good job!

    Now someone just needs to port open rollercoaster tycoon 2 and my life is complete
     
  7. Scarlet

    Scarlet Pretty Pretty Princess
    Reporter

    Joined:
    Jan 7, 2015
    Messages:
    3,798
    Country:
    United Kingdom
    Holy heck this is the best thing wjat
     
  8. rsn8887

    OP rsn8887 GBAtemp Advanced Fan
    Member

    Joined:
    Oct 8, 2015
    Messages:
    912
    Country:
    United States
    Yes the game takes a long time to load with black screen.

    You should be able to use usb mouse and keyboard on Switch. The game supports it. But I tried four different mouse models and only one worked on my Switch. Only my Logitech M187 worked. The other three didn’t work (pressed erroneous buttons very quickly when moving mouse etc)
     
    x65943 likes this.
  9. Charli

    Charli Advanced Member
    Newcomer

    Joined:
    Feb 16, 2011
    Messages:
    89
    Country:
    Germany
    this is great! :)
    Been playing some Multiplayer OpenRCT (Rollercoaster Tycoon) lately. It's incerdibly fun to build a theme park together with a few friends. An OpenRCT-Port for the Switch would also be great ;P Although I don't know if these two project actually have much in common.

    Hah, interesting to know that the switch supports a PC mouse and keyboard. Do you know of any uses other than playing OpenTTD? :)
     
    Last edited by Charli, Mar 5, 2019
  10. luk_pop

    luk_pop GBAtemp Regular
    Member

    Joined:
    Apr 30, 2017
    Messages:
    118
    Country:
    Poland
    Gr8 job, my favorite game of '90.
     
  11. Idontknowwhattoputhere

    Member

    Joined:
    Jan 19, 2019
    Messages:
    757
    Country:
    United Kingdom
  12. BlastedGuy9905

    BlastedGuy9905 where's the updated autopsy report
    Member

    Joined:
    Apr 13, 2017
    Messages:
    2,314
    Country:
    United States
    HOLY SHIT!! Could this be done with OpenRCT?
     
  13. Sumandora

    Sumandora Im using Parental Controls. Change my Mind!
    Member

    Joined:
    Nov 13, 2018
    Messages:
    834
    Country:
    Germany
    FINALLY!!
     
  14. p1n0YsWicH3r

    p1n0YsWicH3r Newbie
    Newcomer

    Joined:
    Feb 25, 2019
    Messages:
    4
    Country:
    Philippines
    been waiting for this!!! thanks a bunch!
     
  15. Scarlet

    Scarlet Pretty Pretty Princess
    Reporter

    Joined:
    Jan 7, 2015
    Messages:
    3,798
    Country:
    United Kingdom
    Had a quick play about, amazing work. My only complaints come from playing with a mouse and keyboard, where the arrow keys don't scroll the map, and the scroll wheel doesn't zoom in/out. Any way to alter the controls? Minor things in the grand scheme of things though, I'm blown away it runs so well in the first place lol
     
    rsn8887 likes this.
  16. mathew77

    mathew77 Lovin' life.
    Member

    Joined:
    Jan 19, 2019
    Messages:
    422
    Country:
    Kazakhstan
    Thanks for your great work! Can't wait for BG music support. :)

    Non-english languages are also works well, here's the little tweak for them:
    For languages other than standard ASCII (Greek, Japanese, Russian, Chinese, etc you name it) here's the solution:

    Download DejaVuSans-Bold.ttf font attached, move it into /switch/openttd/ folder then replace these strings in openttd.cfg file:
    small_font = /switch/openttd/DejaVuSans-Bold.ttf
    medium_font = /switch/openttd/DejaVuSans-Bold.ttf
    large_font = /switch/openttd/DejaVuSans-Bold.ttf

    Voilà !
     

    Attached Files:

    Last edited by mathew77, Mar 5, 2019
    rsn8887 likes this.
  17. Tinnetju

    Tinnetju Advanced Member
    Newcomer

    Joined:
    Jul 31, 2018
    Messages:
    65
    Country:
    Netherlands
    Does everything work? Even multiplayer?
     
  18. m4xw

    m4xw Ancient Deity
    Developer

    Joined:
    May 25, 2018
    Messages:
    2,414
    Country:
    Germany
     
    Tinnetju likes this.
  19. Tinnetju

    Tinnetju Advanced Member
    Newcomer

    Joined:
    Jul 31, 2018
    Messages:
    65
    Country:
    Netherlands
    Oh my bad dude. The formatting is a bit off which makes it very hard to read on mobile.
     
  20. rsn8887

    OP rsn8887 GBAtemp Advanced Fan
    Member

    Joined:
    Oct 8, 2015
    Messages:
    912
    Country:
    United States
    I will try to fix this in the next release, soon.
     
    mathew77 and Scarlet like this.
  21. Wellington2k

    Wellington2k DO YOU HAS?
    Member

    Joined:
    Nov 1, 2010
    Messages:
    774
    Country:
    United States
    Rollercoaster Tycoon next???? :ph34r:
     
    BlastedGuy9905 likes this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - (Transport, OpenTTD, Deluxe)