Jump to content

FPLaunch MOD: Pause and Loading screens...


samwyze

Recommended Posts

legtod, numiah do you have nt compatibility mode set on vp exe?

Tried, but makes no difference. I even lost some performance with this setting.

Still a 10% chance of loosing focus when starting the first table.

It happens only on a fresh cab-start. If it happened once, it won't happen till reboot.

So no biggie.

Link to comment
Share on other sites

great numiah, tnx for info

sam i tested gdip_bitmapfromscreen and it works great

for screen number i will default to 1 and will but two options in settting.ini

pfScreenNum (defaults to 1) and bgScreenNum (defaults to 2) but you can change both in settings.ini

bgScreenNum will be used in FP to save background image together with pf image

i was wondering - i could remove capturescreen utility completely if I could display pBitmap on screen to cover opengl window, capture screen is used only for pause in fp

Link to comment
Share on other sites

great numiah, tnx for info

sam i tested gdip_bitmapfromscreen and it works great

for screen number i will default to 1 and will but two options in settting.ini

pfScreenNum (defaults to 1) and bgScreenNum (defaults to 2) but you can change both in settings.ini

bgScreenNum will be used in FP to save background image together with pf image

i was wondering - i could remove capturescreen utility completely if I could display pBitmap on screen to cover opengl window, capture screen is used only for pause in fp

yep, thats right - think thats what I did in one of the hyperfplaunch alphas(used gdip to draw 'paused' FP). Also, I'm already reading Playfield_monitor (primary/secondary) from hyperpins setting ini - easier than adding another option :)

For the pause you don't need to define a monitor, just grab all screens and draw them all too ;)

Edited by samwyze
Link to comment
Share on other sites

I saw primary-secondary in settings.ini but that doesn't give you screen number. My playfield is primary and still has number 2. You can assign any monitor to be your primary monitor.

Probably any laptop will have it's own screen as screen 1 and others as 2,3,... And it could be that laptop screen is just dmd, pf is 2 and bg is 3.

What i could do is try to get number of the primary and secondary monitor from some gdip calls, but then it could not work on some platforms. I don't think there is exactly one secondary window either - all windows that are not prim. are sec. so it's would be difficult to know which one to grab for backglass image. Too much hassle and it will work just fine with these two options.

As for pause in fp - i could draw whole desktop - but there is no need to draw image over bg cause we draw menus and images only on playfield. but will check that option also.

Link to comment
Share on other sites

I saw primary-secondary in settings.ini but that doesn't give you screen number. My playfield is primary and still has number 2. You can assign any monitor to be your primary monitor.

Probably any laptop will have it's own screen as screen 1 and others as 2,3,... And it could be that laptop screen is just dmd, pf is 2 and bg is 3.

What i could do is try to get number of the primary and secondary monitor from some gdip calls, but then it could not work on some platforms. I don't think there is exactly one secondary window either - all windows that are not prim. are sec. so it's would be difficult to know which one to grab for backglass image. Too much hassle and it will work just fine with these two options.

As for pause in fp - i could draw whole desktop - but there is no need to draw image over bg cause we draw menus and images only on playfield. but will check that option also.

Ah, got you on the monitor front - iirc there is an example script in the ahk standard help file that gets monitor numbers but dunno if it'd be any use, but yea better to just add the extra options :)

with FP pause, just meant its easier to grab and draw all screens than to figure out which monitor is which.

Link to comment
Share on other sites

Can I just add (Darkfall’s changes)

ExitScript:

Run, "%A_ScriptDir%\ledset.bat",,hide

Does it need to be recompiled? Are there instructions on how to do this?

I like the new FPLaunch but when you exit a table sometimes flashers etc are staying on.

Hi, pinballlooking.

FPLaunch needs to be recompiled if the script is changed.

My modifications come with a recompiled FPLaunch WIP4, so you need not worry about it. Just throw it all in per the instructions, and you're done.

Link to comment
Share on other sites

  • 2 weeks later...

uf, just made 3 and half milions and 16 replays on uw xenon table while "testing" new fplaunch on my paper cab :)

during last week i merged most of the code from sam's new version into new wip 5

it is not final yet, it has some speed up and tune up going on, but it is usable and testable

will post it soon and continue tuning it

Edited by blur
Link to comment
Share on other sites

here is download link:

http://www.mediafire.com/file/7yb2ity8tu3up1g/FPLaunch1.295WIP5v3.zip

you have to copy all png images to media\hyperpin\images (with old images)

there is version wip 5 v2 without menus in zip file also

new features are:

print screen

settings are not overwritten whenever new one comes out, old settings are saved, and just new ones are added

menus

flyers

instructions

sound on menus

service menu with some stuff

to do:

clean the code

speed it up

prerotate images

enable left-right browsing on instructions so that you can add ten pages of instructions with names "table name".png table name 2.png table name3.png

and script will browse through them like with flyer

enable png instructions (now only swf works)

enable flyers and instructions in fp (menus work but flyers need printscreen)

enlarge flyers and instructions (now there is value hyperscale - but it also makes menus bigger - i want menus small and flyers bigger)

...

report bugs, don't be shy

Link to comment
Share on other sites

