X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fimage.c;h=5331a8865c956ebdee5229c3326e2316bed4c2f1;hb=a8b2caa1d373c84c1b3fc2f615370c2a319051ca;hp=3cc85e34fc057f1a3eed88490c7015e42ead41c5;hpb=c878cb2be6a0bffee850bf4f2dcb1939d5d2cd4f;p=rocksndiamonds.git diff --git a/src/image.c b/src/image.c index 3cc85e34..5331a886 100644 --- a/src/image.c +++ b/src/image.c @@ -11,9 +11,15 @@ * image.c * ***********************************************************/ +#ifndef TARGET_SDL + #include "image.h" +#include "pcx.h" #include "misc.h" +/* exclude all except newImage() and freeImage() */ +#ifndef MSDOS + /* extra colors to try allocating in private color maps to minimize flashing */ #define NOFLASH_COLORS 256 @@ -34,10 +40,10 @@ static Pixmap Image_to_Mask(Image *image, Display *display, Window window) { - unsigned char *src_ptr, *dst_ptr, *dst_ptr2; + byte *src_ptr, *dst_ptr, *dst_ptr2; unsigned int bytes_per_row; unsigned int x, y; - unsigned char bitmask; + byte bitmask; byte *mask_data; Pixmap mask_pixmap; @@ -72,7 +78,7 @@ static Pixmap Image_to_Mask(Image *image, Display *display, Window window) dst_ptr += bytes_per_row; /* continue with leftmost byte of next row */ } - mask_pixmap = XCreateBitmapFromData(display, window, mask_data, + mask_pixmap = XCreateBitmapFromData(display, window, (char *)mask_data, image->width, image->height); free(mask_data); @@ -371,7 +377,7 @@ XImageInfo *Image_to_Pixmap(Display *display, int screen, Visual *visual, ximage->byte_order = MSBFirst; src_ptr = image->data; - dst_ptr = ximage->data; + dst_ptr = (byte *)ximage->data; switch (visual->class) { @@ -463,6 +469,8 @@ void freeXImage(Image *image, XImageInfo *ximageinfo) free(ximageinfo); } +#endif /* !MSDOS */ + Image *newImage(unsigned int width, unsigned int height, unsigned int depth) { Image *image; @@ -491,8 +499,10 @@ void freeImage(Image *image) free(image); } -int Read_PCX_to_Pixmaps(Display *display, Window window, GC gc, char *filename, - Pixmap *pixmap, Pixmap *pixmap_mask) +#ifndef MSDOS + +int Read_PCX_to_Pixmap(Display *display, Window window, GC gc, char *filename, + Pixmap *pixmap, Pixmap *pixmap_mask) { Image *image; XImageInfo *ximageinfo; @@ -506,7 +516,7 @@ int Read_PCX_to_Pixmaps(Display *display, Window window, GC gc, char *filename, /* read the graphic file in PCX format to image structure */ if ((image = Read_PCX_to_Image(filename)) == NULL) - return PCX_FileInvalid; + return errno_pcx; #if DEBUG_TIMING printf("%s:\n", filename); @@ -540,5 +550,8 @@ int Read_PCX_to_Pixmaps(Display *display, Window window, GC gc, char *filename, *pixmap = ximageinfo->pixmap; *pixmap_mask = ximageinfo->pixmap_mask; - return(PCX_Success); + return PCX_Success; } + +#endif /* !MSDOS */ +#endif /* !TARGET_SDL */