forked from pyrex/chameleonic
main #21
@ -937,6 +937,11 @@ function rope:draw(artificial_px,artificial_py)
|
|||||||
local len_cumulative=0
|
local len_cumulative=0
|
||||||
local ia,iz,istep=#points-1,1,-1
|
local ia,iz,istep=#points-1,1,-1
|
||||||
if (from_end) ia,iz,istep=1,#points-1,1
|
if (from_end) ia,iz,istep=1,#points-1,1
|
||||||
|
|
||||||
|
local function colorh(ix)
|
||||||
|
color(8)
|
||||||
|
if (highlight==ix) color(12)
|
||||||
|
end
|
||||||
for i=ia,iz,istep do
|
for i=ia,iz,istep do
|
||||||
local src=points[i]
|
local src=points[i]
|
||||||
local dst=points[i+1]
|
local dst=points[i+1]
|
||||||
@ -958,31 +963,28 @@ function rope:draw(artificial_px,artificial_py)
|
|||||||
dx,dy=dx*coef,dy*coef
|
dx,dy=dx*coef,dy*coef
|
||||||
end
|
end
|
||||||
|
|
||||||
local color=8
|
colorh(i)
|
||||||
if (highlight==i) color=12
|
|
||||||
|
|
||||||
linefill(x,y,x+0.25*dx,y+0.25*dy,1.0,color)
|
linefill(x,y,x+0.25*dx,y+0.25*dy,1.0)
|
||||||
linefill(x+0.25*dx,y+0.25*dy,x+1*dx,y+1*dy,0.5,color)
|
linefill(x+0.25*dx,y+0.25*dy,x+1*dx,y+1*dy,0.5)
|
||||||
linefill(x+0.9*dx,y+0.9*dy,x+dx,y+dy,1.0,color)
|
linefill(x+0.9*dx,y+0.9*dy,x+dx,y+dy,1.0)
|
||||||
circfill(x+dx+0.5,y+dy+0.5,1.0,color)
|
circfill(x+dx+0.5,y+dy+0.5,1.0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- draw latch
|
-- draw latch
|
||||||
if self.latch!=nil and self.latch.rec and (perc_to_show>=1.0 or from_end) then
|
local l=self.latch
|
||||||
local x,y=self.latch.rec.px,self.latch.rec.py
|
if l and l.rec and (perc_to_show>=1.0 or from_end) then
|
||||||
local ldx,ldy=self.latch.dx,self.latch.dy
|
local function rfsplit(x) rectfill(unpack(split(x))) end
|
||||||
local color=8
|
local ldx,ldy=l.dx,l.dy
|
||||||
if (highlight==0) color=12
|
colorh(0)
|
||||||
if self.latch.dx==-1 and self.latch.dy==0 then
|
camera(-l.rec.px,-l.rec.py)
|
||||||
rectfill(x,y+3,x+2,y+4,color)
|
if (ldx==-1) rfsplit"0,3,2,4"
|
||||||
elseif self.latch.dx==1 and self.latch.dy==0 then
|
if (ldx==1) rfsplit"5,3,7,4"
|
||||||
rectfill(x+5,y+3,x+7,y+4,color)
|
if (ldy==-1) rfsplit"3,0,4,2"
|
||||||
elseif self.latch.dx==0 and self.latch.dy==-1 then
|
if (ldy==1) rfsplit"3,5,4,7"
|
||||||
rectfill(x+3,y,x+4,y+2,color)
|
camera()
|
||||||
elseif self.latch.dx==0 and self.latch.dy==1 then
|
color()
|
||||||
rectfill(x+3,y+5,x+4,y+7,color)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- debug
|
-- debug
|
||||||
|
Loading…
Reference in New Issue
Block a user