GAH1068 Posted October 17, 2018 Posted October 17, 2018 Success! - I have Zaccaria tables launching from PinballX. I have tested about 20 different tables and things are working great for me. I will probably do some more cleanup and improvements down the road but for now I am content. My sample shows how to launch a table from each Zaccaria pinball table type. They have EM, SS, Retro, Remake and Award and Deluxe I still need to go through and confirm all the table names for each and every table but I wanted to get this script out there for others to test so please as you add to PBX lets keep a running list of all the table names with the "group" they are under. The key to using the script is in game manager make sure to put the correct table name in and most importantly the Type. My scripts looks for EM,SS,RT,RM and AW. The script will exit if you do not put the type in Game manager correctly. ( I am converting the case to upper so EM, em, Em, eM are all valid) EM=Electro Mag, SS=Solid State, RT=Retro, RM=Remake, AW=Award,DX=Deluxe Update: 11/21/19 - Modified script to handle new Deluxe table types. Ust DX as Type in game manager to use. Update: 12/20/18 - Added latest PinballX Zaccaria Database file Update: 12/1/18 - There is a optional change you can make to your script if you normally leave your playfield in landscape mode and then rotate to portrait when playing Zacarria. If your playfield is already in portrait then you will not need to modify this. There is a parameter to Zaccaria to automatically rotate the screen. (Stopping the need to rotate it via a launch before/after script) Original line: Run, "%SteamDirPath%\Steam.exe" -applaunch 444930 Change to: Run, "%SteamDirPath%\Steam.exe" -applaunch 444930 -rotate right (Or -rotate left depending on your configuration) Note: There will be one thing that needs to be changed in the LaunchZaccaria.ahk script. On Line 17 you will need to update the directory/filename of your Zaccaria PBX database file. Make sure to save your changes and compile again. Line to edit: FileRead, xmldata, C:\Pinball\PinballX\Databases\Zaccaria\Zaccaria.xml ;change to your zaccaria PBX database PBX config for Zaccaria: A single table from each "group" configured. LaunchZaccaria.ahk Zaccaria.xml 4 5 Quote
GAH1068 Posted October 17, 2018 Author Posted October 17, 2018 Here are all the Zaccaria table descriptions, names and types to add to Game list in PBX. There is one award table that is locked still on my Steam so I am not sure about the name. Zaccaria_Tables.csv Enjoy! 1 Quote
hawkeyez88 Posted October 18, 2018 Posted October 18, 2018 Thanks GAH1068 - I am trying this out now! Quote
GAH1068 Posted October 18, 2018 Author Posted October 18, 2018 Awesome, glad people are giving it a try. It's working great and I hacd a few others who said they are up and running. Quote
Jammit Posted October 18, 2018 Posted October 18, 2018 I'd love to get this to work as well, but I have some issues. The game does start, but it doesn't go to the table (I only have Time Machine right now, to test things). PBX says it can't find the game. Also, I have my 2nd screen set up to be on the right side of my 1st screen, so the backglass doesn't work either, since it needs to be on the left side for Zaccaria, but not for VP or FP. So I'd need a script to change that before launching, and changing it back afterwards. I figured I'm probably not the only one with this setup, so this might be helpful for a lot of people. Thank you. Quote
GAH1068 Posted October 18, 2018 Author Posted October 18, 2018 Upload your pinballx.ini and database file and zaccaria settings. Xml file. Sounds like you config is off somehow. If you mean Zacacaris in game backglass there isn't anything I can really do script wise. I have a three monitors plus a real dmd on my system. I only use 2 monitors for my cabinet but I have a 27" 4K monitor that I use on the PC for other stuff as a 3rd screen. The 4K monitor would always set itself as monitor 1 and my playfield and backglass were 2 and 3. With monitor 2 set as primary display. This made the zaccaria backglass always display on monitor 1 no matter where I set the monitor positions in windows. Unfortunately there is no options in zaccaria to define your second screen so your at windows mercy. It took me about 2 hours but after moving display cables around, deleting registry settings multiple times and countless reboots I finally got this problem fixed by getting the 4K playfield set to monitor 3. Now my backglass works in zaccaria and I just had to quickly go back and change display settings for all VPX, VP9, TPA, etc Quote
Jammit Posted October 18, 2018 Posted October 18, 2018 There you go. Nevermind the screen setup, I figured that out. So, if I press "Launch" on any of these tables in the Game Manager, first Game Manager says "Game not found", and than the pop-up LaunchZaccaria.exe says "Invalid Table type: Valid types are SS,EM,RT,RM,AW". If I try to launch the table from PinballX the game does start, but that's it. Yeah... i got no idea why it doesn't work. Thanks a lot for having a look. PinballX.ini Zaccaria.xml Quote
GAH1068 Posted October 18, 2018 Author Posted October 18, 2018 @JammitNothing is jumping out at me on your Settings.Ini file or your Databse.XML. I have a feeling it is probably because it can't find your PBX Zaccaria.XML file Did you edit your LaunchZaccaria.AHK and confirm you are pointing to where it is stored on your system? See underlined text below. Look at line 17 and confirm that the script is pointing to the right directory/filename for your system. That is the only line everyone will have to update for their system. If not, edit the file and update the directory, recompile the file and I bet you will be good to go. ; Updated launcher for Zaccarai by GAH1068 10/16/18. ; Modified from original Gigalula ; Tested with PBX V3.29 ; Update path to your Zaccaria XML file as needed. No other modification should be needed by default ;--------Run Before (Need to be compiled)----Start------ #SingleInstance force SetTitleMatchMode 2 DetectHiddenWindows On DetectHiddenText, On ; User inputs SetWorkingDir %A_ScriptDir% table = %1% xml_table = %1% FileRead, xmldata, C:\Pinball\PinballX\Databases\Zaccaria\Zaccaria.xml ;change to your zaccaria PBX database Quote
Jammit Posted October 18, 2018 Posted October 18, 2018 @GAH1068 Yeah, I did edit and double-check it, and it's definately right... besides, that would result in a different error-msg, right? Quote
GAH1068 Posted October 18, 2018 Author Posted October 18, 2018 Hmmmm, the error about the invalid type means that it isn't parsing out your zacarria PBX database to get the type. Two more things to try wouid be to make sure to run the launcher as Administrator. Another is to delete you database file and create it again in game list manager. You should be able to run the launcher right from a command prompt too just to make sure it isn't something in PBX. Example: LaunchZacaaria.Exe timemachine Quote
Jammit Posted October 18, 2018 Posted October 18, 2018 11 minutes ago, GAH1068 said: Hmmmm, the error about the invalid type means that it isn't parsing out your zacarria PBX database to get the type. Two more things to try wouid be to make sure to run the launcher as Administrator. Another is to delete you database file and create it again in game list manager. You should be able to run the launcher right from a command prompt too just to make sure it isn't something in PBX. Example: LaunchZacaaria.Exe timemachine Running the launcher from cmd works just fine, but also doesn't launch the table, just the game. I'm more concerned about Line 63, "Settings_File=%A_MyDocuments%\Zaccaria_Pinball\settings.xml", since I don't have that file anywhere on my system... ? Quote
GAH1068 Posted October 18, 2018 Author Posted October 18, 2018 That's the actual zaccaria game file that saves its Config and the file my script modifies to launch the table directly . By default it is created in the documents folder in a directory called zaccaria_pinball. Not sure why yours would not be there. You can see if you can locate it elsewhere on your system and update the path here to point to it instead of it using the variable name. Quote
Pablo Smiraglia Posted October 18, 2018 Posted October 18, 2018 could someone please share a working database xml? thanks in advance. Quote
hawkeyez88 Posted October 18, 2018 Posted October 18, 2018 This is the one I did last night based off of GAH's excel sheet in this post. You may want to tweak the game descriptions to your liking. Zaccaria Pinball.xml 1 Quote
hawkeyez88 Posted October 19, 2018 Posted October 19, 2018 I'm seeing some inconsistencies when starting games as you stated. Some start - some get to the screen, highlight the game selected from vp and then nothing else. I've been playing with the timing, i'll post if i find anything worth while Quote
GAH1068 Posted October 19, 2018 Author Posted October 19, 2018 @hawkeyez88 I was seeing the same thing. I have made a few changes to the script so give this version a try. One is to make sure the Zaccaria window is active and then set the mouse cursor on top of the Zaccaria logo. Instead of sending an enter button press I have it send a left mouse click instead. I also changed some of the delays in sending keys using the sleep command. Things working reliably for me. I haven't had a table fail to start again now. I kept having problems today where I could hear the beeps (rem'd out in the script by putting ; in front) sending the keys but it wouldn't leave the opening menu. I finally figured out if the mouse cursor wasn't on the logo things were working sporadically. I am calling SetCursorPos to move the mouse to my playfield and then sending a mouse click instead of an Pressing enter. For the SetCursor position on MY cabinet. This puts the mouse clear in the Zaccaria logo. I am running 1080X1920 on my playfield and it is monitor 1. You may have to change this value to suit your system. You can easily create a new script with just the DLL("SetCursorPos..." line and test values and see where it goes on your system. Once you get it dialed in you can update your Launcher . The input is the X and Y coordinate. Sleep, 15000 DllCall("SetCursorPos", int, 560, int, 920) ; The first number is the X-coordinate and the second is the Y (relative to the screen). WinActivate, ahk_class GLFW30 ;SoundBeep, 440, 200 MouseClick , left Sleep, 600 ;SoundBeep, 400, 200 Send {Enter down}{Enter up} Sleep, 600 ;SoundBeep, 400, 200 Send {Enter down}{Enter up} ;SoundBeep, 500, 200 Quote
GAH1068 Posted October 19, 2018 Author Posted October 19, 2018 Final version for tonight. I really believe it is a timing issue with the way keypresses are being sent to Zacarria. This version has launched 10 tables from PBX in a row without getting stuck after the opening menu where the table is highlighted. Based on your computer you may need to change these but hopefully this cleans things up a bit more and makes it more stable. I am going to keep on seeing what else can be done. 1 Quote
hawkeyez88 Posted October 19, 2018 Posted October 19, 2018 GAH - Bingo!! left click seems to be working way way better now. Quote
hawkeyez88 Posted October 19, 2018 Posted October 19, 2018 2 minutes ago, GAH1068 said: Final version for tonight. I really believe it is a timing issue with the way keypresses are being sent to Zacarria. This version has launched 10 tables from PBX in a row without getting stuck after the opening menu where the table is highlighted. Based on your computer you may need to change these but hopefully this cleans things up a bit more and makes it more stable. I am going to keep on seeing what else can be done. LaunchZaccaria.ahk I'll keep beating this version up too - thanks for all of your work on this - this is beyond cool. Quote
hawkeyez88 Posted October 19, 2018 Posted October 19, 2018 Does anyone know what the heck the text on the bottom left of their tables are? Is there a way to get rid of it? Quote
GAH1068 Posted October 19, 2018 Author Posted October 19, 2018 Yes, it is high scores. There is a menu screen to turn if off. I believe it was the same one screen where you could choose if you wanted commas or periods in the score seperatorm. There is also a good setting there to turn off a lot of the other onscreen menu items Quote
pindapoe Posted October 19, 2018 Posted October 19, 2018 42 minutes ago, GAH1068 said: Final version for tonight. I really believe it is a timing issue with the way keypresses are being sent to Zacarria. This version has launched 10 tables from PBX in a row without getting stuck after the opening menu where the table is highlighted. Based on your computer you may need to change these but hopefully this cleans things up a bit more and makes it more stable. I am going to keep on seeing what else can be done. LaunchZaccaria.ahk Thanks a lot for improve this!!! Quote
hawkeyez88 Posted October 19, 2018 Posted October 19, 2018 51 minutes ago, GAH1068 said: Yes, it is high scores. There is a menu screen to turn if off. I believe it was the same one screen where you could choose if you wanted commas or periods in the score seperatorm. There is also a good setting there to turn off a lot of the other onscreen menu items AHHH I see it now! Thanks! Quote
Jammit Posted October 19, 2018 Posted October 19, 2018 8 hours ago, GAH1068 said: That's the actual zaccaria game file that saves its Config and the file my script modifies to launch the table directly . By default it is created in the documents folder in a directory called zaccaria_pinball. Not sure why yours would not be there. You can see if you can locate it elsewhere on your system and update the path here to point to it instead of it using the variable name. Huh. I looked for it on a different pc where zaccaria is installed and it's right there. So the question is, why doesn't zaccaria create the file on my system, and if it's not able to, why doesn't it generate an error message. But I guess I'll just create the folder myself and take the files from the other pc, see if that works. Thanks again for the help. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.