From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Jan 27 22:20:02 2008 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B1CF16A420 for ; Sun, 27 Jan 2008 22:20:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3D84013C46A for ; Sun, 27 Jan 2008 22:20:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m0RMK2Mx048984 for ; Sun, 27 Jan 2008 22:20:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m0RMK2RR048983; Sun, 27 Jan 2008 22:20:02 GMT (envelope-from gnats) Resent-Date: Sun, 27 Jan 2008 22:20:02 GMT Resent-Message-Id: <200801272220.m0RMK2RR048983@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Dmitry Marakasov Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C51B416A41A for ; Sun, 27 Jan 2008 22:14:38 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from cp65.agava.net (cp65.agava.net [89.108.66.215]) by mx1.freebsd.org (Postfix) with ESMTP id D608A13C45A for ; Sun, 27 Jan 2008 22:14:37 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from [213.148.20.85] (helo=hive.panopticon) by cp65.agava.net with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63 (FreeBSD)) (envelope-from ) id 1JJFoD-0008yE-7k for FreeBSD-gnats-submit@freebsd.org; Mon, 28 Jan 2008 01:17:01 +0300 Received: from hades.panopticon (hades.panopticon [192.168.0.32]) by hive.panopticon (Postfix) with ESMTP id 13CFE7C40 for ; Mon, 28 Jan 2008 01:15:08 +0300 (MSK) Received: by hades.panopticon (Postfix, from userid 1000) id 517FA17031; Mon, 28 Jan 2008 01:14:43 +0300 (MSK) Message-Id: <20080127221443.517FA17031@hades.panopticon> Date: Mon, 28 Jan 2008 01:14:43 +0300 (MSK) From: Dmitry Marakasov To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/120063: [NEW PORT] games/blackshadeselite: Psychic Bodyguard FPS - protect the VIP X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Dmitry Marakasov List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jan 2008 22:20:02 -0000 >Number: 120063 >Category: ports >Synopsis: [NEW PORT] games/blackshadeselite: Psychic Bodyguard FPS - protect the VIP >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Jan 27 22:20:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Dmitry Marakasov >Release: FreeBSD 7.0-RC1 i386 >Organization: >Environment: System: FreeBSD hades.panopticon 7.0-RC1 FreeBSD 7.0-RC1 #0: Sat Jan 5 03:26:52 MSK 2008 root@hades.panopticon:/usr/obj/usr/src/sys/HADES i386 >Description: Black Shades Elite is an action game that is more or less similar to the original Black Shades "Psychic Bodyguard FPS". Kill anyone that tries to kill the VIP (the white guy). The psychic part is seeing blue lines when bad guys line up on the VIP (when the line is red they are about to shoot). Other powers (slow down, and visions) are available - press F1 for how to use. It has a few more user friendly options (in the ~/blackshades.config file) as well as a help menu. Aside from that the internals have had some major changes, but there is still a lot more to do. Other options include 3rd person (which was in the original game, just disabled). The other change that I enjoy is the lack of a busy loop - now cpu usage isn't 100% - on any recent system it should be less than 25%. Feature and bug reports are encouraged. I'm sure it's buggy. Enjoy. WWW: http://home.gna.org/blackshadeselite/ >How-To-Repeat: >Fix: --- blackshadeselite-0.0.1.shar begins here --- # 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: # # blackshadeselite # blackshadeselite/files # blackshadeselite/files/patch-Makefile # blackshadeselite/files/patch-Source-Config.cpp # blackshadeselite/Makefile # blackshadeselite/pkg-descr # blackshadeselite/pkg-plist # blackshadeselite/distinfo # blackshadeselite/pkg-message # echo c - blackshadeselite mkdir -p blackshadeselite > /dev/null 2>&1 echo c - blackshadeselite/files mkdir -p blackshadeselite/files > /dev/null 2>&1 echo x - blackshadeselite/files/patch-Makefile sed 's/^X//' >blackshadeselite/files/patch-Makefile << 'END-of-blackshadeselite/files/patch-Makefile' X--- Makefile.orig 2007-11-22 01:14:27.000000000 +0300 X+++ Makefile 2008-01-27 23:53:31.000000000 +0300 X@@ -1,6 +1,4 @@ X-CC := gcc X-CXX := g++ X-LINKER := g++ X+LINKER := $(CXX) X ASM := nasm X SRCDIR := ./Source X NET_SRCDIR := ./Source/Net X@@ -8,9 +6,9 @@ X NET_BINDIR := ./objs/Net X EXE := $(BINDIR)/blackshades #$(BINDIR)/bse_viewer X X-CFLAGS := -O2 -fstrict-aliasing -Wall -g $(shell sdl-config --cflags) -I$(SRCDIR) -I$(NET_SRCDIR) -include Source/Support.h X-CXXFLAGS := $(CFLAGS) X-LDFLAGS := $(shell sdl-config --libs) -lGL -lGLU -lopenal -lalut # -framework QuickTime X+CFLAGS += -Wall `${SDL_CONFIG} --cflags` -I$(SRCDIR) -I$(NET_SRCDIR) -include Source/Support.h X+CXXFLAGS += -Wall `${SDL_CONFIG} --cflags` -I$(SRCDIR) -I$(NET_SRCDIR) -include Source/Support.h X+LDFLAGS := `${SDL_CONFIG} --libs` -lGL -lGLU -lopenal -lalut # -framework QuickTime X X # Don't want ogg? X #CFLAGS += -DNOOGG END-of-blackshadeselite/files/patch-Makefile echo x - blackshadeselite/files/patch-Source-Config.cpp sed 's/^X//' >blackshadeselite/files/patch-Source-Config.cpp << 'END-of-blackshadeselite/files/patch-Source-Config.cpp' X--- Source/Config.cpp.orig 2007-11-22 01:14:16.000000000 +0300 X+++ Source/Config.cpp 2008-01-28 00:13:47.000000000 +0300 X@@ -44,8 +44,10 @@ X customlevels = 0; X musictoggle = 1; X azertykeyboard = 0; X- X- const char *cfgFile = "config.txt"; X+ X+ char cfgFile[PATH_MAX]; X+ strcpy(cfgFile, getenv("HOME")); X+ strcat(cfgFile, "/.blackshades.config"); X X if(!ConfigExist(cfgFile)) { X WriteConfig(cfgFile); END-of-blackshadeselite/files/patch-Source-Config.cpp echo x - blackshadeselite/Makefile sed 's/^X//' >blackshadeselite/Makefile << 'END-of-blackshadeselite/Makefile' X# New ports collection makefile for: blackshadeselite X# Date created: 27 Jan 2008 X# Whom: Dmitry Marakasov X# X# $FreeBSD$ X# X XPORTNAME= blackshadeselite XPORTVERSION= 0.0.1 XCATEGORIES= games XMASTER_SITES= http://download.gna.org/blackshadeselite/ \ X http://www.amdmi3.ru/distfiles/ X XMAINTAINER= amdmi3@amdmi3.ru XCOMMENT= Psychic Bodyguard FPS - protect the VIP X XLIB_DEPENDS= vorbis.4:${PORTSDIR}/audio/libvorbis \ X openal.0:${PORTSDIR}/audio/openal \ X alut.1:${PORTSDIR}/audio/freealut X XUSE_BZIP2= yes XUSE_GMAKE= yes XUSE_SDL= sdl XUSE_GL= yes X XMAKE_ARGS= CC=${CC} CXX=${CXX} X XWRKSRC= ${WRKDIR}/${PORTNAME} X XPORTDOCS= Readme Readme.elite X Xpost-patch: X @${REINPLACE_CMD} -e '/InitGL/ s|.*|chdir("${DATADIR}"); &|' ${WRKSRC}/Source/Main.cpp X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/objs/blackshades ${PREFIX}/bin X ${MKDIR} ${DATADIR} X @cd ${WRKSRC} && ${COPYTREE_SHARE} Data ${DATADIR}/ X X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X.for f in ${PORTDOCS} X ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} X.endfor X.endif X Xpost-install: X @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD} X X.include END-of-blackshadeselite/Makefile echo x - blackshadeselite/pkg-descr sed 's/^X//' >blackshadeselite/pkg-descr << 'END-of-blackshadeselite/pkg-descr' XBlack Shades Elite is an action game that is more or less similar Xto the original Black Shades "Psychic Bodyguard FPS". Kill anyone Xthat tries to kill the VIP (the white guy). The psychic part is Xseeing blue lines when bad guys line up on the VIP (when the line Xis red they are about to shoot). Other powers (slow down, and Xvisions) are available - press F1 for how to use. X XIt has a few more user friendly options (in the ~/blackshades.config Xfile) as well as a help menu. Aside from that the internals have Xhad some major changes, but there is still a lot more to do. Other Xoptions include 3rd person (which was in the original game, just Xdisabled). The other change that I enjoy is the lack of a busy loop X- now cpu usage isn't 100% - on any recent system it should be less Xthan 25%. X XFeature and bug reports are encouraged. I'm sure it's buggy. Enjoy. X XWWW: http://home.gna.org/blackshadeselite/ END-of-blackshadeselite/pkg-descr echo x - blackshadeselite/pkg-plist sed 's/^X//' >blackshadeselite/pkg-plist << 'END-of-blackshadeselite/pkg-plist' Xbin/blackshades X%%DATADIR%%/Data/Animations/Aikidothrow X%%DATADIR%%/Data/Animations/Aikidothrown X%%DATADIR%%/Data/Animations/Assaultrifleaim X%%DATADIR%%/Data/Animations/Breathe X%%DATADIR%%/Data/Animations/Chestshot X%%DATADIR%%/Data/Animations/Crouch X%%DATADIR%%/Data/Animations/Dive X%%DATADIR%%/Data/Animations/Getupfromback X%%DATADIR%%/Data/Animations/Getupfromfront X%%DATADIR%%/Data/Animations/Grenadeaim X%%DATADIR%%/Data/Animations/Grenadethrow X%%DATADIR%%/Data/Animations/Headshot X%%DATADIR%%/Data/Animations/Leftarmshot X%%DATADIR%%/Data/Animations/Leftlegshot X%%DATADIR%%/Data/Animations/PistolAim X%%DATADIR%%/Data/Animations/Rifleaim X%%DATADIR%%/Data/Animations/Rifleaim(old) X%%DATADIR%%/Data/Animations/Riflehit X%%DATADIR%%/Data/Animations/Riflehold X%%DATADIR%%/Data/Animations/Rightarmshot X%%DATADIR%%/Data/Animations/Rightlegshot X%%DATADIR%%/Data/Animations/Run X%%DATADIR%%/Data/Animations/Stomachshot X%%DATADIR%%/Data/Animations/Walk X%%DATADIR%%/Data/Animations/ZombieRun X%%DATADIR%%/Data/Animations/Zombiemunch X%%DATADIR%%/Data/Animations/Zombiewalk X%%DATADIR%%/Data/Animations/grenadecharge X%%DATADIR%%/Data/Highscore X%%DATADIR%%/Data/Models/Abdomen.solid X%%DATADIR%%/Data/Models/AssaultRifle.solid X%%DATADIR%%/Data/Models/Block1.solid X%%DATADIR%%/Data/Models/Block1collide.solid X%%DATADIR%%/Data/Models/Block1complete.solid X%%DATADIR%%/Data/Models/Block2.solid X%%DATADIR%%/Data/Models/Block2collide.solid X%%DATADIR%%/Data/Models/Block2complete.solid X%%DATADIR%%/Data/Models/Block3.solid X%%DATADIR%%/Data/Models/Block3collide.solid X%%DATADIR%%/Data/Models/Block3complete.solid X%%DATADIR%%/Data/Models/Block4.solid X%%DATADIR%%/Data/Models/Block4collide.solid X%%DATADIR%%/Data/Models/Block4complete.solid X%%DATADIR%%/Data/Models/BlockOcclude.solid X%%DATADIR%%/Data/Models/Blocksimple.solid X%%DATADIR%%/Data/Models/Chest.solid X%%DATADIR%%/Data/Models/Foot.solid X%%DATADIR%%/Data/Models/Glockbase.solid X%%DATADIR%%/Data/Models/Glockslide.solid X%%DATADIR%%/Data/Models/Grenadebase.solid X%%DATADIR%%/Data/Models/Grenadepin.solid X%%DATADIR%%/Data/Models/Grenadespoon.solid X%%DATADIR%%/Data/Models/Hand.solid X%%DATADIR%%/Data/Models/Handgunbase.solid X%%DATADIR%%/Data/Models/Handgunslide.solid X%%DATADIR%%/Data/Models/Head.solid X%%DATADIR%%/Data/Models/Highblock1collide.solid X%%DATADIR%%/Data/Models/Highblock2collide.solid X%%DATADIR%%/Data/Models/Highblock3collide.solid X%%DATADIR%%/Data/Models/Highblock4collide.solid X%%DATADIR%%/Data/Models/Knife.solid X%%DATADIR%%/Data/Models/Lower arm.solid X%%DATADIR%%/Data/Models/Lower leg.solid X%%DATADIR%%/Data/Models/Lowheightcollide.solid X%%DATADIR%%/Data/Models/Path.solid X%%DATADIR%%/Data/Models/Shades.solid X%%DATADIR%%/Data/Models/Shotgun.solid X%%DATADIR%%/Data/Models/Upper arm.solid X%%DATADIR%%/Data/Models/Upper leg.solid X%%DATADIR%%/Data/Models/lowsimplecollide1.solid X%%DATADIR%%/Data/Models/lowsimplecollide2.solid X%%DATADIR%%/Data/Models/lowsimplecollide3.solid X%%DATADIR%%/Data/Models/lowsimplecollide4.solid X%%DATADIR%%/Data/Models/sniperrifle.solid X%%DATADIR%%/Data/Models/streetsubdivided2.solid X%%DATADIR%%/Data/Skeleton/Basic Figure X%%DATADIR%%/Data/Sounds/BodyHit.ogg X%%DATADIR%%/Data/Sounds/DisguiseKill.ogg X%%DATADIR%%/Data/Sounds/Lose.ogg X%%DATADIR%%/Data/Sounds/Nearbullet.ogg X%%DATADIR%%/Data/Sounds/SW.ogg X%%DATADIR%%/Data/Sounds/SoulIn.ogg X%%DATADIR%%/Data/Sounds/SoulOut.ogg X%%DATADIR%%/Data/Sounds/WallHit.ogg X%%DATADIR%%/Data/Sounds/bodyland.ogg X%%DATADIR%%/Data/Sounds/bounce.ogg X%%DATADIR%%/Data/Sounds/bounce2.ogg X%%DATADIR%%/Data/Sounds/click.ogg X%%DATADIR%%/Data/Sounds/explosion.ogg X%%DATADIR%%/Data/Sounds/footstep1.ogg X%%DATADIR%%/Data/Sounds/footstep2.ogg X%%DATADIR%%/Data/Sounds/footstep3.ogg X%%DATADIR%%/Data/Sounds/footstep4.ogg X%%DATADIR%%/Data/Sounds/footstep5.ogg X%%DATADIR%%/Data/Sounds/glock.ogg X%%DATADIR%%/Data/Sounds/handlerelease.ogg X%%DATADIR%%/Data/Sounds/headland.ogg X%%DATADIR%%/Data/Sounds/headshot.ogg X%%DATADIR%%/Data/Sounds/knifeslash.ogg X%%DATADIR%%/Data/Sounds/knifesong.ogg X%%DATADIR%%/Data/Sounds/machinegun.ogg X%%DATADIR%%/Data/Sounds/mainmenusong.ogg X%%DATADIR%%/Data/Sounds/pinpull.ogg X%%DATADIR%%/Data/Sounds/pinreplace.ogg X%%DATADIR%%/Data/Sounds/rain.ogg X%%DATADIR%%/Data/Sounds/reload.ogg X%%DATADIR%%/Data/Sounds/riflewhack.ogg X%%DATADIR%%/Data/Sounds/shootsong.ogg X%%DATADIR%%/Data/Sounds/shotgun.ogg X%%DATADIR%%/Data/Sounds/sniperrifle.ogg X%%DATADIR%%/Data/Sounds/underwater.ogg X%%DATADIR%%/Data/Sounds/zombiesong.ogg X%%DATADIR%%/Data/Textures/._Blood X%%DATADIR%%/Data/Textures/._Blood.tga X%%DATADIR%%/Data/Textures/._Blood.tga copy X%%DATADIR%%/Data/Textures/._BulletHole.tga X%%DATADIR%%/Data/Textures/._Crater.tga X%%DATADIR%%/Data/Textures/._Deadpersonsprite.tga X%%DATADIR%%/Data/Textures/._Flare.tga X%%DATADIR%%/Data/Textures/._Font.tga X%%DATADIR%%/Data/Textures/._HitFlash.tga X%%DATADIR%%/Data/Textures/._MuzzleFlash.tga X%%DATADIR%%/Data/Textures/._Personsprite.tga X%%DATADIR%%/Data/Textures/._Scope.tga X%%DATADIR%%/Data/Textures/._Smoke.tga X%%DATADIR%%/Data/Textures/._rain.tga X%%DATADIR%%/Data/Textures/._snow.tga X%%DATADIR%%/Data/Textures/Blood.png X%%DATADIR%%/Data/Textures/Blood.png copy X%%DATADIR%%/Data/Textures/Blood.tga X%%DATADIR%%/Data/Textures/Blood.tga copy X%%DATADIR%%/Data/Textures/Blood/._Blood1.tga X%%DATADIR%%/Data/Textures/Blood/._Blood10.tga X%%DATADIR%%/Data/Textures/Blood/._Blood11.tga X%%DATADIR%%/Data/Textures/Blood/._Blood2.tga X%%DATADIR%%/Data/Textures/Blood/._Blood3.tga X%%DATADIR%%/Data/Textures/Blood/._Blood4.tga X%%DATADIR%%/Data/Textures/Blood/._Blood5.tga X%%DATADIR%%/Data/Textures/Blood/._Blood6.tga X%%DATADIR%%/Data/Textures/Blood/._Blood7.tga X%%DATADIR%%/Data/Textures/Blood/._Blood8.tga X%%DATADIR%%/Data/Textures/Blood/._Blood9.tga X%%DATADIR%%/Data/Textures/Blood/Blood1.png X%%DATADIR%%/Data/Textures/Blood/Blood1.tga X%%DATADIR%%/Data/Textures/Blood/Blood10.png X%%DATADIR%%/Data/Textures/Blood/Blood10.tga X%%DATADIR%%/Data/Textures/Blood/Blood11.png X%%DATADIR%%/Data/Textures/Blood/Blood11.tga X%%DATADIR%%/Data/Textures/Blood/Blood2.png X%%DATADIR%%/Data/Textures/Blood/Blood2.tga X%%DATADIR%%/Data/Textures/Blood/Blood3.png X%%DATADIR%%/Data/Textures/Blood/Blood3.tga X%%DATADIR%%/Data/Textures/Blood/Blood4.png X%%DATADIR%%/Data/Textures/Blood/Blood4.tga X%%DATADIR%%/Data/Textures/Blood/Blood5.png X%%DATADIR%%/Data/Textures/Blood/Blood5.tga X%%DATADIR%%/Data/Textures/Blood/Blood6.png X%%DATADIR%%/Data/Textures/Blood/Blood6.tga X%%DATADIR%%/Data/Textures/Blood/Blood7.png X%%DATADIR%%/Data/Textures/Blood/Blood7.tga X%%DATADIR%%/Data/Textures/Blood/Blood8.png X%%DATADIR%%/Data/Textures/Blood/Blood8.tga X%%DATADIR%%/Data/Textures/Blood/Blood9.png X%%DATADIR%%/Data/Textures/Blood/Blood9.tga X%%DATADIR%%/Data/Textures/BulletHole.png X%%DATADIR%%/Data/Textures/BulletHole.tga X%%DATADIR%%/Data/Textures/Crater.png X%%DATADIR%%/Data/Textures/Crater.tga X%%DATADIR%%/Data/Textures/Deadpersonsprite.png X%%DATADIR%%/Data/Textures/Deadpersonsprite.tga X%%DATADIR%%/Data/Textures/Flare.png X%%DATADIR%%/Data/Textures/Flare.tga X%%DATADIR%%/Data/Textures/Font.png X%%DATADIR%%/Data/Textures/Font.tga X%%DATADIR%%/Data/Textures/HitFlash.png X%%DATADIR%%/Data/Textures/HitFlash.tga X%%DATADIR%%/Data/Textures/MuzzleFlash.png X%%DATADIR%%/Data/Textures/MuzzleFlash.tga X%%DATADIR%%/Data/Textures/Personsprite.png X%%DATADIR%%/Data/Textures/Personsprite.tga X%%DATADIR%%/Data/Textures/Scope.png X%%DATADIR%%/Data/Textures/Scope.tga X%%DATADIR%%/Data/Textures/Smoke.png X%%DATADIR%%/Data/Textures/Smoke.tga X%%DATADIR%%/Data/Textures/rain.png X%%DATADIR%%/Data/Textures/rain.tga X%%DATADIR%%/Data/Textures/snow.png X%%DATADIR%%/Data/Textures/snow.tga X%%DATADIR%%/Data/customlevels.txt X@dirrm %%DATADIR%%/Data/Textures/Blood X@dirrm %%DATADIR%%/Data/Textures X@dirrm %%DATADIR%%/Data/Sounds X@dirrm %%DATADIR%%/Data/Skeleton X@dirrm %%DATADIR%%/Data/Models X@dirrm %%DATADIR%%/Data/Animations X@dirrm %%DATADIR%%/Data X@dirrm %%DATADIR%% END-of-blackshadeselite/pkg-plist echo x - blackshadeselite/distinfo sed 's/^X//' >blackshadeselite/distinfo << 'END-of-blackshadeselite/distinfo' XMD5 (blackshadeselite-0.0.1.tar.bz2) = 51e9873b43b669ee7c83beaa66085c14 XSHA256 (blackshadeselite-0.0.1.tar.bz2) = 212bdece1643188218a8bdd7726dea27e754dde0c64600d792de3adaa4f6cb58 XSIZE (blackshadeselite-0.0.1.tar.bz2) = 1171049 END-of-blackshadeselite/distinfo echo x - blackshadeselite/pkg-message sed 's/^X//' >blackshadeselite/pkg-message << 'END-of-blackshadeselite/pkg-message' XBlack Shades Elite has been installed. To start the game, type X`blackshades'. X XAlso, you may find those key combinations useful: X XAlt+Enter: toggle fullscreen XCtrl+G: toggle mouse grab END-of-blackshadeselite/pkg-message exit --- blackshadeselite-0.0.1.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted: