Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Gather pixels
- local frames, frame = {}, 1
- for i in sim.parts() do
- if tpt.get_property("type", i) == elem.DEFAULT_PT_FRME then
- frames[frame] = {}
- local px = tpt.get_property("x", i)
- local py = tpt.get_property("y", i)
- for tx = 1, 10 do
- frames[frame][tx] = {}
- for ty = 1, 10 do
- frames[frame][tx][ty] = tpt.get_property("type", px + tx, py + ty) ~= 0
- end
- end
- frame = frame + 1
- end
- end
- -- process pixels
- local data, i = {}, 1
- while frames[i] do
- dp = 1
- data[i] = {}
- local frame = frames[i]
- for by = 0, 5, 5 do
- for bx = 0, 5, 5 do
- local value = 0x20000000
- local pxbit = 1
- for py = 1, 5 do
- for px = 1, 5 do
- if frame[bx+px][by+py] then
- value = bit.bor(value, pxbit)
- end
- pxbit = bit.lshift(pxbit, 1)
- end
- end
- data[i][dp] = value
- dp = dp + 1
- end
- end
- i = i + 1
- end
- -- write data
- sim.clearSim()
- local idx = 0
- while data[idx + 1] do
- idx = idx + 1
- end
- for i = idx, 1, -1 do
- for j = 4, 1, -1 do
- local id = tpt.create(200, 100, "PHOT")
- tpt.set_property("ctype", data[i][j], id)
- tpt.set_property("x", 100, i)
- end
- end
- tpt.set_property("vx", 0)
- tpt.set_property("vy", 0)
- tpt.set_property("life", 0)
- tpt.set_property("x", 100)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement