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

Zaccaria Pinball launcher and media generator


Carny_Priest

Recommended Posts

On 1/15/2017 at 3:21 AM, Carny_Priest said:

Based on their reputation, I was an early supporter of A.S.K. Homework in their Indiegogo campaign to add PC/cab support for their Zaccaria Pinball simulator. They launched on Steam last June and supporters got access to the gold pack of 38 tables. Cab support (portrait mode and support for gamepad controllers) arrived in Sept. Growing up in the states, I do not have a strong attachment to Zaccaria. I was hoping that someone else would do the work of getting together a solution for PinballX support, but... whatever. 

The launcher is based heavily on gigalula's work:

I just put it all into a working script. Add "Zaccaria Pinball" as a system in the Other Systems screen in the Settings app. Assign System Type as Custom. Point the executable path to the launcher. Use "Zaccaria Pinball.xml" as your database file as-is. At least, don't change the game name tags as these are what the Zaccaria Pinball program calls the different tables.

The launcher is specific to my particular configuration. I use the command line driven app Display Changer II to rotate my playfield monitor to portrait and antimicro to map my buttons to keys. The source code is included so it can be adjusted to fit users' needs.

 

Now, the hard part is media. The Zaccaria Pinball app currently only supports the playfield so there is no backglass support. PinballX can display static images while in-game. Nudnick, a contributor for TPAFreeCamMod, put together a collection he made for all 38 backglasses:

http://pinballarcadefans.com/showthread.php/11793-Static-Back-Glass-while-wait-for-Mod-Update?p=245857&viewfull=1#post245857

The link still works last time I checked. 

 

A lot of wheel images already exist under Media/Visual Pinball on the FTP or at VPForums. For the remaining, I did them myself. Media/Zaccaria Pinball/Wheel Images on the FTP. Quality varies. Cine Star and Red Show, I pulled from backglass images and the remaining from flyers. 

Look for flyers on the FTP - Flyer Images\300dpi - flyers.cdyn.com

I redrew most of the instruction cards I could find when Zaccaria Pinball launched on Steam. These are on the FTP - Other Uploads/Carny/Z20160604

This leaves Table Videos. There is a lot of customizations available for lighting and camera views. It makes sense to have a way to generate our own table videos. I ported gtxjoe's PBXRecorder v1.5 for Zaccaria Pinball using Open Broadcaster Software as the capture engine. This was tested with v17.0:

https://github.com/jp9000/obs-studio/releases/download/17.0.0/OBS-Studio-17.0-Small.zip

The same install instructions apply as described here:

Note - Zaccaria Pinball must be setup with Full Screen disabled to capture screens. I could not overcome focus issues while exclusive Full Screen is enabled. You can always enable again after you are through capturing.

It seemed to work well enough for me. The source code is available if you need to tweak timing or key delays. The process of launching tables and capturing screens requires the scripts to modify the Zaccaria Pinball's user settings xml file. Steam has a habit of reconciling what is on the local drive with what it has in its cloud backup. It may ask you to sync. The capture program will pause if this happens and all you need to do is sync/upload local file up to the cloud, and the program will proceed. If all else fails, reboot.

Launcher and 64-bit executables included.

Have fun!

All sources are trademarks/copyrights of their respective owners. My work is free to use by the community without attribution and is to be privately used in PinballX or for other non-commercial (or at least non-profit) pinball-related applications. I hold no responsibility for their misuse.  

 

PBXrecorder_1.5Zaccaria.zip

the trick to launch directly single table via pinballxfrontend does not working Now the interfacce has changed and it Now this trick dont work. please help

Link to comment
Share on other sites

3 hours ago, Draco1962 said:

Is it necessary to type a super large highlighted text to ask for assistance? I understand that this is your 3rd or 4th post that the workaround no longer works , but damn.

sorry is my device that is not perfect. i have difficulty to write.  sorry again. is the 3rd or 4th post because i Aiways hop e that somebody answer me that it is solved!

Link to comment
Share on other sites

On 10/2/2018 at 7:04 AM, Draco1962 said:

Is it necessary to type a super large highlighted text to ask for assistance? I understand that this is your 3rd or 4th post that the workaround no longer works , but damn.

Although is understandable that software changes with the pass of time and needs updates from time to time, it will be good for all if in the post exists a clarification that the method/script currently doesnt work to avoid wasting the time with it. Just an idea to be practical while we wait for a fix.

Link to comment
Share on other sites

Since the creator of the script has been in and out of the forums and has not shown any interest in responding to the several requests, maybe leaving a request in PM to him would be more appropriate.

Link to comment
Share on other sites

Sorry, I'm interested in getting Zaccaria working but my cab has been down for months because the playfield TV is broken, so I no longer have a way to test anything. The script was built on workarounds that Gigalula found. It involves overwriting the last table loaded tag in the games settings.xml with the table selected in the PinballX menu. At least for me this requires the compiled executable of the script to be set to run as administrator. The fix could be easy. Maybe the name of the file or the tag is simply different now reflecting updates made to the game since I published the script. Someone interested enough is free to delve into the code and publish a new script.

