@@ -458,7 +458,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
458458 pos_f += speed_f * nearest_dtime;
459459 dtime -= nearest_dtime;
460460 }
461-
461+
462462 bool is_collision = true ;
463463 if (is_unloaded[nearest_boxindex])
464464 is_collision = false ;
@@ -561,76 +561,3 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
561561
562562 return result;
563563}
564-
565- #if 0
566- // This doesn't seem to work and isn't used
567- collisionMoveResult collisionMovePrecise(Map *map, IGameDef *gamedef,
568- f32 pos_max_d, const aabb3f &box_0,
569- f32 stepheight, f32 dtime,
570- v3f &pos_f, v3f &speed_f, v3f &accel_f)
571- {
572- //TimeTaker tt("collisionMovePrecise");
573- ScopeProfiler sp(g_profiler, "collisionMovePrecise avg", SPT_AVG);
574-
575- collisionMoveResult final_result;
576-
577- // If there is no speed, there are no collisions
578- if(speed_f.getLength() == 0)
579- return final_result;
580-
581- // Don't allow overly huge dtime
582- if(dtime > 2.0)
583- dtime = 2.0;
584-
585- f32 dtime_downcount = dtime;
586-
587- u32 loopcount = 0;
588- do
589- {
590- loopcount++;
591-
592- // Maximum time increment (for collision detection etc)
593- // time = distance / speed
594- f32 dtime_max_increment = 1.0;
595- if(speed_f.getLength() != 0)
596- dtime_max_increment = pos_max_d / speed_f.getLength();
597-
598- // Maximum time increment is 10ms or lower
599- if(dtime_max_increment > 0.01)
600- dtime_max_increment = 0.01;
601-
602- f32 dtime_part;
603- if(dtime_downcount > dtime_max_increment)
604- {
605- dtime_part = dtime_max_increment;
606- dtime_downcount -= dtime_part;
607- }
608- else
609- {
610- dtime_part = dtime_downcount;
611- /*
612- Setting this to 0 (no -=dtime_part) disables an infinite loop
613- when dtime_part is so small that dtime_downcount -= dtime_part
614- does nothing
615- */
616- dtime_downcount = 0;
617- }
618-
619- collisionMoveResult result = collisionMoveSimple(map, gamedef,
620- pos_max_d, box_0, stepheight, dtime_part,
621- pos_f, speed_f, accel_f);
622-
623- if(result.touching_ground)
624- final_result.touching_ground = true;
625- if(result.collides)
626- final_result.collides = true;
627- if(result.collides_xz)
628- final_result.collides_xz = true;
629- if(result.standing_on_unloaded)
630- final_result.standing_on_unloaded = true;
631- }
632- while(dtime_downcount > 0.001);
633-
634- return final_result;
635- }
636- #endif
0 commit comments