Assorted token golf in rope logic #25

Merged
pyrex merged 7 commits from kistaro/chameleonic:rope_golf into main 2023-01-03 01:06:57 +00:00
Showing only changes of commit b2dbd9ec60 - Show all commits

View File

@ -1645,21 +1645,16 @@ function rope:_calc_push(
smy=-smy
end
local mx,dmx
local dmx=1 -- maybe push right?
if anch.adx==-1 and a0.x>an.x+7 then
-- push left
mx=ax0-1
dmx=-1
elseif anch.adx==1 and a0.x<an.x-7 then
-- push right
mx=ax0
dmx=1
else
ax0, dmx=ax0-1,-1
elseif anch.adx!=1 or a0.x>=an.x-7 then
return {}
end
for my=my0,my1,smy do
add(ops,{mx,my,dmx,0})
add(ops,{ax0,my,dmx,0})
end
end
@ -1671,22 +1666,16 @@ function rope:_calc_push(
smx=-smx
end
local my,dmy
local dmy=1 -- maybe push down?
if anch.ady==-1 and a0.y>an.y+6 then
-- push up
my=ay0-1
dmy=-1
elseif anch.ady==1 and a0.y<an.y-6 then
-- push down
my=ay0
dmy=1
else
ay0,dmy=ay0-1,dmy=-1
elseif anch.ady!=1 or a0.y>=an.y-6 then
return {}
end
for mx=mx0,mx1,smx do
add(ops,{mx,my,0,dmy})
add(ops,{mx,ay0,0,dmy})
end
end