+ XFillRectangle(display,pix[PIX_DB_DOOR],gc,
+ 0,0, 3*DXSIZE,DYSIZE+VYSIZE);
+
+ for(i=0; i<MAX_BUF_XSIZE; i++)
+ for(j=0; j<MAX_BUF_YSIZE; j++)
+ redraw[i][j] = 0;
+ redraw_tiles = 0;
+ redraw_mask = REDRAW_ALL;
+}
+
+void LoadGfx(int pos, struct PictureFileInfo *pic)
+{
+ char basefilename[256];
+ char filename[256];
+
+#ifdef XPM_INCLUDE_FILE
+ int xpm_err, xbm_err;
+ unsigned int width,height;
+ int hot_x,hot_y;
+ Pixmap shapemask;
+ char *picture_ext = ".xpm";
+ char *picturemask_ext = "Mask.xbm";
+#else
+ int gif_err;
+ char *picture_ext = ".gif";
+#endif
+
+#ifdef DEBUG_TIMING
+ long count1, count2;
+#endif
+
+ /* Grafik laden */
+ if (pic->picture_filename)
+ {
+ sprintf(basefilename, "%s%s", pic->picture_filename, picture_ext);
+ DrawInitText(basefilename, 150, FC_YELLOW);
+ sprintf(filename, "%s/%s/%s",
+ options.base_directory, GRAPHICS_DIRECTORY, basefilename);
+
+#ifdef MSDOS
+ rest(100);
+#endif MSDOS
+
+#ifdef DEBUG_TIMING
+ count1 = Counter();
+#endif
+
+#ifdef XPM_INCLUDE_FILE
+
+ xpm_att[pos].valuemask = XpmCloseness;
+ xpm_att[pos].closeness = 20000;
+ xpm_err = XpmReadFileToPixmap(display,window,filename,
+ &pix[pos],&shapemask,&xpm_att[pos]);
+
+ switch(xpm_err)
+ {
+ case XpmOpenFailed:
+ Error(ERR_EXIT, "cannot open XPM file '%s'", filename);
+ case XpmFileInvalid:
+ Error(ERR_EXIT, "invalid XPM file '%s'", filename);
+ case XpmNoMemory:
+ Error(ERR_EXIT, "not enough memory for XPM file '%s'", filename);
+ case XpmColorFailed:
+ Error(ERR_EXIT, "cannot get colors for XPM file '%s'", filename);
+ default:
+ break;
+ }
+
+#ifdef DEBUG_TIMING
+ count2 = Counter();
+ printf("XPM LOADING %s IN %.2f SECONDS\n",
+ filename,(float)(count2-count1)/1000.0);
+#endif
+
+#else
+
+ gif_err = Read_GIF_to_Pixmaps(display, window, filename,
+ &pix[pos], &clipmask[pos]);
+
+ switch(gif_err)
+ {
+ case GIF_Success:
+ break;
+ case GIF_OpenFailed:
+ Error(ERR_EXIT, "cannot open GIF file '%s'", filename);
+ case GIF_ReadFailed:
+ Error(ERR_EXIT, "cannot read GIF file '%s'", filename);
+ case GIF_FileInvalid:
+ Error(ERR_EXIT, "invalid GIF file '%s'", filename);
+ case GIF_NoMemory:
+ Error(ERR_EXIT, "not enough memory for GIF file '%s'", filename);
+ case GIF_ColorFailed:
+ Error(ERR_EXIT, "cannot get colors for GIF file '%s'", filename);
+ default:
+ break;
+ }
+
+#ifdef DEBUG_TIMING
+ count2 = Counter();
+ printf("GIF LOADING %s IN %.2f SECONDS\n",
+ filename,(float)(count2-count1)/1000.0);
+#endif
+
+#endif