forked from pyrex/chameleonic
		
	main #21
| @@ -416,8 +416,9 @@ end | ||||
| function level:recollide_reanchor() | ||||
|  self._coll={} | ||||
|  for mx=0,15 do | ||||
|   local kmx=mx.."," | ||||
|   for my=0,15 do | ||||
|    local mxy=_mix{mx,my} | ||||
|    local mxy=kmx..my | ||||
|    self._coll[mxy]= | ||||
|     fget(self:_mget(mx,my),7) or | ||||
|     self._crates[mxy] | ||||
| @@ -430,18 +431,19 @@ function level:recollide_reanchor() | ||||
|  -1`1 | ||||
|  1`1]]) do | ||||
|   local dx,dy=unpack(dxy) | ||||
|   assert(dx!=0 and dy!=0) | ||||
|   local c=self._coll | ||||
|   for mx0=0,15 do | ||||
|    local mx1=mx0+dx | ||||
|    local kmx0,kmx1=mx0..",",mx1.."," | ||||
|    for my0=0,15 do | ||||
|     local mx1,my1=mx0+dx,my0+dy | ||||
|     local my1=my0+dy | ||||
|  | ||||
|     -- bypass mcoll for MEGA SPEED | ||||
|     local c=self._coll | ||||
|     if ( | ||||
|      c[mx0..","..my0] and not self:get_crate(mx0,my0) and | ||||
|      not c[mx0..","..my1] and | ||||
|      not c[mx1..","..my0] and | ||||
|      not c[mx1..","..my1] | ||||
|      c[kmx0..my0] and not self:get_crate(mx0,my0) and | ||||
|      not c[kmx0..my1] and | ||||
|      not c[kmx1..my0] and | ||||
|      not c[kmx1..my1] | ||||
|     ) then | ||||
|      local key=_mix{"GEOM",mx0,my0,dx,dy} | ||||
|      anch_new[key]= { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user