projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20020930-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
misc.c
diff --git
a/src/libgame/misc.c
b/src/libgame/misc.c
index 498a96e89231d3c9de9fa47ad680ba1d948a6e67..757872e8647a8c11d35b36238e3579c74fdc99a0 100644
(file)
--- a/
src/libgame/misc.c
+++ b/
src/libgame/misc.c
@@
-1362,7
+1362,7
@@
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
{
struct FileInfo *file_list;
int num_suffix_list_entries = 0;
{
struct FileInfo *file_list;
int num_suffix_list_entries = 0;
- int list_pos =
-1
;
+ int list_pos =
0
;
int i, j;
file_list = checked_calloc(num_file_list_entries * sizeof(struct FileInfo));
int i, j;
file_list = checked_calloc(num_file_list_entries * sizeof(struct FileInfo));
@@
-1373,9
+1373,9
@@
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
/* always start with reliable default values */
for (i=0; i<num_file_list_entries; i++)
{
/* always start with reliable default values */
for (i=0; i<num_file_list_entries; i++)
{
- file_list[
list_pos
].token = NULL;
- file_list[
list_pos
].default_filename = NULL;
- file_list[
list_pos
].filename = NULL;
+ file_list[
i
].token = NULL;
+ file_list[
i
].default_filename = NULL;
+ file_list[
i
].filename = NULL;
if (num_suffix_list_entries > 0)
{
if (num_suffix_list_entries > 0)
{
@@
-1416,7
+1416,8
@@
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
if (is_file_entry)
{
if (is_file_entry)
{
- list_pos++;
+ if (i > 0)
+ list_pos++;
if (list_pos >= num_file_list_entries)
Error(ERR_EXIT, "inconsistant config list information -- please fix");
if (list_pos >= num_file_list_entries)
Error(ERR_EXIT, "inconsistant config list information -- please fix");
@@
-1464,8
+1465,11
@@
static void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
{
for (i=0; i<num_file_list_entries; i++)
{
{
for (i=0; i<num_file_list_entries; i++)
{
- file_list[i].filename =
- getStringCopy(getTokenValue(setup_file_list, file_list[i].token));
+ char *filename = getTokenValue(setup_file_list, file_list[i].token);
+
+ if (filename == NULL)
+ filename = file_list[i].default_filename;
+ file_list[i].filename = getStringCopy(filename);
for (j=0; j<num_suffix_list_entries; j++)
{
for (j=0; j<num_suffix_list_entries; j++)
{
@@
-1474,6
+1478,8
@@
static void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
if (value != NULL)
file_list[i].parameter[j] = atoi(value);
if (value != NULL)
file_list[i].parameter[j] = atoi(value);
+
+ free(token);
}
}
}
}
@@
-1629,7
+1635,7
@@
void ReloadCustomArtworkList(struct ArtworkListInfo *artwork_info)
DrawInitText(draw_init[artwork_info->type].text, 120, FC_GREEN);
#if 0
DrawInitText(draw_init[artwork_info->type].text, 120, FC_GREEN);
#if 0
- printf("DEBUG: reloading %d
sound
s ...\n", num_file_list_entries);
+ printf("DEBUG: reloading %d
artwork file
s ...\n", num_file_list_entries);
#endif
for(i=0; i<num_file_list_entries; i++)
#endif
for(i=0; i<num_file_list_entries; i++)
@@
-1637,10
+1643,7
@@
void ReloadCustomArtworkList(struct ArtworkListInfo *artwork_info)
if (draw_init[artwork_info->type].do_it)
DrawInitText(file_list[i].token, 150, FC_YELLOW);
if (draw_init[artwork_info->type].do_it)
DrawInitText(file_list[i].token, 150, FC_YELLOW);
- if (file_list[i].filename)
- LoadArtworkToList(artwork_info, file_list[i].filename, i);
- else
- LoadArtworkToList(artwork_info, file_list[i].default_filename, i);
+ LoadArtworkToList(artwork_info, file_list[i].filename, i);
}
draw_init[artwork_info->type].do_it = FALSE;
}
draw_init[artwork_info->type].do_it = FALSE;