where do I put the wav file?

Cant wait to try this out, really exciting, thanks much!

Wow working pretty well, really love the options now (almost don't need extra buttons on front panel, except to change genre, etc) Seen some garbage above the wheels sometimes. Will keep playing and report back after more concrete explanation of problems. GREAT WORK!!!

Edited by slydog43
Link to comment
Share on other sites

depends

b2s works with fplaunch for a long time now

you only have to set launch b2s in table script to false cause fplaunch will launch backglass if table file ends with b2s

but some newer versions of b2s tables close backglass on esc, so when you get menu you lose backglass - this can be fixed with using e for exit

rosve also said he will fix this in b2s code

Link to comment
Share on other sites

Great tip Blur, I wondered why some of my B2S tables didnt start correctly, now they work after setting B2S startup to false. Really love this, thanks you, thank you, thank you. Time to start getting instruction cards and flyers for all my tables :(

Link to comment
Share on other sites

Not just instruction cards - I plan to extend menu item "instruction cards" so that it shows whatever you put in instructions folder, so it will be possible to show instr. card, replay scores card, instructions for setting replay levels and any other instructions you want if you put them there

Link to comment
Share on other sites

here is download link:

http://www.mediafire.com/file/7yb2ity8tu3up1g/FPLaunch1.295WIP5v3.zip

you have to copy all png images to media\hyperpin\images (with old images)

there is version wip 5 v2 without menus in zip file also

new features are:

print screen

settings are not overwritten whenever new one comes out, old settings are saved, and just new ones are added

menus

flyers

instructions

sound on menus

service menu with some stuff

to do:

clean the code

speed it up

prerotate images

enable left-right browsing on instructions so that you can add ten pages of instructions with names "table name".png table name 2.png table name3.png

and script will browse through them like with flyer

enable png instructions (now only swf works)

enable flyers and instructions in fp (menus work but flyers need printscreen)

enlarge flyers and instructions (now there is value hyperscale - but it also makes menus bigger - i want menus small and flyers bigger)

...

report bugs, don't be shy

Oh nice!! I didn't see this. I will put it on the cab :) Print Screen yay!

**Update - OK so I installed this, and it seems to work fine, except I don't see any of the new features? Is there some change I need to make? I'm using the files that were named the normal FPLaunch and AHK.

Edited by Zablon
Link to comment
Share on other sites

sly - no, instr. work fine - is it just on first load for you or?

zablon - same options as before and few new ones

to see menus - use exit menu has to be true and use exit as pause has to be true

if you changed that options before - new script won't change that options

it will only add them if they are not in settings

Edited by blur
Link to comment
Share on other sites

Here is something to think about.

I see flicker on flyers - don't see why, code looks the same as menu code, and menus have no flicker??? I will probably have to "optimize" this part of script to remove flickering.

am i blind or it looks like there is one point offset on the lower menu image? Menu is not on the bottom of the screen. It is one pixel above bottom and also on the right side there is also one pixel of space. And i think i fixed it for next release. I had to draw image two pixels larger then the screen

Also i think i fixed loading screen (when vp never gets focus - so loading screen stays for ever) - in loading loop i inserted winactivate every few seconds (around 5 secs.) - so now if vp doesn't take focus by itself - it will be activated by winactivate after 5,10,15,... seconds

Link to comment
Share on other sites

Another thing to think about.

Me and sam were talking, and obviously there is too much options in fplaunch:

exitScriptKey = q & s

exitEmulatorKey = Esc

hideCursor = true

hideDesktop = true

hideTaskbar = true

toggleCursorKey = t

useExitScreen = true

usePauseKey = true

useLoadScreen = true

pauseVPinball = Joy1

fadespeed = 25

useExitAsPause = true

exitEmulatorKey2 = 1

exitEmulatorKey3 = Enter

pauseFPKey = RButton

saveFPTables = true

editTableKey = !F4

printScreenKey = o

pfScreenNum = 2

bgScreenNum = 1

useExitMenu = true

UpKey = Left

DownKey = Right

StartKey = Enter

ExitKey = Esc

ServiceKey = RShift

FlyerKey = f

InstructionKey = i

SkipUpKey = 9

SkipDownKey = 0

hyperScale = 0.6

debugMode = false

this is a bit of problem for users that have to learn what each options means, but it is also problems for us who wrote software - because with each new optioins your number of possible configurations is mulitplied by 2, and we have to put all that ifs in the code and test all possible combinations of options:

for example - what if hideDesktop is false, use exit screen is true, use exit as pause is false and use exit menu is true - what will happen, how will the script work???

nobody knows

what we were thinking is use ONLY ONE behaviour, and now that we have menu's it would be to open menu on exit key and to open menu on pause key.

Nothing else - so what that means is:

- no exit 321 countdown on long press - if you hold exit it will do open and close of menu indefinitelly - which is ok - goal of long press exit key was to prevent accidental exit - and menu prevents it

- no pause message ever - you will get menu instead of pause - pause screen was unclear any way - no body knew what to do - ok i pressed exit - now i want to exit but i got pause - what now, how do i exit :)

so what do you all think - would you be able to live without exit countdown and pause screen?

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...