About This File
Quick Installation Guide
Installation of latest FPLaunch is really easy - just unzip all files to your Hyperpin folder and move all png images to Media\Hyperpin\Images.
You can customize your keys and other options in Settings.ini file in Settings folder in [FPLaunch] section.
There is no need to recompile fplaunch when you change options in ini file, but if you change ahk script you have to recompile it with basic ahk (1.0.48.05)!
You can find more about each option in Long Installation Guide later in this manual or in fplaunch.ahk script.
Let's introduce FPLaunch with few hypothetical questions:
Q: OK, can you tell me what is this FPLaunch, I use HyperPin in my cab, I use VP only, I never installed FP, do i really need this?
A: FPLaunch is table launcher for HyperPin, the same as HyperLaunch is for HyperSpin. It is compiled autohotkey script (FPLaunch.ahk -> FPLaunch.exe) sitting in your HyperPin directory that is used for launching BOTH - VP AND FP tables.
Q: OK, OK. Got it. So it's crucial part of HyperPin installation. But then I already have it, right? Why would I download this one?
A: Main reason would be to get new bugs, and get rid of some old features (or is it the other way around ). Any way, check new features and you'll see why would you wanna download this.
Q: Gee, you are funny guy , aren't you? I'm busy man. I don't have time to play games with you. (I have to play games on my cab) I don't have time to read all this. What are the features of this script, but short, I don't have all day?
A: Well, some of most obvious features are menus, flyers and instructions accessible from the game while you play, loading image, exit coundown, pause, ... Then there is support for rosve's B2S backglasses, for slamit bigscore pinball, for bigboss's different vp exe versions, different sound levels and for turning off hdrendering on table basis, support for editing tables inside hyperpin, support for auto answering on nag questions, even if you run table for the first time, print screen (playfield image saved HP playfield folder) ... and many, many more.
The story about how I begun to tweak fplaunch begins long time ago in a land far, far away... You remember the movie Chicken Run, and this old men, owner of the farm. He had this crazy idea that chickens are organized and they plan escape. And there was his wife who kept telling him "It's all in your head, it's all in your head.". So next time he saw chickens doing something suspicious he also thought "It's all in me head, it's all in me head.".
You must be thinking now: "OMG, what this has to do with fplaunch manual???" It has. First time I installed hyperpin I used FP. I used arcade render mode, and every table had to be translated outside of hyperpin first. I wanted to do it directly from hyperpin. Every body said nooo, it's not possible. You must do it outside of HP. I took the fplaunch script, changed only few lines and it was possible. Now not only that you can change position, but script will automatically save that position for you when you exit table.
Another example, now for VP. Story was - you have to run every table out of HP first and you have to click I agree. It's not possible to use VP tables for the first time in HP cause HP will freeze, you'll get black screen and you'll have to reboot. Again, I made it possible with few lines. Not only that you can run vp tables for the first time - you can even run vp tables with errors and HP will not freeze. With every new version efforts are made so that HP doesn't freeze and give you black screen even if table has an error.
Pause in VP and FP was total El Dorado - same key - Esc - was used for pause in VP and for exit in FP. So even if you had those keys on a cab you would probably press the wrong one each time. It was also impossible to use any other key except Pause/Break for pause in FP. Again I made it possible.
So what is the idea of all of this? Idea is - there is no limits - you can do what ever you want. If you think something can't be done, keep repeating to your self
"It's all in me head, it's all in me head!"
and you will find a way to do it Or in other words:
"If there's a will, there's a way!"
FPLaunch version history
- First version of FPLaunch script from BBB.
- It is included in first HyperPin installation.
- You get it from that big HyperPin distribution file.
- It works quite ok. Only problem is - it has few known bugs which are corrected in later versions. Like black screen bug - sometimes VP and FP tables stay behind black screen which is used to hide desktop while they are loading table. You can still alt-tab to table. Another bug is taskbar bug - sometimes taskbar shows up and stays after you exit from a table and go to another file.
1.1 or 1.10
- Second version of FPLaunch from BBB.
- It fixes black screen bug and taskbar bug.
- It is distributed in sticky "FPLaunch" thread in HyperPin main forum: http://www.hyperspin-fe.com/forum/showthread.php?t=2855
1.2 or 1.20
- Third version of FPLaunch script from BBB
- This version is distributed in sticky thread "Exit feature" in HyperPin main forum: http://www.hyperspin-fe.com/forum/showthread.php?t=3062
- Adds Exiting in 321 functionality to VP. When you press Esc accidentally, VP game will not exit, you have to hold Esc for few seconds to really exit and while you hold Esc you will see Exiting in 3, 2, 1 messages on screen. This is a security measure so that you don't exit accidentally (with your knee for example). Obviously it won't help you if you accidentally press power switch .
- Last version from samwyze.
- It is based on samwyze previous 1.25 version and BBB 1.20 version.
- It adds loading and pause screen functionality to VP - when you open any VP table while it is loading you see loading window with slider that is moving until game is loaded. Also when you press Pause - Pause window would appear and game would stop.
Adds exit321, loading and pause screens to FP also. So now in FP you can exit and pause just the same as in VP, and you will see same loading screen with slider while FP table is loading.
Some other new features are:
Short press on exit is pause, long press is exit321 screen. So actually you don't need pause key on your cab. If you want to pause the game just press Esc shortly. Most people don't have pause key since there was no consistent pause in FP and VP until now (Esc would pause VP but exit from FP, and Pause key from keyboard would pause FP but do nothing in VP). So no one put Pause button on a cab. If you do have Pause key on a cab you can configure it to act as pause only (long press on pause will not get exit321 screen). HyperPin's genre key "g" can also be used as pause.
- Exit key and Pause key will work just the same in VP and in FP! Short press, long press, exit321, pause, everything is the same.
- When you are in Pause, you can press Start key (1) or Launch (Enter or whatever keys you set in settings file) to exit from the game. This is quick exit without exit321 screen and without long key press.
- Pause screen in FP shows hi scores also, since pause screen is the only way to see hi scores in FP.
- Long key press on exit will bring Exit screen just as before in VP and FP.
Nag screens and some other messages in VP are visible since VP window is not hidden but minimized during launch, so you can see the message and respond to it. So HP will not freeze and you will not get just black screen if you run some table for the first time from Hyperpin and you get pinmame warning. Some error messages however are still invisible and minimized but you can alt-tab to them and they will be visible.
"t" key for hiding and unhiding cursor on the screen will show taskbar also which could be useful for various purposes.
Alt-F4 key will close FP or VP player and show and activate FP/VP editor and unhide cursor and taskbar and suspend all hot keys until you continue to play table. Then cursor and taskbar are hidden again and hot keys are activated. This could be useful for editing tables (and removing scores from backglass) or fixing VP/FP settings from FP/VP.
- While in FP you can use Scroll Lock key to position and stretch the table directly from HyperPin - no need to open every table outside of HP.
- When you exit from FP table will be automatically saved if you used Scroll Lock during the game. If you did not use Scroll Lock table will not be saved to speed up exiting process.
- If you used Alt-F4 to close VP/FP player and open editor to change the table you have to save it manually if you want to keep changes. If you forget to save dialog box will show up on exit asking you to save table.
1.295 wip 2
+ enabled other exe names - so you exe can be something other other then vpinball.exe
+ reads logical and phyisical key state
+ win activate of secondary fp window (backglass) - doesn't help with fp bg problem on some new cards
+ put version in usage - double click on fplaunch.exe to get version
+ bigboss additions (more exe files, sound mods ...)
+ support for slamit pinball
1.295 wip 3
+ winactivates removed (you have to set exe to nt4sp5 comp mode)
+ fix runtime error on close (you have to set exe to comp mode)
+ fix dmd not visible behind playfield (set exe to comp mode)
+ fps drop - same drop comes from lose of focus so it's not script related
+ shorter times for esc screens
+ win activate on nag screens brings them to focus and closes them
1.295 wip 4
+ fix dmd not visible behind playfield
+ put all rosve and bigboss code to functions
+ write a code map
+ winactivate of fp after pause and printscreen
+ fix winactivate on z screen buffer message (msg stays in back)
+ fgi keys mapped to enter for slamit bigscore pinball
if you don't use slamit you can remove them
1.295 wip 5
+ menus from samwyze!!!
+ quick launch gui from HL 2.0 - just double click on fplaunch.ahk or exe and you will get it
+ save printscreen-a in HP playfield folder under name taken from description
+ options do not get overwritten, only new options are added
+ show instructions and flyer during the game
+ fix slow down after close (when vp is still closing) - fixed -
you have to wait a little till windows frees memory and kills vp
1.295 wip 6
+ pauseVPinball key changed to pauseKey since it is not just for VP
+ pauseKey acts exactly the same as exitEmulatorKey (long press also) so now you can have two keys for opening and exiting menus (Esc and p) and two keys for menu items activation (1 and enter) or you can use some gamepad keys Joy1, 2Joy3, ...
+ instructions are much, much bigger
+ flyer is bigger, and if works with different dimensions images for same table
+ loading menu is merged from sam's version
+ some parts of the code are optimized (draw image by the book), some are not
+ lots of work and testing so that you can always use exit, enter, flyer and instr keys for example you can press flyer to open flyer directly or go through menus with enter, same with instructions, you can also switch from flyer to instructions, you can close flyer with exit, enter or flyer key, same for instructions, all of this will work in vp and fp
+ ... what else, uhmmmmm let me think - yes loading menu - something was hiding, loading slider (probably vp) and unhiding taskbar - this is both fixed so taskbar is hidden every few secs and slider is unhiden
+ focus problem with loading screen - while slider is on the screen
every few seconds we try to activate vp (avoiding dmd hack)
also after aprox. 25 secs. we just close loading screen unconditionally
also on exit key (or pause key) we close loading screen unconditionally
and after close of loading screen there is a one sec sleep and
winactivate in a loop so now you should get perfect focus on every vp game and no need for nt4 comp mode
+ debug mode - lot's of things was written to log file, I also added tool tip
on top of the screen - but nothing is written anywhere by default,
only if you enable it with this option in settings.ini
1.295 wip 7
+ fixed memory leak
+ swf draws in same resolution, not double, faster, better image
+ support for many instructions cards swf, bmp, png, jpg, gif format
1.295 wip 8
+ fixed b2s close bug
+ ledwiz support added, for more info check:
+ support for different names for hyperpin.exe
1.295 wip 9
+ fixed vp doesnt close bug (detect hidden windows on)
+ capture screen code removed (not used any more)
+ printscreen for backglass added (o saves pf, u saves bg)
+ code map updated
+ reorg - all procedures moved up and down a bit
+ #winactivateforce added (didn't help much -
actually made some wierd problems and freezes - removed)
+ fix focus on table close in win7 with triple checks
+ lots of triple checks added (ifactive, waitactive, ...)
+ taskbar shown on exit if there is no hyperpin process
+ cursor shown on exit
+ show vp/fp editor on error and close loading slider
+ activate commands moved to functions
+ file and screen debug modes added
+ toggle taskbar on t key (it was always shown, now it is hiden also)
+ fix blackscreen gui (no need for black screen if useloadscreen is true)
+ remove all detect hidden windows off
+ remove double exitscreen - it is executed "onexit", no need to call it
+ find why hyperpin freezes sometimes ??? (activate force maybe)
Long Installation Guide
- Download fplaunch zip file from the link on top of this post.
- Extract ALL files from zip file to your Hyperpin directory and then move all images to Media\Hyperpin\Images directory.
- On first run script will add these options to your Settings.ini file in Settings directory:
[FPLaunch]; default settings, if you don't have them they will be added to your settings.ini file; ***** don't change them here - edit your settings.ini file!!! *****exitScriptKey = q & s ; kill script keyexitEmulatorKey = Esc ; main exit key, can be joy key also (Joy1)toggleCursorKey = thideCursor = truehideDesktop = truehideTaskbar = true; new settingsuseExitScreen = true ; show exit321 countdown on long pressusePauseKey = true ; if used pause key works same as exit keyuseLoadScreen = true ; show loading slideruseExitAsPause = true ; open pause window on exit key or exit directlyuseExitMenu = true ; use exit menu instead of pause windowpauseKey = p ; former pauseVPinball key, works same as exit keyfadespeed = 25exitEmulatorKey2 = 1 ; key for entering into menusexitEmulatorKey3 = Enter ; and another onepauseFPKey = RButton ; pause in FPsaveFPTables = true ; save fp table position on exiteditTableKey = !F4 ; close table and go to vp/fp editorprintScreenKey = o ; save playfieldprintBGKey = u ; save backglasspfScreenNum = 1 ; playfield Screen Number (used for print screen)bgScreenNum = 2 ; backglass Screen Number (used for print screen)upKey = LShift ; left flipper goes up in menusdownKey = RShift ; right flipper goes down in menusinstructionsKey = iflyerKey = fhyperScale = 0.75debugMode = falseledwiz = falsehyperpinexe = hyperpin.exe
Configure them according to the key layout you have on your cab. It is best to leave all options at default value and then change them if something is not working. You must have all options in your settings file or FPLaunch will create new one with default value, so don't delete any options, just change them.
To change any option, you don't need autohotkey compiler. Just change settings in ini file. Here is explanation of all options (not quite all - some options are not updated, some options will probably be removed in next few releases, ...):
exitScriptKey - dafault: q & s
This is the key for forceful kill of ahk script in case of freezing. You don't need it on your cab. And you should not set it to Esc. It will not work.
exitEmulatorKey - default: Esc
It is recommended to use "e" key for exit key instead of "Esc" cause Esc makes lot's of problems.
If you have PBW or PBW kit it is recommended to use button Joy16 for exit instead of Joy8 cause Joy8 also makes some problems.
For list of known problems and info how to change exitEmulatorKey read on.
1. If you use B2S tables and if you use Esc for exit key it will close B2S backglass every time you press Esc to open exit menu. To solve this use e or some other key for exit.
To use B2S tables with FPLaunch you have to let FPLaunch start and close the backglass. To do this change table name so that it ends with B2S and rename B2S exe to the same name. Also edit every B2S table and change launch backglass to false in table script.
2. Problems with some controllers (IPAC, KeyWiz, Pinball Wizard) in all tables - not just B2S:
- On short press of Esc key VP opens VP pause window with Quit to editor, Debug and Resume options.
- On long press of Esc key VP crashes and throws an error instead of clean close.
- On short press of Esc key FP exits instead of just pausing and invoking blue Pause screen.
To solve this:
Reprogram your controller or your converter (joy2key/xPadder) to send "e" instead of "Esc" on Exit button
- Put "e" key in settings file for exitEmulatorKey and Hyperpin Exit key, like this:
Exit = 69
exitEmulatorKey = e
- If you want to use some other key you can find keycodes for Hyperpin here: http://people.uncw.edu/tompkinsj/112/FlashActionScript/keyCodes.htm
- You don't need to configure this new exit key in VP or FP.
3. There are some known problems with Pinball Wizard:
- Pinball Wizard crashes UVP server after long press on exit button
- Pinball Wizard is closing FP on short press of Exit button, instead of just pausing it
To solve this:
- Open your Pinball Wizard (if it is PBW kit then it is already open)
Connect wires of Exit button to button 6, 14,15 or 16 on the PBW board. Then your Exit key will be Joy6/14/15 or 16 and it will not invoke close or kill of VP or FP. This is default button layout for PBW:
FP use VP use Button positionButton 1 Digital Plunger same Front side, by the plungerButton 2 Right Flipper same First on right sideButton 3 Right 2nd Flipper same Second on right sideButton 4 Change Camera Volume Down First yellow buttonButton 5 Toggle HUD Volume Up Second yellow buttonButton 6 Look at Backbox - Third yellow buttonButton 7 Pause same Fourth yellow buttonButton 8 Exit Table Exit after 3 sec Top centerButton 9 Start Game same Front side, on the leftButton 10 Left Flipper same First on left sideButton 11 Left 2nd Flipper same Second on left sideButton 12 Insert Coin 1 same First red buttonButton 13 Insert Coin 2 same Second red buttonButton 14 Test - Third red buttonButton 15 Service - Fourth red buttonButton 16 I think this key is not connected and not used for anything
- Let's say you connected Exit key to Joy16 connectors.
- Put "Joy16" key in settings file for exitEmulatorKey and Hyperpin Exit key in Pinball Wizard section, like this:
Exit = 16
exitEmulatorKey = Joy16
Quick note: With Pinball Wizard section in Settings.ini you can configure any gamepad to work in HyperPin (but not in VP).
- Remove Joy8 as exit key from FP key configuration (Exit key should be empty in FP)
- Or if you don't want to open PBW you can use only short press on Exit key to open exit menu
- pauseKey is physical key sent from your cab pause button - pauseFPkey is never sent physically, only from script
- pauseKey doesn't have to be configured in VP/FP - pauseFPkey has to be configured in FP
- pauseKey is used for pausing both VP and FP - pauseFPkey is used in FP only
So to clear up what is happening under the hood and explain this with real life example:
FP - when you press exit key or pause key on your cab (exit key is exitEmulatorKey, pause key is pauseKey) fplaunch gets them and stops them (sometimes they can't be stoped) and sends pauseFPkey (right mouse button) to FP, FP invokes pause screen and stops the game, then since we can't draw over FP we do print screen to file, then we draw this file on screen and then we draw menu over it.
VP - If we are in VP then when you press exit or pause key on your cab, fplaunch script receives this key and draws menu - as soon as menu is drawn VP looses focus and VP game stops - so there is no need to send any key to vp to pause the game.
If you have Pinball Wizard or KeyWiz controller, windows see them both as joysticks with buttons, so you will see them on this list. But you can't use their buttons as pauseFPkey button because ahk can't send gamepad buttons. (So ahk can't send gamepad buttons, FP can't assign keyboard buttons for pause - only mouse and gamepads - so only buttons that work are mouse buttons.)
You have to use one mouse button of your choice for pause in FP and as usual your controller buttons for everything else (flippers, nudge, coin, start, plunger, ...)
So you actually have to enable both devices Mouse and Joystick by clicking on "Enable" check box by both devices. Don't worry FP can use both of them and it will remember what is mapped to each device.
It is best to use mouse for pause only and leave pause field for joystick empty. So you don't configure your cab Pause button for Pause in FP. You just configure it as pauseKey in settings.ini file.
Same thing is with your Exit key - you don't configure it in FP, you leave this field empty. You just configure it as exitEmulatorKey in your settings.ini file.
saveFPTables = true
This option controls if we save FP table after change of table position with Scroll Lock.
editTableKey - dafault: Alt-F4
Enables you to to go into editor from HyperPin. Closes table player and opens table editor. All hot keys are suspended during edit and reactivated when table is started again. Don't forget to launch table after editing, cause if you just close it you will have fplaunch running in the background, waiting for table and you will not get control of hyperpin wheel.
printScreenKey- default: o
What's New in Version v1.295wip10
- 1.295 wip 10
- + highscores added tnx to dna disturber, bleasby and horseyhorsey
- + custom fp and vp exe (vp/fpexetables.txt in settings dir)
- + custom b2s settings from koadic added (CustomB2STables.txt)
- + toggleLedwizKey button added to menus - tnx to deegor
- + toLog added to every function
- + external ahk script focus.exe executed on exit to focus hp
- + exitemulatorkey changed to exitkey
- + pausekey changed to exitkey1
- + exitemulatorKey2 and 3 changed to enterkey and enterkey1
- + upkey1 and downkey1 added - so now all menu keys are doubled
- (to enable keyboard and joystick keys)
- + usepausekey true/false removed (it is always used same as exit key)
- + #winactivateforce added again
- + memory leak found in hp on win7 if used in comp. mode - USE NATIVE MODE
- + taskbar problems - auto hide taskbar HAS TO BE OFF in windows
- + some images updated
- + instruction card menu item changed to instructions
- + improved error handling (winwait removed, mouse moved out of the loop)
- + jukebox support added
- + instructions moved a bit down so more of a playfield is visible
- + swf instructions will be on same position as jpg or png
- + antar bug - word (Play) makes problems - solved in vp 445
- + comments in settings are allowed
- + double focus - in script and in focus.exe
- + useFocus internal/external/both/none added to settings
- + hiscores for EM games copied from VP\user\hiscore.txt
- + options added to ledclear.bat
- + sound is played after pf or bg images are saved