rnd-20040823-2-src
authorHolger Schemel <info@artsoft.org>
Sun, 22 Aug 2004 23:42:22 +0000 (01:42 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:47:56 +0000 (10:47 +0200)
src/conftime.h
src/game_em/global.h
src/game_em/graphics.c
src/game_em/init.c
src/game_em/input.c
src/init.c

index 6859b2a7153dad62459f4f6497a67bdd88ff7d1f..20e261cfdbb6741b47bc817921da4b678b2144a8 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2004-08-23 01:07]"
+#define COMPILE_DATE_STRING "[2004-08-23 01:40]"
index 0de51f50bfb4321280b9703c55eda218500feac5..0e3bd0933823b76418ccf1f3ccbf925a3dcf5cfc 100644 (file)
@@ -46,7 +46,6 @@ void game_animscreen(void);
 void title_initscreen(void);
 void title_blitscore(void);
 void title_animscreen(void);
-void title_blitants(unsigned int y);
 void title_string(unsigned int y, unsigned int left, unsigned int right,
                  char *string);
 
index 04c2a240f023ff6cee3e75f93c3805a07d18d233..edc1564336ba694eafd70df79cedbf811d3a80bf 100644 (file)
@@ -568,17 +568,6 @@ void title_blitscore(void)
 #endif
 }
 
-void title_blitants(unsigned int y)
-{
-  static const char ants_dashes[2] = { 8, 7 };
-
-  xdebug("title_blitants");
-
-  XSetDashes(display, antsGC, colour_anim, ants_dashes, 2);
-  XDrawRectangle(display, screenPixmap, antsGC,
-                0, y * TILEY, SCR_MENUX * TILEX - 1, TILEY - 1);
-}
-
 void title_animscreen(void)
 {
   blitscreen();
index da8ebd645f145075903a5380b0d112fe3d0b2daa..f5c59b1412d883a42634cc47742f153dc4ad5d2c 100644 (file)
@@ -3,21 +3,15 @@
  * open X11 display and sound
  */
 
-#if 1
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
 #include <X11/Xatom.h>
 #include <X11/Xos.h>
 #include <X11/Intrinsic.h>
 #include <X11/keysymdef.h>
-#endif
 
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h>
 #include <X11/keysym.h>
-#include <X11/cursorfont.h>
-#include <X11/xpm.h>
+
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <unistd.h>
 
 #if defined(TARGET_X11)
 
-#if 0
-Display *display;
-Window xwindow;
-#endif
-
 #if 1
 Bitmap *objBitmap;
 Bitmap *botBitmap;
@@ -69,18 +58,6 @@ Pixmap ttlmaskBitmap;
 GC screenGC;
 GC scoreGC;
 GC spriteGC;
-GC antsGC;
-
-Atom deleteAtom;
-
-KeySym lastKeySym;
-
-KeyCode northKeyCode[3];
-KeyCode eastKeyCode[3];
-KeyCode southKeyCode[3];
-KeyCode westKeyCode[3];
-KeyCode fireKeyCode[3];
-KeyCode escKeyCode[1];
 
 char play[SAMPLE_MAX];
 
@@ -99,72 +76,12 @@ static unsigned int screenHeight;
 static unsigned long screenBlackPixel;
 static unsigned long screenWhitePixel;
 
-#if 0
-static XSizeHints sizeHints;
-static XSetWindowAttributes setWindowAttributes;
-static XWMHints wmHints;
-static XVisualInfo visualInfo;
-#endif
 static XGCValues gcValues;
 
-static Colormap privateColourmap;
-static Cursor cursor;
-static XColor *privateColours;
-static unsigned char *privateFlags;
-static int privateNumColours;
-
-static XColor redColour;
-static XColor whiteColour;
-static int gotRed;
-static int gotWhite;
-
 #if 1
-static Bitmap *pcxBitmaps[4];
 static Bitmap *pcxBitmapsX2[4];
 #endif
 
-#if 0
-static Pixmap xpmPixmaps[4];
-static Pixmap xpmBitmaps[4];
-static XpmAttributes xpmAttributes[4];
-static int xpmGot[4];
-#endif
-
-static int xpmAllocColourFunc(Display *, Colormap, char *, XColor *, void *);
-static int xpmFreeColoursFunc(Display *, Colormap, unsigned long *, int, void *);
-
-static KeyCode keycodes[16];
-
-#if 0
-static const char *xpmNames[4] =
-{
-  "object.xpm",
-  "score.xpm",
-  "sprite.xpm",
-  "title.xpm"
-};
-#endif
-
-#if 1
-static const char *pcxNames[4] =
-{
-  "object.pcx",
-  "score.pcx",
-  "sprite.pcx",
-  "title.pcx"
-};
-#endif
-
-static const int xpmCloseness[4] = { 10000, 10000, 40000, 50000 };
-static const KeySym keysyms[16] =
-{
-  XK_Up, XK_KP_Up, XK_r, /* north */
-  XK_Right, XK_KP_Right, XK_g, /* east */
-  XK_Down, XK_KP_Down, XK_f, /* south */
-  XK_Left, XK_KP_Left, XK_d, /* west */
-  XK_Shift_L, XK_Control_R, XK_space, /* fire */
-  XK_Escape /* escape */
-};
 static const char *sound_names[SAMPLE_MAX] =
 {
   "00.blank.au","01.roll.au","02.stone.au","03.nut.au","04.crack.au",
@@ -183,36 +100,11 @@ static const int sound_volume[SAMPLE_MAX] =
   100
 };
 
-#if 0
-static void xdebug(char *msg)
-{
-#if 1
-  XSync(display, False);
-  printf("EM DEBUG: %s\n", msg);
-#endif
-}
-#endif
-
 int open_all(void)
 {
   char name[MAXNAME+2];
-#if 0
-  void *dummyptr;
-  int dummyint;
-#endif
   int i;
 
-#if 0
-  display = XOpenDisplay(arg_display);
-  if (display == 0)
-  {
-    fprintf(stderr, "%s: \"%s\": %s: %s\n", progname,
-           XDisplayName(arg_display), "failed to open display",
-           strerror(errno));
-    return(1);
-  }
-#endif
-
   defaultScreen = DefaultScreenOfDisplay(display);
   defaultVisual = DefaultVisualOfScreen(defaultScreen);
   defaultColourmap = DefaultColormapOfScreen(defaultScreen);
@@ -223,330 +115,8 @@ int open_all(void)
   screenBlackPixel = BlackPixelOfScreen(defaultScreen);
   screenWhitePixel = WhitePixelOfScreen(defaultScreen);
 
-#if 0
-  if (arg_install)
-  {
-    visualInfo.visualid = XVisualIDFromVisual(defaultVisual);
-    dummyptr = XGetVisualInfo(display, VisualIDMask, &visualInfo, &dummyint);
-    if (dummyptr == 0)
-    {
-      fprintf(stderr, "%s: \"%s\": %s: %s\n", progname,
-             XDisplayName(arg_display), "failed to get visual info",
-             strerror(errno));
-      return(1);
-    }
-
-    memcpy(&visualInfo, dummyptr, sizeof(visualInfo));
-    XFree(dummyptr);
-
-    if (visualInfo.class != PseudoColor)
-    {
-      fprintf(stderr, "%s: \"%s\": %s\n", progname, XDisplayName(arg_display),
-             "private colourmap only supported for pseudocolour display");
-      return(1);
-    }
-
-    privateColourmap = XCreateColormap(display, defaultRootWindow,
-                                      defaultVisual, AllocAll);
-    if (privateColourmap == 0)
-    {
-      fprintf(stderr, "%s: \"%s\": %s: %s\n", progname,
-             XDisplayName(arg_display), "failed to create colourmap",
-             strerror(errno));
-      return(1);
-    }
-
-    privateNumColours = visualInfo.colormap_size;
-
-    privateColours = malloc(privateNumColours * sizeof(XColor));
-    if (privateColours == 0)
-    {
-      fprintf(stderr, "%s: %s (%d): %s\n", progname, "malloc failed",
-             privateNumColours * sizeof(XColor), strerror(errno));
-      return(1);
-    }
-
-    for (dummyint = 0; dummyint < privateNumColours; dummyint++)
-      privateColours[dummyint].pixel = dummyint;
-
-    XQueryColors(display, defaultColourmap, privateColours, privateNumColours);
-    XStoreColors(display, privateColourmap, privateColours, privateNumColours);
-
-    privateFlags = malloc(privateNumColours);
-    if (privateFlags == 0)
-    {
-      fprintf(stderr, "%s: %s (%d): %s\n", progname, "malloc failed",
-             privateNumColours, strerror(errno));
-      return(1);
-    }
-
-    memset(privateFlags, 0, privateNumColours);
-
-    /* first two entries (black and white) are already allocated */
-    privateFlags[0] = 1;
-    privateFlags[1] = 1;
-  }
-
-  sizeHints.flags = PSize | PMinSize | PMaxSize;
-  sizeHints.width = 20 * TILEX;
-  sizeHints.height = 12 * TILEY + SCOREY;
-  sizeHints.min_width = sizeHints.max_width = sizeHints.width;
-  sizeHints.min_height = sizeHints.max_height = sizeHints.height;
-
-  if (arg_geometry)
-  {
-    dummyint = XWMGeometry(display, XScreenNumberOfScreen(defaultScreen),
-                          arg_geometry, 0, 2, &sizeHints, &sizeHints.x,
-                          &sizeHints.y, &dummyint, &dummyint,
-                          &sizeHints.win_gravity);
-    if (dummyint & (XValue | YValue))
-      sizeHints.flags |= USPosition | PWinGravity;
-  }
-
-  xwindow = XCreateWindow(display, defaultRootWindow, sizeHints.x, sizeHints.y,
-                         sizeHints.width, sizeHints.height, 2, screenDepth,
-                         InputOutput, CopyFromParent, 0, 0);
-  if (xwindow == 0)
-  {
-    fprintf(stderr, "%s: \"%s\": %s: %s\n", progname,
-           XDisplayName(arg_display), "failed to open window",
-           strerror(errno));
-    return(1);
-  }
-
-  setWindowAttributes.background_pixel = screenBlackPixel;
-  setWindowAttributes.border_pixel = screenWhitePixel;
-  setWindowAttributes.backing_store = NotUseful;
-  setWindowAttributes.override_redirect = False;
-  setWindowAttributes.event_mask =
-    KeyPressMask | EnterWindowMask | LeaveWindowMask | ExposureMask;
-  setWindowAttributes.colormap =
-    privateColourmap ? privateColourmap : defaultColourmap;
-  XChangeWindowAttributes(display, xwindow,
-                         CWBackPixel | CWBorderPixel | CWBackingStore |
-                         CWOverrideRedirect | CWEventMask | CWColormap,
-                         &setWindowAttributes);
-
-  XStoreName(display, xwindow, "Emerald Mine");
-
-  wmHints.flags = InputHint | StateHint;
-  wmHints.input = True;
-  wmHints.initial_state = NormalState;
-  XSetWMHints(display, xwindow, &wmHints);
-
-  XSetWMNormalHints(display, xwindow, &sizeHints);
-
-  deleteAtom = XInternAtom(display, "WM_DELETE_WINDOW", False);
-  XSetWMProtocols(display, xwindow, &deleteAtom, 1);
-
-  cursor = XCreateFontCursor(display, XC_trek);
-  if (cursor) XDefineCursor(display, xwindow, cursor);
-
-  XMapWindow(display, xwindow);
-#endif
-
-#if 0
-  for (i = 0; i < 4; i++)
-  {
-    name[MAXNAME] = 0;
-    if (arg_basedir)
-    {
-      snprintf(name, MAXNAME+2, "%s/%s/%s", arg_basedir, EM_GFX_DIR,
-              xpmNames[i]);
-    }
-    else
-    {
-      snprintf(name, MAXNAME+2, "%s/%s", EM_GFX_DIR, xpmNames[i]);
-    }
-
-    if (name[MAXNAME]) snprintf_overflow("read graphics/ files");
-
-    xpmAttributes[i].valuemask =
-      XpmColormap | XpmReturnAllocPixels | XpmExactColors | XpmCloseness |
-      XpmAllocColor | XpmFreeColors;
-    xpmAttributes[i].colormap =
-      privateColourmap ? privateColourmap : defaultColourmap;
-    xpmAttributes[i].exactColors = False;
-    xpmAttributes[i].closeness = xpmCloseness[i];
-    xpmAttributes[i].alloc_color = xpmAllocColourFunc;
-    xpmAttributes[i].free_colors = xpmFreeColoursFunc;
-    dummyint = XpmReadFileToPixmap(display, xwindow, name, &xpmPixmaps[i],
-                                  &xpmBitmaps[i], &xpmAttributes[i]);
-    if (dummyint)
-    {
-      fprintf(stderr, "%s: \"%s\": \"%s\": %s: %s: %s\n", progname,
-             XDisplayName(arg_display), name, "failed to read xpm",
-             XpmGetErrorString(dummyint), strerror(errno));
-      return(1);
-    }
-
-    xpmGot[i] = 1;
-  }
-#endif
-
-#if 0  /* BITMAP CREATION STUFF */
-
-  for (i = 0; i < 4; i++)
-  {
-    name[MAXNAME] = 0;
-    snprintf(name, MAXNAME+2, "%s/%s", EM_GFX_DIR, pcxNames[i]);
-
-    if (name[MAXNAME])
-      snprintf_overflow("read graphics/ files");
-
-    if ((pcxBitmaps[i] = LoadImage(name)) == NULL)
-    {
-      printf("::: LoadImage() failed for file '%s'\n", name);
-      return 1;
-    }
-  }
-
-  objBitmap = pcxBitmaps[0];
-  botBitmap = pcxBitmaps[1];
-  sprBitmap = pcxBitmaps[2];
-  ttlBitmap = pcxBitmaps[3];
-
-#if 0
-  objPixmap = xpmPixmaps[0];
-  botPixmap = xpmPixmaps[1];
-  sprPixmap = xpmPixmaps[2];
-  ttlPixmap = xpmPixmaps[3];
-  objmaskBitmap = xpmBitmaps[0];
-  botmaskBitmap = xpmBitmaps[1];
-  sprmaskBitmap = xpmBitmaps[2];
-  ttlmaskBitmap = xpmBitmaps[3];
-#else
-  objPixmap = pcxBitmaps[0]->drawable;
-  botPixmap = pcxBitmaps[1]->drawable;
-  sprPixmap = pcxBitmaps[2]->drawable;
-  ttlPixmap = pcxBitmaps[3]->drawable;
-  objmaskBitmap = pcxBitmaps[0]->clip_mask;
-  botmaskBitmap = pcxBitmaps[1]->clip_mask;
-  sprmaskBitmap = pcxBitmaps[2]->clip_mask;
-  ttlmaskBitmap = pcxBitmaps[3]->clip_mask;
-#endif
-
-  for (i = 0; i < 4; i++)
-  {
-    Pixmap clip_mask;
-
-    if ((clip_mask = XCreatePixmap(display, window->drawable,
-                                  pcxBitmaps[i]->width * 2,
-                                  pcxBitmaps[i]->height * 2, 1))
-       == None)
-    {
-      printf("::: cannot create clip mask");
-      return 1;
-    }
-
-#if 0
-    {
-      XGCValues clip_gc_values;
-      unsigned long clip_gc_valuemask;
-      GC gc;
-
-      clip_gc_values.graphics_exposures = False;
-      clip_gc_valuemask = GCGraphicsExposures;
-      if ((gc = XCreateGC(display, clip_mask,
-                         clip_gc_valuemask, &clip_gc_values)) == None)
-      {
-       printf("X       CreateGC failed\n");
-       exit(1);
-      }
-
-      XFillRectangle(display, clip_mask, gc, 0, 0,
-                    pcxBitmaps[i]->width * 2,
-                    pcxBitmaps[i]->height * 2);
-    }
-#endif
-
-#if 0
-    {
-      byte * src_ptr;
-      int src_width = pcxBitmaps[i]->width;
-      int src_height = pcxBitmaps[i]->height;
-
-#if 0
-      printf("::: %d, %d [%ld -> %ld (%ld)]\n",
-            src_width, src_height,
-            src_ptr,
-            src_ptr + src_width * src_height * 1,
-            src_width * src_height * 1);
-#endif
-
-#if 0
-      for (i = src_ptr; i < src_ptr + src_width * src_height * 1; i++)
-      {
-       byte x = *(byte *)i;
-
-       x = x * 1;
-      }
-#endif
-    }
-#endif
-
-    if (ZOOM_FACTOR > 1)
-      pcxBitmapsX2[i] = ZoomBitmap(pcxBitmaps[i],
-                                  pcxBitmaps[i]->width  * ZOOM_FACTOR,
-                                  pcxBitmaps[i]->height * ZOOM_FACTOR);
-    else
-      pcxBitmapsX2[i] = pcxBitmaps[i];
-
-#if 1
-
-#if 0
-    printf("::: CREATING NEW CLIPMASKS ...\n");
-#endif
-
-#if 1
-    clip_mask = Pixmap_to_Mask(pcxBitmapsX2[i]->drawable,
-                              pcxBitmapsX2[i]->width,
-                              pcxBitmapsX2[i]->height);
-#endif
-
-#if 0
-    printf("::: CREATING NEW CLIPMASKS DONE\n");
-#endif
-
-    pcxBitmapsX2[i]->clip_mask = clip_mask;
-
-    /* add clip mask GC */
-    {
-      XGCValues clip_gc_values;
-      unsigned long clip_gc_valuemask;
-
-      clip_gc_values.graphics_exposures = False;
-      clip_gc_values.clip_mask = pcxBitmapsX2[i]->clip_mask;
-      clip_gc_valuemask = GCGraphicsExposures | GCClipMask;
-      pcxBitmapsX2[i]->stored_clip_gc = XCreateGC(display,
-                                                 window->drawable,
-                                                 clip_gc_valuemask,
-                                                 &clip_gc_values);
-    }
-
-#if 0
-    printf("::: %ld, %ld, %ld, %ld, %ld, %ld, %ld\n",
-          pcxBitmaps[i]->gc,
-          pcxBitmaps[i]->clip_mask, pcxBitmapsX2[i]->clip_mask,
-          pcxBitmaps[i]->width, pcxBitmaps[i]->height,
-          pcxBitmapsX2[i]->width, pcxBitmapsX2[i]->height);
-#endif
-
-#if 0
-    ZoomPixmap(display, pcxBitmaps[i]->gc,
-              pcxBitmaps[i]->clip_mask, pcxBitmapsX2[i]->clip_mask,
-              pcxBitmaps[i]->width, pcxBitmaps[i]->height,
-              pcxBitmapsX2[i]->width, pcxBitmapsX2[i]->height);
-#endif
-
-#endif
-  }
-
-#endif /* BITMAP CREATION STUFF */
-
 #if 1
   SetBitmaps_EM(pcxBitmapsX2);
-#endif
 
   objBitmap = pcxBitmapsX2[0];
   botBitmap = pcxBitmapsX2[1];
@@ -557,43 +127,18 @@ int open_all(void)
   botPixmap = pcxBitmapsX2[1]->drawable;
   sprPixmap = pcxBitmapsX2[2]->drawable;
   ttlPixmap = pcxBitmapsX2[3]->drawable;
-#if 1
+
   objmaskBitmap = pcxBitmapsX2[0]->clip_mask;
   botmaskBitmap = pcxBitmapsX2[1]->clip_mask;
   sprmaskBitmap = pcxBitmapsX2[2]->clip_mask;
   ttlmaskBitmap = pcxBitmapsX2[3]->clip_mask;
-#endif
 
-#if 1
   screenBitmap = CreateBitmap(MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY,
                              DEFAULT_DEPTH);
   scoreBitmap = CreateBitmap(20 * TILEX, SCOREY, DEFAULT_DEPTH);
-#endif
 
-  screenPixmap = XCreatePixmap(display, xwindow,
-                              MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY,
-                              screenDepth);
-  if (screenPixmap == 0)
-  {
-    fprintf(stderr, "%s: \"%s\": %s: %s\n", progname,
-           XDisplayName(arg_display), "failed to create pixmap",
-           strerror(errno));
-    return(1);
-  }
-
-  scorePixmap = XCreatePixmap(display, xwindow, 20 * TILEX, SCOREY,
-                             screenDepth);
-  if (scorePixmap == 0)
-  {
-    fprintf(stderr, "%s: \"%s\": %s: %s\n", progname,
-           XDisplayName(arg_display), "failed to create pixmap",
-           strerror(errno));
-    return(1);
-  }
-
-#if 1
-  screenBitmap->drawable = screenPixmap;
-  scoreBitmap->drawable = scorePixmap;
+  screenPixmap = screenBitmap->drawable;
+  scorePixmap = scoreBitmap->drawable;
 #endif
 
   spriteBitmap = XCreatePixmap(display, xwindow, TILEX, TILEY, 1);
@@ -605,15 +150,6 @@ int open_all(void)
     return(1);
   }
 
-  redColour.pixel = screenWhitePixel;
-  whiteColour.pixel = screenBlackPixel;
-  gotRed = (xpmAllocColourFunc(display, privateColourmap ? privateColourmap :
-                              defaultColourmap,
-                              "red", &redColour, 0) > 0);
-  gotWhite = (xpmAllocColourFunc(display, privateColourmap ? privateColourmap :
-                                defaultColourmap,
-                                "white", &whiteColour, 0) > 0);
-
   gcValues.graphics_exposures = False;
   screenGC = XCreateGC(display, screenPixmap, GCGraphicsExposures, &gcValues);
   if (screenGC == 0)
@@ -647,368 +183,10 @@ int open_all(void)
     return(1);
   }
 
