Difference between revisions of "Nintendo Switch"

Jump to navigation Jump to search
861 bytes removed ,  13:30, 4 June 2020
no edit summary
(47 intermediate revisions by 3 users not shown)
Line 2: Line 2:
name=Nintendo Switch|
name=Nintendo Switch|
version={{StableVersion}}|
version={{StableVersion}}|
backend=switch|
backend=switch + sdl|
status=Maintained|
status=Maintained|
mp3=yes|
mp3=yes|
Line 17: Line 17:
pkgend=-switch.zip|
pkgend=-switch.zip|
icon=switch|
icon=switch|
forum=|
forum=24|
notes=|


agi=yes|
agi=yes|
Line 43: Line 44:
}}
}}


ScummVM has been ported to the [[Nintendo]] Switch by Cpasjuste.
ScummVM has been ported to the [[Nintendo]] Switch by Cpasjuste. Note: The first release version will be 2.1.0. But daily buildbot versions are already available [https://buildbot.scummvm.org/snapshots/master/switch-master-latest.zip here] (see installation instructions below).


= Installation =
== Installation ==
== Prerequisites ==
 
* A homebrew enabled Nintendo Switch console.
=== Prerequisites ===
* A homebrew enabled Nintendo Switch console. Detailed jailbreaking instructions can be found online.
* At least one ScummVM supported game. The list of compatible games can be seen here: https://www.scummvm.org/compatibility/
* At least one ScummVM supported game. The list of compatible games can be seen here: https://www.scummvm.org/compatibility/
* The page [[Where to get the games]] references some places where those games can be bought. Demonstration versions for most of the supported games are downloadable on https://scummvm.org/demos/
* The page [[Where to get the games]] references some places where those games can be bought. Demonstration versions for most of the supported games are downloadable on https://scummvm.org/demos/


== Installing ==
=== Installing ===
 
* The latest daily version of ScummVM for Switch is [https://buildbot.scummvm.org/snapshots/master/switch-master-latest.zip here] (needs to be unzipped).
* The latest nightly version is [https://buildbot.scummvm.org/snapshots/master/switch-master-latest.zip here] (needs to be unzipped).
* Copy the scummvm folder to your SD card into the folder /switch/ so that you have a folder /switch/scummvm with scummvm.nro and other folders inside.
* Copy the scummvm folder to your SD card into the folder /switch/  
* Launch ScummVM using your favorite method to launch homebrew on the Switch
* Launch ScummVM using your favorite method to launch homebrew on the Switch


== Configuring Games ==
== Configuring Games ==
The user manual describes how to add games to ScummVM and launch them: [[User Manual]]
The user manual describes how to add games to ScummVM and launch them: [[User Manual]]


== Notes ==
== Notes ==
Saves are written to the /switch/scummvm/saves folder.
Saves are written to the /switch/scummvm/saves folder.


= Controls =  
== Controls ==
{{SwitchControls}}
{{SwitchControls}}


= Touch Controls =
== Building From Source ==
The touch controls use an indirect mode, where the finger can be far away from the pointer and still move it, (like on a laptop touchpad). The pointer speed setting in options->controls affects how far the pointer moves in response to a finger movement on the rear panel.
 
The two finger drag is useful for Full Throttle to bring up the action menu, and in the menu to use the scroll bar in the game list. It works in the following way: holding down two fingers for a while initiates a drag'n'drop where the left mouse button is being held down. The first finger affects mouse motion during the drag, the second finger can be removed without affecting the drag. When the last finger is removed, the left mouse button is released and the drag is over. Note the second finger can be anywhere, it doesn't have to be close to the first finger, and it doesn't have to be put down simultaneously with the first finger, either.
 
Typical usage of dual finger drag and drop in Full Throttle: Hold down one finger over an object. Then hold down a second finger somewhere on the screen for a little bit to initiate a dual finger drag. This brings up the action menu. Now let go of the second finger. The dual-finger drag continues since one finger is still down. Select an action with the first finger, and let go of the first finger to end the drag.
 
There is also a three finger drag that causes the right-mouse button to be held down, instead of the left one. It might be useful for some games.
 
= Building From Source =


This port of ScummVM to the Switch is based on SDL2. It uses the open source SDK provided by devkitPro.
This port of ScummVM to the Switch is based on SDL2. It uses the open source SDK provided by devkitPro.
Line 85: Line 75:
* Obtain the ScummVM source code (https://github.com/scummvm/scummvm)
* Obtain the ScummVM source code (https://github.com/scummvm/scummvm)


* Install devkitPro for Switch (https://switchbrew.org/wiki/Setting_up_Development_Environment)
* Install the development tools for Switch following the official instructions (https://devkitpro.org/wiki/Getting_Started)


* Ensure your $DEVKITPRO variable is set via
* Update package database and install libraries (see [https://www.scummvm.org/downloads/#libs here] for an updated list)
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
export DEVKITPRO="/opt/devkitpro"`
sudo dkp-pacman -Sy
sudo dkp-pacman -S \
switch-sdl2 \
switch-libmad \
switch-libogg \
switch-libvorbis \
switch-flac \
switch-libtheora \
switch-libpng \
switch-libjpeg-turbo \
switch-zlib \
switch-freetype \
switch-sdl2_net \
switch-curl \
switch-libtimidity \
switch-pkg-config
</syntaxhighlight>
</syntaxhighlight>


* Ensure your $DEVKITA64 variable is set via
* Optional: To enable fluidsynth support, download and install the unofficial fluidsynth-lite switch port via
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
export DEVKITA64="/opt/devkitpro/devkitA64"
git clone https://github.com/rsn8887/fluidsynth-lite
cd fluidsynth-lite
make -f Makefile.nx
sudo -E make -f Makefile.nx install
</syntaxhighlight>
</syntaxhighlight>
* Ensure devkitPro binaries are in your path via
<syntaxhighlight lang="bash">
export PATH="$DEVKITA64/bin:$DEVKITPRO/tools/bin:$PATH"
</syntaxhighlight>
* Install libraries via
<syntaxhighlight lang="bash">
sudo -E dkp-pacman -S switch-portlibs
</syntaxhighlight>
(or just `pacman -S switch-portlibs` if your system already includes pacman)


* Create a subdirectory somewhere outside the source folder for your ScummVM build and cd into it
* Create a subdirectory somewhere outside the source folder for your ScummVM build and cd into it


* Execute the command
* Execute the command (once a curl-config script exists for devkitA64, the --disable-libcurl could be omitted)
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
../scummvm/configure --host=switch --disable-libcurl
../scummvm/configure --host=switch
</syntaxhighlight>
</syntaxhighlight>


Line 120: Line 117:
</syntaxhighlight>
</syntaxhighlight>


= Disclaimer =  
== Disclaimer ==


Unauthorized distribution of an installable package with non freeware games included is a violation of the copyright law and is as such forbidden.
Unauthorized distribution of an installable package with non freeware games included is a violation of the copyright law and is as such forbidden.


= Thanks =  
== Thanks ==  


* Developers of devkitPro for making Switch homebrew possible
* [https://devkitpro.org devkitPro] and [https://switchbrew.org/ Switchbrew] teams
202

edits

Navigation menu