projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
b13dc8e
)
rnd-20020907-2-src
author
Holger Schemel
<info@artsoft.org>
Sat, 7 Sep 2002 13:05:59 +0000
(15:05 +0200)
committer
Holger Schemel
<info@artsoft.org>
Sat, 30 Aug 2014 08:38:21 +0000
(10:38 +0200)
src/conftime.h
patch
|
blob
|
history
src/init.c
patch
|
blob
|
history
src/libgame/image.c
patch
|
blob
|
history
src/libgame/image.h
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/sound.h
patch
|
blob
|
history
src/libgame/system.h
patch
|
blob
|
history
src/main.c
patch
|
blob
|
history
src/main.h
patch
|
blob
|
history
diff --git
a/src/conftime.h
b/src/conftime.h
index 0be54307f697b1b46ac92288cc778481e7e2e856..551ee18bfd88c51f24fe7179d1c243e8ac4207c3 100644
(file)
--- a/
src/conftime.h
+++ b/
src/conftime.h
@@
-1
+1
@@
-#define COMPILE_DATE_STRING "[2002-09-07 1
2:06
]"
+#define COMPILE_DATE_STRING "[2002-09-07 1
5:04
]"
diff --git
a/src/init.c
b/src/init.c
index 4c49a23762f59494ae018bca325f64fafc1ee85d..f2d07f4152a482bd8971e168bc9704e63383c7ef 100644
(file)
--- a/
src/init.c
+++ b/
src/init.c
@@
-857,6
+857,8
@@
static void InitGraphicInfo()
image_files = getCurrentImageList();
image_files = getCurrentImageList();
+ printf("--> %d\n", image_files[0].parameter[2]);
+
for(i=0; i<MAX_GRAPHICS; i++)
{
/* always start with reliable default values */
for(i=0; i<MAX_GRAPHICS; i++)
{
/* always start with reliable default values */
diff --git
a/src/libgame/image.c
b/src/libgame/image.c
index a65eb20dbb800368485d57def0dddd051236c328..3ec55f390ff6b313d64ac5f8f269904ac269745d 100644
(file)
--- a/
src/libgame/image.c
+++ b/
src/libgame/image.c
@@
-700,7
+700,8
@@
struct FileInfo *getCurrentImageList()
return image_info->file_list;
}
return image_info->file_list;
}
-void InitImageList(struct ConfigInfo *config_list, char *config_suffix_list[],
+void InitImageList(struct ConfigInfo *config_list,
+ struct ConfigInfo *config_suffix_list,
int num_file_list_entries)
{
int i;
int num_file_list_entries)
{
int i;
@@
-711,7
+712,7
@@
void InitImageList(struct ConfigInfo *config_list, char *config_suffix_list[],
image_info->num_file_list_entries = num_file_list_entries;
image_info->num_suffix_list_entries = 0;
image_info->num_file_list_entries = num_file_list_entries;
image_info->num_suffix_list_entries = 0;
- for (i=0; config_suffix_list[i] != NULL; i++)
+ for (i=0; config_suffix_list[i]
.token
!= NULL; i++)
image_info->num_suffix_list_entries++;
image_info->file_list =
image_info->num_suffix_list_entries++;
image_info->file_list =
diff --git
a/src/libgame/image.h
b/src/libgame/image.h
index b968fee16623e5ef2e44c6b0d7253c4ff2706fc8..9d001aae86244a5e1ff58b44a917cbb4f4f98542 100644
(file)
--- a/
src/libgame/image.h
+++ b/
src/libgame/image.h
@@
-73,7
+73,7
@@
int Read_PCX_to_Pixmap(Display *, Window, GC, char *, Pixmap *, Pixmap *);
struct FileInfo *getCurrentImageList();
struct FileInfo *getCurrentImageList();
-void InitImageList(struct ConfigInfo *,
char *
*, int);
+void InitImageList(struct ConfigInfo *,
struct ConfigInfo
*, int);
void ReloadCustomImages();
void FreeAllImages();
void ReloadCustomImages();
void FreeAllImages();
diff --git
a/src/libgame/misc.c
b/src/libgame/misc.c
index 3c61d46dd77a1dd033383856ec5371fce1ca61bb..498a96e89231d3c9de9fa47ad680ba1d948a6e67 100644
(file)
--- a/
src/libgame/misc.c
+++ b/
src/libgame/misc.c
@@
-403,6
+403,14
@@
char *getPath3(char *path1, char *path2, char *path3)
return complete_path;
}
return complete_path;
}
+static char *getStringCat2(char *s1, char *s2)
+{
+ char *complete_string = checked_malloc(strlen(s1) + strlen(s2) + 1);
+
+ sprintf(complete_string, "%s%s", s1, s2);
+ return complete_string;
+}
+
char *getStringCopy(char *s)
{
char *s_copy;
char *getStringCopy(char *s)
{
char *s_copy;
@@
-1349,7
+1357,7
@@
boolean FileIsArtworkType(char *basename, int type)
/* ========================================================================= */
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
/* ========================================================================= */
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
-
char *suffix_list[]
,
+
struct ConfigInfo *suffix_list
,
int num_file_list_entries)
{
struct FileInfo *file_list;
int num_file_list_entries)
{
struct FileInfo *file_list;
@@
-1359,22
+1367,29
@@
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
file_list = checked_calloc(num_file_list_entries * sizeof(struct FileInfo));
file_list = checked_calloc(num_file_list_entries * sizeof(struct FileInfo));
- for (i=0; suffix_list[i] != NULL; i++)
+ for (i=0; suffix_list[i]
.token
!= NULL; i++)
num_suffix_list_entries++;
num_suffix_list_entries++;
- if (num_suffix_list_entries > 0)
+ /* always start with reliable default values */
+ for (i=0; i<num_file_list_entries; i++)
{
{
- 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;
+
+ if (num_suffix_list_entries > 0)
{
{
- file_list[i].default_parameter =
- checked_calloc(num_suffix_list_entries * sizeof(int));
- file_list[i].
parameter =
-
checked_calloc(num_suffix_list_entries * sizeof(int)
);
+ int parameter_array_size = num_suffix_list_entries * sizeof(int);
+
+ 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++)
{
for (j=0; j<num_suffix_list_entries; j++)
{
- file_list[i].default_parameter[j] = -1;
- file_list[i].parameter[j] = -1;
+ int default_parameter = atoi(suffix_list[j].value);
+
+ file_list[i].default_parameter[j] = default_parameter;
+ file_list[i].parameter[j] = default_parameter;
}
}
}
}
}
}
@@
-1384,13
+1399,13
@@
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
int len_config_token = strlen(config_list[i].token);
boolean is_file_entry = TRUE;
int len_config_token = strlen(config_list[i].token);
boolean is_file_entry = TRUE;
- for (j=0; suffix_list[j] != NULL; j++)
+ for (j=0; suffix_list[j]
.token
!= NULL; j++)
{
{
- int len_suffix = strlen(suffix_list[j]);
+ int len_suffix = strlen(suffix_list[j]
.token
);
if (len_suffix < len_config_token &&
strcmp(&config_list[i].token[len_config_token - len_suffix],
if (len_suffix < len_config_token &&
strcmp(&config_list[i].token[len_config_token - len_suffix],
- suffix_list[j]) == 0)
+ suffix_list[j]
.token
) == 0)
{
file_list[list_pos].default_parameter[j] = atoi(config_list[i].value);
{
file_list[list_pos].default_parameter[j] = atoi(config_list[i].value);
@@
-1419,9
+1434,10
@@
struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list,
static void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
{
static void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
{
+ struct FileInfo *file_list = artwork_info->file_list;
+ struct ConfigInfo *suffix_list = artwork_info->suffix_list;
int num_file_list_entries = artwork_info->num_file_list_entries;
int num_suffix_list_entries = artwork_info->num_suffix_list_entries;
int num_file_list_entries = artwork_info->num_file_list_entries;
int num_suffix_list_entries = artwork_info->num_suffix_list_entries;
- struct FileInfo *file_list = artwork_info->file_list;
char *filename = getCustomArtworkConfigFilename(artwork_info->type);
struct SetupFileList *setup_file_list;
int i, j;
char *filename = getCustomArtworkConfigFilename(artwork_info->type);
struct SetupFileList *setup_file_list;
int i, j;
@@
-1433,12
+1449,12
@@
static void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
/* 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++)
{
+ if (file_list[i].filename != NULL)
+ free(file_list[i].filename);
file_list[i].filename = NULL;
for (j=0; j<num_suffix_list_entries; j++)
file_list[i].filename = NULL;
for (j=0; j<num_suffix_list_entries; j++)
- {
file_list[i].parameter[j] = file_list[i].default_parameter[j];
file_list[i].parameter[j] = file_list[i].default_parameter[j];
- }
}
if (filename == NULL)
}
if (filename == NULL)
@@
-1447,9
+1463,20
@@
static void LoadArtworkConfig(struct ArtworkListInfo *artwork_info)
if ((setup_file_list = loadSetupFileList(filename)))
{
for (i=0; i<num_file_list_entries; i++)
if ((setup_file_list = loadSetupFileList(filename)))
{
for (i=0; i<num_file_list_entries; i++)
+ {
file_list[i].filename =
getStringCopy(getTokenValue(setup_file_list, file_list[i].token));
file_list[i].filename =
getStringCopy(getTokenValue(setup_file_list, file_list[i].token));
+ for (j=0; j<num_suffix_list_entries; j++)
+ {
+ char *token = getStringCat2(file_list[i].token, suffix_list[j].token);
+ char *value = getTokenValue(setup_file_list, token);
+
+ if (value != NULL)
+ file_list[i].parameter[j] = atoi(value);
+ }
+ }
+
freeSetupFileList(setup_file_list);
#if 0
freeSetupFileList(setup_file_list);
#if 0
diff --git
a/src/libgame/misc.h
b/src/libgame/misc.h
index 8d0a5dce319a778bc77fb9b90536cf0b9e5de7a5..a616d226e006e0abf9601a1b741d40d2c4a2e686 100644
(file)
--- a/
src/libgame/misc.h
+++ b/
src/libgame/misc.h
@@
-126,7
+126,8
@@
boolean FileIsSound(char *);
boolean FileIsMusic(char *);
boolean FileIsArtworkType(char *, int);
boolean FileIsMusic(char *);
boolean FileIsArtworkType(char *, int);
-struct FileInfo *getFileListFromConfigList(struct ConfigInfo *, char **, int);
+struct FileInfo *getFileListFromConfigList(struct ConfigInfo *,
+ struct ConfigInfo *, int);
void ReloadCustomArtworkList(struct ArtworkListInfo *);
void FreeCustomArtworkList(struct ArtworkListInfo *);
void ReloadCustomArtworkList(struct ArtworkListInfo *);
void FreeCustomArtworkList(struct ArtworkListInfo *);
diff --git
a/src/libgame/sound.c
b/src/libgame/sound.c
index f30c1d4cb4b91a58a91b24b535cb64a699e1a68a..14aacba0b5119f3e297a32258c1c6cfe24b4ed09 100644
(file)
--- a/
src/libgame/sound.c
+++ b/
src/libgame/sound.c
@@
-1726,7
+1726,8
@@
struct FileInfo *getCurrentSoundList()
return sound_info->file_list;
}
return sound_info->file_list;
}
-void InitSoundList(struct ConfigInfo *config_list, char *config_suffix_list[],
+void InitSoundList(struct ConfigInfo *config_list,
+ struct ConfigInfo *config_suffix_list,
int num_file_list_entries)
{
int i;
int num_file_list_entries)
{
int i;
@@
-1737,7
+1738,7
@@
void InitSoundList(struct ConfigInfo *config_list, char *config_suffix_list[],
sound_info->num_file_list_entries = num_file_list_entries;
sound_info->num_suffix_list_entries = 0;
sound_info->num_file_list_entries = num_file_list_entries;
sound_info->num_suffix_list_entries = 0;
- for (i=0; config_suffix_list[i] != NULL; i++)
+ for (i=0; config_suffix_list[i]
.token
!= NULL; i++)
sound_info->num_suffix_list_entries++;
sound_info->file_list =
sound_info->num_suffix_list_entries++;
sound_info->file_list =
diff --git
a/src/libgame/sound.h
b/src/libgame/sound.h
index 4b28e3ff205e88b51717bdf1d5f8440271d55bf9..310d7b851307e7cb14711736ca18ba00a232b5db 100644
(file)
--- a/
src/libgame/sound.h
+++ b/
src/libgame/sound.h
@@
-140,7
+140,7
@@
void StopSound(int);
void StopSounds(void);
void StopSoundExt(int, int);
struct FileInfo *getCurrentSoundList();
void StopSounds(void);
void StopSoundExt(int, int);
struct FileInfo *getCurrentSoundList();
-void InitSoundList(struct ConfigInfo *,
char *
*, int);
+void InitSoundList(struct ConfigInfo *,
struct ConfigInfo
*, int);
void InitReloadSounds(char *);
void InitReloadMusic(char *);
void FreeAllSounds(void);
void InitReloadSounds(char *);
void InitReloadMusic(char *);
void FreeAllSounds(void);
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index 497a39585cd8091f30ac48d491cec08371072c21..9cebd02dda852d0c94755475d42a89589bcd2dc5 100644
(file)
--- a/
src/libgame/system.h
+++ b/
src/libgame/system.h
@@
-467,7
+467,7
@@
struct ArtworkListInfo
int num_suffix_list_entries;
struct FileInfo *file_list; /* static artwork file array */
int num_suffix_list_entries;
struct FileInfo *file_list; /* static artwork file array */
-
char **suffix_list;
/* parameter suffixes array */
+
struct ConfigInfo *suffix_list;
/* parameter suffixes array */
struct ListNodeInfo **artwork_list; /* static artwork node array */
struct ListNodeInfo **artwork_list; /* static artwork node array */
diff --git
a/src/main.c
b/src/main.c
index 68466fe5d63e82b1225da3aabfe6f9680c1c1816..713b6a9b33157ff128369130f05157cc443be1d9 100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-136,17
+136,18
@@
char *sound_name[NUM_SOUNDS] =
"gate.wav"
};
"gate.wav"
};
-
char *
image_config_suffix[] =
+
struct ConfigInfo
image_config_suffix[] =
{
{
- ".frame_xpos",
- ".frame_ypos",
- ".num_frames",
- NULL
+ { ".frame_xpos", "0" },
+ { ".frame_ypos", "0" },
+ { ".num_frames", "1" },
+
+ { NULL, NULL }
};
};
-
char *
sound_config_suffix[] =
+
struct ConfigInfo
sound_config_suffix[] =
{
{
- NULL
+ { NULL, NULL }
};
struct ConfigInfo image_config[] =
};
struct ConfigInfo image_config[] =
@@
-159,7
+160,7
@@
struct ConfigInfo image_config[] =
{ "robot_wheel.frame_xpos", "0" },
{ "robot_wheel.num_frames", "4" },
{ "robot_wheel.frame_xpos", "0" },
{ "robot_wheel.num_frames", "4" },
- { NULL, NULL }
,
+ { NULL, NULL }
};
struct ConfigInfo sound_config[] =
};
struct ConfigInfo sound_config[] =
@@
-378,7
+379,7
@@
struct ConfigInfo sound_config[] =
{ "[not used]", "boom.wav" },
#endif
{ "[not used]", "boom.wav" },
#endif
- { NULL, NULL }
,
+ { NULL, NULL }
};
struct FileInfo *image_files;
};
struct FileInfo *image_files;
diff --git
a/src/main.h
b/src/main.h
index 976325dac8d68b13216a2f4f69d0563cebe76b4e..aa5f629688e82de3bfdda88b965c1bea5288c899 100644
(file)
--- a/
src/main.h
+++ b/
src/main.h
@@
-416,8
+416,8
@@
extern struct GlobalInfo global;
extern struct ElementInfo element_info[];
extern struct GraphicInfo graphic_info[];
extern struct ConfigInfo image_config[], sound_config[];
extern struct ElementInfo element_info[];
extern struct GraphicInfo graphic_info[];
extern struct ConfigInfo image_config[], sound_config[];
+extern struct ConfigInfo image_config_suffix[], sound_config_suffix[];
extern struct FileInfo *image_files, *sound_files;
extern struct FileInfo *image_files, *sound_files;
-extern char *image_config_suffix[], *sound_config_suffix[];
/* often used screen positions */
#define SX 8
/* often used screen positions */
#define SX 8