-  gcValues.foreground = redColour.pixel;
-  gcValues.background = whiteColour.pixel;
-  gcValues.line_style = LineDoubleDash;
-  gcValues.graphics_exposures = False;
-  antsGC = XCreateGC(display, screenPixmap,
-                    GCForeground | GCBackground | GCLineStyle |
-                    GCGraphicsExposures,
-                    &gcValues);
-  if (antsGC == 0)
-  {
-    fprintf(stderr, "%s: \"%s\": %s: %s\n", progname,
-           XDisplayName(arg_display), "failed to create graphics context",
-           strerror(errno));
-    return(1);
-  }
-
-  for (i = 0; i < 16; i++)
-    keycodes[i] = XKeysymToKeycode(display, keysyms[i]);
-
-  for (i = 0; i < 3; i++)
-    northKeyCode[i] = keycodes[i + 0];
-  for (i = 0; i < 3; i++)
-    eastKeyCode[i] = keycodes[i + 3];
-  for (i = 0; i < 3; i++)
-    southKeyCode[i] = keycodes[i + 6];
-  for (i = 0; i < 3; i++)
-    westKeyCode[i] = keycodes[i + 9];
-  for (i = 0; i < 3; i++)
-    fireKeyCode[i] = keycodes[i + 12];
-  for (i = 0; i < 1; i++)
-    escKeyCode[i] = keycodes[i + 15];
-
-  /* ----------------------------------------------------------------- */
-
-#if 0
-  {
-    Bitmap *bm = pcxBitmaps[2];
-    Pixmap clip_mask = bm->clip_mask;
-
-    if (clip_mask)
-    {
-#if 1
-      int width = bm->width;
-      int height = bm->height;
-#else
-      int width = 16 * 4;
-      int height = 16 * 4;
-#endif
-      XImage *src_ximage = XGetImage(display, clip_mask, 0, 0,
-                                    width, height, AllPlanes, ZPixmap);
-      XImage *dst_ximage = XGetImage(display, xwindow, 0, 0,
-                                    width, height, AllPlanes, ZPixmap);
-      int x, y;
-
-      if (src_ximage == NULL)
-      {
-       printf("src_ximage failed\n");
-       exit(1);
-      }
-
-      if (dst_ximage == NULL)
-      {
-       printf("dst_ximage failed\n");
-       exit(1);
-      }
-
-      printf("::: DISPLAY CLIP MASK ...\n");
-
-      for (x=0; x<width; x++)
-      {
-       for (y=0; y<height; y++)
-       {
-         unsigned long pixel = XGetPixel(src_ximage, x, y);
-
-         if (pixel != BlackPixel(display, screen))
-           pixel = WhitePixel(display, screen);
-
-         XPutPixel(dst_ximage, x, y, pixel);
-       }
-      }
-
-      printf("::: DISPLAY CLIP MASK NOW\n");
-
-      XPutImage(display, xwindow, screenGC, dst_ximage, 0, 0,
-               0, 13 * TILEY, width, height);
-
-      printf("::: DISPLAY CLIP MASK DONE\n");
-    }
-  }
-#endif
-
-  /* ----------------------------------------------------------------- */
-
-#if 0
-  {
-    int ii = 2;
-
-    XGCValues clip_gc_values;
-    unsigned long clip_gc_valuemask;
-
-#if 1
-    GC gc = screenGC;
-#else
-#if 1
-    GC gc = pcxBitmaps[ii]->stored_clip_gc;
-#else
-    GC gc = pcxBitmaps[ii]->gc;
-#endif
-#endif
-    Pixmap src_pixmap = pcxBitmaps[ii]->clip_mask;
-    Pixmap dst_pixmap = pcxBitmapsX2[ii]->clip_mask;
-    int src_width = pcxBitmaps[ii]->width;
-    int src_height = pcxBitmaps[ii]->height;
-    int dst_width = pcxBitmapsX2[ii]->width;
-    int dst_height = pcxBitmapsX2[ii]->height;
-
-    XImage *src_ximage, *dst_ximage;
-    byte *src_ptr, *dst_ptr;
-    int bits_per_pixel;
-    int bytes_per_pixel;
-    int x, y, xx, yy, i;
-#if 1
-    boolean scale_down = (src_width > dst_width);
-    int zoom_factor;
-#else
-    int zoom_factor = src_width / dst_width;   /* currently very limited! */
-#endif
-    int row_skip, col_skip;
-
-    printf("::: %d\n", scale_down);
-
-    xdebug("::: ZOOM STEP 1");
-
-    clip_gc_values.graphics_exposures = False;
-    clip_gc_valuemask = GCGraphicsExposures;
-    if ((gc = XCreateGC(display, pcxBitmaps[ii]->clip_mask,
-                       clip_gc_valuemask, &clip_gc_values)) == None)
-    {
-      printf("XCreateGC failed\n");
-      exit(1);
-    }
-
-    xdebug("::: ZOOM STEP 2");
-
-    if (scale_down)
-    {
-      zoom_factor = src_width / dst_width;
-
-      /* adjust source image size to integer multiple of destination size */
-      src_width  = dst_width  * zoom_factor;
-      src_height = dst_height * zoom_factor;
-    }
-    else
-    {
-      zoom_factor = dst_width / src_width;
-
-      /* no adjustment needed when scaling up (some pixels may be left blank) */
-    }
-
-    /* copy source pixmap to temporary image */
-    if ((src_ximage = XGetImage(display, src_pixmap, 0, 0, src_width, src_height,
-                               AllPlanes, ZPixmap)) == NULL)
-      Error(ERR_EXIT, "ZoomPixmap(): XGetImage() failed");
-
-    bits_per_pixel = src_ximage->bits_per_pixel;
-    bytes_per_pixel = (bits_per_pixel + 7) / 8;
-
-    printf("::: bits_per_pixel == %d\n", bits_per_pixel);
-
-    if ((dst_ximage = XCreateImage(display, visual, src_ximage->depth, ZPixmap,
-                                  0, NULL, dst_width, dst_height,
-                                  8, dst_width * bytes_per_pixel)) == NULL)
-      Error(ERR_EXIT, "ZoomPixmap(): XC        reateImage() failed");
-
-    dst_ximage->data =
-      checked_malloc(dst_width * dst_height * bytes_per_pixel);
-    dst_ximage->byte_order = src_ximage->byte_order;
-
-    src_ptr = (byte *)src_ximage->data;
-    dst_ptr = (byte *)dst_ximage->data;
-
-    if (scale_down)
-    {
-      col_skip = (zoom_factor - 1) * bytes_per_pixel;
-      row_skip = col_skip * src_width;
-
-      /* scale image down by scaling factor 'zoom_factor' */
-      for (y = 0; y < src_height; y += zoom_factor, src_ptr += row_skip)
-       for (x = 0; x < src_width; x += zoom_factor, src_ptr += col_skip)
-         for (i = 0; i < bytes_per_pixel; i++)
-           *dst_ptr++ = *src_ptr++;
-    }
-    else
-    {
-      row_skip = src_width * bytes_per_pixel;
-
-#if 1
-      printf("::: %d, %d -> %d, %d [%d / %d]\n[%ld -> %ld (%ld)] [%ld -> %ld (%ld)]\n",
-            src_width, src_height,
-            dst_width, dst_height,
-            zoom_factor, bytes_per_pixel,
-            src_ptr,
-            src_ptr + src_width * src_height * bytes_per_pixel,
-            src_width * src_height * bytes_per_pixel,
-            dst_ptr,
-            dst_ptr + dst_width * dst_height * bytes_per_pixel,
-            dst_width * dst_height * bytes_per_pixel);
-#endif
-
-#if 0
-      printf("A\n");
-
-      for (i = 0; i < src_width * src_height * bytes_per_pixel;
-          i++)
-      {
-       byte x = *(byte *)(src_ptr + i);
-
-       printf("::: %d ...\n", i);
-
-       x = x * 1;
-      }
-
-      printf("B\n");
-#endif
-
-      /* scale image up by scaling factor 'zoom_factor' */
-      for (y = 0; y < src_height; y++)
-      {
-       for (yy = 0; yy < zoom_factor; yy++)
-       {
-         if (yy > 0)
-           src_ptr -= row_skip;
-
-#if 0
-         printf("::: [%d -> %ld / %ld]\n", y, src_ptr, dst_ptr);
-#endif
-
-         for (x = 0; x < src_width; x++)
-         {
-           for (xx = 0; xx < zoom_factor; xx++)
-             for (i = 0; i < bytes_per_pixel; i++)
-#if 1
-             {
-#if 0
-               printf("::: %d\n", *(src_ptr + i));
-#endif
-
-               *dst_ptr++ = *(src_ptr + i);
-             }
-#else
-           *dst_ptr++ = 0;
-#endif
-
-           src_ptr += i;
-         }
-       }
-      }
-    }
-
-    xdebug("::: ZOOM STEP 9");
-
-    /* copy scaled image to destination pixmap */
-    XPutImage(display, dst_pixmap, gc, dst_ximage, 0, 0, 0, 0,
-             dst_width, dst_height);
-
-    /* free temporary images */
-    X11DestroyImage(src_ximage);
-    X11DestroyImage(dst_ximage);
-
-
-    xdebug("::: ZOOM DONE");
-
-  }
-#endif
-
-  /* ----------------------------------------------------------------- */
-
-#if 0
-  {
-    Bitmap *bm = pcxBitmapsX2[2];
-    Pixmap clip_mask = bm->clip_mask;
-
-    if (clip_mask)
-    {
-#if 0
-      int width = bm->width;
-      int height = bm->height;
-#else
-      int width = 16 * 4;
-      int height = 16 * 4;
-#endif
-      XImage *src_ximage = XGetImage(display, clip_mask, 0, 0,
-                                    width, height, AllPlanes, ZPixmap);
-      XImage *dst_ximage = XGetImage(display, xwindow, 0, 0,
-                                    width, height, AllPlanes, ZPixmap);
-      int x, y;
-
-      if (src_ximage == NULL)
-      {
-       printf("src_ximage failed\n");
-       exit(1);
-      }
-
-      if (dst_ximage == NULL)
-      {
-       printf("dst_ximage failed\n");
-       exit(1);
-      }
-
-      printf("::: DISPLAY CLIP MASK ...\n");
-
-      for (x=0; x<width; x++)
-      {
-       for (y=0; y<height; y++)
-       {
-         unsigned long pixel = XGetPixel(src_ximage, x, y);
-
-         if (pixel != BlackPixel(display, screen))
-           pixel = WhitePixel(display, screen);
-
-         XPutPixel(dst_ximage, x, y, pixel);
-       }
-      }
-
-      printf("::: DISPLAY CLIP MASK NOW\n");
-
-      XPutImage(display, xwindow, screenGC, dst_ximage, 0, 0,
-               0, 13 * TILEY + height, width, height);
-
-      printf("::: DISPLAY CLIP MASK DONE\n");
-    }
-  }
-#endif
-
-  /* ----------------------------------------------------------------- */
-
-#if 0
-  {
-    XImage *dst_ximage;
-
-    printf("::: GET IMAGE ...\n");
-
-    dst_ximage = XGetImage(display, xwindow, 0, 0,
-                          16, 16, AllPlanes, ZPixmap);
-    if (dst_ximage == NULL)
-    {
-      printf("dst_ximage failed\n");
-      exit(1);
-    }
-
-    printf("::: PUT IMAGE ...\n");
-
-    XPutImage(display, xwindow, screenGC, dst_ximage, 0, 0,
-             0, 13 * TILEY, 10, 10);
-
-    printf("::: PUT IMAGE DONE\n");
-  }
-#endif
-
   /* ----------------------------------------------------------------- */
 
 #if defined(PLATFORM_LINUX) || defined(PLATFORM_BSD)
