#define LEVEL_CHUNK_CNT3_UNUSED 10 /* unused CNT3 chunk bytes */
#define LEVEL_CPART_CUS3_SIZE 134 /* size of CUS3 chunk part */
#define LEVEL_CPART_CUS3_UNUSED 15 /* unused CUS3 bytes / part */
-#define LEVEL_CPART_CUS4_SIZE ??? /* size of CUS4 chunk part */
-#define LEVEL_CPART_CUS4_UNUSED ??? /* unused CUS4 bytes / part */
#define TAPE_HEADER_SIZE 20 /* size of tape file header */
#define TAPE_HEADER_UNUSED 3 /* unused tape header bytes */
change->delay_fixed = 0;
change->delay_random = 0;
- change->delay_frames = -1; /* later set to reliable default value */
+ change->delay_frames = 1;
change->trigger_element = EL_EMPTY_SPACE;
change->use_content = FALSE;
change->only_complete = FALSE;
change->use_random_change = FALSE;
- change->random = 0;
+ change->random = 100;
change->power = CP_NON_DESTRUCTIVE;
for(x=0; x<3; x++)
change->can_change = getFile8Bit(file);
+ change->sides = getFile8Bit(file);
+
+ if (change->sides == CH_SIDE_NONE) /* correct empty sides field */
+ change->sides = CH_SIDE_ANY;
+
/* some free bytes for future change property values and padding */
- ReadUnusedBytesFromFile(file, 9);
+ ReadUnusedBytesFromFile(file, 8);
}
/* mark this custom element as modified */
putFile8Bit(file, change->can_change);
+ putFile8Bit(file, change->sides);
+
/* some free bytes for future change property values and padding */
- WriteUnusedBytesToFile(file, 9);
+ WriteUnusedBytesToFile(file, 8);
}
}
freeSetupFileHash(setup_file_hash);
}
-static int get_special_integer_from_string(char *string_raw)
-{
- char *string = getStringToLower(string_raw);
- int value = (strcmp(string, "none") == 0 ? 0 :
- strcmp(string, "short") == 0 ? 1 :
- strcmp(string, "full") == 0 ? 2 :
- strcmp(string, "default") == 0 ? 0 :
- strcmp(string, "curtain") == 0 ? 1 : -1);
-
- free(string);
-
- return value;
-}
-
void LoadSpecialMenuDesignSettings()
{
char *filename = getCustomArtworkConfigFilename(ARTWORK_TYPE_GRAPHICS);
for (i=0; image_config_vars[i].token != NULL; i++)
for (j=0; image_config[j].token != NULL; j++)
if (strcmp(image_config_vars[i].token, image_config[j].token) == 0)
- {
- if (strcmp(image_config_vars[i].token, "game.envelope.anim_mode") == 0
- || strcmp(image_config_vars[i].token, "door.anim_mode") == 0)
- *image_config_vars[i].value =
- get_special_integer_from_string(image_config[j].value);
- else
- *image_config_vars[i].value =
- get_integer_from_string(image_config[j].value);
- }
+ *image_config_vars[i].value =
+ get_auto_parameter_value(image_config_vars[i].token,
+ image_config[j].value);
if ((setup_file_hash = loadSetupFileHash(filename)) == NULL)
return;
char *value = getHashEntry(setup_file_hash, image_config_vars[i].token);
if (value != NULL)
- {
- if (strcmp(image_config_vars[i].token, "game.envelope.anim_mode") == 0
- || strcmp(image_config_vars[i].token, "door.anim_mode") == 0)
- *image_config_vars[i].value = get_special_integer_from_string(value);
- else
- *image_config_vars[i].value = get_integer_from_string(value);
- }
+ *image_config_vars[i].value =
+ get_auto_parameter_value(image_config_vars[i].token, value);
}
freeSetupFileHash(setup_file_hash);