FreeBSD Bugzilla – Attachment 131476 Details for
Bug 175567
games/xasteriods: Upate MASTER_SITES
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 17.19 KB, created by
tkato432
on 2013-01-25 21:10:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
tkato432
Created:
2013-01-25 21:10:00 UTC
Size:
17.19 KB
patch
obsolete
>diff -urN /usr/ports/games/xasteroids/Makefile games/xasteroids/Makefile >--- /usr/ports/games/xasteroids/Makefile 2012-11-08 07:16:30.000000000 +0900 >+++ games/xasteroids/Makefile 2013-01-12 21:15:49.000000000 +0900 >@@ -1,31 +1,40 @@ >-# New ports collection makefile for: xasteroids >-# Date created: 3 Jan 1995 >-# Whom: swallace >-# >+# Created by: swallace > # $FreeBSD: head/games/xasteroids/Makefile 300896 2012-07-14 13:54:48Z beat $ >-# > > PORTNAME= xasteroids > PORTVERSION= 5.0 > PORTREVISION= 2 > CATEGORIES= games >-MASTER_SITES= ftp://ftp.x.org/R5contrib/ >-DISTFILES= xasteroids.sh.Z >+MASTER_SITES= XCONTRIB/../R5contrib >+DISTNAME= ${PORTNAME} >+EXTRACT_SUFX= .sh.Z > > MAINTAINER= ports@FreeBSD.org > COMMENT= X11 based asteroids style arcade game > >-USE_IMAKE= yes >-USE_XORG= x11 xext >-NO_WRKSUBDIR= yes >-EXTRACT_CMD= ( cd ${WRKDIR}; zcat | sh -s ) >+EXTRACT_CMD= ( cd ${WRKDIR}; zcat | ${SH} -s ) > EXTRACT_BEFORE_ARGS= < > EXTRACT_AFTER_ARGS= # empty >+ >+NO_WRKSUBDIR= yes >+ >+USE_XORG= x11 xext >+ >+CPPFLAGS+= -I${LOCALBASE}/include >+LDFLAGS+= -L${LOCALBASE}/lib -lXext -lX11 -lm >+ > MAN6= xasteroids.6 > PLIST_FILES= bin/xasteroids > > post-extract: >- ${CP} ${FILESDIR}/Imakefile ${WRKSRC} >- ${CP} ${WRKSRC}/xast.man ${WRKSRC}/xasteroids.man >+ @${LN} -sf xast.man ${WRKSRC}/xasteroids.6 >+ >+do-build: >+ (cd ${WRKSRC} && ${CC} ${CPPFLAGS} ${CFLAGS} -o xasteroids xast.c \ >+ ${LDFLAGS}) >+ >+do-install: >+ (cd ${WRKSRC} && ${INSTALL_PROGRAM} xasteroids ${PREFIX}/bin) >+ (cd ${WRKSRC} && ${INSTALL_MAN} xasteroids.6 ${MAN6PREFIX}/man/man6) > > .include <bsd.port.mk> >diff -urN /usr/ports/games/xasteroids/files/Imakefile games/xasteroids/files/Imakefile >--- /usr/ports/games/xasteroids/files/Imakefile 2012-11-08 07:16:31.000000000 +0900 >+++ games/xasteroids/files/Imakefile 1970-01-01 09:00:00.000000000 +0900 >@@ -1,9 +0,0 @@ >- LOCAL_LIBRARIES = -lm $(XLIB) >- >- MANSUFFIX=6 >- >- OBJS = xast.o >- >- SRCS = xast.c >- >- ComplexProgramTarget(xasteroids) >diff -urN /usr/ports/games/xasteroids/files/patch-xast.c games/xasteroids/files/patch-xast.c >--- /usr/ports/games/xasteroids/files/patch-xast.c 1970-01-01 09:00:00.000000000 +0900 >+++ games/xasteroids/files/patch-xast.c 2013-01-12 22:01:50.000000000 +0900 >@@ -0,0 +1,421 @@ >+--- xast.c.orig >++++ xast.c >+@@ -3,6 +3,13 @@ >+ goetz@cs.buffalo.EDU >+ Version 5, 9 Feb 93 >+ >++ Changes after version 5.0: >++ >++ Improved cursor-hiding. >++ Arrow keys. >++ ANSI-C cleanups. >++ Use usleep() instead of a delay loop, when available. >++ >+ Changes from version 4.3: >+ >+ High score script. >+@@ -27,16 +34,30 @@ >+ Pat Ryan <pat@jaameri.gsfc.nasa.gov> >+ Craig Smith <csmith@cscs.UUCP> >+ Doug Merritt <doug@netcom.com> >++ Stephen McCamant <alias@mcs.com> >+ Makefile by James Berg <berg@plains> >+ Hi score script by Chris Moore <moore@src.bae.co.uk> >+ Man page by David Partain <dpl@ida.liu.se> >+ */ >+ #include <stdio.h> /* For NULL */ >++#include <stdlib.h> /* For malloc(), rand() etc */ >++#include <string.h> /* For srtlen() */ >++#include <time.h> /* For time() */ >+ #include <X11/Xlib.h> >+ #include <X11/Xutil.h> >+-#include <X11/cursorfont.h> /* For erasing cursor - not important */ >++#include <X11/keysym.h> >+ #include <math.h> >+ >++#ifdef HAS_USLEEP >++#include <unistd.h> >++#endif >++ >++#ifndef __STDC__ >++define void >++#endif >++ >++#define rand(rndint) rand() /* ??? */ >++ >+ /* Indexes for 1st dimension of obj */ >+ /* The order they are in is important */ >+ #define AST 0 >+@@ -68,10 +89,10 @@ >+ #define M_BULLET 0.1 >+ >+ /* Keys */ >+-#define FIRE 'p' >+-#define PAUSE 27 /* escape */ >+-#define SHIELD '`' >+-#define THRUST 'o' >++#define FIRE XK_p >++#define PAUSE XK_Escape /* escape */ >++#define SHIELD XK_grave /* ` */ >++#define THRUST XK_o >+ >+ #define BMAX 300 /* Max particles in a "boom" + 1 */ >+ #define letheight 20 /* height of font */ >+@@ -121,6 +142,7 @@ >+ shapesize[LASTSHAPE+1] = {44, 21, 10, 2, 1, SHIPSIZE+1, 35, 20}, >+ shield_on; >+ >++void >+ initasts() >+ { int i; >+ extern Objtype obj[SHIP+1]; >+@@ -143,6 +165,7 @@ >+ obj[i].mass = M_BULLET; >+ } } >+ >++void >+ makeasts() >+ { int i; >+ extern Objtype obj[SHIP+1]; >+@@ -163,7 +186,7 @@ >+ if (a > 63) >+ obj[i].y = (double) a; >+ else obj[i].y = (double) height - a; >+- a = rand(rndint); a = 4 - a>>5; >++ a = rand(rndint); a = 4 - (a>>5); >+ obj[i].rot = (double) a; >+ a = rand(rndint); >+ obj[i].rotvel = ((double) a)/2048; >+@@ -177,6 +200,7 @@ >+ numasts = i; >+ } >+ >++void >+ makeenemy() /* Start an enemy ship */ >+ { extern Objtype obj[SHIP+1]; >+ extern int height, level, rndint; >+@@ -258,6 +282,7 @@ >+ return 0; >+ } >+ >++void >+ blastpair(i, j) /* Generate random velocity vector v. */ >+ int i, j ; /* Add v to i, -v to j. */ >+ { extern int rndint; >+@@ -266,7 +291,7 @@ >+ double vx, vy; >+ c = rand(rndint); >+ /* c = 4 - c>>5; if you need angles from -3 to 4 */ >+- c>>2; /* possibly save some time on sin/cos */ >++ c >>= 2; /* possibly save some time on sin/cos */ >+ vx = cos((double) c); vy = sin((double) c); >+ obj[i].xvel = obj[i].xvel + vx; >+ obj[i].yvel = obj[i].yvel + vy; >+@@ -282,6 +307,7 @@ >+ #define rotinert(i) (double) (obj[i].mass*shapesize[obj[i].shape]*shapesize[obj[i].shape]) >+ >+ /* cause two objects to collide elastically */ >++void >+ bounce(i, j) >+ int i,j; >+ { >+@@ -345,6 +371,7 @@ >+ obj[j].rotvel = temp; >+ } >+ >++void >+ botline(disp, window, gc) /* Print status line text */ >+ Display *disp; >+ Drawable window; >+@@ -357,6 +384,7 @@ >+ text, strlen(text)); >+ } >+ >++void >+ printss(disp, window, gc) /* Print ships and score */ >+ Display *disp; >+ Drawable window; >+@@ -389,6 +417,7 @@ >+ XClearArea(disp, window, 340+(energy>>1), height+8, 8, 10, False); >+ } >+ >++void >+ upscore(killer, up) /* Only award score for things the player shot */ >+ int killer, up; >+ { extern int score; >+@@ -397,6 +426,7 @@ >+ } >+ >+ /* boom, movebooms, drawbooms all by Peter Phillips */ >++void >+ boom(ob, particles, duration) >+ int ob; >+ int particles; >+@@ -429,6 +459,7 @@ >+ } >+ >+ /* move the various booms that are active */ >++void >+ movebooms() >+ { >+ int i; >+@@ -461,6 +492,7 @@ >+ } >+ >+ /* Draw the various booms */ >++void >+ drawbooms(disp, window, gc) >+ Display *disp; >+ Drawable window; >+@@ -481,6 +513,7 @@ >+ } >+ } >+ >++void >+ deletebooms() /* delete all booms */ >+ { Boom b; >+ >+@@ -490,11 +523,12 @@ >+ b = b->next; >+ } } >+ >++void >+ killast(killer, i) >+ int killer, i; /* i = Asteroid # to kill */ >+ { extern Objtype obj[SHIP+1]; >+ extern int numasts; >+- int k, na, oldna; >++ int k, na = 0, oldna; >+ >+ if (obj[i].shape == ASTSHAPE1) >+ { na = nextast(); /* Could put 6 lines in a sub */ >+@@ -543,6 +577,8 @@ >+ { boom(i, 9, 7); >+ obj[i].alive = 0; upscore(killer, 500);} >+ } >++ >++void >+ moveobjs(crash) >+ int *crash; >+ { extern Objtype obj[SHIP+1]; >+@@ -585,6 +621,7 @@ >+ } >+ } >+ >++void >+ fire() >+ { extern Objtype obj[SHIP+1]; >+ extern int width, nextbul; >+@@ -603,6 +640,7 @@ >+ nextbul++; if (nextbul == LASTBUL+1) nextbul = FBUL; >+ } >+ >++void >+ hyper() >+ { extern Objtype obj[SHIP+1]; >+ extern int width, height, rndint; >+@@ -617,6 +655,7 @@ >+ obj[SHIP].y = (double) i; >+ } >+ >++void >+ vdraw(disp, window, gc, shape, x, y, rot) >+ Display *disp; >+ Drawable window; >+@@ -639,6 +678,7 @@ >+ XDrawLines (disp, window, gc, figure, numpairs[shape], CoordModePrevious); >+ } >+ >++int >+ main(argc, argv) >+ int argc; >+ char **argv; >+@@ -663,8 +703,8 @@ >+ extern int level, numasts, rndint, ships, score, oldscore; >+ extern Objtype obj[SHIP+1]; >+ unsigned char c; /* for rand */ >+- double *temp, dx, dy, dist; >+- int crashed, flashon, len, pause = 0, delay = 64, >++ double dx, dy, dist; >++ int crashed, flashon, pause = 0, delay = 64, >+ enemycount, counter, counterstart = 1, >+ i, /* index for drawing objs, counting bullets */ >+ r; /* radius of shield circle */ >+@@ -704,11 +744,30 @@ >+ KeyPressMask | KeyReleaseMask | StructureNotifyMask); >+ XMapRaised (disp, window); >+ >+- /* Erase cursor. Just delete next 5 lines if any error. */ >++ /* Make cursor invisible. Just delete chunk if any error. */ >+ cmap = XDefaultColormap(disp, screen); >+ XAllocNamedColor(disp, cmap, "Black", &exact, &black); >++#if 0 /* Easy way, but can leave a black spot */ >++#include <X11/cursorfont.h> >+ cursor = XCreateFontCursor(disp, XC_dot); >+ XRecolorCursor(disp, cursor, &black, &black); >++#else /* Hard, good way */ >++ { unsigned wd, ht; >++ Pixmap pm, maskpm; >++ GC cleargc; >++ XQueryBestCursor(disp, window, 1, 1, &wd, &ht); >++ pm = XCreatePixmap(disp, window, wd, ht, 1); >++ maskpm = XCreatePixmap(disp, window, wd, ht, 1); >++ cleargc = XCreateGC(disp, pm, 0, 0); >++ XFillRectangle(disp, pm, cleargc, 0, 0, wd, ht); >++ XFillRectangle(disp, maskpm, cleargc, 0, 0, wd, ht); >++ cursor = XCreatePixmapCursor(disp, pm, maskpm, >++ &black, &black, 1, 1); >++ XFreePixmap(disp, pm); >++ XFreePixmap(disp, maskpm); >++ XFreeGC(disp, cleargc); >++ } >++#endif >+ XDefineCursor(disp, window, cursor); >+ >+ XFillRectangle (disp, pixmap, pmgc, 0, 0, width, height); >+@@ -746,7 +805,7 @@ >+ { XNextEvent(disp, &event); >+ switch (event.type) >+ { case MappingNotify: >+- XRefreshKeyboardMapping (&event); >++ XRefreshKeyboardMapping ((XMappingEvent *)&event); >+ break; >+ case ConfigureNotify: >+ width = event.xconfigure.width; >+@@ -757,28 +816,29 @@ >+ botline(disp, window, gc); >+ break; >+ case KeyPress: >+- len = XLookupString (&event, text, 10, &key, 0); >+- if (len == 1 && !shield_on) switch (text[0]) >+- { case 'e': >++ key = XLookupKeysym ((XKeyEvent *)&event, 0); >++ if (!shield_on) switch (key) >++ { case XK_Left: case XK_e: >+ obj[SHIP].rotvel = obj[SHIP].rotvel - .1; break; >+- case 'r': >++ case XK_Right: case XK_r: >+ obj[SHIP].rotvel = obj[SHIP].rotvel + .1; break; >+- case 'w': >++ case XK_w: >+ obj[SHIP].rot -= pi/4; break; >+- case 't': >++ case XK_t: >+ obj[SHIP].rot += pi/4; break; >+- case 'd': >++ case XK_d: >+ obj[SHIP].rotvel = obj[SHIP].rotvel - .02; break; >+- case 'f': >++ case XK_f: >+ obj[SHIP].rotvel = obj[SHIP].rotvel + .02; break; >+- case THRUST: >++ case XK_Up: case THRUST: >+ obj[SHIP].xvel += cos(obj[SHIP].rot); >+ obj[SHIP].yvel += sin(obj[SHIP].rot); >+ obj[SHIP].shape = SHIPTHRSHAPE; >+ break; >++ case XK_Control_L: case XK_Control_R: >+ case FIRE: >+ if (obj[SHIP].alive) fire(); break; >+- case ' ': >++ case XK_space: >+ if (obj[SHIP].alive) >+ { hyper(); flashon = 1; >+ /* NOT XSetForeground (disp, gc, bg); >+@@ -787,52 +847,55 @@ >+ XFillRectangle (disp, pixmap, pmgc, 0, 0, width, height); >+ } >+ break; >+- case SHIELD: >++ case XK_Down: case SHIELD: >+ if (energy) >+ { shield_on = 1; >+ obj[SHIP].shape = SHIPSHAPE;} >+ break; >+- case '.': /* decrease delay */ >++ case XK_period: /* decrease delay */ >+ if (delay > 1) delay >>=1; break; >+- case ',': /* increase delay */ >++ case XK_comma: /* increase delay */ >+ delay <<=1; break; >+- case 'm': /* decrease drawscale - may go negative */ >++ case XK_m: /* decrease drawscale - may go negative */ >+ drawscale -= .1; break; >+- case 'n': /* increase drawscale */ >++ case XK_n: /* increase drawscale */ >+ drawscale += .1; break; >+- case '2': /* increase speedscale */ >++ case XK_2: /* increase speedscale */ >+ speedscale += .1; break; >+- case '1': /* decrease speedscale */ >++ case XK_1: /* decrease speedscale */ >+ speedscale -= .1; break; >+- case 'b': /* increase moves/update */ >++ case XK_b: /* increase moves/update */ >+ counterstart++; break; >+- case 'v': /* decrease moves/update */ >++ case XK_v: /* decrease moves/update */ >+ if (counterstart > 1) counterstart--; >+ break; >+ case PAUSE: /* pause */ >+ pause = 1 - pause; break; >+- case '+': /* cheat */ >++ case XK_plus: /* cheat */ >+ ships++; botline(disp, window, gc); break; >+- case 'Q': /* quit */ >+- goto End; >+- case 's': /* start new ship */ >+- if (!obj[SHIP].alive) >++ case XK_q: /* quit */ >++ if (event.xkey.state & ShiftMask) >++ goto End; >++ break; >++ case XK_s: /* start new ship */ >++ if (!obj[SHIP].alive) { >+ if (ships < 1) goto Newgame; >+ else goto Newship; >++ } >+ break; >+ } >+ break; >+ case KeyRelease: >+- len = XLookupString(&event, text, 10, &key, 0); >+- if (len == 1) switch (text[0]) >+- { case 'e': >++ key = XLookupKeysym((XKeyEvent *)&event, 0); >++ switch (key) >++ { case XK_Left: case XK_e: >+ obj[SHIP].rotvel = 0; break; >+- case 'r': >++ case XK_Right: case XK_r: >+ obj[SHIP].rotvel = 0; break; >+- case THRUST: >++ case XK_Up: case THRUST: >+ obj[SHIP].shape = SHIPSHAPE; >+ break; >+- case SHIELD: >++ case XK_Down: case SHIELD: >+ shield_on = 0; break; >+ } >+ /* break; */ >+@@ -850,7 +913,7 @@ >+ botline(disp, window, gc); >+ } >+ /* Write copyright notice */ >+- if (!ships && blist == NULL) >++ if (!ships) >+ { sprintf(text, "Xasteroids"); >+ XDrawImageString (disp, pixmap, gc, >+ width/2-50, height/2-2*letheight, >+@@ -917,7 +980,11 @@ >+ } >+ else obj[ENEMYBUL].alive = 0; >+ } >++#ifdef HAS_USLEEP >++ usleep(delay); >++#else >+ for (i = 0; i < delay; i++); >++#endif >+ } >+ } >+ } >diff -urN /usr/ports/games/xasteroids/files/patch-xast.man games/xasteroids/files/patch-xast.man >--- /usr/ports/games/xasteroids/files/patch-xast.man 1970-01-01 09:00:00.000000000 +0900 >+++ games/xasteroids/files/patch-xast.man 2013-01-12 20:56:43.000000000 +0900 >@@ -0,0 +1,122 @@ >+--- xast.man.orig >++++ xast.man >+@@ -1,9 +1,9 @@ >+-.TH xasteroids n >++.TH xasteroids 6 >+ .SH NAME >+ xasteroids - X windows based asteroids style arcade game >+ .SH SYNOPSIS >+-.ta 8n >+-\fBxasteroids\fP >++.ta 6 >++\fBxasteroids\fP [-s] >+ .br >+ .SH DESCRIPTION >+ Make big rocks into little ones. >+@@ -11,60 +11,70 @@ >+ .SH COMMANDS >+ .I xasteroids >+ >+- e Rotate counterclockwise ("left") >+- r Rotate clockwise ("right") >+- w Rotate 45 degrees counterclockwise >+- t Rotate 45 degrees clockwise >+- d Increase counterclockwise rotational velocity >+- f Increase clockwise rotational velocity >+- o Thrust >+- p Fire >+- ` Shields >+- space Hyperspace >+- s Start new ship in center of playing field >+- (Also used to start a new game) >+- esc Pause >+- Q Quit >++.ft CW >++ e Left Arrow Rotate counterclockwise ("left") >++ r Right Arrow Rotate clockwise ("right") >++ w Rotate 45 degrees counterclockwise >++ t Rotate 45 degrees clockwise >++ d Increase CCWise rotational velocity >++ f Increase clockwise rotational velocity >++ o Up Arrow Thrust >++ p Control Fire >++ ` Down Arrow Shields >++ space Hyperspace >++ s Start new ship in center of playing field >++ (Also used to start a new game) >++ esc Pause >++ Q Quit >++.ft R >+ >+ Speed commands: Key associated with faster speed is to the right of its >+- corresponding key associated with slower speed. >++corresponding key associated with slower speed. >+ >+- . Decrease delay: Speed game up >+- , Increase delay: Slow the game down >+- m Decrease size ("Minimize") >+- n Increase size >+- b Increase # of moves/frame >+- v Decrease # of moves/frame >+- 2 Increase scale of movement >+- 1 Decrease scale of movement >++.ft CW >++ . Decrease delay: Speed game up >++ , Increase delay: Slow the game down >++ m Decrease size ("Minimize") >++ n Increase size >++ b Increase # of moves/frame >++ v Decrease # of moves/frame >++ 2 Increase scale of movement >++ 1 Decrease scale of movement >+ >+ Object Score >+ >+- Big asteroid 25, or 2000*level if it is the last asteroid remaining >+- Medium asteroid 50, or 500*level if it is the last asteroid remaining >++ Big asteroid 25, or >++ 2000*level if last asteroid remaining >++ Medium asteroid 50, or >++ 500*level if last asteroid remaining >+ Little asteroid 100 >+ Enemy spaceship 500 >+ Enemy bullet 500 >++.ft R >+ >+ Commands can only be entered when the mouse pointer is in the >+ asteroids window. >+ >+ Resize the window with your window manager >+ at any time for a different playing field. >+- >+-.SH OPTIONS >+-.I xasteroids [-s] >+--s Display high scores without running game. >+ .PP >+ .SH AUTHOR >+ Phil Goetz >+ .br >+ goetz@cs.Buffalo.EDU >+ .SH CONTRIBUTORS >+-Peter Phillips pphillip@cs.ubc.ca >+-Pat Ryan pat@jaameri.gsfc.nasa.gov >+-Craig Smith csmith@cscs.UUCP >+-Doug Merritt doug@netcom.com >+-James Berg berg@plains (makefile) >+-Chris Moore moore@src.bae.co.uk (hi score script) >+-David Partain dlp@ida.liu.se (original man page) >++Peter Phillips <pphillip@cs.ubc.ca> >++.br >++Pat Ryan <pat@jaameri.gsfc.nasa.gov> >++.br >++Craig Smith <csmith@cscs.UUCP> >++.br >++Doug Merritt <doug@netcom.com> >++.br >++Stephen McCamant <alias@mcs.com> >++.br >++James Berg <berg@plains> (makefile) >++.br >++Chris Moore <moore@src.bae.co.uk> (hi score script) >++.br >++David Partain <dlp@ida.liu.se> (original man page)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 175567
: 131476