diff --git a/chameleonic.p8 b/chameleonic.p8 index 498cf3f..a711592 100644 --- a/chameleonic.p8 +++ b/chameleonic.p8 @@ -502,11 +502,7 @@ function level:get_latch(dx,dy,px,py) local dx1,dy1=-sgn0(dx),-sgn0(dy) if crate then - if crate.def & ( - dy1 >>> 15 | - (dy1 & 0x1) << 2 | - (dx1 & 0x8000) >>> 12 | - (dx1 & 0x1) << 1) ~= 0 then + if crate.def & dy1*dy1*(2.5+1.5*dy1)+dx1*dx1*(5-3*dx1) ~= 0 then return { el="crate", dx=dx1,dy=dy1,