- static struct
- {
- int element;
- int *value;
- char *text;
- } elements_with_counter[] =
- {
- { EL_EDELSTEIN, &level.score[SC_EDELSTEIN], TEXT_COLLECTING },
- { EL_EDELSTEIN_BD, &level.score[SC_EDELSTEIN], TEXT_COLLECTING },
- { EL_EDELSTEIN_GELB,&level.score[SC_EDELSTEIN], TEXT_COLLECTING },
- { EL_EDELSTEIN_ROT, &level.score[SC_EDELSTEIN], TEXT_COLLECTING },
- { EL_EDELSTEIN_LILA,&level.score[SC_EDELSTEIN], TEXT_COLLECTING },
- { EL_DIAMANT, &level.score[SC_DIAMANT], TEXT_COLLECTING },
- { EL_KAEFER_R, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_KAEFER_O, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_KAEFER_L, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_KAEFER_U, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_R, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_O, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_L, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_U, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_FLIEGER_R, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FLIEGER_O, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FLIEGER_L, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FLIEGER_U, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_R, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_O, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_L, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_U, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_MAMPFER, &level.score[SC_MAMPFER], TEXT_SMASHING },
- { EL_MAMPFER2, &level.score[SC_MAMPFER], TEXT_SMASHING },
- { EL_ROBOT, &level.score[SC_ROBOT], TEXT_SMASHING },
- { EL_PACMAN_R, &level.score[SC_PACMAN], TEXT_SMASHING },
- { EL_PACMAN_O, &level.score[SC_PACMAN], TEXT_SMASHING },
- { EL_PACMAN_L, &level.score[SC_PACMAN], TEXT_SMASHING },
- { EL_PACMAN_U, &level.score[SC_PACMAN], TEXT_SMASHING },
- { EL_KOKOSNUSS, &level.score[SC_KOKOSNUSS], TEXT_CRACKING },
- { EL_DYNAMITE_INACTIVE,&level.score[SC_DYNAMIT], TEXT_COLLECTING },
- { EL_SCHLUESSEL1, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
- { EL_SCHLUESSEL2, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
- { EL_SCHLUESSEL3, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING },
- { EL_SCHLUESSEL4, &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_AMOEBE_NASS, &level.amoeba_speed, TEXT_SPEED },
- { EL_AMOEBE_NORM, &level.amoeba_speed, TEXT_SPEED },
- { EL_AMOEBE_VOLL, &level.amoeba_speed, TEXT_SPEED },
- { EL_AMOEBE_BD, &level.amoeba_speed, TEXT_SPEED },
- { EL_SIEB_INAKTIV, &level.time_magic_wall, TEXT_DURATION },
- { EL_ABLENK_AUS, &level.time_wheel, TEXT_DURATION },
- { -1, NULL, NULL }
- };
-
- ClearWindow();
- UnmapLevelEditorWindowGadgets();
-
- DrawText(SX + ED_SETTINGS2_XPOS, SY + ED_SETTINGS_YPOS,
- "Element Settings", FS_BIG, FC_YELLOW);
-
- /* draw some decorative border for the object */
- for (y=0; y<3; y++)
- for (x=0; x<3; x++)
- DrawMiniElement(xstart + x , ystart + y, EL_ERDREICH);
-
- XFillRectangle(display, drawto, gc,
- SX + xstart * MINI_TILEX + MINI_TILEX/2 - 1,
- SY + ystart * MINI_TILEY + MINI_TILEY/2 - 1,
- TILEX + 2, TILEY + 2);
-
- /* copy border to the right location */
- XCopyArea(display, drawto, drawto, gc,
- SX + xstart * MINI_TILEX,
- SY + ystart * MINI_TILEY,
- 2 * TILEX, 2 * TILEY,
- SX + xstart * MINI_TILEX - MINI_TILEX/2,
- SY + ystart * MINI_TILEY - MINI_TILEY/2);
-
- DrawGraphic(xstart/2, ystart/2, el2gfx(properties_element));
-
- /* copy the whole stuff to the definitive location */
- XCopyArea(display, drawto, drawto, gc,
- SX + xstart * MINI_TILEX - MINI_TILEX/2,
- SY + ystart * MINI_TILEY - MINI_TILEY,
- 2 * TILEX, 2 * TILEY,
- SX + xstart * MINI_TILEX - MINI_TILEX/2,
- SY + ystart * MINI_TILEY - MINI_TILEY/2);
-
- DrawTextF((xstart + 3) * MINI_TILEX, (ystart + 1) * MINI_TILEY,
- font_color, element_info[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_color, "In this level:");
- DrawTextF(ED_SETTINGS_XPOS + 15 * FONT2_XSIZE, 5 * TILEY, FC_YELLOW,
- "%d (%.2f%%)", num_elements_in_level, percentage);