rnd-20040111-2-src
authorHolger Schemel <info@artsoft.org>
Sun, 11 Jan 2004 16:41:28 +0000 (17:41 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:45:16 +0000 (10:45 +0200)
src/Makefile
src/conf_e2g.c
src/conf_esg.c
src/conf_gfx.c
src/conf_gfx.h
src/conf_grp.c [new file with mode: 0644]
src/conf_grp.h
src/conftime.h
src/editor.c
src/files.c
src/main.h

index 9ef752b650474126770ba4e46c7dbad9420c8084..976f86bc60b6322e923e014760a404ff605caf0c 100644 (file)
@@ -175,6 +175,8 @@ CNFS =      conf_gfx.h      \
        conf_chr.h      \
        conf_cus.c      \
        conf_cus.h      \
+       conf_grp.c      \
+       conf_grp.h      \
        conf_e2g.c      \
        conf_esg.c      \
        conf_e2s.c      \
index 2a70f7b836b6887b8298371e7aae1f71967d71d2..e69031ebfde6389eb6b9f064eacadb7c2af93363 100644 (file)
@@ -3889,6 +3889,134 @@ element_to_graphic[] =
     EL_CUSTOM_256,                     -1, -1, FALSE,
     IMG_CUSTOM_256
   },
+  {
+    EL_GROUP_1,                                -1, -1, FALSE,
+    IMG_GROUP_1
+  },
+  {
+    EL_GROUP_2,                                -1, -1, FALSE,
+    IMG_GROUP_2
+  },
+  {
+    EL_GROUP_3,                                -1, -1, FALSE,
+    IMG_GROUP_3
+  },
+  {
+    EL_GROUP_4,                                -1, -1, FALSE,
+    IMG_GROUP_4
+  },
+  {
+    EL_GROUP_5,                                -1, -1, FALSE,
+    IMG_GROUP_5
+  },
+  {
+    EL_GROUP_6,                                -1, -1, FALSE,
+    IMG_GROUP_6
+  },
+  {
+    EL_GROUP_7,                                -1, -1, FALSE,
+    IMG_GROUP_7
+  },
+  {
+    EL_GROUP_8,                                -1, -1, FALSE,
+    IMG_GROUP_8
+  },
+  {
+    EL_GROUP_9,                                -1, -1, FALSE,
+    IMG_GROUP_9
+  },
+  {
+    EL_GROUP_10,                       -1, -1, FALSE,
+    IMG_GROUP_10
+  },
+  {
+    EL_GROUP_11,                       -1, -1, FALSE,
+    IMG_GROUP_11
+  },
+  {
+    EL_GROUP_12,                       -1, -1, FALSE,
+    IMG_GROUP_12
+  },
+  {
+    EL_GROUP_13,                       -1, -1, FALSE,
+    IMG_GROUP_13
+  },
+  {
+    EL_GROUP_14,                       -1, -1, FALSE,
+    IMG_GROUP_14
+  },
+  {
+    EL_GROUP_15,                       -1, -1, FALSE,
+    IMG_GROUP_15
+  },
+  {
+    EL_GROUP_16,                       -1, -1, FALSE,
+    IMG_GROUP_16
+  },
+  {
+    EL_GROUP_17,                       -1, -1, FALSE,
+    IMG_GROUP_17
+  },
+  {
+    EL_GROUP_18,                       -1, -1, FALSE,
+    IMG_GROUP_18
+  },
+  {
+    EL_GROUP_19,                       -1, -1, FALSE,
+    IMG_GROUP_19
+  },
+  {
+    EL_GROUP_20,                       -1, -1, FALSE,
+    IMG_GROUP_20
+  },
+  {
+    EL_GROUP_21,                       -1, -1, FALSE,
+    IMG_GROUP_21
+  },
+  {
+    EL_GROUP_22,                       -1, -1, FALSE,
+    IMG_GROUP_22
+  },
+  {
+    EL_GROUP_23,                       -1, -1, FALSE,
+    IMG_GROUP_23
+  },
+  {
+    EL_GROUP_24,                       -1, -1, FALSE,
+    IMG_GROUP_24
+  },
+  {
+    EL_GROUP_25,                       -1, -1, FALSE,
+    IMG_GROUP_25
+  },
+  {
+    EL_GROUP_26,                       -1, -1, FALSE,
+    IMG_GROUP_26
+  },
+  {
+    EL_GROUP_27,                       -1, -1, FALSE,
+    IMG_GROUP_27
+  },
+  {
+    EL_GROUP_28,                       -1, -1, FALSE,
+    IMG_GROUP_28
+  },
+  {
+    EL_GROUP_29,                       -1, -1, FALSE,
+    IMG_GROUP_29
+  },
+  {
+    EL_GROUP_30,                       -1, -1, FALSE,
+    IMG_GROUP_30
+  },
+  {
+    EL_GROUP_31,                       -1, -1, FALSE,
+    IMG_GROUP_31
+  },
+  {
+    EL_GROUP_32,                       -1, -1, FALSE,
+    IMG_GROUP_32
+  },
   {
     -1,                                        -1, -1, FALSE,
     -1
index ce5fe3c329a59aefee0f33c181948a8f8fdc3cda..23db4e68e7605134b28538885a8102ba96fe2256 100644 (file)
@@ -1283,6 +1283,134 @@ element_to_special_graphic[] =
     EL_CUSTOM_256,                             GFX_SPECIAL_ARG_EDITOR,
     IMG_CUSTOM_256_EDITOR
   },
+  {
+    EL_GROUP_1,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_1_EDITOR
+  },
+  {
+    EL_GROUP_2,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_2_EDITOR
+  },
+  {
+    EL_GROUP_3,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_3_EDITOR
+  },
+  {
+    EL_GROUP_4,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_4_EDITOR
+  },
+  {
+    EL_GROUP_5,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_5_EDITOR
+  },
+  {
+    EL_GROUP_6,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_6_EDITOR
+  },
+  {
+    EL_GROUP_7,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_7_EDITOR
+  },
+  {
+    EL_GROUP_8,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_8_EDITOR
+  },
+  {
+    EL_GROUP_9,                                        GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_9_EDITOR
+  },
+  {
+    EL_GROUP_10,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_10_EDITOR
+  },
+  {
+    EL_GROUP_11,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_11_EDITOR
+  },
+  {
+    EL_GROUP_12,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_12_EDITOR
+  },
+  {
+    EL_GROUP_13,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_13_EDITOR
+  },
+  {
+    EL_GROUP_14,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_14_EDITOR
+  },
+  {
+    EL_GROUP_15,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_15_EDITOR
+  },
+  {
+    EL_GROUP_16,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_16_EDITOR
+  },
+  {
+    EL_GROUP_17,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_17_EDITOR
+  },
+  {
+    EL_GROUP_18,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_18_EDITOR
+  },
+  {
+    EL_GROUP_19,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_19_EDITOR
+  },
+  {
+    EL_GROUP_20,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_20_EDITOR
+  },
+  {
+    EL_GROUP_21,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_21_EDITOR
+  },
+  {
+    EL_GROUP_22,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_22_EDITOR
+  },
+  {
+    EL_GROUP_23,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_23_EDITOR
+  },
+  {
+    EL_GROUP_24,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_24_EDITOR
+  },
+  {
+    EL_GROUP_25,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_25_EDITOR
+  },
+  {
+    EL_GROUP_26,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_26_EDITOR
+  },
+  {
+    EL_GROUP_27,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_27_EDITOR
+  },
+  {
+    EL_GROUP_28,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_28_EDITOR
+  },
+  {
+    EL_GROUP_29,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_29_EDITOR
+  },
+  {
+    EL_GROUP_30,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_30_EDITOR
+  },
+  {
+    EL_GROUP_31,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_31_EDITOR
+  },
+  {
+    EL_GROUP_32,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_GROUP_32_EDITOR
+  },
   {
     -1,                                                -1,
     -1
index 984c0972d24e6e0e14cc5562fbfa94279a919a37..398e36f2a5dfdb8d9d1e28f465c6c01b813c15b7 100644 (file)
@@ -3131,6 +3131,7 @@ struct ConfigInfo image_config[] =
 
 #include "conf_chr.c"  /* include auto-generated data structure definitions */
 #include "conf_cus.c"  /* include auto-generated data structure definitions */
+#include "conf_grp.c"  /* include auto-generated data structure definitions */
 
   /* images not associated to game elements (used for menu screens etc.) */
   /* keyword to stop parser: "NO_MORE_ELEMENT_IMAGES" <-- do not change! */
index 6025aada3405fa92b8d54828a1a02edee1961a24..c3ea49d012af040456be6c352a16fc2df56a2cd0 100644 (file)
 #define IMG_CUSTOM_255_EDITOR                          1212
 #define IMG_CUSTOM_256                                 1213
 #define IMG_CUSTOM_256_EDITOR                          1214
-#define IMG_TOON_1                                     1215
-#define IMG_TOON_2                                     1216
-#define IMG_TOON_3                                     1217
-#define IMG_TOON_4                                     1218
-#define IMG_TOON_5                                     1219
-#define IMG_TOON_6                                     1220
-#define IMG_TOON_7                                     1221
-#define IMG_TOON_8                                     1222
-#define IMG_TOON_9                                     1223
-#define IMG_TOON_10                                    1224
-#define IMG_TOON_11                                    1225
-#define IMG_TOON_12                                    1226
-#define IMG_TOON_13                                    1227
-#define IMG_TOON_14                                    1228
-#define IMG_TOON_15                                    1229
-#define IMG_TOON_16                                    1230
-#define IMG_TOON_17                                    1231
-#define IMG_TOON_18                                    1232
-#define IMG_TOON_19                                    1233
-#define IMG_TOON_20                                    1234
-#define IMG_MENU_CALIBRATE_RED                         1235
-#define IMG_MENU_CALIBRATE_BLUE                                1236
-#define IMG_MENU_CALIBRATE_YELLOW                      1237
-#define IMG_MENU_BUTTON                                        1238
-#define IMG_MENU_BUTTON_ACTIVE                         1239
-#define IMG_MENU_BUTTON_LEFT                           1240
-#define IMG_MENU_BUTTON_RIGHT                          1241
-#define IMG_MENU_BUTTON_UP                             1242
-#define IMG_MENU_BUTTON_DOWN                           1243
-#define IMG_MENU_BUTTON_LEFT_ACTIVE                    1244
-#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   1245
-#define IMG_MENU_BUTTON_UP_ACTIVE                      1246
-#define IMG_MENU_BUTTON_DOWN_ACTIVE                    1247
-#define IMG_MENU_SCROLLBAR                             1248
-#define IMG_MENU_SCROLLBAR_ACTIVE                      1249
-#define IMG_FONT_INITIAL_1                             1250
-#define IMG_FONT_INITIAL_2                             1251
-#define IMG_FONT_INITIAL_3                             1252
-#define IMG_FONT_INITIAL_4                             1253
-#define IMG_FONT_TITLE_1                               1254
-#define IMG_FONT_TITLE_1_LEVELS                                1255
-#define IMG_FONT_TITLE_2                               1256
-#define IMG_FONT_MENU_1                                        1257
-#define IMG_FONT_MENU_2                                        1258
-#define IMG_FONT_TEXT_1                                        1259
-#define IMG_FONT_TEXT_1_LEVELS                         1260
-#define IMG_FONT_TEXT_1_PREVIEW                                1261
-#define IMG_FONT_TEXT_1_SCORES                         1262
-#define IMG_FONT_TEXT_1_ACTIVE_SCORES                  1263
-#define IMG_FONT_TEXT_2                                        1264
-#define IMG_FONT_TEXT_2_LEVELS                         1265
-#define IMG_FONT_TEXT_2_PREVIEW                                1266
-#define IMG_FONT_TEXT_2_SCORES                         1267
-#define IMG_FONT_TEXT_2_ACTIVE_SCORES                  1268
-#define IMG_FONT_TEXT_3                                        1269
-#define IMG_FONT_TEXT_3_LEVELS                         1270
-#define IMG_FONT_TEXT_3_PREVIEW                                1271
-#define IMG_FONT_TEXT_3_SCORES                         1272
-#define IMG_FONT_TEXT_3_ACTIVE_SCORES                  1273
-#define IMG_FONT_TEXT_4                                        1274
-#define IMG_FONT_TEXT_4_LEVELS                         1275
-#define IMG_FONT_TEXT_4_SCORES                         1276
-#define IMG_FONT_TEXT_4_ACTIVE_SCORES                  1277
-#define IMG_FONT_ENVELOPE_1                            1278
-#define IMG_FONT_ENVELOPE_2                            1279
-#define IMG_FONT_ENVELOPE_3                            1280
-#define IMG_FONT_ENVELOPE_4                            1281
-#define IMG_FONT_INPUT_1                               1282
-#define IMG_FONT_INPUT_1_MAIN                          1283
-#define IMG_FONT_INPUT_1_ACTIVE                                1284
-#define IMG_FONT_INPUT_1_ACTIVE_MAIN                   1285
-#define IMG_FONT_INPUT_1_ACTIVE_SETUP                  1286
-#define IMG_FONT_INPUT_2                               1287
-#define IMG_FONT_INPUT_2_ACTIVE                                1288
-#define IMG_FONT_OPTION_OFF                            1289
-#define IMG_FONT_OPTION_ON                             1290
-#define IMG_FONT_VALUE_1                               1291
-#define IMG_FONT_VALUE_2                               1292
-#define IMG_FONT_VALUE_OLD                             1293
-#define IMG_FONT_LEVEL_NUMBER                          1294
-#define IMG_FONT_TAPE_RECORDER                         1295
-#define IMG_FONT_GAME_INFO                             1296
-#define IMG_GLOBAL_BORDER                              1297
-#define IMG_GLOBAL_DOOR                                        1298
-#define IMG_EDITOR_ELEMENT_BORDER                      1299
-#define IMG_EDITOR_ELEMENT_BORDER_INPUT                        1300
-#define IMG_BACKGROUND_ENVELOPE_1                      1301
-#define IMG_BACKGROUND_ENVELOPE_2                      1302
-#define IMG_BACKGROUND_ENVELOPE_3                      1303
-#define IMG_BACKGROUND_ENVELOPE_4                      1304
-#define IMG_BACKGROUND                                 1305
-#define IMG_BACKGROUND_MAIN                            1306
-#define IMG_BACKGROUND_LEVELS                          1307
-#define IMG_BACKGROUND_SCORES                          1308
-#define IMG_BACKGROUND_EDITOR                          1309
-#define IMG_BACKGROUND_INFO                            1310
-#define IMG_BACKGROUND_SETUP                           1311
-#define IMG_BACKGROUND_DOOR                            1312
+#define IMG_GROUP_1                                    1215
+#define IMG_GROUP_1_EDITOR                             1216
+#define IMG_GROUP_2                                    1217
+#define IMG_GROUP_2_EDITOR                             1218
+#define IMG_GROUP_3                                    1219
+#define IMG_GROUP_3_EDITOR                             1220
+#define IMG_GROUP_4                                    1221
+#define IMG_GROUP_4_EDITOR                             1222
+#define IMG_GROUP_5                                    1223
+#define IMG_GROUP_5_EDITOR                             1224
+#define IMG_GROUP_6                                    1225
+#define IMG_GROUP_6_EDITOR                             1226
+#define IMG_GROUP_7                                    1227
+#define IMG_GROUP_7_EDITOR                             1228
+#define IMG_GROUP_8                                    1229
+#define IMG_GROUP_8_EDITOR                             1230
+#define IMG_GROUP_9                                    1231
+#define IMG_GROUP_9_EDITOR                             1232
+#define IMG_GROUP_10                                   1233
+#define IMG_GROUP_10_EDITOR                            1234
+#define IMG_GROUP_11                                   1235
+#define IMG_GROUP_11_EDITOR                            1236
+#define IMG_GROUP_12                                   1237
+#define IMG_GROUP_12_EDITOR                            1238
+#define IMG_GROUP_13                                   1239
+#define IMG_GROUP_13_EDITOR                            1240
+#define IMG_GROUP_14                                   1241
+#define IMG_GROUP_14_EDITOR                            1242
+#define IMG_GROUP_15                                   1243
+#define IMG_GROUP_15_EDITOR                            1244
+#define IMG_GROUP_16                                   1245
+#define IMG_GROUP_16_EDITOR                            1246
+#define IMG_GROUP_17                                   1247
+#define IMG_GROUP_17_EDITOR                            1248
+#define IMG_GROUP_18                                   1249
+#define IMG_GROUP_18_EDITOR                            1250
+#define IMG_GROUP_19                                   1251
+#define IMG_GROUP_19_EDITOR                            1252
+#define IMG_GROUP_20                                   1253
+#define IMG_GROUP_20_EDITOR                            1254
+#define IMG_GROUP_21                                   1255
+#define IMG_GROUP_21_EDITOR                            1256
+#define IMG_GROUP_22                                   1257
+#define IMG_GROUP_22_EDITOR                            1258
+#define IMG_GROUP_23                                   1259
+#define IMG_GROUP_23_EDITOR                            1260
+#define IMG_GROUP_24                                   1261
+#define IMG_GROUP_24_EDITOR                            1262
+#define IMG_GROUP_25                                   1263
+#define IMG_GROUP_25_EDITOR                            1264
+#define IMG_GROUP_26                                   1265
+#define IMG_GROUP_26_EDITOR                            1266
+#define IMG_GROUP_27                                   1267
+#define IMG_GROUP_27_EDITOR                            1268
+#define IMG_GROUP_28                                   1269
+#define IMG_GROUP_28_EDITOR                            1270
+#define IMG_GROUP_29                                   1271
+#define IMG_GROUP_29_EDITOR                            1272
+#define IMG_GROUP_30                                   1273
+#define IMG_GROUP_30_EDITOR                            1274
+#define IMG_GROUP_31                                   1275
+#define IMG_GROUP_31_EDITOR                            1276
+#define IMG_GROUP_32                                   1277
+#define IMG_GROUP_32_EDITOR                            1278
+#define IMG_TOON_1                                     1279
+#define IMG_TOON_2                                     1280
+#define IMG_TOON_3                                     1281
+#define IMG_TOON_4                                     1282
+#define IMG_TOON_5                                     1283
+#define IMG_TOON_6                                     1284
+#define IMG_TOON_7                                     1285
+#define IMG_TOON_8                                     1286
+#define IMG_TOON_9                                     1287
+#define IMG_TOON_10                                    1288
+#define IMG_TOON_11                                    1289
+#define IMG_TOON_12                                    1290
+#define IMG_TOON_13                                    1291
+#define IMG_TOON_14                                    1292
+#define IMG_TOON_15                                    1293
+#define IMG_TOON_16                                    1294
+#define IMG_TOON_17                                    1295
+#define IMG_TOON_18                                    1296
+#define IMG_TOON_19                                    1297
+#define IMG_TOON_20                                    1298
+#define IMG_MENU_CALIBRATE_RED                         1299
+#define IMG_MENU_CALIBRATE_BLUE                                1300
+#define IMG_MENU_CALIBRATE_YELLOW                      1301
+#define IMG_MENU_BUTTON                                        1302
+#define IMG_MENU_BUTTON_ACTIVE                         1303
+#define IMG_MENU_BUTTON_LEFT                           1304
+#define IMG_MENU_BUTTON_RIGHT                          1305
+#define IMG_MENU_BUTTON_UP                             1306
+#define IMG_MENU_BUTTON_DOWN                           1307
+#define IMG_MENU_BUTTON_LEFT_ACTIVE                    1308
+#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   1309
+#define IMG_MENU_BUTTON_UP_ACTIVE                      1310
+#define IMG_MENU_BUTTON_DOWN_ACTIVE                    1311
+#define IMG_MENU_SCROLLBAR                             1312
+#define IMG_MENU_SCROLLBAR_ACTIVE                      1313
+#define IMG_FONT_INITIAL_1                             1314
+#define IMG_FONT_INITIAL_2                             1315
+#define IMG_FONT_INITIAL_3                             1316
+#define IMG_FONT_INITIAL_4                             1317
+#define IMG_FONT_TITLE_1                               1318
+#define IMG_FONT_TITLE_1_LEVELS                                1319
+#define IMG_FONT_TITLE_2                               1320
+#define IMG_FONT_MENU_1                                        1321
+#define IMG_FONT_MENU_2                                        1322
+#define IMG_FONT_TEXT_1                                        1323
+#define IMG_FONT_TEXT_1_LEVELS                         1324
+#define IMG_FONT_TEXT_1_PREVIEW                                1325
+#define IMG_FONT_TEXT_1_SCORES                         1326
+#define IMG_FONT_TEXT_1_ACTIVE_SCORES                  1327
+#define IMG_FONT_TEXT_2                                        1328
+#define IMG_FONT_TEXT_2_LEVELS                         1329
+#define IMG_FONT_TEXT_2_PREVIEW                                1330
+#define IMG_FONT_TEXT_2_SCORES                         1331
+#define IMG_FONT_TEXT_2_ACTIVE_SCORES                  1332
+#define IMG_FONT_TEXT_3                                        1333
+#define IMG_FONT_TEXT_3_LEVELS                         1334
+#define IMG_FONT_TEXT_3_PREVIEW                                1335
+#define IMG_FONT_TEXT_3_SCORES                         1336
+#define IMG_FONT_TEXT_3_ACTIVE_SCORES                  1337
+#define IMG_FONT_TEXT_4                                        1338
+#define IMG_FONT_TEXT_4_LEVELS                         1339
+#define IMG_FONT_TEXT_4_SCORES                         1340
+#define IMG_FONT_TEXT_4_ACTIVE_SCORES                  1341
+#define IMG_FONT_ENVELOPE_1                            1342
+#define IMG_FONT_ENVELOPE_2                            1343
+#define IMG_FONT_ENVELOPE_3                            1344
+#define IMG_FONT_ENVELOPE_4                            1345
+#define IMG_FONT_INPUT_1                               1346
+#define IMG_FONT_INPUT_1_MAIN                          1347
+#define IMG_FONT_INPUT_1_ACTIVE                                1348
+#define IMG_FONT_INPUT_1_ACTIVE_MAIN                   1349
+#define IMG_FONT_INPUT_1_ACTIVE_SETUP                  1350
+#define IMG_FONT_INPUT_2                               1351
+#define IMG_FONT_INPUT_2_ACTIVE                                1352
+#define IMG_FONT_OPTION_OFF                            1353
+#define IMG_FONT_OPTION_ON                             1354
+#define IMG_FONT_VALUE_1                               1355
+#define IMG_FONT_VALUE_2                               1356
+#define IMG_FONT_VALUE_OLD                             1357
+#define IMG_FONT_LEVEL_NUMBER                          1358
+#define IMG_FONT_TAPE_RECORDER                         1359
+#define IMG_FONT_GAME_INFO                             1360
+#define IMG_GLOBAL_BORDER                              1361
+#define IMG_GLOBAL_DOOR                                        1362
+#define IMG_EDITOR_ELEMENT_BORDER                      1363
+#define IMG_EDITOR_ELEMENT_BORDER_INPUT                        1364
+#define IMG_BACKGROUND_ENVELOPE_1                      1365
+#define IMG_BACKGROUND_ENVELOPE_2                      1366
+#define IMG_BACKGROUND_ENVELOPE_3                      1367
+#define IMG_BACKGROUND_ENVELOPE_4                      1368
+#define IMG_BACKGROUND                                 1369
+#define IMG_BACKGROUND_MAIN                            1370
+#define IMG_BACKGROUND_LEVELS                          1371
+#define IMG_BACKGROUND_SCORES                          1372
+#define IMG_BACKGROUND_EDITOR                          1373
+#define IMG_BACKGROUND_INFO                            1374
+#define IMG_BACKGROUND_SETUP                           1375
+#define IMG_BACKGROUND_DOOR                            1376
 
-#define NUM_IMAGE_FILES                                        1313
+#define NUM_IMAGE_FILES                                        1377
 
 #endif /* CONF_GFX_H */
diff --git a/src/conf_grp.c b/src/conf_grp.c
new file mode 100644 (file)
index 0000000..fa80f98
--- /dev/null
@@ -0,0 +1,278 @@
+/***********************************************************
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
+*----------------------------------------------------------*
+* (c) 1995-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
+*----------------------------------------------------------*
+* conf_grp.c                                               *
+***********************************************************/
+
+/* ----- this file was automatically generated -- do not edit by hand ----- */
+
+#ifndef CONF_GRP_C
+#define CONF_GRP_C
+
+/* values for graphics configuration (group elements) */
+
+  { "group_1",                                 "RocksDC.pcx"           },
+  { "group_1.xpos",                            "4"                     },
+  { "group_1.ypos",                            "15"                    },
+  { "group_1.frames",                          "1"                     },
+  { "group_1.EDITOR",                          "RocksDC.pcx"           },
+  { "group_1.EDITOR.xpos",                     "14"                    },
+  { "group_1.EDITOR.ypos",                     "15"                    },
+
+  { "group_2",                                 "RocksDC.pcx"           },
+  { "group_2.xpos",                            "4"                     },
+  { "group_2.ypos",                            "15"                    },
+  { "group_2.frames",                          "1"                     },
+  { "group_2.EDITOR",                          "RocksDC.pcx"           },
+  { "group_2.EDITOR.xpos",                     "14"                    },
+  { "group_2.EDITOR.ypos",                     "15"                    },
+
+  { "group_3",                                 "RocksDC.pcx"           },
+  { "group_3.xpos",                            "4"                     },
+  { "group_3.ypos",                            "15"                    },
+  { "group_3.frames",                          "1"                     },
+  { "group_3.EDITOR",                          "RocksDC.pcx"           },
+  { "group_3.EDITOR.xpos",                     "14"                    },
+  { "group_3.EDITOR.ypos",                     "15"                    },
+
+  { "group_4",                                 "RocksDC.pcx"           },
+  { "group_4.xpos",                            "4"                     },
+  { "group_4.ypos",                            "15"                    },
+  { "group_4.frames",                          "1"                     },
+  { "group_4.EDITOR",                          "RocksDC.pcx"           },
+  { "group_4.EDITOR.xpos",                     "14"                    },
+  { "group_4.EDITOR.ypos",                     "15"                    },
+
+  { "group_5",                                 "RocksDC.pcx"           },
+  { "group_5.xpos",                            "4"                     },
+  { "group_5.ypos",                            "15"                    },
+  { "group_5.frames",                          "1"                     },
+  { "group_5.EDITOR",                          "RocksDC.pcx"           },
+  { "group_5.EDITOR.xpos",                     "14"                    },
+  { "group_5.EDITOR.ypos",                     "15"                    },
+
+  { "group_6",                                 "RocksDC.pcx"           },
+  { "group_6.xpos",                            "4"                     },
+  { "group_6.ypos",                            "15"                    },
+  { "group_6.frames",                          "1"                     },
+  { "group_6.EDITOR",                          "RocksDC.pcx"           },
+  { "group_6.EDITOR.xpos",                     "14"                    },
+  { "group_6.EDITOR.ypos",                     "15"                    },
+
+  { "group_7",                                 "RocksDC.pcx"           },
+  { "group_7.xpos",                            "4"                     },
+  { "group_7.ypos",                            "15"                    },
+  { "group_7.frames",                          "1"                     },
+  { "group_7.EDITOR",                          "RocksDC.pcx"           },
+  { "group_7.EDITOR.xpos",                     "14"                    },
+  { "group_7.EDITOR.ypos",                     "15"                    },
+
+  { "group_8",                                 "RocksDC.pcx"           },
+  { "group_8.xpos",                            "4"                     },
+  { "group_8.ypos",                            "15"                    },
+  { "group_8.frames",                          "1"                     },
+  { "group_8.EDITOR",                          "RocksDC.pcx"           },
+  { "group_8.EDITOR.xpos",                     "14"                    },
+  { "group_8.EDITOR.ypos",                     "15"                    },
+
+  { "group_9",                                 "RocksDC.pcx"           },
+  { "group_9.xpos",                            "4"                     },
+  { "group_9.ypos",                            "15"                    },
+  { "group_9.frames",                          "1"                     },
+  { "group_9.EDITOR",                          "RocksDC.pcx"           },
+  { "group_9.EDITOR.xpos",                     "14"                    },
+  { "group_9.EDITOR.ypos",                     "15"                    },
+
+  { "group_10",                                        "RocksDC.pcx"           },
+  { "group_10.xpos",                           "4"                     },
+  { "group_10.ypos",                           "15"                    },
+  { "group_10.frames",                         "1"                     },
+  { "group_10.EDITOR",                         "RocksDC.pcx"           },
+  { "group_10.EDITOR.xpos",                    "14"                    },
+  { "group_10.EDITOR.ypos",                    "15"                    },
+
+  { "group_11",                                        "RocksDC.pcx"           },
+  { "group_11.xpos",                           "4"                     },
+  { "group_11.ypos",                           "15"                    },
+  { "group_11.frames",                         "1"                     },
+  { "group_11.EDITOR",                         "RocksDC.pcx"           },
+  { "group_11.EDITOR.xpos",                    "14"                    },
+  { "group_11.EDITOR.ypos",                    "15"                    },
+
+  { "group_12",                                        "RocksDC.pcx"           },
+  { "group_12.xpos",                           "4"                     },
+  { "group_12.ypos",                           "15"                    },
+  { "group_12.frames",                         "1"                     },
+  { "group_12.EDITOR",                         "RocksDC.pcx"           },
+  { "group_12.EDITOR.xpos",                    "14"                    },
+  { "group_12.EDITOR.ypos",                    "15"                    },
+
+  { "group_13",                                        "RocksDC.pcx"           },
+  { "group_13.xpos",                           "4"                     },
+  { "group_13.ypos",                           "15"                    },
+  { "group_13.frames",                         "1"                     },
+  { "group_13.EDITOR",                         "RocksDC.pcx"           },
+  { "group_13.EDITOR.xpos",                    "14"                    },
+  { "group_13.EDITOR.ypos",                    "15"                    },
+
+  { "group_14",                                        "RocksDC.pcx"           },
+  { "group_14.xpos",                           "4"                     },
+  { "group_14.ypos",                           "15"                    },
+  { "group_14.frames",                         "1"                     },
+  { "group_14.EDITOR",                         "RocksDC.pcx"           },
+  { "group_14.EDITOR.xpos",                    "14"                    },
+  { "group_14.EDITOR.ypos",                    "15"                    },
+
+  { "group_15",                                        "RocksDC.pcx"           },
+  { "group_15.xpos",                           "4"                     },
+  { "group_15.ypos",                           "15"                    },
+  { "group_15.frames",                         "1"                     },
+  { "group_15.EDITOR",                         "RocksDC.pcx"           },
+  { "group_15.EDITOR.xpos",                    "14"                    },
+  { "group_15.EDITOR.ypos",                    "15"                    },
+
+  { "group_16",                                        "RocksDC.pcx"           },
+  { "group_16.xpos",                           "4"                     },
+  { "group_16.ypos",                           "15"                    },
+  { "group_16.frames",                         "1"                     },
+  { "group_16.EDITOR",                         "RocksDC.pcx"           },
+  { "group_16.EDITOR.xpos",                    "14"                    },
+  { "group_16.EDITOR.ypos",                    "15"                    },
+
+  { "group_17",                                        "RocksDC.pcx"           },
+  { "group_17.xpos",                           "4"                     },
+  { "group_17.ypos",                           "15"                    },
+  { "group_17.frames",                         "1"                     },
+  { "group_17.EDITOR",                         "RocksDC.pcx"           },
+  { "group_17.EDITOR.xpos",                    "14"                    },
+  { "group_17.EDITOR.ypos",                    "15"                    },
+
+  { "group_18",                                        "RocksDC.pcx"           },
+  { "group_18.xpos",                           "4"                     },
+  { "group_18.ypos",                           "15"                    },
+  { "group_18.frames",                         "1"                     },
+  { "group_18.EDITOR",                         "RocksDC.pcx"           },
+  { "group_18.EDITOR.xpos",                    "14"                    },
+  { "group_18.EDITOR.ypos",                    "15"                    },
+
+  { "group_19",                                        "RocksDC.pcx"           },
+  { "group_19.xpos",                           "4"                     },
+  { "group_19.ypos",                           "15"                    },
+  { "group_19.frames",                         "1"                     },
+  { "group_19.EDITOR",                         "RocksDC.pcx"           },
+  { "group_19.EDITOR.xpos",                    "14"                    },
+  { "group_19.EDITOR.ypos",                    "15"                    },
+
+  { "group_20",                                        "RocksDC.pcx"           },
+  { "group_20.xpos",                           "4"                     },
+  { "group_20.ypos",                           "15"                    },
+  { "group_20.frames",                         "1"                     },
+  { "group_20.EDITOR",                         "RocksDC.pcx"           },
+  { "group_20.EDITOR.xpos",                    "14"                    },
+  { "group_20.EDITOR.ypos",                    "15"                    },
+
+  { "group_21",                                        "RocksDC.pcx"           },
+  { "group_21.xpos",                           "4"                     },
+  { "group_21.ypos",                           "15"                    },
+  { "group_21.frames",                         "1"                     },
+  { "group_21.EDITOR",                         "RocksDC.pcx"           },
+  { "group_21.EDITOR.xpos",                    "14"                    },
+  { "group_21.EDITOR.ypos",                    "15"                    },
+
+  { "group_22",                                        "RocksDC.pcx"           },
+  { "group_22.xpos",                           "4"                     },
+  { "group_22.ypos",                           "15"                    },
+  { "group_22.frames",                         "1"                     },
+  { "group_22.EDITOR",                         "RocksDC.pcx"           },
+  { "group_22.EDITOR.xpos",                    "14"                    },
+  { "group_22.EDITOR.ypos",                    "15"                    },
+
+  { "group_23",                                        "RocksDC.pcx"           },
+  { "group_23.xpos",                           "4"                     },
+  { "group_23.ypos",                           "15"                    },
+  { "group_23.frames",                         "1"                     },
+  { "group_23.EDITOR",                         "RocksDC.pcx"           },
+  { "group_23.EDITOR.xpos",                    "14"                    },
+  { "group_23.EDITOR.ypos",                    "15"                    },
+
+  { "group_24",                                        "RocksDC.pcx"           },
+  { "group_24.xpos",                           "4"                     },
+  { "group_24.ypos",                           "15"                    },
+  { "group_24.frames",                         "1"                     },
+  { "group_24.EDITOR",                         "RocksDC.pcx"           },
+  { "group_24.EDITOR.xpos",                    "14"                    },
+  { "group_24.EDITOR.ypos",                    "15"                    },
+
+  { "group_25",                                        "RocksDC.pcx"           },
+  { "group_25.xpos",                           "4"                     },
+  { "group_25.ypos",                           "15"                    },
+  { "group_25.frames",                         "1"                     },
+  { "group_25.EDITOR",                         "RocksDC.pcx"           },
+  { "group_25.EDITOR.xpos",                    "14"                    },
+  { "group_25.EDITOR.ypos",                    "15"                    },
+
+  { "group_26",                                        "RocksDC.pcx"           },
+  { "group_26.xpos",                           "4"                     },
+  { "group_26.ypos",                           "15"                    },
+  { "group_26.frames",                         "1"                     },
+  { "group_26.EDITOR",                         "RocksDC.pcx"           },
+  { "group_26.EDITOR.xpos",                    "14"                    },
+  { "group_26.EDITOR.ypos",                    "15"                    },
+
+  { "group_27",                                        "RocksDC.pcx"           },
+  { "group_27.xpos",                           "4"                     },
+  { "group_27.ypos",                           "15"                    },
+  { "group_27.frames",                         "1"                     },
+  { "group_27.EDITOR",                         "RocksDC.pcx"           },
+  { "group_27.EDITOR.xpos",                    "14"                    },
+  { "group_27.EDITOR.ypos",                    "15"                    },
+
+  { "group_28",                                        "RocksDC.pcx"           },
+  { "group_28.xpos",                           "4"                     },
+  { "group_28.ypos",                           "15"                    },
+  { "group_28.frames",                         "1"                     },
+  { "group_28.EDITOR",                         "RocksDC.pcx"           },
+  { "group_28.EDITOR.xpos",                    "14"                    },
+  { "group_28.EDITOR.ypos",                    "15"                    },
+
+  { "group_29",                                        "RocksDC.pcx"           },
+  { "group_29.xpos",                           "4"                     },
+  { "group_29.ypos",                           "15"                    },
+  { "group_29.frames",                         "1"                     },
+  { "group_29.EDITOR",                         "RocksDC.pcx"           },
+  { "group_29.EDITOR.xpos",                    "14"                    },
+  { "group_29.EDITOR.ypos",                    "15"                    },
+
+  { "group_30",                                        "RocksDC.pcx"           },
+  { "group_30.xpos",                           "4"                     },
+  { "group_30.ypos",                           "15"                    },
+  { "group_30.frames",                         "1"                     },
+  { "group_30.EDITOR",                         "RocksDC.pcx"           },
+  { "group_30.EDITOR.xpos",                    "14"                    },
+  { "group_30.EDITOR.ypos",                    "15"                    },
+
+  { "group_31",                                        "RocksDC.pcx"           },
+  { "group_31.xpos",                           "4"                     },
+  { "group_31.ypos",                           "15"                    },
+  { "group_31.frames",                         "1"                     },
+  { "group_31.EDITOR",                         "RocksDC.pcx"           },
+  { "group_31.EDITOR.xpos",                    "14"                    },
+  { "group_31.EDITOR.ypos",                    "15"                    },
+
+  { "group_32",                                        "RocksDC.pcx"           },
+  { "group_32.xpos",                           "4"                     },
+  { "group_32.ypos",                           "15"                    },
+  { "group_32.frames",                         "1"                     },
+  { "group_32.EDITOR",                         "RocksDC.pcx"           },
+  { "group_32.EDITOR.xpos",                    "14"                    },
+  { "group_32.EDITOR.ypos",                    "15"                    },
+
+
+#endif /* CONF_GRP_C */
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ef1ca99feb997c5cee288ba6692a488afd486bb4 100644 (file)
@@ -0,0 +1,54 @@
+/***********************************************************
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
+*----------------------------------------------------------*
+* (c) 1995-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
+*----------------------------------------------------------*
+* conf_grp.h                                               *
+***********************************************************/
+
+/* ----- this file was automatically generated -- do not edit by hand ----- */
+
+#ifndef CONF_GRP_H
+#define CONF_GRP_H
+
+/* values for elements configuration (group elements) */
+
+#define EL_GROUP_1                     (EL_GROUP_START + 0)
+#define EL_GROUP_2                     (EL_GROUP_START + 1)
+#define EL_GROUP_3                     (EL_GROUP_START + 2)
+#define EL_GROUP_4                     (EL_GROUP_START + 3)
+#define EL_GROUP_5                     (EL_GROUP_START + 4)
+#define EL_GROUP_6                     (EL_GROUP_START + 5)
+#define EL_GROUP_7                     (EL_GROUP_START + 6)
+#define EL_GROUP_8                     (EL_GROUP_START + 7)
+#define EL_GROUP_9                     (EL_GROUP_START + 8)
+#define EL_GROUP_10                    (EL_GROUP_START + 9)
+#define EL_GROUP_11                    (EL_GROUP_START + 10)
+#define EL_GROUP_12                    (EL_GROUP_START + 11)
+#define EL_GROUP_13                    (EL_GROUP_START + 12)
+#define EL_GROUP_14                    (EL_GROUP_START + 13)
+#define EL_GROUP_15                    (EL_GROUP_START + 14)
+#define EL_GROUP_16                    (EL_GROUP_START + 15)
+#define EL_GROUP_17                    (EL_GROUP_START + 16)
+#define EL_GROUP_18                    (EL_GROUP_START + 17)
+#define EL_GROUP_19                    (EL_GROUP_START + 18)
+#define EL_GROUP_20                    (EL_GROUP_START + 19)
+#define EL_GROUP_21                    (EL_GROUP_START + 20)
+#define EL_GROUP_22                    (EL_GROUP_START + 21)
+#define EL_GROUP_23                    (EL_GROUP_START + 22)
+#define EL_GROUP_24                    (EL_GROUP_START + 23)
+#define EL_GROUP_25                    (EL_GROUP_START + 24)
+#define EL_GROUP_26                    (EL_GROUP_START + 25)
+#define EL_GROUP_27                    (EL_GROUP_START + 26)
+#define EL_GROUP_28                    (EL_GROUP_START + 27)
+#define EL_GROUP_29                    (EL_GROUP_START + 28)
+#define EL_GROUP_30                    (EL_GROUP_START + 29)
+#define EL_GROUP_31                    (EL_GROUP_START + 30)
+#define EL_GROUP_32                    (EL_GROUP_START + 31)
+
+#endif /* CONF_GRP_C */
index b229b8e3f591b509f5653035aafe07b73d4366b0..d2c2aa41b65731e6b6f352627f78e414dafb7e9a 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2004-01-11 01:00]"
+#define COMPILE_DATE_STRING "[2004-01-11 17:40]"
index 27eba8b6ee71b3694b2dc17d50bbfcdc68a97945..289967ac58af33fd2843bd0c6809dcd8c5e3c883 100644 (file)
 #define ED_AREA_ELEM_CONTENT6_XPOS     (29 * MINI_TILEX)
 #define ED_AREA_ELEM_CONTENT6_YPOS     (ED_SETTINGS_YPOS(10) + \
                                         ED_GADGET_DISTANCE - MINI_TILEY)