+
   if (arg_silence == 0)
   {
     for (i = 0; i < SAMPLE_MAX; i++)
@@ -1085,60 +263,15 @@ void close_all(void)
     if (sound_data[i])
       free(sound_data[i]);
 
-#if 0
-  for (i = 0; i < 4; i++)
-    if (xpmPixmaps[i])
-      XFreePixmap(display, xpmPixmaps[i]);
-  for (i = 0; i < 4; i++)
-    if (xpmBitmaps[i])
-      XFreePixmap(display, xpmBitmaps[i]);
-  for (i = 0; i < 4; i++)
-    if (xpmGot[i])
-    {
-      xpmFreeColoursFunc(display, xpmAttributes[i].colormap,
-                        xpmAttributes[i].alloc_pixels,
-                        xpmAttributes[i].nalloc_pixels, 0);
-      XpmFreeAttributes(&xpmAttributes[i]);
-    }
-#endif
-
-  if (gotRed)
-    xpmFreeColoursFunc(display,
-                      privateColourmap ? privateColourmap : defaultColourmap,
-                      &redColour.pixel, 1, 0);
-  if (gotWhite)
-    xpmFreeColoursFunc(display,
-                      privateColourmap ? privateColourmap : defaultColourmap,
-                      &whiteColour.pixel, 1, 0);
-
   if (screenGC)
     XFreeGC(display, screenGC);
   if (scoreGC)
     XFreeGC(display, scoreGC);
   if (spriteGC)
     XFreeGC(display, spriteGC);
-  if (antsGC)
-    XFreeGC(display, antsGC);
-  if (screenPixmap)
-    XFreePixmap(display, screenPixmap);
-  if (scorePixmap)
-    XFreePixmap(display, scorePixmap);
+
   if (spriteBitmap)
     XFreePixmap(display, spriteBitmap);
-  if (xwindow)
-    XDestroyWindow(display, xwindow);
-  if (cursor)
-    XFreeCursor(display, cursor);
-  if (privateColourmap)
-    XFreeColormap(display, privateColourmap);
-  if (privateColours)
-    free(privateColours);
-  if (privateFlags)
-    free(privateFlags);
-#if 0
-  if (display)
-    XCloseDisplay(display);
-#endif
 }
 
 /* ---------------------------------------------------------------------- */
