fix cringe mouse handling
This commit is contained in:
parent
00b0f9361d
commit
dbe5287272
80
main.lua
80
main.lua
|
@ -661,45 +661,7 @@ local speeds={1,0.05,10}
|
||||||
local plchint=1
|
local plchint=1
|
||||||
local toplchi=plchint
|
local toplchi=plchint
|
||||||
|
|
||||||
function love.update(dt)
|
function love.mousemoved()
|
||||||
dt=math.min(dt,0.2)*(speeds[slow])
|
|
||||||
accumdt=math.min(1,accumdt+dt)
|
|
||||||
local fcc=0
|
|
||||||
while accumdt>1/tps do
|
|
||||||
fcc=fcc+1
|
|
||||||
local dt=1/tps
|
|
||||||
accumdt=accumdt-dt
|
|
||||||
if fcc>10 then return end
|
|
||||||
if running and playdbg then
|
|
||||||
for _=1,10 do
|
|
||||||
local ix,iy=math.random(1,bw),math.random(1,bh)
|
|
||||||
local px,py=0,0
|
|
||||||
while px<1 or py<1 or px>bw or py>bh do
|
|
||||||
local ox,oy=unpack(({{1,0},{-1,0},{0,1},{0,-1}})[math.random(1,4)])
|
|
||||||
px,py=ix+ox,iy+oy
|
|
||||||
end
|
|
||||||
board[ix][iy],board[px][py]=
|
|
||||||
board[px][py],board[ix][iy]
|
|
||||||
local kills=check(ix,iy,check(px,py))
|
|
||||||
if kills and board[ix][iy] and board[px][py] then
|
|
||||||
megascan(ix,iy,board[ix][iy],megascan(px,py,board[px][py],kills))
|
|
||||||
killall(kills)
|
|
||||||
break
|
|
||||||
else
|
|
||||||
board[ix][iy],board[px][py]=
|
|
||||||
board[px][py],board[ix][iy]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if running then
|
|
||||||
bat=math.max(0,bat-dt*0.015*(math.max(bat,0.0625)^0.5))
|
|
||||||
batd=interp(batd,bat,dt)
|
|
||||||
scored=interp(scored,score,dt)
|
|
||||||
end
|
|
||||||
if bat==0 and not dying then
|
|
||||||
dying=true
|
|
||||||
dropall(0,true)
|
|
||||||
end
|
|
||||||
if grabbed then
|
if grabbed then
|
||||||
local x,y,ox,oy,px,py=unpack(grabbed)
|
local x,y,ox,oy,px,py=unpack(grabbed)
|
||||||
local mx,my=love.mouse.getPosition()
|
local mx,my=love.mouse.getPosition()
|
||||||
|
@ -721,6 +683,46 @@ function love.update(dt)
|
||||||
smtar(x,y,mx,my)
|
smtar(x,y,mx,my)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function love.update(dt)
|
||||||
|
dt=math.min(dt,0.2)*(speeds[slow])
|
||||||
|
accumdt=math.min(1,accumdt+dt)
|
||||||
|
local fcc=0
|
||||||
|
while accumdt>1/tps do
|
||||||
|
fcc=fcc+1
|
||||||
|
local dt=1/tps
|
||||||
|
accumdt=accumdt-dt
|
||||||
|
if fcc>10 then return end
|
||||||
|
if running and playdbg then
|
||||||
|
for _=1,100 do
|
||||||
|
local ix,iy=math.random(1,bw),math.random(1,bh)
|
||||||
|
local px,py=0,0
|
||||||
|
while px<1 or py<1 or px>bw or py>bh do
|
||||||
|
local ox,oy=unpack(({{1,0},{-1,0},{0,1},{0,-1}})[math.random(1,4)])
|
||||||
|
px,py=ix+ox,iy+oy
|
||||||
|
end
|
||||||
|
board[ix][iy],board[px][py]=
|
||||||
|
board[px][py],board[ix][iy]
|
||||||
|
local kills=check(ix,iy,check(px,py))
|
||||||
|
if kills and board[ix][iy] and board[px][py] then
|
||||||
|
megascan(ix,iy,board[ix][iy],megascan(px,py,board[px][py],kills))
|
||||||
|
killall(kills)
|
||||||
|
else
|
||||||
|
board[ix][iy],board[px][py]=
|
||||||
|
board[px][py],board[ix][iy]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if running then
|
||||||
|
bat=math.max(0,bat-dt*0.015*(math.max(bat,0.0625)^0.5))
|
||||||
|
batd=interp(batd,bat,dt)
|
||||||
|
scored=interp(scored,score,dt)
|
||||||
|
end
|
||||||
|
if bat==0 and not dying then
|
||||||
|
dying=true
|
||||||
|
dropall(0,true)
|
||||||
|
end
|
||||||
animc=0
|
animc=0
|
||||||
entc=0
|
entc=0
|
||||||
boomc=0
|
boomc=0
|
||||||
|
|
Loading…
Reference in a new issue