+/* group element content */
+#define ED_AREA_GROUP_CONTENT_XPOS     ED_SETTINGS_XPOS(0)
+#define ED_AREA_GROUP_CONTENT_YPOS     (22 * MINI_TILEY)
 
 /* values for random placement background drawing area */
 #define ED_AREA_RANDOM_BACKGROUND_YPOS (31 * MINI_TILEY)
 #define GADGET_ID_CHANGE_CONT_RND_DOWN (GADGET_ID_COUNTER_FIRST + 57)
 #define GADGET_ID_CHANGE_CONT_RND_TEXT (GADGET_ID_COUNTER_FIRST + 58)
 #define GADGET_ID_CHANGE_CONT_RND_UP   (GADGET_ID_COUNTER_FIRST + 59)
+#define GADGET_ID_GROUP_CONTENT_DOWN   (GADGET_ID_COUNTER_FIRST + 60)
+#define GADGET_ID_GROUP_CONTENT_TEXT   (GADGET_ID_COUNTER_FIRST + 61)
+#define GADGET_ID_GROUP_CONTENT_UP     (GADGET_ID_COUNTER_FIRST + 62)
 
 /* drawing area identifiers */
-#define GADGET_ID_DRAWING_AREA_FIRST   (GADGET_ID_COUNTER_FIRST + 60)
+#define GADGET_ID_DRAWING_AREA_FIRST   (GADGET_ID_COUNTER_FIRST + 63)
 
 #define GADGET_ID_DRAWING_LEVEL                (GADGET_ID_DRAWING_AREA_FIRST + 0)
 #define GADGET_ID_ELEMENT_CONTENT_0    (GADGET_ID_DRAWING_AREA_FIRST + 1)
 #define GADGET_ID_CUSTOM_CHANGE_TARGET (GADGET_ID_DRAWING_AREA_FIRST + 12)
 #define GADGET_ID_CUSTOM_CHANGE_CONTENT        (GADGET_ID_DRAWING_AREA_FIRST + 13)
 #define GADGET_ID_CUSTOM_CHANGE_TRIGGER        (GADGET_ID_DRAWING_AREA_FIRST + 14)
