Main > Main Forum

Controls.ini and the GP-49

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

Toonces:


--- Quote from: u_rebelscum on April 06, 2005, 04:30:53 pm ---
--- Quote from: Tiger-Heli on April 06, 2005, 08:15:50 am ---
--- Quote from: Toonces on April 06, 2005, 12:15:22 am ---So no chance of djoy4way for Diagonals huh  ;)

--- End quote ---
Not that I really have a dog in this fight, but I agree with Toonces on changing the description to djoy4way for Diagonals.

Looking at the inputs Toonces listed:

2-way Joystick (Horizontal)|joy2way
2-way Joystick (Vertical)|vjoy2way
4-way Joystick|joy4way
Diagonal 4-way Joystick|joy4way

The only difference between the first and second items above is the orientation, yet we call one joy2way and the second vjoy2way.  The same logic applies to the third and fourth items, so why shouldn't one be joy4way and the last one djoy4way.

--- End quote ---

I'm on the don't add the "d" side if I had a vote.  Because...

There IS a (IMO) major difference between h vs v 2-ways and norm vs diag 4-ways.  Coming from mame's view of input ports,  joy2way = left - right, vjoy2way = up - down.  While both joy4way & (d)joy4way are left - right - up - down.  So as far as mame tab input menu, ctrlr/cfg, ctrlr/ini, & cfg/cfg are concerned: joy2way is different from vjoy2way (in addition to the hardware orientation), while joy4way and (d)joy4way are the same (unlike the orientation).

And AFAIU, the "joy2way" names have a one-to-one relation to the mame equivelents, and the "2-way Joystick (Horizontal)" parts are for describing shape, orientation, etc.

Not that it's hard for an app to group djoy4way as a joy4way as needed, but neither is it hard for an app to parse the orientation from the discription. [shrug]  my 2 cents.

--- End quote ---

Actually, SirPoonga mentioned above that he added the v to joy2way because MAME did not differentiate between them. MAME also does not differentiate between diagonal and non-diagonal directions. The designation of vjoy2way is unique to controls.ini. If you look at the FE Dev kit for Controls.ini you will see that 2 button H & V are still shown as joy2way, something SirPoonga said he will be fixing using the same logic he used on 2 way joysticks. If you look at the Tab menu for any of the 2 way games, they have all 4 directions defined. Up, Down, Left, Right, just as they do for every game. Orientation of the controls are not taken into account at all in MAME. I just think if you are going to account for orientation of some controls in the document you should use the same logic for others as well. It's just being consistent.

 As far as actually parsing them, you're right, it's no harder to match the entire line than it is to match the short designation and the time differences would not even be noticable.

Now I don't know about the other 4 way diagonal games, but on my q*bert, you can't push up. You have to go diagonals. Since MAME does not differentiate orientation, the driver author used the next best thing which was a straight 4 way. It also happens to be technically correct as it is just a 4 way stick. The GP-Wiz49 even takes those same 4 directionals and rotates them logically in the controller rather than defining new controls using diagonals so no changes are needed to the Tab menu anyways. RandyT's implementation of diagonals in the GP-Wiz49 actually feels better to me than when I set diagonals as the settings for q*bert in MAME and used a regular 8 way stick. I certainly noticed I seemed to do better.

Anyways, it's SirPoonga's project (and a great one too!) and he is the one who makes the decisions. I was only making a suggestion for consistency in the way the short designations were used. It is a perfectly usable document without any changes at all.

Toonces

Tiger-Heli:

Actually, Urebel's explanation makes a lot of sense to me, but I can see both sides of the issue.

--- Quote from: Toonces on April 07, 2005, 03:52:30 am ---Actually, SirPoonga mentioned above that he added the v to joy2way because MAME did not differentiate between them.

--- End quote ---
I think what you may be missing is that MAME's purpose is to document the HARDWARE.  Controls.dat's purpose is to document the settings used in MAME.  (Primary purposes).  Thus Controls.dat has to differentiate between the settings for joystick games, just so people who have never played it know whether they should be using the left-right buttons or the Up-down buttons, because MAME won't tell them.  (I guess the same could be said for diagonal joystick games, so I'm having a hard time deciding which side of this issue to support).

--- Quote ---If you look at the Tab menu for any of the 2 way games, they have all 4 directions defined. Up, Down, Left, Right, just as they do for every game.

--- End quote ---
Sloppy coding on the MAME dev's part.  The unused directions should be removed (except in the case that the actual PCB had inputs for these directions that were simply unused and unconnected).  (Don't mean to offend any Dev's - I'd rather have them get the games working properly and work on new and interesting stuff than clean up unused inputs, if that's their preference).

