Main > Main Forum
Button Mapping Graphic Display
Howard_Casto:
I agree with sp... that way people could submit "control panel" files that would be read externally. Then the fe would take the other two tables and make some kind of graphic however it chooses. This is a really good idea but someone needs to start making some kind of engine for this now. If we had something to test these on as we go then people could go ahead and get started making the files. And with the exception of special case games and classic games, it would go fairly quickly.
Think about it. 90% of capcom games are street fighter clones. You would only need one file for all of those games. Also 90% of all platforms have the same setup. Button 1=punch/fire button 2=jump button 3=special And all of your beat-em-ups follow this pattern too. Then if you look at dataeast games alot of them have the leftpunch/fire jump rightpunch/fire setup. And guess what all of the doubledragon games use this style too. Even racing games... x axis is for steering, y is for gas/break, button one is usually a turbo button, and any other buttons control the view or the radio. I think you'll find that anything made after about 1987 is VERY standardized when it comes to button order and their functions in their most generic form. If we remove specialized terms like "use potion" and replace them with "special" then things would go alot quicker.
Just something to think about.
u_rebelscum:
--- Quote ---
Need it more generic, it will make life easier (especially if you want this to work with other emus to.
The DB would have many tables.
One table would store the game name, game index, otherstuff. The important part is game index.
Let's say it has these records:
game index|game name
...
game index|mame control|cp control|label
...
mame control|cp control
...
Now, if you make a cp designer for your FE when you add a control to the cp a drop down box would appear with all the possibilities for mame controls. Then a text box for a cp control label (like p2joy8way). That gets added to the above table.
--- End quote ---
Yes, yes, that's the way! How about these changes:
game index|game name
-1|default
1234|spyhunt
4321|smashtv
666|xybots
game index|mame control|label
-1|mp1b1|button 1
...
1234|mpedal|gas
1234|mp1b1|fire
...
4321|mp1leftjoyup|move
4321|mp1leftjoydown|move
4321|mp1leftjoyleft|move
4321|mp1leftjoyright|move
4321|mp1rightjoyup|fire
...
666|mp1b3|P1 Twist Right
666|mp1b2|P1 Twist Left
+ two changes to the last table:
game index|mame control|computer control
-1|mp1b1|LCTRL
-1|mp1b1|Joy1Button1 /*multiple inputs for mp1b1*/
-1|mp1b1|Mouse1Button1
-1|mp1leftjoyleft|S /*almost all cp's remap this to the same as mp1joyleft*/
-1|mp1joyleft|LEFTARROW
-1|mpedal|LCTRL
...
666|mp1b2|Z /*driver remapping*/
666|mp1b3|X
...
1234|mpedal|Joy1Up /*personal game remappings*/
+ one more table:
computer control|control panel control
LCTRL|cp1b1
LATL|cp1b1
UPARROW|cpjoy1
DOWNARROW|cpjoy1
...
Joy1Button1|cJoy1Button1 /*only needed for cp with hacked joystick buttons or*/
Mouse1Button1|cMouse1Button1 /*hacked mouse buttons*/
(the 'm' in mp1b1 shows it refers to mame's player1 button 1, the 'c' in cp1b1 refers to the control panel's player 1 button 1)
That last table will have a default almost mirroring the prior table default game index # settings (but doesn't include the game index #), except the joystick and mouse inputs stay seperate from key inputs.
This table is needed for people who built their own control panels not exactly to the same layout to key assignments, or for cp's with a combination of mouse, joystick, and keyboard buttons. For these people, they edit the table as needed. Also, the table can be trimed to include only the parts on the control panel if wanted.
Then FE still builds the cp layout with (cp) player1button1, etc type objects.
SirPoonga:
Yeah, you guys are getting the idea.
urebel, that's more of what I meant, the more you can organize and split up tasks the easier it will be to change in the future if needed.
This actually sounds like a project that several of us could work on and CVS the source or sourceforge it.
The question is how generic do you want it, want to run in DOS, windows, linux, macs, etc????
I'd help out abit after I get my cabinet done.
--- Quote ---This table is needed for people who built their own control panels not exactly to the same layout to key assignments, or for cp's with a combination of mouse, joystick, and keyboard buttons. For these people, they edit the table as needed. Also, the table can be trimed to include only the parts on the control panel if wanted.
Then FE still builds the cp layout with (cp) player1button1, etc type objects.
--- End quote ---
Actually, if you make a really good GUI to make the CP for the FE it should do that all for you as you edit the cp layout on screen.
Here's another problem. People like me with multiple control panels.
Here's what I'd have my FE do. For games that used steering wheels, yokes, pinball controls (are there mame game like that) I'd display the third cp of mine. My second CP should cover games like ikari warriors, dotron, battlezone, things that didn't follow the stand joystick and buttons. It would be nice to know if you have to change panels. But there are not "that" many people who do that compared to just living with one cp so I wouldn;t worry about that right now, just keep it in mind when designing that it would be nice to design it so that would be easy to add if something came up.
1UP:
It seems to me that we're getting a bit carried away with all these databases.
1UP:
--- Quote ---Here's another problem.
--- End quote ---