Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jan 2008 01:14:43 +0300 (MSK)
From:      Dmitry Marakasov <amdmi3@amdmi3.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/120063: [NEW PORT] games/blackshadeselite: Psychic Bodyguard FPS - protect the VIP
Message-ID:  <20080127221443.517FA17031@hades.panopticon>
Resent-Message-ID: <200801272220.m0RMK2RR048983@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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 <amdmi3@amdmi3.ru>
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 <bsd.port.mk>
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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080127221443.517FA17031>