Author Topic: Set theory maths needed ?  (Read 5042 times)

jimmer

  • Full Member
  • ***
  • Posts: 45
    • View Profile
Set theory maths needed ?
« on: November 09, 2018, 11:10:06 AM »

Just wondering if anyone can come up with a clever Attract_mode based solution to my current dilemma.

My cabinet has swappable control panels. I set up a different gameslist for each panel, so that the user only sees games that the control panel can play. The button to swap the display/gamelist is under the panel so once the panel is clipped down everything is 'safe'.

My problem is now where I have a combination as follows. I have a Defender layout, plus Left and Right buttons, plus a 4/8 way swappable joystick.  The 4/8way is a JLF so the gate is swapped by lifting the panel.  I can treat the 2 configuration as 2 panels because changing the gate is same effect as swapping to a different panel.  That works OK except for that the favourites doesn't work how I'd like for the Left/Right games eg Asteroids, if the user sets it as a favourite I want it to be a favourite for both the 4way display and the 8way display/gamelist.

Note: I'm using tags for setting favourites etc.   I could do it by having tags for 4wayfaves, 8wayfaves,2wayfaves and then have a single display with filters for 8+2way and 4+2way, but that would not be foolproof as it needs the user to know about 4way and 8way games.

At the moment I only have a bad external solution: on exit, I could examine the favourites lists from both displays and copy relevant games across (or just form a union of the lists).








 



 
 

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Set theory maths needed ?
« Reply #1 on: November 09, 2018, 11:34:53 AM »
You could create a masterlist. It would contain all your games, favorites, tags, etc. You can use this masterlist in one display or multiple displays with global or regular filters.

More info here http://forum.attractmode.org/index.php?topic=1165.msg8455#msg8455

jimmer

  • Full Member
  • ***
  • Posts: 45
    • View Profile
Re: Set theory maths needed ?
« Reply #2 on: November 09, 2018, 12:32:55 PM »


Here's how I would normally do it:

display   DefenderPlus8way
   layout               basic_panels_DefenderPlus8way
   romlist              mame_defenderplus8way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
   filter               Faves
      rule                 Tags contains faves
   filter               Good
      rule                 Tags contains good|faves
   filter               Defenders
      rule                 Tags contains defender
   filter               The_Rest_8way
      rule                 Tags not_contains faves
      rule                 Tags not_contains good
      rule                 Tags not_contains defender


display   DefenderPlus4way
   layout               basic_panels_DefenderPlus4way
   romlist              mame_defenderplus4way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
   filter               Faves
      rule                 Tags contains faves
   filter               Good
      rule                 Tags contains good|faves
   filter               Defenders
      rule                 Tags contains defender
   filter               The_Rest_4way
      rule                 Tags not_contains faves
      rule                 Tags not_contains good
      rule                 Tags not_contains defender

The problem with above is that there are common games on the 2 menus, but the faves (and good) lists are separate. So eg The user adds Asteroids to Faves on the 4way menu, but it won't be in Faves on the 8way menu.




I could do this:

display   DefenderPlus842way
   layout               basic_panels_DefenderPlus8way
   romlist              mame_defenderplus842way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
   filter               Faves_4way
      rule                 Tags contains faves
      rule                 Tags contains 4way|2way
   filter               Good_4way
      rule                 Tags contains good|faves
      rule                 Tags contains 4way|2way
   filter               Defenders
      rule                 Tags contains defender
   filter               Faves_8way
      rule                 Tags contains faves
      rule                 Tags contains 8way|2way
   filter               Good_8way
      rule                 Tags contains good|faves
      rule                 Tags contains 8way|2way
   filter               The_Rest
      rule                 Tags not_contains faves
      rule                 Tags not_contains good
      rule                 Tags not_contains defender

But the problems here are:
1) User can select an 8way game when joystick is in 4way configuration [maybe not a problem, up to 'super-user' to leave joystick in 8way config.]
2) User can redefine games as 4way 8way or not.

Ahhhh.  I've just realised I could have 2 modes, allowing the Owner/super-user of the cab to launch Attract Mode in either EDIT mode or SAFE mode.  That might make the above acceptable. 

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Set theory maths needed ?
« Reply #3 on: November 09, 2018, 01:40:13 PM »
I'm suggesting something like this.

display   DefenderPlus8way
   layout               basic_panels_DefenderPlus8way
   romlist              mame_defenderplus842way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
      rule                 control contains 8-way
   filter               Faves
      rule                 Tags contains faves
   filter               Good
      rule                 Tags contains good|faves
   filter               Defenders
      rule                 Tags contains defender
   filter               The_Rest_8way
      rule                 Tags not_contains faves
      rule                 Tags not_contains good
      rule                 Tags not_contains defender


display   DefenderPlus4way
   layout               basic_panels_DefenderPlus4way
   romlist              mame_defenderplus842way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
      rule                 control contains 4-way
   filter               Faves
      rule                 Tags contains faves
   filter               Good
      rule                 Tags contains good|faves
   filter               Defenders
      rule                 Tags contains defender
   filter               The_Rest_4way
      rule                 Tags not_contains faves
      rule                 Tags not_contains good
      rule                 Tags not_contains defender

display   DefenderPlus2way
   layout               basic_panels_DefenderPlus2way
   romlist              mame_defenderplus842way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
      rule                 control contains 2-way
   filter               Faves
      rule                 Tags contains faves
   filter               Good
      rule                 Tags contains good|faves
   filter               Defenders
      rule                 Tags contains defender
   filter               The_Rest_2way
      rule                 Tags not_contains faves
      rule                 Tags not_contains good
      rule                 Tags not_contains defender

