Skip to content

lantus/devilution-nx

Repository files navigation

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 and run the following commands:

  • dkp-pacman -S switch-dev to install more build tools

    • At a minimum, you will need to install devkitA64 and switch-tools
  • dkp-pacman -S switch-freetype switch-mesa switch-glad switch-glm switch-sdl2 switch-sdl2_ttf switch-sdl2_mixer switch-libvorbis switch-libmikmod

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