I'm setting up INPUT_PORTS_??? for a system with a 16-way digital controller.
Even though it's digital, it seems easier to map it to an analog stick, then map it back to digital in the read port handler, kinda like what's done for the 49-way controller in williams.c/sinistar.
It's not quite the same, however, as sinistar seems to actually be a 7x7 grid, and I'd be faking this into a 5x5 grid, e.g.
+---+---+---+---+---+ | UL|UUL| U |UUR|UR | +---+---+---+---+---+ |LUL| UL| U |UR |RUR| +---+---+---+---+---+ | L | L | | R | R | +---+---+---+---+---+ |LDL| DL| D |DR |RDR| +---+---+---+---+---+ | DL|DDL| D |DDR|DR | +---+---+---+---+---+
Only the outer 16 values are "real" directions on the controller; the inner 8 directions are dupes of the 8-way directions (and the center is nothing).
Is this acceptable for MAME/MESS purposes? Or is there a better way to handle this instead of 16 separate inputs?
It just seems like this will get unwieldly fast, especially since there's also a slew of buttons on the controller, a second identical controller that must be mapped, _and_ a keyboard in certain configurations.
Thanks!
H@P
EDIT: mapping as analog and decoding as above feels about right when using a keyboard... and it just seems better to me than mapping 16 separate inputs to keys on the keyboard O_o
Edited by H@P (01/03/10 09:13 AM)
|
|
|