Skip to content
Diablo for the Nintendo Switch
Branch: master
Clone or download
lantus Merge pull request #24 from rsn8887/master
Implement touch controls, improve button mapping
Latest commit 347dced Jul 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
3rdParty d-pad works, fixed stext bye re-entering talk Jul 7, 2019
CMake Initial commit Jun 19, 2019
DiabloUI gets ingame Jun 19, 2019
Packaging/fedora Initial commit Jun 19, 2019
Source Use SDL Game Controller also for menu navigation Jul 14, 2019
SourceS Initial commit Jun 19, 2019
SourceX Prevent walking with dpad while talking to people Jul 14, 2019
Xcode Initial commit Jun 19, 2019
docker Initial commit Jun 19, 2019
docs Initial commit Jun 19, 2019
exefs prevent "spell not rdy" speech on exit dialog Jul 13, 2019
resources/haiku Initial commit Jun 19, 2019
switch Use SDL_GameController for portability, make touch portable Jul 14, 2019
touch Use SDL_GameController for portability, make touch portable Jul 14, 2019
.gitattributes Initial commit Jun 19, 2019
.gitignore getting closer Jun 26, 2019
.travis.yml Initial commit Jun 19, 2019
Brewfile Initial commit Jun 19, 2019
Brewfile-32bit.rb Initial commit Jun 19, 2019
CMakeLists.txt Use SDL_GameController for portability, make touch portable Jul 14, 2019
Diablo.ico Initial commit Jun 19, 2019
Diablo.rc Initial commit Jun 19, 2019
LICENSE Initial commit Jun 19, 2019
README.md Update readme to reflect menu controls Jul 13, 2019
appveyor.yml Initial commit Jun 19, 2019
defs.h Initial commit Jun 19, 2019
enums.h Initial commit Jun 19, 2019
icon.jpg getting closer Jun 26, 2019
macos-build.sh Initial commit Jun 19, 2019
makefile
resource.h Initial commit Jun 19, 2019
structs.h Initial commit Jun 19, 2019
types.h Initial commit Jun 19, 2019

README.md

Nintendo Switch Port of DevilutionX (Diablo)

How To Play:

  • Extract contents of diablo-nx.zip release into SDMC:\switch\diablo-nx
  • Copy DIABDAT.MPQ from original Diablo game disc or GOG version.
  • Launch diablo-nx.nro
  • Note: Hold R on any installed game and launch it. Do not use photo-album to launch. If you use photo-album, the homebrew only has very little memory available, and the touch keyboard doesn't work. This is true for all homebrew, not just Diablo-NX.
  • Enjoy :)

Joycon Controls

  • Left Analog : Move Hero
  • Right Analog : Simulate Mouse
  • B : Attack nearby enemies, talk to towns people and merchants. Pickup & Drop items in inventory. OK in Menu
  • Y : Pickup gold, potions & equipment from ground, open chests and doors that are nearby. Use item when in inventory (read books etc.).
  • X : Cast Spell
  • A : Select Spell, Cancel in Menu
  • R : Inventory
  • L : Character
  • ZR : Drink Mana Potion
  • ZL : Drink Heal Potion
  • Left Analog Click : Quest Log
  • Right Analog Click : Left mouse click
  • Minus : Automap
  • Plus : Game Menu, Skip Intro

Touch Controls

  • Single finger drag : move the mouse pointer (pointer jumps to finger)
  • Single short tap : left mouse click
  • Single short tap while holding a second finger down : right mouse click
  • Dual finger drag : drag'n'drop (left mouse button is held down)
  • Three finger drag : drag'n'drop (right mouse button is held down)

Notes

There are lots of bugs. Check issues on the code repo.

Compiling On Linux

install devkitproA64, libzip, libpng, libjpeg, switch-freetype, switch-mesa, switch-glad, switch-glm, switch-sdl2, switch-sdl2_ttf, switch-sdl2_mixer, switch-libvorbis, switch-libmikmod

make

Compiling On Windows

  • Install devkitpro
  • Open Start Button > DevKitPro > MSys2
  • Type in pacman -S switch-freetype switch-mesa switch-glad switch-glm switch-sdl2 switch-sdl2_ttf switch-sdl2_mixer switch-libvorbis switch-libmikmod
  • Type in make

Compiling On MacOS

  • Install devkitpro

  • Open Terminal

  • Type in dkp-pacman -S switch-freetype switch-mesa switch-glad switch-glm switch-sdl2 switch-sdl2_ttf switch-sdl2_mixer switch-libvorbis switch-libmikmod

  • Type in make

  • .nro lives in release. Test with an emulator (RyuJinx) or real hardware.

Credits

  • Reverse engineered by GalaXyHaXz in 2018
  • Switch Port by MVG in 2019
  • Control Improvements and bug fixes for Switch Port by rsn8887 in 2019
  • Controller code by Jacob Fliss
  • RetroArch team for the Switch mman.h file
  • sanctuary - extensively documenting Diablo's game engine
  • BWAPI Team - providing library API to work with Storm
  • Ladislav Zezula - reversing PKWARE library, further documenting Storm
  • fearedbliss - being awe-inspiring
  • Climax Studios & Sony - secretly helping with their undercover QA :P
  • Blizzard North - wait, this was a typo!
  • Depression - reason to waste four months of my life doing this ;)

And a special thanks to all the support and people who work on Devilution to make it possible! <3

Legal

Devilution is released to the Public Domain. The documentation and function provided by Devilution may only be utilized with assets provided by ownership of Diablo.

Battle.net(R) - Copyright (C) 1996 Blizzard Entertainment, Inc. All rights reserved. Battle.net and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.

Diablo(R) - Copyright (C) 1996 Blizzard Entertainment, Inc. All rights reserved. Diablo and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.

Devilution and any of its' maintainers are in no way associated with or endorsed by Blizzard Entertainment(R).

You can’t perform that action at this time.