Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

Pinball FX Per Table Launching autohotkey script + Docklet Wheels for all tables


joyrider3774

Recommended Posts

Hello Guys,

Pinball FX does not support per table launching, so i created an autohotkey script that adds this for us. The script will mimic user input to optionally enable cabinet mode ingame and select the tables. Be sure to watch the helper video !

Script + Docklets Download: https://github.com/joyrider3774/PinballFXLauncher

Pinball X Setup:

pinballxsetings.png

Launch before (bat):
 

powershell -Command "Start-Process 'irotate.exe' '/2:rotate=90 /exit' -Verb runAs -WorkingDirectory 'C:\Program Files (x86)\iRotate\'"

Launch After (bat):
 

powershell -Command "Start-Process 'irotate.exe' '/2:rotate=0 /exit' -Verb runAs -WorkingDirectory 'C:\Program Files (x86)\iRotate\'"


 

Helper Video:

 

edit: i also uploaded the docklet wheels to this site, but they ended up in a wrong section if a mod can move them to a correct section that would be great (it really is not clear how to select a category, now they ended up under pinballx installs) 

 

  • Like 1
Link to comment
Share on other sites

1 minute ago, Mike_da_Spike said:

Nice one @joyrider3774

I have fx on my cabinet, but refuse to buy the tables, as the fx3 was almost 200 euros as well. But will use this, just for the free daily tables !

Good work

You could buy only the new tables Pinball FX3 does not have, but i basically bought them all again as i needed it to test with the script. I hope it also works if you don't own all tables i think it should but i'm unable to test this as well i basically got everything except indiana jones

  • Thanks 1
Link to comment
Share on other sites

7 hours ago, joyrider3774 said:

edit: i also uploaded the docklet wheels to this site, but they ended up in a wrong section if a mod can move them to a correct section that would be great (it really is not clear how to select a category, now they ended up under pinballx installs) 

 

Fixed

  • Like 1
Link to comment
Share on other sites

Hey Guys,

I updated the script to add a second parameter to be able to select game modes, like hot seat, pro mode, 1 ball mode, distance mode etc, i also updated the readme to reflect these possible options and show the table names.

Due to this i could also create an ini file for the pinball Launcher app.

More Info on that launcher app here: https://github.com/joyrider3774/PinballX_Launcher_app/tree/master/other_games/Pinball FX

 

This is how it works / looks on my cabinet:

 

Link to comment
Share on other sites

Nice job,   I have barely touched FX at this point still.   Portrait mode is still borked and they need to get UE4 optimized.   I have a 5900X/RTX 3070 and the performance is a joke.  Forget turning on Raytracing still even after all these months and the flipper lag is awful.    I have been buying the tables when discounted but have to say I am really disappointed so far in FX.      FX3 plays so much better and I am underwhelmed with the "remasters".    I get going to new engine but other than the new tables FX3 plays so much better.

Link to comment
Share on other sites

5 hours ago, GAH1068 said:

Nice job,   I have barely touched FX at this point still.   Portrait mode is still borked and they need to get UE4 optimized.   I have a 5900X/RTX 3070 and the performance is a joke.  Forget turning on Raytracing still even after all these months and the flipper lag is awful.    I have been buying the tables when discounted but have to say I am really disappointed so far in FX.      FX3 plays so much better and I am underwhelmed with the "remasters".    I get going to new engine but other than the new tables FX3 plays so much better.

Not sure what the issue is with portrait mode, but i have not noticed anything problematic about it, i just rotate the screen using irotate as usuall before running the game and portrait seems to work fine

It's going off topic but yes Performance is an issue but you can tweak the settings by editing engine.ini in the following folder C:\Users\[your user]\AppData\Local\PinballFX\Saved\Config\WindowsNoEditor directory

this was given to me by MBeeching on the pinball FX Discord, and it worked wonders for my old geforce 1050 card in my cabinet, it improves fps a lot by sacrificing quality and makes everything a lot smoother. It's actually performing good now for my old system and it's all playable, worlds of difference from original values. 

This the latest he told and which you should probably try first, you should just add these config values to the bottom of your own render.ini and then try out the game (edit this you should use but do note if performance is still not good you decrease r.SecondaryScreenPercentage.GameViewport=100 by decrements of 5 until you find a setting that is good for you. The worst performing tables are as i'm told and noticed myself Theatre of magic, et World War Z and Grim Tales. For example the settings below and cabinet mode activated and r.SecondaryScreenPercentage.GameViewport=100 set to 65 (it will do upscaling then) i get about 90 fps on the Theatre of magic table

Quote

Yeah it's still engine.ini, if you just want to test a quick performance boost, try:

[SystemSettings]
r.SSR.Quality=2
r.ShadowQuality=3
r.Shadow.MaxResolution=1024
r.Shadow.MinResolution=32
r.Shadow.FadeResolution=64
r.AmbientOcclusionLevels=1
r.TranslucencyLightingVolumeDim=16

I'm still puzzling over Translucency volume dim, a tough call affecting some tables more than others.
16 is very low and values like 24/32/64 are seemingly reasonable (according to UE documentation - 16 does not look poor in PFX).

With shadow res you could do 2048 instead, maybe add: r.Shadow.RadiusThreshold=0.03 or 0.01.  They're not that expensive but it depends upon your framerate target - which can vary a lot between tables, view and visual extras.

Render resolution and TAA provide other major gains:

r.SecondaryScreenPercentage.GameViewport=100
r.DefaultFeature.AntiAliasing=2
r.PostProcessAAQuality=5
r.TemporalAA.Algorithm=0
r.TemporalAA.Upsampling=1
r.TemporalAA.Upscaler=1
r.TemporalAAUpsampleFiltered=1
r.TemporalAACatmullRom=1
r.TemporalAAFilterSize=0.75
r.TemporalAA.HistoryScreenPercentage=100
r.TemporalAACurrentFrameWeight=0.25
r.TemporalAASamples=4
r.TemporalAA.R11G11B10History=1
r.DOF.TemporalAAQuality=0

With these, you can start at your native res and slash that game viewport by 5-10 until you're happy with performance. There can be incredible perfornance gains rendering high-res at 70-80 viewport with TAA upscaling, but I remain torn upon TAA frame weights and filter size.  A good place to test shadow quality settings is that Speeder bike on ROTJ.

If you have loads of spare performance use: r.TemporalAA.Algorithm=1

 

Link to comment
Share on other sites

I gave it a try today/
My Epic game needed to be updated (i though 19GB. Not incremental, but full download)

For people that doesn't want to buy the game, but wants to check the free daily games, I added the following to tour AHK file :

GrpDailyFree := 1

tblDaily1 := [GrpDailyFree,0,1]
tblDaily2 := [GrpDailyFree,1,1]

Now from PinballX I can load tblDaily1 or tblDaily2 and it will launch the free table :D 
I had this in the past as well, But can't get my buttons to work in the game

 

  • Like 1
Link to comment
Share on other sites

Ah good idea, i had not thought of that, i can add them to the script for future use so everyone can use them for the daily's but might be kinda hard to create docklet wheels for them :)

 

But i think it needs to be this:

tblDaily1 := [GrpDailyFree,0,0]
tblDaily2 := [GrpDailyFree,1,1]

1st table 0 down and 0 right

2nd table 1 down and 1 right

If there is ever 2 tables from samen group the down on the 2nd table does not have any effect but it would press right once to select the 2nd table from same group. If it is not the same group the 2nd table will press down and one time right but the right should not have any effect. In your case doing 1 time right on both tables would not work if both tables are from the same group (like williams or star wars or so)

also kinda weird your buttons don't work inside the game but i think you used joypad / joystick right ? I think the game requires xinput so you could use xbox 360 ce or so to create an xinput dll wrapper that wraps your gamepad / joystick as an xinput controller. You'd just have to place the program and (generated) dll inside the same directory as that pinball fx shipping exe (so it can see and load the dll instead of the normal one). I know xbox 360 ce works as i use it to map a (directinput )joystick axis inside the game to right joystick so i can use my plunger just make sure to generate 1.3 dll and use 64 bit version of xbox 360 ce

Link to comment
Share on other sites

Made an attempt at daily free docklet wheels. Also updated in the downloads section and on github. New Version of the script also available, but it's only possible to select classic mode for daily free tables (as i can't know the difference between a williams and non williams table with dialy free tables (williams table have an extra game mode and i'm not able to select correct game modes due to not knowing this))TblDaily1.png

TblDaily2.png

  • Like 1
Link to comment
Share on other sites

10 hours ago, joyrider3774 said:

@Mike_da_Spikecould you check if the daily tables have got all the different games modes unlocked also (like pro on williamsn, time, flips etc)? I can't check it anymore as i have bought all tables

I'm only able to use the classic one

image.png.5fa66d44cc3b811500a0ddef3af38c85.png

 

11 hours ago, joyrider3774 said:

lso kinda weird your buttons don't work inside the game but i think you used joypad / joystick right ? I think the game requires xinput so you could use xbox 360 ce or so to create an xinput dll wrapper that wraps your gamepad / joystick as an xinput controller. You'd just have to place the program and (generated) dll inside the same directory as that pinball fx shipping exe (so it can see and load the dll instead of the normal one). I know xbox 360 ce works as i use it to map a (directinput )joystick axis inside the game to right joystick so i can use my plunger just make sure to generate 1.3 dll and use 64 bit version of xbox 360 ce

Yeah, I use X360CE. Last time I tried it (couple of months ago ) I had it working (with a lot of pain)
I use the same config for Fx3 , Wicked, zaccaria and Pinball Arcade (only those uses the 32bit, and this needs the 64 bit)

Not sure why it doesn't work at all, but I will figure it out. And I can finally check the performance of the table with my RTX3080

 

Link to comment
Share on other sites

3 hours ago, Mike_da_Spike said:

And I can finally check the performance of the table with my RTX3080

Cabinet mode takes a huge hit on performance, and it also has some weird issue if you got vsync enabled then fps will be almost halved. But if you disable vsync and just limit fps to 60 or ingame the performance is better in cabinet mode

Link to comment
Share on other sites

14 minutes ago, joyrider3774 said:

Cabinet mode takes a huge hit on performance, and it also has some weird issue if you got vsync enabled then fps will be almost halved. But if you disable vsync and just limit fps to 60 or ingame the performance is better in cabinet mode

Is there a way to get the fps on screen ?

Link to comment
Share on other sites

Well, I entirely screwed up X360CE.
I had version 3.2 running, but FX didn't want to run with that version.
So removed all my 3.x version I had, And upgraded to 4.x (latest)

Version 4 needs to launch manually, but doesn't need to be in all the directories.
But launching it from a launch script, takes just too much time, and the game won't see it launched.
Launching it during Windows start, PinballX launch takes a big longer, but during exit, it hangs 

Trying to go back to 3.2 it gives an error :( 
 

Link to comment
Share on other sites

1 hour ago, Mike_da_Spike said:

Is there a way to get the fps on screen ?

don't use msi afterburner nor rivatuner statistics, it impacts performance in cabinet mode (at least with me). but i use the nvidia overlay from geforce experience to display fps. Its possible you need to add the epic games overlay binary to nvidia control panel before the game gets detected i remember doing it at some point but not sure its still needed. Also when cabinet mode is enabled fps will only show  (on playfield ) when you activate the dmd window (but game will pause) but if you alt-tab to dmd window and then alt tab to playfield window the fps will be displayed on DMD windows (at least with me)

Link to comment
Share on other sites

19 minutes ago, joyrider3774 said:

@Mike_da_Spikeabout xbox 360 ce i use this (old) 3.2 version, but you need to check 1.3 version of dll at least thats what i did and it works fine using that in my setup

 

image.thumb.png.5a1844d78cdba054127210862d8bca10.png

When i launch x360ce.exe  it reconize the pinballfx.exe and downloads the dll, but after that it crashes. 

Link to comment
Share on other sites

11 minutes ago, Mike_da_Spike said:

When i launch x360ce.exe  it reconize the pinballfx.exe and downloads the dll, but after that it crashes. 

Hmm thats bad i don't have such issue, maybe something is still left over from the most recent version you installed ? It's hard to tell what the issue might be, did you restart your pc (cabinet) after uninstalling latest xbox 360 ce version ?

Link to comment
Share on other sites

1 hour ago, joyrider3774 said:

Hmm thats bad i don't have such issue, maybe something is still left over from the most recent version you installed ? It's hard to tell what the issue might be, did you restart your pc (cabinet) after uninstalling latest xbox 360 ce version ?

No install for X360Ce at all. Just an exe that creates filoes and registry entries.

I cleaned registry (all x360ce deleted), files in c:\programdata\x360ce, Even uninstalled vjoy, cleaned Registry key for joysticks, disconenct my Stream Deck. But I cannot get the old version to work anymore.
32 and 64 bit giving the same error :
image.png.1ef2f0998de5dd10b1d542bfa579878d.png

 

Googling this, all say that you need a newer version. 
I should had create a restore point ....

Link to comment
Share on other sites

Yeah, I created a restore point. And deleted all HID game devices. Rebooted and same issue.
I really don't get it.

 

Edit: when I click continue and click save, the program can use the input from my controller, but controller 1 stays grey. Clicking on controller settings, is gives the same error. Looks like its not able to enumerate all joystick devices. I will leave it for now and maybe search for another program as all my steam app or not working anymore with my pincontroller

Link to comment
Share on other sites

hopefully you can fix it but just to be sure in device manager did you add the devmgr_show_nonpresent_devices=1 environment variable then open the device manager and also selected show hidden devices ? Doing this would show not connected devices or devices that were once connected using different settings and then check if any old joysticks showed up. I know i sometimes had to do this to fix issues...

 

https://support.microsoft.com/en-us/topic/device-manager-does-not-display-devices-that-are-not-connected-e7148232-40ae-bb07-0077-88f2e859b53f

  • Like 1
Link to comment
Share on other sites

Guys, I updated the pinball FX Launcher script, to add the newly released wrath of the elder gods table as well as fix the other table indexes after the latest update so the script selects the correct zen original tables again. I will have todo this every time zen releases a new table for a certain group. If you currently are using the old version of the script and the game updates it will select wrong tables for zen originals unless you update script (and recompile etc)

https://github.com/joyrider3774/PinballFXLauncher/releases/tag/v4.0

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...