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 9.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  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. #soft controller mappings
  23. lar_lts = dict['lar_lts']
  24. uad_lts = dict['uad_lts']
  25. lar_rts = dict['lar_rts']
  26. uad_rts = dict['uad_rts']
  27. lt = dict['lt']
  28. rt = dict['rt']
  29. a_but = dict['a_but']
  30. b_but = dict['b_but']
  31. x_but = dict['x_but']
  32. y_but = dict['y_but']
  33. l_bump = dict['l_bump']
  34. r_bump = dict['r_bump']
  35. bk_but = dict['bk_but']
  36. st_but = dict['st_but']
  37. xb_but = dict['xb_but']
  38. lts_pr = dict['lts_pr']
  39. rts_pr = dict['rts_pr']
  40. l_dp = dict['l_dp']
  41. r_dp = dict['r_dp']
  42. u_dp = dict['u_dp']
  43. d_dp = dict['d_dp']
  44. reduction = 400000
  45. axisTh = 0.03
  46. keyboard = G.keyboard.events
  47. # KEY BINDINGS
  48. kb_a = events.AKEY
  49. kb_d = events.DKEY
  50. kb_w = events.WKEY
  51. kb_s = events.SKEY
  52. kb_q = events.QKEY
  53. kb_e = events.EKEY
  54. kb_z = events.ZKEY
  55. kb_c = events.CKEY
  56. kb_q = events.QKEY
  57. kb_en = events.ENTERKEY
  58. kb_la = events.LEFTARROWKEY
  59. kb_ra = events.RIGHTARROWKEY
  60. kb_ua = events.UPARROWKEY
  61. kb_da = events.DOWNARROWKEY
  62. kb_lsh = events.LEFTSHIFTKEY
  63. kb_space = events.SPACEKEY
  64. #if keyboard[kb_a]:
  65. #print(keyboard[kb_a])
  66. dict['last_kb_a'] = dict['kb_a']
  67. dict['last_kb_d'] = dict['kb_d']
  68. dict['last_kb_w'] = dict['kb_w']
  69. dict['last_kb_s'] = dict['kb_s']
  70. dict['last_kb_q'] = dict['kb_q']
  71. dict['last_kb_e'] = dict['kb_e']
  72. dict['last_kb_z'] = dict['kb_z']
  73. dict['last_kb_c'] = dict['kb_c']
  74. dict['last_kb_q'] = dict['kb_q']
  75. dict['last_kb_en'] = dict['kb_en']
  76. dict['last_kb_la'] = dict['kb_la']
  77. dict['last_kb_ra'] = dict['kb_ra']
  78. dict['last_kb_ua'] = dict['kb_ua']
  79. dict['last_kb_da'] = dict['kb_da']
  80. dict['last_kb_lsh'] = dict['kb_lsh']
  81. dict['last_kb_space'] = dict['kb_space']
  82. dict['kb_a'] = keyboard[kb_a]
  83. dict['kb_d'] = keyboard[kb_d]
  84. dict['kb_w'] = keyboard[kb_w]
  85. dict['kb_s'] = keyboard[kb_s]
  86. dict['kb_q'] = keyboard[kb_q]
  87. dict['kb_e'] = keyboard[kb_e]
  88. dict['kb_z'] = keyboard[kb_z]
  89. dict['kb_c'] = keyboard[kb_c]
  90. dict['kb_q'] = keyboard[kb_q]
  91. dict['kb_en'] = keyboard[kb_en]
  92. dict['kb_la'] = keyboard[kb_la]
  93. dict['kb_ra'] = keyboard[kb_ra]
  94. dict['kb_ua'] = keyboard[kb_ua]
  95. dict['kb_da'] = keyboard[kb_da]
  96. dict['kb_lsh'] = keyboard[kb_lsh]
  97. dict['kb_space'] = keyboard[kb_space]
  98. if not any(bge.logic.joysticks):
  99. #print("joystick not connnected")
  100. dict['joy_con'] = 0
  101. else:
  102. dict['joy_con'] = 1
  103. if dict['joy_con'] != dict['last_joy_con'] and own['counter'] > 500:
  104. if dict['joy_con'] == 0 and dict['last_joy_con'] == 1:
  105. if 'joy_warn' not in scenes:
  106. #add scene
  107. #print('print add joy overlay')
  108. cont.activate(cont.actuators['add_controller'])
  109. else:
  110. if dict['joy_con'] == 1 and dict['last_joy_con'] == 0:
  111. #remove scene
  112. #print('print remove joy overlay')
  113. cont.activate(cont.actuators['remove_controller'])
  114. #get controller axis value 0-100
  115. if dict['joy_con'] == 1:
  116. lLR = aXis.axisValues[lar_lts] / reduction
  117. lUD = aXis.axisValues[uad_lts] / reduction
  118. rLR = aXis.axisValues[lar_rts] / reduction
  119. rUD = aXis.axisValues[uad_rts] / reduction
  120. lTrig = aXis.axisValues[lt] / reduction
  121. rTrig = aXis.axisValues[rt] / reduction
  122. aBut = bUtt.getButtonStatus(a_but)
  123. bBut = bUtt.getButtonStatus(b_but)
  124. xBut = bUtt.getButtonStatus(x_but)
  125. yBut = bUtt.getButtonStatus(y_but)
  126. lBump = bUtt.getButtonStatus(l_bump)
  127. rBump = bUtt.getButtonStatus(r_bump)
  128. bkBut = bUtt.getButtonStatus(bk_but)
  129. stBut = bUtt.getButtonStatus(st_but)
  130. xbBut = bUtt.getButtonStatus(xb_but)
  131. ltsBut = bUtt.getButtonStatus(lts_pr)
  132. rtsBut = bUtt.getButtonStatus(rts_pr)
  133. ldPad = bUtt.getButtonStatus(l_dp)
  134. rdPad = bUtt.getButtonStatus(r_dp)
  135. udPad = bUtt.getButtonStatus(u_dp)
  136. ddPad = bUtt.getButtonStatus(d_dp)
  137. #create modified axis values
  138. if lLR < -20:
  139. lmLR = round((lLR + 20) / 80 * 100, 0)
  140. elif lLR > 20:
  141. lmLR = round((lLR - 20) / 80 * 100, 0)
  142. else: lmLR = 0
  143. if lUD > 20:
  144. lmUD = round((lUD - 20) / 80 * 100, 0)
  145. elif lUD < -20:
  146. lmUD = round((lUD + 20) / 80 * 100, 0)
  147. else: lmUD = 0
  148. if rLR < -20:
  149. rmLR = round((rLR + 20) / 80 * 100, 0)
  150. elif rLR > 20:
  151. rmLR = round((rLR - 20) / 80 * 100, 0)
  152. else: rmLR = 0
  153. if rUD > 20:
  154. rmUD = round((rUD - 20) / 80 * 100, 0)
  155. elif rUD < -20:
  156. rmUD = round((rUD + 20) / 80 * 100, 0)
  157. else: rmUD = 0
  158. if lTrig > 3:
  159. mTrig = lTrig * -1
  160. elif rTrig > 3:
  161. mTrig = rTrig
  162. else: mTrig = 0
  163. #
  164. dict['last_aBut'] = dict['aBut']
  165. dict['last_bBut'] = dict['bBut']
  166. dict['last_xBut'] = dict['xBut']
  167. dict['last_yBut'] = dict['yBut']
  168. dict['last_lBump'] = dict['lBump']
  169. dict['last_rBump'] = dict['rBump']
  170. dict['last_bkBut'] = dict['bkBut']
  171. dict['last_stBut'] = dict['stBut']
  172. dict['last_xbBut'] = dict['xbBut']
  173. dict['last_ltsBut'] = dict['ltsBut']
  174. dict['last_rtsBut'] = dict['rtsBut']
  175. dict['last_ldPad'] = dict['ldPad']
  176. dict['last_rdPad'] = dict['rdPad']
  177. dict['last_udPad'] = dict['udPad']
  178. dict['last_ddPad'] = dict['ddPad']
  179. dict['last_rUD'] = dict['rUD']
  180. dict['last_lUD'] = dict['lUD']
  181. dict['last_rLR'] = dict['rLR']
  182. dict['last_lLR'] = dict['lLR']
  183. dict['last_rmUD'] = dict['rmUD']
  184. dict['last_lmUD'] = dict['lmUD']
  185. dict['last_rmLR'] = dict['rmLR']
  186. dict['last_lmLR'] = dict['lmLR']
  187. dict['last_mTrig'] = dict['mTrig']
  188. dict['last_rTrig'] = dict['rTrig']
  189. dict['last_lTrig'] = dict['lTrig']
  190. dict['aBut'] = aBut
  191. dict['bBut'] = bBut
  192. dict['xBut'] = xBut
  193. dict['yBut'] = yBut
  194. dict['lBump'] = lBump
  195. dict['rBump'] = rBump
  196. dict['bkBut'] = bkBut
  197. dict['stBut'] = stBut
  198. dict['xbBut'] = xbBut
  199. dict['ltsBut'] = ltsBut
  200. dict['rtsBut'] = rtsBut
  201. dict['ldPad'] = ldPad
  202. dict['rdPad'] = rdPad
  203. dict['udPad'] = udPad
  204. dict['ddPad'] = ddPad
  205. dict['rUD'] = rUD
  206. dict['lUD'] = lUD
  207. dict['rLR'] = rLR
  208. dict['lLR'] = lLR
  209. dict['rmUD'] = rmUD
  210. dict['lmUD'] = lmUD
  211. dict['rmLR'] = rmLR
  212. dict['lmLR'] = lmLR
  213. dict['mTrig'] = mTrig
  214. dict['rTrig'] = rTrig
  215. dict['lTrig'] = lTrig
  216. dict['last_joy_con'] = joy_con
  217. else:
  218. dict['aBut'] = 0
  219. dict['bBut'] = 0
  220. dict['xBut'] = 0
  221. dict['yBut'] = 0
  222. dict['lBump'] = 0
  223. dict['rBump'] = 0
  224. dict['bkBut'] = 0
  225. dict['stBut'] = 0
  226. dict['xbBut'] = 0
  227. dict['ltsBut'] = 0
  228. dict['rtsBut'] = 0
  229. dict['ldPad'] = 0
  230. dict['rdPad'] = 0
  231. dict['udPad'] = 0
  232. dict['ddPad'] = 0
  233. dict['rUD'] = 0
  234. dict['lUD'] = 0
  235. dict['rLR'] = 0
  236. dict['lLR'] = 0
  237. dict['rmUD'] = 0
  238. dict['lmUD'] = 0
  239. dict['rmLR'] = 0
  240. dict['lmLR'] = 0
  241. dict['mTrig'] = 0
  242. dict['rTrig'] = 0
  243. dict['lTrig'] = 0
  244. dict['last_aBut'] = 0
  245. dict['last_bBut'] = 0
  246. dict['last_xBut'] = 0
  247. dict['last_yBut'] = 0
  248. dict['last_lBump'] = 0
  249. dict['last_rBump'] = 0
  250. dict['last_bkBut'] = 0
  251. dict['last_stBut'] = 0
  252. dict['last_xbBut'] = 0
  253. dict['last_ltsBut'] = 0
  254. dict['last_rtsBut'] = 0
  255. dict['last_ldPad'] = 0
  256. dict['last_rdPad'] = 0
  257. dict['last_udPad'] = 0
  258. dict['last_ddPad'] = 0
  259. dict['last_rUD'] = 0
  260. dict['last_lUD'] = 0
  261. dict['last_rLR'] = 0
  262. dict['last_lLR'] = 0
  263. dict['last_rmUD'] = 0
  264. dict['last_lmUD'] = 0
  265. dict['last_rmLR'] = 0
  266. dict['last_lmLR'] = 0
  267. dict['last_mTrig'] = 0
  268. dict['last_rTrig'] = 0
  269. dict['last_lTrig'] = 0
  270. #dict['last_joy_con'] = 0
  271. if dict['driving_reset'] == True:
  272. dict['driving_reset'] = False
  273. level = dict['level']
  274. scenelist = bge.logic.getSceneList()
  275. if level in scenelist:
  276. level = scenelist[level]
  277. level.resume()
  278. print('resuming', level)
  279. cube = level.objects['control_cube.002']
  280. #cube.suspendDynamics(False)
  281. #print(scenelist)
  282. cube.restoreDynamics()
  283. print(cube.isSuspendDynamics)
  284. #main()