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 Arcade Direct Table Launch with Free Camera Mod!


bduncan

Recommended Posts

Anyone try this out yet? 

http://pinballarcadefans.com/showthread.php/10199-DOWNLOAD-Pinball-Arcade-Free-Camera-Mod?p=255453&viewfull=1#post255453

 

A new mod's version (v1.78) is available !

Changelog:

- Updated to work with game's version 1.58.5 DX11.
- Added new table (WorldTour) support.

New features:

- Right-click menu on mod's traybar icon, to generate offline file, settings (coming soon), etc.
- Direct table launching for pincab frontends (PinballX, etc), add "-table tablename" to mod's command line, here is a list of available table names.
(Don't forget to set path to game executable in Settings.ini file otherwise the game won't start.)

The mod is now auto-updating and downloads the new build if the executable has been modified, just restart it to download the new version.

Link to comment
Share on other sites

I have tried getting this working but my pinball arcade wont run dx11 using any of the .exe files and i can only run the dx11 version by right clicking pinball arcade in steam and running dx11 version from there and also when i run the tbafreecammod.exe and set it to auto launch i get some sort of annoying steam allow message.

so its still an issue for me :( not wasting anymore time with it unless someone gets a bullet proof way of doing it ? and also let me know if anyone has had issues with steam allow dialogue box and running the dx11 version straight off ? argh! lol

 

Link to comment
Share on other sites

So I confirmed that this works great with tpafreecammod, If I launch tpafreecammod -table anytablenamefromdocument PBA loads, main menu comes up and then the table I specified loads to the intro screen!

Awesome, I feel like I am so close to finally getting PBA games working from within PinballX!

Problem starts when trying to get this to work with PinballX.  First I had to rename all by database entries for each game to match the naming convention in the pastebin document.  I then set this up as an other system with this:

Select System: 4:PBA

NAme/Folder: PBA

Enabled: Yes

System Type: Custom

Working Path: C:\games\PBAmod

Table Path: C:\games\PBAmod

Executable: TPAFreeCamMod.exe

Parameters: -table [TABLEFILE]

process to monitor: PinballArcade11.exe

Any PBA table I select in PinballX, launches TPAFreeCamMod.exe (I see it flash in the taskbar corner indicating it hooked into pinballarcade11.exe) and then my primary screen stays black for a while (meanwhile backglass changes to indicate PBA is loading and freecammod is running because the backglass image indicates that) then when it finally goes from black to active on playscreen it is just sitting at the PBA main menu, no table selection occurs at that point like when I just manually run  tpafreecammod -table anytablenamefromdocument

 

Link to comment
Share on other sites

2 things, i cant get pinball arcade to run the dx11 version from the mod and being able to detect it, the only way i can get the mod to detect the process is to actually run it from steam, right click and Pinball Arcade dx11

also i had to rename pinballarcade11.exe to pinballarcade.exe to even be able to run dx11 from a command line and now the mod will not inject.

it really is just too much of a pain 

I think we need information from NoEx, if anyone is on talking terms and find out how he has managed to use a table selection via a command line for Pinball Arcade, then for the people that have got issues we can use that method instead.

steam.PNG

Link to comment
Share on other sites

I made this script:

Process, Close, pinballx.exe
Sleep, 3000
Run C:\games\PBaMOD\TPAFreeCamMod.exe -table %1%

Compiled as an exe.

If I use this and pass just [TABLEFILE] to this exe above PBA then opens and each table launches OK.

 

So it seems PinballX is causing some issue for me.

I hate to jury rig this, but does anyone know how to make autohotkey terminate a process if the ESC key is pressed?

 

If I change the above script to be:

Process, Close, pinballx.exe
Sleep, 3000
Run C:\games\PBaMOD\TPAFreeCamMod.exe -table %1%

Wait for ESC to be pressed, if it is, close PinballArcade11.exe (whatever would accomplish this in AHK)

Run C:\PinballX\pinballx.exe

Then I could work around whatever it is.

 

Link to comment
Share on other sites

You might want to look through the threads on their forum to figure out what issue you might be having.  When I first setup free camera mod I followed this document: http://docdro.id/v0xpdE2

I also read through the forums, you absolutely need to have the correct version of Freecameramod to match up with the DX11 version or free camera mod won't inject.  To keep things working when you get them working with Freecameramod you use a firewall or block Internet to your cab and you run Steam in offline mode.   If PBA updates, then free camera mod won't match anymore and wont inject and wont work. Same with free camera mod in my experience.  If it is updated to handle 1.58.10 of PBA, but you are on 1.58.4, it won't work.  It is best to get them working, then block their ability to communicate to the Internet.  And remember free camera mod to run offline, needs to be online to be able to download its OfflineData.m0d that seems to be version specific from what I have read here. (once you have the offlinedata file, you can cut its access off then)

http://pinballarcadefans.com/showthread.php/10120-Discussion-thread-about-the-FreeCamera-Mod

Link to comment
Share on other sites

OK I figured out how to work around this issue if anyone else experiences what I did.

I created an AHK with this that I converted to an EXE and named it run.exe:

Process, Close, pinballx.exe
Run C:\locationforfreecameramod\TPAFreeCamMod.exe -table %1%
~Escape::
Process, Close, PinballArcade11.exe
Run C:\Pinballx\PinballX.exe
ExitAPP
return

I configured Other Sytems for PBA, I disabled integrated support in PinballX.

Select System: 4:PBA
Name/Folder: PBA
Enabled: Yes
System Type: Custom
Working Path: C:\games\PBAmod
Table Path: C:\games\PBAmod
Executable: run.exe
Parameters: [TABLEFILE]
Process to monitor: PinballArcade11.exe

I renamed all the game name= lines in my PBA.xml in databases to match the table names from http://pastebin.com/8azvyP8B

From PinballX I can now launch any PBA table I have in PBA.xml.  The table loads right to the info page on that table. I just hit my plunger 2 times and the table starts. If I press ESCAPE then PinballArcade11 closes and PinballX reloads.  It is a jury rig but seems to work OK.

The only real issue remaining is that when PinballX reloads after playing a PBA table, it does not return to the game you selected in PinballX.  So if your last played table was in the A's and you launch a PBA table in the R's, when you go back in your back at the A's.

Even with that issue I don't mind, this is allot nicer now.

 

 

Link to comment
Share on other sites

This new version of FCM really is making the impossible dream of playing TPA from PinballX almost a reality.  I have everything almost working except for a couple issues.

I have a cabinet with three monitors and I got this to work by setting up a custom system that launches TPAFreeCamMod.exe much like bduncan's settings (the earlier post).  I also have a Launch Before compiled AutoHotkey script that rotates the playfield and then launches DMDext (to mirror the TPA DMD onto my third DMD monitor).  And then a similar Launch After that closes DMDext and rotates the display back.  Previously I had set up my TPA configuration to be 1080x1920 from the utility.

In Steam (which I'm connected to the internet with, no offline), I have a Launch Option of: 

"C:\Games\Steam\steamapps\common\PinballArcade\PinballArcade11.exe" skipwhatsnew %command%

Strangely, I have to set LaunchGame .ini file setting for FCM to 0 - otherwise I get a 'game is already running error' from FCM.  Not sure if it has to do with my Steam launch options or not.

My only issue is that it seems like FCM is clicking the welcome screen in TPA before it actually appears (you can hear the 'click' sound).  But as soon as you move the mouse pointer over the ok/check mark button, it 'clicks' it (without actually pressing the mouse button) and then launches the correct table (although it will play the short audio of the Recently Played table for some reason).

Exiting out of TPA and back to PinballX and trying to launch another table gives a different problem: it seems to have made it past the intro screen but it doesn't launch the table now - until you move the mouse over the Recently Played button and it then launches the correct table!

I'll give it a go another day and see if I can nail down how/why it is exhibiting this behavior.  But it is close.  Perhaps if FCM had the ability to customize the delay time before launching and 'pressing' the buttons.

 

Link to comment
Share on other sites

6 hours ago, Pike13 said:

Strangely, I have to set LaunchGame .ini file setting for FCM to 0 - otherwise I get a 'game is already running error' from FCM.  Not sure if it has to do with my Steam launch options or not.

My only issue is that it seems like FCM is clicking the welcome screen in TPA before it actually appears (you can hear the 'click' sound).  But as soon as you move the mouse pointer over the ok/check mark button, it 'clicks' it (without actually pressing the mouse button) and then launches the correct table (although it will play the short audio of the Recently Played table for some reason).

 

Yes I have it set to 0 also, if you set it to 1 it gives the warning and never launches the table you pass.  I think it is because when you select the table from the command line you are telling it to launch the game, so having both creates that.

As for your 2nd issue, you have that happen when you are outside of using PinballX? For example If you just lauch

freecammod.exe -table BridePB

Does this 2nd issue occur?

 

Link to comment
Share on other sites

this is how my pinballx is setup and this seems to supress all messages and hopefully should load a table correctly but the steam message still hinders me :( as it hides behind pinballx and stops pinballarcade11.exe being runas its waiting for me to click OK to allow the command line :(

i hate steam and its crappy messages

 

 

 

pinballx.PNG

Link to comment
Share on other sites

2 hours ago, bduncan said:

freecammod.exe -table BridePB

Does this 2nd issue occur?

running this works and selects the table after you click press to start, so as you said, it doesn't click the first bit but its interesting that it does select a table finally which we need to find out how and why this works so well.

but steam is definately knackering any progression up for me :(

 

 

Link to comment
Share on other sites

i have only nailed it, got pinballarcade11 game running without crappy steam message, run from pinballx, runs TPAfreecam, which then runs a startup script which uses the steam.exe and applaunch, freecammod runs and works, kinda selects table and then once finished, i use pinballx load after function to run a taskkill script that shuts all processes down ready for next table launch so not already open messages, works for me to be honest.

heres the newest pinballx setup for running a single table and then the scripts to follow...

 settings.ini for TPAfreecammob...

[Settings]

; Auto launch the game when the mod starts.
LaunchGame=1

; Path to the game executable.
GamePath=C:\Program Files (x86)\Steam\steamapps\common\PinballArcade\PBA.bat
;GamePath=C:\Program Files (x86)\Steam\Steam.exe -applaunch 238260 -nosplash

; Overlay is hidden when the game starts.
StartHidden=0

and now the two simple scripts either side...

PBA.bat

c:
cd\
cd progra~2
cd steam
Steam.exe -applaunch 238260 -nosplash

kill.bat

taskkill /IM pinballarcade11.exe
taskkill /IM tpafreecammod.exe

 

pinballx2.PNG

  • Like 1
Link to comment
Share on other sites

For any interested, this is how my integration of PBA into PinballX looks.

It is now faster than PBFX launching tables.

I still have to work out the logic to make it remember last PBA table launched from within PinballX.

It looks like it this directive in pinballx.ini:

lastselected=Addams FamilyAddamsFamilySystem_4

 

  • Like 1
Link to comment
Share on other sites

14 hours ago, bduncan said:

Yes I have it set to 0 also, if you set it to 1 it gives the warning and never launches the table you pass.  I think it is because when you select the table from the command line you are telling it to launch the game, so having both creates that.

As for your 2nd issue, you have that happen when you are outside of using PinballX? For example If you just lauch

freecammod.exe -table BridePB

Does this 2nd issue occur?

 

No, when launching TPAFreeCamMod.exe independent from a command prompt (with administrator rights), it launches just fine (albeit with playing the welcoming audio of the table last played) with the correct table.  Multiple relaunches with same and different tables continue to work.  I ran my pre-launch and post-launch script manually.  But when trying to tie it all together from PinballX, it just seems the timing is a little bit off.  My PBX settings:

PBX.JPG

Every .exe in the process (PBX, Steam, FCM, Scripts) are set to run as Administrator.  Not sure if that matters or not.

I don't get the annoying steam message anymore - at one time I did back in December but I think the steam launch options may have something to do with it (or maybe FCM is launching it differently; or Steam is doing something different (doubtful)).

Glad you guys got it working - if I can't figure out my issue I'll give your technique a try.

Link to comment
Share on other sites

That is why I had to kill PinballX, my experience has been it somehow messes timing up.  I had the same issue with my own AutoHotKey script, before that would click through all the options in PBA, it would run 100% correct as long as it was NOT through PinballX.  If it was launched through PinballX, it would not work.

With my work around (killing PinballX), it works well now. (Aside from the last table thing)

I am also not sure how much of this is OS dependent if at all.  I am using Windows 8.1 64 bit for my setup.

 

 

Link to comment
Share on other sites

Yeah, I'm not sure what is going exactly, launching from PinballX is very inconsistent.  I tried to take off my Launch Before and Launch After scripts (just starting them manually before PBX could start) and launching from PBX actually worked a few times in a row.  But then the 4th try failed.  The next time after rebooting it wouldn't even work the first time when starting.  But then worked sporadically after that.  <Sigh>

Although it seems to work more often without Launch Before and Launch After enabled for some reason.  Tried adding a delay in the Launch Before script and it didn't matter.  Perhaps I can put call to set focus back to PBX after the script runs.

I wonder if it is worthwhile to ask NoEx to put some sort of configurable delay in there before he fires off the simulated mouse clicks (if that is even what he is doing) or between one click and the next.  It seems like he is then selecting the Recently Played option and somehow substituting the desired table with whatever used to be in Recently Played (although as noted it plays the intro audio of whatever Recently Played table was in there - a small price to pay I guess).

Don't know why their offered reason of  licensing would come into Farsight not putting in some sort of command line parameter and bypassing all these hacks.

 

Link to comment
Share on other sites

Hi,

I think, from my own experience, that "Process to monitor = PinballArcade11.exe" must be empty.

Why ? when I tried 'old' version (I mean without command line) and don't place anything to this field, no any tables loaded and I heard nothing in this sence (I mean 'tic tic tic' sound who choose the right menu and table)

It seems this is the process monitored to send the PinbalX script who choose the correct table (with 1x2,1x3,1x3 ....)

This is only a clue, I must try myself... but time is not my friend at the moment ;-)

Link to comment
Share on other sites

9 hours ago, Pike13 said:

Yeah, I'm not sure what is going exactly, launching from PinballX is very inconsistent.  I tried to take off my Launch Before and Launch After scripts (just starting them manually before PBX could start) and launching from PBX actually worked a few times in a row.  But then the 4th try failed.  The next time after rebooting it wouldn't even work the first time when starting.  But then worked sporadically after that.  <Sigh>

Although it seems to work more often without Launch Before and Launch After enabled for some reason.  Tried adding a delay in the Launch Before script and it didn't matter.  Perhaps I can put call to set focus back to PBX after the script runs.

I wonder if it is worthwhile to ask NoEx to put some sort of configurable delay in there before he fires off the simulated mouse clicks (if that is even what he is doing) or between one click and the next.  It seems like he is then selecting the Recently Played option and somehow substituting the desired table with whatever used to be in Recently Played (although as noted it plays the intro audio of whatever Recently Played table was in there - a small price to pay I guess).

Don't know why their offered reason of  licensing would come into Farsight not putting in some sort of command line parameter and bypassing all these hacks.

 

Why don't you just kill pinballX like I am doing before you start FCM?  I hope this weekend to play around with getting autohotkey to populate the pinballx.ini with the last table played saving.  

I posted about seeing this behavior we are experiencing a couple weeks ago..

What Windows version are you using?  Same deal when I was doing my own script to skip through the menus in PBA, with PinballX running in the background, timing would be different almost every time.  Sometimes it would work 2 times in a row, then fail 5 in a row.

If this behavior occurs over all OS versions, maybe it can be fixed in PinballX? 

 

 

 

Link to comment
Share on other sites

On 05/02/2017 at 6:03 AM, bduncan said:

OK I figured out how to work around this issue if anyone else experiences what I did.

I created an AHK with this that I converted to an EXE and named it run.exe:


Process, Close, pinballx.exe
Run C:\locationforfreecameramod\TPAFreeCamMod.exe -table %1%
~Escape::
Process, Close, PinballArcade11.exe
Run C:\Pinballx\PinballX.exe
ExitAPP
return

I configured Other Sytems for PBA, I disabled integrated support in PinballX.


Select System: 4:PBA
Name/Folder: PBA
Enabled: Yes
System Type: Custom
Working Path: C:\games\PBAmod
Table Path: C:\games\PBAmod
Executable: run.exe
Parameters: [TABLEFILE]
Process to monitor: PinballArcade11.exe

I renamed all the game name= lines in my PBA.xml in databases to match the table names from http://pastebin.com/8azvyP8B

From PinballX I can now launch any PBA table I have in PBA.xml.  The table loads right to the info page on that table. I just hit my plunger 2 times and the table starts. If I press ESCAPE then PinballArcade11 closes and PinballX reloads.  It is a jury rig but seems to work OK.

The only real issue remaining is that when PinballX reloads after playing a PBA table, it does not return to the game you selected in PinballX.  So if your last played table was in the A's and you launch a PBA table in the R's, when you go back in your back at the A's.

Even with that issue I don't mind, this is allot nicer now.

 

 

Hi bduncan, 

After a bit of kungfu with xml and regexpressions and what not, I have finally nailed it. That is getting PinballX to save the last table in the ini. Modified AHK script for you below, for me it works flawless. Populating the ini was easy, PinballX also saves the description of table in the actual key and without it, it simply will revert back to last and modify ini upon load so just passing TABLEFILE to ini won't do the trick. Anyways please change the paths to yours and you are set.

What it's doing is reading your Pinball Arcade database to get the description of the rom first and then updating the ini. Make sure you change the system_2 in Iniwrite as for you it might be a different number in Other systems. Let me know how you go,works fine for me with the only downside being that the Pause menu is obviously no longer available but I can live with that for now. Thanks.

Updated AHK script below, new people must compile this as exe and follow bduncan's intructions above. 

Process, Close, pinballx.exe
Run C:\locationforfreecameramod\TPAFreeCamMod.exe -table %1%
~Escape::
Process, Close, PinballArcade11.exe


FileRead, xmldata, D:\PinballX\Databases\Pinball Arcade\Pinball Arcade.xml ;change to your pinball arcade database
doc := ComObjCreate("MSXML2.DOMDocument.6.0")
doc.async := false
doc.loadXML(xmldata)
table = //game[@name='%1%']/description
Node := doc.selectSingleNode(table)
description:= Node.text
IniWrite, %description%%1%System_2, D:\Pinballx\Config\PinballX.ini, Internal, lastselected ;change drive letter and system number, for me its 2 in Other Systems so _2


Run C:\Pinballx\PinballX.exe
ExitAPP
return

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...