if (size > 20)
size = 20;
- if (size)
+ if (size > 0)
{
sprintf(s, " %09d", number);
return &s[strlen(s) - size];
return e;
}
+boolean getTokenValueFromString(char *string, char **token, char **value)
+{
+ return getTokenValueFromSetupLine(string, token, value);
+}
+
/* ------------------------------------------------------------------------- */
/* counter functions */
return s_copy;
}
+char *getStringCopyN(char *s, int n)
+{
+ char *s_copy;
+ int s_len = MAX(0, n);
+
+ if (s == NULL)
+ return NULL;
+
+ s_copy = checked_malloc(s_len + 1);
+ strncpy(s_copy, s, s_len);
+ s_copy[s_len] = '\0';
+
+ return s_copy;
+}
+
char *getStringToLower(char *s)
{
char *s_copy = checked_malloc(strlen(s) + 1);
strcmp(s1, s2) == 0);
}
+boolean strEqualN(char *s1, char *s2, int n)
+{
+ return (s1 == NULL && s2 == NULL ? TRUE :
+ s1 == NULL && s2 != NULL ? FALSE :
+ s1 != NULL && s2 == NULL ? FALSE :
+ strncmp(s1, s2, n) == 0);
+}
+
/* ------------------------------------------------------------------------- */
/* command line option handling functions */
{
result = (strEqual(value, "left") ? ALIGN_LEFT :
strEqual(value, "right") ? ALIGN_RIGHT :
- strEqual(value, "center") ? ALIGN_CENTER : ALIGN_DEFAULT);
+ strEqual(value, "center") ? ALIGN_CENTER :
+ strEqual(value, "middle") ? ALIGN_CENTER : ALIGN_DEFAULT);
+ }
+ else if (strEqual(suffix, ".valign"))
+ {
+ result = (strEqual(value, "top") ? VALIGN_TOP :
+ strEqual(value, "bottom") ? VALIGN_BOTTOM :
+ strEqual(value, "middle") ? VALIGN_MIDDLE :
+ strEqual(value, "center") ? VALIGN_MIDDLE : VALIGN_DEFAULT);
}
else if (strEqual(suffix, ".anim_mode"))
{
string_has_parameter(value, "horizontal") ? ANIM_HORIZONTAL :
string_has_parameter(value, "vertical") ? ANIM_VERTICAL :
string_has_parameter(value, "centered") ? ANIM_CENTERED :
- string_has_parameter(value, "fade") ? ANIM_FADE :
- string_has_parameter(value, "crossfade") ? ANIM_CROSSFADE :
ANIM_DEFAULT);
if (string_has_parameter(value, "reverse"))
if (string_has_parameter(value, "static_panel"))
result |= ANIM_STATIC_PANEL;
}
+ else if (strEqual(suffix, ".fade_mode"))
+ {
+ result = (string_has_parameter(value, "none") ? FADE_MODE_NONE :
+ string_has_parameter(value, "fade") ? FADE_MODE_FADE :
+ string_has_parameter(value, "crossfade") ? FADE_MODE_CROSSFADE :
+ string_has_parameter(value, "melt") ? FADE_MODE_MELT :
+ FADE_MODE_DEFAULT);
+ }
+ else if (strEqualN(suffix, ".font", 5)) /* (may also be ".font_xyz") */
+ {
+ result = gfx.get_font_from_token_function(value);
+ }
else /* generic parameter of type integer or boolean */
{
result = (strEqual(value, ARG_UNDEFINED) ? ARG_UNDEFINED_VALUE :
return result;
}
-int get_auto_parameter_value(char *token, char *value_raw)
+int get_token_parameter_value(char *token, char *value_raw)
{
char *suffix;
if (suffix == NULL)
suffix = token;
+#if 0
+ if (strncmp(suffix, ".font", 5) == 0)
+ {
+ int i;
+
+ /* !!! OPTIMIZE THIS BY USING HASH !!! */
+ for (i = 0; i < NUM_FONTS; i++)
+ if (strEqual(value_raw, font_info[i].token_name))
+ return i;
+
+ /* if font not found, use reliable default value */
+ return FONT_INITIAL_1;
+ }
+#endif
+
return get_parameter_value(value_raw, suffix, TYPE_INTEGER);
}
base_index = i;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> MATCH: '%s', '%s'\n", token, base_prefix);
+#endif
+
if (start_pos + len_base_prefix == len_token) /* exact match */
{
exact_match = TRUE;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> EXACT MATCH: '%s', '%s'\n", token, base_prefix);
+#endif
+
add_dynamic_file_list_entry(dynamic_file_list,
num_dynamic_file_list_entries,
extra_file_hash,
ext1_index = j;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> MATCH: '%s', '%s'\n", token, ext1_suffix);
+#endif
+
if (start_pos + len_ext1_suffix == len_token) /* exact match */
{
exact_match = TRUE;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> EXACT MATCH: '%s', '%s'\n", token, ext1_suffix);
+#endif
+
add_dynamic_file_list_entry(dynamic_file_list,
num_dynamic_file_list_entries,
extra_file_hash,
ext2_index = k;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> MATCH: '%s', '%s'\n", token, ext2_suffix);
+#endif
+
if (start_pos + len_ext2_suffix == len_token) /* exact match */
{
exact_match = TRUE;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> EXACT MATCH: '%s', '%s'\n", token, ext2_suffix);
+#endif
+
add_dynamic_file_list_entry(dynamic_file_list,
num_dynamic_file_list_entries,
extra_file_hash,
ext3_index = l;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> MATCH: '%s', '%s'\n", token, ext3_suffix);
+#endif
+
if (start_pos + len_ext3_suffix == len_token) /* exact match */
{
exact_match = TRUE;
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("===> EXACT MATCH: '%s', '%s'\n", token, ext3_suffix);
+#endif
+
add_dynamic_file_list_entry(dynamic_file_list,
num_dynamic_file_list_entries,
extra_file_hash,
struct FileInfo *file_list_entry)
{
#if 0
- printf("GOT CUSTOM ARTWORK FILE '%s'\n", filename);
+ printf("GOT CUSTOM ARTWORK FILE '%s'\n", file_list_entry->filename);
#endif
if (strEqual(file_list_entry->filename, UNDEFINED_FILENAME))