@@ -1169,106 +302,4 @@ void sound_play(void)
   memset(play, 0, sizeof(play));
 }
 
-/* ---------------------------------------------------------------------- */
-
-static int xpmAllocColourFunc(Display *display, Colormap colourmap,
-                             char *colourname, XColor *xcolour, void *closure)
-{
-  int i, match;
-  int r,g,b;
-  long best, sum;
-
-  if (colourname)
-    if (XParseColor(display, colourmap, colourname, xcolour) == 0)
-      return(-1); /* invalid name */
-  if (colourmap != privateColourmap)
-    return(XAllocColor(display, colourmap, xcolour) != 0);
-
-  /* first try to find an exact match */
-  match = -1;
-  for (i = 0; i < privateNumColours; i++)
-  {
-    if (privateColours[i].red == xcolour->red &&
-       privateColours[i].green == xcolour->green &&
-       privateColours[i].blue == xcolour->blue)
-      match = i;
-  }
-
-  if (match != -1)
-  {
-    privateFlags[match] = 1;
-    xcolour->pixel = privateColours[match].pixel;
-    return(1);
-  }
-
-  /* then find an unallocated colour that is close to what we want */
-  match = -1;
-  best = 1000000;
-  for (i = 0; i < privateNumColours; i++)
-  {
-    if (privateFlags[i])
-      continue; /* skip if it is already allocated */
-
-    r = (privateColours[i].red - xcolour->red) / 256;
-    g = (privateColours[i].green - xcolour->green) / 256;
-    b = (privateColours[i].blue - xcolour->blue) / 256;
-    sum = r * r + g * g + b * b;
-
-    if (sum < best)
-    {
-      best = sum;
-      match = i;
-    }
-  }
-
-  if (match != -1)
-  {
-    privateFlags[match] = 1;
-    privateColours[match].red = xcolour->red;
-    privateColours[match].green = xcolour->green;
-    privateColours[match].blue = xcolour->blue;
-    XStoreColor(display, colourmap, &privateColours[match]);
-    xcolour->pixel = privateColours[match].pixel;
-    return(1); /* found a close match */
-  }
-
-  /* if all else fails, just find the closest colour and return it */
-  match = -1;
-  best = 1000000;
-  for (i = 0; i < privateNumColours; i++)
-  {
-    r = (privateColours[i].red - xcolour->red) / 256;
-    g = (privateColours[i].green - xcolour->green) / 256;
-    b = (privateColours[i].blue - xcolour->blue) / 256;
-    sum = r * r + g * g + b * b;
-
-    if (sum < best)
-    {
-      best = sum;
-      match = i;
-    }
-  }
-
-  if (match != -1)
-  {
-    xcolour->red = privateColours[match].red;
-    xcolour->green = privateColours[match].green;
-    xcolour->blue = privateColours[match].blue;
-    xcolour->pixel = privateColours[match].pixel;
-    return(1); /* best we could do */
-  }
-
-  return(0); /* still didnt find one, give up */
-}
-
-static int xpmFreeColoursFunc(Display *display, Colormap colourmap,
-                             unsigned long *pixels, int npixels,
-                             void *closure)
-{
-  if (colourmap != privateColourmap)
-    XFreeColors(display, colourmap, pixels, npixels, 0);
-
-  return(1); /* non-zero for success */
-}
-
 #endif
