romlister jeff@silent.net homepage: http://www.waste.org/~winkles/ROMLister tutorials: http://wiki.arcadecontrols.com/wiki/RL_tutorials build 31.2 + updates for MAME 162 XML formatting. For now, I just convert it back to pre 162 formatting, in the future you will get a choice to do this or not. build 31.1 - fixed the bug which was causing crashes when using the merge tool. + added some merge tool feedback as to what it is doing along the process. build 31 + added a search history feature. Contains the last 25 searches you have performed, simply press the H button next to the -find: text window to bring it up. 2x click on any search to load it into the -find field. + rlmacros.txt file can now contain comments + added support for MESS xml files as inputs. Don't try to use them with the merge tool though, since there is nothing to merge with MESS files. + added advancemenu lst format + rom scan tool now has an activity log + CSV outputs can now re-order the columns by dragging them around into the order you'd like. Sorry no save feature for that yet. + very lame/preliminary wildcard searching. You can do stuff like: -find: *alien and it'll find any game with alien in the title. build 30.1 +fixed the merging of newer catver.ini files. They changed the format of the file slightly and that broke RL. build 30 +added MAMEUIFX list output type (basically just a roms list with a couple header lines) +can now use %DESC% fields in a batch file output. +couple more XML<-->text conversion bugfixes build 29 +added mgalaxy output format to the available supported front ends. +added a maximus list to XML converter tool. This is perhaps the start of several converter type tools that I can add in the future. convert a maximus list to XML, then use that XML list as your input file, then you can output that list to any new FE you'd like. +vastly improved the rom scan utility speed. what used to take hours and seemed like RL was locked up will now only take a minute! build 28 - boy howdy, lots and lots of changes, too many to list here. thanks to Alexander Haibl for his work and hours of testing+feedback. +fixed several XML bugs +added new options to expand out the CSV list output +fixed the john elway quarterback bug when creating MaLa lists +more joy4way type conversions (see below in build 25) +merge tool now outputs the merge log more accurately +changed methodology of excluding BIOS roms to "isDevice" +hundred of tiny tweaks here and there. sorry I don't recall them all. build 27 -(thanks james!) when creating mala lists, sometimes #player alt/sim values were incorrect when compared to nplayers.ini. this was because the mala list is built off controls.xml info (done way back before nplayers.ini support was introduced). whenever a game exists that does not have controls.xml data, this data defaults to alternating. the fix is to use numplayers.ini data if it exists, then use controls.xml data if it exists, falling back to defaulting to "alt" if no data at all exists. build 26 -even better xml list output support. (a couple fields were broken) will the xml bugs ever end? build 25 -dropped support for automatically creating .LST files for maximus arcade. Instead the user is prompted to use the game List Converter tool available from maximus arcade's website. The Game List Converter Tool is easier to use and less problematic than the one previously bundled with romlister. The convert.exe that used to be bundled with romlister has now been dropped, saving a couple meg of download too. +checked output xml file when -listxml is requested from mame. have been getting reports that sometimes it doesn't exist.??! +converted the "" to "" (2,4,8+doubleJoy) for backwards compatibility when creating a merged file. +added nplayers checkboxes +attempted to fix xml & tags again (see build 21) +change the default output for "analog stick" to just "analog" since that now covers "analog flightstick" +added electromechanical checkbox for the category group. +huge overhaul to the ROM search function, which was long overdue. It now locates exact and close matches to ROM descriptions and displays all the findings in a mini-list. For example, simply typing "jungle" into the search box will bring up a list of Jungle King, Jungle Hunt and a dozen other titles with "Jungle" or something similar in the title. Like any list, you 2x click on a title to examine the underlying XML, or right click on the title to throw that ROM into your working list. build 24 minor tweaks to the rom scan utility to show some progress, and it also now only looks for .zip files to speed up processing build 23 another couple bugfixes: used to hang up when doing a rom search, and the "list all roms" button now notices if you've changed the input xml file. build 22 bugfix for generating lists from MAME 135 (I think) or newer. One of the titles in the newer mame was conflicting with the internal parsing done by RL, and things went wonky in a hurry. todo: tab based GUI so we can add more checkboxes and play things. todo: a convert x to y list feature. build 21 added support for cabrio FE fixed & in xml tags to not mess with < tags or others. build 20 added support for nplayers.ini. this is optional. new tag is xyz added header to mergelog file created during merge process. Save button no longer disappears when you resize the list output preview window hyperspin xml files now have & changed to xml standard & build 19 fixed the missing xml tag for the tag. This was causing advanceMAME to not be able to read in xml files generated by romlister. fixed case sensitive issue with strings in 'quotes'. with the default search string being !'BIOS', some games with "biosset" in the rom list were getting dropped. This may have a slight inpact on your game list if you've generated it off earlier versions. added "dual 4-way" and "dual 8-way" to stop some false positives from coming through when searching for just 4way/8way games. build 018 fixed "trimright" issue in the rom scan utility. I was trying to remove ".zip" from the rom filename, and any rom name that ended in z,i, or p was getting those letters removed too! grrrrr. build 017 fixed merge utility accidentally getting wrong category for certain roms. for example "mk" (mortal kombat) was getting picked up as "ddr3mk" which put mortal kombat into the rythmn/dance category! sorry! added "version added" data to each rom through catver.ini data. new XML tag is .xyz fixed bug where when selecting roms from an all roms list, the very 1st selection didn't get copied to your working list. fixed bug that was corrupting all lists generated from spiderstyle's dir2xml utility from working. build 016 fixed xml and multiFE outputs from hanging forever. another byproduct of the big switchover from the 013 overhaul. fixed romlister losing track of where rlmacros.txt is located when a maximus file is created in a directory other than the default added << >> buttons next to the search command line. you can use this to recall previous (up to 10) searches made. added ROM scan utility in the settings dialog. Use this if you have already picked our your ROMs to use and want to essentially trim down the merged xml list to only the files you have on your hard drive. build 015 fixed an endless loop in the merge tool. Whoops! this bug was a side effect of the new sorted list capability, but I won't get into the details. build 014 What's new? Added "hide tags" option in the settings window to remove stuff like: (Set 1), (Japan, Hack), [BET], etc. Output lists are now sorted by title Output lists are now deduped Can type a letter in either full list or working list and jump to it. for whatever reason, number jumping is kinda wonky. deal with it. :) Fixed a bug where "& &" would show up if the controls section is tweaked in a specific way. This caused all searches to fail. Fixed mamewah preview feature Added rom name or description lookup to the search box. search is still pretty lame though. Changed bios option for catver filtering to 'BIOS'. with the quotes, it doesn't get lower cased, and thus won't trip up over "biossets" or other non-bios xml entries. build 013 What's New? * Gutted the previous UI. It now works like this: You click various controller, video and misc options to pick your system's setup, then hit the Go! button. From there, Rl generates a "working" list. You can delete items out of the list, or, go back into the main romlister dialog and send a new search in. Any new roms then get added to the working list. Once you're finished tweaking, you can then export your list to all of the old staples as before (mala, maximus, atomicFE, batch files, etc) In the working list, you can 2x click a rom title to show the xml details, hit delete to delete the entry altogether, or right click to do either. The working list is sortable by name, romname, year, or manufacturer. If you click "list all roms" button in the main dialog, you'll get a list of everything that MAME supports. You can select items from this list and by right clicking, you can add them to your working list. Anytime you close the "working list" dialog, it'll clear it and you will have to start over. * more checkboxes for controls. Each checkbox can be one of three values: checked=must have, not checked=must not have, and grey+checked=don't care. * all categories broken out into checkboxes. Same deal with the controls, gray=don't care. Click "any" to toggle them all on or off. * merge tool now creates a log file of all the roms that it was unable to find in catver.ini or controls.xml * added automatic support of maximus arcade list generations. MAMESeer created a tool for me to convert a .txt file into a compressed, binary MA list file. ROMLister now shells out and runs the tool for you. ** Note that it only works properly when the file is created in the same folder as convert.exe!! ** * new option to hide the sha1/crc data in the xml data output. it's pretty much useless data anyway and just clutters up the display. * Resizable view windows! * working list can be previewed to make sure it looks right. You can edit the text in the preview window and save it directly instead of using the export list functions. The preview function only works for certain list types, because some of them are binary (mala and maximus arcade. I removed the preview function from xml output as well because the files can be huge (25MB or bigger) and it overloads the machine when trying to display them.) * fixed missing controller details in mala lists (thanks dgame!) * fixed sorting in game list boxes. 005 ended up toward the bottom of the list-now it's at the top. * added HyperSpin FE output lists (untested!) * added MultiFE output lists * added Khameleon output lists (untested!) unKnown issues: There may be thread closing issues. The release build seems to work for me in my testing, but when running under the debugger during development, I got all kinds of thread closing/user exceptions. Either way, these will only happen after you close the program, by which time you shouldn't care if it crashes or not! :) TODO: Allow saving the list as sorted. Currently it only saves in the same order as -listxml puts them in. Dedupe the list before exporting. Save stuff - previous search, more file paths, etc. Store 'em in the registry. Default filenames on saves for particular FEs Break out the region data into checkboxes?