Fix misc rope bugs
This commit is contained in:
parent
a5e884440a
commit
abd6e5b498
@ -274,7 +274,7 @@ function title:draw()
|
|||||||
print(lvlstr,51,90,blinkcol)
|
print(lvlstr,51,90,blinkcol)
|
||||||
end
|
end
|
||||||
|
|
||||||
start_level=0
|
start_level=24
|
||||||
max_level=31
|
max_level=31
|
||||||
|
|
||||||
function title:update()
|
function title:update()
|
||||||
@ -1579,7 +1579,12 @@ function rope:_calc_push(
|
|||||||
local ops={}
|
local ops={}
|
||||||
if (not an) return ops
|
if (not an) return ops
|
||||||
|
|
||||||
if a0.x==a1.x then
|
local ax0,ay0=_anch_unpack(a0)
|
||||||
|
local ax1,ay1=_anch_unpack(a1)
|
||||||
|
|
||||||
|
local anch=level:anchor_at(a0)
|
||||||
|
|
||||||
|
if ax0==ax1 then
|
||||||
-- no far side applying pressure?
|
-- no far side applying pressure?
|
||||||
local y0,y1=_mnmx(a0.y,a1.y)
|
local y0,y1=_mnmx(a0.y,a1.y)
|
||||||
local my0,my1,smy=(y0+1)\8,(y1-1)\8,1
|
local my0,my1,smy=(y0+1)\8,(y1-1)\8,1
|
||||||
@ -1589,13 +1594,13 @@ function rope:_calc_push(
|
|||||||
end
|
end
|
||||||
|
|
||||||
local mx,dmx
|
local mx,dmx
|
||||||
if a0.x%8==0 and a0.x>an.x+7 then
|
if anch.adx==-1 and a0.x>an.x+7 then
|
||||||
-- push left
|
-- push left
|
||||||
mx=(a0.x-1)\8
|
mx=ax0-1
|
||||||
dmx=-1
|
dmx=-1
|
||||||
elseif a0.x%8==7 and a0.x<an.x-7 then
|
elseif anch.adx==1 and a0.x<an.x-7 then
|
||||||
-- push right
|
-- push right
|
||||||
mx=(a0.x+1)\8
|
mx=ax0
|
||||||
dmx=1
|
dmx=1
|
||||||
else
|
else
|
||||||
return {}
|
return {}
|
||||||
@ -1606,7 +1611,7 @@ function rope:_calc_push(
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if a0.y==a1.y then
|
if ay0==ay1 then
|
||||||
local x0,x1=_mnmx(a0.x,a1.x)
|
local x0,x1=_mnmx(a0.x,a1.x)
|
||||||
local mx0,mx1,smx=(x0+1)\8,(x1-1)\8,1
|
local mx0,mx1,smx=(x0+1)\8,(x1-1)\8,1
|
||||||
if a0.x>a1.x then
|
if a0.x>a1.x then
|
||||||
@ -1615,14 +1620,14 @@ function rope:_calc_push(
|
|||||||
end
|
end
|
||||||
|
|
||||||
local my,dmy
|
local my,dmy
|
||||||
if a0.y%8==0 and a0.y>an.y+6 then
|
if anch.ady==-1 and a0.y>an.y+6 then
|
||||||
-- push up
|
-- push up
|
||||||
my=(a0.y-1)\8
|
my=ay0-1
|
||||||
dmy=-1
|
dmy=-1
|
||||||
|
|
||||||
elseif a0.y%8==7 and a0.y<an.y-6 then
|
elseif anch.ady==1 and a0.y<an.y-6 then
|
||||||
-- push down
|
-- push down
|
||||||
my=(a0.y+1)\8
|
my=ay0
|
||||||
dmy=1
|
dmy=1
|
||||||
else
|
else
|
||||||
return {}
|
return {}
|
||||||
@ -1945,37 +1950,37 @@ eeee0000cc04405500444400efeeee5e11111111e5eeeefeeeeeeeeeeeeeeeeeffffffffffffffff
|
|||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0e3c0c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c000000000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0000000c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0000000c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0000000c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000212000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000212000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000313000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000313000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0000000c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c000c00000c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0002400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c00000c3c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0003400c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0000000c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000c0
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
|
||||||
__label__
|
__label__
|
||||||
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
|
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
|
||||||
|
Loading…
Reference in New Issue
Block a user