OpenTTD (Transport Tycoon Deluxe) for Switch v1.0.

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

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
933
Trophies
1
Age
44
Website
www.patreon.com
XP
3,089
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)
 
  • Like
Reactions: x65943

Charli

Well-Known Member
Newcomer
Joined
Feb 16, 2011
Messages
96
Trophies
0
XP
803
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.

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)

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,

Scarlet

Soy Consoomer
Editorial Team
Joined
Jan 7, 2015
Messages
4,243
Trophies
2
Location
Middleish North-Left
XP
9,720
Country
United Kingdom
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)
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
 
  • Like
Reactions: rsn8887

mathew77

Lovin' life.
Member
Joined
Jan 19, 2019
Messages
771
Trophies
0
Age
44
XP
1,670
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à !
 

Attachments

  • openttd_unicode_support.zip
    698.3 KB · Views: 0
Last edited by mathew77,
  • Like
Reactions: rsn8887

rsn8887

Well-Known Member
OP
Member
Joined
Oct 8, 2015
Messages
933
Trophies
1
Age
44
Website
www.patreon.com
XP
3,089
Country
United States
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

I will try to fix this in the next release, soon.
 
General chit-chat
Help Users
    KennieDaMeanie @ KennieDaMeanie: https://youtube.com/shorts/N6ZiG1c80q4?feature=share