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.

SortData.py 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673
  1. #sort
  2. from bge import logic
  3. printDebug = True #Set to True to see some basic debug info
  4. cont = logic.getCurrentController()
  5. own = cont.owner
  6. gameName = "shuvit" #Set this to the name of your game!
  7. path = logic.expandPath(own["filePath"])
  8. positionList = []
  9. orientationList = []
  10. scaleList = []
  11. colorList = []
  12. stateList = []
  13. visibilityList = []
  14. skaterAnimList = []
  15. skaterAnimFList = []
  16. deckAnimList = []
  17. deckAnimFList = []
  18. srollVolList = []
  19. srollPitchList = []
  20. sgrind_cementVolList = []
  21. sgrind_cementPitchList = []
  22. sgrind_railVolList = []
  23. sgrind_railPitchList = []
  24. spopsoundList = []
  25. slandsoundList = []
  26. sdeckvisList = []
  27. positiontdList = []
  28. orientationtdList = []
  29. srevertsoundList = []
  30. allDataList = []
  31. allDataPath = path+gameName+" replay.dat"
  32. class writeData:
  33. def addPosition(obj, pos, cut):
  34. global positionList
  35. positionList.append(" "+str(obj))
  36. positionList.append(pos)
  37. if len(positionList) >= cut and cut > 0:
  38. del positionList[0]
  39. del positionList[0]
  40. def addOrientation(obj, ori, cut):
  41. global orientationData
  42. orientationList.append(" "+str(obj))
  43. orientationList.append(ori)
  44. if len(orientationList) >= cut and cut > 0:
  45. del orientationList[0]
  46. del orientationList[0]
  47. def addScale(obj, sca, cut):
  48. global scaleData
  49. scaleList.append(" "+str(obj))
  50. scaleList.append(sca)
  51. if len(scaleList) >= cut and cut > 0:
  52. del scaleList[0]
  53. del scaleList[0]
  54. def addColor(obj, col, cut):
  55. global colorData
  56. colorList.append(" "+str(obj))
  57. colorList.append(col)
  58. if len(colorList) >= cut and cut > 0:
  59. del colorList[0]
  60. del colorList[0]
  61. def addState(obj, sta, cut):
  62. global stateData
  63. stateList.append(" "+str(obj))
  64. stateList.append(sta)
  65. if len(stateList) >= cut and cut > 0:
  66. del stateList[0]
  67. del stateList[0]
  68. def addVisibility(obj, vis, cut):
  69. global visibilityData
  70. visibilityList.append(" "+str(obj))
  71. visibilityList.append(vis)
  72. if len(visibilityList) >= cut and cut > 0:
  73. del visibilityList[0]
  74. del visibilityList[0]
  75. def addSkaterAnim(obj, anim, cut):
  76. global skaterAnimData
  77. skaterAnimList.append(" "+str(obj))
  78. skaterAnimList.append(anim)
  79. if len(skaterAnimList) >= cut and cut > 0:
  80. del skaterAnimList[0]
  81. del skaterAnimList[0]
  82. def addSkaterAnimF(obj, animf, cut):
  83. global skaterAnimFData
  84. skaterAnimFList.append(" "+str(obj))
  85. skaterAnimFList.append(animf)
  86. if len(skaterAnimFList) >= cut and cut > 0:
  87. del skaterAnimFList[0]
  88. del skaterAnimFList[0]
  89. def addDeckAnim(obj, anim, cut):
  90. global deckAnimData
  91. deckAnimList.append(" "+str(obj))
  92. deckAnimList.append(anim)
  93. if len(deckAnimList) >= cut and cut > 0:
  94. del deckAnimList[0]
  95. del deckAnimList[0]
  96. def addDeckAnimF(obj, animf, cut):
  97. global deckAnimFData
  98. deckAnimFList.append(" "+str(obj))
  99. deckAnimFList.append(animf)
  100. if len(deckAnimFList) >= cut and cut > 0:
  101. del deckAnimFList[0]
  102. del deckAnimFList[0]
  103. ###
  104. def addSrollVol(obj, srollVol, cut):
  105. global srollVolData
  106. srollVolList.append(" "+str(obj))
  107. srollVolList.append(srollVol)
  108. if len(srollVolList) >= cut and cut > 0:
  109. del srollVolList[0]
  110. del srollVolList[0]
  111. def addSrollPitch(obj, srollPitch, cut):
  112. global srollPitchData
  113. srollPitchList.append(" "+str(obj))
  114. srollPitchList.append(srollPitch)
  115. if len(srollPitchList) >= cut and cut > 0:
  116. del srollPitchList[0]
  117. del srollPitchList[0]
  118. ###
  119. def addSgrind_cementVol(obj, sgrind_cementVol, cut):
  120. global sgrind_cementVolData
  121. sgrind_cementVolList.append(" "+str(obj))
  122. sgrind_cementVolList.append(sgrind_cementVol)
  123. if len(sgrind_cementVolList) >= cut and cut > 0:
  124. del sgrind_cementVolList[0]
  125. del sgrind_cementVolList[0]
  126. def addSgrind_cementPitch(obj, sgrind_cementPitch, cut):
  127. global sgrind_cementPitchData
  128. sgrind_cementPitchList.append(" "+str(obj))
  129. sgrind_cementPitchList.append(sgrind_cementPitch)
  130. if len(sgrind_cementPitchList) >= cut and cut > 0:
  131. del sgrind_cementPitchList[0]
  132. del sgrind_cementPitchList[0]
  133. ###
  134. def addSgrind_railVol(obj, sgrind_railVol, cut):
  135. global sgrind_railVolData
  136. sgrind_railVolList.append(" "+str(obj))
  137. sgrind_railVolList.append(sgrind_railVol)
  138. if len(sgrind_railVolList) >= cut and cut > 0:
  139. del sgrind_railVolList[0]
  140. del sgrind_railVolList[0]
  141. def addSgrind_railPitch(obj, sgrind_railPitch, cut):
  142. global sgrind_railPitchData
  143. sgrind_railPitchList.append(" "+str(obj))
  144. sgrind_railPitchList.append(sgrind_railPitch)
  145. if len(sgrind_railPitchList) >= cut and cut > 0:
  146. del sgrind_railPitchList[0]
  147. del sgrind_railPitchList[0]
  148. ##
  149. def addSpopsound(obj, spopsound, cut):
  150. global spopsoundData
  151. spopsoundList.append(" "+str(obj))
  152. spopsoundList.append(spopsound)
  153. if len(spopsoundList) >= cut and cut > 0:
  154. del spopsoundList[0]
  155. del spopsoundList[0]
  156. ##
  157. def addSlandsound(obj, slandsound, cut):
  158. global slandsoundData
  159. slandsoundList.append(" "+str(obj))
  160. slandsoundList.append(slandsound)
  161. if len(slandsoundList) >= cut and cut > 0:
  162. del slandsoundList[0]
  163. del slandsoundList[0]
  164. def addSdeckvis(obj, sdeckvis, cut):
  165. global sdeckvisData
  166. sdeckvisList.append(" "+str(obj))
  167. sdeckvisList.append(sdeckvis)
  168. if len(sdeckvisList) >= cut and cut > 0:
  169. del sdeckvisList[0]
  170. del sdeckvisList[0]
  171. def addtdPosition(obj, pos, cut):
  172. global positiontdList
  173. positiontdList.append(" "+str(obj))
  174. positiontdList.append(pos)
  175. if len(positiontdList) >= cut and cut > 0:
  176. del positiontdList[0]
  177. del positiontdList[0]
  178. def addtdOrientation(obj, ori, cut):
  179. global orientationtdData
  180. orientationtdList.append(" "+str(obj))
  181. orientationtdList.append(ori)
  182. if len(orientationtdList) >= cut and cut > 0:
  183. del orientationtdList[0]
  184. del orientationtdList[0]
  185. ##
  186. def addSrevertsound(obj, srevertsound, cut):
  187. global srevertsoundData
  188. srevertsoundList.append(" "+str(obj))
  189. srevertsoundList.append(srevertsound)
  190. if len(srevertsoundList) >= cut and cut > 0:
  191. del srevertsoundList[0]
  192. del srevertsoundList[0]
  193. def saveAll():
  194. allDataList = ["game="+gameName+"\n",
  195. " ".join(positionList),
  196. " ".join(orientationList),
  197. " ".join(scaleList),
  198. " ".join(colorList),
  199. " ".join(stateList),
  200. " ".join(visibilityList),
  201. " ".join(skaterAnimList),
  202. " ".join(skaterAnimFList),
  203. " ".join(deckAnimList),
  204. " ".join(deckAnimFList),
  205. " ".join(srollVolList),
  206. " ".join(srollPitchList),
  207. " ".join(sgrind_cementVolList),
  208. " ".join(sgrind_cementPitchList),
  209. " ".join(sgrind_railVolList),
  210. " ".join(sgrind_railPitchList),
  211. " ".join(spopsoundList),
  212. " ".join(slandsoundList),
  213. " ".join(sdeckvisList),
  214. " ".join(positiontdList),
  215. " ".join(orientationtdList),
  216. " ".join(spopsoundList)]
  217. try:
  218. with open(allDataPath,'w') as all:
  219. all.write("|".join(allDataList))
  220. all.close()
  221. if printDebug:
  222. print("State recording saved successfuly to "+allDataPath)
  223. except IOError:
  224. if printDebug:
  225. print(allDataPath+"cannot be opened for writing")
  226. class readData:
  227. def loadAll():
  228. global allDataList
  229. global positionList
  230. global orientationList
  231. global scaleList
  232. global colorList
  233. global stateList
  234. global visibilityList
  235. global skaterAnimList
  236. global skaterAnimFList
  237. global deckAnimList
  238. global deckAnimFList
  239. global srollVolList
  240. global srollPitchList
  241. global sgrind_cementVolList
  242. global sgrind_cementPitchList
  243. global sgrind_railVolList
  244. global sgrind_railPitchList
  245. global spopsoundList
  246. global slandsoundList
  247. global sdeckvisList
  248. global positiontdList
  249. global orientationtdList
  250. global srevertsoundList
  251. if not allDataList:
  252. try:
  253. with open(allDataPath) as all:
  254. data = all.read()
  255. all.close()
  256. allDataList = data.split("|",6)
  257. loadedGameName = str(allDataList[0].split("=",1)[1]).strip()
  258. try:
  259. if loadedGameName == gameName:
  260. positionList = allDataList[1].split()
  261. print('1')
  262. orientationList = allDataList[2].split()
  263. print('2')
  264. scaleList = allDataList[3].split()
  265. print('3')
  266. colorList = allDataList[4].split()
  267. print('4')
  268. stateList = allDataList[5].split()
  269. print('5')
  270. visibilityList = allDataList[6].split()
  271. print('6')
  272. skaterAnimList = allDataList[7].split()
  273. print('7')
  274. skaterAnimFList = allDataList[8].split()
  275. print('8')
  276. deckAnimList = allDataList[9].split()
  277. print('9')
  278. deckAnimFList = allDataList[10].split()
  279. print('1')
  280. srollVolList = allDataList[11].split()
  281. print('1')
  282. srollPitchList = allDataList[12].split()
  283. print('1')
  284. sgrind_cementVolList = allDataList[13].split()
  285. print('1')
  286. sgrind_cementPitchList = allDataList[14].split()
  287. print('1')
  288. sgrind_railVolList = allDataList[15].split()
  289. print('1')
  290. sgrind_railPitchList = allDataList[16].split()
  291. print('1')
  292. spopsoundList = allDataList[17].split()
  293. print('1')
  294. slandsoundList = allDataList[18].split()
  295. print('1')
  296. sdeckvisList = allDataList[19].split()
  297. print('1')
  298. positiontdList = allDataList[20].split()
  299. print('1')
  300. orientationtdList = allDataList[21].split()
  301. print('1')
  302. srevertsoundList = allDataList[22].split()
  303. print('1')
  304. if printDebug:
  305. print("Read file "+allDataPath)
  306. except Exception as e:
  307. print("error reading replay data", e)
  308. #except IOError:
  309. except Exception as e:
  310. if printDebug:
  311. print("Error reading "+allDataPath, e)
  312. def returnPosition(objIndex, valueIndex):
  313. if positionList:
  314. name = positionList[objIndex-2] #That -2 is a little workaround to a list index out of range error.
  315. position = positionList[valueIndex-2]
  316. name = name.replace(" ","")
  317. position = str(position)
  318. position = position.replace(","," ")
  319. pX = float(position.split()[0])
  320. pY = float(position.split()[1])
  321. pZ = float(position.split()[2])
  322. position = [pX,pY,pZ]
  323. return(name, position)
  324. def returnOrientation(objIndex, valueIndex):
  325. if orientationList:
  326. name = orientationList[objIndex-2]
  327. orientation = orientationList[valueIndex-2]
  328. name = name.replace(" ","")
  329. orientation = str(orientation)
  330. orientation = orientation.replace(","," ")
  331. orientation = orientation.split()
  332. return(name, orientation)
  333. def returnScale(objIndex, valueIndex):
  334. if scaleList:
  335. name = scaleList[objIndex-2]
  336. scale = scaleList[valueIndex-2]
  337. name = name.replace(" ","")
  338. scale = str(scale)
  339. scale = scale.replace(","," ")
  340. sX = float(scale.split()[0])
  341. sY = float(scale.split()[1])
  342. sZ = float(scale.split()[2])
  343. scale = [sX,sY,sZ]
  344. return(name, scale)
  345. def returnColor(objIndex, valueIndex):
  346. if colorList:
  347. name = colorList[objIndex-2]
  348. color = colorList[valueIndex-2]
  349. name = name.replace(" ","")
  350. color = str(color)
  351. color = color.replace(","," ")
  352. cR = float(color.split()[0])
  353. cG = float(color.split()[1])
  354. cB = float(color.split()[2])
  355. cA = float(color.split()[3])
  356. color = [cR,cG,cB,cA]
  357. return(name, color)
  358. def returnState(objIndex, valueIndex):
  359. if stateList:
  360. name = stateList[objIndex-2]
  361. state = stateList[valueIndex-2]
  362. name = name.replace(" ","")
  363. state = str(state)
  364. state = state.replace(","," ")
  365. state = int(state)
  366. return(name, state)
  367. def returnVisibility(objIndex, valueIndex):
  368. if visibilityList:
  369. name = visibilityList[objIndex-2]
  370. visible = visibilityList[valueIndex-2]
  371. name = name.replace(" ","")
  372. visible = str(visible)
  373. visible = visible.replace(","," ")
  374. return(name, visible)
  375. def returnSkaterAnim(objIndex, valueIndex):
  376. if skaterAnimList:
  377. name = skaterAnimList[objIndex-2]
  378. skaterAnim = skaterAnimList[valueIndex-2]
  379. name = name.replace(" ","")
  380. skaterAnim = str(skaterAnim)
  381. skaterAnim = skaterAnim.replace(","," ")
  382. return(name, skaterAnim)
  383. def returnSkaterAnimF(objIndex, valueIndex):
  384. if skaterAnimFList:
  385. name = skaterAnimFList[objIndex-2]
  386. skaterAnimF = skaterAnimFList[valueIndex-2]
  387. name = name.replace(" ","")
  388. skaterAnimF = str(skaterAnimF)
  389. skaterAnimF = skaterAnimF.replace(","," ")
  390. return(name, skaterAnimF)
  391. def returnDeckAnim(objIndex, valueIndex):
  392. if deckAnimList:
  393. name = deckAnimList[objIndex-2]
  394. deckAnim = deckAnimList[valueIndex-2]
  395. name = name.replace(" ","")
  396. deckAnim = str(deckAnim)
  397. deckAnim = deckAnim.replace(","," ")
  398. return(name, deckAnim)
  399. def returnDeckAnimF(objIndex, valueIndex):
  400. if deckAnimFList:
  401. name = deckAnimFList[objIndex-2]
  402. deckAnimF = deckAnimFList[valueIndex-2]
  403. name = name.replace(" ","")
  404. deckAnimF = str(deckAnimF)
  405. deckAnimF = deckAnimF.replace(","," ")
  406. return(name, deckAnimF)
  407. ####
  408. def returnSrollVol(objIndex, valueIndex):
  409. if srollVolList:
  410. name = srollVolList[objIndex-2]
  411. srollVol = srollVolList[valueIndex-2]
  412. name = name.replace(" ","")
  413. srollVol = str(srollVol)
  414. srollVol = srollVol.replace(","," ")
  415. srollVol = float(srollVol)
  416. return(name, srollVol)
  417. def returnSrollPitch(objIndex, valueIndex):
  418. if srollPitchList:
  419. name = srollPitchList[objIndex-2]
  420. srollPitch = srollPitchList[valueIndex-2]
  421. name = name.replace(" ","")
  422. srollPitch = str(srollPitch)
  423. srollPitch = srollPitch.replace(","," ")
  424. srollPitch = float(srollPitch)
  425. return(name, srollPitch) ####
  426. ####
  427. def returnSgrind_cementVol(objIndex, valueIndex):
  428. if sgrind_cementVolList:
  429. name = sgrind_cementVolList[objIndex-2]
  430. sgrind_cementVol = sgrind_cementVolList[valueIndex-2]
  431. name = name.replace(" ","")
  432. sgrind_cementVol = str(sgrind_cementVol)
  433. sgrind_cementVol = sgrind_cementVol.replace(","," ")
  434. sgrind_cementVol = float(sgrind_cementVol)
  435. return(name, sgrind_cementVol)
  436. def returnSgrind_cementPitch(objIndex, valueIndex):
  437. if sgrind_cementPitchList:
  438. name = sgrind_cementPitchList[objIndex-2]
  439. sgrind_cementPitch = sgrind_cementPitchList[valueIndex-2]
  440. name = name.replace(" ","")
  441. sgrind_cementPitch = str(sgrind_cementPitch)
  442. sgrind_cementPitch = sgrind_cementPitch.replace(","," ")
  443. sgrind_cementPitch = float(sgrind_cementPitch)
  444. return(name, sgrind_cementPitch) ####
  445. ####
  446. def returnSgrind_railVol(objIndex, valueIndex):
  447. if sgrind_railVolList:
  448. name = sgrind_railVolList[objIndex-2]
  449. sgrind_railVol = sgrind_railVolList[valueIndex-2]
  450. name = name.replace(" ","")
  451. sgrind_railVol = str(sgrind_railVol)
  452. sgrind_railVol = sgrind_railVol.replace(","," ")
  453. sgrind_railVol = float(sgrind_railVol)
  454. return(name, sgrind_railVol)
  455. def returnSgrind_railPitch(objIndex, valueIndex):
  456. if sgrind_railPitchList:
  457. name = sgrind_railPitchList[objIndex-2]
  458. sgrind_railPitch = sgrind_railPitchList[valueIndex-2]
  459. name = name.replace(" ","")
  460. sgrind_railPitch = str(sgrind_railPitch)
  461. sgrind_railPitch = sgrind_railPitch.replace(","," ")
  462. sgrind_railPitch = float(sgrind_railPitch)
  463. return(name, sgrind_railPitch) ####
  464. def returnSpopsound(objIndex, valueIndex):
  465. if spopsoundList:
  466. name = spopsoundList[objIndex-2]
  467. spopsound = spopsoundList[valueIndex-2]
  468. name = name.replace(" ","")
  469. spopsound = str(spopsound)
  470. spopsound = spopsound.replace(","," ")
  471. spopsound = int(spopsound)
  472. return(name, spopsound)
  473. def returnSlandsound(objIndex, valueIndex):
  474. if slandsoundList:
  475. name = slandsoundList[objIndex-2]
  476. slandsound = slandsoundList[valueIndex-2]
  477. name = name.replace(" ","")
  478. slandsound = str(slandsound)
  479. slandsound = slandsound.replace(","," ")
  480. slandsound = int(slandsound)
  481. return(name, slandsound)
  482. def returnSdeckvis(objIndex, valueIndex):
  483. if sdeckvisList:
  484. name = sdeckvisList[objIndex-2]
  485. sdeckvis = sdeckvisList[valueIndex-2]
  486. name = name.replace(" ","")
  487. sdeckvis = str(sdeckvis)
  488. sdeckvis = sdeckvis.replace(","," ")
  489. sdeckvis = int(sdeckvis)
  490. return(name, sdeckvis)
  491. def returntdPosition(objIndex, valueIndex):
  492. if positiontdList:
  493. name = positiontdList[objIndex-2] #That -2 is a little workaround to a list index out of range error.
  494. position = positiontdList[valueIndex-2]
  495. name = name.replace(" ","")
  496. position = str(position)
  497. position = position.replace(","," ")
  498. pX = float(position.split()[0])
  499. pY = float(position.split()[1])
  500. pZ = float(position.split()[2])
  501. position = [pX,pY,pZ]
  502. return(name, position)
  503. def returntdOrientation(objIndex, valueIndex):
  504. if orientationtdList:
  505. name = orientationtdList[objIndex-2]
  506. orientation = orientationtdList[valueIndex-2]
  507. name = name.replace(" ","")
  508. orientation = str(orientation)
  509. orientation = orientation.replace(","," ")
  510. orientation = orientation.split()
  511. return(name, orientation)
  512. def returnSrevertsound(objIndex, valueIndex):
  513. if srevertsoundList:
  514. name = srevertsoundList[objIndex-2]
  515. srevertsound = srevertsoundList[valueIndex-2]
  516. name = name.replace(" ","")
  517. srevertsound = str(srevertsound)
  518. srevertsound = srevertsound.replace(","," ")
  519. srevertsound = int(srevertsound)
  520. return(name, srevertsound)
  521. ####
  522. def getLengthPos():
  523. if positionList:
  524. return(len(positionList))
  525. def getLengthOri():
  526. if orientationList:
  527. return(len(orientationList))
  528. def getLengthSca():
  529. if scaleList:
  530. return(len(scaleList))
  531. def getLengthCol():
  532. if colorList:
  533. return(len(colorList))
  534. def getLengthSta():
  535. if stateList:
  536. return(len(stateList))
  537. def getLengthVis():
  538. if visibilityList:
  539. return(len(visibilityList))
  540. def getLengthSkaterAnim():
  541. if skaterAnimList:
  542. return(len(skaterAnimList))
  543. def getLengthSkaterAnimF():
  544. if skaterAnimFList:
  545. return(len(skaterAnimFList))
  546. def getLengthDeckAnim():
  547. if deckAnimList:
  548. return(len(deckAnimList))
  549. def getLengthDeckAnimF():
  550. if deckAnimFList:
  551. return(len(deckAnimFList))
  552. def getLengthSrollVol():
  553. if srollVolList:
  554. return(len(srollVolList))
  555. def getLengthSrollPitch():
  556. if srollPitchList:
  557. return(len(srollPitchList))
  558. def getLengthSgrind_cementVol():
  559. if sgrind_cementVolList:
  560. return(len(sgrind_cementVolList))
  561. def getLengthSgrind_cementPitch():
  562. if sgrind_cementPitchList:
  563. return(len(sgrind_cementPitchList))
  564. def getLengthSgrind_railVol():
  565. if sgrind_railVolList:
  566. return(len(sgrind_railVolList))
  567. def getLengthSgrind_railPitch():
  568. if sgrind_railPitchList:
  569. return(len(sgrind_railPitchList))
  570. def getLengthSpopsound():
  571. if spopsoundList:
  572. return(len(spopsoundList))
  573. def getLengthSlandsound():
  574. if slandsoundList:
  575. return(len(slandsoundList))
  576. def getLengthSdeckvis():
  577. if sdeckvisList:
  578. return(len(sdeckvisList))
  579. def getLengthtdPos():
  580. if positiontdList:
  581. return(len(positiontdList))
  582. def getLengthtdOri():
  583. if orientationtdList:
  584. return(len(orientationtdList))
  585. def getLengthSrevertsound():
  586. if srevertsoundList:
  587. return(len(srevertsoundList))