No Description
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.

joy_cam.py 21KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550
  1. ################################################
  2. #joystick flythrough camera for scene testing #
  3. #shuvit.org #
  4. ################################################
  5. import bge
  6. def main():
  7. #####
  8. #init
  9. cont = bge.logic.getCurrentController()
  10. scene = bge.logic.getCurrentScene()
  11. own = cont.owner
  12. dict = bge.logic.globalDict #Get the global dictionary
  13. aXis = cont.sensors['stickDirections']
  14. bUtt = cont.sensors['buttons']
  15. reduction = 400000
  16. axisTh = 0.03
  17. dict['last_aBut'] = own['aBut']
  18. dict['last_bBut'] = own['bBut']
  19. dict['last_xBut'] = own['xBut']
  20. dict['last_yBut'] = own['yBut']
  21. dict['last_lBump'] = own['lBump']
  22. dict['last_rBump'] = own['rBump']
  23. dict['last_stBut'] = own['stBut']
  24. dict['last_bkBut'] = own['bkBut']
  25. dict['last_ltsBut'] = own['ltsBut']
  26. dict['last_rtsBut'] = own['rtsBut']
  27. #hard controller mappings
  28. lar_lts = 0
  29. uad_lts = 1
  30. lar_rts = 2
  31. uad_rts = 3
  32. lt = 4
  33. rt = 5
  34. a_but = 0
  35. b_but = 1
  36. x_but = 2
  37. y_but = 3
  38. l_bump = 9
  39. r_bump = 10
  40. bk_but = 4
  41. st_but = 6
  42. xb_but = 5
  43. lts_pr = 7
  44. rts_pr = 8
  45. l_dp = 13
  46. r_dp = 14
  47. u_dp = 11
  48. d_dp = 12
  49. reduction = 400000
  50. axisTh = 0.03
  51. #get controller axis value 0-100
  52. lLR = aXis.axisValues[lar_lts] / reduction / .082 * 100
  53. lUD = aXis.axisValues[uad_lts] / reduction / .082 * 100 - 20 / 80
  54. rLR = aXis.axisValues[lar_rts] / reduction / .082 * 100 - 20 / 80
  55. rUD = aXis.axisValues[uad_rts] / reduction / .082 * 100 - 20 / 80
  56. lTrig = aXis.axisValues[lt] / reduction / .082 * 100 - 20 / 80
  57. rTrig = aXis.axisValues[rt] / reduction / .082 * 100 - 20 / 80
  58. aBut = bUtt.getButtonStatus(a_but)
  59. bBut = bUtt.getButtonStatus(b_but)
  60. xBut = bUtt.getButtonStatus(x_but)
  61. yBut = bUtt.getButtonStatus(y_but)
  62. lBump = bUtt.getButtonStatus(l_bump)
  63. rBump = bUtt.getButtonStatus(r_bump)
  64. bkBut = bUtt.getButtonStatus(bk_but)
  65. stBut = bUtt.getButtonStatus(st_but)
  66. xbBut = bUtt.getButtonStatus(xb_but)
  67. ltsBut = bUtt.getButtonStatus(lts_pr)
  68. rtsBut = bUtt.getButtonStatus(rts_pr)
  69. ldPad = bUtt.getButtonStatus(l_dp)
  70. rdPad = bUtt.getButtonStatus(r_dp)
  71. udPad = bUtt.getButtonStatus(u_dp)
  72. ddPad = bUtt.getButtonStatus(d_dp)
  73. #check if idle
  74. idle_trig_list = [lLR, lUD, rLR, rUD, lTrig, rTrig]
  75. idle_time = 240
  76. idle_set = 1
  77. for sens in idle_trig_list:
  78. if sens > 20 or sens < -20:
  79. idle_set = 0
  80. own['idle_timer'] = idle_time
  81. if idle_set == idle_time:
  82. pass
  83. if own['idle_timer'] == 1:
  84. own['idle'] = True
  85. #own['idlecampos_x'] = 0
  86. own['idlecampos_z'] = 0
  87. else:
  88. own['idle'] = False
  89. if own['idle_timer'] > 1:
  90. own['idle_timer'] -= 1
  91. #idle cam movement
  92. if own['idle']:
  93. move_len = 1080
  94. if own['idlecampos_x'] < move_len:
  95. own['idlecampos_x'] += 1
  96. if own['idlecampos_x'] == move_len:
  97. own['idlecampos_x'] = 0
  98. if own['idlecampos_x'] < (move_len / 2):
  99. move = [.0002, 0, 0]
  100. own.applyMovement( move, True)
  101. own.applyRotation([.00004, 0, .00005],True)
  102. #print('idle2')
  103. if own['idlecampos_x'] > (move_len / 2):
  104. move = [-.0002, 0, 0]
  105. own.applyMovement( move, True)
  106. own.applyRotation([-.00004, 0, -.00005],True)
  107. #####
  108. #create modified axis values
  109. if lLR < -20:
  110. lmLR = round((lLR + 20) / 80 * 100, 0)
  111. elif lLR > 20:
  112. lmLR = round((lLR - 20) / 80 * 100, 0)
  113. else: lmLR = 0
  114. if lUD > 20:
  115. lmUD = round((lUD - 20) / 80 * 100, 0)
  116. elif lUD < -20:
  117. lmUD = round((lUD + 20) / 80 * 100, 0)
  118. else: lmUD = 0
  119. if rLR < -20:
  120. rmLR = round((rLR + 20) / 80 * 100, 0)
  121. elif rLR > 20:
  122. rmLR = round((rLR - 20) / 80 * 100, 0)
  123. else: rmLR = 0
  124. if rUD > 20:
  125. rmUD = round((rUD - 20) / 80 * 100, 0)
  126. elif rUD < -20:
  127. rmUD = round((rUD + 20) / 80 * 100, 0)
  128. else: rmUD = 0
  129. if lTrig > 3:
  130. mTrig = lTrig * -1
  131. elif rTrig > 3:
  132. mTrig = rTrig
  133. else: mTrig = 0
  134. #move camera
  135. damping = .95
  136. damping2 = 1.005
  137. mult = .0005 * own['speed_mult']
  138. move_x = lmUD * mult
  139. move_y = lmLR * mult
  140. move_z = (mTrig * -mult) / 4
  141. rot_mult = -.00015 * own['speed_mult']
  142. rot_x = rmUD * rot_mult
  143. rot_y = rmLR * rot_mult
  144. if move_x == 0 and own['last_move_x'] != 0:
  145. move_x = own['last_move_x'] * damping
  146. if move_y == 0 and own['last_move_y'] != 0:
  147. move_y = own['last_move_y'] * damping
  148. if move_z == 0 and own['last_move_z'] != 0:
  149. move_z = own['last_move_z'] * damping
  150. if rot_x == 0 and own['last_rot_x'] != 0:
  151. rot_x = own['last_rot_x'] * damping
  152. if rot_y == 0 and own['last_rot_y'] != 0:
  153. rot_y = own['last_rot_y'] * damping
  154. move = [move_y, 0, move_x]
  155. own.applyMovement( move, True)
  156. own.applyMovement([0, 0, move_z], False)
  157. own.applyRotation([rot_x, 0, 0],True)
  158. own.applyRotation([0, 0, rot_y],False)
  159. mult = .1 #* own['speed_mult']
  160. if lBump == True and own['lBump'] == False:
  161. if own['speed_mult'] > .1:
  162. own['speed_mult'] = round(own['speed_mult'] - mult, 2)
  163. if rBump == True and own['rBump'] == False:
  164. if own['speed_mult'] < 5.5:
  165. own['speed_mult'] = round(own['speed_mult'] + mult, 2)
  166. if stBut == True and own['stBut'] != True:
  167. if own['menu_on'] == False:
  168. own['menu_on'] = True
  169. else:
  170. own['menu_on'] = False
  171. menu_item = own['menu_item']
  172. menu_list = ['Brightness/Contrast: ', 'FXAA: ', 'SSAO: ', 'HDR: ', 'Camera: ', 'Restart: ', 'Exit: ']
  173. brightnesscontrast_opt = ['On/Off: ', 'Brightness Value: ', 'Contrast Value: ', 'Back: ']
  174. fxaa_opt = ['On/Off: ', 'FXAA Span Max: ', 'Back: ']
  175. ssao_opt = ['On/Off: ', 'SSAO Only: ', 'SSAO Width: ', 'SSAO Radius: ', 'Back: ']
  176. hdr_opt = ['On/Off: ', 'HDR Amount: ', 'HDR AvgL: ', 'Back: ']
  177. camera_opt = ['Focal Length: ', 'Back: ']
  178. ################
  179. submenu_on = own['submenu_on']
  180. if aBut == False and own['aBut'] == True:
  181. if submenu_on:
  182. own['submenu_item'] += 1
  183. else:
  184. if own['menu_item'] < (len(menu_list) - 1):
  185. own['menu_item'] += 1
  186. if yBut == False and own['yBut'] == True:
  187. if submenu_on:
  188. own['submenu_item'] -= 1
  189. else:
  190. if own['menu_item'] > 0:
  191. own['menu_item'] -= 1
  192. menu_item = own['menu_item']
  193. submenu_item = own['submenu_item']
  194. dict['menuText'] = menu_list[menu_item]
  195. if menu_list[menu_item] == 'Brightness/Contrast: ':
  196. if submenu_on == True:
  197. try:
  198. dict['submenuText'] = brightnesscontrast_opt[submenu_item]
  199. except:
  200. submenu_item = 0
  201. own['submenu_item'] = 0
  202. dict['submenuText'] = brightnesscontrast_opt[submenu_item]
  203. if brightnesscontrast_opt[submenu_item] == 'On/Off: ':
  204. if own['bc'] == False:
  205. dict['optionText'] = 'Off'
  206. if own['bc'] == True:
  207. dict['optionText'] = 'On'
  208. if brightnesscontrast_opt[submenu_item] == 'Brightness Value: ':
  209. dict['optionText'] = round(own['BC_BRIGHTNESS'], 2)
  210. if brightnesscontrast_opt[submenu_item] == 'Contrast Value: ':
  211. dict['optionText'] = round(own['BC_CONTRAST'], 2)
  212. if brightnesscontrast_opt[submenu_item] == 'Back: ':
  213. dict['optionText'] = '_'
  214. else:
  215. dict['optionText'] = ''
  216. if menu_list[menu_item] == 'FXAA: ':
  217. if submenu_on == True:
  218. try:
  219. dict['submenuText'] = fxaa_opt[submenu_item]
  220. except:
  221. submenu_item = 0
  222. own['submenu_item'] = 0
  223. dict['submenuText'] = fxaa_opt[submenu_item]
  224. if fxaa_opt[submenu_item] == 'On/Off: ':
  225. if own['bc'] == False:
  226. dict['optionText'] = 'Off'
  227. if own['bc'] == True:
  228. dict['optionText'] = 'On'
  229. if fxaa_opt[submenu_item] == 'FXAA Span Max: ':
  230. dict['optionText'] = round(own['FXAA_SPAN_MAX'], 2)
  231. if fxaa_opt[submenu_item] == 'Back: ':
  232. dict['optionText'] = '_'
  233. else:
  234. dict['optionText'] = ''
  235. if menu_list[menu_item] == 'HDR: ':
  236. if submenu_on == True:
  237. try:
  238. dict['submenuText'] = hdr_opt[submenu_item]
  239. except:
  240. submenu_item = 0
  241. own['submenu_item'] = 0
  242. dict['submenuText'] = hdr_opt[submenu_item]
  243. if hdr_opt[submenu_item] == 'On/Off: ':
  244. if own['bc'] == False:
  245. dict['optionText'] = 'Off'
  246. if own['bc'] == True:
  247. dict['optionText'] = 'On'
  248. if hdr_opt[submenu_item] == 'HDR Amount: ':
  249. dict['optionText'] = round(own['HDRamount'], 2)
  250. if hdr_opt[submenu_item] == 'HDR AvgL: ':
  251. dict['optionText'] = round(own['avgL'], 2)
  252. if hdr_opt[submenu_item] == 'Back: ':
  253. dict['optionText'] = '_'
  254. else:
  255. dict['optionText'] = ''
  256. if menu_list[menu_item] == 'SSAO: ':
  257. if submenu_on == True:
  258. try:
  259. dict['submenuText'] = ssao_opt[submenu_item]
  260. except:
  261. submenu_item = 0
  262. own['submenu_item'] = 0
  263. dict['submenuText'] = ssao_opt[submenu_item]
  264. if ssao_opt[submenu_item] == 'On/Off: ':
  265. if own['ao'] == False:
  266. dict['optionText'] = 'Off'
  267. if own['ao'] == True:
  268. dict['optionText'] = 'On'
  269. if ssao_opt[submenu_item] == 'SSAO Only: ':
  270. if own['onlyAO'] == False:
  271. dict['optionText'] = 'Off'
  272. if own['onlyAO'] == True:
  273. dict['optionText'] = 'On'
  274. if ssao_opt[submenu_item] == 'SSAO Width: ':
  275. dict['optionText'] = round(own['aowidth'], 2)
  276. if ssao_opt[submenu_item] == 'SSAO Radius: ':
  277. dict['optionText'] = round(own['aoradius'], 2)
  278. if ssao_opt[submenu_item] == 'Back: ':
  279. dict['optionText'] = '_'
  280. else:
  281. dict['optionText'] = ''
  282. if menu_list[menu_item] == 'Camera: ':
  283. if submenu_on == True:
  284. try:
  285. dict['submenuText'] = camera_opt[submenu_item]
  286. except:
  287. submenu_item = 0
  288. own['submenu_item'] = 0
  289. dict['submenuText'] = camera_opt[submenu_item]
  290. if camera_opt[submenu_item] == 'Focal Length: ':
  291. dict['optionText'] = round(own['cam_focal_length'], 2)
  292. if camera_opt[submenu_item] == 'Back: ':
  293. dict['optionText'] = '_'
  294. else:
  295. dict['optionText'] = ''
  296. if menu_list[menu_item] == 'Restart: ':
  297. dict['optionText'] = ''
  298. if menu_list[menu_item] == 'Exit: ':
  299. dict['optionText'] = ''
  300. #b button pressed
  301. if bBut == False and own['bBut'] == True:
  302. if menu_list[menu_item] == 'Brightness/Contrast: ':
  303. if submenu_on == False:
  304. submenu_on = True
  305. own['submenu_on'] = True
  306. elif submenu_on:
  307. if brightnesscontrast_opt[submenu_item] == 'On/Off: ':
  308. if own['bc'] == False:
  309. own['bc'] = True
  310. act = cont.actuators['bc_act']
  311. cont.activate(act)
  312. dict['optionText'] = 'On'
  313. if brightnesscontrast_opt[submenu_item] == 'Brightness Value: ':
  314. own['BC_BRIGHTNESS'] += .025
  315. if brightnesscontrast_opt[submenu_item] == 'Contrast Value: ':
  316. own['BC_CONTRAST'] += .025
  317. if brightnesscontrast_opt[submenu_item] == 'Back: ':
  318. own['submenu_on'] = False
  319. dict['optionText'] = '_'
  320. own['submenu_item'] = 0
  321. if menu_list[menu_item] == 'FXAA: ':
  322. if submenu_on == False:
  323. submenu_on = True
  324. own['submenu_on'] = True
  325. elif submenu_on:
  326. if fxaa_opt[submenu_item] == 'On/Off: ':
  327. if own['bc'] == False:
  328. own['bc'] = True
  329. act = cont.actuators['fxaa']
  330. cont.activate(act)
  331. dict['optionText'] = 'On'
  332. if fxaa_opt[submenu_item] == 'FXAA Span Max: ':
  333. own['FXAA_SPAN_MAX'] += 1
  334. if fxaa_opt[submenu_item] == 'Back: ':
  335. own['submenu_on'] = False
  336. dict['optionText'] = '_'
  337. own['submenu_item'] = 0
  338. if menu_list[menu_item] == 'SSAO: ':
  339. if submenu_on == False:
  340. submenu_on = True
  341. own['submenu_on'] = True
  342. elif submenu_on:
  343. if ssao_opt[submenu_item] == 'On/Off: ':
  344. if own['ao'] == False:
  345. own['ao'] = True
  346. act = cont.actuators['ao_act']
  347. cont.activate(act)
  348. dict['optionText'] = 'On'
  349. if ssao_opt[submenu_item] == 'SSAO Only: ':
  350. if own['onlyAO'] == False:
  351. own['onlyAO'] = True
  352. if ssao_opt[submenu_item] == 'SSAO Width: ':
  353. own['aowidth'] += 1
  354. if ssao_opt[submenu_item] == 'SSAO Radius: ':
  355. own['aoradius'] += 1
  356. if ssao_opt[submenu_item] == 'Back: ':
  357. own['submenu_on'] = False
  358. dict['optionText'] = '_'
  359. own['submenu_item'] = 0
  360. if menu_list[menu_item] == 'HDR: ':
  361. if submenu_on == False:
  362. submenu_on = True
  363. own['submenu_on'] = True
  364. elif submenu_on:
  365. if hdr_opt[submenu_item] == 'On/Off: ':
  366. if own['hdr'] == False:
  367. own['hdr'] = True
  368. act = cont.actuators['hdr_act']
  369. cont.activate(act)
  370. dict['optionText'] = 'On'
  371. if hdr_opt[submenu_item] == 'HDR Amount: ':
  372. own['HDRamount'] += .05
  373. if hdr_opt[submenu_item] == 'HDR AvgL: ':
  374. own['avgL'] += .05
  375. if hdr_opt[submenu_item] == 'Back: ':
  376. own['submenu_on'] = False
  377. dict['optionText'] = '_'
  378. own['submenu_item'] = 0
  379. if menu_list[menu_item] == 'Camera: ':
  380. if submenu_on == False:
  381. submenu_on = True
  382. own['submenu_on'] = True
  383. elif submenu_on:
  384. if camera_opt[submenu_item] == 'Focal Length: ':
  385. own['cam_focal_length'] += 1
  386. own.lens = own['cam_focal_length']
  387. if camera_opt[submenu_item] == 'Back: ':
  388. own['submenu_on'] = False
  389. dict['optionText'] = '_'
  390. own['submenu_item'] = 0
  391. if menu_list[menu_item] == 'Restart: ':
  392. scene.restart()
  393. if menu_list[menu_item] == 'Exit: ':
  394. bge.logic.endGame()
  395. #x button up
  396. if xBut == False and own['xBut'] == True:
  397. if menu_list[menu_item] == 'Brightness/Contrast: ':
  398. if submenu_on == False:
  399. submenu_on = True
  400. own['submenu_on'] = True
  401. if submenu_on:
  402. if brightnesscontrast_opt[submenu_item] == 'On/Off: ':
  403. if own['bc'] == True:
  404. own['bc'] = False
  405. act = cont.actuators['bc_off']
  406. cont.activate(act)
  407. dict['optionText'] = 'Off'
  408. if brightnesscontrast_opt[submenu_item] == 'Brightness Value: ':
  409. own['BC_BRIGHTNESS'] -= .025
  410. if brightnesscontrast_opt[submenu_item] == 'Contrast Value: ':
  411. own['BC_CONTRAST'] -= .025
  412. if brightnesscontrast_opt[submenu_item] == 'Back: ':
  413. own['submenu_on'] = False
  414. dict['optionText'] = '_'
  415. own['submenu_item'] = 0
  416. if menu_list[menu_item] == 'FXAA: ':
  417. if submenu_on == False:
  418. submenu_on = True
  419. own['submenu_on'] = True
  420. if submenu_on:
  421. if fxaa_opt[submenu_item] == 'On/Off: ':
  422. if own['fxaa'] == True:
  423. own['fxaa'] = False
  424. act = cont.actuators['fxaa_off']
  425. cont.activate(act)
  426. dict['optionText'] = 'Off'
  427. if fxaa_opt[submenu_item] == 'FXAA Span Max: ':
  428. own['FXAA_SPAN_MAX'] -= 1
  429. if fxaa_opt[submenu_item] == 'Back: ':
  430. own['submenu_on'] = False
  431. dict['optionText'] = '_'
  432. own['submenu_item'] = 0
  433. if menu_list[menu_item] == 'SSAO: ' :
  434. if submenu_on == False:
  435. submenu_on = True
  436. own['submenu_on'] = True
  437. if submenu_on:
  438. if ssao_opt[submenu_item] == 'On/Off: ':
  439. if own['ao'] == True:
  440. own['ao'] = False
  441. act = cont.actuators['ao_off']
  442. cont.activate(act)
  443. dict['optionText'] = 'Off'
  444. if ssao_opt[submenu_item] == 'SSAO Only: ':
  445. if own['onlyAO'] == True:
  446. own['onlyAO'] = False
  447. if ssao_opt[submenu_item] == 'SSAO Width: ':
  448. own['aowidth'] -= 1
  449. if ssao_opt[submenu_item] == 'SSAO Radius: ':
  450. own['aoradius'] -= 1
  451. if ssao_opt[submenu_item] == 'Back: ':
  452. own['submenu_on'] = False
  453. dict['optionText'] = '_'
  454. own['submenu_item'] = 0
  455. if menu_list[menu_item] == 'HDR: ':
  456. if submenu_on == False:
  457. submenu_on = True
  458. own['submenu_on'] = True
  459. if submenu_on:
  460. if hdr_opt[submenu_item] == 'On/Off: ':
  461. if own['hdr'] == True:
  462. own['hdr'] = False
  463. act = cont.actuators['hdr_off']
  464. cont.activate(act)
  465. dict['optionText'] = 'Off'
  466. if hdr_opt[submenu_item] == 'HDR Amount: ':
  467. own['HDRamount'] -= .05
  468. if hdr_opt[submenu_item] == 'HDR AvgL: ':
  469. own['avgL'] -= .05
  470. if hdr_opt[submenu_item] == 'Back: ':
  471. own['submenu_on'] = False
  472. dict['optionText'] = '_'
  473. own['submenu_item'] = 0
  474. if menu_list[menu_item] == 'Camera: ':
  475. if submenu_on == False:
  476. submenu_on = True
  477. own['submenu_on'] = True
  478. elif submenu_on:
  479. if camera_opt[submenu_item] == 'Focal Length: ':
  480. own['cam_focal_length'] -= 1
  481. own.lens = own['cam_focal_length']
  482. if camera_opt[submenu_item] == 'Back: ':
  483. own['submenu_on'] = False
  484. dict['optionText'] = '_'
  485. own['submenu_item'] = 0
  486. own['lmLR'] = lmLR
  487. own['lmUD'] = lmUD
  488. own['rmLR'] = rmLR
  489. own['rmUD'] = rmUD
  490. own['mTrig'] = mTrig
  491. own['last_move_x'] = move_x
  492. own['last_move_y'] = move_y
  493. own['last_move_z'] = move_z
  494. own['last_rot_x'] = rot_x
  495. own['last_rot_y'] = rot_y
  496. own['aBut'] = aBut
  497. own['bBut'] = bBut
  498. own['xBut'] = xBut
  499. own['yBut'] = yBut
  500. own['lBump'] = lBump
  501. own['rBump'] = rBump
  502. own['stBut'] = stBut
  503. own['bkBut'] = bkBut
  504. own['ltsBut'] = ltsBut
  505. own['rtsBut'] = rtsBut
  506. dict['aBut'] = aBut
  507. dict['bBut'] = bBut
  508. dict['xBut'] = xBut
  509. dict['yBut'] = yBut
  510. dict['lBump'] = lBump
  511. dict['rBump'] = rBump
  512. dict['stBut'] = stBut
  513. dict['bkBut'] = bkBut
  514. dict['ltsBut'] = ltsBut
  515. dict['rtsBut'] = rtsBut
  516. dict['menu_on'] = own['menu_on']
  517. dict['submenu_on'] = own['submenu_on']
  518. dict['menu_item'] = own['menu_item']
  519. dict['submenu_item'] = own['submenu_item']
  520. dict['fxaa'] = own['fxaa']
  521. main()