Jump to content



Photo
* * * * * 6 votes

FastFlips script (bypassing pinmame flipper callback)


  • Please log in to reply
440 replies to this topic

#321 mountainmaninga

mountainmaninga

    Hobbyist

  • Platinum Supporter
  • 21 posts
  • Location:Atlanta

  • Flag: United States of America

  • Favorite Pinball: Theatre of Magic

Posted 15 August 2018 - 01:31 PM

That or you could have a look at this github page

 

https://github.com/s...pxtable_scripts

 

Goal is to get pre 10.4 tables updated with not only FF but also basic 7.1 surround sound. You don't have surround in your cab ? Ok, believe me, it will still improve your experience. IF I haven't made a boo boo that is :)

 

We welcome not only FF and Surround sound improvements. This is a great way of fixing those tables that still has a error or two but the author haven't updated. It is of course impossible to fix or improve tables beyond a certain point by scripts only. But, it is at least a good start if you ask me.

 

Currently I've added almost 400 scripts that has basic 7.1 and I hope and believe also work with FF.

 

If you are curious on how to improved - this is an example of a commit I just recently did for JP's Lord of the Rings.

 

https://github.com/s...e0cb4cc7305d8b6

 

Added variable and changed to use positional routine on several sounds.

 

Please read the info provided on the GitHub for more details.

 

