Advertisement
Arngrim

fish tales vpx

Apr 30th, 2017
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.37 KB | None | 0 0
  1. '*************************************************************************************************************************************************************
  2. 'FISH TALES
  3. 'Williams 1992
  4. 'version 1.0
  5. 'VPX SS recreation by pinball58
  6. 'Thanks to the authors(PacDude,Melon,Loaded Weapon,ICPjuggla,Zany)who made this table before for the stuff and ideas that I borrowed from their VP9 tables
  7. 'Thanks to Tom Tower for helping me finalize the table
  8. 'Thanks to VPDev Team for the freaking amazing VPX
  9. '*************************************************************************************************************************************************************
  10.  
  11. Option Explicit
  12. Randomize
  13.  
  14. On Error Resume Next
  15. ExecuteGlobal GetTextFile("controller.vbs")
  16. If Err Then MsgBox "You need the controller.vbs in order to run this table, available in the vp10 package"
  17. On Error Goto 0
  18.  
  19. Dim DesktopMode:DesktopMode = FishTales.ShowDT
  20. Dim UseVPMDMD:UseVPMDMD = DesktopMode
  21.  
  22. Dim bsTrough,bsFishFinder,bsVUK,bsReel1,bsReel2,bsReel3,bsCatapult,dtDrop,RampDecals,FlippersColor,FlipColor,DMDColor,DMDCol
  23. Const UseVPMModSol = True
  24. LoadVPM "01560000", "WPC.VBS", 3.50
  25.  
  26. '****************************** TABLE OPTIONS *******************************************************************************************
  27. '****************************************************************************************************************************************
  28.  
  29. RampDecals = 1 'original(no decals) = 0 Ramp with decals = 1
  30.  
  31. FlippersColor = 3 'original(Red Rubber) = 0 Green Rubber = 1 Black Rubber = 2 Random Rubber Color = 3
  32.  
  33. DMDColor = 0 '(only for DesktopMode) 'Orange = 0 Red = 1 Green = 2 Blue = 3 Random DMD Color = 4
  34.  
  35. '****************************************************************************************************************************************
  36. '****************************************************************************************************************************************
  37.  
  38. '*********** Standard definitions ****************
  39.  
  40. Const UseSolenoids = 1
  41. Const UseLamps = 0
  42. Const UseSync = 0
  43. Const UseGI = 1
  44.  
  45. 'Standard Sounds
  46. Const SSolenoidOn = "solenoid"
  47. Const SSolenoidOff = ""
  48. Const SFlipperOn = ""
  49. Const SFlipperOff = ""
  50. Const SCoin = "CoinIn"
  51.  
  52. Set GiCallback2 = GetRef("UpdateGI")
  53.  
  54. Const cGameName = "ft_l5"
  55.  
  56. '*************************************************
  57.  
  58. '************ Fish Tales Init *****************
  59.  
  60. Sub FishTales_Init
  61. vpmInit me
  62. With Controller
  63. .GameName = cGameName
  64. .SplashInfoLine = "Fish Tales - Williams 1992"
  65. If Err Then MsgBox "Can't start Game" & cGameName & vbNewLine & Err.Description:Exit Sub
  66. .ShowTitle = 0
  67. .ShowDMDOnly = 1
  68. .ShowFrame = 0
  69. .HandleKeyboard = 0
  70. .HandleMechanics = 2
  71. .Hidden = DesktopMode
  72. On Error Resume Next
  73. .Run GetPlayerHWnd
  74. If Err Then MsgBox Err.Description
  75. On Error Goto 0
  76. CaptiveBall
  77. MoveGate=True
  78. Ramp15.visible=DesktopMode:Ramp16.visible=DesktopMode
  79. If DesktopMode=False Then
  80. FsSetup
  81. End If
  82. End With
  83.  
  84. 'Nudging
  85. vpmNudge.TiltSwitch = 14
  86. vpmNudge.Sensitivity = 4
  87. vpmNudge.TiltObj = Array(Bumper1, Bumper2, Bumper3, LeftSlingShot, RightSlingShot)
  88.  
  89. 'Trough
  90. Set bsTrough=New cvpmBallStack
  91. With bsTrough
  92. .InitSw 15,16,17,18,0,0,0,0
  93. .InitKick BallRelease,90,7
  94. .InitExitSnd SoundFX("ballrelease",DOFContactors),SoundFX("",DOFContactors)
  95. .Balls=3
  96. End With
  97.  
  98. 'Fish Finder Kicker
  99. Set bsFishFinder=New cvpmBallStack
  100. With bsFishFinder
  101. .InitSw 0,63,0,0,0,0,0,0
  102. .InitKick sw63, 270, 10
  103. .InitExitSnd SoundFX("kicker_kick",DOFContactors),SoundFX("solenoid",DOFContactors)
  104. End With
  105.  
  106. 'Caster Club Vertical Kicker
  107. Set bsVUK=New cvpmSaucer
  108. With bsVUK
  109. .InitKicker sw47,47,0,45,1.56
  110. .InitSounds "kicker_enter_center",SoundFX("solenoid",DOFContactors),SoundFX("vuk_exit",DOFContactors)
  111. End With
  112.  
  113. 'Reel Slot 1
  114. Set bsReel1 = new cvpmBallStack
  115. With BsReel1
  116. .InitSw 0,0,0,0,0,0,0,0
  117. .InitKick ReelExit, 250, 2
  118. .Balls = 0
  119. End With
  120.  
  121. 'Reel Slot 2
  122. Set bsReel2 = new cvpmBallStack
  123. With BsReel2
  124. .InitSw 0,0,0,0,0,0,0,0
  125. .InitKick ReelExit, 250, 2
  126. .Balls = 0
  127. End With
  128.  
  129. 'Reel Slot 3
  130. Set bsReel3 = new cvpmBallStack
  131. With BsReel3
  132. .InitSw 0,0,0,0,0,0,0,0
  133. .InitKick ReelExit, 250, 2
  134. .Balls = 0
  135. End With
  136.  
  137. 'Catapult
  138. Set bsCatapult = new cvpmBallStack
  139. With bsCatapult
  140. .InitSaucer Catapult, 36,0,50
  141. .KickZ=40
  142. .InitExitSnd SoundFX("solenoid",DOFContactors),SoundFX("diverter",DOFContactors)
  143. End With
  144.  
  145. 'Caster Club Drop Target
  146. Set dtDrop=New cvpmDropTarget
  147. With dtDrop
  148. .InitDrop sw48,48
  149. .InitSnd SoundFX("droptarget",DOFDropTargets),SoundFX("resetdrop",DOFContactors)
  150. End With
  151.  
  152. End Sub
  153.  
  154. 'Boat Captive Ball
  155. Sub CaptiveBall():Kicker1.createball:Kicker1.kick 0,1:Kicker1.enabled=0:End Sub
  156.  
  157. '*************************************************
  158.  
  159. '********* Flippers *************
  160.  
  161. SolCallback(sLLFlipper) = "SolLFlipper"
  162. SolCallback(sLRFlipper) = "SolRFlipper"
  163.  
  164. Sub SolLFlipper(Enabled)
  165. If Enabled Then
  166. PlaySound SoundFX("FlipperUp",DOFFlippers),1,0.7,-0.1,0.05
  167. LeftFlipper.RotateToEnd
  168. Else
  169. PlaySound SoundFX("FlipperDown",DOFFlippers),1,0.06,-0.1,0.05
  170. LeftFlipper.RotateToStart
  171. End If
  172. End Sub
  173.  
  174. Sub SolRFlipper(Enabled)
  175. If enabled Then
  176. PlaySound SoundFX("FlipperUp",DOFFlippers),1,0.7,0.1,0.05
  177. RightFlipper.RotateToEnd
  178. Else
  179. PlaySound SoundFX("FlipperDown",DOFFlippers),1,0.06,0.1,0.05
  180. RightFlipper.RotateToStart
  181. End If
  182. End Sub
  183.  
  184. '*******************************
  185.  
  186. '************** Keys *************************
  187.  
  188. Sub FishTales_KeyDown(ByVal keycode)
  189. If keycode = PlungerKey Then Controller.Switch(31) = 1
  190. If keycode = LeftTiltKey Then PlaySound SoundFX("fx_nudge",0)
  191. If keycode = RightTiltKey Then PlaySound SoundFX("fx_nudge",0)
  192. If keycode = CenterTiltKey Then PlaySound SoundFX("fx_nudge",0)
  193. If vpmKeyDown(keycode) Then Exit Sub
  194. End Sub
  195.  
  196. Sub FishTales_KeyUp(ByVal keycode)
  197. If keycode = PlungerKey Then Controller.Switch(31) = 0
  198. If vpmKeyUp(keycode) Then Exit Sub
  199. End Sub
  200.  
  201. '*********************************************
  202.  
  203. '********* Solenoids ************
  204.  
  205. SolCallback(1) = "Auto_Plunger"
  206. SolCallback(2) = "bsCatapult.SolOut"
  207. SolCallback(3) = "bsVUK.SolOut"
  208. SolCallback(6) = "vpmSolgate Gate,SoundFX(""diverter"",DOFContactors),"
  209. SolCallback(7) = "vpmSolSound SoundFX(""knocker"",DOFKnocker),"
  210. SolCallback(9) = "bsTrough.SolIn"
  211. SolCallback(10) = "bsTrough.SolOut"
  212. SolCallback(11) = "bsFishFinder.SolOut"
  213. SolCallback(12) = "dtDrop.SolUnhit 1,"
  214. SolCallback(13) = "dtDrop.SolHit 1,"
  215. SolCallback(28) = "ReelMotor"
  216. SolCallback(51) = "bsReel1.SolOut"
  217. SolCallback(52) = "bsReel2.SolOut"
  218. SolCallback(53) = "bsReel3.SolOut"
  219.  
  220. 'Auto Plunger
  221. Sub Auto_Plunger(Enabled)
  222. If Enabled Then
  223. Plunger.Fire
  224. PlaySound SoundFX("fx_AutoPlunger",DOFContactors)
  225. End If
  226. End Sub
  227.  
  228. 'Flasher Solenoids
  229. 'SolCallback(19) = "IMF" 'Instant Multiball Flasher
  230. SolModCallBack(19) = "IMF" 'Instant Multiball Flasher
  231. 'SolCallback(20) = "LEBF" 'Light Extraball Flasher
  232. SolModCallBack(20) = "LEBF" 'Light Extraball Flasher
  233. 'SolCallback(21) = "RTBF" 'Rock the Boat Flasher
  234. SolModCallBack(21) = "RTBF" 'Rock the Boat Flasher
  235. 'SolCallback(22) = "VMF" 'Video Mode Flasher
  236. SolModCallBack(22) = "VMF" 'Video Mode Flasher
  237. 'SolCallback(23) = "HBF" 'Hold Bonus Flasher
  238. SolModCallBack(23) = "HBF" 'Hold Bonus Flasher
  239. 'SolCallback(25) = "RF" 'Reel Flasher
  240. SolModCallBack(25) = "RF" 'Reel Flasher
  241. 'SolCallback(26) = "TLF" 'Top Left Flasher
  242. SolModCallBack(26) = "TLF" 'Top Left Flasher
  243. 'SolCallback(27) = "CCF" 'Caster Club Flasher
  244. SolModCallBack(27) = "CCF" 'Caster Club Flasher
  245.  
  246. 'Flashers
  247. Sub UpdateLamps
  248. 'VPM returns an 0-255 range value
  249. NFadeLMod IMF, f19
  250. NFadeLMod LEBF, f20
  251. NFadeLMod RTBF, f21
  252. NFadeLMod VMF, f22
  253. NFadeLMod HBF, f23
  254. NFadeLMod RF, f25
  255. NFadeLMod TLF, f26
  256. NFadeLMod IMF, f27
  257. End Sub
  258.  
  259. ' Modulated Flasher and Lights objects
  260.  
  261. Sub SetLampMod(nr, value)
  262. If value > 0 Then
  263. LampState(nr) = 1
  264. Else
  265. LampState(nr) = 0
  266. End If
  267. FadingLevel(nr) = value
  268. End Sub
  269.  
  270. Sub LampMod(nr, object)
  271. Object.IntensityScale = FadingLevel(nr)/128
  272. If TypeName(object) = "Light" Then
  273. Object.State = LampState(nr)
  274. End If
  275. If TypeName(object) = "Flasher" Then
  276. Object.visible = LampState(nr)
  277. End If
  278. End Sub
  279.  
  280. Sub IMF(Enabled)
  281. If Enabled Then
  282. f19.Visible=1
  283. Else
  284. f19.Visible=0
  285. End If
  286. End Sub
  287.  
  288. Sub LEBF(Enabled)
  289. If Enabled Then
  290. f20.Visible=1
  291. Else
  292. f20.Visible=0
  293. End If
  294. End Sub
  295.  
  296. Sub RTBF(Enabled)
  297. If Enabled Then
  298. f21.Visible=1
  299. Else
  300. f21.Visible=0
  301. End If
  302. End Sub
  303.  
  304. Sub VMF(Enabled)
  305. If Enabled Then
  306. f22.Visible=1
  307. Else
  308. f22.Visible=0
  309. End If
  310. End Sub
  311.  
  312. Sub HBF(Enabled)
  313. If Enabled Then
  314. f23.Visible=1
  315. Else
  316. f23.Visible=0
  317. End If
  318. End Sub
  319.  
  320. Sub TLF(Enabled)
  321. If Enabled Then
  322. f26.Visible=1:f26b.Visible=1
  323. Else
  324. f26.Visible=0:f26b.Visible=0
  325. End If
  326. End Sub
  327.  
  328. Sub RF(Enabled)
  329. If Enabled Then
  330. f25.Visible=1:f25a.Visible=1:f25b.Visible=1:f25c.Visible=1
  331. Else
  332. f25.Visible=0:f25a.Visible=0:f25b.Visible=0:f25c.Visible=0
  333. End If
  334. End Sub
  335.  
  336. Sub CCF(Enabled)
  337. If Enabled Then
  338. f27.Visible=1:f27b.Visible=1
  339. If DesktopMode=False Then
  340. f27Fs.Visible=1
  341. End If
  342. Else
  343. f27.Visible=0:f27b.Visible=0
  344. If DesktopMode=False Then
  345. f27Fs.Visible=0
  346. End If
  347. End If
  348. End Sub
  349.  
  350. '*******************************
  351.  
  352. '****************** Switches *********************
  353.  
  354. Sub sw25_Hit():VPMTimer.PulseSw 25:PlaySound "metalhit_thin",1,0.2:End Sub 'Left OutLane
  355. Sub sw26_Hit():VPMTimer.PulseSw 26:PlaySound "metalhit_thin",1,0.2:End Sub 'Left InLane
  356. Sub sw27_Hit():VPMTimer.PulseSw 27:PlaySound SoundFX("target",DOFTargets):End Sub 'Standup Target
  357. Sub sw28_Hit():VPMTimer.PulseSw 28:PlaySound SoundFX("target",DOFTargets):End Sub 'Standup Target
  358. Sub sw32_Hit():VPMTimer.PulseSw 32:MoveSwitchL:End Sub 'Ramp Left Sensor
  359. Sub sw33_Hit():VPMTimer.PulseSw 33:MoveSwitchR:End Sub 'Ramp Right Sensor
  360. Sub sw34_Spin():VPMTimer.PulseSw 34:End Sub 'Spinner
  361. Sub sw41_Hit():VPMTimer.PulseSw 41:PlaySound SoundFX("target",DOFTargets):End Sub 'Target Boat Captive Ball
  362. Sub sw42_Hit():VPMTimer.PulseSw 42:PlaySound "metalhit_thin":End Sub 'Boat Ramp Right Trigger
  363. Sub sw35_Hit():Controller.Switch(35) =1:End Sub 'Reel Entry Trigger
  364. Sub sw35_UnHit():Controller.Switch(35)=0:End Sub
  365. Sub sw43_Hit():VPMTimer.PulseSw 43:PlaySound "metalhit_thin",1,0.2:End Sub 'Boat Ramp Left Trigger
  366. Sub sw44_Hit():VPMTimer.PulseSw 44:PlaySound "metalhit_thin",1,0.2:End Sub 'E Trigger
  367. Sub sw45_Hit():VPMTimer.PulseSw 45:PlaySound "metalhit_thin",1,0.2:End Sub 'I Trigger
  368. Sub sw46_Hit():VPMTimer.PulseSw 46:PlaySound "metalhit_thin",1,0.2:End Sub 'L Trigger
  369. Sub sw47_Hit():bsVUK.Addball me:End Sub 'Caster Club Vertical Kicker
  370. Sub sw48_Hit():dtDrop.Hit 1:End Sub 'Drop Target
  371. Sub sw54_Hit():VPMTimer.PulseSw 54:PlaySound SoundFX("target",DOFTargets):End Sub 'Standup Target
  372. Sub sw55_Hit():VPMTimer.PulseSw 55:PlaySound SoundFX("target",DOFTargets):End Sub 'Standup Target
  373. Sub sw56_Hit():Controller.Switch (56)=1:End Sub 'Shooter Lane Trigger
  374. Sub sw56_UnHit():Controller.Switch (56)=0:End Sub
  375. Sub sw61_Hit():VPMTimer.PulseSW 61:PlaySound SoundFX("target",DOFTargets):End Sub 'Oblong Target
  376. Sub sw62_Hit():VPMTimer.PulseSw 62:PlaySound "metal_thin":MoveGate=True:End Sub 'Right Green Lane Trigger
  377. Sub sw63_Hit():bsFishFinder.Addball me:PlaySound "kicker_enter_center":End Sub 'Fish Finder Kicker
  378. Sub sw64_Hit():VPMTimer.PulseSw 64:PlaySound "metalhit_thin",1,0.2:End Sub 'Left Green Lane Trigger
  379. Sub sw65_Hit():VPMTimer.PulseSw 65:PlaySound "metalhit_thin",1,0.2:End Sub 'Right InLane
  380. Sub sw66_Hit():VPMTimer.PulseSw 66:PlaySound "metalhit_thin",1,0.2:End Sub 'Right OutLane
  381.  
  382. '**************************************************
  383.  
  384. '****************** Drain *******************
  385.  
  386. Sub Drain_Hit():Playsound "drain":bsTrough.AddBall Me:End Sub
  387.  
  388. '********************************************
  389.  
  390. '********** Bumpers **********************************************
  391.  
  392. Sub Bumper1_Hit
  393. VPMTimer.PulseSw 51
  394. Dim BumpSound
  395. BumpSound = Int(rnd*4)+1
  396. Select Case BumpSound
  397. Case 1: PlaySound SoundFX("fx_bumper1",DOFContactors)
  398. Case 2: PlaySound SoundFX("fx_bumper2",DOFContactors)
  399. Case 3: PlaySound SoundFX("fx_bumper3",DOFContactors)
  400. Case 4: PlaySound SoundFX("fx_bumper4",DOFContactors)
  401. End Select
  402. End Sub
  403.  
  404. Sub Bumper2_Hit
  405. VPMTimer.PulseSw 52
  406. Dim BumpSound
  407. BumpSound = Int(rnd*4)+1
  408. Select Case BumpSound
  409. Case 1: PlaySound SoundFX("fx_bumper1",DOFContactors)
  410. Case 2: PlaySound SoundFX("fx_bumper2",DOFContactors)
  411. Case 3: PlaySound SoundFX("fx_bumper3",DOFContactors)
  412. Case 4: PlaySound SoundFX("fx_bumper4",DOFContactors)
  413. End Select
  414. End Sub
  415.  
  416. Sub Bumper3_Hit
  417. VPMTimer.PulseSw 53
  418. Dim BumpSound
  419. BumpSound = Int(rnd*4)+1
  420. Select Case BumpSound
  421. Case 1: PlaySound SoundFX("fx_bumper1",DOFContactors)
  422. Case 2: PlaySound SoundFX("fx_bumper2",DOFContactors)
  423. Case 3: PlaySound SoundFX("fx_bumper3",DOFContactors)
  424. Case 4: PlaySound SoundFX("fx_bumper4",DOFContactors)
  425. End Select
  426. End Sub
  427.  
  428. '*****************************************************************
  429.  
  430. '********** Slingshots ***************
  431.  
  432. Dim Lstep,RStep
  433.  
  434. Sub LeftSlingShot_Slingshot
  435. VPMTimer.PulseSw 57
  436. PlaySound SoundFX("LSling",DOFContactors),0,1,-0.05,0.05
  437. LSling.Visible = 0
  438. LSling1.Visible = 1
  439. sling2.TransZ = -32
  440. LStep = 0
  441. LeftSlingShot.TimerEnabled = 1
  442. End Sub
  443.  
  444. Sub LeftSlingShot_Timer
  445. Select Case LStep
  446. Case 3:LSLing1.Visible = 0:LSLing2.Visible = 1:sling2.TransZ = -17
  447. Case 4:LSLing2.Visible = 0:LSLing.Visible = 1:sling2.TransZ = 0:LeftSlingShot.TimerEnabled = 0
  448. End Select
  449. LStep = LStep + 1
  450.  
  451. End Sub
  452.  
  453. Sub RightSlingShot_Slingshot
  454. VPMTimer.PulseSw 58
  455. PlaySound SoundFX("RSling",DOFContactors), 0, 1, 0.05, 0.05
  456. RSling.Visible = 0
  457. RSling1.Visible = 1
  458. sling1.TransZ = -32
  459. RStep = 0
  460. RightSlingShot.TimerEnabled = 1
  461. End Sub
  462.  
  463. Sub RightSlingShot_Timer
  464. Select Case RStep
  465. Case 3:RSLing1.Visible = 0:RSLing2.Visible = 1:sling1.TransZ = -17
  466. Case 4:RSLing2.Visible = 0:RSLing.Visible = 1:sling1.TransZ = 0:RightSlingShot.TimerEnabled = 0
  467. End Select
  468. RStep = RStep + 1
  469. End Sub
  470.  
  471. '*******************************************
  472.  
  473. '********************** Fishing Reel Motor ****************************
  474.  
  475. Dim ReelPosition,PosInitial
  476.  
  477. Sub ReelMotor(enabled)
  478. If enabled Then
  479. ReelRotation
  480. PlaySound SoundFX("motor_on",DOFGear),1,0.6,-0.1
  481. Else
  482. StopSound "motor_on"
  483. End If
  484. End Sub
  485.  
  486. Sub ReelRotation
  487. ReelTimer.enabled=1
  488. ReelPosition=0
  489. PosInitial=Reel.RotX
  490. End Sub
  491.  
  492. Sub ReelTimer_Timer()
  493. Reel.RotX=PosInitial+ReelPosition
  494. ReelPosition=ReelPosition+10
  495. If ReelPosition>120 Then
  496. ReelPosition=0
  497. ReelTimer.enabled=0
  498. If Reel.RotX=300 Then Reel.RotX=-60
  499. End If
  500. End Sub
  501.  
  502. Sub ReelEnter_Hit()
  503. Dim nHole
  504. Stopsound "metal"
  505. PlaySound "hop2"
  506. Me.DestroyBall
  507. nHole = Controller.GetMech(1) 'Return which Ball Lock is UP!
  508. 'Which hole is UP?
  509. Select Case nHole
  510. Case 1
  511. bsReel1.AddBall 0
  512. Case 2
  513. bsReel2.AddBall 0
  514. Case 3
  515. bsReel3.AddBall 0
  516. Case Else
  517. 'No hole up, we'll call this method again in 500 ms, and try again!
  518. VPMPulseTimer.AddTimer 500,"ReelEnter_Hit '"
  519. End Select
  520. End Sub
  521.  
  522. '*********************************************************************
  523.  
  524. '********* Catapult ***********
  525.  
  526. Sub Catapult_Hit():bsCatapult.AddBall Me:End Sub
  527.  
  528. Sub Catapult_UnHit():CatAnim:End Sub
  529.  
  530. Dim catdir
  531.  
  532. Sub CatAnim()
  533. catdir=1
  534. CatapultTimer.enabled=1
  535. End Sub
  536.  
  537. Sub CatapultTimer_timer()
  538. Primitive98.RotX=Primitive98.RotX+catdir
  539. If Primitive98.RotX>=90 And catdir=1 Then catdir=-1
  540. If Primitive98.RotX<=1 Then CatapultTimer.enabled=0
  541. End Sub
  542.  
  543. '******************************
  544.  
  545. '********** In Game Updates ************
  546.  
  547. Sub IGUpdates_timer()
  548. Reel1.RotX=Reel.RotX
  549. If MoveGate=True Then
  550. Primitive100.ObjRotY=Gate.CurrentAngle*(-1)
  551. If Gate.CurrentAngle>=75 Then Primitive100.ObjRotY=-75 End If
  552. If Gate.CurrentAngle<=0 Then Primitive100.ObjRotY=-15 End If
  553. If Gate.Open=True Then
  554. Wall135.IsDropped=True
  555. Else
  556. Wall135.IsDropped=False
  557. End If
  558. End If
  559. Primitive109.RotY=LeftFlipper.CurrentAngle-90
  560. Primitive110.RotY=RightFlipper.CurrentAngle+90
  561. End Sub
  562.  
  563. Dim MoveGate,verso,verso2
  564.  
  565. Sub Gate_Hit()
  566. PlaySound "gate"
  567. MoveGate=False
  568. Wall135.IsDropped=True
  569. GateAnim.Enabled=1
  570. verso=-1
  571. End Sub
  572.  
  573. Sub GateAnim_timer()
  574. Primitive100.ObjRotY=Primitive100.ObjRotY+verso
  575. If Primitive100.ObjRotY<=-60 Then verso=1
  576. If Primitive100.ObjRotY>=-15 Then
  577. GateAnim.enabled=0
  578. Primitive100.ObjRotY=-15
  579. MoveGate=True
  580. End If
  581. End Sub
  582.  
  583. Sub Wall135_Hit()
  584. PlaySound "metalhit_medium"
  585. MoveGate=False
  586. GateAnim2.enabled=1
  587. verso2=1
  588. End Sub
  589.  
  590. Sub GateAnim2_timer()
  591. Primitive100.ObjRotY=Primitive100.ObjRotY+verso
  592. If Primitive100.ObjRotY>=0 Then verso=-1
  593. If Primitive100.ObjRotY<=-15 Then
  594. GateAnim2.enabled=0
  595. Primitive100.ObjRotY=-15
  596. MoveGate=True
  597. End If
  598. End Sub
  599.  
  600. Sub sw47_UnHit()
  601. Primitive146.TransY=20
  602. VUK.enabled=1
  603. End Sub
  604.  
  605. Sub VUK_timer()
  606. Primitive146.TransY=0
  607. VUK.enabled=0
  608. End Sub
  609.  
  610. Sub MoveSwitchL()
  611. Primitive147.RotX=67:PlaySound "target":CallReturnSwL.enabled=1
  612. End Sub
  613.  
  614. Sub MoveSwitchR()
  615. Primitive148.RotX=67:PlaySound "target":CallReturnSwR.enabled=1
  616. End Sub
  617.  
  618. Sub CallReturnSwL_timer()
  619. ReturnSwL.enabled=1
  620. CallReturnSwL.enabled=0
  621. End Sub
  622.  
  623. Sub CallReturnSwR_timer()
  624. ReturnSwR.enabled=1
  625. CallReturnSwR.enabled=0
  626. End Sub
  627.  
  628. Sub ReturnSwL_timer()
  629. Primitive147.RotX=Primitive147.RotX+1
  630. If Primitive147.RotX=80 Then
  631. ReturnSwL.enabled=0
  632. Primitive147.RotX=80
  633. End If
  634. End Sub
  635.  
  636. Sub ReturnSwR_timer()
  637. Primitive148.RotX=Primitive148.RotX+1
  638. If Primitive148.RotX=80 Then
  639. ReturnSwR.enabled=0
  640. Primitive148.RotX=80
  641. End If
  642. End Sub
  643.  
  644. '***************************************
  645.  
  646. '*************** Global Illumination *****************
  647.  
  648. Dim gistep
  649.  
  650. Sub UpdateGI(no, step)
  651. Dim xx
  652. If step=0 Then exit Sub
  653. gistep=(step-1)/7
  654. debug.print gistep
  655. iF gistep = 1 Then
  656. DOF 101, DOFOn
  657. Else
  658. DOF 101, DOFOff
  659. End If
  660.  
  661. Select Case no
  662. Case 2 'Top GI
  663. For each xx in TopGI:xx.IntensityScale=gistep:next
  664. Case 4 'Bottom GI
  665. For each xx in BottomGI:xx.IntensityScale=gistep:next
  666. End Select
  667.  
  668. FishTales.ColorGradeImage = "ColorGrade_" & step
  669.  
  670. End Sub
  671.  
  672. '*****************************************************
  673.  
  674. '***************************************************
  675. ' JP's VP10 Fading Lamps & Flashers
  676. ' Based on PD's Fading Light System
  677. ' SetLamp 0 is Off
  678. ' SetLamp 1 is On
  679. ' fading for non opacity objects is 4 steps
  680. '***************************************************
  681.  
  682. Dim LampState(200), FadingLevel(200)
  683. Dim FlashSpeedUp(200), FlashSpeedDown(200), FlashMin(200), FlashMax(200), FlashLevel(200)
  684.  
  685. InitLamps() ' turn off the lights and flashers and reset them to the default parameters
  686. LampTimer.Interval = 5 'lamp fading speed
  687. LampTimer.Enabled = 1
  688.  
  689. ' Lamp & Flasher Timers
  690.  
  691. Sub LampTimer_Timer()
  692. Dim chgLamp, num, chg, ii
  693. chgLamp = Controller.ChangedLamps
  694. If Not IsEmpty(chgLamp) Then
  695. For ii = 0 To UBound(chgLamp)
  696. LampState(chgLamp(ii, 0) ) = chgLamp(ii, 1) 'keep the real state in an array
  697. FadingLevel(chgLamp(ii, 0) ) = chgLamp(ii, 1) + 4 'actual fading step
  698. Next
  699. End If
  700. UpdateLamps
  701. End Sub
  702.  
  703. Sub UpdateLamps
  704. 'NFadeL 1, l1
  705. 'NFadeL 2, l2
  706. 'NFadeL 3, l3
  707. 'NFadeL 4, l4
  708. 'NFadeL 5, l5
  709. 'NFadeL 6, l6
  710. 'NFadeL 7, l7
  711. 'NFadeL 8, l8
  712. 'NFadeL 9, l9
  713. 'NFadeL 10, l10
  714. NFadeLm 11, l11a
  715. FadeObj 11, l11, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  716. NFadeLm 12, l12a
  717. FadeObj 12, l12, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  718. NFadeLm 13, l13a
  719. FadeObj 13, l13, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  720. NFadeLm 14, l14a
  721. FadeObj 14, l14, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  722. NFadeLm 15, l15a
  723. FadeObj 15, l15, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  724. NFadeLm 16, l16
  725. Flash 16, l16f
  726. NFadeLm 17, l17
  727. Flash 17, l17f
  728. NFadeLm 18, l18
  729. Flash 18, l18f
  730. 'NFadeL 19, l19
  731. 'NFadeL 20, l20
  732. NFadeL 21, l21
  733. NFadeL 22, l22
  734. NFadeL 23, l23
  735. NFadeL 24, l24
  736. NFadeL 25, l25
  737. NFadeL 26, l26
  738. NFadeL 27, l27
  739. NFadeL 28, l28
  740. 'NFadeL 29, l29
  741. 'NFadeL 30, l30
  742. NFadeL 31, l31
  743. NFadeL 32, l32
  744. NFadeL 33, l33
  745. NFadeL 34, l34
  746. NFadeLm 35, l35a
  747. FadeObj 35, l35, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  748. NFadeLm 36, l36a
  749. FadeObj 36, l36, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  750. NFadeLm 37, l37a
  751. FadeObj 37, l37, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  752. NFadeLm 38, l38a
  753. FadeObj 38, l38, "mpfl4", "mpfl3", "mpfl2", "mpfl1"
  754. 'NFadeL 39, l39
  755. 'NFadeL 40, l40
  756. NFadeL 41, l41
  757. NFadeL 42, l42
  758. NFadeL 43, l43
  759. NFadeL 44, l44
  760. NFadeL 45, l45
  761. NFadeL 46, l46
  762. NFadeL 47, l47
  763. NFadeLm 48, l48
  764. NFadeL 48, l48a
  765. 'NFadeL 49, l49
  766. 'NFadeL 50, l50
  767. NFadeL 51, l51
  768. NFadeL 52, l52
  769. NFadeL 53, l53
  770. NFadeL 54, l54
  771. NFadeL 55, l55
  772. NFadeL 56, l56
  773. NFadeL 57, l57
  774. NFadeL 58, l58
  775. 'NFadeL 59, l59
  776. 'NFadeL 60, l60
  777. NFadeL 61, l61
  778. NFadeL 62, l62
  779. NFadeL 63, l63
  780. NFadeL 64, l64
  781. NFadeL 65, l65
  782. NFadeL 66, l66
  783. NFadeL 67, l67
  784. NFadeL 68, l68
  785. 'NFadeL 69, l69
  786. 'NFadeL 70, l70
  787. Flash 71, l71
  788. NFadeL 72, l72
  789. NFadeL 73, l73
  790. NFadeL 74, l74
  791. NFadeL 75, l75
  792. NFadeL 76, l76
  793. NFadeL 77, l77
  794. NFadeL 78, l78
  795. 'NFadeL 79, l79
  796. 'NFadeL 80, l80
  797. Flashm 81, l81
  798. Flash 81, l81b
  799. Flashm 82, l82
  800. Flash 82, l82b
  801. Flashm 83, l83
  802. Flash 83, l83b
  803. Flashm 84, l84
  804. Flash 84, l84b
  805. Flashm 85, l85
  806. Flash 85, l85b
  807. Flash 86, l86
  808.  
  809. End Sub
  810.  
  811. ' div lamp subs
  812.  
  813. Sub InitLamps()
  814. Dim x
  815. For x = 0 to 200
  816. LampState(x) = 0 ' current light state, independent of the fading level. 0 is off and 1 is on
  817. FadingLevel(x) = 4 ' used to track the fading state
  818. FlashSpeedUp(x) = 0.4 ' faster speed when turning on the flasher
  819. FlashSpeedDown(x) = 0.2 ' slower speed when turning off the flasher
  820. FlashMax(x) = 1 ' the maximum value when on, usually 1
  821. FlashMin(x) = 0 ' the minimum value when off, usually 0
  822. FlashLevel(x) = 0 ' the intensity of the flashers, usually from 0 to 1
  823. Next
  824. End Sub
  825.  
  826. Sub AllLampsOff
  827. Dim x
  828. For x = 0 to 200
  829. SetLamp x, 0
  830. Next
  831. End Sub
  832.  
  833. Sub SetLamp(nr, value)
  834. If value <> LampState(nr) Then
  835. LampState(nr) = abs(value)
  836. FadingLevel(nr) = abs(value) + 4
  837. End If
  838. End Sub
  839.  
  840. ' Lights: used for VP10 standard lights, the fading is handled by VP itself
  841.  
  842. Sub NFadeL(nr, object)
  843. Select Case FadingLevel(nr)
  844. Case 4:object.state = 0:FadingLevel(nr) = 0
  845. Case 5:object.state = 1:FadingLevel(nr) = 1
  846. End Select
  847. End Sub
  848.  
  849. Sub NFadeLm(nr, object) ' used for multiple lights
  850. Select Case FadingLevel(nr)
  851. Case 4:object.state = 0
  852. Case 5:object.state = 1
  853. End Select
  854. End Sub
  855.  
  856. 'Lights, Ramps & Primitives used as 4 step fading lights
  857. 'a,b,c,d are the images used from on to off
  858.  
  859. Sub FadeObj(nr, object, a, b, c, d)
  860. Select Case FadingLevel(nr)
  861. Case 4:object.image = b:FadingLevel(nr) = 6 'fading to off...
  862. Case 5:object.image = a:FadingLevel(nr) = 1 'ON
  863. Case 6, 7, 8:FadingLevel(nr) = FadingLevel(nr) + 1 'wait
  864. Case 9:object.image = c:FadingLevel(nr) = FadingLevel(nr) + 1 'fading...
  865. Case 10, 11, 12:FadingLevel(nr) = FadingLevel(nr) + 1 'wait
  866. Case 13:object.image = d:FadingLevel(nr) = 0 'Off
  867. End Select
  868. End Sub
  869.  
  870. Sub FadeObjm(nr, object, a, b, c, d)
  871. Select Case FadingLevel(nr)
  872. Case 4:object.image = b
  873. Case 5:object.image = a
  874. Case 9:object.image = c
  875. Case 13:object.image = d
  876. End Select
  877. End Sub
  878.  
  879. Sub NFadeObj(nr, object, a, b)
  880. Select Case FadingLevel(nr)
  881. Case 4:object.image = b:FadingLevel(nr) = 0 'off
  882. Case 5:object.image = a:FadingLevel(nr) = 1 'on
  883. End Select
  884. End Sub
  885.  
  886. Sub NFadeObjm(nr, object, a, b)
  887. Select Case FadingLevel(nr)
  888. Case 4:object.image = b
  889. Case 5:object.image = a
  890. End Select
  891. End Sub
  892.  
  893. ' Flasher objects
  894.  
  895. Sub Flash(nr, object)
  896. Select Case FadingLevel(nr)
  897. Case 4 'off
  898. FlashLevel(nr) = FlashLevel(nr) - FlashSpeedDown(nr)
  899. If FlashLevel(nr) < FlashMin(nr) Then
  900. FlashLevel(nr) = FlashMin(nr)
  901. FadingLevel(nr) = 0 'completely off
  902. End if
  903. Object.IntensityScale = FlashLevel(nr)
  904. Case 5 ' on
  905. FlashLevel(nr) = FlashLevel(nr) + FlashSpeedUp(nr)
  906. If FlashLevel(nr) > FlashMax(nr) Then
  907. FlashLevel(nr) = FlashMax(nr)
  908. FadingLevel(nr) = 1 'completely on
  909. End if
  910. Object.IntensityScale = FlashLevel(nr)
  911. End Select
  912. End Sub
  913.  
  914. Sub Flashm(nr, object) 'multiple flashers, it just sets the flashlevel
  915. Object.IntensityScale = FlashLevel(nr)
  916. End Sub
  917.  
  918. '*******************************************************
  919.  
  920. ' *********************************************************************
  921. ' Supporting Ball & Sound Functions
  922. ' *********************************************************************
  923.  
  924. Function Vol(ball) ' Calculates the Volume of the sound based on the ball speed
  925. Vol = Csng(BallVel(ball) ^2 / 4000)
  926. End Function
  927.  
  928. Function Pan(ball) ' Calculates the pan for a ball based on the X position on the table. "table1" is the name of the table
  929. Dim tmp
  930. tmp = ball.x * 2 / FishTales.width-1
  931. If tmp > 0 Then
  932. Pan = Csng(tmp ^10)
  933. Else
  934. Pan = Csng(-((- tmp) ^10) )
  935. End If
  936. End Function
  937.  
  938. Function Pitch(ball) ' Calculates the pitch of the sound based on the ball speed
  939. Pitch = BallVel(ball) * 20
  940. End Function
  941.  
  942. Function BallVel(ball) 'Calculates the ball speed
  943. BallVel = INT(SQR((ball.VelX ^2) + (ball.VelY ^2) ) )
  944. End Function
  945.  
  946. '*****************************************
  947. ' JP's VP10 Rolling Sounds
  948. '*****************************************
  949.  
  950. Const tnob = 5 ' total number of balls
  951. ReDim rolling(tnob)
  952. InitRolling
  953.  
  954. Sub InitRolling
  955. Dim i
  956. For i = 0 to tnob
  957. rolling(i) = False
  958. Next
  959. End Sub
  960.  
  961. Sub RollingTimer_Timer()
  962. Dim BOT, b
  963. BOT = GetBalls
  964.  
  965. ' stop the sound of deleted balls
  966. For b = UBound(BOT) + 1 to tnob
  967. rolling(b) = False
  968. StopSound("fx_ballrolling" & b)
  969. Next
  970.  
  971. ' exit the sub if no balls on the table
  972. If UBound(BOT) = -1 Then Exit Sub
  973.  
  974. ' play the rolling sound for each ball
  975. For b = 0 to UBound(BOT)
  976. If BallVel(BOT(b) ) > 1 AND BOT(b).z < 30 Then
  977. rolling(b) = True
  978. PlaySound("fx_ballrolling" & b), -1, Vol(BOT(b) ), Pan(BOT(b) ), 0, Pitch(BOT(b) ), 1, 0
  979. Else
  980. If rolling(b) = True Then
  981. StopSound("fx_ballrolling" & b)
  982. rolling(b) = False
  983. End If
  984. End If
  985. Next
  986. End Sub
  987.  
  988. '**********************
  989. ' Ball Collision Sound
  990. '**********************
  991.  
  992. Sub OnBallBallCollision(ball1, ball2, velocity)
  993. PlaySound("fx_collide"), 0, Csng(velocity) ^2 / 2000, Pan(ball1), 0, Pitch(ball1), 0, 0
  994. End Sub
  995.  
  996. '************************************
  997. ' What you need to add to your table
  998. '************************************
  999.  
  1000. ' a timer called RollingTimer. With a fast interval, like 10
  1001. ' one collision sound, in this script is called fx_collide
  1002. ' as many sound files as max number of balls, with names ending with 0, 1, 2, 3, etc
  1003. ' for ex. as used in this script: fx_ballrolling0, fx_ballrolling1, fx_ballrolling2, fx_ballrolling3, etc
  1004.  
  1005. '******************************************
  1006. ' Explanation of the rolling sound routine
  1007. '******************************************
  1008.  
  1009. ' sounds are played based on the ball speed and position
  1010.  
  1011. ' the routine checks first for deleted balls and stops the rolling sound.
  1012.  
  1013. ' The For loop goes through all the balls on the table and checks for the ball speed and
  1014. ' if the ball is on the table (height lower than 30) then then it plays the sound
  1015. ' otherwise the sound is stopped, like when the ball has stopped or is on a ramp or flying.
  1016.  
  1017. ' The sound is played using the VOL, PAN and PITCH functions, so the volume and pitch of the sound
  1018. ' will change according to the ball speed, and the PAN function will change the stereo position according
  1019. ' to the position of the ball on the table.
  1020.  
  1021. '**************************************
  1022. ' Explanation of the collision routine
  1023. '**************************************
  1024.  
  1025. ' The collision is built in VP.
  1026. ' You only need to add a Sub OnBallBallCollision(ball1, ball2, velocity) and when two balls collide they
  1027. ' will call this routine. What you add in the sub is up to you. As an example is a simple Playsound with volume and paning
  1028. ' depending of the speed of the collision.
  1029.  
  1030. Sub Rubbers_Hit(idx)
  1031. dim finalspeed
  1032. finalspeed=SQR(activeball.velx * activeball.velx + activeball.vely * activeball.vely)
  1033. If finalspeed > 20 then
  1034. PlaySound "fx_rubber2", 0, Vol(ActiveBall)*2, Pan(ActiveBall), 0, Pitch(ActiveBall), 1, 0
  1035. End if
  1036. If finalspeed >= 6 AND finalspeed <= 20 then
  1037. RandomSoundRubber()
  1038. End If
  1039. End Sub
  1040.  
  1041. Sub RandomSoundRubber()
  1042. Select Case Int(Rnd*3)+1
  1043. Case 1 : PlaySound "rubber_hit_1", 0, Vol(ActiveBall)*2, Pan(ActiveBall), 0, Pitch(ActiveBall), 1, 0
  1044. Case 2 : PlaySound "rubber_hit_2", 0, Vol(ActiveBall)*2, Pan(ActiveBall), 0, Pitch(ActiveBall), 1, 0
  1045. Case 3 : PlaySound "rubber_hit_3", 0, Vol(ActiveBall)*2, Pan(ActiveBall), 0, Pitch(ActiveBall), 1, 0
  1046. End Select
  1047. End Sub
  1048.  
  1049. Sub LeftFlipper_Collide(parm)
  1050. PlaySound "fx_rubber2", 0, parm / 50, -0.1, 0.15
  1051. End Sub
  1052.  
  1053. Sub RightFlipper_Collide(parm)
  1054. PlaySound "fx_rubber2", 0, parm / 50, 0.1, 0.15
  1055. End Sub
  1056.  
  1057. '***********************************************************************************************
  1058.  
  1059. '******************* Others Table Sounds *************************
  1060.  
  1061. Sub Trigger1_Hit():PlaySound "metal":End Sub 'Caster Club Wire Ramp Hit
  1062. Sub Trigger2_Hit():Tock.enabled=1:End Sub 'Exit Catapult Ramp Playfield Hit
  1063. Sub Tock_timer():PlaySound "ballhoptwice",1,0.3:Tock.enabled=0:End Sub
  1064. Sub Trigger3_Hit():PlaySound "fx_metalrolling":End Sub 'Catapult Ramp Hit
  1065. Sub Trigger4_Hit():PlaySound "metal":End Sub
  1066. Sub Trigger5_Hit():PlaySound "fx_metalrolling":End Sub 'Left Boat Ramp Hit
  1067. Sub Trigger6_Hit():PlaySound "fx_metalrolling":End Sub 'Right Boat ramp Hit
  1068. Sub Trigger7_Hit():Trigger8.enabled=1:StopSound "fx_metalrolling":End Sub 'Exit Left Boat Ramp Playfield Hit
  1069. Sub Trigger8_Hit():PlaySound "ballhop",1,0.3:Trigger8.enabled=0:End Sub
  1070. Sub Trigger9_Hit():Trigger10.enabled=1:StopSound "fx_metalrolling":End Sub 'Exit Right Boat Ramp Playfield Hit
  1071. Sub Trigger10_Hit():PlaySound "ballhop",1,0.3:Trigger10.enabled=0:End Sub
  1072. Sub Wall48_Hit():PlaySound "rubber_hit_3",1,0.2:End Sub 'Left Boat Ramp Stopper Hit
  1073. Sub Wall110_Hit():PlaySound "rubber_hit_3",1,0.2:End Sub 'Right Boat Ramp Stopper Hit
  1074. Sub Trigger11_Hit():PlaySound "metalhit_medium",1,0.2:End Sub 'ShooterLane Ramp Hit
  1075. Sub Trigger13_Hit():StopSound "metal":Trigger14.enabled=1:End Sub
  1076. Sub Trigger14_Hit():PlaySound "ballhoptwice",1,0.05:Trigger14.enabled=0:End Sub 'Exit ShooterLane Ramp Playfield Hit
  1077. Sub Wall97_Hit():PlaySound "metalhit_thin":End Sub 'Release Ball Hit
  1078. Sub Wall216_Hit():PlaySound "metalhit_medium",1,0.01:End Sub 'Plunger Hit
  1079. Sub Trigger12_Hit():PlaySound "metalhit2",1,0.1:End Sub 'Boat Ramp Hit
  1080. Sub Wall53_Hit():PlaySound "metalhit_medium",0,Vol(ActiveBall)*3,Pan(ActiveBall),0,Pitch(ActiveBall),1,0:End Sub 'Apron Hit
  1081. Sub Wall146_Hit():PlaySound "metalhit_thin":End Sub 'Little Wire Guide of I lane Hit
  1082. Sub Wall147_Hit():PlaySound "metalhit_thin":End Sub 'Little Wire Guide of I lane Hit
  1083. Sub Wall148_Hit():PlaySound "metalhit_thin":End Sub 'Fish Finder metal guide on enter Hit
  1084.  
  1085. '*****************************************************************
  1086.  
  1087. '********* Table Options **********
  1088.  
  1089. If RampDecals=0 Then Ramp34.visible=0:Ramp35.visible=0:Primitive132.visible=0:Primitive142.visible=1:Primitive133.visible=0:Primitive143.visible=1:End If
  1090. If FlippersColor=1 Then Primitive109.image="ft_flipper_left_GREEN":Primitive110.image="ft_flipper_right_GREEN":End If
  1091. If FlippersColor=2 Then Primitive109.image="ft_flipper_left_BLACK":Primitive110.image="ft_flipper_right_BLACK":End If
  1092. If FlippersColor=3 Then FlipColor=Int(Rnd*3)+1 End If
  1093. Select Case FlipColor
  1094. Case 1 : Primitive109.image="ft_flipper_left":Primitive110.image="ft_flipper_right"
  1095. Case 2 : Primitive109.image="ft_flipper_left_GREEN":Primitive110.image="ft_flipper_right_GREEN"
  1096. Case 3 : Primitive109.image="ft_flipper_left_BLACK":Primitive110.image="ft_flipper_right_BLACK"
  1097. End Select
  1098. If DMDColor=0 Then ScoreText1.Visible=0:ScoreText2.Visible=0:ScoreText3.Visible=0:End If
  1099. If DMDColor=1 Then ScoreText.Visible=0:ScoreText1.Visible=1:ScoreText2.Visible=0:ScoreText3.Visible=0:End If
  1100. If DMDColor=2 Then ScoreText.Visible=0:ScoreText1.Visible=0:ScoreText2.Visible=1:ScoreText3.Visible=0:End If
  1101. If DMDColor=3 Then ScoreText.Visible=0:ScoreText1.Visible=0:ScoreText2.Visible=0:ScoreText3.Visible=1:End If
  1102. If DMDColor=4 Then DMDCol=Int(Rnd*4)+1 End If
  1103. Select Case DMDCol
  1104. Case 1 : ScoreText1.Visible=0:ScoreText2.Visible=0:ScoreText3.Visible=0
  1105. Case 2 : ScoreText.Visible=0:ScoreText1.Visible=1:ScoreText2.Visible=0:ScoreText3.Visible=0
  1106. Case 3 : ScoreText.Visible=0:ScoreText1.Visible=0:ScoreText2.Visible=1:ScoreText3.Visible=0
  1107. Case 4 : ScoreText.Visible=0:ScoreText1.Visible=0:ScoreText2.Visible=0:ScoreText3.Visible=1
  1108. End Select
  1109.  
  1110. '**********************************
  1111.  
  1112. '******** Cabinet Mode Adjustment *********
  1113.  
  1114. Sub FsSetup()
  1115. l86.Height=280:l16f.Height=270:l17f.Height=270:l18f.Height=270:l81.RotX=90:l82.RotX=90:l83.RotX=90:l84.RotX=90:l85.RotX=90:l81.Height=320:l82.Height=280:l83.Height=250:l84.Height=215:l85.Height=170
  1116. l81b.Opacity=700:l82b.Opacity=700:l83b.Opacity=700:l84b.Opacity=700:l85b.Opacity=700:l81b.Height=325:l82b.Height=290:l83b.Height=260:l84b.Height=220:l85b.Height=185
  1117. l71.Height=200:LMoray.Height=320:LPufferFish.Height=240:LMermaid.Height=320:LTail.Height=310:LLittleFish.Height=320:Light11.Intensity=5:Light12.Intensity=5
  1118. f26.Height=500:f26.RotX=0:Lboat.Y=650:Lboat.RotX=0:Lboat.Height=170:f27.Height=250:f27.Opacity=800
  1119. End Sub
  1120.  
  1121. '******************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement