]> git.localhorst.tv Git - blank.git/commitdiff
the odd tweak and fix
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Thu, 3 Dec 2015 16:19:06 +0000 (17:19 +0100)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Thu, 3 Dec 2015 16:19:06 +0000 (17:19 +0100)
assets
doc/todo
src/world/block.cpp
src/world/chunk.cpp

diff --git a/assets b/assets
index 902590ba6536e722414073bc9979b418e1f5a26f..02d4da52e9a926bfed40ebed9b5f64c1da1ddf2f 160000 (submodule)
--- a/assets
+++ b/assets
@@ -1 +1 @@
-Subproject commit 902590ba6536e722414073bc9979b418e1f5a26f
+Subproject commit 02d4da52e9a926bfed40ebed9b5f64c1da1ddf2f
index 2de96bd057cf19454ddcd24c1e798a5976a84de9..f2f557e68f6b3e8721d7a88626d71a4b45ec703b 100644 (file)
--- a/doc/todo
+++ b/doc/todo
@@ -83,6 +83,15 @@ gravity
        maybe players should be given the option to switch between
        walk and fly mode
 
+       I had a NaN position while experimenting with (directional) gravity
+       blocks recently. I checked the gravity code and it seems solid, so
+       might be something I overlooked or, what more probable, it triggered
+       some NaN condition in the collision code. Needs investigating
+
+       This may be related to the HUD locking on an entity. If the entity is
+       teleported to a NaN position, the ray intersection test could give a
+       false positive.
+
 block attributes
 
        when blocks are not just a solid rock of color, attributes may
@@ -105,6 +114,10 @@ world generator that is not boring
        there's a little more diversity between them
        chunk generation takes too long, it's incredibly annoying
        should look into speeding it up and executing on a different thread
+       compute shaders might be another approach, though that would require
+       opengl 4.3, block the gpu, and generally doesn't lend itself well to
+       threading (cpu wise). It also requires servers to load GL. maybe not
+       such a great idea after all
 
 spawning
 
index 937291810c5f0557a8d52d1b862316a601ce28ba..e99c5be254b2fbb16309ca31b946bbf0be215071 100644 (file)
@@ -148,9 +148,11 @@ void BlockType::Read(
                if (name == "visible") {
                        visible = in.GetBool();
                } else if (name == "texture") {
+                       textures.clear();
                        in.ReadString(name);
                        textures.push_back(tex_index.GetID(name));
                } else if (name == "textures") {
+                       textures.clear();
                        in.Skip(Token::BRACKET_OPEN);
                        while (in.Peek().type != Token::BRACKET_CLOSE) {
                                in.ReadString(name);
index 60ece9a83451673a1d928d561795e529b394749b..d124eb7373c8b4d34ab65406f4db4bb0cf350ffe 100644 (file)
@@ -368,7 +368,7 @@ float Chunk::GetVertexLight(const RoughLocation::Fine &pos, const BlockMesh::Pos
 
 
 glm::vec3 Chunk::GravityAt(const ExactLocation &coords) const noexcept {
-       glm::vec3 grav;
+       glm::vec3 grav(0.0f);
        for (int index : gravity) {
                RoughLocation::Fine block_pos(ToPos(index));
                ExactLocation block_coords(position, ToCoords(block_pos));