X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=44d2156538f641991b96ee2c7f07d020ddae4f4b;hb=bc171dfe0897bccbbf9d9114d128be0801a1aff9;hp=8bd0ae3db1a6c76d7546cd568d823e2ef616f709;hpb=52154f309e569c913520dd004e9fafcbc4671e6f;p=blank.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 8bd0ae3..44d2156 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -4,6 +4,7 @@ #include "../app/Environment.hpp" #include "../app/init.hpp" +#include "../geometry/distance.hpp" #include "../model/Model.hpp" #include "../io/WorldSave.hpp" #include "../world/ChunkIndex.hpp" @@ -56,7 +57,7 @@ InteractiveState::InteractiveState(MasterState &master, uint32_t player_id) , manip(master.GetEnv().audio, sounds, player.GetEntity()) , input(world, player, master.GetClient()) , interface(master.GetConfig(), master.GetEnv().keymap, input, *this) -, chunk_receiver(world.Chunks(), save) +, chunk_receiver(master.GetClient(), world.Chunks(), save) , chunk_renderer(player.GetChunks()) , loop_timer(16) , stat_timer(1000) @@ -193,6 +194,9 @@ void InteractiveState::Render(Viewport &viewport) { if (master.GetConfig().video.world) { chunk_renderer.Render(viewport); world.Render(viewport); + if (master.GetConfig().video.debug) { + world.RenderDebug(viewport); + } sky.Render(viewport); } hud.Render(viewport); @@ -347,6 +351,14 @@ void InteractiveState::SetDebug(bool b) { } } +void InteractiveState::NextCamera() { + if (iszero(master.GetEnv().viewport.CameraOffset())) { + master.GetEnv().viewport.OffsetCamera(glm::vec3(0.0f, 0.0f, -5.0f)); + } else { + master.GetEnv().viewport.OffsetCamera(glm::vec3(0.0f, 0.0f, 0.0f)); + } +} + void InteractiveState::Exit() { save.Write(player); master.Quit();