Author Topic: Filtering out most -- but not all -- clones?  (Read 4541 times)

crawlingpeter

  • Jr. Member
  • **
  • Posts: 15
    • View Profile
Filtering out most -- but not all -- clones?
« on: March 28, 2015, 07:59:38 AM »
So I currently have all clones being filtered out in AM by using "rule                 CloneOf not_equals .+" in the cfg file. However, I saw this thread:
http://www.hyperspin-fe.com/forum/showthread.php?11442-Mame-Clones-worth-playing-a-complete-%28hopefully%29-list
and would love to have these few dozens clones show up while the remaining stay hidden. Is such a thing possible?

Thanks!

akafox

  • Hero Member
  • *****
  • Posts: 898
    • View Profile
Re: Filtering out most -- but not all -- clones?
« Reply #1 on: March 28, 2015, 10:03:00 AM »
Am I the only one that makes lists the hard way? lol No like you I used romlister and made a batch file I got rid of a lot of junk but kept my clones of some things. I got rid of the "duplicates"  though. From there I edited mine by hand. What games are you wanting to add to the list? Filters no matter what front end will always be a pain until mame finds a better way of using a XML (and I doubt there is a better way). (Mostly because know one can know what roms you want to list.) You can, if you are willing, edit the mamelist.xml and remove the clone status from the games you want and then build from that list..(i think). I had to so that for advancemeu. If you are on windows use notepad+ on linux/mac/bsd use vim. The XML will load faster that way. Also you could build a whole list  and then delete the ones you don't want from the list. I'm sure someone around here knows an easier way though :P I do have an idea though..send me a list of the clones you want listed please...yes just those games.
« Last Edit: March 28, 2015, 10:06:14 AM by akafox »
People want life easy..then complain about it

cools

  • Full Member
  • ***
  • Posts: 81
  • Arcade Otaku Sysadmin
    • View Profile
    • Arcade Otaku
Re: Filtering out most -- but not all -- clones?
« Reply #2 on: March 28, 2015, 01:18:29 PM »
I just bung all clones I want to play into my favourites list. The "mame.tag" file.

checkist

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Filtering out most -- but not all -- clones?
« Reply #3 on: May 30, 2015, 09:53:04 AM »
This can be done by using custom tags, that includes all parents, and hand-picked clones.

The problem is, how do you add tags to only parents?

There are two ways of doing this. Both methods have their disadvantages, so choose wisely!


Method 1 : Elegant, but requires MS-Office

#1. Open MS Excel.
#2. Copy contents of romlist file into sheet
#3. Data->Text to columns   (this may differ from Office version, though)
#4. A wizard will appear. Set delimiter to ';' (Am's delimiter). Set all column to 'text' type (few games may affected by this)
#5. If done correctly, the romlist will be nicely analyzed into columns
#6. Add 'filter' to each columns
#7. Choose 'CloneOf' column, and select 'empty' entry only. (only parent roms will be shown)
#8. Copy the contents of '#Name' column into a new text file.
#9. Save the text file. this file is tag file (containing only parent roms)
#10. The name of tag file created in #9 acts as tag name in FE. Copy the tag file into appropriate romlist directory



Method 2 : (very) hackish method. But works anyway

#1. Backup the favourite file for the mame list, and delete it.
#2. Create a temporary layout, as follows

list   temporary
   layout               basic
   romlist              mame
   filter               parent_not_favourite
      rule                 CloneOf not_equals .+"
      rule                 Favourite equals 0
   filter               verify_parent_favourite
      rule                 CloneOf not_equals .+"
      rule                 Favourite equals 0
   filter               verify_no_parent_favourite
      rule                 CloneOf equals .+"
      rule                 Favourite equals 1


(you may have to modify "romlist              mame" to your list name, if not mame)
(actually, only first filter is used, second/third is for verifying purpose)

#3. Launch AM, switch to above temporary list and first filter

#4. Mash 'add to favorite' button repeatedly. You may want to set AM's option 'confirm favorites' to 'No' temporarily...

#5. It would take about 2000~3000 strokes to finish. Once finished, first filter should be empty.

#6. (surprisingly) Now all parent roms are marked as 'favourites'. Close AM.

#7. Copy the favorites to tag file.
Favorites are stored in <AM Directory>/romlists/<romlist name>.tag
Tags are stored in <AM Directory>/romlists/<romlist name>/<tagname>.tag

#8. Restore original favorites file in #1, if necessary




Once either Method 1 or 2 is done, all parents will be marked as some_tag.
Then you can add clones of your choice by also marking it as some_tag.
Lastly, initial filtering rule
rule                 CloneOf not_equals .+"

can now be replaced as
rule                 Tags contains some_tag
« Last Edit: May 30, 2015, 09:55:10 AM by checkist »