supertux/tile.hpp: Implement Tile::is_slope().
authorflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Thu, 11 Mar 2010 08:42:03 +0000 (08:42 +0000)
committerflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Thu, 11 Mar 2010 08:42:03 +0000 (08:42 +0000)
git-svn-id: http://supertux.lethargik.org/svn/supertux/trunk/supertux@6593 837edb03-e0f3-0310-88ca-d4d4e8b29345

src/object/particlesystem_interactive.cpp
src/supertux/sector.cpp
src/supertux/tile.hpp

index 9923c03..880c4c5 100644 (file)
@@ -93,7 +93,7 @@ ParticleSystem_Interactive::collision(Particle* object, Vector movement)
           continue;
 
         Rectf rect = solids->get_tile_bbox(x, y);
-        if(tile->getAttributes() & Tile::SLOPE) { // slope tile
+        if(tile->is_slope ()) { // slope tile
           AATriangle triangle = AATriangle(rect, tile->getData());
 
           if(rectangle_aatriangle(&constraints, dest, triangle)) {
index ecb7bab..fbf0f36 100644 (file)
@@ -971,7 +971,7 @@ int check_movement_unisolid (Vector movement, const Tile* tile)
 #define MV_SOLID 1
 
   /* If the tile is not a slope, this is very easy. */
-  if ((tile->getAttributes() & Tile::SLOPE) == 0)
+  if (!tile->is_slope ())
   {
     if (movement.y >= 0) /* moving down */
       return MV_SOLID;
@@ -1099,7 +1099,7 @@ int check_position_unisolid (const Rectf& obj_bbox,
 #define POS_SOLID 1
 
   /* If this is not a slope, this is - again - easy */
-  if ((tile->getAttributes() & Tile::SLOPE) == 0)
+  if (!tile->is_slope ())
   {
     if ((obj_bbox.get_bottom () - SHIFT_DELTA) <= tile_bbox.get_top ())
       return POS_SOLID;
@@ -1297,7 +1297,7 @@ Sector::collision_tilemap(collision::Constraints* constraints,
             continue;
         }
 
-        if(tile->getAttributes() & Tile::SLOPE) { // slope tile
+        if(tile->is_slope ()) { // slope tile
           AATriangle triangle;
           int slope_data = tile->getData();
           if (solids->get_drawing_effect() == VERTICAL_FLIP)
@@ -1683,7 +1683,7 @@ Sector::is_free_of_tiles(const Rectf& rect, const bool ignoreUnisolid) const
           continue;
         if((tile->getAttributes() & Tile::UNISOLID) && ignoreUnisolid)
           continue;
-        if(tile->getAttributes() & Tile::SLOPE) {
+        if(tile->is_slope ()) {
           AATriangle triangle;
           Rectf tbbox = solids->get_tile_bbox(x, y);
           triangle = AATriangle(tbbox, tile->getData());
index c2b9bc5..4351f11 100644 (file)
@@ -123,6 +123,11 @@ public:
   int getData() const
   { return data; }
 
+  bool is_slope (void) const
+  {
+    return ((attributes & SLOPE) != 0);
+  }
+
   void print_debug(int id) const;
 
 private: