Jump to content
(Open Beta) HyperSpin 2 is now available for everyone ×

Help setting up Pinball Arcade


Recommended Posts

Posted

I'm using the Steam version of TPA and could use some guidance here to give this its own wheel.

 

 

Like the notes say under Global Emulators Pinball Arcade is set as Virtual. Module is Pinball Arcade.ahk. No exe. No rom path. Skip Checks set to Rom and Emu under settings.

 

Then I made a Pinball Arcade System and set the default emulator to be "Pinball Arcade". No rom path.

 

The module settings say to add the list of tables you own from the "My Tables" folder, but I've run a search of my system and I have no folder with that name (on PC I only have the included TOTAN table so far, not buying any till I know that it all works etc...)

 

Found a database on the RLauncher forums and it will launch TPA, but not to the actual matching table, just to the main menu.

 

Sooo now what?

I can't test it from HLHQ because it's a virtual emulator. 

 

Anyone already have this set up with it's own wheel that can walk me through getting it to launch to the individual tables?

  • Replies 283
  • Created
  • Last Reply
Posted

It finds the XML fine and populates the wheel. The problem is that when I try to launch a game it says something like "table doesn't match the MyTables folder"

 

But I can't find any "My Tables" folder anywhere. It isn't in Steam. A system search doesn't find this mystery folder. I went and bought the season 1 pack thinking maybe that would make the game create this folder, but no luck.

Posted

According to the module notes you should have a physical folder called MyTables which contains the tables you have bought. You should open either HLHQ or RLHQ and click on modules tab when you have Pinball Arcade highlighted. There will be a setting for MyTables. You edit this so that it matches the tables you have in the physical folder.

That's how I interpret the module notes.

Posted

; Notes:

; Initial setup:

; Manually run Pinball Arcade. If you own all the games and they can all be found in the My Tables folder, Simply Enter the My Tables folder and browse to the first table (alphabetically) and exit Pinball Arcade.

; The module comes default with all the available tables (as of 1/14/2014) alphabetically sorted in the module setting My_Tables.

; It will parse this setting and assume you own all the games. If you do not own all the games, recreate this setting in RocketLauncherUI with all the games you own, and separate each one with a |

; The My_Tables names match the names from your FE's database.

;

; If launching as a Steam game:

; When setting this up in RocketLauncherUI under the global emulators tab, make sure to select it as a Virtual Emulator. Also no rom extensions, executable, or rom paths need to be defined.

; Set Skip Checks to "Rom and Emu" when using this module as roms do not exist.

;

; If not launching through Steam:

; Add this as any other standard emulator and define the PinballArcade.exe as your executable, but still select Virtual Emulator as you do not need rom extensions or rom paths

; Set Skip Checks to "Rom and Emu" when using this module as roms do not exist.

;

; This module requires BlockInput.exe to exist in your Module Extensions folder. It is used to prevent users from messing up the table selection routine.

; If BlockInput is not actually blocking input, it's due to not having admin credentials, which you will need to set this exe to run as admin.

; However, this also means RocketLauncher needs to be set to run as admin as well, keep this in mind.

;

; If you want bezel support set to the game be played in windowed mode

;

; How to run vertical games on a standard monitor:

; There are 3 methods supported by this module to rotate your desktop. Windows shortcuts, display.exe and irotate.exe. If one method does not work on your computer, try another.

;

; If the key sends are not working, make sure your RocketLauncher is set to run as administrator.

;

; Pinball Arcade stores some settings in your registry @ HKEY_CURRENT_USER\Software\PinballArcade\PinballArcade

;----------------------------------------------------------------------------

Posted

According to the module notes you should have a physical folder called MyTables which contains the tables you have bought. You should open either HLHQ or RLHQ and click on modules tab when you have Pinball Arcade highlighted. There will be a setting for MyTables. You edit this so that it matches the tables you have in the physical folder.

That's how I interpret the module notes.

 