If the game fundamentally changed how it loads the last game played or if the game now requires going through the main menu then it's not like I know an alternative. Again, there's no way for me to test anything. When I get my cab back up and running, I'll eventually get around to making it work if I can, but I'm also behind on every other bit of software. Don't bother with PMs. That doesn't get my cab back up and running any faster.

Link to comment
Share on other sites

4 hours ago, Carny_Priest said:

Sorry, I'm interested in getting Zaccaria working but my cab has been down for months because the playfield TV is broken, so I no longer have a way to test anything. The script was built on workarounds that Gigalula found. It involves overwriting the last table loaded tag in the games settings.xml with the table selected in the PinballX menu. At least for me this requires the compiled executable of the script to be set to run as administrator. The fix could be easy. Maybe the name of the file or the tag is simply different now reflecting updates made to the game since I published the script. Someone interested enough is free to delve into the code and publish a new script.

If the game fundamentally changed how it loads the last game played or if the game now requires going through the main menu then it's not like I know an alternative. Again, there's no way for me to test anything. When I get my cab back up and running, I'll eventually get around to making it work if I can, but I'm also behind on every other bit of software. Don't bother with PMs. That doesn't get my cab back up and running any faster.

Thanks for responding and hope you get that playfield monitor replaced soon!

Link to comment
Share on other sites

10 hours ago, Carny_Priest said:

Sorry, I'm interested in getting Zaccaria working but my cab has been down for months because the playfield TV is broken, so I no longer have a way to test anything. The script was built on workarounds that Gigalula found. It involves overwriting the last table loaded tag in the games settings.xml with the table selected in the PinballX menu. At least for me this requires the compiled executable of the script to be set to run as administrator. The fix could be easy. Maybe the name of the file or the tag is simply different now reflecting updates made to the game since I published the script. Someone interested enough is free to delve into the code and publish a new script.

If the game fundamentally changed how it loads the last game played or if the game now requires going through the main menu then it's not like I know an alternative. Again, there's no way for me to test anything. When I get my cab back up and running, I'll eventually get around to making it work if I can, but I'm also behind on every other bit of software. Don't bother with PMs. That doesn't get my cab back up and running any faster.

I created compiled version of the script and confirmed the last table loaded was getting written properly to the XML.    I never was able to get it to work so I am fairly confident this method won't work going forward.

  • Thanks 1
Link to comment
Share on other sites

12 hours ago, GAH1068 said:

I created compiled version of the script and confirmed the last table loaded was getting written properly to the XML.    I never was able to get it to work so I am fairly confident this method won't work going forward.

It works partially, the script needs to write a new value in settings.xml according the table you choose:

<item name="menu_table_cont" value="0"/> for SS table

<item name="menu_table_cont" value="1"/> for EM table

Then it will work, but dont know how to do it, it should read from the database the type of table and write that value.

  • Thanks 1
Link to comment
Share on other sites

That should be a fairly easy change to the scripts.  Not sure if you can get the type of Pinball (SS/EM) directly as a parameter from PBX but worst case is you can look it up in the PBX database XML file so it is still very do-able.      I  will test in the next few days to see if adding the EM or SS flag does the trick.   Thanks for the heads up,  I will post my setup if I make any progress.  

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, GAH1068 said:

That should be a fairly easy change to the scripts.  Not sure if you can get the type of Pinball (SS/EM) directly as a parameter from PBX but worst case is you can look it up in the PBX database XML file so it is still very do-able.      I  will test in the next few days to see if adding the EM or SS flag does the trick.   Thanks for the heads up,  I will post my setup if I make any progress.  

I know that is something fairly easy to the one who knows a bit of coding, I just could find out that value in the Zaccaria xml file, anyway we get here thanks to Carny_Priest, soon will have his cabinet fixed surely :cheers:

  • Thanks 1
Link to comment
Share on other sites

I hacked together an updated compiled .AHK script that I am runnning from PBX.   

I have some games added to Game Manager for blackbelt (SS or EM) as well as supersonic (EM)

Note: I don't have it parsing the PBX database file to determine automatically  if table is a SS or EM but I am setting the XML file appropriately just to test

My compiled AHK is passing in the  table name as parameter,  modifying the Settings.XML as described (including menu_table_cont with a value of 0 or 1 depending on the table type) and then launching Zaccaria.         Zaccaria is starting but the table never launches and I am not seeing any change from how it normally starts.

Unless I am missing another step or this is some different process on starting Zaccaria  I don't think this is going to work going forward.

 

  • Thanks 1
Link to comment
Share on other sites

40 minutes ago, GAH1068 said:

I hacked together an updated compiled .AHK script that I am runnning from PBX.   

I have some games added to Game Manager for blackbelt (SS or EM) as well as supersonic (EM)

Note: I don't have it parsing the PBX database file to determine automatically  if table is a SS or EM but I am setting the XML file appropriately just to test

