Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DevilutionX (Diablo 1) #2510

Merged
merged 1 commit into from
Nov 26, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ menu "Emulators"
endmenu

source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/amiberry/Config.in"
source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/devilutionx/Config.in"
source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/dolphin-emu/Config.in"
source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/dosbox/Config.in"
source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/dosbox-staging/Config.in"
Expand Down
1 change: 1 addition & 0 deletions batocera-Changelog
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
* add: easy vulkan configuration for retroarch / rpcs3
* add: odroidn2 : jaguar
* add: dolphin performances on odroidn2 increased
* add: DevilutionX (Diablo 1)
* fix: Odroid Go Advance splash screen
* fix: CHD broken support on most systems
* fix: netplay (and add "watch mode")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
from generators.rpcs3.rpcs3Generator import Rpcs3Generator
from generators.pygame.pygameGenerator import PygameGenerator
from generators.mame.mameGenerator import MameGenerator
from generators.devilutionx.devilutionxGenerator import DevilutionXGenerator
import controllersConfig as controllers
import signal
import batoceraFiles
Expand Down Expand Up @@ -69,7 +70,8 @@
'melonds' : MelonDSGenerator(),
'rpcs3' : Rpcs3Generator(),
'mame' : MameGenerator(),
'pygame': PygameGenerator()
'pygame': PygameGenerator(),
'devilutionx': DevilutionXGenerator(),
}

def main(args, maxnbplayers):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env python

import Command
from generators.Generator import Generator

class DevilutionXGenerator(Generator):

def generate(self, system, rom, playersControllers, gameResolution):
commandArray = ["devilutionx", "--data-dir", "/userdata/roms/devilutionx",
"--config-dir", "/userdata/system/config/devilutionx",
"--save-dir", "/userdata/saves/devilutionx"]
if system.isOptSet('showFPS') and system.getOptBoolean('showFPS') == True:
commandArray.append("-f")
return Command.Command(array=commandArray)
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
'configgen.generators.melonds',
'configgen.generators.pygame',
'configgen.generators.mame',
'configgen.generators.devilutionx',
'configgen.settings',
'configgen.utils']
)
Original file line number Diff line number Diff line change
Expand Up @@ -316,3 +316,6 @@ pico8:
core: retro8
options:
ratio: 1/1
devilutionx:
emulator: devilutionx
core: devilutionx
2 changes: 2 additions & 0 deletions package/batocera/core/batocera-system/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,8 @@ config BR2_PACKAGE_BATOCERA_ALL_SYSTEMS
select BR2_PACKAGE_MOONLIGHT_EMBEDDED if !BR2_PACKAGE_BATOCERA_TARGET_ODROIDGOA # moonlight
select BR2_PACKAGE_SCUMMVM # ALL # scummvm

select BR2_PACKAGE_DEVILUTIONX # ALL # DevilutionX (Diablo 1)

select BR2_PACKAGE_DOSBOX # ALL # dos

select BR2_PACKAGE_DOSBOX_X if !BR2_PACKAGE_BATOCERA_TARGET_ROCK960 && \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ libretro:
"8x": 8
"16x": 16
"32x": 32
devilutionx:
features: [ ]
dolphin:
features: [ ]
dosbox:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,23 @@ dos:
Les jeux DOS sont disponibles sur myabandonware:
http://www.myabandonware.com/browse/platform/dos/

devilutionx:
name: DevilutionX
manufacturer: Ports
release:
hardware: port
extensions: [mpq]
group: ports
emulators:
devilutionx:
devilutionx: { requireAnyOf: [BR2_PACKAGE_DEVILUTIONX] }
comment_en: |
Diablo 1.

Place diabdat.mpq (all lowercase) from your CD or GoG installation into:

/userdata/roms/devilution/

fbneo:
name: Final Burn Neo
manufacturer: Arcade
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<gameList>
<game>
<path>./diabdat.mpq</path>
<name>DevilutionX (Diablo 1)</name>
<desc>Classic Hack &amp; Slash Action RPG</desc>
<image>./images/devilutionx-image.png</image>
<genre>Action RPG</genre>
<players>1</players>
</game>
</gameList>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions package/batocera/emulators/devilutionx/Config.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
config BR2_PACKAGE_DEVILUTIONX
bool "DevilutionX"
select BR2_PACKAGE_SDL2
select BR2_PACKAGE_SDL2_IMAGE
select BR2_PACKAGE_SDL2_TTF
select BR2_PACKAGE_SDL2_MIXER
select BR2_PACKAGE_LIBSODIUM
help
Diablo 1.

https://github.com/diasurgical/devilutionX/
28 changes: 28 additions & 0 deletions package/batocera/emulators/devilutionx/devilutionx.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
################################################################################
#
# devilutionx
#
################################################################################

# The first commit that allows specifying `--config-dir` (24 Nov 2020)
DEVILUTIONX_VERSION = 9c7d6c96
DEVILUTIONX_SITE = $(call github,diasurgical,devilutionx,$(DEVILUTIONX_VERSION))
DEVILUTIONX_DEPENDENCIES = sdl2 sdl2_mixer sdl2_image sdl2_ttf libsodium

# Prefill the player name when creating a new character, in case the device does
# not have a keyboard.
DEVILUTIONX_CONF_OPTS += -DPREFILL_PLAYER_NAME=ON

# Define VERSION_NUM so that DevilutionX build does not attempt to get it from
# git, to which it doesn't have access here.
#
# VERSION_NUM must match (\d\.)*\d. If the DEVILUTIONX_VERSION does not
# match this pattern (tested by simply looking for a "."), we use a fixed
# version with a commit hash suffix instead.
ifeq ($(findstring .,$(DEVILUTIONX_VERSION)),.)
DEVILUTIONX_CONF_OPTS += -DVERSION_NUM=$(DEVILUTIONX_VERSION)
else
DEVILUTIONX_CONF_OPTS += -DVERSION_NUM=1.1.0 -DVERSION_SUFFIX="-$(DEVILUTIONX_VERSION)"
endif

$(eval $(cmake-package))