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

Help setting up Pinball Arcade


Recommended Posts

Posted

check out my name on eummovie FTP in video snap submissions name is andyco there are about 50 videos there desktop version mate.

 

module and ini in zip mate

  • Replies 283
  • Created
  • Last Reply
Posted

check out my name on eummovie FTP in video snap submissions name is andyco there are about 50 videos there desktop version mate.

 

module and ini in zip mate

Are the vids of the new DX11 graphics or of the old version?

There's also a newer module for the DX11 version of TPA with the updated settings.

However the TPA changes 2 days ago might require the RLauncher guys to update the module again, so I'd just wait a bit.

Posted

I just figured it out and got it working! I just posted this on the RLauncher forum also.

I changed line 133 of the newest djvj DX11 module to:

 

Steam(238260,,"skipwhatsnew")
With that fix the module now launches TPA with the "New Table" nag screen permanently disabled. Now that screen should no longer randomly pop up and break the module/script.

Here's my fixed module if you want to see mine. If you copy/paste this one you will need to make 2 changes.

1. Line 68: "My Tables" has all of the tables listed and named to match my database. You'll have to make this line match your own database.

2. Lines 148 & 149: The key inputs to navigate the TPA main menu are different depending on if you own all the tables or not. Line 149 is the one to use if you own them all, line 148 if you don't. You will need to comment out ( ;) the line you don't need and use the one you do. Hopefully that makes sense to you...

I made these changes to the DX11 module DJVJ made in this topic, post #8: http://www.rlauncher.com/forum/showthread.php?1144-Pinball-Arcade-module-with-the-new-DX11-version

 

MEmu = Pinball Arcade
MEmuV = v1.37.8
MURL = http://www.pinballarcade.com/
MAuthor = djvj
MVersion = 2.0.3
MCRC = 6DAE500F
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()

fullscreen := IniReadCheck(settingsFile, "settings", "Fullscreen", "true",,1) ; 0, Shortcut, Display, iRotate 
pinballVersion := IniReadCheck(settingsFile, "settings", "Pinball_Version", "DX11",,1)
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 Stokers 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(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)|Roadshow (Williams)|Ripleys 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)|Teed Off (Gottlieb)|Terminator 2 - Judgement Day (Williams)|Theatre of Magic (Bally)|Twilight Zone (Bally)|Victory (Gottlieb)|Whirlwind (Williams)|White Water (Williams)|WHO Dunnit (Bally)|Xenon (Bally)",,1)	; | v1.37.8 separated list of the tables user owns

pinballTitleClass := "Pinball Arcade ahk_class " . (If pinballVersion = "DX11" ? "GameWindowClass" : "Pinball Arcade")

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,,"skipwhatsnew")
}

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}300{Down Down}{Down Up}100{Enter Down}{Enter Up}        ; use this line to navigate the Main menu if you don't own all tables/all seasons. comment this line out if you don't
Send, {Enter Down}{Enter Up}300{Enter Down}{Enter Up}        ; use this line instead to navigate the Main menu if you do own all tables/all seasons. comment this line out if you don't

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
Hopefully this helps some of you out. I'm just excited to finally have the DX11 version launching, and navigating to the tables properly!

Thanks.

Posted

lol sorry mate I stoped the upload yesterday cus it were slow will reup it plus got another 5 videos for it aswell mate.

 

 

@metal  the videos are flyover videos mate.

Posted

how meny tables are there cus I mite have the full set.i think im missing two starship troopers and jack bot I will do them today and uploaded them mate.

Posted

looks like there are 59 in total and I think I got 57 videos at the moment mate there uploading now but it slow lol.

Posted

in my default game theme I us flyers for the tables bit like a box image mate.

 

flyers go in artwork 4 folder.

 

 

 

 

Posted

yep got flyers and I use bandicam. the version im on at mo is 1.38.9

 

you want the flyers the only no I cant find is goin nuts.

Posted

1.38.10 is just a hot fix for xeon

My point was that database is not up to date as it's missing a table.

Why are you on version 1.38.8? How are you, doesn't it auto update?

The current version is 1.39.9 with many more fixes, art fixes, the newest table and especially the no-nag fix which I finally got working in the updated module I posted a few posts back.

Posted

not using steam version using standalone version mate. but just updateing now to 1.39.7 in my arcade cab then I have to update my pinball cab aswell so better get sum beer lol.

Archived

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

×
×
  • Create New...