Author Topic: proc-GenericLauncher -- frontend for launching PinMAME and pyprocgame  (Read 8700 times)

tomlogic

  • Wizard
  • *****
  • Posts: 113
    • View Profile
    • PinMAME for P-ROC/Linux
Re: proc-GenericLauncher -- frontend for launching PinMAME and pyprocgame
« Reply #30 on: March 04, 2015, 12:05:38 AM »
Some more feature additions just pushed to GitHub:

  • Support for multiple configurations of a Python game.  The launcher can copy two YAML files (typically a settings file and scores file) in place before launching a game, and then copy them back when the game exits.
  • Support for a list of gi lamps to illuminate in the launcher.
  • Support for a lampshow to play while the user navigates the menus (stops after 60 seconds of inactivity).

I just got my DMoS translite, and figured it'd be a good idea to light it up while in the launcher!  I tried to dim the gi lamps, but couldn't find a combination of on_time and off_time for the lamp patter that would actually dim the lamps without flicker.  I'm open to suggestions.

Snux, let me know if you'd like to include your F14 Loader.yaml as another example file in the repository.

Snux

  • Wizard
  • *****
  • Posts: 779
  • Mark Sunnucks
    • View Profile
Re: proc-GenericLauncher -- frontend for launching PinMAME and pyprocgame
« Reply #31 on: March 04, 2015, 01:48:20 PM »
Nice changes, I'll pull these down and have a play.  Having a lampshow playing is cool.

You can sure use my loader file, no problem, but let me expand it a little with a couple of extra ROM versions and configs.  I'll do that on Friday sometime, will post it here when I've got it.  I'm curious to see if the high score position in the nvram shifts between ROM versions.
F14 Tomcat - Second Sortie

tomlogic

  • Wizard
  • *****
  • Posts: 113
    • View Profile
    • PinMAME for P-ROC/Linux
Re: proc-GenericLauncher -- frontend for launching PinMAME and pyprocgame
« Reply #32 on: March 04, 2015, 02:12:26 PM »
Snux,

I know for sure that the DemoMan high score locations in nvram shift between the production and home ROM versions.  My guess would be that it will switch when there are any significant changes to a ROM (as opposed to minor bug fixes).

-Tom

Snux

  • Wizard
  • *****
  • Posts: 779
  • Mark Sunnucks
    • View Profile
Re: proc-GenericLauncher -- frontend for launching PinMAME and pyprocgame
« Reply #33 on: March 21, 2015, 11:28:49 AM »
Finally had chance to play around with this new version.  Apart from the sneaky moving of the game_data.yaml entry in the loader.yaml, I only hit one problem.  This line in the flipper enable breaks on my F14:

Code: [Select]
super(game.BasicGame, self).enable_flippers(enable)
Basically because the main code there attempts to iterate through PRFlippers.  My PRFlippers section is empty (since I don't need it to set up switch rules etc) and it dumps.  I just needed to comment out that line and all is well.

F14 Tomcat - Second Sortie

tomlogic

  • Wizard
  • *****
  • Posts: 113
    • View Profile
    • PinMAME for P-ROC/Linux
Re: proc-GenericLauncher -- frontend for launching PinMAME and pyprocgame
« Reply #34 on: March 21, 2015, 06:22:41 PM »
Mark,

I feel like this is actually a bug in pyprocgame, so I've created a pull request on GitHub to address it.

If you apply that patch to your copy of pyprocgame and install the new version, that super() call should be fine.

Coding defensively, I guess I could update GenericLauncher to only call the super() on games without a 'flipperEnable' coil.  What do you think?  Is their a modified P-ROC in BOP 2.0 games that can detect flipper button presses without the flipperEnable coil enabled?  How would GenericLauncher work with those boards?

-Tom

MOcean

  • P3 Developers
  • *
  • Posts: 822
  • Michael Ocean
    • View Profile
Re: proc-GenericLauncher -- frontend for launching PinMAME and pyprocgame
« Reply #35 on: March 21, 2015, 06:40:56 PM »
Of course you could also temporarily solve this by just adding an empty PRFlippers section to your yaml, but I agree that pyprocgame should not die a mysterious death when parsing the machine yaml and specific sections are not found. That said, I think that even if you let the game continue without a PRFlippers section a warning should be generated, as most users will (and probably should) have that section present.