int is_blocked(int height, int lift, int tx, int ty, int& new_lift, const int move_flags, int max_drop = 1) { return cache->is_blocked(height, lift, tx, ty, new_lift, move_flags, max_drop); }
int Chunk_cache::is_blocked ( int height,  int lift, int tx, int ty, int& new_lift ) {  unsigned short tflags = blocked[ty*tiles_per_chunk + tx];  if (tflags & (((1<<height) - 1) << lift)) { new_lift = lift + 1; if (new_lift > 15 || (tflags & (((1<<height) - 1) << new_lift))) return (1); else return (0); } int i; for (i = lift - 1; i >= 0 && !(tflags & (1<<i)); i--) ; new_lift = i + 1;  return (lift - new_lift > 2 ? 1 : 0); }
	int is_blocked(int height, int lift, int tx, int ty, int& new_lift,					const int move_flags, int max_drop = 1)		{ return cache->is_blocked(height, lift, tx, ty, new_lift,						move_flags, max_drop); }