argonlefou / DemulShooter

Enable dual lightgun play in arcade games and emulator
104 stars 14 forks source link

Assigning two analog sticks of the same device to two different players #184

Open baritonomarchetto opened 7 months ago

baritonomarchetto commented 7 months ago

I would like to assign two analog sticks of the same device to two different players. Actually I can associate one single stick to both, but they are obviously not independent.

Is there a way to do this in the current GUI?

Yes, using a single gamepad for both players is unpractical :) , but I am using an arduino emulating a two analog sticks gamepad which should better clarify why this could be of any use for someone :)

Thanks!

baritonomarchetto commented 7 months ago

Answer to self: yes it is possible by selecting the actual axis to asign to player one and two.

great!

baritonomarchetto commented 7 months ago

ok, looks like only one analog stick is actually active, no matter my definitions. Only the latest set of axis defined are kept, the other two are ignored.

This could be easily reproduced with a common two analog sticks gamepad.

Could it be a bug?

baritonomarchetto commented 7 months ago

Maybe I should elaborate further. If I assign two axes to one player and the other two to another player, only the latest defined (the latest saved) are kept and assigned to both players. Is this how it is supposed to work?

(thanks!)

argonlefou commented 7 months ago

This is not a "bug", this is how DemulShooter works due to how it was created back on it's first days

To make it quick : players are devices, and a device is a player. Some options can exist to set the devices/players functionality but still....a device is a player DemulShooter very core design was not meant to be an emulator where - like in TP or Flycast - you can assign multiple devices to a single player (keyboard, mouse, etc....) but just to use separate devices to aim a gun.

In the current situation, assigning the same device to 2 different players will just assign the device to one of the two (only) and overwrite the device settings (axis, etc....) with the latest player's options. Just as you pointed out. DemulShooter_GUI does't care for that because it's just a GUI to show devices info and it's not running background data like DemulSooter.

That question has been asked (not here) few month ago, but I couldn't reply quicker so I'm sorry you wasted time trying to figure out something that I know was impossible to achieve.

Now for the request itself :
I'm not closing the ticket because it' not something impossible to do, but I highly doubt this is something that would be done in the upcoming months/years. To fix that, I would need to rewrite from scratch the very very core system of DemulShooter and start a whole new program. It would need a whole new covid-alike pandemic with months of lockdowns to give me enough time for that, and I hope it's not happening soon !

baritonomarchetto commented 7 months ago

Hehe, I suspected that (the need for a deep code rewrite, not the COVID thing :) ) Anyway, it's not something I will die for (in the end, only Model 2 emulator needs an extensive abuse of Demulshooter's input functions) so, keep it in mind for future improvements but nothing more.

For the record: here is a link to the project I am using Demulshooter with: https://www.instructables.com/SNK-Positional-Gun-Arcade-Assembly-Retrofit/

Thank you very much!