Advertisement
Guest User

Untitled

a guest
Nov 26th, 2017
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.98 KB | None | 0 0
  1. 'Last Updated in VBS v3.50
  2.  
  3. Option Explicit
  4. LoadCore
  5. Private Sub LoadCore
  6. On Error Resume Next
  7. If VPBuildVersion < 0 Or Err Then
  8. Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") : Err.Clear
  9. ExecuteGlobal fso.OpenTextFile("core.vbs", 1).ReadAll : If Err Then MsgBox "Can't open ""core.vbs""" : Exit Sub
  10. ExecuteGlobal fso.OpenTextFile("VPMKeys.vbs", 1).ReadAll : If Err Then MsgBox "Can't open ""vpmkeys.vbs""" : Exit Sub
  11. Else
  12. ExecuteGlobal GetTextFile("core.vbs") : If Err Then MsgBox "Can't open ""core.vbs""" : Exit Sub
  13. ExecuteGlobal GetTextFile("VPMKeys.vbs") : If Err Then MsgBox "Can't open ""vpmkeys.vbs""" : Exit Sub
  14. End If
  15. End Sub
  16.  
  17. '-------------------------
  18. ' WPC Data
  19. '-------------------------
  20. ' Cabinet switches
  21. Const swCoin1 = 1
  22. Const swCoin2 = 2
  23. Const swCoin3 = 3
  24. Const swCoin4 = 4
  25. Const swCancel = 5
  26. Const swDown = 6
  27. Const swUp = 7
  28. Const swEnter = 8
  29. ' Forgot these in earlier vbs files
  30. Private swStartButtonX,swCoinDoorX,swSlamTiltX
  31. On Error Resume Next
  32. If swStartButton = 13 Or Err Then swStartButtonX = 13 Else swStartButtonX = swStartButton
  33. If swCoinDoor = 22 Or Err Then swCoinDoorX = 22 Else swCoinDoorX = swCoinDoor
  34. If swSlamTilt = 21 Or Err Then swSlamTiltX = 21 Else swSlamTiltX = swSlamTilt
  35. On Error Goto 0
  36.  
  37. Const swLRFlip = 112
  38. Const swLLFlip = 114
  39. Const swURFlip = 116
  40. Const swULFlip = 118
  41.  
  42. ' Help window
  43. vpmSystemHelp = "Williams WPC keys:" & vbNewLine &_
  44. vpmKeyName(keyInsertCoin1) & vbTab & "Insert Coin #1" & vbNewLine &_
  45. vpmKeyName(keyInsertCoin2) & vbTab & "Insert Coin #2" & vbNewLine &_
  46. vpmKeyName(keyInsertCoin3) & vbTab & "Insert Coin #3" & vbNewLine &_
  47. vpmKeyName(keyInsertCoin4) & vbTab & "Insert Coin #4" & vbNewLine &_
  48. vpmKeyName(keyCancel) & vbTab & "Escape (Coin Door)" & vbNewLine &_
  49. vpmKeyName(keyDown) & vbTab & "Down (Coin Door)" & vbNewLine &_
  50. vpmKeyName(keyUp) & vbTab & "Up (Coin Door)" & vbNewLine &_
  51. vpmKeyName(keyEnter) & vbTab & "Enter (Coin Door)" & vbNewLine &_
  52. vpmKeyName(keySlamDoorHit) & vbTab & "Slam Tilt" & vbNewLine &_
  53. vpmKeyName(keyCoinDoor) & vbTab & "Open/Close Coin Door"
  54.  
  55. ' Dips Switch / Options Menu
  56. Private Sub wpcShowDips
  57. If Not IsObject(vpmDips) Then ' First time
  58. Set vpmDips = New cvpmDips
  59. With vpmDips
  60. .AddForm 100, 240, "DIP Switches"
  61. .AddFrame 0,190, 80, "Misc", 0, Array("W20",&H04,"W19",&H08)
  62. .AddFrame 0, 0, 80, "Country", &Hf0,_
  63. Array("USA", &H00, "USA", &Hf0, "European", &Hd0,_
  64. "Export", &Ha0, "Export Alt", &H80, "France", &Hb0,_
  65. "France 1", &H10, "France 2", &H30, "France 3", &H90,_
  66. "Germany", &H20, "Spain", &He0, "UK", &Hc0)
  67. End With
  68. End If
  69. vpmDips.ViewDips
  70. End Sub
  71. Set vpmShowDips = GetRef("wpcShowDips")
  72. Private vpmDips
  73.  
  74. ' Keyboard handlers
  75. Function vpmKeyDown(ByVal keycode)
  76. Dim swCopy
  77. On Error Resume Next
  78. vpmKeyDown = True ' assume we handle the key
  79. With Controller
  80. If keycode = RightFlipperKey Then .Switch(swLRFlip) = True : 'If cSingleRFlip Or Err Then .Switch(swURFlip) = True
  81. If keycode = LeftFlipperKey Then .Switch(swLLFlip) = True : 'If cSingleLFlip Or Err Then .Switch(swULFlip) = True
  82. Select Case keycode
  83. Case keyInsertCoin1 vpmTimer.AddTimer 750,"vpmTimer.PulseSw swCoin1'" : Playsound SCoin
  84. Case keyInsertCoin2 vpmTimer.AddTimer 750,"vpmTimer.PulseSw swCoin2'" : Playsound SCoin
  85. Case keyInsertCoin3 vpmTimer.AddTimer 750,"vpmTimer.PulseSw swCoin3'" : Playsound SCoin
  86. Case keyInsertCoin4 vpmTimer.AddTimer 750,"vpmTimer.PulseSw swCoin4'" : Playsound SCoin
  87. Case StartGameKey swCopy = swStartButtonX : .Switch(swCopy) = True
  88. Case keyCancel swCopy = swCancel : .Switch(swCopy) = True
  89. Case keyDown swCopy = swDown : .Switch(swCopy) = True
  90. Case keyUp swCopy = swUp : .Switch(swCopy) = True
  91. Case keyEnter swCopy = swEnter : .Switch(swCopy) = True
  92. Case keySlamDoorHit swCopy = swSlamTiltX : .Switch(swCopy) = True
  93. Case keyCoinDoor swCopy = swCoinDoorX : If toggleKeyCoinDoor Then .Switch(swCopy) = Not .Switch(swCopy) Else .Switch(swCopy) = Not inverseKeyCoinDoor
  94. Case keyBangBack vpmNudge.DoNudge 0,6
  95. Case LeftTiltKey vpmNudge.DoNudge 75,2
  96. Case RightTiltKey vpmNudge.DoNudge 285,2
  97. Case CenterTiltKey vpmNudge.DoNudge 0,2
  98. Case keyVPMVolume vpmVol
  99. Case Else vpmKeyDown = False
  100. End Select
  101. End With
  102. On Error Goto 0
  103. End Function
  104.  
  105. Function vpmKeyUp(ByVal keycode)
  106. Dim swCopy
  107. On Error Resume Next
  108. vpmKeyUp = True ' assume we handle the key
  109. With Controller
  110. If keycode = RightFlipperKey Then .Switch(swLRFlip) = False : If cSingleRFlip Or Err Then .Switch(swURFlip) = False
  111. If keycode = LeftFlipperKey Then .Switch(swLLFlip) = False : If cSingleLFlip Or Err Then .Switch(swULFlip) = False
  112. Select Case keycode
  113. Case keyCancel swCopy = swCancel : .Switch(swCopy) = False
  114. Case keyDown swCopy = swDown : .Switch(swCopy) = False
  115. Case keyUp swCopy = swUp : .Switch(swCopy) = False
  116. Case keyEnter swCopy = swEnter : .Switch(swCopy) = False
  117. Case keySlamDoorHit swCopy = swSlamTiltX : .Switch(swCopy) = False
  118. Case StartGameKey swCopy = swStartButtonX : .Switch(swCopy) = False
  119. Case keyCoinDoor swCopy = swCoinDoorX : If toggleKeyCoinDoor = False Then .Switch(swCopy) = inverseKeyCoinDoor
  120. Case keyShowOpts .Pause = True : .ShowOptsDialog GetPlayerHWnd : .Pause = False
  121. Case keyShowKeys .Pause = True : vpmShowHelp : .Pause = False
  122. Case keyShowDips If IsObject(vpmShowDips) Then .Pause = True : vpmShowDips : .Pause = False
  123. Case keyAddBall .Pause = True : vpmAddBall : .Pause = False
  124. Case keyReset .Stop : BeginModal : .Run : vpmTimer.Reset : EndModal
  125. Case keyFrame .LockDisplay = Not .LockDisplay
  126. Case keyDoubleSize .DoubleSize = Not .DoubleSize
  127. Case Else vpmKeyUp = False
  128. End Select
  129. End With
  130. On Error Goto 0
  131. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement