X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp.cpp;h=e8f92689f2fe8cc4cda80cc987baf0aa79b89819;hb=66d7cf56cfbb565dd4700d94e5f338a39a40edeb;hp=8c40c61fbc5ab2c74ea00257ff40fe4823b79264;hpb=982b69ce8c393ae18beed5239191b8bc2ee1d5d1;p=blank.git diff --git a/src/app.cpp b/src/app.cpp index 8c40c61..e8f9268 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -46,23 +46,6 @@ Application::Application() world.Generate(); - outline.vertices = std::vector({ - { 0.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, 0.0f }, - { 1.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 0.0f }, - { 1.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, - { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 1.0f }, - { 1.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, 1.0f }, - { 1.0f, 1.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, - { 0.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 1.0f }, - { 0.0f, 0.0f, 1.0f }, { 1.0f, 0.0f, 1.0f }, - { 1.0f, 0.0f, 1.0f }, { 1.0f, 1.0f, 1.0f }, - { 1.0f, 1.0f, 1.0f }, { 0.0f, 1.0f, 1.0f }, - { 0.0f, 1.0f, 1.0f }, { 0.0f, 0.0f, 1.0f }, - }); - outline.colors.resize(24, { -1, -1, -1 }); - outline.Invalidate(); - glClearColor(0.0, 0.0, 0.0, 1.0); } @@ -106,9 +89,11 @@ void Application::HandleEvents() { right = event.key.state == SDL_PRESSED; break; case SDLK_q: + case SDLK_SPACE: up = event.key.state == SDL_PRESSED; break; case SDLK_e: + case SDLK_LSHIFT: down = event.key.state == SDL_PRESSED; break; } @@ -176,6 +161,8 @@ void Application::Update(int dt) { if (world.Intersection(aim, glm::mat4(1.0f), &chunk, &blkid, &dist, &normal)) { glm::vec3 pos = Chunk::ToCoords(blkid); outline_visible = true; + outline.Clear(); + chunk->BlockAt(blkid).type->FillOutlineModel(outline); outline_transform = glm::translate(chunk->Transform(), pos); } else { outline_visible = false;