src/supertux/sector.cpp: Use shift delta when checking the position of non-sloped...
authorflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Sun, 31 Jan 2010 22:44:17 +0000 (22:44 +0000)
committerflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Sun, 31 Jan 2010 22:44:17 +0000 (22:44 +0000)
This solves the "Tux falls through unisolid moving platforms" bug observed by
Mathnerd314.

git-svn-id: http://supertux.lethargik.org/svn/supertux/trunk/supertux@6302 837edb03-e0f3-0310-88ca-d4d4e8b29345

src/supertux/sector.cpp

index 27bb939..a4f4c47 100644 (file)
@@ -1101,7 +1101,7 @@ int check_position_unisolid (const Rectf& obj_bbox,
   /* If this is not a slope, this is - again - easy */
   if ((tile->getAttributes() & Tile::SLOPE) == 0)
   {
-    if (obj_bbox.get_bottom () <= tile_bbox.get_top ())
+    if ((obj_bbox.get_bottom () - SHIFT_DELTA) <= tile_bbox.get_top ())
       return POS_SOLID;
     else
       return POS_NON_SOLID;