element_info[element].move_delay_random = 0;
element_info[element].move_pattern = MV_ALL_DIRECTIONS;
- element_info[element].move_direction_initial = MV_NO_MOVING;
+ element_info[element].move_direction_initial = MV_AUTOMATIC;
element_info[element].move_stepsize = TILEX / 8;
+ element_info[element].move_enter_element = EL_EMPTY_SPACE;
+ element_info[element].move_leave_element = EL_EMPTY_SPACE;
+ element_info[element].move_leave_type = LEAVE_TYPE_UNLIMITED;
element_info[element].slippery_type = SLIPPERY_ANY_RANDOM;
element_info[element].modified_settings = FALSE;
}
- else if (IS_GROUP_ELEMENT(element))
+ else if (IS_GROUP_ELEMENT(element) || element == EL_INTERNAL_EDITOR)
{
/* initialize memory for list of elements in group */
if (element_info[element].group == NULL)
{
Error(ERR_WARN, "invalid custom element number %d", element);
- element = EL_DUMMY;
+ element = EL_INTERNAL_DUMMY;
}
for (j = 0; j < MAX_ELEMENT_NAME_LEN; j++)
for (x = 0; x < 3; x++)
ei->content[x][y] = checkLevelElement(getFile16BitBE(file));
+ ei->move_enter_element = checkLevelElement(getFile16BitBE(file));
+ ei->move_leave_element = checkLevelElement(getFile16BitBE(file));
+ ei->move_leave_type = getFile8Bit(file);
+
/* some free bytes for future custom property values and padding */
- ReadUnusedBytesFromFile(file, 12);
+ ReadUnusedBytesFromFile(file, 7);
/* read change property values */
for (x = 0; x < 3; x++)
putFile16BitBE(file, ei->content[x][y]);
+ putFile16BitBE(file, ei->move_enter_element);
+ putFile16BitBE(file, ei->move_leave_element);
+ putFile8Bit(file, ei->move_leave_type);
+
/* some free bytes for future custom property values and padding */
- WriteUnusedBytesToFile(file, 12);
+ WriteUnusedBytesToFile(file, 7);
/* write change property values */