summaryrefslogtreecommitdiff
path: root/src/collision.cpp
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2015-07-20 23:30:43 +0200
committerLoic Blot <loic.blot@unix-experience.fr>2015-07-21 08:10:43 +0200
commitfa7fe510d9b77c0a7802604a5697de4e52cddba3 (patch)
tree6e65917fc32db32940cdcd954c5eb54b0285a1dc /src/collision.cpp
parent5ebb4237e204bfa760313f6f2a46a09dceb9cce0 (diff)
downloadminetest-fa7fe510d9b77c0a7802604a5697de4e52cddba3.tar.gz
minetest-fa7fe510d9b77c0a7802604a5697de4e52cddba3.tar.bz2
minetest-fa7fe510d9b77c0a7802604a5697de4e52cddba3.zip
Remove profiler.h include where it's not needed. Remove some unreachable and very old code
Diffstat (limited to 'src/collision.cpp')
-rw-r--r--src/collision.cpp75
1 files changed, 1 insertions, 74 deletions
diff --git a/src/collision.cpp b/src/collision.cpp
index 27e3b5e94..6afc79ab7 100644
--- a/src/collision.cpp
+++ b/src/collision.cpp
@@ -458,7 +458,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
pos_f += speed_f * nearest_dtime;
dtime -= nearest_dtime;
}
-
+
bool is_collision = true;
if(is_unloaded[nearest_boxindex])
is_collision = false;
@@ -561,76 +561,3 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
return result;
}
-
-#if 0
-// This doesn't seem to work and isn't used
-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)
-{
- //TimeTaker tt("collisionMovePrecise");
- ScopeProfiler sp(g_profiler, "collisionMovePrecise avg", SPT_AVG);
-
- collisionMoveResult final_result;
-
- // If there is no speed, there are no collisions
- if(speed_f.getLength() == 0)
- return final_result;
-
- // Don't allow overly huge dtime
- if(dtime > 2.0)
- dtime = 2.0;
-
- f32 dtime_downcount = dtime;
-
- u32 loopcount = 0;
- do
- {
- loopcount++;
-
- // Maximum time increment (for collision detection etc)
- // time = distance / speed
- f32 dtime_max_increment = 1.0;
- if(speed_f.getLength() != 0)
- dtime_max_increment = pos_max_d / speed_f.getLength();
-
- // Maximum time increment is 10ms or lower
- if(dtime_max_increment > 0.01)
- dtime_max_increment = 0.01;
-
- f32 dtime_part;
- if(dtime_downcount > dtime_max_increment)
- {
- dtime_part = dtime_max_increment;
- dtime_downcount -= dtime_part;
- }
- else
- {
- dtime_part = dtime_downcount;
- /*
- Setting this to 0 (no -=dtime_part) disables an infinite loop
- when dtime_part is so small that dtime_downcount -= dtime_part
- does nothing
- */
- dtime_downcount = 0;
- }
-
- collisionMoveResult result = collisionMoveSimple(map, gamedef,
- pos_max_d, box_0, stepheight, dtime_part,
- pos_f, speed_f, accel_f);
-
- if(result.touching_ground)
- final_result.touching_ground = true;
- if(result.collides)
- final_result.collides = true;
- if(result.collides_xz)
- final_result.collides_xz = true;
- if(result.standing_on_unloaded)
- final_result.standing_on_unloaded = true;
- }
- while(dtime_downcount > 0.001);
-
- return final_result;
-}
-#endif