store stamp names for future use
This commit is contained in:
parent
794e6b329c
commit
8f1fbbde51
1 changed files with 9 additions and 3 deletions
|
|
@ -2051,7 +2051,7 @@ typedef struct stamp_type {
|
||||||
#ifndef NOSOUND
|
#ifndef NOSOUND
|
||||||
Mix_Chunk *ssnd;
|
Mix_Chunk *ssnd;
|
||||||
#endif
|
#endif
|
||||||
char *stampfile;
|
char *stampname;
|
||||||
SDL_Surface *full_norm;
|
SDL_Surface *full_norm;
|
||||||
SDL_Surface *full_mirr;
|
SDL_Surface *full_mirr;
|
||||||
SDL_Surface *thumb_norm;
|
SDL_Surface *thumb_norm;
|
||||||
|
|
@ -6809,11 +6809,13 @@ static void loadstamp_callback(const char *restrict const dir, unsigned dirlen,
|
||||||
qsort(files, i, sizeof *files, compare_ftw_str);
|
qsort(files, i, sizeof *files, compare_ftw_str);
|
||||||
while(i--)
|
while(i--)
|
||||||
{
|
{
|
||||||
|
char fname[512];
|
||||||
show_progress_bar();
|
show_progress_bar();
|
||||||
|
|
||||||
if (strstr(files[i].str, ".png") && !strstr(files[i].str, "_mirror.png"))
|
char *dotpng = strstr(files[i].str, ".png");
|
||||||
|
|
||||||
|
if (dotpng>files[i].str && !strcmp(dotpng,".png") && (dotpng-files[i].str+1+dirlen < sizeof fname) && !strstr(files[i].str, "_mirror.png"))
|
||||||
{
|
{
|
||||||
char fname[512];
|
|
||||||
snprintf(fname, sizeof fname, "%s/%s", dir, files[i].str);
|
snprintf(fname, sizeof fname, "%s/%s", dir, files[i].str);
|
||||||
if(num_stamps == max_stamps)
|
if(num_stamps == max_stamps)
|
||||||
{
|
{
|
||||||
|
|
@ -6821,6 +6823,9 @@ static void loadstamp_callback(const char *restrict const dir, unsigned dirlen,
|
||||||
stamp_data = realloc(stamp_data, max_stamps * sizeof *stamp_data);
|
stamp_data = realloc(stamp_data, max_stamps * sizeof *stamp_data);
|
||||||
}
|
}
|
||||||
stamp_data[num_stamps] = calloc(1, sizeof *stamp_data[num_stamps]);
|
stamp_data[num_stamps] = calloc(1, sizeof *stamp_data[num_stamps]);
|
||||||
|
stamp_data[num_stamps]->stampname = malloc(dotpng-files[i].str+1+dirlen+1);
|
||||||
|
memcpy(stamp_data[num_stamps]->stampname, fname, dotpng-files[i].str+1+dirlen);
|
||||||
|
stamp_data[num_stamps]->stampname[dotpng-files[i].str+1+dirlen] = '\0';
|
||||||
stamp_data[num_stamps]->stxt = loaddesc(fname);
|
stamp_data[num_stamps]->stxt = loaddesc(fname);
|
||||||
loadinfo(fname, stamp_data[num_stamps]);
|
loadinfo(fname, stamp_data[num_stamps]);
|
||||||
|
|
||||||
|
|
@ -12063,6 +12068,7 @@ static void cleanup(void)
|
||||||
free_surface( &stamp_data[i]->thumb_norm );
|
free_surface( &stamp_data[i]->thumb_norm );
|
||||||
free_surface( &stamp_data[i]->thumb_mirr );
|
free_surface( &stamp_data[i]->thumb_mirr );
|
||||||
|
|
||||||
|
free(stamp_data[i]->stampname);
|
||||||
free(stamp_data[i]);
|
free(stamp_data[i]);
|
||||||
stamp_data[i] = NULL;
|
stamp_data[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue