/* ------------------------------------------------------------------------- */
/* command line option handling functions */
/* ------------------------------------------------------------------------- */
/* command line option handling functions */
/* functions for loading artwork configuration information */
/* ------------------------------------------------------------------------- */
/* functions for loading artwork configuration information */
/* ------------------------------------------------------------------------- */
-static void FreeCustomArtworkList(struct ArtworkListInfo *,
- struct ListNodeInfo ***, int *);
-
-static int get_parameter_value(int type, char *value)
+int get_parameter_value(int type, char *value)
{
return (strcmp(value, ARG_UNDEFINED) == 0 ? ARG_UNDEFINED_VALUE :
type == TYPE_INTEGER ? get_integer_from_string(value) :
type == TYPE_BOOLEAN ? get_boolean_from_string(value) :
{
return (strcmp(value, ARG_UNDEFINED) == 0 ? ARG_UNDEFINED_VALUE :
type == TYPE_INTEGER ? get_integer_from_string(value) :
type == TYPE_BOOLEAN ? get_boolean_from_string(value) :
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
struct ConfigInfo *suffix_list,
int num_file_list_entries)
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
struct ConfigInfo *suffix_list,
int num_file_list_entries)
struct FileInfo *file_list;
int num_file_list_entries_found = 0;
int num_suffix_list_entries = 0;
struct FileInfo *file_list;
int num_file_list_entries_found = 0;
int num_suffix_list_entries = 0;
file_list[i].default_filename = NULL;
file_list[i].filename = NULL;
if (num_suffix_list_entries > 0)
{
file_list[i].default_filename = NULL;
file_list[i].filename = NULL;
if (num_suffix_list_entries > 0)
{
file_list[i].default_parameter = checked_calloc(parameter_array_size);
file_list[i].parameter = checked_calloc(parameter_array_size);
for (j=0; j<num_suffix_list_entries; j++)
{
file_list[i].default_parameter = checked_calloc(parameter_array_size);
file_list[i].parameter = checked_calloc(parameter_array_size);
for (j=0; j<num_suffix_list_entries; j++)
{
- int default_parameter =
- get_parameter_value(suffix_list[j].type, suffix_list[j].value);
-
- file_list[i].default_parameter[j] = default_parameter;
- file_list[i].parameter[j] = default_parameter;
+ setString(&file_list[i].default_parameter[j], suffix_list[j].value);
+ setString(&file_list[i].parameter[j], suffix_list[j].value);
-#if 0
- int len_config_token;
- int len_config_value;
- boolean is_file_entry;
-
- printf("%d: '%s' => '%s'\n",
- i, config_list[i].token, config_list[i].value);
-
- len_config_token = strlen(config_list[i].token);
- len_config_value = strlen(config_list[i].value);
- is_file_entry = TRUE;
-
-#else
int len_config_token = strlen(config_list[i].token);
int len_config_value = strlen(config_list[i].value);
boolean is_file_entry = TRUE;
int len_config_token = strlen(config_list[i].token);
int len_config_value = strlen(config_list[i].value);
boolean is_file_entry = TRUE;
strcmp(&config_list[i].token[len_config_token - len_suffix],
suffix_list[j].token) == 0)
{
strcmp(&config_list[i].token[len_config_token - len_suffix],
suffix_list[j].token) == 0)
{
+ /* the following tokens are no file definitions, but other config tokens */
+ if (strcmp(config_list[i].token, "global.num_toons") == 0 ||
+ strcmp(config_list[i].token, "menu.main.hide_static_text") == 0)
+ is_file_entry = FALSE;
+
/* when file definition found, set all parameters to default values */
for (i=0; suffix_list[i].token != NULL; i++)
/* when file definition found, set all parameters to default values */
for (i=0; suffix_list[i].token != NULL; i++)
- file_list_entry->parameter[i] =
- get_parameter_value(suffix_list[i].type, suffix_list[i].value);
-
- file_list_entry->filename = getStringCopy(filename);
+ setString(&file_list_entry->parameter[i], suffix_list[i].value);
/* check for config tokens that can be build by base token and suffixes */
for (i=0; suffix_list[i].token != NULL; i++)
/* check for config tokens that can be build by base token and suffixes */
for (i=0; suffix_list[i].token != NULL; i++)
/* mark config file token as well known from default config */
setTokenValue(setup_file_list, token, known_token_value);
/* mark config file token as well known from default config */
setTokenValue(setup_file_list, token, known_token_value);
char **ext1_suffixes = artwork_info->ext1_suffixes;
char **ext2_suffixes = artwork_info->ext2_suffixes;
char **ext3_suffixes = artwork_info->ext3_suffixes;
char **ext1_suffixes = artwork_info->ext1_suffixes;
char **ext2_suffixes = artwork_info->ext2_suffixes;
char **ext3_suffixes = artwork_info->ext3_suffixes;
int num_file_list_entries = artwork_info->num_file_list_entries;
int num_suffix_list_entries = artwork_info->num_suffix_list_entries;
int num_base_prefixes = artwork_info->num_base_prefixes;
int num_ext1_suffixes = artwork_info->num_ext1_suffixes;
int num_ext2_suffixes = artwork_info->num_ext2_suffixes;
int num_ext3_suffixes = artwork_info->num_ext3_suffixes;
int num_file_list_entries = artwork_info->num_file_list_entries;
int num_suffix_list_entries = artwork_info->num_suffix_list_entries;
int num_base_prefixes = artwork_info->num_base_prefixes;
int num_ext1_suffixes = artwork_info->num_ext1_suffixes;
int num_ext2_suffixes = artwork_info->num_ext2_suffixes;
int num_ext3_suffixes = artwork_info->num_ext3_suffixes;
char *filename = getCustomArtworkConfigFilename(artwork_info->type);
struct SetupFileList *setup_file_list;
struct SetupFileList *extra_file_list = NULL;
char *filename = getCustomArtworkConfigFilename(artwork_info->type);
struct SetupFileList *setup_file_list;
struct SetupFileList *extra_file_list = NULL;
- if (file_list[i].filename != NULL)
- free(file_list[i].filename);
- file_list[i].filename = getStringCopy(file_list[i].default_filename);
+ setString(&file_list[i].filename, file_list[i].default_filename);
for (i=0; i<num_file_list_entries; i++)
read_token_parameters(setup_file_list, suffix_list, &file_list[i]);
for (i=0; i<num_file_list_entries; i++)
read_token_parameters(setup_file_list, suffix_list, &file_list[i]);
- /* set all known tokens to "known" keyword */
- setTokenValue(setup_file_list, "name", known_token_value);
- setTokenValue(setup_file_list, "sort_priority", known_token_value);
+ /* set all tokens that can be ignored here to "known" keyword */
+ for (i=0; i < num_ignore_tokens; i++)
+ setTokenValue(setup_file_list, ignore_tokens[i], known_token_value);
/* copy all unknown config file tokens to extra config list */
for (list = setup_file_list; list != NULL; list = list->next)
/* copy all unknown config file tokens to extra config list */
for (list = setup_file_list; list != NULL; list = list->next)