projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20070926-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
image.c
diff --git
a/src/libgame/image.c
b/src/libgame/image.c
index 09ec64f6f869f423e7192d3c3ded3bce679cc6d6..85a73a54f2a29322acb80ce9e4b9fab4f779ebd7 100644
(file)
--- a/
src/libgame/image.c
+++ b/
src/libgame/image.c
@@
-1,7
+1,7
@@
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-200
2
Artsoft Entertainment *
+* (c) 1994-200
6
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-31,13
+31,6
@@
Image *newImage(unsigned int width, unsigned int height, unsigned int depth)
unsigned int bytes_per_pixel = (depth + 7) / 8;
int i;
unsigned int bytes_per_pixel = (depth + 7) / 8;
int i;
-#if 0
- if (depth > 8)
- Error(ERR_EXIT, "images with more than 256 colors are not supported");
-
- depth = 8;
-#endif
-
image = checked_calloc(sizeof(Image));
image->data = checked_calloc(width * height * bytes_per_pixel);
image->width = width;
image = checked_calloc(sizeof(Image));
image->data = checked_calloc(width * height * bytes_per_pixel);
image->width = width;
@@
-392,7
+385,7
@@
XImageInfo *Image_to_Pixmap(Display *display, int screen, Visual *visual,
if (!private_cmap)
{
if (options.verbose)
if (!private_cmap)
{
if (options.verbose)
- Error(ERR_
RETURN
, "switching to private colormap");
+ Error(ERR_
INFO
, "switching to private colormap");
/* we just filled up the default colormap -- get a private one
which contains all already allocated colors */
/* we just filled up the default colormap -- get a private one
which contains all already allocated colors */
@@
-493,7
+486,7
@@
XImageInfo *Image_to_Pixmap(Display *display, int screen, Visual *visual,
break;
default:
break;
default:
- Error(ERR_
RETURN
,"DirectColor, TrueColor or PseudoColor display needed");
+ Error(ERR_
INFO
,"DirectColor, TrueColor or PseudoColor display needed");
SetError(error, "display class not supported");
return NULL;
SetError(error, "display class not supported");
return NULL;
@@
-567,7
+560,7
@@
XImageInfo *Image_to_Pixmap(Display *display, int screen, Visual *visual,
}
default:
}
default:
- Error(ERR_
RETURN
, "RGB or TrueColor image needed");
+ Error(ERR_
INFO
, "RGB or TrueColor image needed");
SetError(error, "image type not supported");
return NULL;
SetError(error, "image type not supported");
return NULL;
@@
-601,7
+594,7
@@
XImageInfo *Image_to_Pixmap(Display *display, int screen, Visual *visual,
}
default:
}
default:
- Error(ERR_
RETURN
,"DirectColor, TrueColor or PseudoColor display needed");
+ Error(ERR_
INFO
,"DirectColor, TrueColor or PseudoColor display needed");
SetError(error, "display class not supported");
return NULL;
SetError(error, "display class not supported");
return NULL;
@@
-836,7
+829,7
@@
static void *Load_PCX(char *filename)
ImageInfo *img_info;
#if 0
ImageInfo *img_info;
#if 0
- printf("loading PCX file '%s'\n", filename);
+ printf("
:::
loading PCX file '%s'\n", filename);
#endif
img_info = checked_calloc(sizeof(ImageInfo));
#endif
img_info = checked_calloc(sizeof(ImageInfo));
@@
-937,7
+930,7
@@
int getImageIDFromToken(char *token)
int i;
for (i = 0; i < num_list_entries; i++)
int i;
for (i = 0; i < num_list_entries; i++)
- if (str
cmp(file_list[i].token, token) == 0
)
+ if (str
Equal(file_list[i].token, token)
)
return i;
return -1;
return i;
return -1;
@@
-1036,7
+1029,7
@@
void InitImageList(struct ConfigInfo *config_list, int num_file_list_entries,
void ReloadCustomImages()
{
#if 0
void ReloadCustomImages()
{
#if 0
- printf("
DEBUG
: reloading images '%s' ...\n", artwork.gfx_current_identifier);
+ printf("
::
: reloading images '%s' ...\n", artwork.gfx_current_identifier);
#endif
LoadArtworkConfig(image_info);
#endif
LoadArtworkConfig(image_info);
@@
-1054,16
+1047,19
@@
void CreateImageWithSmallImages(int pos, int zoom_factor)
img_info->contains_small_images = TRUE;
img_info->scaled_up = TRUE;
img_info->contains_small_images = TRUE;
img_info->scaled_up = TRUE;
+}
-#if 0
- if (zoom_factor)
- printf("CreateImageWithSmallImages: '%s' zoomed by factor %d\n",
- img_info->source_filename, zoom_factor);
-#endif
+void ScaleImage(int pos, int zoom_factor)
+{
+ ImageInfo *img_info = getImageInfoEntryFromImageID(pos);
-#if 0
- printf("CreateImageWithSmallImages: '%s' done\n", img_info->source_filename);
-#endif
+ if (img_info == NULL || img_info->scaled_up)
+ return;
+
+ if (zoom_factor != 1)
+ ScaleBitmap(img_info->bitmap, zoom_factor);
+
+ img_info->scaled_up = TRUE;
}
void FreeAllImages()
}
void FreeAllImages()