My compiled AHK is passing in the  table name as parameter,  modifying the Settings.XML as described (including menu_table_cont with a value of 0 or 1 depending on the table type) and then launching Zaccaria.         Zaccaria is starting but the table never launches and I am not seeing any change from how it normally starts.

Unless I am missing another step or this is some different process on starting Zaccaria  I don't think this is going to work going forward.

 

Ops, when I tested it worked for me changing that value, could you post the ahk you modified so when I return home I can check again, later if I find something else I will post here.

  • Thanks 1
Link to comment
Share on other sites

See attached,  like I said it is a fairly hacked up version so it isn't getting the Table type yet.   I just wanted to see if a table would launch before I went and added some routines to

parse the XML file and read the pinball machine type from the PBX database.   I might be missing the way to launch Zaccaria for this to work.  I  have tried launching it from the script or running

from PBX itself so please include your PBX settings for Zaccaria if it works.   

 

Change table type to SS or EM and recompile and it will write the proper value to "menu_table_cont"  

table_type = EM
If (table_type = "EM")
{
  table_type_val = 1
}
Else
{
 table_type_val = 0
}        

 

start_zac.ahk

  • Thanks 1
Link to comment
Share on other sites

Pindapoe - can you upload your PBX settings.ini so I can see what I'm missing.  Do you have any command line parameters used to start.   I will get the rest wrote to parse the PBX database to pass the table types next once I get a launch 

Link to comment
Share on other sites

47 minutes ago, GAH1068 said:

Pindapoe - can you upload your PBX settings.ini so I can see what I'm missing.  Do you have any command line parameters used to start.   I will get the rest wrote to parse the PBX database to pass the table types next once I get a launch 

Sure, if you need something else, just tell me.

zaccaria settings.png

Link to comment
Share on other sites

No cash to replace a TV at the moment. And kind of lusting after a 4K set anyway which costs more $. So, yeah, it might be a while. 

I recall that the app has added some virtual titles that are modernized updates to some old EMs. If you need the machine type overwritten in the game's settings.xml as well as the table name then this can be done in a streamlined way. 

You would want to have your table name and type (SS or EM) defined correctly in the system database file, presumably you would still call this Zaccaria Pinball.xml.

Then you could match your table selection to the database file to pick up the proper type value. A good example of how to do that would be in the source for PBXrecorder_1.5Zaccaria.ahk which has code that is scanning for information in the database file. It's looking for any xml file with 'Zaccaria' contained within the file name. Later about line 980, it is using the Loop, Read command to read the entire xml file into memory. From there, the file is reading line by line for value of the game name and description tags to do some error handling for special unicode characters. It wouldn't take much to collect the type tag, conditionally code to zero or one as appropriate and overwrite the fields in the games settings.xml. Sorry, this is more a hint than a solution. I've got about as much time as money right now. 

  • Like 1
Link to comment
Share on other sites


Made great headway.  I have time machine launching so I am close.   The part I was missing was passing all the extra keypresses once it started.     I will now start working on the PBX database part so that it can read the XML file and then grab the tablename and then the system type and update the Settings.XML file for Zacarria to load.   

I was a former software developer for over 20 years so I can get this knocked out fairly easy.     Lol, guess that CS degree is good for something still..    Going to be tied up for a few days on and off so probably will be the weekend when I get a chance to finish this up.   Think we got it guys!


  • Thanks 2
Link to comment
Share on other sites

9 minutes ago, GAH1068 said:


Made great headway.  I have time machine launching so I am close.   The part I was missing was passing all the extra keypresses once it started.     I will now start working on the PBX database part so that it can read the XML file and then grab the tablename and then the system type and update the Settings.XML file for Zacarria to load.   

I was a former software developer for over 20 years so I can get this knocked out fairly easy.     Lol, guess that CS degree is good for something still..    Going to be tied up for a few days on and off so probably will be the weekend when I get a chance to finish this up.   Think we got it guys!

 

Great, thanks a lot for all and good luck with it! :D

Link to comment
Share on other sites

@pindapoe -  More progress made,  I have it launching tables including the Remake and Retro ones now.    I want to clean up that part that writes the settings.xml and then I just need to parse out the PBX XML file to get the type of table to to write to the Settings.XML when it loads the table. 

This weekend turned out to be closing down my RV for the approaching winter and then raking and mowing my lawn so I didn't get much time to play with Zaccaria.    Now that I have a working launcher I don't see any issues getting this to work from PBX.  

 

Link to comment
Share on other sites

25 minutes ago, GAH1068 said:

@pindapoe -  More progress made,  I have it launching tables including the Remake and Retro ones now.    I want to clean up that part that writes the settings.xml and then I just need to parse out the PBX XML file to get the type of table to to write to the Settings.XML when it loads the table. 

This weekend turned out to be closing down my RV for the approaching winter and then raking and mowing my lawn so I didn't get much time to play with Zaccaria.    Now that I have a working launcher I don't see any issues getting this to work from PBX.  

 

Thanks a lot for the info, great news then, take your time, when its done it will be fantastic with your update :D

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...