This would give you three displays for your different controls but use one romlist so your favorites, tags & stats will be shared across all of them.
« Last Edit: November 09, 2018, 02:23:36 PM by progets »

jimmer

  • Full Member
  • ***
  • Posts: 45
    • View Profile
Re: Set theory maths needed ?
« Reply #4 on: November 09, 2018, 03:08:46 PM »
thanks progets, when I read your first reply I didn't process it well, and went to the link which didn't help. Problem was that I was so used to using a different romlist for each display, it took a while to realise I could share the romlist.   I actually worked it out myself while I was away, but if I hadn't you would have saved me :)

I also got rid of the 'good' tag and went back to using favourites instead of tags (no need for user to see list of tags)

also discovered that tags can't start with a number in v2.0.0

here's mine:

display   DefenderPlus8way
   layout               basic_panels_DefenderPlus8way
   romlist              mame_defenderplus842way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
   filter               Faves_842way
      rule                 Favourite equals 1
   filter               Defenders
      rule                 Tags contains defender
   filter               Faves_82way
      rule                 Favourite equals 1
      rule                 Tags not_contains z4way
   filter               The_Rest_8way
      rule                 Favourite not_equals 1
      rule                 Tags not_contains defender

display   DefenderPlus4way
   layout               basic_panels_DefenderPlus4way
   romlist              mame_defenderplus842way
   in_cycle             yes
   in_menu              yes
   global_filter       
      rule                 FileIsAvailable equals 1
      rule                 Tags contains z42way
   filter               Faves_42way
      rule                 Favourite equals 1
   filter               Defenders
      rule                 Tags contains defender
   filter               The_Rest_4way
      rule                 Favourite not_equals 1
      rule                 Tags not_contains defender


here's the panel if anyone's interested
« Last Edit: November 09, 2018, 03:40:21 PM by jimmer »

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Set theory maths needed ?
« Reply #5 on: November 10, 2018, 01:31:02 AM »
I'm glad you got this sorted out. I like your control panel. Do you have a picture of the one you swap out?

How do you swap your control panels? Do you have separate encoders on each panel and just move a USB connection?

Another forum member (ArcadeBliss) has a cabinet that has multiple control panels that he swaps out. You might look at some of his posts for more tips (they are older and I think he's using RocketLauncher). I can give you solid advice but my control panel isn't removable... today.
« Last Edit: November 10, 2018, 01:42:17 AM by progets »

jimmer

  • Full Member
  • ***
  • Posts: 45
    • View Profile
Re: Set theory maths needed ?
« Reply #6 on: November 10, 2018, 03:17:15 AM »

I've done quite a few panels :)  https://www.jbgaming.co.uk/control-panels/

I have a custom clip system, and each panel has a Pro Micro ATmega32U4 (£3).
Panel swap video  https://www.youtube.com/watch?time_continue=56&v=IXV5nvFqEjE

For myself I always have a working Defender panel, and sometimes I have a Robotron and a Missile Command but I keep robbing the controls from them when stocks run low!

jimmer

  • Full Member
  • ***
  • Posts: 45
    • View Profile
Re: Set theory maths needed ?
« Reply #7 on: March 24, 2020, 08:19:59 AM »
necro bump!

I ran into problems again today because I was trying to use tag filenames 4way and 42way and 842way.   Above I said that filters couldn't start with a number, but that's not true.  The problem is that 42way matches to eg 842way.

It seems kinda dumb now, but I never noticed/paid attention to the CONTAINS in the syntax.

But now I find myself not knowing what the syntax means or what the options are. I tried equals instead  ( rule         Tags equals 4way )  but that didn't work.

I've got it working using tag files with names that aren't substrings of each other, but now I'm thinking it would be nice to have eg 3 tag lists 8way, 4way, 2way, and be able to OR them together in different combinations. But I haven't managed to get that working ????
 

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Set theory maths needed ?
« Reply #8 on: March 24, 2020, 11:11:37 PM »
I think this should help http://forum.attractmode.org/index.php?topic=3130.msg22032#msg22032.

Let me know if you you don't understand regex or that "or" equals "|" in a rule.

jimmer

  • Full Member
  • ***
  • Posts: 45
    • View Profile
Re: Set theory maths needed ?
« Reply #9 on: March 25, 2020, 03:44:16 PM »

Thanks, this works for me now:   

   filter               82way_Not_Favourites
      rule                 Favourite not_equals 1
      rule            Tags contains 8way|2way

I'm sure I tried this yesterday, but I guess it failed then because there was probably also a tag file called 842way.tag which got included and brought in the 4way games that I didn't want.

What I'm trying to include in this filter is just the two tag files called exactly 8way and 2way, Is that possible? 

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Set theory maths needed ?
« Reply #10 on: March 25, 2020, 10:19:36 PM »
Yes, it's possible and your rule looks correct. Is it not working how you want/expect?

jimmer

  • Full Member
  • ***
  • Posts: 45
    • View Profile
Re: Set theory maths needed ?
« Reply #11 on: April 01, 2020, 06:29:53 AM »
Yes, it's possible and your rule looks correct. Is it not working how you want/expect?

My filter above includes eg 842way.tag if that file is present.  I can see the advantages of the way it works,  eg my filter would also select '8way_fighters' and 8way_shmups' if I had those tag files.

I would prefer a rule that picks only '8way' and '2way' and not other matching filenames.  It's not that important, now that I know what's going on. It seems like equals instead of contains should give me what I want, but I can't find a syntax that works. eg Tags equals 8way  doesn't select any roms.