Attract-Mode Support Forum
Attract-Mode Support => General => Topic started by: jimmer 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).
-
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
-
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.
-
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.
-
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
-
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.
-
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!
-
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 ????
-
I think this should help http://forum.attractmode.org/index.php?topic=3130.msg22032#msg22032 (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.
-
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?
-
Yes, it's possible and your rule looks correct. Is it not working how you want/expect?
-
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.