X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Finterface.cpp;h=b5aac9641061038a294fa5dea4a541ba8d19a546;hb=38abfe4f5342f20b56052ac3090694eabf028d16;hp=c0bfc02ce82c24f3bf23f2f976c4213a60ee5942;hpb=f90ec88e6728ce865bcf892c810a36abd90d9001;p=blank.git diff --git a/src/interface.cpp b/src/interface.cpp index c0bfc02..b5aac96 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -73,6 +73,11 @@ void Interface::Handle(const SDL_KeyboardEvent &event) { PrintBlockInfo(); } break; + case SDLK_c: + if (event.state == SDL_PRESSED) { + PrintChunkInfo(); + } + break; case SDLK_l: if (event.state == SDL_PRESSED) { PrintLightInfo(); @@ -100,6 +105,8 @@ void Interface::PrintBlockInfo() { std::cout << std::endl; if (!aim_chunk) { std::cout << "not looking at any block" << std::endl; + Ray aim = ctrl.Aim(); + std::cout << "aim ray: " << aim.orig << ", " << aim.dir << std::endl; return; } std::cout << "looking at block " << aim_block @@ -109,6 +116,38 @@ void Interface::PrintBlockInfo() { Print(aim_chunk->BlockAt(aim_block)); } +void Interface::PrintChunkInfo() { + std::cout << std::endl; + if (!aim_chunk) { + std::cout << "not looking at any block" << std::endl; + return; + } + std::cout << "looking at chunk " + << aim_chunk->Position() + << std::endl; + + std::cout << " neighbors:" << std::endl; + if (aim_chunk->HasNeighbor(Block::FACE_LEFT)) { + std::cout << " left " << aim_chunk->GetNeighbor(Block::FACE_LEFT).Position() << std::endl; + } + if (aim_chunk->HasNeighbor(Block::FACE_RIGHT)) { + std::cout << " right " << aim_chunk->GetNeighbor(Block::FACE_RIGHT).Position() << std::endl; + } + if (aim_chunk->HasNeighbor(Block::FACE_UP)) { + std::cout << " up " << aim_chunk->GetNeighbor(Block::FACE_UP).Position() << std::endl; + } + if (aim_chunk->HasNeighbor(Block::FACE_DOWN)) { + std::cout << " down " << aim_chunk->GetNeighbor(Block::FACE_DOWN).Position() << std::endl; + } + if (aim_chunk->HasNeighbor(Block::FACE_FRONT)) { + std::cout << " front " << aim_chunk->GetNeighbor(Block::FACE_FRONT).Position() << std::endl; + } + if (aim_chunk->HasNeighbor(Block::FACE_BACK)) { + std::cout << " back " << aim_chunk->GetNeighbor(Block::FACE_BACK).Position() << std::endl; + } + std::cout << std::endl; +} + void Interface::PrintLightInfo() { std::cout << "light level " << world.PlayerChunk().GetLight(world.Player().Position())