diff options
Diffstat (limited to 'src/collision.cpp')
-rw-r--r-- | src/collision.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/collision.cpp b/src/collision.cpp index 2380b1627..674cf4ed4 100644 --- a/src/collision.cpp +++ b/src/collision.cpp @@ -20,10 +20,11 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "collision.h" #include "mapblock.h" #include "map.h" -#include "mapnode_contentfeatures.h" +#include "nodedef.h" +#include "gamedef.h" -collisionMoveResult collisionMoveSimple(Map *map, f32 pos_max_d, - const core::aabbox3d<f32> &box_0, +collisionMoveResult collisionMoveSimple(Map *map, IGameDef *gamedef, + f32 pos_max_d, const core::aabbox3d<f32> &box_0, f32 dtime, v3f &pos_f, v3f &speed_f) { collisionMoveResult result; @@ -80,7 +81,7 @@ collisionMoveResult collisionMoveSimple(Map *map, f32 pos_max_d, try{ // Object collides into walkable nodes MapNode n = map->getNode(v3s16(x,y,z)); - if(content_features(n).walkable == false) + if(gamedef->getNodeDefManager()->get(n).walkable == false) continue; } catch(InvalidPositionException &e) @@ -184,8 +185,8 @@ collisionMoveResult collisionMoveSimple(Map *map, f32 pos_max_d, return result; } -collisionMoveResult collisionMovePrecise(Map *map, f32 pos_max_d, - const core::aabbox3d<f32> &box_0, +collisionMoveResult collisionMovePrecise(Map *map, IGameDef *gamedef, + f32 pos_max_d, const core::aabbox3d<f32> &box_0, f32 dtime, v3f &pos_f, v3f &speed_f) { collisionMoveResult final_result; @@ -226,8 +227,8 @@ collisionMoveResult collisionMovePrecise(Map *map, f32 pos_max_d, dtime_downcount = 0; } - collisionMoveResult result = collisionMoveSimple(map, pos_max_d, - box_0, dtime_part, pos_f, speed_f); + collisionMoveResult result = collisionMoveSimple(map, gamedef, + pos_max_d, box_0, dtime_part, pos_f, speed_f); if(result.touching_ground) final_result.touching_ground = true; |