Date: Tue, 24 Mar 1998 08:18:05 +0300 (MSK) From: Andrey Zakhvatov <andy@icc.surw.chel.su> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: ports/6120: New port: xtetris-2.6 Message-ID: <199803240518.IAA00664@icc.surw.chel.su>
next in thread | raw e-mail | index | archive | help
>Number: 6120 >Category: ports >Synopsis: New port: xtetris-2.6 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Mar 23 21:10:05 PST 1998 >Last-Modified: >Originator: Andrey Zakhvatov >Organization: South Ural Railway ICC >Release: FreeBSD 2.2.2-RELEASE i386 >Environment: >Description: This is a port of X Window block dropping game. Xtetris is a game involving dropping blocks. As they drop you can move them to the left or to the right by clicking the left or right mouse buttons respectively. Pressing the shift key while clicking the button causes the falling shape to rotate anti-clockwise (left mouse button) or clockwise (right mouse button). Pressing the middle mouse button causes the shape to quickly drop. Note that the mouse must be in the window in which the shapes are dropping for these actions to work correctly. # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # xtetris-2.6 # xtetris-2.6/Makefile # xtetris-2.6/files # xtetris-2.6/files/md5 # xtetris-2.6/files/Xtetris # xtetris-2.6/files/Xtetris.bw # xtetris-2.6/files/Xtetris.c # xtetris-2.6/patches # xtetris-2.6/patches/patch-aa # xtetris-2.6/pkg # xtetris-2.6/pkg/PLIST # xtetris-2.6/pkg/COMMENT # xtetris-2.6/pkg/DESCR # echo c - xtetris-2.6 mkdir -p xtetris-2.6 > /dev/null 2>&1 echo x - xtetris-2.6/Makefile sed 's/^X//' >xtetris-2.6/Makefile << 'END-of-xtetris-2.6/Makefile' X# New ports collection makefile for: xtetris X# Version required: 2.6 X# Date created: 22 March 1998 X# Whom: Andrey Zakhvatov X# X# $Id$ X# X XDISTNAME= xtetris-2.6 XCATEGORIES= games x11 XMASTER_SITES= ${MASTER_SITE_XCONTRIB} XMASTER_SITE_SUBDIR= games XEXTRACT_SUFX= .tar.Z X XMAINTAINER= andy@icc.surw.chel.su X XALL_TARGET= xtetris XUSE_IMAKE= yes XMAN6= xtetris.6 X Xdo-install: X @ ${INSTALL_PROGRAM} ${WRKSRC}/xtetris ${PREFIX}/bin X @ ${INSTALL_DATA} ${WRKSRC}/xtetris.man ${PREFIX}/man/man6/xtetris.6 X @ if [ ! -f ${PREFIX}/share/xtetris/scores ]; then ${MKDIR} ${PREFIX}/share/xtetris; ${INSTALL_DATA} ${WRKSRC}/xtetris-scores ${PREFIX}/share/xtetris/scores; fi X @ ${MKDIR} ${PREFIX}/share/doc/xtetris X.for file in COPYRIGHT README TODO X @ ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/share/doc/xtetris X.endfor X @ ${INSTALL_DATA} ${FILESDIR}/Xtetris ${X11BASE}/lib/X11/app-defaults X @ ${INSTALL_DATA} ${FILESDIR}/Xtetris.bw ${X11BASE}/lib/X11/app-defaults X @ ${INSTALL_DATA} ${FILESDIR}/Xtetris.c ${X11BASE}/lib/X11/app-defaults X Xpost-install: X @ chmod 666 ${PREFIX}/share/xtetris/scores X X.include <bsd.port.mk> END-of-xtetris-2.6/Makefile echo c - xtetris-2.6/files mkdir -p xtetris-2.6/files > /dev/null 2>&1 echo x - xtetris-2.6/files/md5 sed 's/^X//' >xtetris-2.6/files/md5 << 'END-of-xtetris-2.6/files/md5' XMD5 (xtetris-2.6.tar.Z) = 9547dd17d0e53e295dd61f794b7acdb2 END-of-xtetris-2.6/files/md5 echo x - xtetris-2.6/files/Xtetris sed 's/^X//' >xtetris-2.6/files/Xtetris << 'END-of-xtetris-2.6/files/Xtetris' X?.eraseStipple: stipple X?.baseTranslations: #override <Unmap>:Pause() X*Background: black X*BorderColor: white X*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* X*Frame*sensitive: true X*Frame.Buttons*width: 80 X*NewGame.fromVert: Start X*NewGame.baseTranslations: #replace <Btn1Down>,<Btn1Up>:NewGame() notify() X*Pause.mapWhenManaged: False X*Pause.baseTranslations: #override <Btn1Down>,<Btn1Up>:Pause() X*Quit.fromVert: NewGame X*Quit.sensitive: True X*Quit.baseTranslations: #replace <Btn1Down>,<Btn1Up>:Quit() notify() X*About.fromVert: Quit X*About.baseTranslations: #replace <Btn1Down>: About() X*Scores.fromVert: About X*Scores.baseTranslations: #override <Btn1Down>: Scores() X*Start.resizeable: True X*Start.sensitive: True X*Start.baseTranslations: #override <Btn1Down>,<Btn1Up>:Start() X*Buttons.borderWidth: 0 X*Buttons.fromVert: Status X*Buttons.hSpace: 0 X*Buttons.vertDistance: 10 X*Buttons.width: 100 X*Canvas.fromHoriz: TitleBar X*Canvas.fromVert: TitleBar X*Canvas.height: 480 X*Canvas.sensitive: True X*CanvasFrame..baseTranslations: #override <Expose>:Refresh() X*Canvas.accelerators: #override !Shift<Btn1Down>:RotateCCW() \n !<Btn1Down>:MoveLeft() \n !Shift<Btn3Down>:RotateCW() \n !<Btn3Down>:MoveRight() \n !Shift<Btn2Down>:Drop() \n !<Btn2Down>:Drop() \n <Key>space:Drop() \n <Key>h:MoveLeft() \n <Key>q:Quit() \n <Key>p:Pause() \n <Key>s:Start() \n <Key>r:NewGame() \n <Key>Left:MoveLeft() \n <Key>j:RotateCW() \n <Key>Down:RotateCW() \n <Key>Begin:RotateCW() \n <Key>k:RotateCCW() \n <Key>Up:RotateCCW() \n <Key>l:MoveRight() \n <Key>Right:MoveRight() X*Canvas.vertDistance: -22 X*Canvas.width: 160 X*NextObject.borderWidth: 0 X*NextObject.fromHoriz: TitleBar X*NextObject.fromVert: NextObjectLabel X*NextObject.height: 64 X*NextObject.horizDistance: -100 X*NextObject.width: 64 X*NextObject.baseTranslations: #override <Expose>:Refresh() X*NextObjectLabel.Label: Next Object X*NextObjectLabel.borderWidth: 0 X*NextObjectLabel.fromVert: TitleBar X*NextObjectLabel.vertDistance: 20 X*NextObjectLabel.width: 100 X*Shadow.fromHoriz: TitleBar X*Shadow.fromVert: Canvas X*Shadow.height: 16 X*Shadow.width: 160 X*Shadow.baseTranslations: #override <Expose>:Refresh() X*Status*borderWidth: 0 X*Status*displayCaret: False X*Status*resize: True X*Status.Game.string: " " X*Status*width: 80 X*Status.Level.string: Level: 0 X*Status.Rows.string: Rows: 0 X*Status.Score.string: Score: 0 X*Status.fromVert: TitleBar X*Status.left: ChainLeft X*Status.right: ChainRight X*Status.vertDistance: 175 X*Status.width: 100 X*TitleBar.Font: -*-new century schoolbook-*-i-*-*-*-120-*-*-*-*-*-* X*TitleBar.Label: XTETRIS 2.6 X*TitleBar.foreground: white X*TitleBar.height: 20 X*TitleBar.width: 100 X*Object.Background: black X?.ScoreFrame*font: -*-clean-bold-r-*-*-16-*-*-*-*-*-*-* X?.ScoreFrame*baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X?.ScoreFrame.width: 700 X*ScoreText*editType: read X*ScoreText.displayCaret: False X*ScoreText*string: X*ScoreText*length: 80 X*ScoreText*Scroll: whenNeeded X*ScoreText*width: 700 X*ScoreText.height: 300 X*ScoreText.resizable: TRUE X*ScoreText*useStringInPlace: True X?.AboutFrame*baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X*AboutText.baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X*AboutText.displayCaret: False X*AboutText*Scroll: whenNeeded X*AboutText.width: 450 X*AboutText.height: 300 X*customization: .c X*Foreground: wheat X*Frame.Buttons*borderColor: darkslategrey X*Frame.Buttons.Pause.Background: black X*Frame.Buttons.Pause.Foreground: red X*Frame.Buttons.Start.Background: black X*Frame.Buttons.Start.Foreground: green X*Frame.Canvas.background: darkslategrey X*Frame.Shadow.background: darkslategrey X*Frame.Status.Game.Foreground: white X*Frame.TitleBar.background: blue1 X*Frame.TitleBar.borderColor: blue X*object0.foreground: red1 X*object0.background: red4 X*object1.foreground: orange1 X*object1.background: orange4 X*object2.foreground: yellow1 X*object2.background: yellow4 X*object3.foreground: green1 X*object3.background: green4 X*object4.foreground: blue1 X*object4.background: blue4 X*object5.foreground: cyan1 X*object5.background: cyan4 X*object6.foreground: purple1 X*object6.background: purple4 END-of-xtetris-2.6/files/Xtetris echo x - xtetris-2.6/files/Xtetris.bw sed 's/^X//' >xtetris-2.6/files/Xtetris.bw << 'END-of-xtetris-2.6/files/Xtetris.bw' X?.eraseStipple: stipple X?.baseTranslations: #override <Unmap>:Pause() X*Background: black X*BorderColor: white X*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* X*Frame*sensitive: true X*Frame.Buttons*width: 80 X*NewGame.fromVert: Start X*NewGame.baseTranslations: #replace <Btn1Down>,<Btn1Up>:NewGame() notify() X*Pause.mapWhenManaged: False X*Pause.baseTranslations: #override <Btn1Down>,<Btn1Up>:Pause() X*Quit.fromVert: NewGame X*Quit.sensitive: True X*Quit.baseTranslations: #replace <Btn1Down>,<Btn1Up>:Quit() notify() X*About.fromVert: Quit X*About.baseTranslations: #replace <Btn1Down>: About() X*Scores.fromVert: About X*Scores.baseTranslations: #override <Btn1Down>: Scores() X*Start.resizeable: True X*Start.sensitive: True X*Start.baseTranslations: #override <Btn1Down>,<Btn1Up>:Start() X*Buttons.borderWidth: 0 X*Buttons.fromVert: Status X*Buttons.hSpace: 0 X*Buttons.vertDistance: 10 X*Buttons.width: 100 X*Canvas.fromHoriz: TitleBar X*Canvas.fromVert: TitleBar X*Canvas.height: 480 X*Canvas.sensitive: True X*CanvasFrame..baseTranslations: #override <Expose>:Refresh() X*Canvas.accelerators: #override !Shift<Btn1Down>:RotateCCW() \n !<Btn1Down>:MoveLeft() \n !Shift<Btn3Down>:RotateCW() \n !<Btn3Down>:MoveRight() \n !Shift<Btn2Down>:Drop() \n !<Btn2Down>:Drop() \n <Key>space:Drop() \n <Key>h:MoveLeft() \n <Key>q:Quit() \n <Key>p:Pause() \n <Key>s:Start() \n <Key>r:NewGame() \n <Key>Left:MoveLeft() \n <Key>j:RotateCW() \n <Key>Down:RotateCW() \n <Key>Begin:RotateCW() \n <Key>k:RotateCCW() \n <Key>Up:RotateCCW() \n <Key>l:MoveRight() \n <Key>Right:MoveRight() X*Canvas.vertDistance: -22 X*Canvas.width: 160 X*NextObject.borderWidth: 0 X*NextObject.fromHoriz: TitleBar X*NextObject.fromVert: NextObjectLabel X*NextObject.height: 64 X*NextObject.horizDistance: -100 X*NextObject.width: 64 X*NextObject.baseTranslations: #override <Expose>:Refresh() X*NextObjectLabel.Label: Next Object X*NextObjectLabel.borderWidth: 0 X*NextObjectLabel.fromVert: TitleBar X*NextObjectLabel.vertDistance: 20 X*NextObjectLabel.width: 100 X*Shadow.fromHoriz: TitleBar X*Shadow.fromVert: Canvas X*Shadow.height: 16 X*Shadow.width: 160 X*Shadow.baseTranslations: #override <Expose>:Refresh() X*Status*borderWidth: 0 X*Status*displayCaret: False X*Status*resize: True X*Status.Game.string: " " X*Status*width: 80 X*Status.Level.string: Level: 0 X*Status.Rows.string: Rows: 0 X*Status.Score.string: Score: 0 X*Status.fromVert: TitleBar X*Status.left: ChainLeft X*Status.right: ChainRight X*Status.vertDistance: 175 X*Status.width: 100 X*TitleBar.Font: -*-new century schoolbook-*-i-*-*-*-120-*-*-*-*-*-* X*TitleBar.Label: XTETRIS 2.6 X*TitleBar.foreground: white X*TitleBar.height: 20 X*TitleBar.width: 100 X*Object.Background: black X?.ScoreFrame*font: -*-clean-bold-r-*-*-16-*-*-*-*-*-*-* X?.ScoreFrame*baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X?.ScoreFrame.width: 700 X*ScoreText*editType: read X*ScoreText.displayCaret: False X*ScoreText*string: X*ScoreText*length: 80 X*ScoreText*Scroll: whenNeeded X*ScoreText*width: 700 X*ScoreText.height: 300 X*ScoreText.resizable: TRUE X*ScoreText*useStringInPlace: True X?.AboutFrame*baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X*AboutText.baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X*AboutText.displayCaret: False X*AboutText*Scroll: whenNeeded X*AboutText.width: 450 X*AboutText.height: 300 X*customization: .bw X*Foreground: white X*Frame.Buttons*borderColor: white X*Frame.TitleBar.borderColor: white END-of-xtetris-2.6/files/Xtetris.bw echo x - xtetris-2.6/files/Xtetris.c sed 's/^X//' >xtetris-2.6/files/Xtetris.c << 'END-of-xtetris-2.6/files/Xtetris.c' X?.eraseStipple: stipple X?.baseTranslations: #override <Unmap>:Pause() X*Background: black X*BorderColor: white X*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* X*Frame*sensitive: true X*Frame.Buttons*width: 80 X*NewGame.fromVert: Start X*NewGame.baseTranslations: #replace <Btn1Down>,<Btn1Up>:NewGame() notify() X*Pause.mapWhenManaged: False X*Pause.baseTranslations: #override <Btn1Down>,<Btn1Up>:Pause() X*Quit.fromVert: NewGame X*Quit.sensitive: True X*Quit.baseTranslations: #replace <Btn1Down>,<Btn1Up>:Quit() notify() X*About.fromVert: Quit X*About.baseTranslations: #replace <Btn1Down>: About() X*Scores.fromVert: About X*Scores.baseTranslations: #override <Btn1Down>: Scores() X*Start.resizeable: True X*Start.sensitive: True X*Start.baseTranslations: #override <Btn1Down>,<Btn1Up>:Start() X*Buttons.borderWidth: 0 X*Buttons.fromVert: Status X*Buttons.hSpace: 0 X*Buttons.vertDistance: 10 X*Buttons.width: 100 X*Canvas.fromHoriz: TitleBar X*Canvas.fromVert: TitleBar X*Canvas.height: 480 X*Canvas.sensitive: True X*CanvasFrame..baseTranslations: #override <Expose>:Refresh() X*Canvas.accelerators: #override !Shift<Btn1Down>:RotateCCW() \n !<Btn1Down>:MoveLeft() \n !Shift<Btn3Down>:RotateCW() \n !<Btn3Down>:MoveRight() \n !Shift<Btn2Down>:Drop() \n !<Btn2Down>:Drop() \n <Key>space:Drop() \n <Key>h:MoveLeft() \n <Key>q:Quit() \n <Key>p:Pause() \n <Key>s:Start() \n <Key>r:NewGame() \n <Key>Left:MoveLeft() \n <Key>j:RotateCW() \n <Key>Down:RotateCW() \n <Key>Begin:RotateCW() \n <Key>k:RotateCCW() \n <Key>Up:RotateCCW() \n <Key>l:MoveRight() \n <Key>Right:MoveRight() X*Canvas.vertDistance: -22 X*Canvas.width: 160 X*NextObject.borderWidth: 0 X*NextObject.fromHoriz: TitleBar X*NextObject.fromVert: NextObjectLabel X*NextObject.height: 64 X*NextObject.horizDistance: -100 X*NextObject.width: 64 X*NextObject.baseTranslations: #override <Expose>:Refresh() X*NextObjectLabel.Label: Next Object X*NextObjectLabel.borderWidth: 0 X*NextObjectLabel.fromVert: TitleBar X*NextObjectLabel.vertDistance: 20 X*NextObjectLabel.width: 100 X*Shadow.fromHoriz: TitleBar X*Shadow.fromVert: Canvas X*Shadow.height: 16 X*Shadow.width: 160 X*Shadow.baseTranslations: #override <Expose>:Refresh() X*Status*borderWidth: 0 X*Status*displayCaret: False X*Status*resize: True X*Status.Game.string: " " X*Status*width: 80 X*Status.Level.string: Level: 0 X*Status.Rows.string: Rows: 0 X*Status.Score.string: Score: 0 X*Status.fromVert: TitleBar X*Status.left: ChainLeft X*Status.right: ChainRight X*Status.vertDistance: 175 X*Status.width: 100 X*TitleBar.Font: -*-new century schoolbook-*-i-*-*-*-120-*-*-*-*-*-* X*TitleBar.Label: XTETRIS 2.6 X*TitleBar.foreground: white X*TitleBar.height: 20 X*TitleBar.width: 100 X*Object.Background: black X?.ScoreFrame*font: -*-clean-bold-r-*-*-16-*-*-*-*-*-*-* X?.ScoreFrame*baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X?.ScoreFrame.width: 700 X*ScoreText*editType: read X*ScoreText.displayCaret: False X*ScoreText*string: X*ScoreText*length: 80 X*ScoreText*Scroll: whenNeeded X*ScoreText*width: 700 X*ScoreText.height: 300 X*ScoreText.resizable: TRUE X*ScoreText*useStringInPlace: True X?.AboutFrame*baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X*AboutText.baseTranslations: #override <ButtonPress>,<ButtonRelease>:Done()\n <KeyPress>:Done() X*AboutText.displayCaret: False X*AboutText*Scroll: whenNeeded X*AboutText.width: 450 X*AboutText.height: 300 X*customization: .c X*Foreground: wheat X*Frame.Buttons*borderColor: darkslategrey X*Frame.Buttons.Pause.Background: black X*Frame.Buttons.Pause.Foreground: red X*Frame.Buttons.Start.Background: black X*Frame.Buttons.Start.Foreground: green X*Frame.Canvas.background: darkslategrey X*Frame.Shadow.background: darkslategrey X*Frame.Status.Game.Foreground: white X*Frame.TitleBar.background: blue1 X*Frame.TitleBar.borderColor: blue X*object0.foreground: red1 X*object0.background: red4 X*object1.foreground: orange1 X*object1.background: orange4 X*object2.foreground: yellow1 X*object2.background: yellow4 X*object3.foreground: green1 X*object3.background: green4 X*object4.foreground: blue1 X*object4.background: blue4 X*object5.foreground: cyan1 X*object5.background: cyan4 X*object6.foreground: purple1 X*object6.background: purple4 END-of-xtetris-2.6/files/Xtetris.c echo c - xtetris-2.6/patches mkdir -p xtetris-2.6/patches > /dev/null 2>&1 echo x - xtetris-2.6/patches/patch-aa sed 's/^X//' >xtetris-2.6/patches/patch-aa << 'END-of-xtetris-2.6/patches/patch-aa' X--- Imakefile Mon Oct 19 18:06:07 1992 X+++ /home/andy/tmp/wrk/Imakefile Mon Mar 23 21:07:20 1998 X@@ -1,15 +1,15 @@ X /* Search for "COLOR" if you want xtetris to run on a color monitor by X default */ X X-#define ScoreDir $(LIBDIR) /* Directory for the score file. */ X-#define ScoreFile xtetris-scores/* Filename for the score file. */ X+#define ScoreDir /usr/X11R6/share/xtetris /* Directory for the score file. */ X+#define ScoreFile scores /* Filename for the score file. */ X #define BitmapDir $(INCDIR)/bitmaps /* May need to change this to X /usr/include/X11/bitmaps, if you get a X message like "can't convert string X 'stripe4' to pixmap." */ X X BITMAPS = stripe4 X- DEFINES = -DHIGH_SCORE_TABLE=\"$(LIBDIR)/xtetris-scores\" X+ DEFINES = -DHIGH_SCORE_TABLE=\"/usr/X11R6/share/xtetris/scores\" X HEADERS = defs.h X SRCS = main.c init.c shape.c support.c notify.c window.c score.c\ X draw.c END-of-xtetris-2.6/patches/patch-aa echo c - xtetris-2.6/pkg mkdir -p xtetris-2.6/pkg > /dev/null 2>&1 echo x - xtetris-2.6/pkg/PLIST sed 's/^X//' >xtetris-2.6/pkg/PLIST << 'END-of-xtetris-2.6/pkg/PLIST' Xbin/xtetris Xlib/X11/app-defaults/Xtetris Xlib/X11/app-defaults/Xtetris.bw Xlib/X11/app-defaults/Xtetris.c Xman/man6/xtetris.6.gz Xshare/doc/xtetris/COPYRIGHT Xshare/doc/xtetris/README Xshare/doc/xtetris/TODO X@mode 666 Xshare/xtetris/scores X@mode X@dirrm share/doc/xtetris X@dirrm share/xtetris END-of-xtetris-2.6/pkg/PLIST echo x - xtetris-2.6/pkg/COMMENT sed 's/^X//' >xtetris-2.6/pkg/COMMENT << 'END-of-xtetris-2.6/pkg/COMMENT' XX Window block dropping game. END-of-xtetris-2.6/pkg/COMMENT echo x - xtetris-2.6/pkg/DESCR sed 's/^X//' >xtetris-2.6/pkg/DESCR << 'END-of-xtetris-2.6/pkg/DESCR' X Xtetris is a game involving dropping blocks. As they drop you can Xmove them to the left or to the right by clicking the left or right Xmouse buttons respectively. Pressing the shift key while clicking Xthe button causes the falling shape to rotate anti-clockwise (left Xmouse button) or clockwise (right mouse button). Pressing the middle Xmouse button causes the shape to quickly drop. Note that the mouse Xmust be in the window in which the shapes are dropping for these Xactions to work correctly. END-of-xtetris-2.6/pkg/DESCR exit >How-To-Repeat: >Fix: Please, check and commit this port. >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803240518.IAA00664>