- { EL_EDELSTEIN, &level.score[0], TEXT_COLLECTING },
- { EL_EDELSTEIN_BD, &level.score[0], TEXT_COLLECTING },
- { EL_EDELSTEIN_GELB,&level.score[0], TEXT_COLLECTING },
- { EL_EDELSTEIN_ROT, &level.score[0], TEXT_COLLECTING },
- { EL_EDELSTEIN_LILA,&level.score[0], TEXT_COLLECTING },
- { EL_DIAMANT, &level.score[1], TEXT_COLLECTING },
- { EL_KAEFER_R, &level.score[2], TEXT_SMASHING },
- { EL_KAEFER_O, &level.score[2], TEXT_SMASHING },
- { EL_KAEFER_L, &level.score[2], TEXT_SMASHING },
- { EL_KAEFER_U, &level.score[2], TEXT_SMASHING },
- { EL_BUTTERFLY_R, &level.score[2], TEXT_SMASHING },
- { EL_BUTTERFLY_O, &level.score[2], TEXT_SMASHING },
- { EL_BUTTERFLY_L, &level.score[2], TEXT_SMASHING },
- { EL_BUTTERFLY_U, &level.score[2], TEXT_SMASHING },
- { EL_FLIEGER_R, &level.score[3], TEXT_SMASHING },
- { EL_FLIEGER_O, &level.score[3], TEXT_SMASHING },
- { EL_FLIEGER_L, &level.score[3], TEXT_SMASHING },
- { EL_FLIEGER_U, &level.score[3], TEXT_SMASHING },
- { EL_FIREFLY_R, &level.score[3], TEXT_SMASHING },
- { EL_FIREFLY_O, &level.score[3], TEXT_SMASHING },
- { EL_FIREFLY_L, &level.score[3], TEXT_SMASHING },
- { EL_FIREFLY_U, &level.score[3], TEXT_SMASHING },
- { EL_MAMPFER, &level.score[4], TEXT_SMASHING },
- { EL_MAMPFER2, &level.score[4], TEXT_SMASHING },
- { EL_ROBOT, &level.score[5], TEXT_SMASHING },
- { EL_PACMAN_R, &level.score[6], TEXT_SMASHING },
- { EL_PACMAN_O, &level.score[6], TEXT_SMASHING },
- { EL_PACMAN_L, &level.score[6], TEXT_SMASHING },
- { EL_PACMAN_U, &level.score[6], TEXT_SMASHING },
- { EL_KOKOSNUSS, &level.score[7], TEXT_CRACKING },
- { EL_DYNAMIT_AUS, &level.score[8], TEXT_COLLECTING },
- { EL_SCHLUESSEL1, &level.score[9], TEXT_COLLECTING },
- { EL_SCHLUESSEL2, &level.score[9], TEXT_COLLECTING },
- { EL_SCHLUESSEL3, &level.score[9], TEXT_COLLECTING },
- { EL_SCHLUESSEL4, &level.score[9], TEXT_COLLECTING },
- { EL_AMOEBE_NASS, &level.tempo_amoebe, TEXT_SPEED },
- { EL_AMOEBE_NORM, &level.tempo_amoebe, TEXT_SPEED },
- { EL_AMOEBE_VOLL, &level.tempo_amoebe, TEXT_SPEED },
- { EL_AMOEBE_BD, &level.tempo_amoebe, TEXT_SPEED },
- { EL_SIEB_INAKTIV, &level.dauer_sieb, TEXT_DURATION },
- { EL_ABLENK_AUS, &level.dauer_ablenk, TEXT_DURATION },
- { -1, NULL, NULL }
- };
+ { EL_EMERALD, &level.score[SC_EDELSTEIN], TEXT_COLLECTING },
+ { EL_BD_DIAMOND, &level.score[SC_EDELSTEIN], TEXT_COLLECTING },
+ { EL_EMERALD_YELLOW,&level.score[SC_EDELSTEIN], TEXT_COLLECTING },
+ { EL_EMERALD_RED, &level.score[SC_EDELSTEIN], TEXT_COLLECTING },
+ { EL_EMERALD_PURPLE,&level.score[SC_EDELSTEIN], TEXT_COLLECTING },
+ { EL_DIAMOND, &level.score[SC_DIAMANT], TEXT_COLLECTING },
+ { EL_BUG_RIGHT, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BUG_UP, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BUG_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BUG_DOWN, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_RIGHT,&level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_UP, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_DOWN, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_SPACESHIP_RIGHT,&level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_SPACESHIP_UP, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_SPACESHIP_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_SPACESHIP_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_RIGHT,&level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_UP, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_YAMYAM, &level.score[SC_MAMPFER], TEXT_SMASHING },
+ { EL_DARK_YAMYAM, &level.score[SC_MAMPFER], TEXT_SMASHING },
+ { EL_ROBOT, &level.score[SC_ROBOT], TEXT_SMASHING },
+ { EL_PACMAN_RIGHT, &level.score[SC_PACMAN], TEXT_SMASHING },
+ { EL_PACMAN_UP, &level.score[SC_PACMAN], TEXT_SMASHING },
+ { EL_PACMAN_LEFT, &level.score[SC_PACMAN], TEXT_SMASHING },
+ { EL_PACMAN_DOWN, &level.score[SC_PACMAN], TEXT_SMASHING },
+ { EL_NUT, &level.score[SC_KOKOSNUSS], TEXT_CRACKING },
+ { EL_DYNAMITE, &level.score[SC_DYNAMIT], TEXT_COLLECTING },
+ { EL_KEY_1, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_KEY_2, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_KEY_3, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_KEY_4, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_EM_KEY_1_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_EM_KEY_2_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_EM_KEY_3_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_EM_KEY_4_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
+ { EL_AMOEBA_WET, &level.amoeba_speed, TEXT_SPEED },
+ { EL_AMOEBA_DRY, &level.amoeba_speed, TEXT_SPEED },
+ { EL_AMOEBA_FULL, &level.amoeba_speed, TEXT_SPEED },
+ { EL_BD_AMOEBA, &level.amoeba_speed, TEXT_SPEED },
+ { EL_MAGIC_WALL, &level.time_magic_wall, TEXT_DURATION },
+ { EL_ROBOT_WHEEL, &level.time_wheel, TEXT_DURATION },
+ { -1, NULL, NULL }
+ };
+
+ SetMainBackgroundImage(IMG_BACKGROUND_EDITOR);
+ ClearWindow();
+ UnmapLevelEditorWindowGadgets();
+
+ DrawText(SX + ED_SETTINGS2_XPOS, SY + ED_SETTINGS_YPOS,
+ "Element Settings", FONT_TITLE_1);
+
+ DrawElementBorder(SX + xstart * MINI_TILEX,
+ SY + ystart * MINI_TILEY + MINI_TILEY / 2,
+ TILEX, TILEY);
+ DrawGraphicAnimationExt(drawto,
+ SX + xstart * MINI_TILEX,
+ SY + ystart * MINI_TILEY + MINI_TILEY / 2,
+ el2edimg(properties_element), -1, NO_MASKING);
+
+ FrameCounter = 0; /* restart animation frame counter */
+
+ DrawTextF((xstart + 3) * MINI_TILEX, (ystart + 1) * MINI_TILEY,
+ FONT_TEXT_1, getElementInfoText(properties_element));
+
+ num_elements_in_level = 0;
+ for (y=0; y<lev_fieldy; y++)
+ for (x=0; x<lev_fieldx; x++)
+ if (Feld[x][y] == properties_element)
+ num_elements_in_level++;
+ percentage = num_elements_in_level * 100.0 / (lev_fieldx * lev_fieldy);
+
+ DrawTextF(ED_SETTINGS_XPOS, 5 * TILEY, FONT_TEXT_1, "In this level:");
+ DrawTextF(ED_SETTINGS_XPOS + 15 * getFontWidth(FONT_TEXT_1), 5 * TILEY,
+ FONT_TEXT_2, "%d (%.2f%%)", num_elements_in_level,
+ percentage);
+
+ /* check if there are elements where a score can be chosen for */
+ for (i=0; elements_with_counter[i].element != -1; i++)
+ {
+ if (elements_with_counter[i].element == properties_element)
+ {
+ int x = counterbutton_info[counter_id].x + xoffset_right;
+ int y = counterbutton_info[counter_id].y + yoffset_right;
+
+ counterbutton_info[counter_id].value = elements_with_counter[i].value;
+ DrawTextF(x, y, FONT_TEXT_1, elements_with_counter[i].text);
+
+ ModifyEditorCounter(counter_id, *counterbutton_info[counter_id].value);
+ MapCounterButtons(counter_id);
+ break;
+ }
+ }
+
+ if (HAS_CONTENT(properties_element) ||
+ IS_CUSTOM_ELEMENT(properties_element))
+ {
+ /* draw stickybutton gadget */
+ i = ED_CHECKBUTTON_ID_STICK_ELEMENT;
+ x = checkbutton_info[i].x + xoffset_right2;
+ y = checkbutton_info[i].y + yoffset_right2;
+
+ DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text);
+ ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id],
+ GDI_CHECKED, *checkbutton_info[i].value, GDI_END);
+ MapCheckbuttonGadget(i);
+
+ if (HAS_CONTENT(properties_element))
+ {
+ if (IS_AMOEBOID(properties_element))
+ DrawAmoebaContentArea();
+ else
+ DrawElementContentAreas();
+ }
+ else if (IS_CUSTOM_ELEMENT(properties_element))
+ DrawCustomChangedArea();
+ }
+
+ if (IS_GEM(properties_element))
+ {
+ /* draw checkbutton gadget */
+ i = ED_CHECKBUTTON_ID_EM_SLIPPERY_GEMS;
+ x = checkbutton_info[i].x + xoffset_right2;
+ y = checkbutton_info[i].y + yoffset_right2;
+
+ DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text);
+ ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id],
+ GDI_CHECKED, *checkbutton_info[i].value, GDI_END);
+ MapCheckbuttonGadget(i);
+ }