Build Your Own Arcade Controls Forum
Main => Software Forum => Topic started by: sc1103 on October 12, 2005, 10:31:40 pm
-
I finally decided to get to work with HowardC's Johnny5 viewer, so I have begun creating ctrlr files. I have been searching through the forumns, and all the information about ctrlr files in mame point to easyemu, and use the .ini style then HowardC's ini2xml converter to create a cfg ctrlr file for use in newer versions of mame. I created 3 ctrlr files inside a folder called mycabinet- default.ini, cps1.ini, and cps2.ini. Default used the std.ini, but player1button2 was now rightshift. In cps1 and cps2, the buttons were configured to be in the Street Fighter layout:
(SF) 123 vs 567 (DEFAULT)
456 1234
I tested the .ini files and they seemed to be working in the older version of mame; however, after i converted the file with the ini2xml converter, i run a cps2 based rom and get that the controller file cannot be loaded. Can anyone discern what may be wrong, or should I post the contents of the ctrlr files? Sorry for asking such a dumb question :-[
-
I tested the .ini files and they seemed to be working in the older version of mame; however, after i converted the file with the ini2xml converter, i run a cps2 based rom and get that the controller file cannot be loaded. Can anyone discern what may be wrong, or should I post the contents of the ctrlr files? Sorry for asking such a dumb question :-[
It could well be something very simple, like a missing '<' or something. Post your xml ctrlr file and we might be able to spot something...
-
Minwah, the file is rather long, I owuld have had to have about 4-5 posts to get it all to fit. Its now attached as the mycabinet.txt file.
-
Believe it or not the 'd' in 'default' has to be lowercase - just change this line:
<system name="default">
-
Believe it or not the 'd' in 'default' has to be lowercase - just change this line:
<system name="default">
:o wow...thats about all i can say. thnaks for the help! :D
-
Minwah, I changed the system name to default, and now the ctrlr file is accepted by mame, but when I loaded marvel vs capcom, the buttons were Lctrl, Rshift, Space, LShift, Z, and X. It seems that mame ignored the cps2 entry. I changed teh CPS1 to cps1 and the same for CPS2, but neither the upper nor lowercase changed anyting. Could it be the duplicate default entry at the end overwrites the cps1/cps2 changes?
-
Could it be the duplicate default entry at the end overwrites the cps1/cps2 changes?
That would do it. The systems are loaded in order and if you have two systems with the same name it'll overwrite the first one with the second.
-
... Could it be the duplicate default entry at the end overwrites the cps1/cps2 changes?
Yes. Mame (now) reads the ctrlr file from front to end, "system" by "system". If the system applies to the game, that system settings are used. Since the default system is last, it overrides everything.
That means put the default at the front of the file, the groupies (cps1, cps2, neogeo, etc) next, then the parents, and last the individual games. (If you go that deep).
-
Could it be the duplicate default entry at the end overwrites the cps1/cps2 changes?
That would do it. The systems are loaded in order and if you have two systems with the same name it'll overwrite the first one with the second.
... Could it be the duplicate default entry at the end overwrites the cps1/cps2 changes?
Yes. Mame (now) reads the ctrlr file from front to end, "system" by "system". If the system applies to the game, that system settings are used. Since the default system is last, it overrides everything.
That means put the default at the front of the file, the groupies (cps1, cps2, neogeo, etc) next, then the parents, and last the individual games. (If you go that deep).
Thanks for teh clarifications
-
Btw this seems dumb to me. It used to be default, monitor, driver, clone, game. Now it just reads from top to bottom. This makes it rather compliacted to write ctrlr files and probably needs to be fixed in the mame code.
-
Btw this seems dumb to me. It used to be default, monitor, driver, clone, game. Now it just reads from top to bottom. This makes it rather compliacted to write ctrlr files and probably needs to be fixed in the mame code.
"Dumb", as in simplified programming, yes. It should be fixed, but fixed correctly. A bad fix could be 'worse' than it is now.
BTW Howard, what do mean by "monitor"? Mouse, dial, etc?
-
vector or raster..... beleive it or not you could do ctrlr files based on that as ctrlr files were an off-shoot of the ini files.
And yes, I agree that the programming is dumb.
My only complaint about Aaron's run as head (and at the time co-head) is that when he goes about fixing stuff he doesn't go about it the right way. It could be argued (certainly not by me) that the old ctrlr format needed fixed. Well that is all well and good, but if fixing it loses the functionality it originally had, then hold off on the fixing until you are willing/able to fix it the right way.
This recent habit of him removing features has nothing to do with what he deems important or not, it has to do with the fact that he's doing core changes left ane right and sometimes he's too (and I hate to use this word) "lazy" to put them back in. Well, that and a tad bit of arrogance.
Take .100u3 for example.
Changed validity checks to use hashes for speed. Also changed them to only run on the drivers in the source file of the current game, rather than on all games, in non-debug builds. And fixed the coinage sorting check so that it doesn't depend on the linker to order the strings in a particular way.
[Paul Priest]
Removed -skip_validitychecks option now that the time to execute the checks is not as bad.
[Aaron Giles]
First off, my guess is that when Paul changed the validity checks, he might have broke the code to skip it. Aaron might have just not wanted to bother putting it back in, which is just silly.
Now if it wasn't broken and he just decided to take it out, I find that quite outrageous. First off, just because it's faster doesn't mean that skipping it all-together isn't faster still. Validity checks aren't necessary if you have half a clue what you are doing and run your roms though a rom manager. But the bad thing is, the code was already there and it doesn't hurt anything to leave it in. I don't like the idea of a single guy ripping apart everyone else's code just because he personally doesn't find a use for some of it.
He's been doing a lot of that stuff lately and it's gone by unnoticed by most. We need to keep an eye on this one. :police:
Sorry to go off track and rant, but I figured while we were on the subject. You know me, straight shooter as always.
-
My only real gripe with the current ctrlr system is that sensitivity etc. for analog inputs cannot be used in the ctrlr file. In theory you should be able to copy these parts from \cfg\gamename.cfg files and paste into ctrlr files but this does not work :(