mjrgh / PinballY

A table browser and launcher ("front end") for virtual pinball cabinets.
Other
47 stars 22 forks source link

Pinball FX3 Support #11

Closed sebinouse closed 6 years ago

sebinouse commented 6 years ago

Pinball FX3 allows us to use custom parameters during launch : -table_[TableName] : direct table launch >> OK with PinballY -class : Classic Mode without animations >> OK with PinballY -hotseat_X : Mutliplayers at X players (2 to 4) >> Launch OK but Quit KO with PinballY (computer freezes, the only thing I can do is stop it by pressing Power Button)

I can reproduce this bug at every attempt with an -hotseat command (whatever other command is used).

Two questions :

  1. do you think you can fix this ?
  2. if so, do you think you can add a way to choose the type of game (classic or not) and the number of players in the menu for PFX3
mjrgh commented 6 years ago

I'm afraid I don't have FX3 to debug it with myself. I don't have any guess about why the computer would completely freeze up like that.

What happens if you try launching FX3 with the exact same command line from a CMD prompt? It's kind of hard to imagine how PinballY could be freezing up the computer so completely, so I'm thinking the problem might be in FX3 rather than PBY.

sebinouse commented 6 years ago

I tried with the CMD prompt : a Alt+F4 doesn't kill the app (as it does without this parameter) Task Manager can kill it after Alt+Tab to get to another window (when I play with PBY there is no other window available ...)

It seems to be a PFX3 issue ...

mjrgh commented 6 years ago

That's interesting - PBY normally ends game processes by sending the equivalent of an Alt+F4, so maybe that's where the freeze is coming from. If Task Manager can kill it, then PBY could probably kill it the same way, by doing a KillProcess() rather than trying to close the window. Usually, the Alt+F4 approach is a lot safer, because KillProcess() has some known problems where it can leave some of the process's resources locked. But that's Windows for you - what's right for one program is wrong for some other program.

I'll put together a test build for you that does the KillProcess() exit instead of the Alt+F4 exit so we can see if that helps. I'll let you know when I have something to download...

sebinouse commented 6 years ago

I posted a Bug Report on their forum. And I hope they will find a solution soon.

I'll be happy to test the kill process (but I'm not able to test until next week).

In the meantime, what do you think about a menu to enable custom parameters for PFX3 from PBY like : Play Tick : Offline ( -offline ) Tick : Classic ( -class ) Tick : Multiplayers (-hotseat_2 or -hotseat_3 or -hotseat_4)

AFAIK PinballX is not able to do so, I would be a great feature for your software ;)

mjrgh commented 6 years ago

I've added a Kill Process option - it's in the Beta 1 now out. Go to the system setup dialog page and select "Kill Process" in the Terminate By box.

I'd rather not add a special-case menu just for FX3, but some kind of general scheme to select different launch parameters for a given system might be interesting. The same idea has come up in the context of launching Future Pinball in different modes (e.g., with or without BAM), or launching TPA in different modes.

sebinouse commented 6 years ago

The "Kill Process option" does not work during my test.

When I press ESC, it just does the associated action in PFX3, when I press ESC a second time it goes back to PBY without exiting PFX3

sebinouse commented 6 years ago

About menus I understand your choice not to implement something just for one system. But I really think it would me a great feature (for all systems) to have the possibility to add one or two custom launch options.

mjrgh commented 6 years ago

The "Kill Process option" does not work during my test.

When I press ESC, it just does the associated action in PFX3, when I press ESC a second time it goes back to PBY without exiting PFX3

Okay, that's too bad. I'm not sure what else to try; if you have any ideas let me know.

sebinouse commented 6 years ago

It's not your fault ... it's a PFX3 bug.

You can remove this option if you want to simplify setup.

Anyway let me know if you implement custom launch menu.

mjrgh commented 6 years ago

Anyway let me know if you implement custom launch menu.

This'll be possible as part of a more general customization scheme in an upcoming release.

mjrgh commented 5 years ago

I wanted to mention that the Beta 2 release (now out) has the "more general customization scheme" that I mentioned earlier, in the form of a Javascript scripting engine that has access to many program events and UI features. For your idea for a custom launch menu in particular, you should be able to implement this using the following features:

skullmonkey911 commented 5 years ago

@mjrgh: PFX3 has two free tables Sorcerers Lair and Fish Tales. You only need to get in touch with them for the Cabinet code...

byancey commented 5 years ago

Not sure if anyone is still monitoring these closed issues, but just wanted to post an update, as I have just submitted a pull request that addresses this issue.

see https://github.com/mjrgh/PinballY/pull/85