diff options
author | Elias Fleckenstein <54945686+EliasFleckenstein03@users.noreply.github.com> | 2020-11-04 16:57:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-04 16:57:47 +0100 |
commit | 3e16c3a78fff61c20e63ba730d15e94e3bb877b4 (patch) | |
tree | c070350db219f2c4241d22bc31949685c7b42fe9 /src/collision.h | |
parent | 5d9ae5a91c544fc7fbd475decf47cef7e09ef8fc (diff) | |
parent | 6ccb5835ff55d85156be91473c598eca9d6cb9a6 (diff) | |
download | dragonfireclient-3e16c3a78fff61c20e63ba730d15e94e3bb877b4.tar.xz |
Merge branch 'master' into master
Diffstat (limited to 'src/collision.h')
-rw-r--r-- | src/collision.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/collision.h b/src/collision.h index 5138f4d6a..998598f1e 100644 --- a/src/collision.h +++ b/src/collision.h @@ -47,8 +47,8 @@ struct CollisionInfo CollisionType type = COLLISION_NODE; CollisionAxis axis = COLLISION_AXIS_NONE; - v3s16 node_p = v3s16(-32768, -32768, -32768); // COLLISION_NODE - ActiveObject *object = nullptr; // COLLISION_OBJECT + v3s16 node_p = v3s16(-32768,-32768,-32768); // COLLISION_NODE + ActiveObject *object = nullptr; // COLLISION_OBJECT v3f old_speed; v3f new_speed; int plane = -1; @@ -65,19 +65,24 @@ struct collisionMoveResult }; // Moves using a single iteration; speed should not exceed pos_max_d/dtime -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, ActiveObject *self = NULL, - bool collideWithObjects = true, bool jesus = false); +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, ActiveObject *self=NULL, + bool collideWithObjects=true, bool jesus=false); // Helper function: // Checks for collision of a moving aabbox with a static aabbox // Returns -1 if no collision, 0 if X collision, 1 if Y collision, 2 if Z collision // dtime receives time until first collision, invalid if -1 is returned -CollisionAxis axisAlignedCollision(const aabb3f &staticbox, const aabb3f &movingbox, +CollisionAxis axisAlignedCollision( + const aabb3f &staticbox, const aabb3f &movingbox, const v3f &speed, f32 *dtime); // Helper function: // Checks if moving the movingbox up by the given distance would hit a ceiling. -bool wouldCollideWithCeiling(const std::vector<aabb3f> &staticboxes, - const aabb3f &movingbox, f32 y_increase, f32 d); +bool wouldCollideWithCeiling( + const std::vector<aabb3f> &staticboxes, + const aabb3f &movingbox, + f32 y_increase, f32 d); |