The 'multiple controls only outputting one' issue is that when there is more than one control listed in the xml, the .csv generation only uses the first one listed. RL will correctly find and sort and generate fine in normal (non-csv output) mode - I'm not saying that the second (or more) control type fields are deleted. The "problem" is in the .csv output mode. When making the .csv, rl must "look" for control type=, and once it finds it, it no longer looks any more.
I discovered this when I wanted a list of vertical spinner games. I first made a xml:
- -find:((rotate=90 | rotate=270) & dial)
Then I generated the .csv:
- -find:"description,game name=,control type=,buttons=,year,rotate=" -csv
Here's a sample of the csv generated:
Street Heat - Cardinal Amusements,strtheat,joy2way,3,1985,90
Super Speed Race,sspeedr,dial,1,1979,270
Kick (upright),kick,dial,1,1981,90
Tron (set 1),tron,joy8way,1,1982,90
Mad Planets,mplanets,joy8way,2,1983,270
Grand Champion,grchamp,vjoy2way,-,1981,270
Buggy Challenge,buggychl,dial,2,1984,270
Arkanoid (World),arkanoid,dial,1,1986,90
Vs. Hot Smash,hotsmash,dial,-,1987,90
Arkanoid - Revenge of DOH (World),arknoid2,dial,1,1987,270
Drift Out (Japan),driftout,joy8way,2,1991,270
Grid Seeker: Project Storm Hammer (Ver 1.3O),gseeker,joy8way,4,1992,90
Gunlock (Ver 2.3O 1994/01/20),gunlock,joy8way,4,1993,90
I was surprised to see so many controls that weren't "dial"!! Seems that there are many games that have more than just a dial...
While the list is correct, but it would be nice if it listed all the controls for the game. With the current method, you can't tell what other controls are needed.
Example:
Here's the input section of tron.
<input players="2" buttons="1" coins="2" tilt="yes">
<control type="joy8way"/>
<control type="dial" sensitivity="50" keydelta="10" reverse="yes"/>
</input>
The .csv record generated currently for tron is:
- Tron (set 1),tron,joy8way,1,1982,90
Perhaps it should/could be:
- Tron (set 1),tron,joy8way & dial,1,1982,90
There are also some that have more than two...
- Grand Champion,grchamp,vjoy2way & dial & pedal,-,1981,270
***********************************************************
I also wish that it didn't use "-" for null. I vote for null for null:
- Redline Racer (2 players),redlin2p,dial,,1987,270
This leaves any empty record in the spreadsheet. Tested fine with my spreadsheet (I don't use excel, BTW... I use 602 software suite, an office clone).
***********************************************************
As for the extra comma(s) causing alignment issues:
I tried using | and it worked with my spreadsheet - it allows me to pick the delimiter - I don't know if all do...
It would be easy for me to say, "yeah change it to '|', it works for me"! But I'm really trying to help you shape this into something that anyone/everyone can use...
Whatever the method, I vote for maximum compatibility. It seems that would be a comma delimiter, though... It seems that description is the only field that would cause issues (although I didn't scour the entire xml). Replacing the commas in the description field only wouldn't have any negative effects, looks good and conveys the intended message, and maintains comma delimiting for the file.
***********************************************************
You just got 111 - I've been using 110, FWIW (I'm not certain, but I don't think that there are any (significant) changes).
I vote for maintaining old mame version compatibility. I think that this is important. I can imagine that a lot of people wanting to make a custom list (for say their cocktail table), are expecting to use an older CPU and also an older version of MAME.
So far, it seems that this is how it is. It's just documentation that causes issues...
***********************************************************
Is the dipswitch "flip screen" the same as "cocktail"? Or is it an "all the time rotate 180°" switch used at cabinet setup as a convenient way to adapt to monitor mounting? Looking at arkanoid, there is a flip screen dipswitch and no cocktail. Arkanoid was available in a cocktail, AFAIK. Looking at arknoid2 (Arkanoid - Revenge of DOH (World)), and it has both a cabinet (cocktail/upright settings) dipswitch and a flip screen (off/on settings) dipswitch.
If flip screen is also cocktail flipping, then why are there 2 dipswitches?
Perhaps for generating a list of cocktail games, flip screen should also be sought out?
I wouldn't doubt if flip screen dipswitch labels meant something for one game and something else for another. I'm guessing that they are labeled in mame as they were labeled by the manufacturer and the manufacturer may have labeled the switch as such although it had different functionality. :shrug:
***********************************************************
I think about the gui if you have any interest in perhaps giving it a whirl.
Later,
Rick