fixed element scores for MM style elements (MM engine)
[rocksndiamonds.git] / src / game_mm / mm_main.h
index aa76e7c3204d7921476cc6139444ef298bc3f021..3322a57e5d0b447307338ed3f0efe82d07fc1adf 100644 (file)
 #define MAX_SCORE_ENTRIES      100
 #define MAX_ELEMENTS           700             /* 500 static + 200 runtime */
 
-#define LEVEL_SCORE_ELEMENTS   16      /* level elements with score */
-
 #define MICROLEVEL_SCROLL_DELAY        50      /* delay for scrolling micro level */
 #define MICROLEVEL_LABEL_DELAY 250     /* delay for micro level label */
 
-struct HiScore
+/* score for elements */
+#define SC_COLLECTIBLE         0
+#define SC_UNUSED_1            1
+#define SC_UNUSED_2            2
+#define SC_UNUSED_3            3
+#define SC_UNUSED_4            4
+#define SC_UNUSED_5            5
+#define SC_PACMAN              6
+#define SC_UNUSED_7            7
+#define SC_UNUSED_8            8
+#define SC_KEY                 9
+#define SC_TIME_BONUS          10
+#define SC_UNUSED_11           11
+#define SC_UNUSED_12           12
+#define SC_UNUSED_13           13
+#define SC_LIGHTBALL           14
+#define SC_UNUSED_15           15
+
+#define LEVEL_SCORE_ELEMENTS   16      /* level elements with score */
+
+
+struct HiScore_MM
 {
   char Name[MAX_PLAYER_NAME_LEN + 1];
   int Score;
 };
 
-struct EditorInfo
-{
-  boolean draw_walls_masked;
-};
-
 extern Bitmap         *pix[];
 extern DrawBuffer      *fieldbuffer;
 extern DrawBuffer      *drawto_field;
@@ -227,12 +241,11 @@ extern boolean            SiebAktiv;
 extern int             SiebCount;
 
 extern struct LevelInfo_MM     native_mm_level;
-extern struct HiScore          highscore[];
+extern struct HiScore_MM       highscore[];
 extern struct TapeInfo         tape;
 extern struct SetupInfo                setup;
 extern struct GameInfo_MM      game_mm;
 extern struct LaserInfo                laser;
-extern struct EditorInfo       editor;
 extern struct GlobalInfo       global;
 
 extern short           LX, LY, XS, YS, ELX, ELY;
@@ -1014,6 +1027,61 @@ extern int               num_element_info;
 
 #define NUM_SOUNDS             20
 
+/* values for graphics/sounds action types */
+#define MM_ACTION_DEFAULT      0
+#define MM_ACTION_WAITING      1
+#define MM_ACTION_FALLING      2
+#define MM_ACTION_MOVING       3
+#define MM_ACTION_DIGGING      4
+#define MM_ACTION_SNAPPING     5
+#define MM_ACTION_COLLECTING   6
+#define MM_ACTION_DROPPING     7
+#define MM_ACTION_PUSHING      8
+#define MM_ACTION_WALKING      9
+#define MM_ACTION_PASSING      10
+#define MM_ACTION_IMPACT       11
+#define MM_ACTION_BREAKING     12
+#define MM_ACTION_ACTIVATING   13
+#define MM_ACTION_DEACTIVATING 14
+#define MM_ACTION_OPENING      15
+#define MM_ACTION_CLOSING      16
+#define MM_ACTION_ATTACKING    17
+#define MM_ACTION_GROWING      18
+#define MM_ACTION_SHRINKING    19
+#define MM_ACTION_ACTIVE       20
+#define MM_ACTION_FILLING      21
+#define MM_ACTION_EMPTYING     22
+#define MM_ACTION_CHANGING     23
+#define MM_ACTION_EXPLODING    24
+#define MM_ACTION_BORING       25
+#define MM_ACTION_BORING_1     26
+#define MM_ACTION_BORING_2     27
+#define MM_ACTION_BORING_3     28
+#define MM_ACTION_BORING_4     29
+#define MM_ACTION_BORING_5     30
+#define MM_ACTION_BORING_6     31
+#define MM_ACTION_BORING_7     32
+#define MM_ACTION_BORING_8     33
+#define MM_ACTION_BORING_9     34
+#define MM_ACTION_BORING_10    35
+#define MM_ACTION_SLEEPING     36
+#define MM_ACTION_SLEEPING_1   37
+#define MM_ACTION_SLEEPING_2   38
+#define MM_ACTION_SLEEPING_3   39
+#define MM_ACTION_AWAKENING    40
+#define MM_ACTION_DYING                41
+#define MM_ACTION_TURNING              42
+#define MM_ACTION_TURNING_FROM_LEFT    43
+#define MM_ACTION_TURNING_FROM_RIGHT   44
+#define MM_ACTION_TURNING_FROM_UP      45
+#define MM_ACTION_TURNING_FROM_DOWN    46
+#define MM_ACTION_SMASHED_BY_ROCK      47
+#define MM_ACTION_SMASHED_BY_SPRING    48
+#define MM_ACTION_EATING               49
+#define MM_ACTION_TWINKLING            50
+#define MM_ACTION_SPLASHING            51
+#define MM_ACTION_HITTING              52
+
 /* laser angles (directions) */
 #define ANG_RAY_RIGHT          0
 #define ANG_RAY_UP             4