Skip to content

Releases: rsn8887/OpenTTD

OpenTTD port for Switch v1.07

08 May 02:50
Compare
Choose a tag to compare

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




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, Count Duckula, Jesse Harlin, Thomas Luten, Matthew Machnee, Mored4u, Ibrahim Fazel Poor, 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 (now included in pacman packages):

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 (now included in pacman packages):
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 (now included in pacman packages):
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 ./ -DCMAKE_BUILD_TYPE=Release
make openttd_switch.zip

openttd_switch.zip can be found in cmake/

Changelog

1.07

  • re-compile with 12.0.0 support

1.06

  • re-compile with 9.0.0 support

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

OpenTTD port for Switch v1.06

15 Sep 02:58
Compare
Choose a tag to compare

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




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, Greg Gibson, Jesse Harlin, Duncan Harris, Özgür Karter, Matthew Machnee, Mored1984, Ibrahim Fazel Poor, 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 ./ -DCMAKE_BUILD_TYPE=Release
make openttd_switch.zip

openttd_switch.zip can be found in cmake/

Changelog

1.06

  • re-compile with 9.0.0 support

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

OpenTTD port for Switch v1.05

16 May 03:54
Compare
Choose a tag to compare

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




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

OpenTTD port for Switch v1.04

02 May 00:13
Compare
Choose a tag to compare

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




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, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, 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.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

OpenTTD port for Switch v1.03

25 Apr 18:44
Compare
Choose a tag to compare

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




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, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, 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.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

OpenTTD port for Switch v1.02

13 Mar 17:21
Compare
Choose a tag to compare

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




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, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, 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 ./
make openttd_switch.zip

openttd_switch.zip can be found in cmake/

Changelog

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

OpenTTD port for Switch v1.01

06 Mar 08:04
Compare
Choose a tag to compare

OpenTTD port for Switch v1.01

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




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, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, 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
  • 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

To compile from source, first build and install libtimidity (midi music library):

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/

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 --enable-network=0 --without-liblzo2 --without-lzma --without-threads --with-libtimidity
make -j12
cd cmake
cmake ./ -DSWITCH_BUILD=ON
make openttd_switch.zip

openttd_switch.zip can be found in cmake/

Changelog

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

OpenTTD port for Switch v1.0

05 Mar 10:35
Compare
Choose a tag to compare

OpenTTD port for Switch v1.0

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




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, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, and RadicalR.

Installation

A public domain graphics set (OpenGFX) is included. If you want the choice to also use original dos game graphics, copy over the files

SAMPLE.CAT 
TRHCOM.GRF
TREND.GRF
TRTITLE.GRF
TRG1.GRF
TRGC.GRF
TRGH.GRF
TRGI.GRF
TRGT.GRF  

to /switch/openttd/baseset/

If the above files are present, a new option will appear when you go to game settings from the titlescreen. There you can select between the two graphics sets original dos and openGFX.

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
  • Double click A/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 music (requires midi)
  • No network support

Building

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 --enable-network=0 --without-liblzo2 --without-lzma --without-threads
make -j12
cd cmake
cmake ./ -DSWITCH_BUILD=ON
make openttd_switch.vpk

openttd_switch.zip can be found in cmake/

Changelog

1.0

  • initial Switch release based on latest nightly

OpenTTD Switch v1.0 (Work-in-Progress) crashes on save dialog currently

04 Mar 04:15
Compare
Choose a tag to compare

OpenTTD port for Switch v1.0 (Work-in-Progress)

This is my Switch port of OpenTTD, a re-implementation of Transport Tycoon Deluxe. It is playable, but crashes on save dialog currently.

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


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

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

Installation

A public domain graphics set (OpenGFX) is included. If you want the choice to also use original dos game graphics, copy over the files

SAMPLE.CAT 
TRHCOM.GRF
TREND.GRF
TRTITLE.GRF
TRG1.GRF
TRGC.GRF
TRGH.GRF
TRGI.GRF
TRGT.GRF  

to /switch/openttd/baseset/

If the above files are present, a new option will appear when you go to game settings from the titlescreen. There you can select between the two graphics sets original dos and openGFX.

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
  • Double click A/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 for 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 --enable-network=0 --without-liblzo2 --without-lzma --without-threads
make -j12
cd cmake
cmake ./ -DSWITCH_BUILD=ON
make openttd_switch.vpk

openttd_switch.zip can be found in cmake/

Building for Vita

This same codebase can be compiled for Vita, too:

PKG_CONFIG_PATH=$VITASDK/arm-vita-eabi/lib/pkgconfig ./configure --os=PSVITA --host arm-vita-eabi --enable-static --prefix=/usr/local/vitasdk --with-sdl="pkg-config sdl2" --without-fontconfig --disable-strip --enable-network=0 --without-liblzo2
make -j12
cd cmake
cmake -DVITA_BUILD=ON ./
make openttd.vpk

openttd.vpk can be found in cmake/

Changelog

(1.0 WIP) Switch crashes on load/save dialog at the moment

  • initial Switch release based on latest nightly
  • enabled sound fx (requires SAMPLE.CAT from original game, and enable original dos sound in settings)
  • improved touch controls
  • speedup on Vita via native texture rendering
  • improved analog stick mouse controls (use right stick to pan map and left stick for pointer)