added mouse click events to CE change events (experimental)
[rocksndiamonds.git] / src / main.h
index 49a627e73262e2a4fb6247a1939d9135f10dd0f3..41af237ffb501ad04bde6d07b49cfa6ea4ee2a30 100644 (file)
 #define CE_VALUE_CHANGES_OF_X          41
 #define CE_SCORE_CHANGES               42
 #define CE_SCORE_CHANGES_OF_X          43
+#define CE_CLICKED_BY_MOUSE            44
+#define CE_PRESSED_BY_MOUSE            45
+#define CE_MOUSE_CLICKED_ON_X          46
+#define CE_MOUSE_PRESSED_ON_X          47
 
-#define NUM_CHANGE_EVENTS              44
+#define NUM_CHANGE_EVENTS              48
 
 #define NUM_CE_BITFIELDS               ((NUM_CHANGE_EVENTS + 31) / 32)
 
+#define CE_HEADLINE_SPECIAL_EVENTS     250
+#define CE_UNDEFINED                   255
+
 #define CE_BITMASK_DEFAULT             0
 
 #define CH_EVENT_BITFIELD_NR(e)                (e / 32)
@@ -2681,6 +2688,8 @@ struct MenuMainButtonInfo
 
   struct MenuPosInfo insert_solution;
   struct MenuPosInfo play_solution;
+
+  struct MenuPosInfo switch_ecs_aga;
 };
 
 struct MenuMainTextInfo
@@ -3116,7 +3125,7 @@ struct LevelInfo
   int android_move_time;
   int android_clone_time;
   boolean ball_random;
-  boolean ball_state_initial;
+  boolean ball_active_initial;
   int ball_time;
   int lenses_score;
   int magnify_score;
@@ -3185,6 +3194,9 @@ struct LevelInfo
 
   // runtime flags to handle bugs in old levels (not stored in level file)
   boolean use_action_after_change_bug;
+
+  // runtime flags to indicate level properties (not stored in level file)
+  boolean has_mouse_events;
 };
 
 struct NetworkLevelInfo