I used Thalamus's script for Champions Pub 1.2 but I'm still having an issue with the left kicker (I'm calling the left kicker as the one with "Extra Ball" on the left side of the playfield)

 

It happens when you change the solenoids = 2. Works fine when solenoids = 1. . When the ball exits the left kicker, it disables the flippers for ~3 seconds until they return responsive. It pretty much forces a drained ball most of the time.

 

Has anybody seen this issue?



#322 nFozzy

nFozzy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 553 posts

  • Flag: ---------

  • Favorite Pinball: Pinbot

Posted 15 August 2018 - 01:54 PM

The issue is that lots of WPCs reuse the upper flipper coils for diverters, and they're otherwise identical to flippers, so the script can get confused.

 

With the beta core add these lines anywhere under the usesolenoids line:

NoUpperLeftFlipper
NoUpperRightFlipper

 

With the base core add these lines. Though with the stock core, this will also disconnect the upper flipper buttons which may cause issues (usually just a bad switch warning after awhile)

Const cSingleLFlip = 0
Const cSingleRFlip = 0

These lines are necessary if the game reuses the cabinet upper flipper buttons. This is more rare, but Indiana Jones notably does this for the drop targets. You'll have to add all four of these lines for IJ if using the beta core.


Edited by nFozzy, 15 August 2018 - 01:57 PM.


#323 mountainmaninga

mountainmaninga

    Hobbyist

  • Platinum Supporter
  • 21 posts
  • Location:Atlanta

  • Flag: United States of America

  • Favorite Pinball: Theatre of Magic

Posted 15 August 2018 - 03:17 PM

The issue is that lots of WPCs reuse the upper flipper coils for diverters, and they're otherwise identical to flippers, so the script can get confused.

 

With the beta core add these lines anywhere under the usesolenoids line:

NoUpperLeftFlipper
NoUpperRightFlipper

 

With the base core add these lines. Though with the stock core, this will also disconnect the upper flipper buttons which may cause issues (usually just a bad switch warning after awhile)

Const cSingleLFlip = 0
Const cSingleRFlip = 0

These lines are necessary if the game reuses the cabinet upper flipper buttons. This is more rare, but Indiana Jones notably does this for the drop targets. You'll have to add all four of these lines for IJ if using the beta core.

 

Thalamus' script has  "Const cSingleLFlip = 0 & Const cSingleRFlip = 0" already in the table script.  Are you saying I need to add them to the core.vbs script?



#324 nFozzy

nFozzy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 553 posts

  • Flag: ---------

  • Favorite Pinball: Pinbot

Posted 15 August 2018 - 10:20 PM

In the table script, anywhere after the LoadVPM line



#325 Ben Logan

Ben Logan

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 2,275 posts
  • Location:California

  • Flag: ---------

  • Favorite Pinball: System 11

Posted 15 August 2018 - 11:14 PM

Thanks so much for your continued work on fastflips, nfozzy. Looking forward to testing...

#326 LynnInDenver

LynnInDenver

    Pinball Fan

  • Members
  • PipPipPipPip
  • 570 posts
  • Location:Denver

  • Flag: United States of America

  • Favorite Pinball: Genie

Posted 15 August 2018 - 11:27 PM

https://www.virustot...1c47e/detection
 
Who do you trust most ? M$ or nFozzy ? I know who I trust ! MSE is a free virus scanner, and that is why it defaults to everything being dangerous. Stay virus free by using your brain !

 
I do use my brain. I also use a script blocker and ad blocker in all my browsers (because in these days of don't need to click drive by infections, my brain is NOT GOING TO BE ENOUGH), and I use MSE as the last line of defense (again, because my brain IS NOT GOING TO BE ENOUGH). The best security involves multiple layers that have to be penetrated.
 
Do you have any recommendations for an actual virus scanner that is not MSE and not prone to "overprotective" false positives? I will NOT use my main machine without one.
 

 

Microsoft Security Essentials insists on not allowing it. I don't know if it's just assuming there's a virus, or if there actually is.

No idea. Looks clean to me, false positive or maybe microsoft thinks the script itself is malware?
https://www.virustot...1c47e/detection

 

I'm betting false positive of some form. Any chance you can zip it so I can attempt to get it without adding folder exceptions to the MSE scanning?



#327 gtxjoe

gtxjoe

    VPF Veteran

  • VIP
  • 5,152 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness, AbraCadabra



Contributor

Posted 16 August 2018 - 12:03 AM

All virus scanners have false positives. They are useful tools, but your brain is the first line of defense and the last line of defense. The best security involves multiple layers that have to be penetrated  :)



#328 LynnInDenver

LynnInDenver

    Pinball Fan

  • Members
  • PipPipPipPip
  • 570 posts
  • Location:Denver

  • Flag: United States of America

  • Favorite Pinball: Genie

Posted 16 August 2018 - 12:27 AM

OK, today's definitions update has been applied, and I was finally able to download the file without MSE wiping it out.

 

BTW, something must be up out in malware land lately, the past 3-4 weeks have been practically daily definitions updates for MSE. I think I might have gone three days at the most at one point before another update was available.



#329 nFozzy

nFozzy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 553 posts

  • Flag: ---------

  • Favorite Pinball: Pinbot

Posted 16 August 2018 - 01:27 AM

Zipped it up and updated it into the original post



#330 Wob

Wob

    Hobbyist

  • Members
  • PipPip
  • 32 posts

  • Flag: Australia

  • Favorite Pinball: AC\DC, MM, AFM, MB, TAG, TOM

Posted 16 August 2018 - 03:38 AM

Just a note, I get errors if I have NoUpper lines before the system VBS is loaded, AFM is an example script where csingle was defined after usesolenoid but before the load.

Moving them after the load and all good

Sent from my SM-G935F using Tapatalk

#331 nFozzy

nFozzy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 553 posts

  • Flag: ---------

  • Favorite Pinball: Pinbot

Posted 16 August 2018 - 06:23 AM

Minor update in the OP, added a Sega.vbs for Sega/Stern whitestar games



#332 jimmihenry

jimmihenry

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: Alien Star (Gottlieb 1984); Genesis (Gottlieb 1986); Attack From Mars (Bally 1995); Nautilus (Playmatic 1984).

Posted 17 August 2018 - 06:40 PM

"Const UseSolenoids = 1" must be set on my system. Or my game won't move the flippers at all? I'm using VPX.5

#333 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 17 August 2018 - 10:01 PM

The issue is that lots of WPCs reuse the upper flipper coils for diverters, and they're otherwise identical to flippers, so the script can get confused.

 

With the beta core add these lines anywhere under the usesolenoids line:

NoUpperLeftFlipper
NoUpperRightFlipper

 

 

Thanks for the changes nFozzy!  Looking good.

On this, I think the script should assume that if cSinglexFlip is defined, that the upper solenoids should not be mapped as previous behavior.   If "Const cSingleLFlip = 0" is present, it should automatically also run NoUpperLeftFlipper.
 

With core changes we need to strive for 100% backwards compatibility as it is not easy for users to switch between cores.   Currently this breaks g5k AFM and any other tables released for 10.4/10.5 that use CSingleXFlip to tell fast flips not to remap the upper solenoids.    With the update, the upper solenoids are currently mapped again.  

So the possibilities would be:

 

nothing                   Upper left switch pressed, upper flipper coils remapped

CSingleLFlip =  0    Upper left switch not pressed by flipper keys, upper solenoid not remapped

NoUpperLeftFlipper   Upper solenoid not remapped, but key still pressed by flipper keys


Edited by DJRobX, 17 August 2018 - 10:06 PM.


#334 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 18 August 2018 - 03:49 AM

@nfozzy - Here is my proposed update

 

https://pastebin.com/SJEMrwK6

 

I'm adding the following lines in the init function:

 

 If not cSingleLFlip Then 
if err.number = 0 then NoUpperLeftFlipper
End If
err.clear
If not cSingleRFlip Then
if err.number = 0 then NoUpperRightFlipper
End If

 

Took me a while to figure out how to write that to get the desired behavior.  VBScript is weird.  :) 