--- Quote ---Now I don't know about the other 4 way diagonal games, but on my q*bert, you can't push up. You have to go diagonals. Since MAME does not differentiate orientation, the driver author used the next best thing which was a straight 4 way.

--- End quote ---
Not sure what you mean here.  You can push up.  If you use a standard 4-way and map Up to UP Arrow, etc., you certainly can push up and Q-bert will jump off the platform to the upper left, I believe.  BTW, I suspect that the actual Q-bert PCB is probably labelled UP, Down, Left, and Right, and the entire rotation thing only occurs at the CP.

--- Quote ---The GP-Wiz49 even takes those same 4 directionals and rotates them logically in the controller rather than defining new controls using diagonals so no changes are needed to the Tab menu anyways. RandyT's implementation of diagonals in the GP-Wiz49 actually feels better to me than when I set diagonals as the settings for q*bert in MAME and used a regular 8 way stick. I certainly noticed I seemed to do better.

--- End quote ---
Cool, I didn't realize that the GP-Wiz49 did that.

--- Quote ---Anyways, it's SirPoonga's project (and a great one too!) and he is the one who makes the decisions. I was only making a suggestion for consistency in the way the short designations were used. It is a perfectly usable document without any changes at all.
Toonces

--- End quote ---
Toonces, again thanks for being understanding of others and agreeing to work within the limitations if things are changed for your convenience.

Toonces:


--- Quote from: Tiger-Heli on April 07, 2005, 07:22:34 am ---Actually, Urebel's explanation makes a lot of sense to me, but I can see both sides of the issue.

--- Quote from: Toonces on April 07, 2005, 03:52:30 am ---Actually, SirPoonga mentioned above that he added the v to joy2way because MAME did not differentiate between them.

--- End quote ---
I think what you may be missing is that MAME's purpose is to document the HARDWARE.  Controls.dat's purpose is to document the settings used in MAME.  (Primary purposes).  Thus Controls.dat has to differentiate between the settings for joystick games, just so people who have never played it know whether they should be using the left-right buttons or the Up-down buttons, because MAME won't tell them.  (I guess the same could be said for diagonal joystick games, so I'm having a hard time deciding which side of this issue to support).

--- Quote ---If you look at the Tab menu for any of the 2 way games, they have all 4 directions defined. Up, Down, Left, Right, just as they do for every game.

--- End quote ---
Sloppy coding on the MAME dev's part.  The unused directions should be removed (except in the case that the actual PCB had inputs for these directions that were simply unused and unconnected).  (Don't mean to offend any Dev's - I'd rather have them get the games working properly and work on new and interesting stuff than clean up unused inputs, if that's their preference).

--- Quote ---Now I don't know about the other 4 way diagonal games, but on my q*bert, you can't push up. You have to go diagonals. Since MAME does not differentiate orientation, the driver author used the next best thing which was a straight 4 way.

--- End quote ---
Not sure what you mean here.  You can push up.  If you use a standard 4-way and map Up to UP Arrow, etc., you certainly can push up and Q-bert will jump off the platform to the upper left, I believe.  BTW, I suspect that the actual Q-bert PCB is probably labelled UP, Down, Left, and Right, and the entire rotation thing only occurs at the CP.

--- Quote ---The GP-Wiz49 even takes those same 4 directionals and rotates them logically in the controller rather than defining new controls using diagonals so no changes are needed to the Tab menu anyways. RandyT's implementation of diagonals in the GP-Wiz49 actually feels better to me than when I set diagonals as the settings for q*bert in MAME and used a regular 8 way stick. I certainly noticed I seemed to do better.

--- End quote ---
Cool, I didn't realize that the GP-Wiz49 did that.

--- Quote ---Anyways, it's SirPoonga's project (and a great one too!) and he is the one who makes the decisions. I was only making a suggestion for consistency in the way the short designations were used. It is a perfectly usable document without any changes at all.
Toonces

--- End quote ---
Toonces, again thanks for being understanding of others and agreeing to work within the limitations if things are changed for your convenience.

--- End quote ---


All it is for me is a consistency thing. MAME is consistent. It does not document orientation at all. Controls.ini's purpose is to accurately document the game's actual controls, something it already does. The inconsistency for me is that in 1 case, a modifier is used to specify orientation and in the other it is not. That is all.

As for Q*Bert, I have one. Real Thing. Nice Condition. It is physically impossible to push the joystick to the UP position. You can push UP-RIGHT or UP-LEFT but not UP. That's all I was saying.

The fact is, the controls ARE acurately documented in controls.ini. I only brought this up as a suggestion for consistency in how the short designation is used. Nothing more and there's nothing wrong if he doesn't change it.

Toonces

Tiger-Heli:


--- Quote from: Toonces on April 07, 2005, 10:39:01 am ---As for Q*Bert, I have one. Real Thing. Nice Condition. It is physically impossible to push the joystick to the UP position. You can push UP-RIGHT or UP-LEFT but not UP. That's all I was saying.

--- End quote ---
Aha, I understand now.  A good 4-way will never hit the diagonals, so it makes sense that when you rotate it 45-degrees it won't hit the primaries any more.

u_rebelscum:

Most was addressed by Tiger-Heli, but here's my views:


--- Quote from: Toonces on April 07, 2005, 03:52:30 am ---Actually, SirPoonga mentioned above that he added the v to joy2way because MAME did not differentiate between them.
--- End quote ---

You're taking it a little out of context.  Mame has a single 2way flag (which the controls.ini flag is based on) that does not differentiate.  However, mame does differentiate in reading the inputs.  Mame reads the up and down inputs for vertical 2ways, not the same inputs as horizontal 2-ways; otherwise you would push sideways on vertical 2-way games in mame.  Which is why controls.ini had to add the 'v'.


--- Quote ---MAME also does not differentiate between diagonal and non-diagonal directions.
--- End quote ---
( Strikeout added by me.)

Whether mame should differentiate or not is a different point, related to: if a cardinal direction is always one switch and diagonals are combos of two cardinal switches (which mame is basing it's qbert view), or not always.


--- Quote ---The designation of vjoy2way is unique to controls.ini.
--- End quote ---

Sort of:
"vjoy2way" means mame's up & down with mame's 2way flag. 
"joy2way" means mame's left & right with mame's 2way flag. 

Controls.ini needed an extra flag that mame didn't have because mame seperates the directions from each other and the flags, while controls.ini doesn't.  So the flag is unique compared to mame's flags, but not unique against mame's inputs. 


--- Quote ---If you look at the Tab menu for any of the 2 way games, they have all 4 directions defined. Up, Down, Left, Right, just as they do for every game.
--- End quote ---

 ???  I searched mame's source, and 90% of the drivers had either left/right or up/down 2-ways, but not both.  When I looked at vindicators, it had up/down 2-way and no left/right 2-way, but it had up/down/left/right 8-way inputs as fake inputs (that I thought were removed).  But the left/right were not 2ways, but 8ways (not that you can tell in the binary or through TAB).

Can you name a few other games that have all directions so I can test?


--- Quote ---Orientation of the controls are not taken into account at all in MAME [in 2way].
--- End quote ---

Except that mame reads the inputs set to left/right for joy2way games, and those set to up/down for vjoy2way.  In my books that is taking orientation completely into account.


--- Quote ---I just think if you are going to account for orientation of some controls in the document you should use the same logic for others as well. It's just being consistent.
--- End quote ---

IMO, the way control.ini is set up now is the most consistent way in relation to mame and the physical world.  Because the same logic is being used for both.

As other examples, take a look at all the other input types in controls.ini.  "Batter Control|stick" and "Baseball Pitcher|stick" are the same thing except for orientation, but use mame's "stick" type.  "Spinner|dial" and "Roller(Horizontal)|dial" both have different orientations but both have mame's "dial" input type.  "Lightgun|lightgun" and "Analog Gun|lightgun" are totally different data packets, but both have mame's input "lightgun" even though "analog guns" are not "lightguns".  Then compare with joy2way ==> mame's left & right & vjoy2way ==> mame's up & down, with dial & vdial, paddle & vpaddle, and "Throttle (Paddle)|paddle", "Throttle (Stick)|stickz", "Throttle (Handlebar)|sticky", & "Hand Brake (Handlebar)|stickz"

In all cases above and the rest of control.ini, the part after the "|" relates to mame's inputs.  The differences (and similarities) compared to mame's inputs are noted in the part before the "|".  I say keep it that way.


--- Quote ---Anyways, it's SirPoonga's project (and a great one too!) and he is the one who makes the decisions. I was only making a suggestion for consistency in the way the short designations were used. It is a perfectly usable document without any changes at all.

Toonces

--- End quote ---

I'm glad controls.ini is here too, and suggest to keep it the same as it is AFA diagonal 4-ways, also for consistency in the way the short designations are used. ;) 

If the uses are changed, [shrug], I don't mind your change as long as other changes are also made to keep things consistent.

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

Go to full version