Jump to content

FPLaunch MOD: Pause and Loading screens...


samwyze

Recommended Posts

that one is already there (rosve backglasses)

and in next release i will try to put bigboss functionality also

Awesome Blur - look forward to it,

Thanks for your work buddy,

Cheers Pinball Buzz:party:

Link to comment
Share on other sites

Here is a common error window I get when trying to exit FP using 294.

fplauncherrorusingfpandexit321_t.jpg

And another idea.

You have ipac, right?

And you had problems with nudging device producing too many nudges and tilting games.

I think that's connected - what happens here is that you press and hold exit key. That exit key is sent hundreds time per second.

On normal keyboard only key down event would produce one hotkey event.

With ipac every key press event somehow produces keydown event and you get many hot key events.

So script enters into exitscreen: section many many times over and over again.

And on beginning of exit screen section is loopval=0 command

and loopval is public so all of these exitscreens that are executing on every key press are changing the same variable

so this variable never gets to 10 which is a prerequisite to get exit321 screen

soon each of them starts creating blackscreen and pause screen in parallel, so that's why they produce the error above, and why exit321 screen doesn't work

how to solve this - same as with my fix for tiempo filtro - i will add public variable exit and set it to 1 as soon as i enter exit screen.

next exit screen will exit if exit is set to 1

i'll send you the code tomorow (only small part to insert it and test it)

Link to comment
Share on other sites

And another idea.

You have ipac, right?

And you had problems with nudging device producing too many nudges and tilting games.

I think that's connected - what happens here is that you press and hold exit key. That exit key is sent hundreds time per second.

On normal keyboard only key down event would produce one hotkey event.

With ipac every key press event somehow produces keydown event and you get many hot key events.

So script enters into exitscreen: section many many times over and over again.

And on beginning of exit screen section is loopval=0 command

and loopval is public so all of these exitscreens that are executing on every key press are changing the same variable

so this variable never gets to 10 which is a prerequisite to get exit321 screen

soon each of them starts creating blackscreen and pause screen in parallel, so that's why they produce the error above, and why exit321 screen doesn't work

how to solve this - same as with my fix for tiempo filtro - i will add public variable exit and set it to 1 as soon as i enter exit screen.

next exit screen will exit if exit is set to 1

i'll send you the code tomorow (only small part to insert it and test it)

That sounds promising. 294 has stabilized for me and seems better. I still get the taskbar on top and less frequently the Exit321 error on FP. Pause in FP still leaves me with a black screen and the blue Pause image. Thanks.

Link to comment
Share on other sites

Here is the solution for exit321 screen. Add this:

ExitScreen:
[b]    if (Exiting = 1)
       return
   else
       Exiting = 1[/b]
   LoopVal = 0

and this:

        } else {
           [b]Exiting = 0[/b]
           if (LoopVal < 10 && useExitAsPause = "true") {
               if (systemName = "Visual Pinball")

Link to comment
Share on other sites

for taskbar comment these lines in exitscript:

ExitScript:
Loop, 5
   Gui, %A_Index%: Destroy
Process, Exist, HyperPin.exe
PID := errorLevel
[b];no need to show taskbar on exit, it can only cause problems
;it was already commented in 1.10
;if (hideTaskbar = "true") {
 ;WinShow ahk_class Shell_TrayWnd
 ;WinShow Start ahk_class Button
;}
[/b]

Link to comment
Share on other sites

Here is the solution for exit321 screen. Add this:

ExitScreen:
[b]    if (Exiting = 1)
       return
   else
       Exiting = 1[/b]
   LoopVal = 0

and this:

        } else {
           [b]Exiting = 0[/b]
           if (LoopVal < 10 && useExitAsPause = "true") {
               if (systemName = "Visual Pinball")

Does it matter where I add the code?

Link to comment
Share on other sites

Does it matter where I add the code?

Ok, I found where to add the code. It appears the task bar on top is fixed although I will need more test time. The exiting FP is still not working 100%. I ran into the same error message. Note that I am using nvidia drivers 260.99. I think everything works in FPLaunch with the newest nvidia drivers (266.99) but it I don't use it because that version leaves the FP backglass in the background on launch.

Link to comment
Share on other sites

for taskbar comment these lines in exitscript:

ExitScript:
Loop, 5
   Gui, %A_Index%: Destroy
Process, Exist, HyperPin.exe
PID := errorLevel
[b];no need to show taskbar on exit, it can only cause problems
;it was already commented in 1.10
;if (hideTaskbar = "true") {
 ;WinShow ahk_class Shell_TrayWnd
 ;WinShow Start ahk_class Button
;}
[/b]

Taskbar is gone, thank you Blur

Link to comment
Share on other sites

Great reko, tnx.

Blitz, did you put gui destroy and exiting code in your script?

CreateBlackScreen:
   CaptureScreen(3)
   [b]Gui 5: Destroy[/b]
   Gui 5: Color, 000000
...
CreateExitScreen:
    Gui, Destroy
   Loop, 4
     {
       ExitPic = Exit_%A_Index%.png
       [b]Gui %A_Index%: Destroy[/b]
       Gui %A_Index%: Color, EEAA99
...

As you probably figured out you add only bolded text.

Unbolded text around is only for you to find where to put it.

And of course like in any programming language position where you put the code is important. Size is not important :) but position is important.

Do you have something like delay and key rate setting on your ipac? maybe you could change it?

You can test your key rate with simple ahk script.

Put this in your test.ahk file:

#InstallKeybdHook
#InstallMouseHook
#KeyHistory 500

Then double click on this file. Autohotkey will start in the tray.

Press your exit key for two seconds.

Double click on ahk in tray and open View -> Key history in ahk window.

You will see something like this:

VK  SC    Type    Up/Dn    Elapsed    Key        Window
-------------------------------------------------------------------------------------------------------------
1B  001         d    2.23    Esc     Program Manager <- first press, two seconds after launching test script
1B  001         d    0.50    Esc    <- second press is sent after half a second
1B  001         d    0.03    Esc    <- third key down event is now sent every 0.03 second
1B  001         d    0.03    Esc    <- I'm still holding the exit key
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.05    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         u    0.03    Esc    <-exit key is released

Show me how your key history looks like.

This delay and rate setting could be set from old bioses if you remember it.

Maybe it is set very high for firing mame games, but you don't need fast rate for pinball, so you can change it all together.

You can also see this rate in notepad - when you press some letter - first there is only one letter, then small pause and then lots of letters comes in.

You can also test your delay in notepad but you won't get precise numbers.

Edited by blur
Link to comment
Share on other sites

Great reko, tnx.

Blitz, did you put gui destroy and exiting code in your script?

CreateBlackScreen:
   CaptureScreen(3)
   [b]Gui 5: Destroy[/b]
   Gui 5: Color, 000000
...
CreateExitScreen:
    Gui, Destroy
   Loop, 4
     {
       ExitPic = Exit_%A_Index%.png
       [b]Gui %A_Index%: Destroy[/b]
       Gui %A_Index%: Color, EEAA99
...

As you probably figured out you add only bolded text.

Unbolded text around is only for you to find where to put it.

And of course like in any programming language position where you put the code is important. Size is not important :) but position is important.

Do you have something like delay and key rate setting on your ipac? maybe you could change it?

You can test your key rate with simple ahk script.

Put this in your test.ahk file:

#InstallKeybdHook
#InstallMouseHook
#KeyHistory 500

Then double click on this file. Autohotkey will start in the tray.

Press your exit key for two seconds.

Double click on ahk in tray and open View -> Key history in ahk window.

You will see something like this:

VK  SC    Type    Up/Dn    Elapsed    Key        Window
-------------------------------------------------------------------------------------------------------------
1B  001         d    2.23    Esc     Program Manager <- first press, two seconds after launching test script
1B  001         d    0.50    Esc    <- second press is sent after half a second
1B  001         d    0.03    Esc    <- third key down event is now sent every 0.03 second
1B  001         d    0.03    Esc    <- I'm still holding the exit key
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.05    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         d    0.03    Esc                
1B  001         u    0.03    Esc    <-exit key is released

Show me how your key history looks like.

This delay and rate setting could be set from old bioses if you remember it.

Maybe it is set very high for firing mame games, but you don't need fast rate for pinball, so you can change it all together.

You can also see this rate in notepad - when you press some letter - first there is only one letter, then small pause and then lots of letters comes in.

You can also test your delay in notepad but you won't get precise numbers.

I hadn't added the gui destroy. I did and did not get the error message but I still had issues with exiting FP. It works occasionally then fails with different results. Perhaps more testing would reveal a pattern. At one point after a failed exit it came back to the table with a black screen and the blue Pause image but the table was active underneath. When I hit the pause button the standard FP Pause screen would come up with the FP High Scores and the table in the background with the table truly paused. Hitting Pause again would send me back to the black background with blue Pause image and an active table underneath. I am worried about you spending so much time on this as I really feel that the issue is how Nvidia's 260.99 drivers are handling the active screens. Out of 5 different driver versions 4 of them work with FP Launch but those 4 break Future Pinball because upon table load the Future Pinball backglass is in the background. Another sign that the nvida driver I am using is not quite right, the one that leaves FP backglass in front, is that when scaling my FP tables the scaling moves super slow. To stretch the table and backglass into position or move them around goes WAY slow. The scaling process is very fast and responsive on all of the other nvidia drivers. Also with the other drivers my tables out of scale meaning I have to rescale them all ... which is fine if we end up with that as I think they are the better drivers. My current driver also breaks settingsons printscreengen application but his app works with all of the other nvida drivers.

I do not know of any key delay setting for the IPAC. I have not loaded AHK Compiler on my cab and haven't been able to test the key response yet.

I have noticed an issue on my cab that could be effecting FPLaunch. It seems that if I hold in a button for say 6-10 seconds (i.e. holding the flipper to get the table status) my IPAC and Keyboard will all become unresponsive.

I have to hard boot to get my keyboard back. This was not an issue before I installed my new hardware. I am not sure what is causing it. If anyone has any ideas please chime in. It is a consistent problem. Happens every time I try and get the table status via the DMD. It never happens when using Exit321 though and Exit321 works perfect for VP on my cab.

Any thoughts I trying to add code to force FP backglass to be in the front? If that would be possible I could switch to the newer nvidia driver and FPLaunch will be working great.

Thanks for all your work on this!

Link to comment
Share on other sites

FP focus should not be a problem, try to add this at the end of FP launching (just before VP launching):

    Gui, destroy   
[b]    WinWait, ahk_class FuturePinballOpenGLSecondary,,10
   WinActivate, ahk_class FuturePinballOpenGLSecondary
   [/b][b]WinWaitActive, ahk_class FuturePinballOpenGLSecondary,,2
[/b][b]    WinActivate, ahk_class FuturePinballOpenGL
[/b]   Process, WaitClose, Future Pinball.exe
}
;**********************************VISUAL PINBALL***********************************
else if (systemName = "Visual Pinball" && (executable = "VPinball.exe"))

It waits for up to 10 seconds for second screen, if it appears it activates it. if not nothing.

it has to be time limited cause some tables might not have second screen.

if some table loads more then 10 seconds try to increase 10

Edited by blur
Link to comment
Share on other sites

FP focus should not be a problem, try to add this at the end of FP launching (just before VP launching):

    Gui, destroy   
[b]    WinWait, ahk_class FuturePinballOpenGLSecondary,,10
   WinActivate, ahk_class FuturePinballOpenGLSecondary
   [/b][b]WinWaitActive, ahk_class FuturePinballOpenGLSecondary,,2
[/b][b]    WinActivate, ahk_class FuturePinballOpenGL
[/b]   Process, WaitClose, Future Pinball.exe
}
;**********************************VISUAL PINBALL***********************************
else if (systemName = "Visual Pinball" && (executable = "VPinball.exe"))

It waits for up to 10 seconds for second screen, if it appears it activates it. if not nothing.

it has to be time limited cause some tables might not have second screen.

if some table loads more then 10 seconds try to increase 10

Man, I think you're close. Instead of my desktop I end up with a static backglass for the FP table I am playing. When I click on Pause it updates the backglass and shows the correct score but when I un-Pause it becomes static again. By static I mean no lights, no scoring, just the image. Everything in FPLaunch works great though. The Pause shows the high scores and the blue Pause logo overlayed on the table. The Exit321 is overlayed on the table (it was just a black background with the older nvida driver). It feels like get better table performance in VP and FP with the newer drivers too. If I could just get the FP Backglass to show up and be active.

FYI - I added the WinActivate code above to your 295 beta and am now using the newest certified nvida driver.

If it helps here is an image of available windows I have when I alt-tab during an active FP game.

availablewindows_t.jpg

Link to comment
Share on other sites

great

looks like i will have to activate backglass after pause too, maybe pause hides fp backglass and puts hyperpin backglass in front

do you have scores on backglass on first start before you enter any pause?

And do you have scores on backglass when you run FP outside of hyperpin?

why do you have hyperpin video running all the time? it should close, can you disable it and see if it helps?

Here is info from ultimarc about key repeat rate:

What about key-repeat (Typematic)? In USB mode key repeat is supported as on a normal keyboard and is handled by the PC. In PS/2 mode key repeat is not generally desirable for gaming because sending unnecessary strings of key-presses to the PC can cause unwanted clutter on the PS/2 interface and steal CPU cycles. It is useful though to have key repeat outside of gaming, for example for scrolling up and down game lists in a front end. The I-PAC solves this problem by implementing a selective repeat on up/down only, for scrolling through lists. If you have a need for repeat on all inputs, this can be supplied on request.
Do you have usb or ps2 ipac? If it is usb default polling interval is 1 millisecond which os awfully small (thousand clicks in a sec - no wonder you get lots of tilts) - but it can be changed to 5 or 10 milliseconds in registry - search internet for usb polling interval. this will make your pc breath easier when you hold some key

if it's ps2 bad luck - looks like it is hardcoded

Edited by blur
Link to comment
Share on other sites

Here is the new version 1.295 wip (work in progress).

Not the final 1.295 but only temporary one with all the above bug fixes.

(gui destroy, exiting flag and commented taskbar)

Compiled exe included, no images.

Removal of nag screens is also implemented.

http://www.megaupload.com/?d=1HY7QXE0

Works well for me. As far as bigboss functionality, maybe you could implement it that by default all tables are using VP908 unless told by fplaunch to use 911. Since there are only few 911 tables should be pretty easy to create a list. What do you think?

Thanks.

Link to comment
Share on other sites

Answers:

do you have scores on backglass on first start before you enter any pause? No (for example when I load Indiana Jones in the DMD area I see the image of Indiana and the text Indiana Jones Pinball Adventure).

And do you have scores on backglass when you run FP outside of hyperpin? No, not at start up. If I Alt-Tab it updates the backglass with the current game in progress score but when I Alt-Tab back to the table the backglass then is not active.

why do you have hyperpin video running all the time? it should close, can you disable it and see if it helps? That is actually my desktop image, looks just like the video. :)

I have the USB IPAC2 and will look up the registry adjustment to change the key-repeat timing. Thanks!

Link to comment
Share on other sites

Works well for me. As far as bigboss functionality, maybe you could implement it that by default all tables are using VP908 unless told by fplaunch to use 911. Since there are only few 911 tables should be pretty easy to create a list. What do you think?

Thanks.

I myself would not want the default to be 908. I use the volume settings and I don't think they showed up until 909? So far the only table I have run into problems with on 912 is Who Dunnit. Which is a bummer because the wife and I really like that table.

Link to comment
Share on other sites

Answers:

do you have scores on backglass on first start before you enter any pause? No

And do you have scores on backglass when you run FP outside of hyperpin? No, not at start up. If I Alt-Tab it updates the backglass with the current game in progress score but when I Alt-Tab back to the table the backglass then is not active.

this is not good, if you alt-tab to backglass and then you see it and when you get back to fp you don't see it again, that means that i can't solve this with winactivate cause winactivate is same as alt-tab

can you try to put fp in xp compatibility mod or out of compatibility mod if you have it already?

you can also try to put :

Winset, AlwaysOnTop, On, ahk_class FuturePinballOpenGLSecondary

and maybe:

Winset, AlwaysOnTop, Off, HyperPin

Winset, AlwaysOnTop, Off, HGlass1

instead all these bolded lines cause winactivate doesn't help.

What hides the backglass after alt-tab if you are not in hyperpin?

As for default exe, you can put anything to be your vpinball.exe, it can be 908, 911, 912, anything, it's up to you to choose.

for other i will use file with:

table name

exe name

table name

exe name

so you can also use many exe versions here.

Edited by blur
Link to comment
Share on other sites

what is the volume setting? not sure if I am aware of it.

They added volume up and volume down bindable keys in VP. I bind them to my cabs flyer and rules buttons so that when in VP game I can easily volume up and down. When I am in HyperPin they work as labeled (Flyer and Rules). I looked though I think 908 includes the volume keys.

Link to comment
Share on other sites

Blur

I justed test 1.295 and it works great. No more taskbar when exiting. I still have an issue with it not clearing a error message. There is a table I run called space shuttle. If you run an older version of vpinmame you get an error and then you have to hit enter to clear screen and the it works. I usually just hit the plunger once but isnt the new script support to automatically send an enter commend for error screens?

Link to comment
Share on other sites

this is not good, if you alt-tab to backglass and then you see it and when you get back to fp you don't see it again, that means that i can't solve this with winactivate cause winactivate is same as alt-tab

can you try to put fp in xp compatibility mod or out of compatibility mod if you have it already?

you can also try to put :

Winset, AlwaysOnTop, On, ahk_class FuturePinballOpenGLSecondary

and maybe:

Winset, AlwaysOnTop, Off, HyperPin

Winset, AlwaysOnTop, Off, HGlass1

instead all these bolded lines cause winactivate doesn't help.

What hides the backglass after alt-tab if you are not in hyperpin?

As for default exe, you can put anything to be your vpinball.exe, it can be 908, 911, 912, anything, it's up to you to choose.

for other i will use file with:

table name

exe name

table name

exe name

so you can also use many exe versions here.

The new suggestions did not work. I contacted nvidia and worked with their live chat support but the only conclusion they came to was that it is a bug and they submitted a bug ticket. I have rolled back to the working driver for now. Is there anyway you can make it so that the FP Pause just shows the FP Pause screen? Right now, with that working driver I get a black screen with the blue Pause image overlay so I don't see any high scores. I would rather have the high scores. If it is too much trouble I understand. Other than that the Exit321 works 80% of the time. Maybe adjusting my key-repeat will improve that. Thanks.

Link to comment
Share on other sites

this script catches only messages

Please...

Game Info...

Notice...

other messages are not covered, but can be added

you don't have cab pinmame?

error.jpg

Thats the error. Can you add support in the script to eliminate this box?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...