- if (cand.dist > dist) continue;
- int cur_blkid;
- float cur_dist;
- glm::vec3 cur_normal;
- if (cand.chunk->Intersection(ray, M * cand.chunk->Transform(player->ChunkCoords()), cur_blkid, cur_dist, cur_normal)) {
- if (cur_dist < dist) {
- chunk = cand.chunk;
- blkid = cur_blkid;
- dist = cur_dist;
- normal = cur_normal;
+ if (cand.dist > coll.depth) continue;
+ WorldCollision cur_coll;
+ if (cand.chunk->Intersection(ray, M * cand.chunk->Transform(player->ChunkCoords()), cur_coll)) {
+ if (cur_coll.depth < coll.depth) {
+ coll = cur_coll;