Derrick: I am just curious why some of the games which used a pot-based positional gun or joystick (such as Jurassic Park which apparently used sticks not guns: http://www.klov.com/game_detail.php?letter=J&game_id=8262) are classed as 'lightgun' input type in MAME? It would seem to make more sense to class these as 'stick', particularly as per my example games which didn't even use a gun-looking controller.
No idea.
Probably because as far as the current MAME input system goes, they are the same thing. But by calling the analog gun a lightgun, it allows the driver to access the -lightgun data. Hopefully we can change that 1 day.
The input system is not really my thing. But it could really use more input type descriptions.
Maybe for the axes we need to have a main type, subtype and extended data type. All three values would describe the input.
Main - Absolute, Relative, Custom
Subtypes:
Absolute - Lightgun, Touch Screen, Analog Stick, Pedal, Paddle, etc
Relative - Spinner, Trackball, Optical Wheel, Rotary Stick- optical, etc
Custom - Rotary Stick - mechanical, Shifter, 49-way, Dance Pad, etc
The extended data could be used to describe stuff like how many optical steps per 1 rotation. Mostly it would be used for documentation purposes. But could also be used to describe variations of the sub-type.
All the Absolute types would all operate the same way. The subtype would just help in the description to better document what the game used.
Same as the Relative types.
But the custom types would requires a lot of changes. Because each would operate in a different manner.
The above describes what a game wants. Then the input system would have to map what you are using to what the game wants. It does this somewhat already for Absolute and Relative.
The fun would come in separating out the custom controls. Then the driver would just ask for the data it needs.
For example:
Main type = Custom
Sub Type = Rotary Stick - SNK 8
The game would no longer use code in the driver to change analog data to it's switch input. The input system would map the control you use to what the game wants. This would also mean you could map the actual control to the input.
All of this is just my pondering - what if? This would require a lot of work. And some standardized format would have to be worked out.
Speaking for myself only, and not for MAMEdev... A system like this would be more readily accepted into the main tree, instead of all the current hacks to get custom controls working on a case by case basis. And someone would have to test 6000 or so games to see that they worked under different variations of controls.
Any takers?
D.