Sorry to hijack/piggbacky the thread, but I figured the idea is somewhat related. First off, just want to say that I think the retroach/libretro project is something the emulation community has desperately needed. It’s a brilliant idea and I’m thankful to all the people contributing! Now onto the suggestion:
Earlier in the thread, hotplugging on Windows was mentioned. I’d like to help test if anyone is willing to tackled this. Unfortunately, I’m not much of a coder, my skills lie on the database side of things.
I’ve been searching for workarounds, hacks, etc. to standardize controller hot plugging for the various emulators I use. Looked at Xpadder, ppjoy, vJoy, etc. While they do work in some fashion, limits do exist and the solution lacks the cohesiveness of native controller support. Since stumbling upon Retroarch, I was thrilled to find a one stop shop for all my emulators, where the inputs are mapped once and used for all the cores (hotplugging issue aside). So much configuring, instantly solved. Retroarch already being leauges above the rest, adding hotplugging functionality would really give it the local multiplayer experience we all grew up with!
I have no idea what goes into patching for hotplugging, but I imagine its not simple. I’m not sure how everyone feels about workarounds / hacks being implemented to emulate such a feature, but here’s a suggestion:
Use case: I have four 360 controllers pre-configured for retroarch, but I’m currently only have one turned on. I’m playing one of the many classic 4 player side scrolling beat-em-ups, and the wife wants to hop in as player 2.
The workaround: A special save state slot that can be used to quickly save and reload the state of rom, causing the rom to re-initialize input devices. This should work if the inputs were already pre-configured for players 2,3,4 etc (I can test this tonight). Then, being able to bind this functionality to a controller button (or maybe if there was an option for the core to hook into the OS and see if a new device gets plugged in and have perform this functionality automatically. This piece can be optional.
Of course hotplugging support would be even better, but the above might be easier to implement.
I’d love to help in any way I can, let me know what I can do!