Translated using Weblate (Japanese)
[oweals/minetest.git] / src / collision.h
index 331ff8f9d6c869113cd4c0f2cfa71fa08658737b..fc4187eda89bc76659b53a9908a33643c1bcd8bb 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Minetest
-Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
@@ -25,10 +25,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 class Map;
 class IGameDef;
+class Environment;
+class ActiveObject;
 
 enum CollisionType
 {
-       COLLISION_NODE
+       COLLISION_NODE,
+       COLLISION_OBJECT,
 };
 
 struct CollisionInfo
@@ -65,19 +68,12 @@ struct collisionMoveResult
 };
 
 // Moves using a single iteration; speed should not exceed pos_max_d/dtime
-collisionMoveResult collisionMoveSimple(Map *map, IGameDef *gamedef,
+collisionMoveResult collisionMoveSimple(Environment *env,IGameDef *gamedef,
                f32 pos_max_d, const aabb3f &box_0,
                f32 stepheight, f32 dtime,
-               v3f &pos_f, v3f &speed_f, v3f &accel_f);
-
-#if 0
-// This doesn't seem to work and isn't used
-// Moves using as many iterations as needed
-collisionMoveResult collisionMovePrecise(Map *map, IGameDef *gamedef,
-               f32 pos_max_d, const aabb3f &box_0,
-               f32 stepheight, f32 dtime,
-               v3f &pos_f, v3f &speed_f, v3f &accel_f);
-#endif
+               v3f &pos_f, v3f &speed_f,
+               v3f &accel_f,ActiveObject* self=0,
+               bool collideWithObjects=true);
 
 // Helper function:
 // Checks for collision of a moving aabbox with a static aabbox