From 536e46a4eadb99140f58a8b09a7e25ca02b50680 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Mon, 23 Aug 2004 01:42:22 +0200 Subject: [PATCH] rnd-20040823-2-src --- src/conftime.h | 2 +- src/game_em/global.h | 1 - src/game_em/graphics.c | 11 - src/game_em/init.c | 981 +---------------------------------------- src/game_em/input.c | 134 +----- src/init.c | 5 +- 6 files changed, 19 insertions(+), 1115 deletions(-) diff --git a/src/conftime.h b/src/conftime.h index 6859b2a7..20e261cf 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2004-08-23 01:07]" +#define COMPILE_DATE_STRING "[2004-08-23 01:40]" diff --git a/src/game_em/global.h b/src/game_em/global.h index 0de51f50..0e3bd093 100644 --- a/src/game_em/global.h +++ b/src/game_em/global.h @@ -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); diff --git a/src/game_em/graphics.c b/src/game_em/graphics.c index 04c2a240..edc15643 100644 --- a/src/game_em/graphics.c +++ b/src/game_em/graphics.c @@ -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(); diff --git a/src/game_em/init.c b/src/game_em/init.c index da8ebd64..f5c59b14 100644 --- a/src/game_em/init.c +++ b/src/game_em/init.c @@ -3,21 +3,15 @@ * open X11 display and sound */ -#if 1 #include #include #include #include #include #include -#endif -#include -#include -#include #include -#include -#include + #include #include #include @@ -36,11 +30,6 @@ #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; xstored_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; xred && - 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 diff --git a/src/game_em/input.c b/src/game_em/input.c index 81fa95ea..ad5ee68f 100644 --- a/src/game_em/input.c +++ b/src/game_em/input.c @@ -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 diff --git a/src/init.c b/src/init.c index e5390e90..27acb33a 100644 --- a/src/init.c +++ b/src/init.c @@ -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) { -- 2.34.1