JinxDojo / genplus-gx

Automatically exported from code.google.com/p/genplus-gx
Other
0 stars 0 forks source link

Allow Nunchuk alone to be mapped as a controller. #361

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Would it be possible to allow a Nunchuk controller to be mapped to a slot by 
itself, rather than as a Nunchuk & Wii Remote combo? This is obviously an edge 
usage case, but would allow multiplayer with just a single Wii Remote/Nunchuk 
set on most games (Game Gear, SMS, many Mega Drive titles), and would also do 
wonders for a certain Mega Drive hack:

The first-person shooter Zero Tolerance has a mouse controls hack by Ti. On a 
real Mega Drive, the player uses a standard controller in slot 1 and a mouse in 
slot 2, using the d-pad to move and mouse for aiming and buttons. Obviously, 
this could be done on the Wii with a USB mouse and the player's choice of P1 
controller, but another possibility is the use of the Wii Remote's infra-red 
for slot 2 (mouse) and the associated Nunchuk in slot one (3-button controller).

This would allow Zero Tolerance to be played much like a modern Wii FPS. 
Obviously, the nunchuk is short two buttons, but controls for the hacked game 
are replicated on both controller and mouse, so the four buttons the game needs 
(fire, change weapon, jump, pause) can easily be spread across the Wiimote and 
nunchuk.

Obviously, this goes beyond replicating any sort of experience that could be 
had on the Mega Drive itself, so I understand if it's undesirable on that 
grounds, but hopefully the potential benefit outweighs concerns of potentially 
stepping outside the explicit aim of the project.

Original issue reported on code.google.com by vaguerant on 17 Sep 2013 at 8:03

GoogleCodeExporter commented 9 years ago
The fact nunchuk only has 2 buttons would complicate a lot of things, 
especially for button mapping (how would the emulator knows which button you 
want to ignore) but also an important part of the input code would need to be 
rewritten with that in mind and i don't want to do that, especially when it can 
easily be bypassed on user side by getting a 2nd wiimote...

Original comment by ekeeke31@gmail.com on 17 Sep 2013 at 6:08

GoogleCodeExporter commented 9 years ago

Original comment by ekeeke31@gmail.com on 17 Sep 2013 at 6:09

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Regarding the controls "issue" with the Zero Tolerance hack, I can think of two 
solutions that I'm not sure would require way too many changes in the code or 
not, but will explain in case they're feasable:

-Currently, playing it as described would require two Wiimotes with one Nunchuk 
connected to each (just so the first Wiimote can be held vertically), so the 
need for this required yet unused Nunchuk can be solved by adding a new 
controller option for "Wiimote (Vertical)".

This would be useful for RPGs and menu-based games as well (I think I even 
opened a feature request for it some time ago), so it wouldn't be just a 
specific "patch" for this situation, in any case.

-The other solution I can think of would be being able to assign separately 
each controller and its attached device, as follows:

Imagine you have a Wiimote+Nunchuk and a Wiimote+Classic Controller currently 
being detected by the console. When clicking on the assigned device for Player 
1, the emulator would cycle between the currently detected individual devices 
and the Wiimote+Nunchuk combination when found:
--None
--Wiimote+Nunchuk (1)
--Wiimote (1)
--Nunchuk (1)
--Wiimote (2)
--Classic Controller (2)

In the case of the opening post, the controls would just have to be assigned as:
PLAYER 1: Wiimote (1)
PLAYER 2: Nunchuk (1)

This would also make 4-player games possible with just two Wiimotes and two 
Classic Controllers, for example (or even Nunchuks, for games that don't 
require three buttons like Sonic or Bomberman).

As for how to ignore a button when defining the controls, perhaps there could 
be a "HOME to skip" notice while it prompts for the button press (after all, 
it's the only button that's never going to be mapped to anything else).

Original comment by iceknigh...@gmail.com on 23 Sep 2013 at 4:18