Add methods entity:get_ground_point() and entity:get_ground_below()
Hi, I was testing my scripted Pegasus boots. That script creates a movement on the hero, and the movement is stopped when bad ground (hole, deep water or lava) is detected under the hero. If I run into a hole from the left, right or down sides, the hero falls into the hole (because the movement is stopped when the position of the hero is over the hole), but that does not happen when running from "up" direction. In that case, the hero is stopped, but he does not fall. The ground detected under the hero (when the hero is stopped after approaching from up direction) is hole, but he does not fall. I have also checked that if the hero approaches the hole from down direction, he starts falling one pixel before the ground detected under him becames hole.
What I guess from all of this is that the collision with bad grounds is shifted 1 pixel down (I am assuming that the ground detection under the hero is correct). I think that this bug is important enough to be corrected before the Solarus 1.5 release, to avoid similar problems.
EDIT: I was checking the ground using a timer that is called each millisecond (and not when the position of the hero changes). But this probably does not matter.