conf_chr.h \
conf_cus.c \
conf_cus.h \
+ conf_grp.c \
+ conf_grp.h \
conf_e2g.c \
conf_esg.c \
conf_e2s.c \
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
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
#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! */
#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 */
--- /dev/null
+/***********************************************************
+* 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 */
+/***********************************************************
+* 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 */
-#define COMPILE_DATE_STRING "[2004-01-11 01:00]"
+#define COMPILE_DATE_STRING "[2004-01-11 17:40]"
#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
/*
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
{
NULL, " ", "height",
},
- /* ---------- element settings: configure (custom elements) ------------- */
+ /* ---------- element settings: configure (custom elements) -------------- */
{
ED_SETTINGS_XPOS(1), ED_SETTINGS_YPOS(3),
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) --------------- */
{
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) -------------------- */
{
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();
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'),
&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,
(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);
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)
{
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;
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);
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;
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);
}
}
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;
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;
/* 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()
if (IS_CUSTOM_ELEMENT(properties_element))
CopyCustomElementPropertiesToEditor(properties_element);
+ if (IS_GROUP_ELEMENT(properties_element))
+ CopyGroupElementPropertiesToEditor(properties_element);
+
UnmapLevelEditorWindowGadgets();
UnmapLevelEditorToolboxDrawingGadgets();
UnmapLevelEditorToolboxCustomGadgets();
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 &&
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);
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;
#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
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 ---------- */
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 */