- Chunk::Pos base;
-
-};
-
-}
-
-void ChunkLoader::Queue(const Chunk::Pos &from, const Chunk::Pos &to) {
- for (int z = from.z; z < to.z; ++z) {
- for (int y = from.y; y < to.y; ++y) {
- for (int x = from.x; x < to.x; ++x) {
- Chunk::Pos pos(x, y, z);
- if (Known(pos)) {
- continue;
- } else if (pos == base) {
- Load(pos);
-
- // light testing
- // for (int i = 0; i < 16; ++i) {
- // for (int j = 0; j < 16; ++j) {
- // loaded.back().SetBlock(Chunk::Pos{ i, j, 0 }, Block(1));
- // loaded.back().SetBlock(Chunk::Pos{ i, j, 15 }, Block(1));
- // loaded.back().SetBlock(Chunk::Pos{ 0, j, i }, Block(1));
- // loaded.back().SetBlock(Chunk::Pos{ 15, j, i }, Block(1));
- // }
- // }
- // loaded.back().SetBlock(Chunk::Pos{ 1, 0, 1 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 14, 0, 1 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 1, 0, 14 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 14, 0, 14 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 1, 15, 1 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 14, 15, 1 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 1, 15, 14 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 14, 15, 14 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 7, 7, 0 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 8, 7, 0 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 7, 8, 0 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 8, 8, 0 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 7, 7, 15 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 8, 7, 15 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 7, 8, 15 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 8, 8, 15 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 0, 7, 7 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 0, 7, 8 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 0, 8, 7 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 0, 8, 8 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 15, 7, 7 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 15, 7, 8 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 15, 8, 7 }, Block(13));
- // loaded.back().SetBlock(Chunk::Pos{ 15, 8, 8 }, Block(13));
- // loaded.back().Invalidate();
- // loaded.back().CheckUpdate();
-
- // orientation testing
- // for (int i = 0; i < Block::FACE_COUNT; ++i) {
- // for (int j = 0; j < Block::TURN_COUNT; ++j) {
- // loaded.back().BlockAt(512 * j + 2 * i) = Block(3 * (j + 1), Block::Face(i), Block::Turn(j));
- // }
- // }
- // loaded.back().Invalidate();
- // loaded.back().CheckUpdate();
- } else {
- to_load.emplace_back(pos);
- }