-#define GADGET_ID_RANDOM_BACKGROUND    (GADGET_ID_DRAWING_AREA_FIRST + 15)
+#define GADGET_ID_GROUP_CONTENT                (GADGET_ID_DRAWING_AREA_FIRST + 15)
+#define GADGET_ID_RANDOM_BACKGROUND    (GADGET_ID_DRAWING_AREA_FIRST + 16)
 
 /* text input identifiers */
-#define GADGET_ID_TEXT_INPUT_FIRST     (GADGET_ID_DRAWING_AREA_FIRST + 16)
+#define GADGET_ID_TEXT_INPUT_FIRST     (GADGET_ID_DRAWING_AREA_FIRST + 17)
 
 #define GADGET_ID_LEVEL_NAME           (GADGET_ID_TEXT_INPUT_FIRST + 0)
 #define GADGET_ID_LEVEL_AUTHOR         (GADGET_ID_TEXT_INPUT_FIRST + 1)
 #define ED_COUNTER_ID_PUSH_DELAY_RND   14
 #define ED_COUNTER_ID_MOVE_DELAY_FIX   15
 #define ED_COUNTER_ID_MOVE_DELAY_RND   16
-#define ED_COUNTER_ID_CHANGE_DELAY_FIX 17
-#define ED_COUNTER_ID_CHANGE_DELAY_RND 18
-#define ED_COUNTER_ID_CHANGE_CONT_RND  19
+#define ED_COUNTER_ID_GROUP_CONTENT    17
+#define ED_COUNTER_ID_CHANGE_DELAY_FIX 18
+#define ED_COUNTER_ID_CHANGE_DELAY_RND 19
+#define ED_COUNTER_ID_CHANGE_CONT_RND  20
 
