+ ERASE_IMAGE(display, window, pp->stippledGC,
+ pp->pacman.cf, pp->pacman.rf,
+ pp->pacman.oldcf, pp->pacman.oldrf,
+ pp->spritexs, pp->spriteys);
+#endif
+ }
+
+ XSetTSOrigin(display, pp->stippledGC,
+ pp->pacman.cf, pp->pacman.rf);
+ if (MI_NPIXELS(mi) > 2)
+ XSetForeground(display, pp->stippledGC,
+ MI_PIXEL(mi, YELLOW));
+ else
+ XSetForeground(display, pp->stippledGC,
+ MI_WHITE_PIXEL(mi));
+
+ XSetStipple(display, pp->stippledGC,
+ pp->pacmanPixmap[dir][pp->pacman.mouthstage]);
+#ifdef FLASH
+ XSetFillStyle(display, pp->stippledGC, FillStippled);
+#else
+ XSetFillStyle(display, pp->stippledGC,
+ FillOpaqueStippled);
+#endif
+ if (pp->xs < 2 || pp->ys < 2)
+ XDrawPoint(display, window, pp->stippledGC,
+ pp->pacman.cf, pp->pacman.rf);
+ else
+ XFillRectangle(display, window, pp->stippledGC,
+ pp->pacman.cf, pp->pacman.rf,
+ pp->spritexs, pp->spriteys);
+ pp->pacman.mouthstage += pp->pacman.mouthdirection;
+ if ((pp->pacman.mouthstage >= MAXMOUTH) ||
+ (pp->pacman.mouthstage < 0)) {
+ pp->pacman.mouthdirection *= -1;
+ pp->pacman.mouthstage += pp->pacman.mouthdirection * 2;
+ }
+ pp->pacman.oldcf = pp->pacman.cf;
+ pp->pacman.oldrf = pp->pacman.rf;
+}