diff --git a/collision_profiling.p8 b/collision_profiling.p8 index e41e7b5..3172a62 100644 --- a/collision_profiling.p8 +++ b/collision_profiling.p8 @@ -350,14 +350,12 @@ prof(function(b1,b2) and b1[3]>=b2[1] and b1[4]>=b2[2] end,function(b1, b2) - local b1x1, b1y1, b1x2, b1y2 = unpack(b1) - local b2x1, b2y1, b2x2, b2y2 = unpack(b2) return - b1x1<=b2x2 - and b1y1<=b2y2 - and b1x2>=b2x1 - and b2y2>=b2y1 -end,{ locals={{1,1,1,1},{1,1,1,1}} }) + b1.x1<=b2.x2 + and b1.y1<=b2.y2 + and b1.x2>=b2.x1 + and b1.y2>=b2.y1 +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 -- passed in as args. see the diff --git a/vacuum_gambit.p8 b/vacuum_gambit.p8 index 7733a9d..506d1ae 100644 --- a/vacuum_gambit.p8 +++ b/vacuum_gambit.p8 @@ -568,7 +568,7 @@ end function hurtbox(ship) local h = ship.hurt 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 function ship_m:maybe_shoot(gun) @@ -1354,12 +1354,11 @@ end -- box: x1, y1, x2, y2 function collides(b1, b2) - -- x1, y1, x2, y2 return - b1[1]<=b2[3] - and b1[2]<=b2[4] - and b1[3]>=b2[1] - and b1[4]>=b2[2] + b1.x1<=b2.x2 + and b1.y1<=b2.y2 + and b1.x2>=b2.x1 + and b1.y2>=b2.y1 end collider = mknew{ @@ -1380,8 +1379,8 @@ collider = mknew{ } function collider_indexes(box) - local ret, ylo, yhi = {}, box[2]\8, box[4]\8 - for x = box[1]\8, box[3]\8 do + local ret, ylo, yhi = {}, box.y1\8, box.y2\8 + for x = box.x1\8, box.x2\8 do for y = ylo, yhi do add(ret, x+(y<<8)) end