if (IS_CUSTOM_ELEMENT(element))
{
+ element_info[element].access_direction = MV_ALL_DIRECTIONS;
+
element_info[element].collect_score = 10; /* special default */
element_info[element].collect_count = 1; /* special default */
element_info[element].move_delay_random = 0;
element_info[element].move_pattern = MV_ALL_DIRECTIONS;
- element_info[element].move_direction_initial = MV_AUTOMATIC;
+ element_info[element].move_direction_initial = MV_START_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].slippery_type = SLIPPERY_ANY_RANDOM;
+ element_info[element].explosion_delay = 18;
+ element_info[element].ignition_delay = 8;
+
for (x = 0; x < 3; x++)
for (y = 0; y < 3; y++)
element_info[element].content[x][y] = EL_EMPTY_SPACE;
ei->move_delay_fixed = getFile16BitBE(file);
ei->move_delay_random = getFile16BitBE(file);
+ /* bits 0 - 15 of "move_pattern" ... */
ei->move_pattern = getFile16BitBE(file);
ei->move_direction_initial = getFile8Bit(file);
ei->move_stepsize = getFile8Bit(file);
ei->move_leave_element = getMappedElement(getFile16BitBE(file));
ei->move_leave_type = getFile8Bit(file);
+ /* ... bits 16 - 31 of "move_pattern" (not nice, but downward compatible) */
+ ei->move_pattern |= (getFile16BitBE(file) << 16);
+
+ ei->access_direction = getFile8Bit(file);
+
+ ei->explosion_delay = getFile8Bit(file);
+ ei->ignition_delay = getFile8Bit(file);
+
/* some free bytes for future custom property values and padding */
- ReadUnusedBytesFromFile(file, 7);
+ ReadUnusedBytesFromFile(file, 2);
/* read change property values */
putFile16BitBE(file, ei->move_delay_fixed);
putFile16BitBE(file, ei->move_delay_random);
- putFile16BitBE(file, ei->move_pattern);
+ /* bits 0 - 15 of "move_pattern" ... */
+ putFile16BitBE(file, ei->move_pattern & 0xffff);
putFile8Bit(file, ei->move_direction_initial);
putFile8Bit(file, ei->move_stepsize);
putFile16BitBE(file, ei->move_leave_element);
putFile8Bit(file, ei->move_leave_type);
+ /* ... bits 16 - 31 of "move_pattern" (not nice, but downward compatible) */
+ putFile16BitBE(file, (ei->move_pattern >> 16) & 0xffff);
+
+ putFile8Bit(file, ei->access_direction);
+
+ putFile8Bit(file, ei->explosion_delay);
+ putFile8Bit(file, ei->ignition_delay);
+
/* some free bytes for future custom property values and padding */
- WriteUnusedBytesToFile(file, 7);
+ WriteUnusedBytesToFile(file, 2);
/* write change property values */