return LEVEL_FILE_TYPE_SP;
/* check for typical filename of a Diamond Caves II level package file */
- if (strEqualSuffix(basename, ".dc") ||
- strEqualSuffix(basename, ".dc2"))
+ if (strSuffix(basename, ".dc") ||
+ strSuffix(basename, ".dc2"))
return LEVEL_FILE_TYPE_DC;
/* ---------- try to determine file type from filesize ---------- */
fgets(magic_bytes, num_magic_bytes + 1, file);
/* check "magic bytes" for correct file format */
- if (!strEqualPrefix(magic_bytes, "DC2"))
+ if (!strPrefix(magic_bytes, "DC2"))
{
level->no_valid_file = TRUE;
return;
}
- if (strEqualPrefix(magic_bytes, "DC2Win95") ||
- strEqualPrefix(magic_bytes, "DC2Win98"))
+ if (strPrefix(magic_bytes, "DC2Win95") ||
+ strPrefix(magic_bytes, "DC2Win98"))
{
int position_first_level = 0x00fa;
int extra_bytes = 4;
si->sound_music = TRUE;
si->sound_simple = TRUE;
si->toons = TRUE;
- si->double_buffering = TRUE;
- si->direct_draw = !si->double_buffering;
si->scroll_delay = TRUE;
si->scroll_delay_value = STD_SCROLL_DELAY;
si->soft_scrolling = TRUE;
checkSetupFileHashIdentifier(setup_file_hash, filename,getCookie("SETUP"));
decodeSetupFileHash(setup_file_hash);
- setup.direct_draw = !setup.double_buffering;
-
freeSetupFileHash(setup_file_hash);
/* needed to work around problems with fixed length strings */
static int getElementFromToken(char *token)
{
+#if 1
+ char *value = getHashEntry(element_token_hash, token);
+
+ if (value != NULL)
+ return atoi(value);
+#else
int i;
/* !!! OPTIMIZE THIS BY USING HASH !!! */
for (i = 0; i < MAX_NUM_ELEMENTS; i++)
if (strEqual(token, element_info[i].token_name))
return i;
+#endif
Error(ERR_WARN, "unknown element token '%s'", token);
void InitMenuDesignSettings_Static()
{
+#if 0
static SetupFileHash *image_config_hash = NULL;
+#endif
int i;
+#if 0
if (image_config_hash == NULL)
{
image_config_hash = newSetupFileHash();
image_config[i].token,
image_config[i].value);
}
+#endif
#if 1
/* always start with reliable default values from static default config */
*image_config_vars[i].value =
get_token_parameter_value(image_config_vars[i].token, value);
}
+
#else
+
+ int j;
+
/* always start with reliable default values from static default config */
for (i = 0; image_config_vars[i].token != NULL; i++)
for (j = 0; image_config[j].token != NULL; j++)
{
char *value = getHashEntry(setup_file_hash, image_config_vars[i].token);
- if (value != NULL)
+ /* (ignore definitions set to "[DEFAULT]" which are already initialized) */
+ if (value != NULL && !strEqual(value, ARG_DEFAULT))
*image_config_vars[i].value =
get_token_parameter_value(image_config_vars[i].token, value);
}