Update inventory texture too
[oweals/minetest.git] / src / collision.h
index 17243140148a8686e1a1fe50974935816979eb6c..3354ea09a3392eda6923e320bd33d459c9671fb6 100644 (file)
@@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "common_irrlicht.h"
 
 class Map;
+class IGameDef;
 
 struct collisionMoveResult
 {
@@ -33,11 +34,26 @@ struct collisionMoveResult
        {}
 };
 
-collisionMoveResult collisionMoveSimple(Map *map, f32 pos_max_d,
-               const core::aabbox3d<f32> &box_0,
+// Moves using a single iteration; speed should not exceed pos_max_d/dtime
+collisionMoveResult collisionMoveSimple(Map *map, IGameDef *gamedef,
+               f32 pos_max_d, const core::aabbox3d<f32> &box_0,
                f32 dtime, v3f &pos_f, v3f &speed_f);
-//{return collisionMoveResult();}
 
+// Moves using as many iterations as needed
+collisionMoveResult collisionMovePrecise(Map *map, IGameDef *gamedef,
+               f32 pos_max_d, const core::aabbox3d<f32> &box_0,
+               f32 dtime, v3f &pos_f, v3f &speed_f);
+
+enum CollisionType
+{
+       COLLISION_FALL
+};
+
+struct CollisionInfo
+{
+       CollisionType t;
+       f32 speed;
+};
 
 #endif