Advertisement
Guest User

Untitled

a guest
Jul 13th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.14 KB | None | 0 0
  1. -- Gather pixels
  2. local frames, frame = {}, 1
  3. for i in sim.parts() do
  4. if tpt.get_property("type", i) == elem.DEFAULT_PT_FRME then
  5. frames[frame] = {}
  6. local px = tpt.get_property("x", i)
  7. local py = tpt.get_property("y", i)
  8. for tx = 1, 10 do
  9. frames[frame][tx] = {}
  10. for ty = 1, 10 do
  11. frames[frame][tx][ty] = tpt.get_property("type", px + tx, py + ty) ~= 0
  12. end
  13. end
  14. frame = frame + 1
  15. end
  16. end
  17.  
  18. -- process pixels
  19. local data, i = {}, 1
  20. while frames[i] do
  21. dp = 1
  22. data[i] = {}
  23. local frame = frames[i]
  24. for by = 0, 5, 5 do
  25. for bx = 0, 5, 5 do
  26. local value = 0x20000000
  27. local pxbit = 1
  28. for py = 1, 5 do
  29. for px = 1, 5 do
  30. if frame[bx+px][by+py] then
  31. value = bit.bor(value, pxbit)
  32. end
  33. pxbit = bit.lshift(pxbit, 1)
  34. end
  35. end
  36. data[i][dp] = value
  37. dp = dp + 1
  38. end
  39. end
  40. i = i + 1
  41. end
  42.  
  43. -- write data
  44. sim.clearSim()
  45. local idx = 0
  46. while data[idx + 1] do
  47. idx = idx + 1
  48. end
  49. for i = idx, 1, -1 do
  50. for j = 4, 1, -1 do
  51. local id = tpt.create(200, 100, "PHOT")
  52. tpt.set_property("ctype", data[i][j], id)
  53. tpt.set_property("x", 100, i)
  54. end
  55. end
  56. tpt.set_property("vx", 0)
  57. tpt.set_property("vy", 0)
  58. tpt.set_property("life", 0)
  59. tpt.set_property("x", 100)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement