void collision_tilemap(const Rect& dest, const Vector& movement, CollisionHit& hit) const;
/** Checks if at the specified rectangle are gameobjects with STATIC flag set
- * (or solid tiles from the tilemap)
+ * (or solid tiles from the tilemap).
+ * This does not(!) include badguys or players.
*/
bool is_free_space(const Rect& rect) const;
void handle_collisions();
/**
- * Collision checks 2 objects against each other and does instant
+ * Does collision detection between 2 objects and does instant
* collision response handling in case of a collision
*/
void collision_object(MovingObject* object1, MovingObject* object2) const;
/**
* Does collision detection of an object against all other static
- * objects (and the tilemap) in the level. Collisions are sorted
- * and collision response against the first hit is done.
+ * objects (and the tilemap) in the level. Collision response is done
+ * for the first hit in time. (other hits get ignored, the function
+ * should be called repeatedly to resolve those)
*
* returns true if the collision detection should be aborted for this object
- * (because of ABORT_MOVE in the collision response)
+ * (because of ABORT_MOVE in the collision response or no collisions)
*/
bool collision_static(MovingObject* object, const Vector& movement);