fixed undefined signed integer overflow for expression "1 << 31"
[rocksndiamonds.git] / src / main.h
index 9fb87a2c36b2ce0f6ae779983e8a69582b8c66d1..fd70216dddaa7b7bb6cb586bdf84563be68748c8 100644 (file)
 #define EP_BITMASK_BASE_DEFAULT                (1 << EP_CAN_MOVE_INTO_ACID)
 #define EP_BITMASK_DEFAULT             0
 
-#define PROPERTY_BIT(p)                        (1 << ((p) % 32))
+#define PROPERTY_BIT(p)                        (1u << ((p) % 32))
 #define PROPERTY_VAR(e,p)              (element_info[e].properties[(p) / 32])
 #define HAS_PROPERTY(e,p)      ((PROPERTY_VAR(e, p) & PROPERTY_BIT(p)) != 0)
 #define SET_PROPERTY(e,p,v)    ((v) ?                                     \
@@ -2611,7 +2611,7 @@ enum
 #define PROGRAM_VERSION_SUPER          4
 #define PROGRAM_VERSION_MAJOR          3
 #define PROGRAM_VERSION_MINOR          2
-#define PROGRAM_VERSION_PATCH          1
+#define PROGRAM_VERSION_PATCH          3
 #define PROGRAM_VERSION_EXTRA          ""
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"
@@ -3123,12 +3123,14 @@ struct ScoreInfo
   int last_added_local;
   int last_level_nr;
   int last_entry_nr;
+  int next_level_nr;
 
   boolean updated;
   boolean uploaded;
   boolean tape_downloaded;
   boolean force_last_added;
-  boolean was_just_playing;
+  boolean continue_playing;
+  boolean continue_on_return;
 
   struct ScoreEntry entry[MAX_SCORE_ENTRIES];
 };