Main > Main Forum

Controls.ini and the GP-49

Pages: << < (4/8) > >>

MrSaLTy:

Awsome, I can't wait.  ;D

SirPoonga:


--- Quote from: Toonces on April 02, 2005, 05:32:29 pm ---My solution was to go through and add a d to joy4way making it djoy4way in the case of diagonals. My only point in bringing this up is maybe controls.ini could be standardized to account for those type of differences? Since it is technically correct already in the 4 way mode I was just thinking in terms of it being used as a control file itself rather than just display and it does make a difference there. I have not been far enough through it yet to hit every difference. I really just started because I got my GP-49 mode selection under computer control now:)

--- End quote ---

First, thanks.

Ok, why those are labelled as such.  I needed a way to relate the description of the control (4 way joystick, 2 way joystick, trackball) to the ctrlr constants mame uses.  I originally used the constants built into mame.  However this causes issues with 2 way joys to know if I need to use up/down or left/right.  Hence why I added vjoy4way.  Now diagonal joysticks are normal joysticks and in mame use up/down/left/right, no need to uniquely identify to figure out what ctrlr constants are needed.

You know, a better method than switching the appropiate diagonal 4-ways so you can map controls dynamically than going through and changing them is in code just search for diagonal in the control description and have the code output the exception.  That way it changes with new versions of the dat file.

Flinkly:

not to sound bossy, but is minwah back from his vacation yet?  cause i know one fe that should jump on this bandwagon soon...

Toonces:


--- Quote from: SirPoonga on April 04, 2005, 08:04:07 pm ---
--- Quote from: Toonces on April 02, 2005, 05:32:29 pm ---My solution was to go through and add a d to joy4way making it djoy4way in the case of diagonals. My only point in bringing this up is maybe controls.ini could be standardized to account for those type of differences? Since it is technically correct already in the 4 way mode I was just thinking in terms of it being used as a control file itself rather than just display and it does make a difference there. I have not been far enough through it yet to hit every difference. I really just started because I got my GP-49 mode selection under computer control now:)

--- End quote ---

First, thanks.

Ok, why those are labelled as such.  I needed a way to relate the description of the control (4 way joystick, 2 way joystick, trackball) to the ctrlr constants mame uses.  I originally used the constants built into mame.  However this causes issues with 2 way joys to know if I need to use up/down or left/right.  Hence why I added vjoy4way.  Now diagonal joysticks are normal joysticks and in mame use up/down/left/right, no need to uniquely identify to figure out what ctrlr constants are needed.

You know, a better method than switching the appropiate diagonal 4-ways so you can map controls dynamically than going through and changing them is in code just search for diagonal in the control description and have the code output the exception.  That way it changes with new versions of the dat file.

--- End quote ---

No, Thank You! Without Controls.ini we'd have to rely on MAME info for controls data and it isn't exactly accurate :)

I like the way you differentiated 2 way. I think in the case of diagonals, it should be the same. After all, what's the difference between 2 way H and 2 way V, they're both the same control just rotated.

That way my initial thought also, Certainly, by looking at the entire line we can make some intelligent decisions about which control to use. BUT, we aren't really looking at it but creating a parser to categorize it much as many of the FE rom filtering implimentations do. The reason I switch to modifying joy4way to djoy4way is because the easiest thing to parse and get a consistent result is whatever is after the +.  While it is the FE authors that will do the parsing however they choose, my suggestion is to standardise those designations as much as possible, including variations.

My second reason while related to the first is for personal choice. Lets assume that all FE authors listen to me for a moment and impliment this method of parsing. If the FE authors were to include the "Standardized" list into their .ini or configuration files, the end user could then make a choice of which mode to associate with which of the control definitions instead of relying on the FE author to make the decision. Most cases are pretty cut and dry.  joy8way or doublejoy8way are 8 way, 4way is 4way, etc. However, when you get into stick, analog, and whatever else there might be, it gets a little hazy because there are 3 pseudo analog modes, 49 way, 49 way progressive and 16 way. The easy answer is make em all 49 way and be done with it. But you know people want to play and will decide they like 49 way progressive or 16 way or 49 RAW just because they can. Now, I am not saying that the way I am thinking is correct or the only way to do it. It just made sense as an easy way to let the end user change the selected control. It really boils down to how the FE authors choose to impliment support for the GP-49 and Controls.ini and how fancy they want to get. Just like with the ROM filters. It just made sense to me to use the easier to parse correctly short definition and have a standardized library.

I haven't yet databased all the info in controls.ini to find out how many different short definitions there are or gone through the file to see if they all point to the same type of control so I may be barking up the wrong tree. You're probably much more familiar with that than I am.  I used Q*Bert as an example because it was something that pointed to a definate type of control.

Thanks Again!

Toonces

SirPoonga:

Download the FE dev package.

Pages: << < (4/8) > >>

Go to full version