Positional Tracking & other stuff..

This commit is contained in:
Simon 2019-11-11 22:26:40 +00:00
parent 5befda9c61
commit 3bcafe27ca
22 changed files with 96 additions and 1196 deletions

View file

@ -1300,7 +1300,7 @@ void VR_Init()
{
//Initialise all our variables
playerYaw = 0.0f;
showingScreenLayer = false;
showingScreenLayer = true;
remote_movementSideways = 0.0f;
remote_movementForward = 0.0f;
remote_movementUp = 0.0f;
@ -1315,19 +1315,18 @@ void VR_Init()
//Create Cvars
vr_snapturn_angle = Cvar_Get( "vr_snapturn_angle", "45", CVAR_ARCHIVE);
vr_reloadtimeoutms = Cvar_Get( "vr_reloadtimeoutms", "200", CVAR_ARCHIVE);
vr_positional_factor = Cvar_Get( "vr_positional_factor", "2800", CVAR_ARCHIVE);
vr_positional_factor = Cvar_Get( "vr_positional_factor", "2000", CVAR_ARCHIVE);
vr_walkdirection = Cvar_Get( "vr_walkdirection", "0", CVAR_ARCHIVE);
vr_weapon_pitchadjust = Cvar_Get( "vr_weapon_pitchadjust", "-20.0", CVAR_ARCHIVE);
vr_weapon_recoil = Cvar_Get( "vr_weapon_recoil", "0", CVAR_ARCHIVE);
vr_weapon_stabilised = Cvar_Get( "vr_weapon_stabilised", "0", 0);
vr_lasersight = Cvar_Get( "vr_lasersight", "0", CVAR_ARCHIVE);
vr_fov = Cvar_Get( "vr_fov", "107", CVAR_ARCHIVE);
vr_control_scheme = Cvar_Get( "vr_control_scheme", "0", CVAR_ARCHIVE);
vr_enable_crouching = Cvar_Get( "vr_enable_crouching", "0.85", CVAR_ARCHIVE);
vr_height_adjust = Cvar_Get( "vr_height_adjust", "0.0", CVAR_ARCHIVE);
vr_flashlight_model = Cvar_Get( "vr_flashlight_model", "1", CVAR_ARCHIVE);
vr_mirror_weapons = Cvar_Get( "vr_mirror_weapons", "0", CVAR_ARCHIVE);
vr_weaponscale = Cvar_Get( "vr_weaponscale", "0.4", CVAR_ARCHIVE);
vr_weaponscale = Cvar_Get( "vr_weaponscale", "0.6", CVAR_ARCHIVE);
//The Engine (which is a derivative of Quake) uses a very specific unit size:
//Wolfenstein 3D, DOOM and QUAKE use the same coordinate/unit system:

View file

@ -6,7 +6,6 @@ cvar_t *vr_weapon_pitchadjust;
cvar_t *vr_weapon_recoil;
cvar_t *vr_weapon_stabilised;
cvar_t *vr_lasersight;
cvar_t *vr_fov;
cvar_t *vr_control_scheme;
cvar_t *vr_enable_crouching;
cvar_t *vr_height_adjust;

View file

@ -223,14 +223,14 @@ void HandleInput_Right(ovrMobile * Ovr, double displayTime )
//This section corrects for the fact that the controller actually controls direction of movement, but we want to move relative to the direction the
//player is facing for positional tracking
float multiplier = vr_positional_factor->value / (cl_forwardspeed->value *
float multiplier = (vr_positional_factor->value) / (cl_forwardspeed->value *
((leftTrackedRemoteState_new.Buttons & ovrButton_Trigger) ? 1.5f : 1.0f));
vec2_t v;
rotateAboutOrigin(-positionDeltaThisFrame[0] * multiplier,
positionDeltaThisFrame[2] * multiplier, (cl.refdef.viewangles[YAW] - hmdorientation[YAW]), v);
//positional_movementSideways = v[0];
//positional_movementForward = v[1];
positionDeltaThisFrame[2] * multiplier, /*cl.refdef.viewangles[YAW]*/ - hmdorientation[YAW], v);
positional_movementSideways = v[0];
positional_movementForward = v[1];
ALOGV(" positional_movementSideways: %f, positional_movementForward: %f",
positional_movementSideways,
@ -250,7 +250,7 @@ void HandleInput_Right(ovrMobile * Ovr, double displayTime )
if ((rightTrackedRemoteState_new.Buttons & ovrButton_Trigger) !=
(rightTrackedRemoteState_old.Buttons & ovrButton_Trigger)) {
sendButtonActionSimple("inven");
sendButtonActionSimple("invuse");
}
}
else

View file

@ -184,6 +184,8 @@ void Matrix3x4_OriginFromMatrix( cmatrix3x4 in, float *out );
#define Matrix4x4_LoadIdentity( mat ) Matrix4x4_Copy( mat, matrix4x4_identity )
#define Matrix4x4_Copy( out, in ) Q_memcpy( out, in, sizeof( matrix4x4 ))
void Matrix4x4_Concat (matrix4x4 out, const matrix4x4 in1, const matrix4x4 in2);
void Matrix4x4_CreateTranslate (matrix4x4 out, double x, double y, double z);
void Matrix4x4_VectorTransform( cmatrix4x4 in, const float v[3], float out[3] );
void Matrix4x4_VectorITransform( cmatrix4x4 in, const float v[3], float out[3] );
void Matrix4x4_VectorRotate( cmatrix4x4 in, const float v[3], float out[3] );

View file

@ -342,6 +342,47 @@ void Matrix4x4_FromOriginQuat( matrix4x4 out, const vec4_t quaternion, const vec
out[3][3] = 1.0f;
}
void Matrix4x4_CreateTranslate (matrix4x4 out, double x, double y, double z)
{
out[0][0]=1.0f;
out[0][1]=0.0f;
out[0][2]=0.0f;
out[0][3]=x;
out[1][0]=0.0f;
out[1][1]=1.0f;
out[1][2]=0.0f;
out[1][3]=y;
out[2][0]=0.0f;
out[2][1]=0.0f;
out[2][2]=1.0f;
out[2][3]=z;
out[3][0]=0.0f;
out[3][1]=0.0f;
out[3][2]=0.0f;
out[3][3]=1.0f;
}
void Matrix4x4_Concat (matrix4x4 out, const matrix4x4 in1, const matrix4x4 in2)
{
out[0][0] = in1[0][0] * in2[0][0] + in1[0][1] * in2[1][0] + in1[0][2] * in2[2][0] + in1[0][3] * in2[3][0];
out[0][1] = in1[0][0] * in2[0][1] + in1[0][1] * in2[1][1] + in1[0][2] * in2[2][1] + in1[0][3] * in2[3][1];
out[0][2] = in1[0][0] * in2[0][2] + in1[0][1] * in2[1][2] + in1[0][2] * in2[2][2] + in1[0][3] * in2[3][2];
out[0][3] = in1[0][0] * in2[0][3] + in1[0][1] * in2[1][3] + in1[0][2] * in2[2][3] + in1[0][3] * in2[3][3];
out[1][0] = in1[1][0] * in2[0][0] + in1[1][1] * in2[1][0] + in1[1][2] * in2[2][0] + in1[1][3] * in2[3][0];
out[1][1] = in1[1][0] * in2[0][1] + in1[1][1] * in2[1][1] + in1[1][2] * in2[2][1] + in1[1][3] * in2[3][1];
out[1][2] = in1[1][0] * in2[0][2] + in1[1][1] * in2[1][2] + in1[1][2] * in2[2][2] + in1[1][3] * in2[3][2];
out[1][3] = in1[1][0] * in2[0][3] + in1[1][1] * in2[1][3] + in1[1][2] * in2[2][3] + in1[1][3] * in2[3][3];
out[2][0] = in1[2][0] * in2[0][0] + in1[2][1] * in2[1][0] + in1[2][2] * in2[2][0] + in1[2][3] * in2[3][0];
out[2][1] = in1[2][0] * in2[0][1] + in1[2][1] * in2[1][1] + in1[2][2] * in2[2][1] + in1[2][3] * in2[3][1];
out[2][2] = in1[2][0] * in2[0][2] + in1[2][1] * in2[1][2] + in1[2][2] * in2[2][2] + in1[2][3] * in2[3][2];
out[2][3] = in1[2][0] * in2[0][3] + in1[2][1] * in2[1][3] + in1[2][2] * in2[2][3] + in1[2][3] * in2[3][3];
out[3][0] = in1[3][0] * in2[0][0] + in1[3][1] * in2[1][0] + in1[3][2] * in2[2][0] + in1[3][3] * in2[3][0];
out[3][1] = in1[3][0] * in2[0][1] + in1[3][1] * in2[1][1] + in1[3][2] * in2[2][1] + in1[3][3] * in2[3][1];
out[3][2] = in1[3][0] * in2[0][2] + in1[3][1] * in2[1][2] + in1[3][2] * in2[2][2] + in1[3][3] * in2[3][2];
out[3][3] = in1[3][0] * in2[0][3] + in1[3][1] * in2[1][3] + in1[3][2] * in2[2][3] + in1[3][3] * in2[3][3];
}
void Matrix4x4_CreateFromEntity( matrix4x4 out, const vec3_t angles, const vec3_t origin, float scale )
{
float angle, sr, sp, sy, cr, cp, cy;

View file

@ -1518,7 +1518,7 @@ void CL_InitLocal (void)
rate = Cvar_Get ("rate", "25000", CVAR_USERINFO | CVAR_ARCHIVE); // FIXME
msg = Cvar_Get ("msg", "1", CVAR_USERINFO | CVAR_ARCHIVE);
hand = Cvar_Get ("hand", "0", CVAR_USERINFO | CVAR_ARCHIVE);
fov = Cvar_Get ("fov", "107", CVAR_USERINFO | CVAR_ARCHIVE);
fov = Cvar_Get ("fov", "104", CVAR_USERINFO | CVAR_ARCHIVE);
gender = Cvar_Get ("gender", "male", CVAR_USERINFO | CVAR_ARCHIVE);
gender_auto = Cvar_Get ("gender_auto", "1", CVAR_ARCHIVE);
gender->modified = false; // clear this so we know when user sets it manually

View file

@ -1595,7 +1595,7 @@ static void SV_SetWeapon_Client6DOF(edict_t *ent)
vec3_t origin;
vec3_t weaponoffsetQ2;
vec3_t offset;
VectorSet(offset, 0, 0, 8);
VectorSet(offset, 0, 0, ent->viewheight-8);
convertFromVRtoQ2(weaponoffset, offset, weaponoffsetQ2);
VectorCopy(ent->s.origin, origin);
VectorAdd(weaponoffsetQ2, origin, ent->s.origin);

View file

@ -488,12 +488,12 @@ typedef struct
{
pmtype_t pm_type;
short origin[3]; // 12.3
short velocity[3]; // 12.3
float origin[3]; // 12.3
float velocity[3]; // 12.3
byte pm_flags; // ducked, jump_held, etc
byte pm_time; // each unit = 8 ms
short gravity;
short delta_angles[3]; // add to command angles to get view direction
float gravity;
float delta_angles[3]; // add to command angles to get view direction
// changed by spawns, rotating objects, and teleporters
} pmove_state_t;
@ -512,7 +512,7 @@ typedef struct usercmd_s
byte msec;
byte buttons;
short angles[3];
short forwardmove, sidemove, upmove;
float forwardmove, sidemove, upmove;
byte impulse; // remove?
byte lightlevel; // light level the player is standing on
} usercmd_t;

View file

@ -439,11 +439,11 @@ void MSG_WriteDeltaUsercmd (sizebuf_t *buf, usercmd_t *from, usercmd_t *cmd)
MSG_WriteShort (buf, cmd->angles[2]);
if (bits & CM_FORWARD)
MSG_WriteShort (buf, cmd->forwardmove);
MSG_WriteFloat(buf, cmd->forwardmove);
if (bits & CM_SIDE)
MSG_WriteShort (buf, cmd->sidemove);
MSG_WriteFloat (buf, cmd->sidemove);
if (bits & CM_UP)
MSG_WriteShort (buf, cmd->upmove);
MSG_WriteFloat (buf, cmd->upmove);
if (bits & CM_BUTTONS)
MSG_WriteByte (buf, cmd->buttons);
@ -872,11 +872,11 @@ void MSG_ReadDeltaUsercmd (sizebuf_t *msg_read, usercmd_t *from, usercmd_t *move
// read movement
if (bits & CM_FORWARD)
move->forwardmove = MSG_ReadShort (msg_read);
move->forwardmove = MSG_ReadFloat (msg_read);
if (bits & CM_SIDE)
move->sidemove = MSG_ReadShort (msg_read);
move->sidemove = MSG_ReadFloat (msg_read);
if (bits & CM_UP)
move->upmove = MSG_ReadShort (msg_read);
move->upmove = MSG_ReadFloat (msg_read);
// read buttons
if (bits & CM_BUTTONS)

View file

@ -1080,7 +1080,19 @@ precision of the network channel and in a valid position.
*/
void PM_SnapPosition (void)
{
int sign[3];
//NO SNAPPING - BREAKS POSITIONAL TRACKING
int i;
for (i=0 ; i<3 ; i++) {
pm->s.origin[i] = pml.origin[i] * 8.0f;
}
for (i=0 ; i<3 ; i++) {
pm->s.velocity[i] = pml.velocity[i] * 8.0f;
}
return;
/*
int sign[3];
int i, j, bits;
short base[3];
// try all single bits first
@ -1118,6 +1130,7 @@ void PM_SnapPosition (void)
// go back to the last position
VectorCopy (pml.previous_origin, pm->s.origin);
// Com_DPrintf ("using previous_origin\n");
*/
}
#if 0
@ -1288,8 +1301,8 @@ void Pmove (pmove_t *pmove)
// set mins, maxs, and viewheight
PM_CheckDuck ();
if (pm->snapinitial)
PM_InitialSnapPosition ();
//if (pm->snapinitial)
// PM_InitialSnapPosition ();
// set groundentity, watertype, and waterlevel
PM_CatagorizePosition ();

View file

@ -757,31 +757,23 @@ void R_DrawAliasModel (entity_t *e)
}*/
if ( currententity->flags & RF_WEAPONMODEL )
{
qglMatrixMode( GL_PROJECTION );
qglPushMatrix();
qglLoadIdentity();
MYgluPerspective( r_newrefdef.fov_y, ( float ) r_newrefdef.width / r_newrefdef.height, 0.1, 8192);
qglPushMatrix ();
e->angles[PITCH] = -e->angles[PITCH]; // sigh.
R_RotateForEntity (e);
e->angles[PITCH] = -e->angles[PITCH]; // sigh.
if ( currententity->flags & RF_WEAPONMODEL )
{
if ( r_lefthand->value == 1.0F ) {
qglScalef(-vr_weaponscale->value, vr_weaponscale->value, vr_weaponscale->value);
} else {
qglScalef(vr_weaponscale->value, vr_weaponscale->value, vr_weaponscale->value);
}
qglMatrixMode( GL_MODELVIEW );
if ( r_lefthand->value == 1.0F ) {
qglCullFace( GL_BACK );
}
}
qglPushMatrix ();
e->angles[PITCH] = -e->angles[PITCH]; // sigh.
R_RotateForEntity (e);
e->angles[PITCH] = -e->angles[PITCH]; // sigh.
if ( r_lefthand->value == 1.0F ) {
qglCullFace( GL_BACK );
}
}
// select skin
if (currententity->skin)
@ -856,11 +848,6 @@ void R_DrawAliasModel (entity_t *e)
if ( ( currententity->flags & RF_WEAPONMODEL ) )
{
qglMatrixMode( GL_PROJECTION );
qglPopMatrix();
qglMatrixMode( GL_MODELVIEW );
if ( r_lefthand->value == 1.0F ) {
qglCullFace(GL_FRONT);
}

View file

@ -1,48 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-ctf
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.idsoftware.com/q2ctf/
Source: quake2-ctf-%{version}.tar.gz
BuildArchitectures: noarch
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 Capture the Flag for Linux
%description
Quake II Capture The Flag (Q2CTF) is a multiplayer addon for Quake2 that
features a simple set of rules for team based play. It features eight unique
maps and special powerups to enhance and make the gameplay more exciting.
Q2CTF requires the full retail version of Quake II installed in order to
play. Once installed, you simple need to connect to a Quake2 game server
that is running the Q2CTF addon.
%install
%files
%attr(644,root,root) $4/ctf/pak0.pak
%attr(644,root,root) $4/ctf/pak1.pak
%attr(644,root,root) $4/ctf/ctf2.ico
%attr(644,root,root) $4/ctf/readme.txt
%attr(644,root,root) $4/ctf/server.cfg
EOF

View file

@ -1,348 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-data
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.idsoftware.com/
Source: quake2-data-%{version}.tar.gz
BuildArchitectures: noarch
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 for Linux
%description
Quake2
Shortly after landing on an alien surface you learn that hundreds of your men
have been reduced to just a few. Now you must fight your way through heavily
fortified military installations, lower the city's defenses and shut down
the enemy's war machine. Only then will the fate of humanity be known.
LARGER, MISSION-BASED LEVELS
You have a series of complex missions, what you do in one level could affect
another. One false move and you could alert security, flood an entire
passageway, or worse.
SUPERIOR ARTIFICIAL INTELLIGENCE
This time the enemy has IQs the size of their appetites. The can evade your
attack, strategically position themselves for an ambush and hunt your ass
down.
IN-YOUR-FACE SOUND AND GRAPHICS
hear distant combat explosions and rockets whizzing past your head. And with
a compatible 3-D graphics accelerator, experience smoother 16-bit graphics and
real-time lighting effects.
WICKED MULTIPLAYER CAPABILITIES
More than 32 players, friends or foes, can do at it in a bloody deathmatch via
LAN and over the internet.
This package contains the data files needed to run Quake2.
%install
%files
%attr(644,root,root) $4/baseq2/pak0.pak
%attr(644,root,root) $4/baseq2/pak1.pak
%attr(644,root,root) $4/baseq2/pak2.pak
%attr(644,root,root) $4/baseq2/players/cyborg/a_grenades.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_bfg.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_blaster.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_chainfist.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_chaingun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_disrupt.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_etfrifle.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_glauncher.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_grapple.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_hyperblaster.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_machinegun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_phalanx.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_plasma.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_plauncher.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_railgun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_ripper.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_rlauncher.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_shotgun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_sshotgun.md2
%attr(644,root,root) $4/baseq2/players/female/a_grenades.md2
%attr(644,root,root) $4/baseq2/players/female/w_bfg.md2
%attr(644,root,root) $4/baseq2/players/female/w_blaster.md2
%attr(644,root,root) $4/baseq2/players/female/w_chainfist.md2
%attr(644,root,root) $4/baseq2/players/female/w_chaingun.md2
%attr(644,root,root) $4/baseq2/players/female/w_disrupt.md2
%attr(644,root,root) $4/baseq2/players/female/w_etfrifle.md2
%attr(644,root,root) $4/baseq2/players/female/w_glauncher.md2
%attr(644,root,root) $4/baseq2/players/female/w_grapple.md2
%attr(644,root,root) $4/baseq2/players/female/w_hyperblaster.md2
%attr(644,root,root) $4/baseq2/players/female/w_machinegun.md2
%attr(644,root,root) $4/baseq2/players/female/w_phalanx.md2
%attr(644,root,root) $4/baseq2/players/female/w_plasma.md2
%attr(644,root,root) $4/baseq2/players/female/w_plauncher.md2
%attr(644,root,root) $4/baseq2/players/female/w_railgun.md2
%attr(644,root,root) $4/baseq2/players/female/w_ripper.md2
%attr(644,root,root) $4/baseq2/players/female/w_rlauncher.md2
%attr(644,root,root) $4/baseq2/players/female/w_shotgun.md2
%attr(644,root,root) $4/baseq2/players/female/w_sshotgun.md2
%attr(644,root,root) $4/baseq2/players/male/a_grenades.md2
%attr(644,root,root) $4/baseq2/players/male/w_bfg.md2
%attr(644,root,root) $4/baseq2/players/male/w_blaster.md2
%attr(644,root,root) $4/baseq2/players/male/w_chainfist.md2
%attr(644,root,root) $4/baseq2/players/male/w_chaingun.md2
%attr(644,root,root) $4/baseq2/players/male/w_disrupt.md2
%attr(644,root,root) $4/baseq2/players/male/w_etfrifle.md2
%attr(644,root,root) $4/baseq2/players/male/w_glauncher.md2
%attr(644,root,root) $4/baseq2/players/male/w_grapple.md2
%attr(644,root,root) $4/baseq2/players/male/w_hyperblaster.md2
%attr(644,root,root) $4/baseq2/players/male/w_machinegun.md2
%attr(644,root,root) $4/baseq2/players/male/w_phalanx.md2
%attr(644,root,root) $4/baseq2/players/male/w_plasma.md2
%attr(644,root,root) $4/baseq2/players/male/w_plauncher.md2
%attr(644,root,root) $4/baseq2/players/male/w_railgun.md2
%attr(644,root,root) $4/baseq2/players/male/w_ripper.md2
%attr(644,root,root) $4/baseq2/players/male/w_rlauncher.md2
%attr(644,root,root) $4/baseq2/players/male/w_shotgun.md2
%attr(644,root,root) $4/baseq2/players/male/w_sshotgun.md2
%attr(644,root,root) $4/baseq2/players/female/athena.pcx
%attr(644,root,root) $4/baseq2/players/female/athena_i.pcx
%attr(644,root,root) $4/baseq2/players/female/brianna.pcx
%attr(644,root,root) $4/baseq2/players/female/brianna_i.pcx
%attr(644,root,root) $4/baseq2/players/female/cobalt.pcx
%attr(644,root,root) $4/baseq2/players/female/cobalt_i.pcx
%attr(644,root,root) $4/baseq2/players/female/ensign.pcx
%attr(644,root,root) $4/baseq2/players/female/ensign_i.pcx
%attr(644,root,root) $4/baseq2/players/female/jezebel.pcx
%attr(644,root,root) $4/baseq2/players/female/jezebel_i.pcx
%attr(644,root,root) $4/baseq2/players/female/jungle.pcx
%attr(644,root,root) $4/baseq2/players/female/jungle_i.pcx
%attr(644,root,root) $4/baseq2/players/female/lotus.pcx
%attr(644,root,root) $4/baseq2/players/female/lotus_i.pcx
%attr(644,root,root) $4/baseq2/players/female/stiletto.pcx
%attr(644,root,root) $4/baseq2/players/female/stiletto_i.pcx
%attr(644,root,root) $4/baseq2/players/female/tris.md2
%attr(644,root,root) $4/baseq2/players/female/venus.pcx
%attr(644,root,root) $4/baseq2/players/female/venus_i.pcx
%attr(644,root,root) $4/baseq2/players/female/voodoo.pcx
%attr(644,root,root) $4/baseq2/players/female/voodoo_i.pcx
%attr(644,root,root) $4/baseq2/players/female/weapon.md2
%attr(644,root,root) $4/baseq2/players/female/weapon.pcx
%attr(644,root,root) $4/baseq2/players/male/cipher.pcx
%attr(644,root,root) $4/baseq2/players/male/cipher_i.pcx
%attr(644,root,root) $4/baseq2/players/male/claymore.pcx
%attr(644,root,root) $4/baseq2/players/male/claymore_i.pcx
%attr(644,root,root) $4/baseq2/players/male/flak.pcx
%attr(644,root,root) $4/baseq2/players/male/flak_i.pcx
%attr(644,root,root) $4/baseq2/players/male/grunt.pcx
%attr(644,root,root) $4/baseq2/players/male/grunt_i.pcx
%attr(644,root,root) $4/baseq2/players/male/howitzer.pcx
%attr(644,root,root) $4/baseq2/players/male/howitzer_i.pcx
%attr(644,root,root) $4/baseq2/players/male/major.pcx
%attr(644,root,root) $4/baseq2/players/male/major_i.pcx
%attr(644,root,root) $4/baseq2/players/male/nightops.pcx
%attr(644,root,root) $4/baseq2/players/male/nightops_i.pcx
%attr(644,root,root) $4/baseq2/players/male/pointman.pcx
%attr(644,root,root) $4/baseq2/players/male/pointman_i.pcx
%attr(644,root,root) $4/baseq2/players/male/psycho.pcx
%attr(644,root,root) $4/baseq2/players/male/psycho_i.pcx
%attr(644,root,root) $4/baseq2/players/male/rampage.pcx
%attr(644,root,root) $4/baseq2/players/male/rampage_i.pcx
%attr(644,root,root) $4/baseq2/players/male/razor.pcx
%attr(644,root,root) $4/baseq2/players/male/razor_i.pcx
%attr(644,root,root) $4/baseq2/players/male/recon.pcx
%attr(644,root,root) $4/baseq2/players/male/recon_i.pcx
%attr(644,root,root) $4/baseq2/players/male/scout.pcx
%attr(644,root,root) $4/baseq2/players/male/scout_i.pcx
%attr(644,root,root) $4/baseq2/players/male/sniper.pcx
%attr(644,root,root) $4/baseq2/players/male/sniper_i.pcx
%attr(644,root,root) $4/baseq2/players/male/tris.md2
%attr(644,root,root) $4/baseq2/players/male/viper.pcx
%attr(644,root,root) $4/baseq2/players/male/viper_i.pcx
%attr(644,root,root) $4/baseq2/players/male/weapon.md2
%attr(644,root,root) $4/baseq2/players/male/weapon.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/bump1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/death1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/death2.wav
%attr(644,root,root) $4/baseq2/players/cyborg/death3.wav
%attr(644,root,root) $4/baseq2/players/cyborg/death4.wav
%attr(644,root,root) $4/baseq2/players/cyborg/drown1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/fall1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/fall2.wav
%attr(644,root,root) $4/baseq2/players/cyborg/gurp1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/gurp2.wav
%attr(644,root,root) $4/baseq2/players/cyborg/jump1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/oni911.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/oni911_i.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/pain100_1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/pain100_2.wav
%attr(644,root,root) $4/baseq2/players/cyborg/pain25_1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/pain25_2.wav
%attr(644,root,root) $4/baseq2/players/cyborg/pain50_1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/pain50_2.wav
%attr(644,root,root) $4/baseq2/players/cyborg/pain75_1.wav
%attr(644,root,root) $4/baseq2/players/cyborg/pain75_2.wav
%attr(644,root,root) $4/baseq2/players/cyborg/ps9000.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/ps9000_i.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/tris.md2
%attr(644,root,root) $4/baseq2/players/cyborg/tyr574.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/tyr574_i.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/weapon.md2
%attr(644,root,root) $4/baseq2/players/cyborg/weapon.pcx
%attr(644,root,root) $4/baseq2/players/cyborg/weapon.pcx.pcx
%attr(644,root,root) "$4/docs/Commercial Exploitation.doc"
%attr(644,root,root) $4/docs/Manual.html
%attr(644,root,root) "$4/docs/QII License Information.doc"
%attr(644,root,root) "$4/docs/Quake II License.doc"
%attr(644,root,root) "$4/docs/Release Notes.doc"
%attr(644,root,root) $4/docs/commexp.txt
%attr(644,root,root) $4/docs/license.txt
%attr(644,root,root) $4/docs/licinfo.txt
%attr(644,root,root) $4/docs/readme.doc
%attr(644,root,root) $4/docs/readme.txt
%attr(644,root,root) $4/docs/release.txt
%attr(644,root,root) $4/docs/quake2_manual/bottom.html
%attr(644,root,root) $4/docs/quake2_manual/credits.html
%attr(644,root,root) $4/docs/quake2_manual/customer_support.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_barracuda_shark.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_berserker.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_brains.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_enforcer.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_flyer.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_gladiator.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_gunner.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_icarus.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_iron_maiden.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_light_guard.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_machinegun_guard.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_medic.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_mutant.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_parasite.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_shotgun_guard.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_tank.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_tank_commander.html
%attr(644,root,root) $4/docs/quake2_manual/enemy_technician.html
%attr(644,root,root) $4/docs/quake2_manual/images/adrenaline.gif
%attr(644,root,root) $4/docs/quake2_manual/images/amor_body.gif
%attr(644,root,root) $4/docs/quake2_manual/images/armor_combat.gif
%attr(644,root,root) $4/docs/quake2_manual/images/armor_jacket.gif
%attr(644,root,root) $4/docs/quake2_manual/images/armor_shard.gif
%attr(644,root,root) $4/docs/quake2_manual/images/bandoleer.gif
%attr(644,root,root) $4/docs/quake2_manual/images/barracuda_shark.gif
%attr(644,root,root) $4/docs/quake2_manual/images/berserker.gif
%attr(644,root,root) $4/docs/quake2_manual/images/bfg.gif
%attr(644,root,root) $4/docs/quake2_manual/images/blaster.gif
%attr(644,root,root) $4/docs/quake2_manual/images/bluekey.gif
%attr(644,root,root) $4/docs/quake2_manual/images/bottom_id_link_transparent.gif
%attr(644,root,root) $4/docs/quake2_manual/images/brains.gif
%attr(644,root,root) $4/docs/quake2_manual/images/breather.gif
%attr(644,root,root) $4/docs/quake2_manual/images/bullets.gif
%attr(644,root,root) $4/docs/quake2_manual/images/buttons.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/cells.gif
%attr(644,root,root) $4/docs/quake2_manual/images/chaingun.gif
%attr(644,root,root) $4/docs/quake2_manual/images/cloaker.gif
%attr(644,root,root) $4/docs/quake2_manual/images/commandant_james.gif
%attr(644,root,root) $4/docs/quake2_manual/images/credits_main.gif
%attr(644,root,root) $4/docs/quake2_manual/images/door.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/elevator_base_exit_sign.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/enemy_groupshot.gif
%attr(644,root,root) $4/docs/quake2_manual/images/energy_armour.gif
%attr(644,root,root) $4/docs/quake2_manual/images/enforcer.gif
%attr(644,root,root) $4/docs/quake2_manual/images/envirosuit.gif
%attr(644,root,root) $4/docs/quake2_manual/images/explosive_barrels.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/first_aid.gif
%attr(644,root,root) $4/docs/quake2_manual/images/flyer.gif
%attr(644,root,root) $4/docs/quake2_manual/images/gladiator.gif
%attr(644,root,root) $4/docs/quake2_manual/images/goggles.gif
%attr(644,root,root) $4/docs/quake2_manual/images/grenades.gif
%attr(644,root,root) $4/docs/quake2_manual/images/grenade_launcher.gif
%attr(644,root,root) $4/docs/quake2_manual/images/gunner.gif
%attr(644,root,root) $4/docs/quake2_manual/images/hand_grenade.gif
%attr(644,root,root) $4/docs/quake2_manual/images/heavy_pack.gif
%attr(644,root,root) $4/docs/quake2_manual/images/hyper_blaster.gif
%attr(644,root,root) $4/docs/quake2_manual/images/icarus.gif
%attr(644,root,root) $4/docs/quake2_manual/images/invisibility.gif
%attr(644,root,root) $4/docs/quake2_manual/images/invulnerability.gif
%attr(644,root,root) $4/docs/quake2_manual/images/iron_maiden.gif
%attr(644,root,root) $4/docs/quake2_manual/images/lava.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/lever.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/light_guard.gif
%attr(644,root,root) $4/docs/quake2_manual/images/machinegun.gif
%attr(644,root,root) $4/docs/quake2_manual/images/machinegun_guard.gif
%attr(644,root,root) $4/docs/quake2_manual/images/main_cover_image.gif
%attr(644,root,root) $4/docs/quake2_manual/images/manual_back.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/manual_bottom.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/manual_cover_image.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/manual_top.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/medic.gif
%attr(644,root,root) $4/docs/quake2_manual/images/medkit.gif
%attr(644,root,root) $4/docs/quake2_manual/images/mega_health.gif
%attr(644,root,root) $4/docs/quake2_manual/images/menu.gif
%attr(644,root,root) $4/docs/quake2_manual/images/multiplayer_main.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/multiplayer_menu1.gif
%attr(644,root,root) $4/docs/quake2_manual/images/multiplayer_screen1.gif
%attr(644,root,root) $4/docs/quake2_manual/images/mutant.gif
%attr(644,root,root) $4/docs/quake2_manual/images/no_data.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/parasite.gif
%attr(644,root,root) $4/docs/quake2_manual/images/player_properties_screen1.gif
%attr(644,root,root) $4/docs/quake2_manual/images/quad_damage.gif
%attr(644,root,root) $4/docs/quake2_manual/images/rail_gun.gif
%attr(644,root,root) $4/docs/quake2_manual/images/rockets.gif
%attr(644,root,root) $4/docs/quake2_manual/images/rocket_launcher.gif
%attr(644,root,root) $4/docs/quake2_manual/images/scope.gif
%attr(644,root,root) $4/docs/quake2_manual/images/secret_door.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/shells.gif
%attr(644,root,root) $4/docs/quake2_manual/images/shotgun.gif
%attr(644,root,root) $4/docs/quake2_manual/images/shotgun_guard.gif
%attr(644,root,root) $4/docs/quake2_manual/images/sights.gif
%attr(644,root,root) $4/docs/quake2_manual/images/silencer.gif
%attr(644,root,root) $4/docs/quake2_manual/images/slime.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/start_network_server_screen1.gif
%attr(644,root,root) $4/docs/quake2_manual/images/stimpack.gif
%attr(644,root,root) $4/docs/quake2_manual/images/story_main.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/strogg_environ_1.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/strogg_environ_2.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/strogg_environ_3.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/supershotgun.gif
%attr(644,root,root) $4/docs/quake2_manual/images/tank.gif
%attr(644,root,root) $4/docs/quake2_manual/images/tank_commander.gif
%attr(644,root,root) $4/docs/quake2_manual/images/technician.gif
%attr(644,root,root) $4/docs/quake2_manual/images/top_nav_imagemap.gif
%attr(644,root,root) $4/docs/quake2_manual/images/unit_exit_door.jpg
%attr(644,root,root) $4/docs/quake2_manual/images/water.jpg
%attr(644,root,root) $4/docs/quake2_manual/intel_brief.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief2.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief3.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief4.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief5.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief6.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief7.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief8.html
%attr(644,root,root) $4/docs/quake2_manual/intel_brief_enemy.html
%attr(644,root,root) $4/docs/quake2_manual/main.html
%attr(644,root,root) $4/docs/quake2_manual/multiplayer.html
%attr(644,root,root) $4/docs/quake2_manual/page_index.html
%attr(644,root,root) $4/docs/quake2_manual/setup_controls_screenmenus.html
%attr(644,root,root) $4/docs/quake2_manual/story.html
%attr(644,root,root) $4/docs/quake2_manual/technical_information.html
%attr(644,root,root) $4/docs/quake2_manual/top_nav.html
EOF

View file

@ -1,182 +0,0 @@
#!/bin/sh
# Generate quake2-patch.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-patch
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.idsoftware.com/
Source: quake2-patch-%{version}.tar.gz
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 for Linux
%description
Quake2
Shortly after landing on an alien surface you learn that hundreds of your men
have been reduced to just a few. Now you must fight your way through heavily
fortified military installations, lower the city's defenses and shut down
the enemy's war machine. Only then will the fate of humanity be known.
LARGER, MISSION-BASED LEVELS
You have a series of complex missions, what you do in one level could affect
another. One false move and you could alert security, flood an entire
passageway, or worse.
SUPERIOR ARTIFICIAL INTELLIGENCE
This time the enemy has IQs the size of their appetites. The can evade your
attack, strategically position themselves for an ambush and hunt your ass
down.
IN-YOUR-FACE SOUND AND GRAPHICS
hear distant combat explosions and rockets whizzing past your head. And with
a compatible 3-D graphics accelerator, experience smoother 16-bit graphics and
real-time lighting effects.
WICKED MULTIPLAYER CAPABILITIES
More than 32 players, friends or foes, can do at it in a bloody deathmatch via
LAN and over the internet.
----
Quake2 for Linux supports the following video subsystems:
- SVGALib Console Graphics (ref_soft.so)
- Requires SVGALib 1.2.0 or later
- X11 Window Graphics (ref_softx.so)
- X11R5 or later, XShm shared memory extension supported
- 3DFX fxMesa with Mesa 3-D (ref_gl.so)
- Mesa 3-D 2.6 or later, specifically compiled for 3DFX support
Mesa 3-D 2.6 compiled with 3DFX support is provided with this archive.
- Generic glX (X11) based OpenGL (ref_glx.so)
- Requires a glX based hardware accelerated OpenGL implementation.
Mesa 3-D 2.6 supports this on 3DFX hardware.
Also included is a specific 3DFX mini-OpenGL implementation for running Quake2
on 3DFX hardware.
For 3DFX based hardware, 3DFXs GLIDE drivers for Linux are required.
%install
%files
%attr(644,root,root) $4/README
%attr(644,root,root) $4/readme.txt
%attr(644,root,root) $4/3.20_Changes.txt
%attr(4755,root,root) $4/quake2
%attr(755,root,root) $4/ref_soft.so
%attr(755,root,root) $4/ref_softx.so
%attr(755,root,root) $4/ref_gl.so
%attr(755,root,root) $4/ref_glx.so
%attr(755,root,root) $4/baseq2/game%{arch}.so
%attr(755,root,root) $4/xatrix/game%{arch}.so
%attr(755,root,root) $4/rogue/game%{arch}.so
%attr(755,root,root) $4/lib3dfxgl.so
%attr(755,root,root) $4/libMesaGL.so.2.6
%attr(755,root,root) $4/libMesaGL.so.2
%attr(755,root,root) $4/libMesaGL.so
%attr(755,root,root) $4/libGL.so
%attr(644,root,root) $4/baseq2/pak2.pak
%attr(644,root,root) $4/baseq2/players/crakhor/a_grenades.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_bfg.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_blaster.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_chainfist.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_chaingun.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_disrupt.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_etfrifle.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_glauncher.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_grapple.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_hyperblaster.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_machinegun.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_phalanx.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_plasma.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_plauncher.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_railgun.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_ripper.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_rlauncher.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_shotgun.md2
%attr(644,root,root) $4/baseq2/players/crakhor/w_sshotgun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/a_grenades.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_bfg.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_blaster.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_chainfist.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_chaingun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_disrupt.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_etfrifle.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_glauncher.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_grapple.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_hyperblaster.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_machinegun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_phalanx.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_plasma.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_plauncher.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_railgun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_ripper.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_rlauncher.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_shotgun.md2
%attr(644,root,root) $4/baseq2/players/cyborg/w_sshotgun.md2
%attr(644,root,root) $4/baseq2/players/female/a_grenades.md2
%attr(644,root,root) $4/baseq2/players/female/w_bfg.md2
%attr(644,root,root) $4/baseq2/players/female/w_blaster.md2
%attr(644,root,root) $4/baseq2/players/female/w_chainfist.md2
%attr(644,root,root) $4/baseq2/players/female/w_chaingun.md2
%attr(644,root,root) $4/baseq2/players/female/w_disrupt.md2
%attr(644,root,root) $4/baseq2/players/female/w_etfrifle.md2
%attr(644,root,root) $4/baseq2/players/female/w_glauncher.md2
%attr(644,root,root) $4/baseq2/players/female/w_grapple.md2
%attr(644,root,root) $4/baseq2/players/female/w_hyperblaster.md2
%attr(644,root,root) $4/baseq2/players/female/w_machinegun.md2
%attr(644,root,root) $4/baseq2/players/female/w_phalanx.md2
%attr(644,root,root) $4/baseq2/players/female/w_plasma.md2
%attr(644,root,root) $4/baseq2/players/female/w_plauncher.md2
%attr(644,root,root) $4/baseq2/players/female/w_railgun.md2
%attr(644,root,root) $4/baseq2/players/female/w_ripper.md2
%attr(644,root,root) $4/baseq2/players/female/w_rlauncher.md2
%attr(644,root,root) $4/baseq2/players/female/w_shotgun.md2
%attr(644,root,root) $4/baseq2/players/female/w_sshotgun.md2
%attr(644,root,root) $4/baseq2/players/male/a_grenades.md2
%attr(644,root,root) $4/baseq2/players/male/w_bfg.md2
%attr(644,root,root) $4/baseq2/players/male/w_blaster.md2
%attr(644,root,root) $4/baseq2/players/male/w_chainfist.md2
%attr(644,root,root) $4/baseq2/players/male/w_chaingun.md2
%attr(644,root,root) $4/baseq2/players/male/w_disrupt.md2
%attr(644,root,root) $4/baseq2/players/male/w_etfrifle.md2
%attr(644,root,root) $4/baseq2/players/male/w_glauncher.md2
%attr(644,root,root) $4/baseq2/players/male/w_grapple.md2
%attr(644,root,root) $4/baseq2/players/male/w_hyperblaster.md2
%attr(644,root,root) $4/baseq2/players/male/w_machinegun.md2
%attr(644,root,root) $4/baseq2/players/male/w_phalanx.md2
%attr(644,root,root) $4/baseq2/players/male/w_plasma.md2
%attr(644,root,root) $4/baseq2/players/male/w_plauncher.md2
%attr(644,root,root) $4/baseq2/players/male/w_railgun.md2
%attr(644,root,root) $4/baseq2/players/male/w_ripper.md2
%attr(644,root,root) $4/baseq2/players/male/w_rlauncher.md2
%attr(644,root,root) $4/baseq2/players/male/w_shotgun.md2
%attr(644,root,root) $4/baseq2/players/male/w_sshotgun.md2
%attr(644,root,root) /etc/quake2.conf
%post
chmod 1777 $4/baseq2
chmod 1777 $4/ctf
chmod 1777 $4/xatrix
EOF

View file

@ -1,80 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-rogue-video
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software/Rogue Entertainment
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.rogue-ent.com/
Source: quake2-rogue-video-%{version}.tar.gz
BuildArchitectures: noarch
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 Mission Pack #2: Ground Zero Video Files
%description
Mission Pack Features
The Alien Assault Continues.
Take out the Big Gun, sounded simple enough, except the Stroggs were waiting.
You and a few Marines like you, are the lucky ones. The Gravity Well, the
Stroggs' newest weapon in its arsenal against mankind, is operational. You've
made it down in one piece and are still able to contact the fleet. With the
fleet trapped around Stroggos, five percent of ground forces surviving, and
that number dwindling by the second, your orders have changed: Free your
comrades in orbit. Destroy the Gravity Well!
New Enemies
Get ready to face the toughest horde of Stroggs, straight from the bio-vats.
The Stalker, Turrets, Daedalus, Medic Commander, Carrier and the Queen Bitch
herself, the Black Widow.
14 Entirely new levels and 10 new deathmatch levels
Brand new real estate with the same dynamic sense of reality and dramatic
visuals as Quake II. These new environments will challenge even the biggest
Quake II aficionado.
New Power-ups
Tag 'em and Bag 'em. Deathmatch specific power-ups: the Vengeance Sphere,
Hunter Sphere, and Anti-matter Bomb. With everything that we've cooked up for
you here, you're sure to annihilate anyone or anything foolish enough to
call you foe.
New Weapons
The Chainsaw, ETF Rifle, and Plasma Beam. If you can't get the job done with
these babies, it's time to go back to Basic.
Accept no substitutes!
Official, id-authorized mission packs outpace the rest!
%install
%files
%attr(644,root,root) $4/rogue/video/logo.cin
%attr(644,root,root) $4/rogue/video/rend.cin
%attr(644,root,root) $4/rogue/video/reu1_.cin
%attr(644,root,root) $4/rogue/video/reu2_.cin
%attr(644,root,root) $4/rogue/video/reu3_.cin
%attr(644,root,root) $4/rogue/video/reu4_.cin
%attr(644,root,root) $4/rogue/video/rintro.cin
EOF

View file

@ -1,80 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-rogue
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.idsoftware.com/
Source: quake2-rogue-%{version}.tar.gz
BuildArchitectures: noarch
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 for Linux
%description
Mission Pack Features
The Alien Assault Continues.
Take out the Big Gun, sounded simple enough, except the Stroggs were waiting.
You and a few Marines like you, are the lucky ones. The Gravity Well, the
Stroggs' newest weapon in its arsenal against mankind, is operational. You've
made it down in one piece and are still able to contact the fleet. With the
fleet trapped around Stroggos, five percent of ground forces surviving, and
that number dwindling by the second, your orders have changed: Free your
comrades in orbit. Destroy the Gravity Well!
New Enemies
Get ready to face the toughest horde of Stroggs, straight from the bio-vats.
The Stalker, Turrets, Daedalus, Medic Commander, Carrier and the Queen Bitch
herself, the Black Widow.
14 Entirely new levels and 10 new deathmatch levels
Brand new real estate with the same dynamic sense of reality and dramatic
visuals as Quake II. These new environments will challenge even the biggest
Quake II aficionado.
New Power-ups
Tag 'em and Bag 'em. Deathmatch specific power-ups: the Vengeance Sphere,
Hunter Sphere, and Anti-matter Bomb. With everything that we've cooked up for
you here, you're sure to annihilate anyone or anything foolish enough to
call you foe.
New Weapons
The Chainsaw, ETF Rifle, and Plasma Beam. If you can't get the job done with
these babies, it's time to go back to Basic.
Accept no substitutes!
Official, id-authorized mission packs outpace the rest!
%install
%files
%attr(644,root,root) $4/rogue/pak0.pak
%attr(644,root,root) $4/rogue/docs/license.doc
%attr(644,root,root) $4/rogue/docs/license.txt
%attr(644,root,root) $4/rogue/docs/readme.htm
%attr(644,root,root) $4/rogue/docs/readme.txt
%attr(644,root,root) $4/rogue/docs/release.htm
%attr(644,root,root) $4/rogue/docs/release.txt
EOF

View file

@ -1,81 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-video
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.idsoftware.com/
Source: quake2-video-%{version}.tar.gz
BuildArchitectures: noarch
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 Video Data for Linux
%description
Quake2
Shortly after landing on an alien surface you learn that hundreds of your men
have been reduced to just a few. Now you must fight your way through heavily
fortified military installations, lower the city's defenses and shut down
the enemy's war machine. Only then will the fate of humanity be known.
LARGER, MISSION-BASED LEVELS
You have a series of complex missions, what you do in one level could affect
another. One false move and you could alert security, flood an entire
passageway, or worse.
SUPERIOR ARTIFICIAL INTELLIGENCE
This time the enemy has IQs the size of their appetites. The can evade your
attack, strategically position themselves for an ambush and hunt your ass
down.
IN-YOUR-FACE SOUND AND GRAPHICS
hear distant combat explosions and rockets whizzing past your head. And with
a compatible 3-D graphics accelerator, experience smoother 16-bit graphics and
real-time lighting effects.
WICKED MULTIPLAYER CAPABILITIES
More than 32 players, friends or foes, can do at it in a bloody deathmatch via
LAN and over the internet.
----
This package contains the optional Quake2 video files that are played during
the game.
%install
%files
%attr(644,root,root) $4/baseq2/video/end.cin
%attr(644,root,root) $4/baseq2/video/eou1_.cin
%attr(644,root,root) $4/baseq2/video/eou2_.cin
%attr(644,root,root) $4/baseq2/video/eou3_.cin
%attr(644,root,root) $4/baseq2/video/eou4_.cin
%attr(644,root,root) $4/baseq2/video/eou5_.cin
%attr(644,root,root) $4/baseq2/video/eou6_.cin
%attr(644,root,root) $4/baseq2/video/eou7_.cin
%attr(644,root,root) $4/baseq2/video/eou8_.cin
%attr(644,root,root) $4/baseq2/video/idlog.cin
%attr(644,root,root) $4/baseq2/video/ntro.cin
EOF

View file

@ -1,72 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-xatrix-video
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software/Xatrix Entertainment
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.xatrix.com/
Source: quake2-xatrix-video-%{version}.tar.gz
BuildArchitectures: noarch
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 Mission Pack #1: The Reckoning Video Files for Linux
%description
Mission Pack Features
The Reckoning is sure to get your heart pumping...well, if you can avoid
getting gibbed by the Strogg. Check out just some of the features below that
will give you the cardiac workout you need!
18 ARDUOUS LEVELS TO CONQUER & 7 BRUTAL DEATHMATCH EXCLUSIVE LEVELS
Dive into a series of mission-based campaigns and ransack your way through
three all-new hazardous episodes. Experience bioluminescent life forms,
stalagmites and stalactites and other breathtaking environments.
FRESH FOES TO DEFEAT
Gekks are lighting-fast creatures that will hunt you down, leaping from the
shadows to claw or bite. Though innocent looking, the Repair Bot has the
ability to awaken dead Strogg from eternal sleep.
ADDED WEAPONS TO WIELD
The Phalanx Particle Canon emits a pulsing stream of deadly energy into
unsuspecting foes.
The Trap sucks nearby enemies inside and turns them into food cubes for
player consumption.
The Ion Ripper fires a blast of glowing boomerangs capable of ricocheting
off of walls to track targets.
%install
%files
%attr(644,root,root) $4/xatrix/video/idlog.cin
%attr(644,root,root) $4/xatrix/video/logo.cin
%attr(644,root,root) $4/xatrix/video/xin.cin
%attr(644,root,root) $4/xatrix/video/xout.cin
%attr(644,root,root) $4/xatrix/video/xu1.cin
%attr(644,root,root) $4/xatrix/video/xu2.cin
%attr(644,root,root) $4/xatrix/video/xu3.cin
%attr(644,root,root) $4/xatrix/video/xu4.cin
EOF

View file

@ -1,73 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2-xatrix
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software/Xatrix Entertainment
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.xatrix.com/
Source: quake2-xatrix-%{version}.tar.gz
BuildArchitectures: noarch
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 Mission Pack #1: The Reckoning for Linux
%description
Mission Pack Features
The Reckoning is sure to get your heart pumping...well, if you can avoid
getting gibbed by the Strogg. Check out just some of the features below that
will give you the cardiac workout you need!
18 ARDUOUS LEVELS TO CONQUER & 7 BRUTAL DEATHMATCH EXCLUSIVE LEVELS
Dive into a series of mission-based campaigns and ransack your way through
three all-new hazardous episodes. Experience bioluminescent life forms,
stalagmites and stalactites and other breathtaking environments.
FRESH FOES TO DEFEAT
Gekks are lighting-fast creatures that will hunt you down, leaping from the
shadows to claw or bite. Though innocent looking, the Repair Bot has the
ability to awaken dead Strogg from eternal sleep.
ADDED WEAPONS TO WIELD
The Phalanx Particle Canon emits a pulsing stream of deadly energy into
unsuspecting foes.
The Trap sucks nearby enemies inside and turns them into food cubes for
player consumption.
The Ion Ripper fires a blast of glowing boomerangs capable of ricocheting
off of walls to track targets.
%install
%files
%attr(644,root,root) $4/xatrix/pak0.pak
%attr(644,root,root) $4/xatrix/docs/license.doc
%attr(644,root,root) $4/xatrix/docs/license.txt
%attr(644,root,root) $4/xatrix/docs/manual.doc
%attr(644,root,root) $4/xatrix/docs/manual.txt
%attr(644,root,root) $4/xatrix/docs/readme.htm
%attr(644,root,root) $4/xatrix/docs/readme.txt
%attr(644,root,root) $4/xatrix/docs/release.htm
%attr(644,root,root) $4/xatrix/docs/release.txt
EOF

View file

@ -1,75 +0,0 @@
#!/bin/sh
# Generate q2ded.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name q2ded
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.idsoftware.com/
Source: q2ded-%{version}.tar.gz
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 Dedicated Server for Linux
%description
Quake2
Shortly after landing on an alien surface you learn that hundreds of your men
have been reduced to just a few. Now you must fight your way through heavily
fortified military installations, lower the city's defenses and shut down
the enemy's war machine. Only then will the fate of humanity be known.
LARGER, MISSION-BASED LEVELS
You have a series of complex missions, what you do in one level could affect
another. One false move and you could alert security, flood an entire
passageway, or worse.
SUPERIOR ARTIFICIAL INTELLIGENCE
This time the enemy has IQs the size of their appetites. The can evade your
attack, strategically position themselves for an ambush and hunt your ass
down.
IN-YOUR-FACE SOUND AND GRAPHICS
hear distant combat explosions and rockets whizzing past your head. And with
a compatible 3-D graphics accelerator, experience smoother 16-bit graphics and
real-time lighting effects.
WICKED MULTIPLAYER CAPABILITIES
More than 32 players, friends or foes, can do at it in a bloody deathmatch via
LAN and over the internet.
----
This archive contains a Quake2 dedicated server for Linux Alpha based systems.
%install
%files
%attr(644,root,root) $4/README
%attr(644,root,root) $4/readme.txt
%attr(644,root,root) $4/3.20_Changes.txt
%attr(755,root,root) $4/q2ded
%attr(755,root,root) $4/baseq2/game%{arch}.so
# %attr(755,root,root) $4/ctf/game%{arch}.so
%attr(755,root,root) $4/xatrix/game%{arch}.so
%attr(755,root,root) $4/rogue/game%{arch}.so
EOF

View file

@ -1,102 +0,0 @@
#!/bin/sh
# Generate quake2.spec
# $1 is version
# $2 is release
# $3 is arch
# $4 is install dir (assumed to be in /var/tmp)
cat <<EOF
%define name quake2
%define version ${1}
%define release ${2}
%define arch ${3}
%define builddir \$RPM_BUILD_DIR/%{name}-%{version}
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: id Software
Packager: Dave "Zoid" Kirsch <zoid@idsoftware.com>
URL: http://www.idsoftware.com/
Source: quake2-%{version}.tar.gz
Group: Games
Copyright: Restricted
Icon: quake2.gif
BuildRoot: /var/tmp/%{name}-%{version}
Summary: Quake2 for Linux
%description
Quake2
Shortly after landing on an alien surface you learn that hundreds of your men
have been reduced to just a few. Now you must fight your way through heavily
fortified military installations, lower the city's defenses and shut down
the enemy's war machine. Only then will the fate of humanity be known.
LARGER, MISSION-BASED LEVELS
You have a series of complex missions, what you do in one level could affect
another. One false move and you could alert security, flood an entire
passageway, or worse.
SUPERIOR ARTIFICIAL INTELLIGENCE
This time the enemy has IQs the size of their appetites. The can evade your
attack, strategically position themselves for an ambush and hunt your ass
down.
IN-YOUR-FACE SOUND AND GRAPHICS
hear distant combat explosions and rockets whizzing past your head. And with
a compatible 3-D graphics accelerator, experience smoother 16-bit graphics and
real-time lighting effects.
WICKED MULTIPLAYER CAPABILITIES
More than 32 players, friends or foes, can do at it in a bloody deathmatch via
LAN and over the internet.
----
Quake2 for Linux supports the following video subsystems:
- SVGALib Console Graphics (ref_soft.so)
- Requires SVGALib 1.2.0 or later
- X11 Window Graphics (ref_softx.so)
- X11R5 or later, XShm shared memory extension supported
- 3DFX fxMesa with Mesa 3-D (ref_gl.so)
- Mesa 3-D 2.6 or later, specifically compiled for 3DFX support
Mesa 3-D 2.6 compiled with 3DFX support is provided with this archive.
- Generic glX (X11) based OpenGL (ref_glx.so)
- Requires a glX based hardware accelerated OpenGL implementation.
Mesa 3-D 2.6 supports this on 3DFX hardware.
Also included is a specific 3DFX mini-OpenGL implementation for running Quake2
on 3DFX hardware.
For 3DFX based hardware, 3DFXs GLIDE drivers for Linux are required.
%install
%files
%attr(644,root,root) $4/README
%attr(4755,root,root) $4/quake2
%attr(755,root,root) $4/ref_soft.so
%attr(755,root,root) $4/ref_softx.so
%attr(755,root,root) $4/ref_gl.so
%attr(755,root,root) $4/ref_glx.so
%attr(755,root,root) $4/baseq2/game%{arch}.so
%attr(755,root,root) $4/xatrix/game%{arch}.so
%attr(755,root,root) $4/rogue/game%{arch}.so
%attr(755,root,root) $4/ctf/game%{arch}.so
%attr(755,root,root) /usr/lib/lib3dfxgl.so
%attr(755,root,root) /usr/lib/libMesaGL.so.2.6
%attr(644,root,root) /etc/quake2.conf
%post
chmod 1777 $4/baseq2
chmod 1777 $4/ctf
chmod 1777 $4/xatrix
chmod 1777 $4/rogue
EOF

View file

@ -139,10 +139,10 @@ import android.support.v4.content.ContextCompat;
public void create()
{
//This will copy the shareware version of quake2 if user doesn't have anything installed
copy_asset("/sdcard/Quake2Quest/baseq2", "pak0.pak");
copy_asset("/sdcard/Quake2Quest/baseq2", "config.cfg");
copy_asset("/sdcard/Quake2Quest/baseq2", "autoexec.cfg");
copy_asset("/sdcard/Quake2Quest", "commandline.txt");
copy_asset("/sdcard/baseq2", "pak0.pak");
copy_asset("/sdcard/baseq2", "config.cfg");
copy_asset("/sdcard/baseq2", "autoexec.cfg");
copy_asset("/sdcard/baseq2", "commandline.txt");
//GLES3JNILib.setCallbackObjects(null, this);
@ -150,11 +150,11 @@ import android.support.v4.content.ContextCompat;
commandLineParams = new String("quake2");
//See if user is trying to use command line params
if(new File("/sdcard/Quake2Quest/commandline.txt").exists()) // should exist!
if(new File("/sdcard/baseq2/commandline.txt").exists()) // should exist!
{
BufferedReader br;
try {
br = new BufferedReader(new FileReader("/sdcard/Quake2Quest/commandline.txt"));
br = new BufferedReader(new FileReader("/sdcard/baseq2/commandline.txt"));
String s;
StringBuilder sb=new StringBuilder(0);
while ((s=br.readLine())!=null)