initialization is very slightly faster this way, I think

This commit is contained in:
2025-06-24 22:54:03 -07:00
parent 3d6ef03b37
commit 36b268e057
2 changed files with 12 additions and 15 deletions

View File

@ -350,14 +350,12 @@ prof(function(b1,b2)
and b1[3]>=b2[1] and b1[3]>=b2[1]
and b1[4]>=b2[2] and b1[4]>=b2[2]
end,function(b1, b2) end,function(b1, b2)
local b1x1, b1y1, b1x2, b1y2 = unpack(b1)
local b2x1, b2y1, b2x2, b2y2 = unpack(b2)
return return
b1x1<=b2x2 b1.x1<=b2.x2
and b1y1<=b2y2 and b1.y1<=b2.y2
and b1x2>=b2x1 and b1.x2>=b2.x1
and b2y2>=b2y1 and b1.y2>=b2.y1
end,{ locals={{1,1,1,1},{1,1,1,1}} }) end,{ locals={{1,1,1,1,x1=1,x2=1,y1=1,y2=1},{1,1,1,1,x1=1,x2=1,y1=1,y2=1}} })
-- "locals" (optional) are -- "locals" (optional) are
-- passed in as args. see the -- passed in as args. see the

View File

@ -568,7 +568,7 @@ end
function hurtbox(ship) function hurtbox(ship)
local h = ship.hurt local h = ship.hurt
local x1,y1 = ship.x + h.x_off, ship.y+h.y_off local x1,y1 = ship.x + h.x_off, ship.y+h.y_off
return {x1, y1, x1+h.width, y1+h.height} return {x1=x1, y1=y1, x2=x1+h.width, y2=y1+h.height}
end end
function ship_m:maybe_shoot(gun) function ship_m:maybe_shoot(gun)
@ -1354,12 +1354,11 @@ end
-- box: x1, y1, x2, y2 -- box: x1, y1, x2, y2
function collides(b1, b2) function collides(b1, b2)
-- x1, y1, x2, y2
return return
b1[1]<=b2[3] b1.x1<=b2.x2
and b1[2]<=b2[4] and b1.y1<=b2.y2
and b1[3]>=b2[1] and b1.x2>=b2.x1
and b1[4]>=b2[2] and b1.y2>=b2.y1
end end
collider = mknew{ collider = mknew{
@ -1380,8 +1379,8 @@ collider = mknew{
} }
function collider_indexes(box) function collider_indexes(box)
local ret, ylo, yhi = {}, box[2]\8, box[4]\8 local ret, ylo, yhi = {}, box.y1\8, box.y2\8
for x = box[1]\8, box[3]\8 do for x = box.x1\8, box.x2\8 do
for y = ylo, yhi do for y = ylo, yhi do
add(ret, x+(y<<8)) add(ret, x+(y<<8))
end end