#335 nFozzy

nFozzy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 553 posts

  • Flag: ---------

  • Favorite Pinball: Pinbot

Posted 18 August 2018 - 04:22 AM

Yeah as long as there aren't a bunch of tables that reuse the switches but not the coils, then it's okay that cSingleLflip /cSingleRflip masks both. I don't know of any but I haven't tested them all.



#336 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 18 August 2018 - 04:56 AM

Yeah ... if we run into that situation we can come up with another setting or something.  Then we can have all possibilities without breaking backward compatibility, but I don't think it's needed from what I've seen.   I haven't seen anything other than IJ re-use the switch, but lots of WPC tables have needed CSingleXFlips added for FF to work correctly.  



#337 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,984 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 18 August 2018 - 09:56 AM

@nFozzy @DjRobX : Thank you so much for all you hard work. I'm so happy with what you guys have done with the flipper code.

 

For me you've blown new life into all the tables that support it !


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#338 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 18 August 2018 - 03:46 PM

Here's an updated IJ script using the new core.vbs that properly handles video mode.   Seems to work very well.  Thanks again for the update nFozzy! 
 

https://pastebin.com/VseSfCWj

 

@Thalamus, I didn't post this to your repo since it depends on the new core.   I'll probably make a separate branch for new core vs. old core updates for now, at least until these updates are out of beta.  


Edited by DJRobX, 18 August 2018 - 03:49 PM.


#339 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 25 August 2018 - 11:12 PM

I've updated Thalamus' repo with Fast Flip support for Cactus Canyon Continued.

 

https://github.com/s...pxtable_scripts

You will need the updated table script as well as two updated files to the P-roc CCC game files.     Because of "Drunk flips" mode you also need FastFlips 2.0:

https://sourceforge....cripts/core.vbs

For some reason P-roc silently chokes if I try to use Solenoid 31 like the standard ROM, but unused Solenoid 39 seems to be fine, so I went with that.    



#340 Bladeof

Bladeof

    Enthusiast

  • Members
  • PipPipPip
  • 53 posts

  • Flag: United States of America

  • Favorite Pinball: T2, Medieval Madness

Posted 27 August 2018 - 04:35 AM

I've updated Thalamus' repo with Fast Flip support for Cactus Canyon Continued.
 
https://github.com/s...pxtable_scripts

You will need the updated table script as well as two updated files to the P-roc CCC game files.     Because of "Drunk flips" mode you also need FastFlips 2.0:

https://sourceforge....cripts/core.vbs

For some reason P-roc silently chokes if I try to use Solenoid 31 like the standard ROM, but unused Solenoid 39 seems to be fine, so I went with that.


Will this work on CCC 1.2 table version.