YGPAMROCZY2O2N4PJONW6NMFUNOFHAGT5ZA4APCXKFXQUHLEIN2AC
unsigned long* los_blockrays = NULL;
unsigned long* dead_rays = NULL;
unsigned long* smoke_rays = NULL;
// These store all unique (in terms of footprint) full rays.
// Fullrays and raylengths are of equal size. The footprint
// of fullray[i] consists of raylengths[i] cells, whose
// coordinates are stored in ray_coord_{x,y} after the
// coordinates of fullray[i-1].
// These are filled during precomputation (_register_ray).
std::vector<ray_def> fullrays;
std::vector<int> raylengths;
std::vector<int> raylengths;
std::vector<ray_def> fullrays;
// 3D bit array indexed by x coord, y coord, cellray index.
// Bit los_blockrays[x][y][i] is set iff a wall at (x,y) blocks
// the cellray starting at compressed_ray_{x,y}[i].
unsigned long* los_blockrays = NULL;