lantus / devilution-nx

Diablo for the Nintendo Switch
The Unlicense
859 stars 61 forks source link

Port on RetroStone/Retrorangepi #11

Open PaddleStroke opened 5 years ago

PaddleStroke commented 5 years ago

Any chance to see a port for RetroStone / Retrorangepi? :)

It's a game console running armbian (a debian variant for Allwinner SoC). It has a dpad and 10 buttons.

Could you help giving hints about what should be modified for the controllers?

AJenbo commented 5 years ago

devilution-nx uses libnx (hidJoystickRead) for it's controller implementation and so isn't really portable to other systems. However the control scheme was originally written using xinput and for devilutionX we aim to have an implementation using SDL2, meaning that it should work for most controllers on any supported system.

I guess this issue could be considered a duplicate of this https://github.com/diasurgical/devilutionX/issues/163

PaddleStroke commented 5 years ago

Hello @Ajenbo Thanks for your reply! About the controls, Retrorangepi use a library called uinput for it's controller implementation. If you can tell me where the controller implementation is done on this port, I can probably replace it with uinput so that it works there too.

AJenbo commented 5 years ago

We would like to just use SDL2 and there by support all devices with a single implementation.

AJenbo commented 4 years ago

RetroStone/Retrorangepi should now be supported by upstream (including controller code), simply run the Linux build steps on your device.

PaddleStroke commented 4 years ago

Thanks! Working great :) With keyboard+mouse. Now we just need to figure out the controls

AJenbo commented 4 years ago

The current mapping can be found here: https://github.com/diasurgical/devilutionX/blob/master/Packaging/OpenDingux/build.sh#L118

You can build for RS97 via this command: Packaging/OpenDingux/build-retrofw.sh

I'm currently working on improving the controller code using a RG300 and a PS dual shock controller on PC.

I think this issue can safely be close at this point, feel free to open a new one upstream if you have any issues with your device, and also check out the planned improvements in https://github.com/diasurgical/devilutionX/issues/418