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

Conversation

glebm
Copy link
Contributor

@glebm glebm commented Nov 22, 2020

PXL_20201124_185234480

PXL_20201124_195203067

Internal controller support is still missing but can be added in a follow-up PR, once @ordovice has extracted a function from CEMU that will make this trivial.

https://github.com/diasurgical/devilutionX

Copy link
Contributor

@rtissera rtissera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's looking good.
You need to patch the engine in order to read from :
/userdata/roms/devilution
instead of
~/.local/share/diasurgical/devilution/

Either using a patch file to C code, either in mk with sed

@Darknior
Copy link

Thanks a lot for this new PORT game <3
We miss a lot of them ... really wish you will add some other ...
Like Solarus, Mario War, GZDoom ...

@glebm
Copy link
Contributor Author

glebm commented Nov 22, 2020

@rtissera I'd rather not patch the code. The data directory can be specified via a command-line argument. How do I pass a command-line argument?

@nadenislamarre
Copy link
Collaborator

nice.
a configgen is missing to tell how to call the program (and to add arguments) and configure the pads
(and configure paths : /userdata/system/config/devilutionx for config files)

a very basic configgen :
https://github.com/batocera-linux/batocera.linux/blob/master/package/batocera/core/batocera-configgen/configgen/configgen/generators/pygame/pygameGenerator.py

and in the directory above, you'll find all of them.

a general rules is to respect :
/userdata/system/config/devilutionx : config files
/userdata/roms/devilutionx : roms files
/userdata/saves/devilutionx : saves

in case a user want to reset the config, he have just to remove /userdata/system/config/devilutionx

@glebm
Copy link
Contributor Author

glebm commented Nov 24, 2020

Thanks for the example, I've added a configgen file.

Still can't test it because the buildroot odroidgoa build is failing:

  • Kernel and u-boot failed to build. Fixed in odroidgoA build fixes #2514.

  • Patch board/batocera/rockchip/patches/mupen64plus-core/mupen-core-mrfixit-updates.patch fails to apply. Worked around by removing this patch file.

  • When building libretro-vecx:

    ./libretro-common/include/glsym/rglgen_private_headers.h:67:10: fatal error: GL/gl.h: No such file or directory

    Sent libretro-vecx: Fix OpenGL dependency #2528

  • When building vice:

    LC_ALL=C no -Dplatformall -o vicetmp.txt --no-validate --no-headers ./vice.texi
    /bin/bash: no: command not found
    

    Fixed by installing texinfo (sudo apt install texinfo). The "no" was coming from $(MAKEINFO) in the autotools-generated Makefile.

@glebm glebm force-pushed the add-devilutionx branch 2 times, most recently from 977df12 to 1d71bd7 Compare November 24, 2020 19:30
@glebm
Copy link
Contributor Author

glebm commented Nov 24, 2020

Current status: shows up in the menu, loads, but does not respond to controller inputs on my RG351p.
External controller does work

@glebm
Copy link
Contributor Author

glebm commented Nov 24, 2020

Thanks to @ordovice I've figured out what the next steps are to add built-in controller support

@glebm
Copy link
Contributor Author

glebm commented Nov 24, 2020

@ordovice will extract a function from CEMU that will make adding internal controller support here trivial. Can be done in a follow-up PR.

This should be good to merge now

@glebm glebm marked this pull request as ready for review November 24, 2020 19:54
@rtissera rtissera merged commit bfef17e into batocera-linux:master Nov 26, 2020
@rtissera
Copy link
Contributor

Merged.
Let's see how builds go on various platforms, you're welcome to make a follow-up PR with configgen.

@glebm glebm deleted the add-devilutionx branch November 26, 2020 11:16
glebm added a commit to glebm/batocera.linux that referenced this pull request Nov 28, 2020
Starts DevilutionX with a generated SDL2 game controller config.

Follow-up to batocera-linux#2510, made possible by batocera-linux#2552.

DevilutionX version bumped to get fixed for the following controller issues on the DevilutionX side:

* diasurgical/devilutionX#930
* diasurgical/devilutionX#931

Signed-off-by: Gleb Mazovetskiy <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants