version number set to 4.4.0.0
[rocksndiamonds.git] / src / main.h
index 7f3990f0c83701abfeb640b0dbba311d5900cf43..cdd4b6ab5c80f8cc3b3d48fd49f8773acdc9f16f 100644 (file)
 #define EL_MM_END_3                    EL_DF_SLOPE_END
 #define EL_DF_END_2                    EL_DF_SLOPE_END
 
-#define NUM_FILE_ELEMENTS              1253
+// BD style elements
+#define EL_BD_PLAYER                           1253
+#define EL_BD_SAND                             1254
+#define EL_BD_SAND_2                           1255
+#define EL_BD_SAND_BALL                                1256
+#define EL_BD_SAND_LOOSE                       1257
+#define EL_BD_SAND_SLOPED_UP_RIGHT             1258
+#define EL_BD_SAND_SLOPED_UP_LEFT              1259
+#define EL_BD_SAND_SLOPED_DOWN_LEFT            1260
+#define EL_BD_SAND_SLOPED_DOWN_RIGHT           1261
+#define EL_BD_SAND_GLUED                       1262
+#define EL_BD_WALL_SLOPED_UP_RIGHT             1263
+#define EL_BD_WALL_SLOPED_UP_LEFT              1264
+#define EL_BD_WALL_SLOPED_DOWN_LEFT            1265
+#define EL_BD_WALL_SLOPED_DOWN_RIGHT           1266
+#define EL_BD_WALL_NON_SLOPED                  1267
+#define EL_BD_WALL_DIGGABLE                    1268
+#define EL_BD_WALL_DIAMOND                     1269
+#define EL_BD_WALL_KEY_1                       1270
+#define EL_BD_WALL_KEY_2                       1271
+#define EL_BD_WALL_KEY_3                       1272
+#define EL_BD_FALLING_WALL                     1273
+#define EL_BD_STEELWALL                                1274
+#define EL_BD_STEELWALL_SLOPED_UP_RIGHT                1275
+#define EL_BD_STEELWALL_SLOPED_UP_LEFT         1276
+#define EL_BD_STEELWALL_SLOPED_DOWN_LEFT       1277
+#define EL_BD_STEELWALL_SLOPED_DOWN_RIGHT      1278
+#define EL_BD_STEELWALL_EXPLODABLE             1279
+#define EL_BD_STEELWALL_DIGGABLE               1280
+#define EL_BD_EXPANDABLE_WALL_HORIZONTAL       1281
+#define EL_BD_EXPANDABLE_WALL_VERTICAL         1282
+#define EL_BD_EXPANDABLE_WALL_ANY              1283
+#define EL_BD_EXPANDABLE_STEELWALL_HORIZONTAL  1284
+#define EL_BD_EXPANDABLE_STEELWALL_VERTICAL    1285
+#define EL_BD_EXPANDABLE_STEELWALL_ANY         1286
+#define EL_BD_EXPANDABLE_WALL_SWITCH_HORIZONTAL        1287
+#define EL_BD_EXPANDABLE_WALL_SWITCH_VERTICAL  1288
+#define EL_BD_INBOX                            1289
+#define EL_BD_EXIT_CLOSED                      1290
+#define EL_BD_EXIT_OPEN                                1291
+#define EL_BD_INVISIBLE_EXIT_CLOSED            1292
+#define EL_BD_INVISIBLE_EXIT_OPEN              1293
+#define EL_BD_FLYING_ROCK                      1294
+#define EL_BD_MEGA_ROCK                                1295
+#define EL_BD_ROCK_GLUED                       1296
+#define EL_BD_FLYING_DIAMOND                   1297
+#define EL_BD_DIAMOND_GLUED                    1298
+#define EL_BD_DIAMOND_KEY                      1299
+#define EL_BD_TRAPPED_DIAMOND                  1300
+#define EL_BD_NUT                              1301
+#define EL_BD_AMOEBA_2                         1302
+#define EL_BD_BLADDER                          1303
+#define EL_BD_BLADDER_SPENDER                  1304
+#define EL_BD_CREATURE_SWITCH                  1305
+#define EL_BD_CREATURE_SWITCH_ACTIVE           1306
+#define EL_BD_BITER_SWITCH_1                   1307
+#define EL_BD_BITER_SWITCH_2                   1308
+#define EL_BD_BITER_SWITCH_3                   1309
+#define EL_BD_BITER_SWITCH_4                   1310
+#define EL_BD_REPLICATOR                       1311
+#define EL_BD_REPLICATOR_ACTIVE                        1312
+#define EL_BD_REPLICATOR_SWITCH                        1313
+#define EL_BD_REPLICATOR_SWITCH_ACTIVE         1314
+#define EL_BD_CONVEYOR_LEFT                    1315
+#define EL_BD_CONVEYOR_LEFT_ACTIVE             1316
+#define EL_BD_CONVEYOR_RIGHT                   1317
+#define EL_BD_CONVEYOR_RIGHT_ACTIVE            1318
+#define EL_BD_CONVEYOR_SWITCH                  1319
+#define EL_BD_CONVEYOR_SWITCH_ACTIVE           1320
+#define EL_BD_CONVEYOR_DIR_SWITCH_LEFT         1321
+#define EL_BD_CONVEYOR_DIR_SWITCH_RIGHT                1322
+#define EL_BD_GRAVITY_SWITCH                   1323
+#define EL_BD_GRAVITY_SWITCH_ACTIVE            1324
+#define EL_BD_ACID                             1325
+#define EL_BD_BOX                              1326
+#define EL_BD_TIME_PENALTY                     1327
+#define EL_BD_GRAVESTONE                       1328
+#define EL_BD_CLOCK                            1329
+#define EL_BD_POT                              1330
+#define EL_BD_PNEUMATIC_HAMMER                 1331
+#define EL_BD_TELEPORTER                       1332
+#define EL_BD_SKELETON                         1333
+#define EL_BD_WATER                            1334
+#define EL_BD_KEY_1                            1335
+#define EL_BD_KEY_2                            1336
+#define EL_BD_KEY_3                            1337
+#define EL_BD_GATE_1                           1338
+#define EL_BD_GATE_2                           1339
+#define EL_BD_GATE_3                           1340
+#define EL_BD_LAVA                             1341
+#define EL_BD_SWEET                            1342
+#define EL_BD_VOODOO_DOLL                      1343
+#define EL_BD_SLIME                            1344
+#define EL_BD_WAITING_ROCK                     1345
+#define EL_BD_CHASING_ROCK                     1346
+#define EL_BD_GHOST                            1347
+#define EL_BD_COW                              1348
+#define EL_BD_COW_LEFT                         1349
+#define EL_BD_COW_UP                           1350
+#define EL_BD_COW_RIGHT                                1351
+#define EL_BD_COW_DOWN                         1352
+#define EL_BD_BUTTERFLY_2                      1353
+#define EL_BD_BUTTERFLY_2_RIGHT                        1354
+#define EL_BD_BUTTERFLY_2_UP                   1355
+#define EL_BD_BUTTERFLY_2_LEFT                 1356
+#define EL_BD_BUTTERFLY_2_DOWN                 1357
+#define EL_BD_FIREFLY_2                                1358
+#define EL_BD_FIREFLY_2_RIGHT                  1359
+#define EL_BD_FIREFLY_2_UP                     1360
+#define EL_BD_FIREFLY_2_LEFT                   1361
+#define EL_BD_FIREFLY_2_DOWN                   1362
+#define EL_BD_STONEFLY                         1363
+#define EL_BD_STONEFLY_RIGHT                   1364
+#define EL_BD_STONEFLY_UP                      1365
+#define EL_BD_STONEFLY_LEFT                    1366
+#define EL_BD_STONEFLY_DOWN                    1367
+#define EL_BD_BITER                            1368
+#define EL_BD_BITER_RIGHT                      1369
+#define EL_BD_BITER_UP                         1370
+#define EL_BD_BITER_LEFT                       1371
+#define EL_BD_BITER_DOWN                       1372
+#define EL_BD_DRAGONFLY                                1373
+#define EL_BD_DRAGONFLY_RIGHT                  1374
+#define EL_BD_DRAGONFLY_UP                     1375
+#define EL_BD_DRAGONFLY_LEFT                   1376
+#define EL_BD_DRAGONFLY_DOWN                   1377
+#define EL_BD_BOMB                             1378
+#define EL_BD_NITRO_PACK                       1379
+#define EL_BD_PLAYER_WITH_BOMB                 1380
+#define EL_BD_PLAYER_GLUED                     1381
+#define EL_BD_PLAYER_STIRRING                  1382
+#define EL_BD_FAKE_BONUS                       1383
+#define EL_BD_COVERED                          1384
+
+#define NUM_FILE_ELEMENTS                      1385
 
 
 // "real" (and therefore drawable) runtime elements
 
 #define EL_INTERNAL_CASCADE_BD                 (EL_FIRST_INTERNAL + 4)
 #define EL_INTERNAL_CASCADE_BD_ACTIVE          (EL_FIRST_INTERNAL + 5)
-#define EL_INTERNAL_CASCADE_EM                 (EL_FIRST_INTERNAL + 6)
-#define EL_INTERNAL_CASCADE_EM_ACTIVE          (EL_FIRST_INTERNAL + 7)
-#define EL_INTERNAL_CASCADE_EMC                        (EL_FIRST_INTERNAL + 8)
-#define EL_INTERNAL_CASCADE_EMC_ACTIVE         (EL_FIRST_INTERNAL + 9)
-#define EL_INTERNAL_CASCADE_RND                        (EL_FIRST_INTERNAL + 10)
-#define EL_INTERNAL_CASCADE_RND_ACTIVE         (EL_FIRST_INTERNAL + 11)
-#define EL_INTERNAL_CASCADE_SB                 (EL_FIRST_INTERNAL + 12)
-#define EL_INTERNAL_CASCADE_SB_ACTIVE          (EL_FIRST_INTERNAL + 13)
-#define EL_INTERNAL_CASCADE_SP                 (EL_FIRST_INTERNAL + 14)
-#define EL_INTERNAL_CASCADE_SP_ACTIVE          (EL_FIRST_INTERNAL + 15)
-#define EL_INTERNAL_CASCADE_DC                 (EL_FIRST_INTERNAL + 16)
-#define EL_INTERNAL_CASCADE_DC_ACTIVE          (EL_FIRST_INTERNAL + 17)
-#define EL_INTERNAL_CASCADE_DX                 (EL_FIRST_INTERNAL + 18)
-#define EL_INTERNAL_CASCADE_DX_ACTIVE          (EL_FIRST_INTERNAL + 19)
-#define EL_INTERNAL_CASCADE_MM                 (EL_FIRST_INTERNAL + 20)
-#define EL_INTERNAL_CASCADE_MM_ACTIVE          (EL_FIRST_INTERNAL + 21)
-#define EL_INTERNAL_CASCADE_DF                 (EL_FIRST_INTERNAL + 22)
-#define EL_INTERNAL_CASCADE_DF_ACTIVE          (EL_FIRST_INTERNAL + 23)
-#define EL_INTERNAL_CASCADE_CHARS              (EL_FIRST_INTERNAL + 24)
-#define EL_INTERNAL_CASCADE_CHARS_ACTIVE       (EL_FIRST_INTERNAL + 25)
-#define EL_INTERNAL_CASCADE_STEEL_CHARS                (EL_FIRST_INTERNAL + 26)
-#define EL_INTERNAL_CASCADE_STEEL_CHARS_ACTIVE (EL_FIRST_INTERNAL + 27)
-#define EL_INTERNAL_CASCADE_CE                 (EL_FIRST_INTERNAL + 28)
-#define EL_INTERNAL_CASCADE_CE_ACTIVE          (EL_FIRST_INTERNAL + 29)
-#define EL_INTERNAL_CASCADE_GE                 (EL_FIRST_INTERNAL + 30)
-#define EL_INTERNAL_CASCADE_GE_ACTIVE          (EL_FIRST_INTERNAL + 31)
-#define EL_INTERNAL_CASCADE_ES                 (EL_FIRST_INTERNAL + 32)
-#define EL_INTERNAL_CASCADE_ES_ACTIVE          (EL_FIRST_INTERNAL + 33)
-#define EL_INTERNAL_CASCADE_REF                        (EL_FIRST_INTERNAL + 34)
-#define EL_INTERNAL_CASCADE_REF_ACTIVE         (EL_FIRST_INTERNAL + 35)
-#define EL_INTERNAL_CASCADE_USER               (EL_FIRST_INTERNAL + 36)
-#define EL_INTERNAL_CASCADE_USER_ACTIVE                (EL_FIRST_INTERNAL + 37)
-#define EL_INTERNAL_CASCADE_DYNAMIC            (EL_FIRST_INTERNAL + 38)
-#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE     (EL_FIRST_INTERNAL + 39)
+#define EL_INTERNAL_CASCADE_BD_NATIVE          (EL_FIRST_INTERNAL + 6)
+#define EL_INTERNAL_CASCADE_BD_NATIVE_ACTIVE   (EL_FIRST_INTERNAL + 7)
+#define EL_INTERNAL_CASCADE_EM                 (EL_FIRST_INTERNAL + 8)
+#define EL_INTERNAL_CASCADE_EM_ACTIVE          (EL_FIRST_INTERNAL + 9)
+#define EL_INTERNAL_CASCADE_EMC                        (EL_FIRST_INTERNAL + 10)
+#define EL_INTERNAL_CASCADE_EMC_ACTIVE         (EL_FIRST_INTERNAL + 11)
+#define EL_INTERNAL_CASCADE_RND                        (EL_FIRST_INTERNAL + 12)
+#define EL_INTERNAL_CASCADE_RND_ACTIVE         (EL_FIRST_INTERNAL + 13)
+#define EL_INTERNAL_CASCADE_SB                 (EL_FIRST_INTERNAL + 14)
+#define EL_INTERNAL_CASCADE_SB_ACTIVE          (EL_FIRST_INTERNAL + 15)
+#define EL_INTERNAL_CASCADE_SP                 (EL_FIRST_INTERNAL + 16)
+#define EL_INTERNAL_CASCADE_SP_ACTIVE          (EL_FIRST_INTERNAL + 17)
+#define EL_INTERNAL_CASCADE_DC                 (EL_FIRST_INTERNAL + 18)
+#define EL_INTERNAL_CASCADE_DC_ACTIVE          (EL_FIRST_INTERNAL + 19)
+#define EL_INTERNAL_CASCADE_DX                 (EL_FIRST_INTERNAL + 20)
+#define EL_INTERNAL_CASCADE_DX_ACTIVE          (EL_FIRST_INTERNAL + 21)
+#define EL_INTERNAL_CASCADE_MM                 (EL_FIRST_INTERNAL + 22)
+#define EL_INTERNAL_CASCADE_MM_ACTIVE          (EL_FIRST_INTERNAL + 23)
+#define EL_INTERNAL_CASCADE_DF                 (EL_FIRST_INTERNAL + 24)
+#define EL_INTERNAL_CASCADE_DF_ACTIVE          (EL_FIRST_INTERNAL + 25)
+#define EL_INTERNAL_CASCADE_CHARS              (EL_FIRST_INTERNAL + 26)
+#define EL_INTERNAL_CASCADE_CHARS_ACTIVE       (EL_FIRST_INTERNAL + 27)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS                (EL_FIRST_INTERNAL + 28)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS_ACTIVE (EL_FIRST_INTERNAL + 29)
+#define EL_INTERNAL_CASCADE_CE                 (EL_FIRST_INTERNAL + 30)
+#define EL_INTERNAL_CASCADE_CE_ACTIVE          (EL_FIRST_INTERNAL + 31)
+#define EL_INTERNAL_CASCADE_GE                 (EL_FIRST_INTERNAL + 32)
+#define EL_INTERNAL_CASCADE_GE_ACTIVE          (EL_FIRST_INTERNAL + 33)
+#define EL_INTERNAL_CASCADE_ES                 (EL_FIRST_INTERNAL + 34)
+#define EL_INTERNAL_CASCADE_ES_ACTIVE          (EL_FIRST_INTERNAL + 35)
+#define EL_INTERNAL_CASCADE_REF                        (EL_FIRST_INTERNAL + 36)
+#define EL_INTERNAL_CASCADE_REF_ACTIVE         (EL_FIRST_INTERNAL + 37)
+#define EL_INTERNAL_CASCADE_USER               (EL_FIRST_INTERNAL + 38)
+#define EL_INTERNAL_CASCADE_USER_ACTIVE                (EL_FIRST_INTERNAL + 39)
+#define EL_INTERNAL_CASCADE_DYNAMIC            (EL_FIRST_INTERNAL + 40)
+#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE     (EL_FIRST_INTERNAL + 41)
 
 #define EL_INTERNAL_CLIPBOARD_START    (EL_FIRST_INTERNAL + 0)
 #define EL_INTERNAL_CLIPBOARD_END      (EL_FIRST_INTERNAL + 2)
 #define EL_INTERNAL_START              (EL_FIRST_INTERNAL + 0)
-#define EL_INTERNAL_END                        (EL_FIRST_INTERNAL + 39)
+#define EL_INTERNAL_END                        (EL_FIRST_INTERNAL + 41)
 
-#define MAX_NUM_ELEMENTS               (EL_FIRST_INTERNAL + 40)
+#define MAX_NUM_ELEMENTS               (EL_FIRST_INTERNAL + 42)
 
 
 // values for graphics/sounds action types
@@ -2674,9 +2810,9 @@ enum
 
 // program information and versioning definitions
 #define PROGRAM_VERSION_SUPER          4
-#define PROGRAM_VERSION_MAJOR          3
-#define PROGRAM_VERSION_MINOR          8
-#define PROGRAM_VERSION_PATCH          2
+#define PROGRAM_VERSION_MAJOR          4
+#define PROGRAM_VERSION_MINOR          0
+#define PROGRAM_VERSION_PATCH          0
 #define PROGRAM_VERSION_EXTRA          ""
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"