]> git.localhorst.tv Git - blobs.git/blobdiff - src/creature/Situation.hpp
fix friction
[blobs.git] / src / creature / Situation.hpp
index fb26650d3137782c3bbdd83308d86a8f0138e624..ea466177f085ce270d0b0ca67d3389091c67c89f 100644 (file)
@@ -53,7 +53,9 @@ public:
        bool OnPlanet() const noexcept;
        world::Planet &GetPlanet() const noexcept { return *planet; }
        bool OnSurface() const noexcept;
+       bool OnGround() const noexcept;
        const glm::dvec3 &Position() const noexcept { return state.pos; }
+       glm::dvec3 SurfaceNormal() const noexcept;
        world::Tile &GetTile() const noexcept;
        const world::TileType &GetTileType() const noexcept;
 
@@ -64,8 +66,7 @@ public:
        bool Moving() const noexcept { return glm::length2(state.vel) > 0.00001; }
        void Move(const glm::dvec3 &dp) noexcept;
        void Accelerate(const glm::dvec3 &dv) noexcept;
-       void EnforceConstraints(State &) noexcept;
-       void CheckWrap() noexcept;
+       void EnforceConstraints(State &) const noexcept;
 
        void Heading(const glm::dvec3 &h) noexcept { state.dir = h; }
        const glm::dvec3 &Heading() const noexcept { return state.dir; }