added functions to check game element properties (not used yet)
authorHolger Schemel <info@artsoft.org>
Wed, 6 Mar 2024 08:04:21 +0000 (09:04 +0100)
committerHolger Schemel <info@artsoft.org>
Wed, 6 Mar 2024 08:04:33 +0000 (09:04 +0100)
src/game_bd/bd_graphics.c

index 084fb3f0f91cd7712514329e4e91781143498214..fdf237f0cfab068e70adcb17d7303d59887a9178 100644 (file)
@@ -291,12 +291,36 @@ static inline boolean is_player(const int element)
   return (gd_elements[element & O_MASK].properties & P_PLAYER) != 0;
 }
 
+// returns true if the element is diggable
+static inline boolean is_diggable(const int element)
+{
+  return (gd_elements[element & O_MASK].properties & P_DIGGABLE) != 0;
+}
+
 // returns true if the element is collectible
 static inline boolean is_collectible(const int element)
 {
   return (gd_elements[element & O_MASK].properties & P_COLLECTIBLE) != 0;
 }
 
+// returns true if the element is pushable
+static inline boolean is_pushable(const int element)
+{
+  return (gd_elements[element & O_MASK].properties & P_PUSHABLE) != 0;
+}
+
+// returns true if the element can move
+static inline boolean can_move(const int element)
+{
+  return (gd_elements[element & O_MASK].properties & P_CAN_MOVE) != 0;
+}
+
+// returns true if the element can fall
+static inline boolean can_fall(const int element)
+{
+  return (gd_elements[element & O_MASK].properties & P_CAN_FALL) != 0;
+}
+
 // returns true if the element is exploding
 static inline boolean is_explosion(const int element)
 {