Members EMUnderdogs Posted April 13 Members Share Posted April 13 View File Airport (Gottlieb 1969) 1.4 Airport is a bell-banger from 1969. No spinners or ball locks — just two-fisted vari-target action and plenty of bell ringing bumpers. Vari-targets are those targets that when you ram into them with your ball they retreat backward — your score increasing the farther you drive them back. You love it when Ten Times Value is lit and you drive the ball all the way back. I love vari-targets and Airport has not one but a pair of them. In fact, Airport was the very first pinball table to feature vari-targets. (That probably explains why the rest of the table is fairly spartan.) A four-player version of this table exists with a different theme and artwork, College Queens — also from 1969. Airport’s jet-set theme suggests a time when commercial jet travel was still sexy and new. Would they have had a pinball table such as this in an actual airport in 1969? Airport is another community table that began with the legacy of the late @loserman76. @AxeVerse and others have contributed to and updated the table since. This version adds a recessed apron, playfield shadows, reworking of the plastics, various tweaks to lighting, textures, and more (see table script for details). Be sure to grab the recent backglass from @hauntfreaks featuring @Silversurfer’s amazing vector artwork. Original version by Loserman76: Submitter EMUnderdogs Submitted 04/13/24 Category VPX - Pinball Tables Link to comment Share on other sites More sharing options...
ryesteve Posted April 16 Share Posted April 16 Just wondering if there's a way to fix this issue I'm having with this table: a very light hit on one of the vari-targets will engage the shaker motor and it won't turn off until one of them gets hit again. Link to comment Share on other sites More sharing options...
JCalhoun Posted April 16 Share Posted April 16 I'll look into this. I may have seen a related issue where a light tap moved the vari-target back a touch but it did not "reset". Likely the same bug is also causing the DOF motor to remain on. Link to comment Share on other sites More sharing options...
JCalhoun Posted April 16 Share Posted April 16 (edited) Here's what I see in the script: Sub LeftVT_Hit(idx) Dim x Lnewpos = idx If ActiveBall.VelY < 0 Then DOF kDOF_Shaker, DOFOn ' <-----<<< ActiveBall.VelY = ActiveBall.VelY * 0.915 EMPlayVariTargetSound VariTargetL.TransX = -(LeftPosition_Vari * 10) LeftPosition_Vari = idx + 1 End If Loldpos = Lnewpos End Sub Sub LeftVT_UnHit(idx) If ActiveBall.VelY > 0 Then DOF kDOF_Shaker, DOFOff ' <-----<<< TimerLeftVariTarget.Enabled = True End If End Sub I added the arrow comments above to indicate where the shaker motor is turned on and where it is turned off. Why might it not turn off? Either because LeftVT_UnHit() is not being called, or it is being called but ActiveBall.VelY is not > 0. My guess is that the latter is the case. But I'm not sure why that conditional (If ActiveBall.VelY > 0 Then) is even there. My guess is that if you were to remove the conditional, then there may be a quick series of hits/unhits as the ball pushes its way into the vari-target. The conditional was meant to wait until the ball was starting to fall back away from the vari-target before turning off the shaker (and enabling a timer). Likely our edge case is because the ball is not quite greater than zero, but upon the next pass through the game loop contact with the vari-target is lost and so LeftVT_UnHit() is not given another chance to be called. I think the Right Fix™ is going to be rather tricky — perhaps kicking off a new timer that is deferred each time LeftVT_UnHit() is called until at some point LeftVT_UnHit() is not called and the timer executes (turns off the motor, etc.). I don't have enough familiarity with timers though to prescribe the Right Fix™. A janky fix would be to not start the motor in the first place if it is a "light tap" of the vari-target. In this case we would address the call in LeftVT_Hit() — specifically the line: If ActiveBall.VelY < 0 Then. That conditional is saying, "if the ball is traveling upward..." (a less than zero y-velocity). Well we could change it to: If ActiveBall.VelY < -1.0 Then. That would mean the y-velocity on impact would have to not only be upward, but upward faster than -1 (and here, the more negative a number is, the faster the ball is traveling up the playfield). The janky part is: is -1.0 the right value? Maybe -0.1 would be better. Or -2.0. Remember, the more negative the number, the harder you will have to hit the vari-target for the hit to register. If you feel like experimenting, go into the script for Airport and change the zero on line 883 to something slightly negative. And also line 931 for the right vari-target. Thinking more about this, I am not sure this is a one or two line fix. See my next comment for a fix to try. Edited April 16 by JCalhoun Link to comment Share on other sites More sharing options...
ryesteve Posted April 16 Share Posted April 16 This was helpful, thanks! I'll play around with it and see what happens. Link to comment Share on other sites More sharing options...
JCalhoun Posted April 16 Share Posted April 16 (edited) Here is a slight (but janky) change to LeftVT_Hit() that might work: Sub LeftVT_Hit(idx) Dim x Lnewpos = idx If ActiveBall.VelY < 0 Then If ActiveBall.VelY < 0.5 Then EMPlayVariTargetSound DOF kDOF_Shaker, DOFOn End If ActiveBall.VelY = ActiveBall.VelY * 0.915 VariTargetL.TransX = -(LeftPosition_Vari * 10) LeftPosition_Vari = idx + 1 End If Loldpos = Lnewpos End Sub The change above is to only turn on the shaker motor (and play a sound) if there is more than a light tap. We still do the other things though (slow down the ball, move the vari-target, increment some value for whatever reason). Maybe that will work. (As an aside, looks like the constant 0.915 above is kind of like the "spring strength" of the vari-target. The closer to 1.0, the looser the spring, allowing you to more easily slam the vari-target all the way home. Something like 0.8 or so would feel like a stiff spring more quickly slowing the ball, very difficult to "peg" the vari-target.) Copy/paste the above to replace the code in the script beginning on line 880. And then there is also a right vari-target: Sub RightVT_Hit(idx) Dim x Rnewpos = idx If ActiveBall.VelY < 0 Then If ActiveBall.VelY < -0.5 Then EMPlayVariTargetSound DOF kDOF_Shaker, DOFOn End If ActiveBall.VelY = ActiveBall.VelY * 0.915 VariTargetR.TransX = -(RightPosition_Vari * 10) RightPosition_Vari = idx + 1 End If Roldpos = Rnewpos End Sub Report back. 🙂 Edited April 16 by JCalhoun Link to comment Share on other sites More sharing options...
JCalhoun Posted April 16 Share Posted April 16 (edited) I'll try to figure out the Right Fix™ and get it in a dot-release (1.4.1, I guess). (EDIT: Baseball has the same code, and I expect the same bug.) Edited April 16 by JCalhoun Link to comment Share on other sites More sharing options...
ryesteve Posted April 16 Share Posted April 16 I didn't have great results. First set them to -.1 and -.5 and was getting the same glitch on both sides. Upped it to -1 and -2 and immediately got it again on the -2 side, so then I went to -5 and -10, and at that point, the vari-targets got noticeably weird, like the ball was getting sucked up the lane with way more force than I was hitting it with. Very much appreciate you looking into this! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now