void InitElementPropertiesStatic()
{
+ static boolean clipboard_elements_initialized = FALSE;
+
static int ep_diggable[] =
{
EL_SAND,
int i, j, k;
/* always start with reliable default values (element has no properties) */
+ /* (but never initialize clipboard elements after the very first time) */
+ /* (to be able to use clipboard elements between several levels) */
for (i = 0; i < MAX_NUM_ELEMENTS; i++)
- for (j = 0; j < NUM_ELEMENT_PROPERTIES; j++)
- SET_PROPERTY(i, j, FALSE);
+ if (!IS_CLIPBOARD_ELEMENT(i) || !clipboard_elements_initialized)
+ for (j = 0; j < NUM_ELEMENT_PROPERTIES; j++)
+ SET_PROPERTY(i, j, FALSE);
/* set all base element properties from above array definitions */
for (i = 0; element_properties[i].elements != NULL; i++)
/* set static element properties that are not listed in array definitions */
for (i = EL_STEEL_CHAR_START; i <= EL_STEEL_CHAR_END; i++)
SET_PROPERTY(i, EP_INDESTRUCTIBLE, TRUE);
+
+ clipboard_elements_initialized = TRUE;
}
void InitElementPropertiesEngine(int engine_version)
/* set all special, combined or engine dependent element properties */
for (i = 0; i < MAX_NUM_ELEMENTS; i++)
{
+ /* do not change (already initialized) clipboard elements here */
+ if (IS_CLIPBOARD_ELEMENT(i))
+ continue;
+
/* ---------- INACTIVE ------------------------------------------------- */
SET_PROPERTY(i, EP_INACTIVE, ((i >= EL_CHAR_START &&
i <= EL_CHAR_END) ||
#endif
print_timestamp_time("ClearRectangle");
+#if 0
printf("::: fading in ... %d\n", fading.fade_mode);
-
+#endif
FadeIn(REDRAW_ALL);
-
+#if 0
printf("::: done\n");
+#endif
if (gfx_new_identifier != NULL || force_reload_gfx)
{
game_status = last_game_status; /* restore current game status */
+#if 0
+ printf("::: ----------------DELAY 1 ...\n");
+ Delay(3000);
+#endif
+
+#if 0
printf("::: FadeOut @ ReloadCustomArtwork ...\n");
+#endif
FadeOut(REDRAW_ALL);
+#if 0
printf("::: FadeOut @ ReloadCustomArtwork done\n");
+#endif
RedrawBackground();
SetDoorState(DOOR_OPEN_ALL);
CloseDoor(DOOR_CLOSE_ALL | DOOR_NO_DELAY);
+#if 1
#if 1
#if 1
FadeSetEnterScreen();
#else
fading = fading_none;
#endif
+#endif
+
+#if 0
+ redraw_mask = REDRAW_ALL;
+#endif
print_timestamp_done("ReloadCustomArtwork");
}