{
int element = EL_CUSTOM_START + i;
+ element_info[element].use_template = FALSE;
+
element_info[element].use_gfx_element = FALSE;
element_info[element].gfx_element = EL_EMPTY_SPACE;
+
+ element_info[element].score = 0;
+ element_info[element].gem_count = 0;
+
+ element_info[element].push_delay_fixed = 2; /* special default */
+ element_info[element].push_delay_random = 8; /* special default */
+ element_info[element].move_delay_fixed = 0;
+ 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_stepsize = TILEX / 8;
element_info[element].content[x][y] = EL_EMPTY_SPACE;
element_info[element].change.events = CE_BITMASK_DEFAULT;
+
element_info[element].change.delay_fixed = 0;
element_info[element].change.delay_random = 0;
- element_info[element].change.successor = EL_EMPTY_SPACE;
+ element_info[element].change.delay_frames = -1; /* use default */
+
+ element_info[element].change.trigger = EL_EMPTY_SPACE;
+
+ element_info[element].change.target_element = EL_EMPTY_SPACE;
+
+ element_info[element].change.use_content = FALSE;
+ element_info[element].change.only_complete = FALSE;
+ element_info[element].change.power = CP_NON_DESTRUCTIVE;
+
+ element_info[element].change.explode = FALSE;
+
+ for(x=0; x<3; x++)
+ for(y=0; y<3; y++)
+ element_info[element].change.content[x][y] = EL_EMPTY_SPACE;
/* start with no properties at all */
for (j=0; j < NUM_EP_BITFIELDS; j++)
for (i=0; i < num_changed_custom_elements; i++)
{
int element = getFile16BitBE(file);
- int custom_element_successor = getFile16BitBE(file);
+ int custom_target_element = getFile16BitBE(file);
if (IS_CUSTOM_ELEMENT(element))
- element_info[element].change.successor = custom_element_successor;
+ element_info[element].change.target_element = custom_target_element;
else
Error(ERR_WARN, "invalid custom element number %d", element);
}
{
int element = EL_CUSTOM_START + i;
- if (element_info[element].change.successor != EL_EMPTY_SPACE)
+ if (element_info[element].change.target_element != EL_EMPTY_SPACE)
{
if (check < num_changed_custom_elements)
{
putFile16BitBE(file, element);
- putFile16BitBE(file, element_info[element].change.successor);
+ putFile16BitBE(file, element_info[element].change.target_element);
}
check++;
}
if (check != num_changed_custom_elements) /* should not happen */
- Error(ERR_WARN, "inconsistent number of custom element successors");
+ Error(ERR_WARN, "inconsistent number of custom target elements");
}
void SaveLevel(int level_nr)
/* check for non-standard custom elements and calculate "CUS2" chunk size */
for (i=0; i < NUM_CUSTOM_ELEMENTS; i++)
- if (element_info[EL_CUSTOM_START + i].change.successor != EL_EMPTY_SPACE)
+ if (element_info[EL_CUSTOM_START + i].change.target_element != EL_EMPTY)
num_changed_custom_elements2++;
putFileChunkBE(file, "RND1", CHUNK_SIZE_UNDEFINED);
fclose(file);
tape.length_seconds = GetTapeLength();
+
+#if 0
+ printf("tape version: %d\n", tape.game_version);
+#endif
}
void LoadTape(int level_nr)