X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FPreloadState.cpp;h=7d5f3729735c741657870a879abc92bfff0f986f;hb=d4c71969df4f6b5e6b750c98268d30ca6784908b;hp=389d331bd6034167e755edaad1470d908df17c17;hpb=29ee0558fdd951b25f41005ed721241b1f28aefa;p=blank.git diff --git a/src/app/PreloadState.cpp b/src/app/PreloadState.cpp index 389d331..7d5f372 100644 --- a/src/app/PreloadState.cpp +++ b/src/app/PreloadState.cpp @@ -2,15 +2,16 @@ #include "Environment.hpp" #include "../world/ChunkLoader.hpp" +#include "../world/ChunkRenderer.hpp" namespace blank { -PreloadState::PreloadState(Environment &env, ChunkLoader &loader) +PreloadState::PreloadState(Environment &env, ChunkLoader &loader, ChunkRenderer &render) : env(env) , loader(loader) -, font(env.assets.LoadFont("DejaVuSans", 24)) -, progress(font) +, render(render) +, progress(env.assets.large_ui_font) , total(loader.ToLoad()) , per_update(64) { progress.Position(glm::vec3(0.0f), Gravity::CENTER); @@ -26,11 +27,9 @@ void PreloadState::Handle(const SDL_Event &e) { void PreloadState::Update(int dt) { loader.LoadN(per_update); - if (loader.ToLoad() == 0) { - for (auto &chunk : loader.Loaded()) { - chunk.CheckUpdate(); - } + if (loader.ToLoad() <= 0) { env.state.Pop(); + render.Update(render.MissingChunks()); } else { progress.Update(total - loader.ToLoad(), total); }