The NEW Build Your Own Arcade Controls

Software Support => Automated Projects => Topic started by: DaOld Man on February 02, 2012, 02:14:48 am

Title: Introducing: Control Choose
Post by: DaOld Man on February 02, 2012, 02:14:48 am
This is a new plugin for Mala that could be called the next version of JoyChoose.
ControlChoose controls more than the joystick, so this is a big step up from JoyChoose.
Example:
If the game you have selected in Mala requires a trackball, you can light the trackball (using an external hardware to actually turn the trackball's led on.)
If the game requires a light gun, you can control your hardware to make the light gun pop out of your cabinet.
ControlChoose can also control your joystick just like JoyChoose does.
If you are only switching your joystick between 2,4, and 8 way, I suggest you use JoyChoose, but you can still use ControlChoose, but I wouldnt recommend using both.
ControlChoose uses a control list that you build in the configure mode of the plugin.
Here is an example:

If Control = joy8way Then Run (your program to turn the joystick to 8 way)
If Control = joy4way Then Run (your program to turn the joystick to 4 way)
If Emulator = Mame Then Run (your program to do whatever you want when mame is selected.)
If Control <> Lightgun Then Run (your program to pull the lightgun back into the cab).

Just like JoyChoose, this program can open up several ideas.
I have not uploaded the plugin to the malafe.net website yet.
If you would like to test it, drop me a PM with your email and I will send it to you.
(DarthPaul is currently testing it for me on his automated cabinet.)

Here's a screen shot of the configure mode (showing a list of actions I created to test it:
Title: Re: Introducing: Control Choose
Post by: TopJimmyCooks on February 02, 2012, 09:15:52 am
Good thing to have -thanks.  [goes to look for something to automate . . .]
Title: Re: Introducing: Control Choose
Post by: Le Chuck on February 02, 2012, 02:48:38 pm
This is the type of software that starts off for arcade applications but before you know it MALA will be turning on our lights, making coffee, and producing grocery lists all thanks to DaOld Man.  Just think, pressure switch in the seat of the recliner get depressed by my lazy ass, tv comes on, hoover roomba brings me a beer. 
Title: Re: Introducing: Control Choose
Post by: yotsuya on February 02, 2012, 04:51:23 pm
I didn't know DaOldMan was Skynet's father!
Title: Re: Introducing: Control Choose
Post by: DaOld Man on February 03, 2012, 01:13:25 am
I didn't know DaOldMan was Skynet's father!

You will be assimilated, resistance is futile...

No wait a minute,  wrong life..
Title: Re: Introducing: Control Choose
Post by: Le Chuck on February 16, 2012, 10:24:30 pm
Hey boss, can I use Control Choose for actions on a specific rom?  I have my AHK script for ingame 4way to 8way running all the time.  What I would like to do is have it turn on only when I select Tron then auto off on exit.  As a second to that can control choose run a specific action based on MALA's orientation?  I want to run one scipt for horizontal Tron and one for vert Tron.  Possible?  Probable? 

I need to get control choose installed anyway as it's a better way to manage my joytokey profiles (stupid Daphne) than natively through MALA.   

Danke.
Title: Re: Introducing: Control Choose
Post by: DaOld Man on February 17, 2012, 06:49:59 am
Darthpaul has also requested a "by-game" action, so I am working on that, Im also trying to finish up cprotate for him, so it might be a while. I can probably throw in orientation on Control Choose too, shouldnt be a big deal actually, since I can rob some of the code from start com.
I will post when I got some progress made.
Title: Re: Introducing: Control Choose
Post by: Le Chuck on February 17, 2012, 09:47:22 am
Asso, no issue - just didn't know if it was in there or not.  None of my projects are hinging on that functionality the way Darth's are and I am more than happy to wait.  Thanks for offering to take a stab at it.   :cheers:

Title: Re: Introducing: Control Choose
Post by: darthpaul on February 17, 2012, 12:06:42 pm
I have DaOld Man working overtime  ;D
Title: Re: Introducing: Control Choose
Post by: DaOld Man on February 17, 2012, 06:10:18 pm
I have DaOld Man working overtime  ;D

Nah, its aint like work, more like fun.
Title: Re: Introducing: Control Choose
Post by: darthpaul on February 17, 2012, 11:14:55 pm
Too bad we can't get paid to do this
Title: Re: Introducing: Control Choose
Post by: DaOld Man on September 20, 2013, 10:13:26 pm
Just a bump to give everyone a heads up.
I have dusted off this project and decided to finish it. (We shall see how that pans out. LOL)
Title: Re: Introducing: Control Choose
Post by: DaOld Man on September 22, 2013, 06:45:37 am
Another note.
It seems the XML file Mala creates for the new versions of mame are listing the controls differently from how they used to do it.
This has effectively broke control choose and joychoose for newer versions of mame as of now.
Im trying to work out something, but we shall see.
This will still work on older versions of mame. (Im using mamepp from 2006, Im not sure which version changes, would be interested to know from you guys if you have had any experiences with this.)
I may download each version form 2006 till now to see when it actually changed.
Latest version of mala has been tested, and the problem is still there.
I dropped LoadMan a pm to see if he could possible help out by looking into fixing this in the mala software, but I know he is busy and this wont be on his top priority list.
Im thinking re-writing control choose to get the control type from the xml file itself, but it may take a while.
Title: Re: Introducing: Control Choose
Post by: BadMouth on September 24, 2013, 12:13:28 am
Another note.
It seems the XML file Mala creates for the new versions of mame are listing the controls differently from how they used to do it.
This has effectively broke control choose and joychoose for newer versions of mame as of now.
Im trying to work out something, but we shall see.
This will still work on older versions of mame. (Im using mamepp from 2006, Im not sure which version changes, would be interested to know from you guys if you have had any experiences with this.)
I may download each version form 2006 till now to see when it actually changed.
Latest version of mala has been tested, and the problem is still there.
I dropped LoadMan a pm to see if he could possible help out by looking into fixing this in the mala software, but I know he is busy and this wont be on his top priority list.
Im thinking re-writing control choose to get the control type from the xml file itself, but it may take a while.

As a workaround, someone could just point mala to their old xml. 

Any games that were promoted to working if important enough, could be updated by hand.  I keep a modified xml for use with the multiple emus in one list workaround (it has all games playable in other emulators labeled as working).  No way I'm redoing all that for every update anyway.  I wanted to upload it to save others the trouble, but the file is too large to attach and the file repository doesn't work.
I set up a gmail account for the driving cab forum stuff.  I'll see if I can upload it there.  It's nice because if everything is in the MAME list and xml, your plugins work for them.
Title: Re: Introducing: Control Choose
Post by: BadMouth on November 18, 2013, 06:47:22 pm
Another note.
It seems the XML file Mala creates for the new versions of mame are listing the controls differently from how they used to do it.
This has effectively broke control choose and joychoose for newer versions of mame as of now.
Im trying to work out something, but we shall see.
This will still work on older versions of mame. (Im using mamepp from 2006, Im not sure which version changes, would be interested to know from you guys if you have had any experiences with this.)
I may download each version form 2006 till now to see when it actually changed.
Latest version of mala has been tested, and the problem is still there.
I dropped LoadMan a pm to see if he could possible help out by looking into fixing this in the mala software, but I know he is busy and this wont be on his top priority list.
Im thinking re-writing control choose to get the control type from the xml file itself, but it may take a while.

I just tried to setup joychoose on v.146 and it's not working. 

Is joychoose getting the info from the Mala gamelist?  It just says "joy" under the rom metadata.  It should say  "joy4way", correct?
Using tools from the Mala subforum, I could manually edit the 4-way games in the gamelist and have joychoose default to 8-way the rest of the time.

The gamelist also has "4-way Joystick" under what's extracted from controls.ini
Not sure how consistent the naming is in controls.ini, but could you point your plugin toward that instead?

I think controls.ini was missing when I originally built the gamelists, so that's not going to bail me out.

EDIT: Answered some of my own questions.

Using mlgconverter.exe included with the download at the bottom of this post: http://forum.arcadecontrols.com/index.php/topic,101104.0.html (http://forum.arcadecontrols.com/index.php/topic,101104.0.html)
I was able to convert the .mlg file to an ini file, change

inputControl=joy
to
inputControl=joy4way

convert back to .mlg file and the plugin works fine.

Using the options in joychoose, it automatically switches back to 8-way when the 4-way game exits.
Now I just have to make a list of all 4-way games and change them all, lol.

Of course, if I hadn't already made my lists, the easier way would be to make a batch file or script to modify mame.xml
replacing every occurrence of 
<control type="joy" ways="4"/>
with
<control type="joy4way"/>
Then refresh the all games list.  That should work to get the proper info in Mala's metadata.
Title: Re: Introducing: Control Choose
Post by: DaOld Man on November 20, 2013, 03:15:15 am
Yes, when I wrote joychoose and control choose, the mame.xml listed the 4 way and 8 way joysticks differently from how it does it now.
I plan to write a program that would basically do what you suggested, but if you would like to write one, or a script, please do.
Ive been busy lately and not sure when I will get a chance to work on it, so I would appreciate it if someone else would do this.
The way joychoose and control choose works is that mala passes the control to them. I think mala gets it from the mame.xml file, so now that  the xml controls categories have changed, mala passes only a portion of the control.
Title: Re: Introducing: Control Choose
Post by: Yvan256 on December 21, 2014, 05:42:09 pm
How do the lists in question handle 2-way joysticks, both horizontal and vertical? How about hexagon restrictors? Circle? How about special cases like Q*Bert?

Is there a list somewhere which lists the type of joystick restrictor used in the original cabinets?
Title: Re: Introducing: Control Choose
Post by: DaOld Man on December 21, 2014, 10:24:37 pm
How do the lists in question handle 2-way joysticks, both horizontal and vertical? How about hexagon restrictors? Circle? How about special cases like Q*Bert?

Is there a list somewhere which lists the type of joystick restrictor used in the original cabinets?

Im not sure how to answer your question. Control Choose gets the control for the game from Mala. I think Mala gets it from the mame.xml file.
CC only knows if it is a joystick and if it is 2,4, or 8 way.
CC runs a program that drives a physical setup that switches the needed control, so your joystick would have to be able to mechanically switch to a 2 way, via a motorized actuator.
I don't know of any list that tells the joystick restrictor used in original cabinets.
Maybe someone else can chime and help?