diff --git a/src/files/WorldFiles.cpp b/src/files/WorldFiles.cpp index f1c9291a..e08ddb18 100644 --- a/src/files/WorldFiles.cpp +++ b/src/files/WorldFiles.cpp @@ -227,13 +227,13 @@ void WorldFiles::writeWorldInfo(const WorldInfo& info) { bool WorldFiles::readWorldInfo(WorldInfo& info) { size_t length = 0; - ubyte* data = (ubyte*)files::read_bytes(getPlayerFile(), length); + ubyte* data = (ubyte*)files::read_bytes(getWorldFile(), length); if (data == nullptr){ std::cerr << "could not to read world.bin (ignored)" << std::endl; return false; } BinaryReader inp(data, length); - inp.checkMagic(WORLD_FORMAT_MAGIC, length); + inp.checkMagic(WORLD_FORMAT_MAGIC, 8); /*ubyte version = */inp.get(); while (inp.hasNext()) { ubyte section = inp.get(); diff --git a/src/files/binary_io.cpp b/src/files/binary_io.cpp index 1abd5469..0fb18b3b 100644 --- a/src/files/binary_io.cpp +++ b/src/files/binary_io.cpp @@ -128,7 +128,7 @@ float BinaryReader::getFloat32() { string BinaryReader::getString() { uint16_t length = (uint16_t)getInt16(); - if (pos+length >= size) { + if (pos+length > size) { throw std::underflow_error("unexpected end"); } pos += length; diff --git a/src/frontend/world_render.cpp b/src/frontend/world_render.cpp index 3e053622..29ac9fba 100644 --- a/src/frontend/world_render.cpp +++ b/src/frontend/world_render.cpp @@ -143,25 +143,25 @@ void WorldRenderer::draw(Camera* camera, bool occlusion, float fogFactor, float } if (level->player->debug) { - float lenght = 40.f; + float length = 40.f; linesShader->use(); glm::mat4 model(glm::translate(glm::mat4(1.f), vec3(Window::width >> 1, -static_cast(Window::height) >> 1, 0.f))); - linesShader->uniformMatrix("u_projview", glm::ortho(0.f, static_cast(Window::width), -static_cast(Window::height), 0.f, -lenght, lenght) * model * glm::inverse(camera->rotation)); + linesShader->uniformMatrix("u_projview", glm::ortho(0.f, static_cast(Window::width), -static_cast(Window::height), 0.f, -length, length) * model * glm::inverse(camera->rotation)); glDisable(GL_DEPTH_TEST); glLineWidth(4.0f); - lineBatch->line(0.f, 0.f, 0.f, lenght, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f); - lineBatch->line(0.f, 0.f, 0.f, 0.f, lenght, 0.f, 0.f, 0.f, 0.f, 1.f); - lineBatch->line(0.f, 0.f, 0.f, 0.f, 0.f, lenght, 0.f, 0.f, 0.f, 1.f); + lineBatch->line(0.f, 0.f, 0.f, length, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f); + lineBatch->line(0.f, 0.f, 0.f, 0.f, length, 0.f, 0.f, 0.f, 0.f, 1.f); + lineBatch->line(0.f, 0.f, 0.f, 0.f, 0.f, length, 0.f, 0.f, 0.f, 1.f); lineBatch->render(); glEnable(GL_DEPTH_TEST); glLineWidth(2.0f); - lineBatch->line(0.f, 0.f, 0.f, lenght, 0.f, 0.f, 1.f, 0.f, 0.f, 1.f); - lineBatch->line(0.f, 0.f, 0.f, 0.f, lenght, 0.f, 0.f, 1.f, 0.f, 1.f); - lineBatch->line(0.f, 0.f, 0.f, 0.f, 0.f, lenght, 0.f, 0.f, 1.f, 1.f); + lineBatch->line(0.f, 0.f, 0.f, length, 0.f, 0.f, 1.f, 0.f, 0.f, 1.f); + lineBatch->line(0.f, 0.f, 0.f, 0.f, length, 0.f, 0.f, 1.f, 0.f, 1.f); + lineBatch->line(0.f, 0.f, 0.f, 0.f, 0.f, length, 0.f, 0.f, 1.f, 1.f); lineBatch->render(); } }