index 81fa95ea4af8f4524e37312f746839ce6b859f41..ad5ee68f4652e8cdda4a09cd9950876b2c1e47ed 100644 (file)
@@ -44,8 +44,6 @@ static int input_esc;
 static struct timeval tv1;
 static struct timeval tv2;
 
-static unsigned char keymatrix[32];
-
 static int player_mode;
 static char player_name[32];
 static int player_level;
@@ -203,7 +201,6 @@ int game_menu_loop(boolean init, byte action)
 
   if (!input_pause)
   {
-    title_blitants(4 + pos);
     title_blitscore();
     title_animscreen();
 
@@ -232,14 +229,12 @@ int game_menu_loop(boolean init, byte action)
       {
        drawmenu(pos);
        pos--;
-       title_blitants(4 + pos);
       }
 
       if (ply1.joy_s && pos < 4)
       {
        drawmenu(pos);
        pos++;
-       title_blitants(4 + pos);
       }
     }
 
@@ -292,7 +287,6 @@ int game_play_loop(byte action)
 
 void game_menu_init(void)
 {
-  int pos = 4;
   int i;
 
   title_initscreen();
@@ -300,7 +294,6 @@ void game_menu_init(void)
   for (i = 0; i < 7; i++)
     drawmenu(i);                       /* display all lines */
 
-  title_blitants(4 + pos);
   title_blitscore();
   title_animscreen();
 
@@ -309,8 +302,6 @@ void game_menu_init(void)
 
 int game_loop(byte action)
 {
-#if 1
-
 #if 0
   printf("::: action == 0x%02x\n", action);
 #endif
@@ -350,46 +341,15 @@ int game_loop(byte action)
   }
 
   return 0;
+}
 
