projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
be2766c
)
rnd-20030120-3-src
author
Holger Schemel
<info@artsoft.org>
Mon, 20 Jan 2003 19:15:40 +0000
(20:15 +0100)
committer
Holger Schemel
<info@artsoft.org>
Sat, 30 Aug 2014 08:39:54 +0000
(10:39 +0200)
src/conftime.h
patch
|
blob
|
history
src/libgame/image.c
patch
|
blob
|
history
src/libgame/misc.c
patch
|
blob
|
history
src/libgame/misc.h
patch
|
blob
|
history
src/libgame/sound.c
patch
|
blob
|
history
src/libgame/system.h
patch
|
blob
|
history
diff --git
a/src/conftime.h
b/src/conftime.h
index 9ece7115ac8ea632be5c1cbca629271e95692de9..89b3aa24a760846ee23e473a8e20e6023c769413 100644
(file)
--- a/
src/conftime.h
+++ b/
src/conftime.h
@@
-1
+1
@@
-#define COMPILE_DATE_STRING "[2003-01-20
18:4
3]"
+#define COMPILE_DATE_STRING "[2003-01-20
20:1
3]"
diff --git
a/src/libgame/image.c
b/src/libgame/image.c
index 06634b6e046ca9473b82af354b794614dc693c0e..12bfc91618f72563c5fa22d528d5320698842df1 100644
(file)
--- a/
src/libgame/image.c
+++ b/
src/libgame/image.c
@@
-767,8
+767,11
@@
void InitImageList(struct ConfigInfo *config_list, int num_file_list_entries,
/* ---------- initialize artwork reference and content lists ---------- */
/* ---------- initialize artwork reference and content lists ---------- */
+ image_info->sizeof_artwork_list_entry = sizeof(ImageInfo *);
+
image_info->artwork_list =
checked_calloc(num_file_list_entries * sizeof(ImageInfo *));
image_info->artwork_list =
checked_calloc(num_file_list_entries * sizeof(ImageInfo *));
+ image_info->dynamic_artwork_list = NULL;
image_info->content_list = NULL;
image_info->content_list = NULL;
@@
-790,5
+793,5
@@
void ReloadCustomImages()
void FreeAllImages()
{
void FreeAllImages()
{
- FreeCustomArtworkList(image_info);
+ FreeCustomArtworkList
s
(image_info);
}
}
diff --git
a/src/libgame/misc.c
b/src/libgame/misc.c
index 87152ceb58e739cf098c07b5c4c7e68fa054bb71..31138a682a1f68677556bac20fdedf814af3a79d 100644
(file)
--- a/
src/libgame/misc.c
+++ b/
src/libgame/misc.c
@@
-1499,6
+1499,9
@@
boolean FileIsArtworkType(char *basename, int type)
/* 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)
{
return (strcmp(value, ARG_UNDEFINED) == 0 ? ARG_UNDEFINED_VALUE :
static int get_parameter_value(int type, char *value)
{
return (strcmp(value, ARG_UNDEFINED) == 0 ? ARG_UNDEFINED_VALUE :
@@
-1754,6
+1757,9
@@
void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
artwork_info->dynamic_file_list = NULL;
artwork_info->num_dynamic_file_list_entries = 0;
artwork_info->dynamic_file_list = NULL;
artwork_info->num_dynamic_file_list_entries = 0;
+
+ FreeCustomArtworkList(artwork_info, &artwork_info->dynamic_artwork_list,
+ &artwork_info->num_dynamic_file_list_entries);
}
if (filename == NULL)
}
if (filename == NULL)
@@
-1908,6
+1914,13
@@
void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
}
}
}
}
+ if (artwork_info->num_dynamic_file_list_entries > 0)
+ {
+ artwork_info->dynamic_artwork_list =
+ checked_calloc(artwork_info->num_dynamic_file_list_entries *
+ artwork_info->sizeof_artwork_list_entry);
+ }
+
if (extra_file_list != NULL &&
options.verbose && IS_PARENT_PROCESS(audio.mixer_pid))
{
if (extra_file_list != NULL &&
options.verbose && IS_PARENT_PROCESS(audio.mixer_pid))
{
@@
-2075,10
+2088,6
@@
static void LoadCustomArtwork(struct ArtworkListInfo *artwork_info,
struct ListNodeInfo **listnode,
char *basename)
{
struct ListNodeInfo **listnode,
char *basename)
{
-#if 0
- char *filename = getCustomArtworkFilename(basename, artwork_info->type);
-#endif
-
#if 0
printf("GOT CUSTOM ARTWORK FILE '%s'\n", filename);
#endif
#if 0
printf("GOT CUSTOM ARTWORK FILE '%s'\n", filename);
#endif
@@
-2089,33
+2098,30
@@
static void LoadCustomArtwork(struct ArtworkListInfo *artwork_info,
return;
}
return;
}
-#if 0
- if (filename == NULL)
- {
- Error(ERR_WARN, "cannot find artwork file '%s'", basename);
- return;
- }
-
- replaceArtworkListEntry(artwork_info, listnode, filename);
-#else
replaceArtworkListEntry(artwork_info, listnode, basename);
replaceArtworkListEntry(artwork_info, listnode, basename);
-#endif
}
static void LoadArtworkToList(struct ArtworkListInfo *artwork_info,
}
static void LoadArtworkToList(struct ArtworkListInfo *artwork_info,
+ struct ListNodeInfo **listnode,
char *basename, int list_pos)
{
char *basename, int list_pos)
{
+#if 0
if (artwork_info->artwork_list == NULL ||
list_pos >= artwork_info->num_file_list_entries)
return;
if (artwork_info->artwork_list == NULL ||
list_pos >= artwork_info->num_file_list_entries)
return;
+#endif
#if 0
printf("loading artwork '%s' ... [%d]\n",
basename, getNumNodes(artwork_info->content_list));
#endif
#if 0
printf("loading artwork '%s' ... [%d]\n",
basename, getNumNodes(artwork_info->content_list));
#endif
+#if 1
+ LoadCustomArtwork(artwork_info, listnode, basename);
+#else
LoadCustomArtwork(artwork_info, &artwork_info->artwork_list[list_pos],
basename);
LoadCustomArtwork(artwork_info, &artwork_info->artwork_list[list_pos],
basename);
+#endif
#if 0
printf("loading artwork '%s' done [%d]\n",
#if 0
printf("loading artwork '%s' done [%d]\n",
@@
-2125,70
+2131,53
@@
static void LoadArtworkToList(struct ArtworkListInfo *artwork_info,
void ReloadCustomArtworkList(struct ArtworkListInfo *artwork_info)
{
void ReloadCustomArtworkList(struct ArtworkListInfo *artwork_info)
{
-#if 0
- static struct
- {
- char *text;
- boolean do_it;
- }
- draw_init[] =
- {
- { "", FALSE },
- { "Loading graphics:", TRUE },
- { "Loading sounds:", TRUE },
- { "Loading music:", TRUE }
- };
-#endif
-
- int num_file_list_entries = artwork_info->num_file_list_entries;
struct FileInfo *file_list = artwork_info->file_list;
struct FileInfo *file_list = artwork_info->file_list;
+ struct FileInfo *dynamic_file_list = artwork_info->dynamic_file_list;
+ int num_file_list_entries = artwork_info->num_file_list_entries;
+ int num_dynamic_file_list_entries =
+ artwork_info->num_dynamic_file_list_entries;
int i;
#if 0
int i;
#if 0
- LoadArtworkConfig(artwork_info);
-#endif
-
-#if 0
- if (draw_init[artwork_info->type].do_it)
- DrawInitText(draw_init[artwork_info->type].text, 120, FC_GREEN);
-#endif
-
-#if 0
- printf("DEBUG: reloading %d artwork files ...\n", num_file_list_entries);
+ printf("DEBUG: reloading %d static artwork files ...\n",
+ num_file_list_entries);
+ printf("DEBUG: reloading %d dynamic artwork files ...\n",
+ num_dynamic_file_list_entries);
#endif
for(i=0; i<num_file_list_entries; i++)
#endif
for(i=0; i<num_file_list_entries; i++)
- {
-#if 0
- if (draw_init[artwork_info->type].do_it)
- DrawInitText(file_list[i].token, 150, FC_YELLOW);
-#endif
+ LoadArtworkToList(artwork_info, &artwork_info->artwork_list[i],
+ file_list[i].filename, i);
- LoadArtworkToList(artwork_info, file_list[i].filename, i);
-
-#if 0
- printf("DEBUG: loading artwork file '%s'...\n", file_list[i].filename);
-#endif
- }
-
-#if 0
- draw_init[artwork_info->type].do_it = FALSE;
-#endif
-
- /*
- printf("list size == %d\n", getNumNodes(artwork_info->content_list));
- */
+ for(i=0; i<num_dynamic_file_list_entries; i++)
+ LoadArtworkToList(artwork_info, &artwork_info->dynamic_artwork_list[i],
+ dynamic_file_list[i].filename, i);
#if 0
dumpList(artwork_info->content_list);
#endif
}
#if 0
dumpList(artwork_info->content_list);
#endif
}
-void FreeCustomArtworkList(struct ArtworkListInfo *artwork_info)
+static void FreeCustomArtworkList(struct ArtworkListInfo *artwork_info,
+ struct ListNodeInfo ***list,
+ int *num_list_entries)
{
int i;
{
int i;
- if (artwork_info == NULL || artwork_info->artwork_list == NULL)
+ if (*list == NULL)
+ return;
+
+ for(i=0; i<*num_list_entries; i++)
+ deleteArtworkListEntry(artwork_info, &(*list)[i]);
+ free(*list);
+
+ *list = NULL;
+ *num_list_entries = 0;
+}
+
+void FreeCustomArtworkLists(struct ArtworkListInfo *artwork_info)
+{
+ if (artwork_info == NULL)
return;
#if 0
return;
#if 0
@@
-2196,18
+2185,16
@@
void FreeCustomArtworkList(struct ArtworkListInfo *artwork_info)
IS_CHILD_PROCESS(audio.mixer_pid) ? "CHILD" : "PARENT");
#endif
IS_CHILD_PROCESS(audio.mixer_pid) ? "CHILD" : "PARENT");
#endif
- for(i=0; i<artwork_info->num_file_list_entries; i++)
- deleteArtworkListEntry(artwork_info, &artwork_info->artwork_list[i]);
+ FreeCustomArtworkList(artwork_info, &artwork_info->artwork_list,
+ &artwork_info->num_file_list_entries);
+
+ FreeCustomArtworkList(artwork_info, &artwork_info->dynamic_artwork_list,
+ &artwork_info->num_dynamic_file_list_entries);
#if 0
printf("%s: FREEING ARTWORK -- DONE\n",
IS_CHILD_PROCESS(audio.mixer_pid) ? "CHILD" : "PARENT");
#endif
#if 0
printf("%s: FREEING ARTWORK -- DONE\n",
IS_CHILD_PROCESS(audio.mixer_pid) ? "CHILD" : "PARENT");
#endif
-
- free(artwork_info->artwork_list);
-
- artwork_info->artwork_list = NULL;
- artwork_info->num_file_list_entries = 0;
}
}
diff --git
a/src/libgame/misc.h
b/src/libgame/misc.h
index 92b9cce8a95f26ae86f13df99c767f7f59a4ab07..8ce6b8c190ea86609770c2d6487d3a385f4a4621 100644
(file)
--- a/
src/libgame/misc.h
+++ b/
src/libgame/misc.h
@@
-139,7
+139,7
@@
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *,
struct ConfigInfo *, int);
void LoadArtworkConfig(struct ArtworkListInfo *);
void ReloadCustomArtworkList(struct ArtworkListInfo *);
struct ConfigInfo *, int);
void LoadArtworkConfig(struct ArtworkListInfo *);
void ReloadCustomArtworkList(struct ArtworkListInfo *);
-void FreeCustomArtworkList(struct ArtworkListInfo *);
+void FreeCustomArtworkList
s
(struct ArtworkListInfo *);
#if !defined(PLATFORM_UNIX)
void initErrorFile();
#if !defined(PLATFORM_UNIX)
void initErrorFile();
diff --git
a/src/libgame/sound.c
b/src/libgame/sound.c
index 61d5d29e8deffa5c0122a1df5bd9a5d3f165b5dc..9b0282bc6de704d38de2c9cffc894894accfd0bc 100644
(file)
--- a/
src/libgame/sound.c
+++ b/
src/libgame/sound.c
@@
-1817,8
+1817,11
@@
void InitSoundList(struct ConfigInfo *config_list, int num_file_list_entries,
/* ---------- initialize artwork reference and content lists ---------- */
/* ---------- initialize artwork reference and content lists ---------- */
+ sound_info->sizeof_artwork_list_entry = sizeof(SoundInfo *);
+
sound_info->artwork_list =
checked_calloc(num_file_list_entries * sizeof(SoundInfo *));
sound_info->artwork_list =
checked_calloc(num_file_list_entries * sizeof(SoundInfo *));
+ sound_info->dynamic_artwork_list = NULL;
sound_info->content_list = NULL;
sound_info->content_list = NULL;
@@
-2125,7
+2128,7
@@
void FreeMusic(MusicInfo *music)
void FreeAllSounds()
{
void FreeAllSounds()
{
- FreeCustomArtworkList(sound_info);
+ FreeCustomArtworkList
s
(sound_info);
}
void FreeAllMusic()
}
void FreeAllMusic()
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index 6ba3ff820e9c3f9124b72f564c6e8aabe1540e5e..b932605be9231608c91c29988182081c232b1645 100644
(file)
--- a/
src/libgame/system.h
+++ b/
src/libgame/system.h
@@
-533,7
+533,10
@@
struct ArtworkListInfo
char **ext1_suffixes; /* property suffixes array 1 */
char **ext2_suffixes; /* property suffixes array 2 */
char **ext1_suffixes; /* property suffixes array 1 */
char **ext2_suffixes; /* property suffixes array 2 */
+ int sizeof_artwork_list_entry;
+
struct ListNodeInfo **artwork_list; /* static artwork node array */
struct ListNodeInfo **artwork_list; /* static artwork node array */
+ struct ListNodeInfo **dynamic_artwork_list; /* dynamic artwrk node array */
struct ListNode *content_list; /* dynamic artwork node list */
void *(*load_artwork)(char *); /* constructor function */
struct ListNode *content_list; /* dynamic artwork node list */
void *(*load_artwork)(char *); /* constructor function */