]> git.localhorst.tv Git - blank.git/commitdiff
some annotations
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Fri, 20 Nov 2015 08:23:56 +0000 (09:23 +0100)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Fri, 20 Nov 2015 08:23:56 +0000 (09:23 +0100)
doc/todo
src/world/Entity.hpp
src/world/world.cpp

index 1b7d9b01802bd504521b68e7086cf10f43b4a07a..f71609173beece2997273c375e3493953ae74921 100644 (file)
--- a/doc/todo
+++ b/doc/todo
@@ -44,6 +44,8 @@ networking
        maybe stale and inexistent chunks should be visualized (e.g. by
        drawing a semi-transparent box around them)
 
+       make a chunk data counting a little safer
+
 threading
 
        (clientside) networking and disk IO are prime candidates for threading
@@ -79,6 +81,8 @@ gravity
 
        now implemented as optional gravity emitter per block type
        let's see how that pans out
+       maybe players should be given the option to switch between
+       walk and fly mode
 
 block attributes
 
@@ -105,6 +109,7 @@ entity/world collision
 
        I don't like the force/spring based collision response, maybe revert
        back to impulses
+       also, it fails in some cases
 
 spawning
 
index b3eb1f4360e57c5f95fd14039cd4669eacd33ee8..1a6fccf26f35a563441a3972a21ddfa799b14966 100644 (file)
@@ -152,6 +152,9 @@ private:
 
        // TODO: I'd prefer a drag solution
        float max_vel;
+       // TODO: split max_force into (local) axes?
+       //       e.g. players may want to disable vertical thrust under certain
+       //       conditions (e.g. "walking" ^^)
        float max_force;
 
        int ref_count;
index 2a3d5fbc12d7c4dd447acd5c71a4d5f4b47044ca..d2b05d66850e96923704bfd262335af5cc464832 100644 (file)
@@ -605,8 +605,8 @@ void World::Update(Entity &entity, float dt) {
 
        EntityDerivative f;
        constexpr float sixth = 1.0f / 6.0f;
-       f.position = sixth * ((a.position + 2.0f * (b.position + c.position)) + d.position);
-       f.velocity = sixth * ((a.velocity + 2.0f * (b.velocity + c.velocity)) + d.velocity);
+       f.position = sixth * (a.position + 2.0f * (b.position + c.position) + d.position);
+       f.velocity = sixth * (a.velocity + 2.0f * (b.velocity + c.velocity) + d.velocity);
 
        state.pos.block += f.position * dt;
        state.velocity += f.velocity * dt;