That's how I interpreted it too. That there was an actual folder I had to find in explorer somewhere that stored the names of my tables. Turns out the directions are just poorly written and it's talking about the folder within the main menu of the game.

Posted

Have you now got it working? If so can you provide an idiots guide so that any tips you have get passed out to the masses?

Posted

After spending hours I'm at least closer. Ha!

 

The other problem turned out to be that the new DX11 version of Pinball Arcade  has a different Window AHL Class so the module wasn't working right.

I've got that fixed, most of the database/tables named correctly etc...

 

Now the problem is the module isn't working its way through the Pinball Arcade menus correctly.

They must have altered the Pinball Arcade main menu, because instead of going into the "My Tables" menu and selecting the proper table, it's missing and going into other menus (the module tried to purchased the season 2 pro pack just now).

This problem may be beyond me being able to fix. I'll probably have to ask for help on the RLauncher forums for a fix.

Posted
OK. Solved. Here's what you need to do to get the durrent DX11 build of TPA working.

 

 

1. First update Pinball Arcade to the newest 1.38.10 version. To do this you have to opt out of the beta from Steam (right click the game from your library, properties, beta, opt-out), download the update, re-opt back into the beta.
 
2. Then to get the DX11 version to work with this module you need to rename the .exe. Go to Programs (x86)/Steam/Steamapps/Common/PinballArcade and rename PinballArcade.exe to Pinball ArcadeDX9.exe (or whatever you want). Then rename PinballArcade11.exe to just PinballArcade.exe (you'll probably have to do this every time they update the game).
 
3. Here's the module. You'll need to follow the other module instructions and have your tables listed in the module settings, in alphabetical order exactly as they are named in your database file. You also need your starting table listed and named correctly in the module (mine is set as : Addams Family, The (Williams). This module has the changed keys that I posted above and the changed window class for the DX11 version, so this module won't work right with the older/normal DX9 version of TPA.
The only changes from original are the TPA Windows class for the DX11 version and the key changes I posted previously.
 
MEmu = Pinball Arcade
MEmuV = v1.37.8
MURL = http://www.pinballarcade.com/
MAuthor = djvj
MVersion = 2.0.2
MCRC = 7744C758
iCRC = 7893F2F8
mId = 635589857631115764
MSystem = "Pinball Arcade","Pinball"
;----------------------------------------------------------------------------
; Notes:
; Initial setup:
; Manually run Pinball Arcade. If you own all the games and they can all be found in the My Tables folder, Simply Enter the My Tables folder and browse to the first table (alphabetically) and exit Pinball Arcade.
; The module comes default with all the available tables (as of 1/14/2014) alphabetically sorted in the module setting My_Tables.
; It will parse this setting and assume you own all the games. If you do not own all the games, recreate this setting in RocketLauncherUI with all the games you own, and separate each one with a |
; The My_Tables names match the names from your FE's database.
;
; If launching as a Steam game:
; When setting this up in RocketLauncherUI under the global emulators tab, make sure to select it as a Virtual Emulator. Also no rom extensions, executable, or rom paths need to be defined.
; Set Skip Checks to "Rom and Emu" when using this module as roms do not exist.
;
; If not launching through Steam:
; Add this as any other standard emulator and define the PinballArcade.exe as your executable, but still select Virtual Emulator as you do not need rom extensions or rom paths
; Set Skip Checks to "Rom and Emu" when using this module as roms do not exist.
;
; This module requires BlockInput.exe to exist in your Module Extensions folder. It is used to prevent users from messing up the table selection routine.
; If BlockInput is not actually blocking input, it's due to not having admin credentials, which you will need to set this exe to run as admin.
; However, this also means RocketLauncher needs to be set to run as admin as well, keep this in mind.
;
; If you want bezel support set to the game be played in windowed mode
;
; How to run vertical games on a standard monitor:
; There are 3 methods supported by this module to rotate your desktop. Windows shortcuts, display.exe and irotate.exe. If one method does not work on your computer, try another.
;
; If the key sends are not working, make sure your RocketLauncher is set to run as administrator.
;
; Pinball Arcade stores some settings in your registry @ HKEY_CURRENT_USER\Software\PinballArcade\PinballArcade
;----------------------------------------------------------------------------
StartModule()
 
settingsFile := modulePath . "\" . moduleName . ".ini"
rotateMethod := IniReadCheck(settingsFile, "settings", "Rotate_Method",,,1) ; Shortcut, Display, iRotate 
rotateDisplay := IniReadCheck(settingsFile, "settings", "Rotate_Display", 0,,1) ; 0, 90, 180, 270
moduleDebugging := IniReadCheck(settingsFile, "settings", "Module_Debugging", "false",,1)
 
If windowsRotate {
Res := (A_ScreenWidth>A_ScreenWidth) ? A_ScreenWidth : A_ScreenWidth
Gui 1: Color, 000000
Gui 1: -Caption +ToolWindow
Gui 1: Show, x0 y0 W%Res% H%Res%, BlackScreen ; experimental to hide entire desktop and windows
If rotateMethod
Rotate(rotateMethod, rotateDisplay)
}
 
BezelGUI()
FadeInStart()
 
pinballTitleClass := "Pinball Arcade DX11 ahk_class GameWindowClass"
fullscreen := IniReadCheck(settingsFile, "settings", "Fullscreen", "true",,1) ; 0, Shortcut, Display, iRotate 
sleepLogo := IniReadCheck(settingsFile, "Settings", "Sleep_Until_Logo",7000,,1)
sleepBaseTime := IniReadCheck(settingsFile, "Settings", "Sleep_Base_Time",1,,1)
lastMyTable := "Addams Family, The (Bally)" ; Mytables always starts on Addams Family
; myTables := IniReadCheck(settingsFile, "Settings", "My_Tables","Attack From Mars|Big Shot|Black Hole|Black  Knight|Bride of Pin-Bot|Cactus Canyon|Centaur|Central Park|Champion Pub|Cirqus Voltaire|Class of 1812|Creature from the Black Lagoon|Cue Ball Wizard|Dr. Dude|El Dorado - City of Gold|Elvira|Firepower|Fish Tales|Flight 2000|Funhouse|Genie|Goin' Nuts|Gorgar|Harley-Davidson|Haunted House|Medieval Madness|Monster Bash|No Good Gofers|Pin-Bot|Ripley's Believe It or Not|Scared Stiff|Space Shuttle|Star Trek|Tales of the Arabian Nights|Taxi|Tee'd Off|Terminator 2|Theatre of Magic|Twilight Zone|Victory|Whirlwind|White Water",,1) ; | separated list of the tables I own
; myTables := IniReadCheck(settingsFile, "Settings", "My_Tables","Attack from Mars (Bally)|Big Shot (Gottlieb)|Black Hole (Gottlieb)|Black Knight 2000 (Williams)|Black Knight (Williams)|Black Rose (Bally)|Bram Stoker's Dracula (Williams)|Machine - Bride of Pin Bot, The (Williams)|Cactus Canyon (Bally)|Centaur (Bally)|Central Park (Gottlieb)|Champion Pub, The (Bally)|Cirqus Voltaire (Bally)|Class of 1812 (Gottlieb)|Creature from the Black Lagoon (Bally)|Cue Ball Wizard (Gottlieb)|Diner (Williams)|Dr. Dude & His Excellent Ray (Bally)|El Dorado - City Of Gold (Gottlieb)|Elvira and the Party Monsters (Bally)|Firepower (Williams)|Fish Tales (Williams)|Flight 2000 (Stern)|FunHouse (Williams)|Genie (Gottlieb)|Goin' Nuts (Gottlieb)|Gorgar (Williams)|Harley-Davidson, 3rd Edition (Stern)|Haunted House (Gottlieb)|High Roller Casino (Stern)|High Speed (Williams)|Junk Yard (Williams)|Lights... Camera... Action! (Gottlieb)|Medieval Madness (Williams)|Monster Bash (Williams)|No Good Gofers (Williams)|Phantom of the Opera, The (Stern)|Pin Bot (Williams)|Ripley's Believe It or Not! (Stern)|Scared Stiff (Bally)|Space Shuttle (Williams)|Star Trek - The Next Generation (Williams)|Tales of the Arabian Nights (Williams)|Taxi (Williams)|Tee'd Off (Gottlieb)|Terminator 2 - Judgment Day (Williams)|Theatre of Magic (Bally)|Twilight Zone (Bally)|Victory (Gottlieb)|Whirlwind (Williams)|White Water (Williams)|WHO Dunnit (Bally)",,1) ; | v1.31.8 separated list of the tables user owns
myTables := IniReadCheck(settingsFile, "Settings", "My_Tables","Addams Family, The (Bally)|Attack from Mars (Bally)|Big Shot (Gottlieb)|Black Hole (Gottlieb)|Black Knight (Williams)|Black Knight 2000 (Williams)|Black Rose (Bally)|Bram Stoker's Dracula (Williams)|Bride of Pin-Bot (Williams)|Cactus Canyon (Bally)|Centaur (Bally)|Central Park (Gottlieb)|Champion Pub, The (Bally)|Cirqus Voltaire (Bally)|Class of 1812 (Gottlieb)|Creature from the Black Lagoon (Bally)|Cue Ball Wizard (Gottlieb)|Cyclone (Williams)|Diner (Williams)|Dr. Dude & His Excellent Ray (Bally)|Earthshaker (Williams)|El Dorado - City Of Gold (Gottlieb)|Elvira and the Party Monsters (Bally)|Firepower (Williams)|Fish Tales (Williams)|Flight 2000 (Stern)|FunHouse (Williams)|Genie (Gottlieb)|Goin' Nuts (Gottlieb)|Gorgar (Williams)|Harley-Davidson, 3rd Edition (Stern)|Haunted House (Gottlieb)|High Roller Casino (Stern)|High Speed (Williams)|Jack-Bot (Williams)|Junk Yard (Williams)|Lights... Camera... Action! (Gottlieb)|Medieval Madness (Williams)|Monster Bash (Williams)|No Good Gofers (Williams)|Party Zone (Bally)|Phantom of the Opera, The (Data East)|Pin-Bot (Williams)|Ripley's Believe It or Not! (Stern)|Scared Stiff (Bally)|Space Shuttle (Williams)|Star Trek - The Next Generation (Williams)|Starship Troopers (Stern)|Tales of the Arabian Nights (Williams)|Taxi (Williams)|Tee'd Off (Gottlieb)|Terminator 2 - Judgment Day (Williams)|Theatre of Magic (Bally)|Twilight Zone (Bally)|Victory (Gottlieb)|Whirlwind (Williams)|White Water (Williams)|WHO Dunnit (Bally)",,1) ; | v1.37.8 separated list of the tables user owns
 
BezelStart()
 
; get user's save path
paUserPath := RegRead("HKCU", "Software\PinballArcade\PinballArcade", "SavePath", "Auto")
pinballArcadeDat := CheckFile(paUserPath . "settings.dat")
 
; Update fullscreen setting
res := BinRead(pinballArcadeDat,pinballArcadeDatData,1,8) ; read current fullscreen setting
Bin2Hex(hexData,pinballArcadeDatData,res)
If (fullscreen = "true" && hexData != "02") {
Hex2Bin(binData,"02")
res := BinWrite(pinballArcadeDat,binData,1,8)
} Else If (fullscreen != "true" && hexData != "00") {
Hex2Bin(binData,"00")
res := BinWrite(pinballArcadeDat,binData,1,8)
}
 
; Convert myTables into a real array
myTablesArray := []
Loop, Parse, myTables, |
{
myTablesArray[A_Index] := A_Loopfield
If (romName = A_Loopfield) {
thisTablePos := A_Index ; store the position (in the array) this table was found
thisTableArray := "myTablesArray"       ; save the array this table was found in
lastTable := lastMyTable        ; store the last table loaded for the same array as this table
Log("Module -  Found """ . romName . """ at position " . thisTablePos . " in MyTables")
}
}
 
CheckFile(moduleExtensionsPath . "\BlockInput.exe")
 
If !thisTableArray
ScriptError("This table """ . romName . """ was not found in My Tables folder. Please check its name that it matches what the module recognizes.")
Log("Module - Table """ . romName . """ was found in array """ . thisTableArray . """ at position " . thisTablePos)
Log("Module - Last Table of array """ . thisTableArray . """ left off at """ . lastTable . """ which was found at position " . lastTablePos)
 
; Calculate the shortest distance to this table from the lastTable
max := %thisTableArray%.MaxIndex()
a := 1
b := thisTablePos
If (a >  {
moveDown := a - b
moveUp := (max - a) + b
} Else If (b > a) {
moveDown := b - a
moveUp := (max -  + a
} Else { ; a=b
moveDown := 0
moveUp := 0
}
moveDirection := If moveUp < moveDown ? "moveUp" : "moveDown"
Log("Module - The array """ . thisTableArray . """ has " . max . " tables in it and shortest distance to this table is " . %moveDirection% . " in direction " . moveDirection)
 
hideEmuObj := Object(pinballTitleClass,1) ; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
HideEmuStart()
 
If executable {
Log("Module - Running Pinball Arcade as a stand alone game and not through Steam as an executable was defined.")
Run(executable, emuPath)
} Else {
If !steamPath
GetSteamPath()
Log("Module - Running Pinball Arcade through Steam.")
Steam(238260)
}
 
WinWait(pinballTitleClass)
WinWaitActive(pinballTitleClass)
 
BezelDraw()
Run("BlockInput.exe 30", moduleExtensionsPath)        ; start the tool that blocks all input so user cannot interrupt the launch process for 30 seconds
If moduleDebugging = true
Tooltip, waiting %sleepLogo% seconds for logo
SetKeyDelay(80*sleepBaseTime)
Sleep % sleepLogo      ; sleep till Pinball FX2 logo appears
 
If moduleDebugging = true
Tooltip, sending enter to get to the main menu
Send, {Enter Down}{Enter Up}100{Down Down}{Down Up}100{Enter Down}{Enter Up}        ; get to the Main menu
 
If moduleDebugging = true
Tooltip, entering MyTable folder
Sleep % 2000*sleepBaseTime     ; wait for folder to load
 
If moduleDebugging = true
Tooltip, navigating to %romName%
SetKeyDelay(80*sleepBaseTime)
If (moveDirection = "moveUp") {
Loop % %moveDirection%
{ If moduleDebugging = true
Tooltip % "Index: " . A_Index . " | Game: " . %thisTableArray%[A_Index]
Send, {Up Down}{Up Up}
Sleep % 100*sleepBaseTime
}
} Else {        ; moveDown
Loop % %moveDirection%
{ If moduleDebugging = true
Tooltip % "Index: " . A_Index . " | Game: " . %thisTableArray%[A_Index]
Send, {Down Down}{Down Up}
Sleep % 100*sleepBaseTime
}
}
Send, {Enter Down}{Enter Up}    ; select game
Sleep % 500*sleepBaseTime
 
If moduleDebugging = true
Tooltip, waiting for game to load
Send, {Enter Down}{Enter Up}80{Enter Down}{Enter Up}      ; select game
Sleep % 4800*sleepBaseTime     ; waiting for table to load
Send, {Enter Down}{Enter Up}80{Enter Down}{Enter Up}      ; start game
If moduleDebugging = true
Tooltip, Finished
 
Process("Close", "BlockInput.exe")    ; end script that blocks all input
 
HideEmuEnd()
FadeInExit()
Process("WaitClose", "PinballArcade.exe")
BezelExit()
FadeOutExit()
 
If windowsRotate {
Gui 1: Show
If rotateMethod
Rotate(rotateMethod, 0)
Sleep % 200*sleepBaseTime
Gui 1: Destroy
}
 
ExitModule()
 
 
HaltEmu:
disableSuspendEmu := true
Send, {ESC down}{ESC up}
Return
RestoreEmu:
Send, {ESC down}{ESC up}
Return
 
CloseProcess:
FadeOutStart()
WinClose(pinballTitleClass)
Return

 

Posted

Massive. Massive improvement.

It is like night and day. The DX11 version has real lighting implemented so the tables all light up and shadow like the real thing. There are two sliders: One for room lights and another for table bulb brightness and it can be adjusted per table. It's ridiculous how much better it looks.

  • 2 weeks later...
Posted

has any official theme been created for this?  I created one simple main menu one that simply launches the pinball arcade.  If there are themes / wheels already created for each table I would be interested in going through the trouble of setting this up.

Posted

has any official theme been created for this?  I created one simple main menu one that simply launches the pinball arcade.  If there are themes / wheels already created for each table I would be interested in going through the trouble of setting this up.

I haven't seen anything at all for it other than the Pinball Arcade pointer in the downloads sections.

I had to make my own theme for it as well. I'll also make a default theme for all tables. No way in hell am I making themes for all 50+ tables.

Posted

I found the wheel art in a thread you also commented on.  I am going to make a default theme for the tables as well and I have started making the fly over videos.  There are some on emumovies, but they are made for hyperpin so its the wrong orientation.  

Posted

I found the wheel art in a thread you also commented on.  I am going to make a default theme for the tables as well and I have started making the fly over videos.  There are some on emumovies, but they are made for hyperpin so its the wrong orientation.

Wheel art? I don't remember seeing any. I made my own using the official TPA pinball icons.

  • 3 weeks later...
Posted

Do you have video snaps too? I checked emumovies and all the videos are for pinball machines wher the video is side ways. I started converting them and flipping them for pc use but didn't want to do the work of flipping the video if u already have.

Can you post the ahk and other files that make this like the fx2 wheel?

Is there an intro video?

Sent from my iPad using Tapatalk

Posted

No need to use emumovies or flip their videos. I just grabbed a Pinball Arcade video off of Youtube for the main video.

I just use the default theme for the individual tables and no video for individual tables. I didn't even build a video frame into the default theme.

Posted

AHK? Do you mean my module? And I'm not sure what a VSD file is.

If you haven't set it up yet you should wait a couple days. They just updated Pinball Arcade to version 1.39.9 yesterday afternoon and added a fix that was needed. To get this fix to work the module might need to change a bit. I've already made a topic on the RLauncher forum about it. Once that is done then I'll post that stuff. My table listing and Database too if you want.

The video I used was this promo vid for PS4, it seems to fit well.

Posted

Amazing, thanks. Yes please post module, database too please. Not a lot of documentation on this one. Figures since its the last wheel I'm adding to my system. Just gotta polish a few other wheels and dare I say I'm done adding systems :-)

Thanks

(Tapatalk)

Posted

In post #9 of this topic I laid out how to get it working. I agree with you that the instructions were very lacking for this one. It took a lot of guesswork and the module needed to be altered for it to work as well.

Posted

I created a framed wheel, main menu theme, and just about done with the default game theme. The wheel is good, the themes are decent. Anyone have upright videos per table? I think the arcade pinball site has some upright promo videos but not for each table. If someone could share the module, videos and set up per table, I'll also post what I made

(Tapatalk)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...