| 123 | } |
| 124 | |
| 125 | void Burrows::listBlocks(std::vector<df::map_block*> *pvec, df::burrow *burrow) |
| 126 | { |
| 127 | CHECK_NULL_POINTER(burrow); |
| 128 | |
| 129 | pvec->clear(); |
| 130 | pvec->reserve(burrow->block_x.size()); |
| 131 | |
| 132 | df::coord base(world->map.region_x*3,world->map.region_y*3,world->map.region_z); |
| 133 | |
| 134 | for (size_t i = 0; i < burrow->block_x.size(); i++) |
| 135 | { |
| 136 | df::coord pos(burrow->block_x[i], burrow->block_y[i], burrow->block_z[i]); |
| 137 | |
| 138 | auto block = Maps::getBlock(pos - base); |
| 139 | if (block) |
| 140 | pvec->push_back(block); |
| 141 | } |
| 142 | } |
| 143 | |
| 144 | static void destroyBurrowMask(df::block_burrow *mask) |
| 145 | { |