-#define ED_NUM_COUNTERBUTTONS          20
+#define ED_NUM_COUNTERBUTTONS          21
 
 #define ED_COUNTER_ID_LEVEL_FIRST      ED_COUNTER_ID_LEVEL_XSIZE
 #define ED_COUNTER_ID_LEVEL_LAST       ED_COUNTER_ID_LEVEL_RANDOM
 #define ED_DRAWING_ID_CUSTOM_CHANGE_TARGET     12
 #define ED_DRAWING_ID_CUSTOM_CHANGE_CONTENT    13
 #define ED_DRAWING_ID_CUSTOM_CHANGE_TRIGGER    14
-#define ED_DRAWING_ID_RANDOM_BACKGROUND                15
+#define ED_DRAWING_ID_GROUP_CONTENT            15
+#define ED_DRAWING_ID_RANDOM_BACKGROUND                16
 
-#define ED_NUM_DRAWING_AREAS                   16
+#define ED_NUM_DRAWING_AREAS                   17
 
 
 /*
@@ -795,7 +804,9 @@ static boolean stick_element_properties_window = FALSE;
 static boolean custom_element_properties[NUM_ELEMENT_PROPERTIES];
 static boolean custom_element_change_events[NUM_CHANGE_EVENTS];
 static struct ElementChangeInfo custom_element_change;
+static struct ElementGroupInfo group_element_info;
 static struct ElementInfo custom_element;
+static struct ElementInfo group_element;
 
 static struct
 {
@@ -902,7 +913,7 @@ static struct
     NULL,                              " ", "height",
   },
 
-  /* ---------- element settings: configure (custom elements) ------------- */
+  /* ---------- element settings: configure (custom elements) -------------- */
 
   {
     ED_SETTINGS_XPOS(1),               ED_SETTINGS_YPOS(3),
@@ -953,6 +964,17 @@ static struct
     NULL,                              "+random", NULL
   },
 