-#else
-
-  while (1)
-  {
-    int result = game_menu_loop(0);
-
-    if (result == 1)
-      return 1;
-
-    if (result == 2)
-      break;
-  }
-
-  em_game_status = EM_GAME_STATUS_PLAY;
-  if (game_play_init(player_level) != 0)
-    return 0;
-
-  while (1)
-  {
-    if (game_play_loop() != 0)
-      break;
-  }
-
-  em_game_status = EM_GAME_STATUS_MENU;
-  game_menu_init();
 
-  return 0;
+/* read input device for players */
 
-#endif
-}
-
-/* read input device for players
- */
 void readjoy(byte action)
 {
   unsigned int north = 0, east = 0, south = 0, west = 0, fire = 0;
 
-#if 1
-
   if (action & JOY_LEFT)
     west = 1;
 
@@ -405,32 +365,9 @@ void readjoy(byte action)
   if (action & JOY_BUTTON_1)
     fire = 1;
 
+#if 0
   if (action & JOY_BUTTON_2)
     input_esc = 1;
-
-#else
-
-  unsigned int i;
-
-  for (i = 0; i < 3; i++)
-    if (keymatrix[northKeyCode[i] >> 3] & 1 << (northKeyCode[i] & 7))
-      north = 1;
-
-  for (i = 0; i < 3; i++)
-    if (keymatrix[eastKeyCode[i] >> 3] & 1 << (eastKeyCode[i] & 7))
-      east = 1;
-
-  for (i = 0; i < 3; i++)
-    if (keymatrix[southKeyCode[i] >> 3] & 1 << (southKeyCode[i] & 7))
-      south = 1;
-
-  for (i = 0; i < 3; i++)
-    if (keymatrix[westKeyCode[i] >> 3] & 1 << (westKeyCode[i] & 7))
-      west = 1;
-
-  for (i = 0; i < 3; i++)
-    if (keymatrix[fireKeyCode[i] >> 3] & 1 << (fireKeyCode[i] & 7))
-      fire = 1;
 #endif
 
   ply1.joy_fire = fire;
@@ -443,26 +380,14 @@ void readjoy(byte action)
   }
 }
 
