> Am 25.08.2015 um 22:24 schrieb Christian Weisgerber <[email protected]>:
> 
> This moves games/xinvaders to a slightly newer release (1993 -> 2000)
> and fixes the LP64 issue in the application resource handling.  The
> fix is, uh, inspired by xcdplayer but uses a #define hack to keep
> the patching down.
> 
> I've dropped pjanzen@ as maintainer since his e-mail address is gone.
> 
> We could enable scorefile support (say, /var/games/xinvaders.score)
> and install xinvaders as setgid games.  Do we want that?

Yes, please.

> Tested on amd64 and sparc64 with forwarded display.
> 
> OK?

OK jung@

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/xinvaders/Makefile,v
> retrieving revision 1.30
> diff -u -p -r1.30 Makefile
> --- Makefile    8 Dec 2014 21:35:32 -0000    1.30
> +++ Makefile    25 Aug 2015 20:15:08 -0000
> @@ -1,35 +1,21 @@
> # $OpenBSD: Makefile,v 1.30 2014/12/08 21:35:32 naddy Exp $
> 
> -NOT_FOR_ARCHS=    ${LP64_ARCHS}
> -
> COMMENT=    shoot them nasty little bugs
> 
> -DISTNAME=       xinvaders
> -DIST_SUBDIR=    xinvaders
> -PKGNAME=    xinvaders-2.0
> -REVISION =    2
> +DISTNAME=    xinvaders-2.1.1
> CATEGORIES=    games
> 
> -MAINTAINER=    Paul Janzen <[email protected]>
> -
> PERMIT_PACKAGE_CDROM=    no fee
> PERMIT_PACKAGE_FTP=    Yes
> 
> -WANTLIB=    ICE SM X11 Xau Xdmcp Xaw Xext Xmu Xt c pthread-stubs xcb
> -
> -MASTER_SITES=    ftp://ftp.uu.net/usenet/comp.sources.x/volume19/xinvaders/ \
> -        
> ftp://unix.hensa.ac.uk/archive/usenet/comp.sources.x/volume19/xinvaders/
> -DISTFILES=    part01.Z part02.Z part03.Z
> -
> -EXTRACT_CASES=    *.Z) ${GZIP_CMD} -dc ${FULLDISTDIR}/$$archive | 
> ${_PERL_FIX_SHAR} | /bin/sh;;
> -
> -CONFIGURE_STYLE=    imake
> +WANTLIB=    X11 Xaw Xmu Xt c
> 
> -WRKDIST=    ${WRKDIR}
> +MASTER_SITES=    ${MASTER_SITE_SUNSITE:=games/arcade/invaders/}
> 
> -pre-patch:
> -    @cd $(WRKSRC) ; mv xinvaders.ma xinvaders.man
> +MODULES=    devel/gettext
> 
> -NO_TEST=    Yes
> +CONFIGURE_STYLE=gnu
> +CONFIGURE_ENV=    CPPFLAGS="-I${LOCALBASE}/include" \
> +        LDFLAGS="-L${LOCALBASE}/lib -lintl -liconv"
> 
> .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/games/xinvaders/distinfo,v
> retrieving revision 1.4
> diff -u -p -r1.4 distinfo
> --- distinfo    18 Jan 2015 03:14:04 -0000    1.4
> +++ distinfo    25 Aug 2015 20:15:08 -0000
> @@ -1,6 +1,2 @@
> -SHA256 (xinvaders/part01.Z) = wtlmG+Dk3nMGLOITk0t/96J2YVVbN4yNyRvyAKiK2do=
> -SHA256 (xinvaders/part02.Z) = QeTLQNorOQyz7ekvAkJBgvnaRXjMpAMJdQCEgfxQIIo=
> -SHA256 (xinvaders/part03.Z) = jt+pRAwpo67H29Glk4oo3SEo8SLT1AOELHPXEp4jnro=
> -SIZE (xinvaders/part01.Z) = 15161
> -SIZE (xinvaders/part02.Z) = 24538
> -SIZE (xinvaders/part03.Z) = 17263
> +SHA256 (xinvaders-2.1.1.tar.gz) = 
> 2yCBidZmgFjwTF25tJ/no0J4J7xQUQzAm1PmxF7EFI0=
> +SIZE (xinvaders-2.1.1.tar.gz) = 120631
> Index: patches/patch-Imakefile
> ===================================================================
> RCS file: patches/patch-Imakefile
> diff -N patches/patch-Imakefile
> --- patches/patch-Imakefile    26 Oct 2007 21:19:16 -0000    1.1
> +++ /dev/null    1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -$OpenBSD: patch-Imakefile,v 1.1 2007/10/26 21:19:16 ajacoutot Exp $
> ---- Imakefile.orig    Fri Oct 26 23:05:34 2007
> -+++ Imakefile    Fri Oct 26 23:05:39 2007
> -@@ -4,6 +4,7 @@ OBJS = spacers.o base.o widget.o main.o vaders.o shot.
> - 
> - SRCS = spacers.c base.c widget.c main.c vaders.c shot.c score.c
> - 
> --INCLUDES = -I$(TOP) -I$(TOP)/X11
> -+INCLUDES = -I$(TOP)
> - 
> - ComplexProgramTarget(xinvaders)
> -+MANSUFFIX=6
> Index: patches/patch-Makefile_in
> ===================================================================
> RCS file: patches/patch-Makefile_in
> diff -N patches/patch-Makefile_in
> --- /dev/null    1 Jan 1970 00:00:00 -0000
> +++ patches/patch-Makefile_in    25 Aug 2015 20:15:08 -0000
> @@ -0,0 +1,25 @@
> +$OpenBSD$
> +--- Makefile.in.orig    Mon Sep 18 07:53:30 2000
> ++++ Makefile.in    Tue Aug 25 19:59:59 2015
> +@@ -91,7 +91,7 @@ AUTOMAKE_OPTIONS = foreign
> + SUBDIRS = intl po
> + EXTRA_DIST = debian Vaders xinvaders.6 icon.xpm xinvaders.lsm
> + 
> +-execgamesdir = $(prefix)/games
> ++execgamesdir = $(prefix)/bin
> + execgames_PROGRAMS = xinvaders
> + 
> + xinvaders_SOURCES = base.c main.c score.c shot.c spacers.c vaders.c 
> widget.c me.h patchlevel.h vaders.h base1.bit base2.bit explode1.bit 
> explode2.bit spacer1.bit spacer2.bit sperma1.bit sperma2.bit spermb1.bit 
> spermb2.bit vader1a1.bit vader1a2.bit vader1b1.bit vader1b2.bit vader2a1.bit 
> vader2a2.bit vader2b1.bit vader2b2.bit vader3a1.bit vader3a2.bit vader3b1.bit 
> vader3b2.bit vexplod1.bit vexplod2.bit
> +@@ -442,10 +442,10 @@ installcheck: installcheck-recursive
> + all-recursive-am: config.h
> +    $(MAKE) $(AM_MAKEFLAGS) all-recursive
> + 
> +-install-exec-am: install-execgamesPROGRAMS install-exec-local
> ++install-exec-am: install-execgamesPROGRAMS
> + install-exec: install-exec-recursive
> + 
> +-install-data-am: install-man install-data-local
> ++install-data-am: install-man
> + install-data: install-data-recursive
> + 
> + install-am: all-am
> Index: patches/patch-base_c
> ===================================================================
> RCS file: patches/patch-base_c
> diff -N patches/patch-base_c
> --- patches/patch-base_c    26 Oct 2007 21:19:16 -0000    1.1
> +++ /dev/null    1 Jan 1970 00:00:00 -0000
> @@ -1,51 +0,0 @@
> -$OpenBSD: patch-base_c,v 1.1 2007/10/26 21:19:16 ajacoutot Exp $
> ---- base.c.orig    Fri Oct 26 23:05:33 2007
> -+++ base.c    Fri Oct 26 23:05:40 2007
> -@@ -48,11 +48,6 @@ XImage *explosion;
> - 
> - int ReadBaseImage()
> - {
> --  unsigned int width, height;
> --  int x_hot, y_hot;
> --  char *data, filename[255];
> --  int status;
> --
> -   base->width = (scale == 1) ? base1_width : base2_width;
> -   base->height = (scale == 1) ? base1_height : base2_height;
> - 
> -@@ -105,7 +100,7 @@ GC gc;
> - }
> - 
> - 
> --ShowBase(i, gc)
> -+void ShowBase(i, gc)
> - int i;
> - GC gc;
> - {
> -@@ -114,7 +109,7 @@ GC gc;
> -        base->width, base->height);
> - }
> - 
> --PaintBasesLeft()
> -+void PaintBasesLeft()
> - {
> -   int i;
> -   XDrawString(dpy, labelwindow, scoregc,
> -@@ -156,7 +151,7 @@ int x,y;
> -   return FALSE;
> - }
> - 
> --ResetGame()
> -+void ResetGame()
> - {
> -   static Arg args[1];
> - 
> -@@ -314,7 +309,7 @@ int x,y;
> -   return FALSE;
> - }
> - 
> --InitBuildings()
> -+void InitBuildings()
> - {
> -   int i, j, k;
> - 
> Index: patches/patch-main_c
> ===================================================================
> RCS file: /cvs/ports/games/xinvaders/patches/patch-main_c,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-main_c
> --- patches/patch-main_c    26 Oct 2007 21:19:16 -0000    1.1
> +++ patches/patch-main_c    25 Aug 2015 20:15:08 -0000
> @@ -1,32 +1,196 @@
> $OpenBSD: patch-main_c,v 1.1 2007/10/26 21:19:16 ajacoutot Exp $
> ---- main.c.orig    Fri Oct 26 23:05:33 2007
> -+++ main.c    Fri Oct 26 23:05:40 2007
> -@@ -135,14 +135,13 @@ caddr_t data;
> +--- main.c.orig    Mon Sep 11 00:32:16 2000
> ++++ main.c    Tue Aug 25 21:10:26 2015
> +@@ -26,7 +26,6 @@ Wed May  8 1991
> + #include <X11/IntrinsicP.h>
> + #include <X11/Label.h>
> + #endif
> +-static int width, height;        /* Size of window. */
> + 
> + #ifdef XFILESEARCHPATH
> + static void AddPathToSearchPath();
> +@@ -40,51 +39,51 @@ static XrmOptionDescRec table[] = {
> + 
> + static XtResource resources[] = {
> +     {XtNwidth, XtCWidth, XtRInt, sizeof(int),
> +-     (Cardinal)&width, XtRImmediate, (caddr_t) VWIDTH},
> ++     XtOffsetOf(AppData, width), XtRImmediate, (caddr_t) VWIDTH},
> +     {XtNheight, XtCHeight, XtRInt, sizeof(int),
> +-     (Cardinal)&height, XtRImmediate, (caddr_t) VHEIGHT},
> ++     XtOffsetOf(AppData, height), XtRImmediate, (caddr_t) VHEIGHT},
> +     {"debug", "Debug", XtRBoolean, sizeof(Boolean),
> +-     (Cardinal)&debug, XtRString, "off"},
> ++     XtOffsetOf(AppData, debug), XtRString, "off"},
> +     {"font", "Font", XtRString, sizeof(String),
> +-     (Cardinal)&vaderfont, XtRString, (String)"9x15"},
> ++     XtOffsetOf(AppData, vaderfont), XtRString, (String)"9x15"},
> +     {"scale", "Scale", XtRInt, sizeof(int),
> +-     (Cardinal)&scale, XtRImmediate, (caddr_t) 2},
> ++     XtOffsetOf(AppData, scale), XtRImmediate, (caddr_t) 2},
> +     {"basewait", "BaseWait", XtRInt, sizeof(int),
> +-     (Cardinal)&basewait, XtRImmediate, (caddr_t) 10},
> ++     XtOffsetOf(AppData, basewait), XtRImmediate, (caddr_t) 10},
> +     {"vaderwait", "VaderWait", XtRInt, sizeof(int),
> +-     (Cardinal)&vaderwait, XtRImmediate, (caddr_t) 300},
> ++     XtOffsetOf(AppData, vaderwait), XtRImmediate, (caddr_t) 300},
> +     {"spacerwait", "SpacerWait", XtRInt, sizeof(int),
> +-     (Cardinal)&spacerwait, XtRImmediate, (caddr_t) 50},
> ++     XtOffsetOf(AppData, spacerwait), XtRImmediate, (caddr_t) 50},
> +     {"shotwait", "ShotWait", XtRInt, sizeof(int),
> +-     (Cardinal)&shotwait, XtRImmediate, (caddr_t) 10},
> ++     XtOffsetOf(AppData, shotwait), XtRImmediate, (caddr_t) 10},
> +     {"vshotwait", "VshotWait", XtRInt, sizeof(int),
> +-     (Cardinal)&vshotwait, XtRImmediate, (caddr_t) 30},
> ++     XtOffsetOf(AppData, vshotwait), XtRImmediate, (caddr_t) 30},
> +     {"basecolor", "BaseColor", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&basepixel, XtRString, "cyan"},
> ++     XtOffsetOf(AppData, basepixel), XtRString, "cyan"},
> +     {"spacercolor", "SpacerColor", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&spacerpixel, XtRString, "gray"},
> ++     XtOffsetOf(AppData, spacerpixel), XtRString, "gray"},
> +     {"buildingcolor", "BuildingColor", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&buildingpixel, XtRString, "yellow"},
> ++     XtOffsetOf(AppData, buildingpixel), XtRString, "yellow"},
> +     {"vader1color", "Vader1Color", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&vader1pixel, XtRString, "blue"},
> ++     XtOffsetOf(AppData, vader1pixel), XtRString, "blue"},
> +     {"vader2color", "Vader2Color", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&vader2pixel, XtRString, "green"},
> ++     XtOffsetOf(AppData, vader2pixel), XtRString, "green"},
> +     {"vader3color", "Vader3Color", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&vader3pixel, XtRString, "red"},
> ++     XtOffsetOf(AppData, vader3pixel), XtRString, "red"},
> +     {"shotcolor", "ShotColor", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&shotpixel, XtRString, "lavender"},
> ++     XtOffsetOf(AppData, shotpixel), XtRString, "lavender"},
> +     {"vshotcolor", "VshotColor", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&vshotpixel, XtRString, "orange"},
> ++     XtOffsetOf(AppData, vshotpixel), XtRString, "orange"},
> +     {"scorecolor", "ScoreColor", XtRPixel, sizeof(Pixel),
> +-     (Cardinal)&scorepixel, XtRString, "white"},
> ++     XtOffsetOf(AppData, scorepixel), XtRString, "white"},
> +     {"maxshots", "MaxShots", XtRInt, sizeof(int),
> +-     (Cardinal) &maxshots, XtRImmediate, (caddr_t) 1},
> ++     XtOffsetOf(AppData, maxshots), XtRImmediate, (caddr_t) 1},
> +     {"maxvshots", "MaxVshots", XtRInt, sizeof(int),
> +-     (Cardinal) &maxvshots, XtRImmediate, (caddr_t) 6},
> ++     XtOffsetOf(AppData, maxvshots), XtRImmediate, (caddr_t) 6},
> +     {"defaultfore", "DefaultFore", XtRPixel, sizeof(Pixel),
> +-     (Cardinal) &defaultfore, XtRString, "white"},
> ++     XtOffsetOf(AppData, defaultfore), XtRString, "white"},
> +     {"defaultback", "DefaultBack", XtRPixel, sizeof(Pixel),
> +-     (Cardinal) &defaultback, XtRString, "black"},
> ++     XtOffsetOf(AppData, defaultback), XtRString, "black"},
> + };
> + 
> + 
> +@@ -141,7 +140,7 @@ caddr_t data;
>    return w;
>  }
> 
> --main(argc, argv)
> -+int main(argc, argv)
> - Cardinal argc;
> - char **argv;
> +-int main(Cardinal argc, char **argv)
> ++int main(int argc, char **argv)
>  {
>    static Arg args[10];
>    int n;
> -   Widget form, button;
> --  extern WidgetClass labelwidgetclass;
> +@@ -161,25 +160,25 @@ int main(Cardinal argc, char **argv)
> +              &argc, argv);
> +   dpy = XtDisplay(toplevel);
> +   XtAddConverter(XtRString, XtRFloat, CvtStringToFloat, NULL, 0);
> +-  XtGetApplicationResources(toplevel, (caddr_t) NULL, 
> ++  XtGetApplicationResources(toplevel, (caddr_t) &app_data, 
> +                resources, XtNumber(resources),
> +                NULL, (Cardinal) 0);
> +-  AddResource("*background", &defaultback);
> ++  AddResource("*background", &app_data.defaultback);
> +   if (DisplayCells(dpy, DefaultScreen(dpy)) <= 2)
> +     {
> +-      basepixel = defaultfore;
> +-      buildingpixel = defaultfore;
> +-      vader1pixel = defaultfore;
> +-      vader2pixel = defaultfore;
> +-      vader3pixel = defaultfore;
> +-      shotpixel = defaultfore;
> +-      vshotpixel = defaultfore;
> +-      scorepixel = defaultfore;
> ++      app_data.basepixel = app_data.defaultfore;
> ++      app_data.buildingpixel = app_data.defaultfore;
> ++      app_data.vader1pixel = app_data.defaultfore;
> ++      app_data.vader2pixel = app_data.defaultfore;
> ++      app_data.vader3pixel = app_data.defaultfore;
> ++      app_data.shotpixel = app_data.defaultfore;
> ++      app_data.vshotpixel = app_data.defaultfore;
> ++      app_data.scorepixel = app_data.defaultfore;
> +     }
> +-  if (scale<1) scale = 1;
> +-  if (scale>2) scale = 2;
> +-  width = scale*VWIDTH;
> +-  height = scale*VHEIGHT;
> ++  if (app_data.scale<1) app_data.scale = 1;
> ++  if (app_data.scale>2) app_data.scale = 2;
> ++  app_data.width = app_data.scale*VWIDTH;
> ++  app_data.height = app_data.scale*VHEIGHT;
> 
> -   me_image = NULL;
> +   form = XtCreateManagedWidget ("form", formWidgetClass,
> +                toplevel, NULL, 0);
> +@@ -189,8 +188,8 @@ int main(Cardinal argc, char **argv)
> +   XtSetArg (args[n], XtNright, XtChainLeft); n++;
> +   XtSetArg (args[n], XtNtop, XtChainTop); n++;
> +   XtSetArg (args[n], XtNbottom, XtChainTop); n++;
> +-  XtSetArg (args[n], XtNwidth, width); n++;
> +-  XtSetArg (args[n], XtNheight, height); n++;
> ++  XtSetArg (args[n], XtNwidth, app_data.width); n++;
> ++  XtSetArg (args[n], XtNheight, app_data.height); n++;
> +   
> +   gamewidget = (VadersWidget)
> +     XtCreateManagedWidget("field", vadersWidgetClass, form, args, n);
> +@@ -204,29 +203,29 @@ int main(Cardinal argc, char **argv)
> +   XtSetArg (args[n], XtNbottom, XtChainTop); n++;
> +   XtSetArg (args[n], XtNfromHoriz, gamewidget); n++;
> +   XtSetArg (args[n], XtNhorizDistance, 5); n++;
> +-  XtSetArg (args[n], XtNwidth, scale*IWIDTH); n++;
> +-  XtSetArg (args[n], XtNheight, height/2); n++;
> ++  XtSetArg (args[n], XtNwidth, app_data.scale*IWIDTH); n++;
> ++  XtSetArg (args[n], XtNheight, app_data.height/2); n++;
> +   
> +   labelwidget = (VadersWidget)
> +     XtCreateManagedWidget("label", vadersWidgetClass, form, args, n);
> 
> -@@ -268,12 +267,4 @@ char *path;
> - #endif
> -      }
> +   pausebutton = MakeCommandButton(form, "pause", Pause, labelwidget, 
> gamewidget, NULL);
> +   XtSetArg(args[0], XtNlabel,_(" Start"));
> +-  XtSetArg(args[1], XtNforeground, defaultfore);
> +-  XtSetArg(args[2], XtNbackground, defaultback);
> +-  XtSetArg(args[3], XtNborderColor, defaultfore);
> ++  XtSetArg(args[1], XtNforeground, app_data.defaultfore);
> ++  XtSetArg(args[2], XtNbackground, app_data.defaultback);
> ++  XtSetArg(args[3], XtNborderColor, app_data.defaultfore);
> +   XtSetValues(pausebutton, args, 4);
> +   button = MakeCommandButton(form, "quit", Quit, pausebutton, gamewidget, 
> NULL);
> +   XtSetArg(args[0], XtNlabel,_(" Quit "));
> +-  XtSetArg(args[1], XtNforeground, defaultfore);
> +-  XtSetArg(args[2], XtNbackground, defaultback);
> +-  XtSetArg(args[3], XtNborderColor, defaultfore);
> ++  XtSetArg(args[1], XtNforeground, app_data.defaultfore);
> ++  XtSetArg(args[2], XtNbackground, app_data.defaultback);
> ++  XtSetArg(args[3], XtNborderColor, app_data.defaultfore);
> +   XtSetValues(button, args, 4);
> +   infobutton = MakeCommandButton(form, "info", ShowInfo, button, 
> gamewidget, NULL);
> +   XtSetArg(args[0], XtNlabel,_(" Info "));
> +-  XtSetArg(args[1], XtNforeground, defaultfore);
> +-  XtSetArg(args[2], XtNbackground, defaultback);
> +-  XtSetArg(args[3], XtNborderColor, defaultfore);
> ++  XtSetArg(args[1], XtNforeground, app_data.defaultfore);
> ++  XtSetArg(args[2], XtNbackground, app_data.defaultback);
> ++  XtSetArg(args[3], XtNborderColor, app_data.defaultfore);
> +   XtSetValues(infobutton, args, 4);
> + 
> +   XtRealizeWidget(toplevel);
> +@@ -280,7 +279,7 @@ char *path;
>  }
> --#endif
> --
> --#ifdef sparc
> --XShapeCombineMask()
> --{}
> --
> --XShapeQueryExtension()
> --{}
>  #endif
> + 
> +-#ifdef sparc
> ++#ifdef sun
> + XShapeCombineMask()
> + {}
> + 
> Index: patches/patch-score_c
> ===================================================================
> RCS file: patches/patch-score_c
> diff -N patches/patch-score_c
> --- patches/patch-score_c    26 Oct 2007 21:19:16 -0000    1.1
> +++ /dev/null    1 Jan 1970 00:00:00 -0000
> @@ -1,21 +0,0 @@
> -$OpenBSD: patch-score_c,v 1.1 2007/10/26 21:19:16 ajacoutot Exp $
> ---- score.c.orig    Fri Oct 26 23:05:34 2007
> -+++ score.c    Fri Oct 26 23:05:40 2007
> -@@ -20,7 +20,7 @@ Wed May  8 1991
> - #define HILABEL        (SCOREPOS+20)
> - #define HIPOS        (HILABEL+15)
> - 
> --PaintScore()
> -+void PaintScore()
> - {
> -   char scorestring[8];
> -   XDrawImageString(dpy, labelwindow, scoregc, 0, SCORELABEL, "Score", 5);
> -@@ -39,7 +39,7 @@ PaintScore()
> -     XDrawImageString(dpy, labelwindow, scoregc, 0, HIPOS, scorestring, 7);
> - }
> - 
> --InitScore()
> -+void InitScore()
> - {
> -     score = 0;
> -     if (hiscore == 0) hiscore = -1;
> Index: patches/patch-shot_c
> ===================================================================
> RCS file: patches/patch-shot_c
> diff -N patches/patch-shot_c
> --- patches/patch-shot_c    26 Oct 2007 21:19:16 -0000    1.1
> +++ /dev/null    1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -$OpenBSD: patch-shot_c,v 1.1 2007/10/26 21:19:16 ajacoutot Exp $
> ---- shot.c.orig    Fri Oct 26 23:05:34 2007
> -+++ shot.c    Fri Oct 26 23:05:41 2007
> -@@ -230,7 +230,7 @@ int ReadVshotImages()
> -   return BitmapSuccess;
> - }
> - 
> --InitShot()
> -+void InitShot()
> - {
> -     shottimerid = NULL;
> -     numshots = 0;
> Index: patches/patch-vaders_h
> ===================================================================
> RCS file: /cvs/ports/games/xinvaders/patches/patch-vaders_h,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-vaders_h
> --- patches/patch-vaders_h    26 Oct 2007 21:19:16 -0000    1.1
> +++ patches/patch-vaders_h    25 Aug 2015 20:15:08 -0000
> @@ -1,56 +1,150 @@
> -$OpenBSD: patch-vaders_h,v 1.1 2007/10/26 21:19:16 ajacoutot Exp $
> ---- vaders.h.orig    Fri Oct 26 23:05:36 2007
> -+++ vaders.h    Fri Oct 26 23:05:41 2007
> -@@ -130,11 +130,11 @@ ext int vaderwait;        /* Number of milleseconds to 
> wait 
> +$OpenBSD$
> +--- vaders.h.orig    Mon Sep 11 00:32:40 2000
> ++++ vaders.h    Tue Aug 25 21:28:01 2015
> +@@ -90,15 +90,82 @@ typedef struct _VadersRec {
> 
> - ext Pixel spacerpixel;
> - ext XtIntervalId spacertimerid;
> --ext int spacerwait;        /* Number of milliseconds to wait between
> --                /* moving spacers. /*
> -+ext int spacerwait;        /* Number of milliseconds to wait between */
> + 
> + 
> ++/*
> ++ * Application resources
> ++ */
> ++typedef struct {
> ++    int width, height;        /* Size of window. */
> ++    int scale;
> ++    Boolean debug;
> + 
> ++    /* Base info: */
> ++    int basewait;        /* Number of milliseconds to wait between */
> ++                /* moving base. */
> ++    Pixel basepixel;
> ++    Pixel buildingpixel;
> ++
> ++    /* Vader info  */
> ++    Pixel vader1pixel;
> ++    Pixel vader2pixel;
> ++    Pixel vader3pixel;
> ++    int vaderwait;        /* Number of milliseconds to wait between */
> ++                /* moving vaders. */
> ++
> ++    /* Spacer info */
> ++    Pixel spacerpixel;
> ++    int spacerwait;        /* Number of milliseconds to wait between */
> +                /* moving spacers. */
> ++
> ++    /* Shot info */
> ++    Pixel shotpixel;
> ++    Pixel vshotpixel;
> ++    int shotwait;
> ++    int vshotwait;
> ++    int maxshots;        /* How many shots are allowed to exist at */
> ++                /* once. */
> ++    int maxvshots;        /* How many shots are allowed to exist at */
> ++                /* once. */
> ++
> ++    /* Score info */
> ++    Pixel scorepixel;
> ++
> ++    Pixel defaultfore, defaultback;
> ++
> ++    char *vaderfont;
> ++} AppData;
> ++
> ++ext AppData app_data;
> ++
> ++#ifndef MAIN
> ++#define scale        app_data.scale
> ++#define debug        app_data.debug
> ++#define basewait    app_data.basewait
> ++#define basepixel    app_data.basepixel
> ++#define buildingpixel    app_data.buildingpixel
> ++#define vader1pixel    app_data.vader1pixel
> ++#define vader2pixel    app_data.vader2pixel
> ++#define vader3pixel    app_data.vader3pixel
> ++#define vaderwait    app_data.vaderwait
> ++#define spacerpixel    app_data.spacerpixel
> ++#define spacerwait    app_data.spacerwait
> ++#define shotpixel    app_data.shotpixel
> ++#define vshotpixel    app_data.vshotpixel
> ++#define shotwait    app_data.shotwait
> ++#define vshotwait    app_data.vshotwait
> ++#define maxshots    app_data.maxshots
> ++#define maxvshots    app_data.maxvshots
> ++#define scorepixel    app_data.scorepixel
> ++#define defaultfore    app_data.defaultfore
> ++#define defaultback    app_data.defaultback
> ++#define vaderfont    app_data.vaderfont
> ++#endif
> ++
> + /*
> +  * Actual vaders definitions.
> +  */
> + 
> + ext Widget pausebutton, infobutton;
> +-ext int scale;
> + 
> +-ext Boolean debug;
> + ext int level;
> + 
> + ext Display *dpy;
> +@@ -111,30 +178,17 @@ ext int basesleft;
> + 
> + /* Base info: */
> + 
> +-ext int basewait;        /* Number of milleseconds to wait between */
> +-                /* moving base. */
> +-
> + ext XtIntervalId basetimerid;
> + 
> +-ext Pixel basepixel;
> +-ext Pixel buildingpixel;
> + ext Boolean basedestroyed;    /* TRUE if the base is non-existant */
> + 
> + /* Vader info: */
> + 
> + ext XtIntervalId vadertimerid;
> +-ext Pixel vader1pixel;
> +-ext Pixel vader2pixel;
> +-ext Pixel vader3pixel;
> +-ext int vaderwait;        /* Number of milleseconds to wait between */
> +-                /* moving vaders. */
> + 
> + /* Spacer info */
> + 
> +-ext Pixel spacerpixel;
> + ext XtIntervalId spacertimerid;
> +-ext int spacerwait;        /* Number of milliseconds to wait between */
> +-                /* moving spacers. */
>  ext int spacerappear;        /* same, but for the interval between 
> appearances */
> 
> --ext Boolean spacer_shown;        /* Currnet_Spacer is something */
> -+ext Boolean spacer_shown;        /* Current_Spacer is something */
> - ext int spacer_counter;        /* number of cycles to create a spacer */
> - 
> - /* Shot info. */
> -@@ -168,7 +168,6 @@ ext XImage *me_image;
> - 
> - /* From widget.c */
> - 
> --extern Boolean TakeFocus();
> - extern void Quit();
> - extern void Pause();
> - extern int paused;
> -@@ -188,6 +187,10 @@ extern Boolean ShotHitsBuilding();
> - extern void InitBase();
> - extern void PaintBase();
> - extern void DrawBuildings();
> -+extern void InitBuildings();
> -+extern void PaintBasesLeft();
> -+extern void ShowBase();
> -+extern void ResetGame();
> - 
> - /* From vaders.c */
> - 
> -@@ -207,6 +210,10 @@ extern void MakeSpacer();
> - extern void InitSpacers();
> - extern void PaintSpacer();
> - 
> -+/* from score.c */
> -+extern void PaintScore();
> -+extern void InitScore();
> -+
> - /* From shot.c */
> - 
> - extern void AddLine();
> -@@ -216,6 +223,7 @@ extern void MoveShots();
> - extern void MoveVshots();
> - extern void PaintAllShots();
> - ext Pixel defaultfore, defaultback;
> -+extern void InitShot();
> + ext Boolean spacer_shown;        /* Currnet_Spacer is something */
> +@@ -144,21 +198,11 @@ ext int spacer_counter;        /* number of cycles to 
> create
> 
> - ext char *vaderfont;
> + ext XtIntervalId shottimerid;
> + ext XtIntervalId vshottimerid;
> +-ext Pixel shotpixel;
> +-ext Pixel vshotpixel;
> +-ext int shotwait;
> +-ext int vshotwait;
> +-ext int maxshots;        /* How many shots are allowed to exist at */
> +-                /* once. */
> +-ext int maxvshots;        /* How many shots are allowed to exist at */
> +-                /* once. */
> + ext int numshots;        /* how many shots (from the base) there are right 
> now. */
> + ext int numvshots;        /* how many shots (from vaders) there are right 
> now. */
> + 
> + /* Score info */
> + 
> +-ext Pixel scorepixel;
> +-
> + ext int bases, nextbonus, lastscore;
> + extern int hiscore;
> + 
> +@@ -227,8 +271,5 @@ void InitShot();
> + void MoveShots();
> + void MoveVshots();
> + void PaintAllShots();
> +-ext Pixel defaultfore, defaultback;
> +-
> +-ext char *vaderfont;
> 
> + #endif _vaders_h
> Index: patches/patch-widget_c
> ===================================================================
> RCS file: patches/patch-widget_c
> diff -N patches/patch-widget_c
> --- patches/patch-widget_c    26 Oct 2007 21:19:16 -0000    1.1
> +++ /dev/null    1 Jan 1970 00:00:00 -0000
> @@ -1,15 +0,0 @@
> -$OpenBSD: patch-widget_c,v 1.1 2007/10/26 21:19:16 ajacoutot Exp $
> ---- widget.c.orig    Fri Oct 26 23:05:34 2007
> -+++ widget.c    Fri Oct 26 23:05:41 2007
> -@@ -25,8 +25,9 @@ typedef struct _BaseRec {
> - 
> - extern Base base;
> - 
> --void HandleFocus();
> --void HandleStruct();
> -+static void HandleFocus();
> -+static void HandleStruct();
> -+static Boolean TakeFocus();
> - void Pause();
> - 
> - static XtActionsRec actions[] = {
> Index: pkg/DESCR
> ===================================================================
> RCS file: /cvs/ports/games/xinvaders/pkg/DESCR,v
> retrieving revision 1.2
> diff -u -p -r1.2 DESCR
> --- pkg/DESCR    25 Sep 1998 22:49:21 -0000    1.2
> +++ pkg/DESCR    25 Aug 2015 20:15:08 -0000
> @@ -1,2 +1,2 @@
> -Xinvaders is an implementation of the old Atari Space Invaders game
> +Xinvaders is an implementation of the classic Space Invaders game
> on top of the X11 window system.
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/games/xinvaders/pkg/PLIST,v
> retrieving revision 1.6
> diff -u -p -r1.6 PLIST
> --- pkg/PLIST    11 Oct 2013 20:39:25 -0000    1.6
> +++ pkg/PLIST    25 Aug 2015 20:15:08 -0000
> @@ -1,3 +1,4 @@
> @comment $OpenBSD: PLIST,v 1.6 2013/10/11 20:39:25 naddy Exp $
> @bin bin/xinvaders
> @man man/man6/xinvaders.6
> +share/locale/es/LC_MESSAGES/xinvaders.mo
> -- 
> Christian "naddy" Weisgerber                          [email protected]
> 

Reply via email to