Shuvit game master repo. http://shuvit.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

inputs.py 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. ################################################
  2. #inputs.py #
  3. #inputs to global dict #
  4. #shuvit.org #
  5. ################################################
  6. import bge
  7. from bge import events
  8. from bge import logic as G
  9. def main():
  10. #####
  11. #init
  12. cont = bge.logic.getCurrentController()
  13. scene = bge.logic.getCurrentScene()
  14. own = cont.owner
  15. dict = bge.logic.globalDict #Get the global dictionary
  16. aXis = cont.sensors['Joystick.001']
  17. bUtt = cont.sensors['Joystick']
  18. reduction = 400000
  19. axisTh = 0.03
  20. joy_con = dict['joy_con']
  21. scenes = bge.logic.getSceneList()
  22. #hard controller mappings
  23. lar_lts = 0
  24. uad_lts = 1
  25. lar_rts = 2
  26. uad_rts = 3
  27. lt = 4
  28. rt = 5
  29. a_but = 0
  30. b_but = 1
  31. x_but = 2
  32. y_but = 3
  33. l_bump = 9
  34. r_bump = 10
  35. bk_but = 4
  36. st_but = 6
  37. xb_but = 5
  38. lts_pr = 7
  39. rts_pr = 8
  40. l_dp = 13
  41. r_dp = 14
  42. u_dp = 11
  43. d_dp = 12
  44. reduction = 400000
  45. axisTh = 0.03
  46. if not any(bge.logic.joysticks):
  47. #print("joystick not connnected")
  48. dict['joy_con'] = 0
  49. else:
  50. dict['joy_con'] = 1
  51. if dict['joy_con'] != dict['last_joy_con'] and own['counter'] > 500:
  52. if dict['joy_con'] == 0 and dict['last_joy_con'] == 1:
  53. if 'joy_warn' not in scenes:
  54. #add scene
  55. print('print add joy overlay')
  56. cont.activate(cont.actuators['add_controller'])
  57. else:
  58. if dict['joy_con'] == 1 and dict['last_joy_con'] == 0:
  59. #remove scene
  60. print('print remove joy overlay')
  61. cont.activate(cont.actuators['remove_controller'])
  62. #get controller axis value 0-100
  63. if dict['joy_con'] == 1:
  64. lLR = aXis.axisValues[lar_lts] / reduction
  65. lUD = aXis.axisValues[uad_lts] / reduction
  66. rLR = aXis.axisValues[lar_rts] / reduction
  67. rUD = aXis.axisValues[uad_rts] / reduction
  68. lTrig = aXis.axisValues[lt] / reduction
  69. rTrig = aXis.axisValues[rt] / reduction
  70. aBut = bUtt.getButtonStatus(a_but)
  71. bBut = bUtt.getButtonStatus(b_but)
  72. xBut = bUtt.getButtonStatus(x_but)
  73. yBut = bUtt.getButtonStatus(y_but)
  74. lBump = bUtt.getButtonStatus(l_bump)
  75. rBump = bUtt.getButtonStatus(r_bump)
  76. bkBut = bUtt.getButtonStatus(bk_but)
  77. stBut = bUtt.getButtonStatus(st_but)
  78. xbBut = bUtt.getButtonStatus(xb_but)
  79. ltsBut = bUtt.getButtonStatus(lts_pr)
  80. rtsBut = bUtt.getButtonStatus(rts_pr)
  81. ldPad = bUtt.getButtonStatus(l_dp)
  82. rdPad = bUtt.getButtonStatus(r_dp)
  83. udPad = bUtt.getButtonStatus(u_dp)
  84. ddPad = bUtt.getButtonStatus(d_dp)
  85. #create modified axis values
  86. if lLR < -20:
  87. lmLR = round((lLR + 20) / 80 * 100, 0)
  88. elif lLR > 20:
  89. lmLR = round((lLR - 20) / 80 * 100, 0)
  90. else: lmLR = 0
  91. if lUD > 20:
  92. lmUD = round((lUD - 20) / 80 * 100, 0)
  93. elif lUD < -20:
  94. lmUD = round((lUD + 20) / 80 * 100, 0)
  95. else: lmUD = 0
  96. if rLR < -20:
  97. rmLR = round((rLR + 20) / 80 * 100, 0)
  98. elif rLR > 20:
  99. rmLR = round((rLR - 20) / 80 * 100, 0)
  100. else: rmLR = 0
  101. if rUD > 20:
  102. rmUD = round((rUD - 20) / 80 * 100, 0)
  103. elif rUD < -20:
  104. rmUD = round((rUD + 20) / 80 * 100, 0)
  105. else: rmUD = 0
  106. if lTrig > 3:
  107. mTrig = lTrig * -1
  108. elif rTrig > 3:
  109. mTrig = rTrig
  110. else: mTrig = 0
  111. #
  112. keyboard = G.keyboard.events
  113. # KEY BINDINGS
  114. kb_a = events.AKEY
  115. kb_d = events.DKEY
  116. kb_w = events.WKEY
  117. kb_s = events.SKEY
  118. kb_q = events.QKEY
  119. kb_e = events.EKEY
  120. kb_z = events.ZKEY
  121. kb_c = events.CKEY
  122. kb_en = events.ENTERKEY
  123. kb_la = events.LEFTARROWKEY
  124. kb_ra = events.RIGHTARROWKEY
  125. kb_ua = events.UPARROWKEY
  126. kb_da = events.DOWNARROWKEY
  127. #if keyboard[kb_a]:
  128. #print(keyboard[kb_a])
  129. dict['last_kb_a'] = dict['kb_a']
  130. dict['last_kb_d'] = dict['kb_d']
  131. dict['last_kb_w'] = dict['kb_w']
  132. dict['last_kb_s'] = dict['kb_s']
  133. dict['last_kb_q'] = dict['kb_q']
  134. dict['last_kb_e'] = dict['kb_e']
  135. dict['last_kb_z'] = dict['kb_z']
  136. dict['last_kb_c'] = dict['kb_c']
  137. dict['last_kb_en'] = dict['kb_en']
  138. dict['last_kb_la'] = dict['kb_la']
  139. dict['last_kb_ra'] = dict['kb_ra']
  140. dict['last_kb_ua'] = dict['kb_ua']
  141. dict['last_kb_da'] = dict['kb_da']
  142. dict['kb_a'] = keyboard[kb_a]
  143. dict['kb_d'] = keyboard[kb_d]
  144. dict['kb_w'] = keyboard[kb_w]
  145. dict['kb_s'] = keyboard[kb_s]
  146. dict['kb_q'] = keyboard[kb_q]
  147. dict['kb_e'] = keyboard[kb_e]
  148. dict['kb_z'] = keyboard[kb_z]
  149. dict['kb_c'] = keyboard[kb_c]
  150. dict['kb_en'] = keyboard[kb_en]
  151. dict['kb_la'] = keyboard[kb_la]
  152. dict['kb_ra'] = keyboard[kb_ra]
  153. dict['kb_ua'] = keyboard[kb_ua]
  154. dict['kb_da'] = keyboard[kb_da]
  155. dict['last_aBut'] = dict['aBut']
  156. dict['last_bBut'] = dict['bBut']
  157. dict['last_xBut'] = dict['xBut']
  158. dict['last_yBut'] = dict['yBut']
  159. dict['last_lBump'] = dict['lBump']
  160. dict['last_rBump'] = dict['rBump']
  161. dict['last_bkBut'] = dict['bkBut']
  162. dict['last_stBut'] = dict['stBut']
  163. dict['last_xbBut'] = dict['xbBut']
  164. dict['last_ltsBut'] = dict['ltsBut']
  165. dict['last_rtsBut'] = dict['rtsBut']
  166. dict['last_ldPad'] = dict['ldPad']
  167. dict['last_rdPad'] = dict['rdPad']
  168. dict['last_udPad'] = dict['udPad']
  169. dict['last_ddPad'] = dict['ddPad']
  170. dict['last_rUD'] = dict['rUD']
  171. dict['last_lUD'] = dict['lUD']
  172. dict['last_rLR'] = dict['rLR']
  173. dict['last_lLR'] = dict['lLR']
  174. dict['last_rmUD'] = dict['rmUD']
  175. dict['last_lmUD'] = dict['lmUD']
  176. dict['last_rmLR'] = dict['rmLR']
  177. dict['last_lmLR'] = dict['lmLR']
  178. dict['last_mTrig'] = dict['mTrig']
  179. dict['last_rTrig'] = dict['rTrig']
  180. dict['last_lTrig'] = dict['lTrig']
  181. dict['aBut'] = aBut
  182. dict['bBut'] = bBut
  183. dict['xBut'] = xBut
  184. dict['yBut'] = yBut
  185. dict['lBump'] = lBump
  186. dict['rBump'] = rBump
  187. dict['bkBut'] = bkBut
  188. dict['stBut'] = stBut
  189. dict['xbBut'] = xbBut
  190. dict['ltsBut'] = ltsBut
  191. dict['rtsBut'] = rtsBut
  192. dict['ldPad'] = ldPad
  193. dict['rdPad'] = rdPad
  194. dict['udPad'] = udPad
  195. dict['ddPad'] = ddPad
  196. dict['rUD'] = rUD
  197. dict['lUD'] = lUD
  198. dict['rLR'] = rLR
  199. dict['lLR'] = lLR
  200. dict['rmUD'] = rmUD
  201. dict['lmUD'] = lmUD
  202. dict['rmLR'] = rmLR
  203. dict['lmLR'] = lmLR
  204. dict['mTrig'] = mTrig
  205. dict['rTrig'] = rTrig
  206. dict['lTrig'] = lTrig
  207. dict['last_joy_con'] = joy_con
  208. main()