-/* handle events from x windows and block until the next frame
- */
+
+/* handle events from x windows and block until the next frame */
+
 void input_eventloop(void)
 {
-#if 0
-  XEvent event;
-#endif
-  unsigned int i;
   unsigned long count;
 
-  if (input_pause)
-  {
-#if 0
-    XPeekEvent(display, &event); /* block until an event arrives */
-
-    if (gettimeofday(&tv1, 0) == -1)
-      tv1.tv_usec = 0;
-#endif
-  }
-  else
+  if (!input_pause)
   {
     XSync(display, False); /* block until all graphics are drawn */
 
@@ -486,52 +411,9 @@ void input_eventloop(void)
     }
   }
 
+  input_esc = 0;
   input_die = 0;
   input_refresh = 0;
-  lastKeySym = NoSymbol;
-
-#if 0
-  while (XPending(display))
-  {
-    /* drain the event queue */
-    XNextEvent(display, &event);
-
-    switch(event.xany.type)
-    {
-      case KeyPress:
-       XLookupString(&event.xkey, (char *)&count, 1, &lastKeySym, 0);
-       break;
-
-      case Expose:
-       if (event.xexpose.window == xwindow && event.xexpose.count == 0)
-         input_refresh = 1;
-       break;
-
-      case ClientMessage:
-       if (event.xclient.window == xwindow &&
-           (Atom)event.xclient.data.l[0] == deleteAtom)
-         input_die = 1;
-       break;
-
-      case EnterNotify:
-       if (event.xcrossing.window == xwindow)
-         input_pause = 0;
-       break;
-
-      case LeaveNotify:
-       if (event.xcrossing.window == xwindow)
-         input_pause = 1;
-       break;
-    }
-  }
-
-  XQueryKeymap(display, keymatrix); /* read the keyboard */
-#endif
-
-  input_esc = 0;
-  for (i = 0; i < 1; i++)
-    if (keymatrix[escKeyCode[i] >> 3] & 1 << (escKeyCode[i] & 7))
-      input_esc = 1;
 }
 
 #endif
index e5390e9030a91113f7347e27b5099bc9d881ae59..27acb33a5245747fc62cb8479f93652bca414a8c 100644 (file)
@@ -263,13 +263,15 @@ void InitElementSmallImages()
     if (property_mapping[i].artwork_index < MAX_NUM_ELEMENTS)
       InitElementSmallImagesScaledUp(property_mapping[i].artwork_index);
 
-  /* !!! FIX ME (CHANGE TO USING NORMAL ELEMENT GRAPHIC DEFINITIONS) !!! */
 #if 1
+  /* !!! FIX THIS (CHANGE TO USING NORMAL ELEMENT GRAPHIC DEFINITIONS) !!! */
   for (i = IMG_EMC_OBJECT; i <= IMG_EMC_TITLE; i++)
     InitElementSmallImagesScaledUp(i);
 #endif
 }
 
+#if 1
+/* !!! FIX THIS (CHANGE TO USING NORMAL ELEMENT GRAPHIC DEFINITIONS) !!! */
 void SetBitmaps_EM(Bitmap **em_bitmap)
 {
   em_bitmap[0] = graphic_info[IMG_EMC_OBJECT].bitmap;
@@ -277,6 +279,7 @@ void SetBitmaps_EM(Bitmap **em_bitmap)
   em_bitmap[2] = graphic_info[IMG_EMC_SPRITE].bitmap;
   em_bitmap[3] = graphic_info[IMG_EMC_TITLE].bitmap;
 }
+#endif
 
 static int getFontBitmapID(int font_nr)
 {