+  /* ---------- element settings: configure (group elements) --------------- */
+
+  {
+    ED_SETTINGS_XPOS(0),               ED_SETTINGS_YPOS(6),
+    MIN_ELEMENTS_IN_GROUP,             MAX_ELEMENTS_IN_GROUP,
+    GADGET_ID_GROUP_CONTENT_DOWN,      GADGET_ID_GROUP_CONTENT_UP,
+    GADGET_ID_GROUP_CONTENT_TEXT,      GADGET_ID_NONE,
+    &group_element_info.num_elements,
+    NULL,                              NULL, "number of elements in group"
+  },
+
   /* ---------- element settings: advanced (custom elements) --------------- */
 
   {
@@ -1846,6 +1868,15 @@ static struct
     NULL, NULL,                                NULL
   },
 
+  /* ---------- group element content -------------------------------------- */
+
+  {
+    ED_AREA_GROUP_CONTENT_XPOS,                ED_AREA_GROUP_CONTENT_YPOS,
+    MAX_ELEMENTS_IN_GROUP, 1,
+    GADGET_ID_GROUP_CONTENT,           GADGET_ID_NONE,
+    "content:", NULL,                  NULL
+  },
+
   /* ---------- random background (for random painting) -------------------- */
 
   {
@@ -1885,6 +1916,7 @@ static int new_element3 = EL_SAND;
 static void ModifyEditorCounter(int, int);
 static void ModifyEditorCounterLimits(int, int, int);
 static void ModifyEditorSelectbox(int, int);
+static void ModifyEditorDrawingArea(int, int, int);
 static void ModifyEditorElementList();
 static void RedrawDrawingElements();
 static void DrawDrawingWindow();
@@ -2904,6 +2936,87 @@ static int *editor_el_custom_more_ptr = editor_el_custom_more;
 static int num_editor_hl_custom_more = SIZEOF_ARRAY_INT(editor_hl_custom_more);
 static int num_editor_el_custom_more = SIZEOF_ARRAY_INT(editor_el_custom_more);
 
+static int editor_hl_group[] =
+{
+  EL_CHAR('G'),
+  EL_CHAR('R'),
+  EL_CHAR('O'),
+  EL_CHAR('U'),
+
+  EL_CHAR('P'),
+  EL_CHAR(' '),
+  EL_CHAR(' '),
+  EL_CHAR(' '),
+
+  EL_CHAR('E'),
+  EL_CHAR('L'),
+  EL_CHAR('E'),
+  EL_CHAR('M'),
+
+  EL_CHAR('E'),
+  EL_CHAR('N'),
+  EL_CHAR('T'),
+  EL_CHAR('S'),
+};
+
+static int editor_el_group[] =
+{
+  EL_GROUP_START + 0,
+  EL_GROUP_START + 1,
+  EL_GROUP_START + 2,
+  EL_GROUP_START + 3,
+
+  EL_GROUP_START + 4,
+  EL_GROUP_START + 5,
+  EL_GROUP_START + 6,
+  EL_GROUP_START + 7,
+
+  EL_GROUP_START + 8,
+  EL_GROUP_START + 9,
+  EL_GROUP_START + 10,
+  EL_GROUP_START + 11,
+
+  EL_GROUP_START + 12,
+  EL_GROUP_START + 13,
+  EL_GROUP_START + 14,
+  EL_GROUP_START + 15
+};
+static int *editor_hl_group_ptr = editor_hl_group;
+static int *editor_el_group_ptr = editor_el_group;
+static int num_editor_hl_group = SIZEOF_ARRAY_INT(editor_hl_group);
+static int num_editor_el_group = SIZEOF_ARRAY_INT(editor_el_group);
+
+static int editor_hl_group_more[] =
+{
+};
+
+static int editor_el_group_more[] =
+{
+  EL_GROUP_START + 16,
+  EL_GROUP_START + 17,
+  EL_GROUP_START + 18,
+  EL_GROUP_START + 19,
+
+  EL_GROUP_START + 20,
+  EL_GROUP_START + 21,
+  EL_GROUP_START + 22,
+  EL_GROUP_START + 23,
+
+  EL_GROUP_START + 24,
+  EL_GROUP_START + 25,
+  EL_GROUP_START + 26,
+  EL_GROUP_START + 27,
+
+  EL_GROUP_START + 28,
+  EL_GROUP_START + 29,
+  EL_GROUP_START + 30,
+  EL_GROUP_START + 31
+};
+static int *editor_hl_group_more_ptr = editor_hl_group_more;
+static int *editor_el_group_more_ptr = editor_el_group_more;
+static int num_editor_hl_group_more = SIZEOF_ARRAY_INT(editor_hl_group_more);
+static int num_editor_el_group_more = SIZEOF_ARRAY_INT(editor_el_group_more);
+
 static int editor_hl_user_defined[] =
 {
   EL_CHAR('U'),
@@ -3004,6 +3117,16 @@ editor_elements_info[] =
     &editor_hl_custom_more_ptr,                &num_editor_hl_custom_more,
     &editor_el_custom_more_ptr,                &num_editor_el_custom_more
   },
+  {
+    &setup.editor.el_custom,
+    &editor_hl_group_ptr,              &num_editor_hl_group,
+    &editor_el_group_ptr,              &num_editor_el_group
+  },
+  {
+    &setup.editor.el_custom_more,
+    &editor_hl_group_more_ptr,         &num_editor_hl_group_more,
+    &editor_el_group_more_ptr,         &num_editor_el_group_more
+  },
   {
     &setup.editor.el_user_defined,
     &editor_hl_user_defined_ptr,       &num_editor_hl_user_defined,
@@ -3225,8 +3348,8 @@ static void DrawElementBorder(int dest_x, int dest_y, int width, int height,
     (input ? IMG_EDITOR_ELEMENT_BORDER_INPUT : IMG_EDITOR_ELEMENT_BORDER);
   Bitmap *src_bitmap;
   int src_x, src_y;
-  int num_mini_tilex = width / MINI_TILEX + 1;
-  int num_mini_tiley = width / MINI_TILEY + 1;
+  int num_mini_tilex = width  / MINI_TILEX + 1;
+  int num_mini_tiley = height / MINI_TILEY + 1;
   int x, y;
 
   getMiniGraphicSource(border_graphic, &src_bitmap, &src_x, &src_y);
@@ -3271,6 +3394,14 @@ static void DrawDrawingArea(int id)
   else if (id == ED_DRAWING_ID_CUSTOM_CHANGE_TRIGGER)
     DrawMiniGraphicExt(drawto, gi->x, gi->y,
                       el2edimg(custom_element_change.trigger_element));
+  else if (id == ED_DRAWING_ID_GROUP_CONTENT)
+  {
+    int nr = group_element_info.num_elements;
+
+    for (x = 0; x < nr; x++)
+      DrawMiniGraphicExt(drawto, gi->x + x * MINI_TILEX, gi->y,
+                        el2edimg(group_element_info.element[nr]));
+  }
   else if (id >= ED_DRAWING_ID_ELEMENT_CONTENT_0 &&
           id <= ED_DRAWING_ID_ELEMENT_CONTENT_7)
   {
@@ -5015,6 +5146,12 @@ static void CopyCustomElementPropertiesToEditor(int element)
      custom_element_change.other_action);
 }
 
+static void CopyGroupElementPropertiesToEditor(int element)
+{
+  group_element = element_info[element];
+  group_element_info = *element_info[element].group;
+}
+
 static void CopyCustomElementPropertiesToGame(int element)
 {
   int i;
@@ -5149,6 +5286,15 @@ static void CopyCustomElementPropertiesToGame(int element)
   custom_element_change = *element_info[element].change;
 }
 
+static void CopyGroupElementPropertiesToGame(int element)
+{
+  /* mark that this group element has been modified */
+  group_element.modified_settings = TRUE;
+
+  element_info[element] = group_element;
+  *element_info[element].group = group_element_info;
+}
+
 void DrawLevelEd()
 {
   CloseDoor(DOOR_CLOSE_ALL);
@@ -5340,6 +5486,14 @@ static void ModifyEditorSelectbox(int selectbox_id, int new_value)
   ModifyGadget(gi, GDI_SELECTBOX_INDEX, new_index_value, GDI_END);
 }
 
+static void ModifyEditorDrawingArea(int drawingarea_id, int xsize, int ysize)
+{
+  int gadget_id = drawingarea_info[drawingarea_id].gadget_id;
+  struct GadgetInfo *gi = level_editor_gadget[gadget_id];
+
+  ModifyGadget(gi, GDI_AREA_SIZE, xsize, ysize, GDI_END);
+}
+
 static void ModifyEditorElementList()
 {
   int i;
@@ -5506,7 +5660,7 @@ static void DrawElementContentAreas()
       DrawBackground(SX + drawingarea_info[id].x - MINI_TILEX / 2,
                     SY + drawingarea_info[id].y - MINI_TILEY / 2,
                     4 * MINI_TILEX,
-                    4 * MINI_TILEX + ED_GADGET_TEXT_DISTANCE + font_height);
+                    4 * MINI_TILEY + ED_GADGET_TEXT_DISTANCE + font_height);
     }
   }
 
@@ -5515,6 +5669,28 @@ static void DrawElementContentAreas()
   DrawText(x, y + 2 * MINI_TILEY, "smashed", FONT_TEXT_1);
 }
 
+static void DrawGroupElementArea(int element)
+{
+  int num_elements = group_element_info.num_elements;
+  int id = ED_DRAWING_ID_GROUP_CONTENT;
+  int sx = SX + drawingarea_info[id].x - MINI_TILEX / 2;
+  int sy = SY + drawingarea_info[id].y - MINI_TILEY / 2;
+  int xsize = MAX_ELEMENTS_IN_GROUP;
+  int ysize = 1;
+
+  if (drawingarea_info[id].text_left != NULL)
+    sx += getTextWidthForDrawingArea(drawingarea_info[id].text_left);
+
+  UnmapDrawingArea(id);
+
+  ModifyEditorDrawingArea(id, num_elements, 1);
+
+  /* delete content areas in case of reducing number of them */
+  DrawBackground(sx, sy, (xsize + 1) * MINI_TILEX, (ysize + 1) * MINI_TILEY);
+
+  MapDrawingArea(id);
+}
+
 static void DrawEnvelopeTextArea(int envelope_nr)
 {
   int id = ED_TEXTAREA_ID_ENVELOPE_INFO;
@@ -5932,6 +6108,7 @@ static boolean checkPropertiesConfig()
 
   if (IS_GEM(properties_element) ||
       IS_CUSTOM_ELEMENT(properties_element) ||
+      IS_GROUP_ELEMENT(properties_element) ||
       IS_ENVELOPE(properties_element) ||
       HAS_CONTENT(properties_element))
     return TRUE;
@@ -6027,6 +6204,18 @@ static void DrawPropertiesConfig()
     /* draw text input gadgets */
     MapTextInputGadget(ED_TEXTINPUT_ID_ELEMENT_NAME);
   }
+
+  if (IS_GROUP_ELEMENT(properties_element))
+  {
+    /* draw stickybutton gadget */
+    i = ED_CHECKBUTTON_ID_STICK_ELEMENT;
+    checkbutton_info[i].y = ED_SETTINGS_YPOS(0);
+    MapCheckbuttonGadget(i);
+
+    MapCounterButtons(ED_COUNTER_ID_GROUP_CONTENT);
+
+    DrawGroupElementArea(properties_element);
+  }
 }
 
 static void DrawPropertiesAdvancedDrawingAreas()
@@ -6135,6 +6324,9 @@ static void DrawPropertiesWindow()
   if (IS_CUSTOM_ELEMENT(properties_element))
     CopyCustomElementPropertiesToEditor(properties_element);
 
+  if (IS_GROUP_ELEMENT(properties_element))
+    CopyGroupElementPropertiesToEditor(properties_element);
+
   UnmapLevelEditorWindowGadgets();
   UnmapLevelEditorToolboxDrawingGadgets();
   UnmapLevelEditorToolboxCustomGadgets();
@@ -6949,6 +7141,12 @@ static void HandleDrawingAreas(struct GadgetInfo *gi)
 
          CopyCustomElementPropertiesToGame(properties_element);
        }
+       else if (id == GADGET_ID_GROUP_CONTENT)
+       {
+         group_element_info.element[sx] = new_element;
+
+         CopyGroupElementPropertiesToGame(properties_element);
+       }
        else if (id == GADGET_ID_RANDOM_BACKGROUND)
          random_placement_background_element = new_element;
        else if (id >= GADGET_ID_ELEMENT_CONTENT_0 &&
@@ -7120,6 +7318,10 @@ static void HandleCounterButtons(struct GadgetInfo *gi)
       DrawElementContentAreas();
       break;
 
+    case ED_COUNTER_ID_GROUP_CONTENT:
+      DrawGroupElementArea(properties_element);
+      break;
+
     case ED_COUNTER_ID_ENVELOPE_XSIZE:
     case ED_COUNTER_ID_ENVELOPE_YSIZE:
       DrawEnvelopeTextArea(-1);
index d718224291c97d83ac523f4eec376f276e46ea21..955c6973a5ec3d3ef9c2f2798c900f8c63fbf43a 100644 (file)
@@ -234,6 +234,20 @@ static void setLevelInfoToDefaults(struct LevelInfo *level)
     element_info[element].modified_settings = FALSE;
   }
 
+  for (i = 0; i < NUM_GROUP_ELEMENTS; i++)
+  {
+    int element = EL_GROUP_START + i;
+
+    if (element_info[element].group == NULL)
+      element_info[element].group =
+       checked_malloc(sizeof(struct ElementGroupInfo));
+
+    for (j = 0; j < MAX_ELEMENTS_IN_GROUP; j++)
+      element_info[element].group->element[j] = EL_EMPTY_SPACE;
+
+    element_info[element].group->num_elements = 1;
+  }
+
   BorderElement = EL_STEELWALL;
 
   level->no_level_file = FALSE;
index 2b8c630388a62abc6a60c4961af9af6da4ec9357..39692e8562ad56d763a6ae1893267286b26b3aa2 100644 (file)
 #define MAX_ENVELOPE_TEXT_LEN  (MAX_ENVELOPE_XSIZE * MAX_ENVELOPE_YSIZE)
 #define MIN_CHANGE_PAGES       1
 #define MAX_CHANGE_PAGES       16
+#define MIN_ELEMENTS_IN_GROUP  1
+#define MAX_ELEMENTS_IN_GROUP  16
 
 /* values for elements with content */
 #define MIN_ELEMENT_CONTENTS   1
@@ -1459,6 +1461,13 @@ struct ElementChangeInfo
   int other_action;            /* change triggered by other element actions */
 };
 
+struct ElementGroupInfo
+{
+  int num_elements;                    /* number of elements in this group */
+
+  short element[MAX_ELEMENTS_IN_GROUP];        /* list of elements in this group */
+};
+
 struct ElementInfo
 {
   /* ---------- token and description strings ---------- */
@@ -1511,6 +1520,8 @@ struct ElementInfo
   int num_change_pages;                /* actual number of change pages */
   int current_change_page;     /* currently edited change page */
 
+  struct ElementGroupInfo *group;      /* pointer to element group info */
+
   /* ---------- internal values used at runtime when playing ---------- */
 
   unsigned long change_events; /* bitfield for combined change events */