small change to pressure system

This commit is contained in:
Bryce Hutchings 2002-04-29 06:17:39 +00:00
parent b3c8d6171c
commit 59f5eb7564
5 changed files with 45 additions and 6 deletions

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.58 2002/04/29 06:17:39 niceass
// small change to pressure system
//
// Revision 1.57 2002/04/23 06:04:12 niceass // Revision 1.57 2002/04/23 06:04:12 niceass
// pressure stuff // pressure stuff
// //
@ -997,7 +1000,7 @@ typedef enum {
EV_BREAK_GLASS2, EV_BREAK_GLASS2,
EV_BREAK_GLASS3, EV_BREAK_GLASS3,
EV_CHIP_GLASS, //Blaze: this even just breaks it a little bit. EV_CHIP_GLASS, //Blaze: this even just breaks it a little bit.
EV_PRESSURE_WATER, //NiceAss: Shot an ent under pressure with water EV_PRESSURE, // NiceAss: an entity under pressure
EV_SCOREPLUM, // score plum EV_SCOREPLUM, // score plum
//#ifdef MISSIONPACK //#ifdef MISSIONPACK

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.72 2002/04/29 06:17:20 niceass
// small change to pressure system
//
// Revision 1.71 2002/04/28 11:03:46 slicer // Revision 1.71 2002/04/28 11:03:46 slicer
// Added "teammodel" for Matchmode, Referee "pause" command // Added "teammodel" for Matchmode, Referee "pause" command
// //
@ -850,6 +853,7 @@ void G_RunDlight ( gentity_t *ent ); // Elder: dlight running
void G_EvaluateTrajectory( const trajectory_t *tr, int atTime, vec3_t result ); void G_EvaluateTrajectory( const trajectory_t *tr, int atTime, vec3_t result );
void G_EvaluateTrajectoryDelta( const trajectory_t *tr, int atTime, vec3_t result ); void G_EvaluateTrajectoryDelta( const trajectory_t *tr, int atTime, vec3_t result );
void G_GravityChange(void); void G_GravityChange(void);
void G_CreatePressure(vec3_t origin, vec3_t normal, gentity_t *ent);
// //
// g_weapon.c // g_weapon.c

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.33 2002/04/29 06:16:58 niceass
// small change to pressure system
//
// Revision 1.32 2002/04/23 06:01:58 niceass // Revision 1.32 2002/04/23 06:01:58 niceass
// pressure stuff // pressure stuff
// //
@ -780,10 +783,29 @@ void SP_func_pressure( gentity_t *ent ) {
G_Printf("Creating Pressure entity\n"); G_Printf("Creating Pressure entity\n");
trap_SetBrushModel( ent, ent->model ); trap_SetBrushModel( ent, ent->model );
trap_LinkEntity (ent); trap_LinkEntity (ent);
VectorCopy( ent->s.origin, ent->s.pos.trBase ); VectorCopy( ent->s.origin, ent->s.pos.trBase );
VectorCopy( ent->s.origin, ent->r.currentOrigin ); VectorCopy( ent->s.origin, ent->r.currentOrigin );
ent->s.eType = ET_PRESSURE; ent->s.eType = ET_PRESSURE;
ent->damage = 2;
G_SpawnInt( "speed", "0", &ent->size);
// ent->spawnflags
// flame, steam, water
// ent->s.frame holds type
// ent->s.powerups holds speed
}
void G_CreatePressure(vec3_t origin, vec3_t normal, gentity_t *ent) {
gentity_t *tent;
tent = G_TempEntity( origin, EV_PRESSURE );
tent->s.eventParm = DirToByte( normal );
tent->s.frame = ent->spawnflags; // 1 = water, 2 = steam, 4 = fire
tent->s.powerups = ent->size; // speed of pressure
G_Printf("Game: %d and %d\n", tent->s.frame, tent->s.powerups);
} }

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.26 2002/04/29 06:16:27 niceass
// small change to pressure system
//
// Revision 1.25 2002/04/06 21:42:20 makro // Revision 1.25 2002/04/06 21:42:20 makro
// Changes to bot code. New surfaceparm system. // Changes to bot code. New surfaceparm system.
// //
@ -533,6 +536,9 @@ void G_MissileImpact( gentity_t *ent, trace_t *trace ) {
//VectorCopy(xr_drop->s.origin, temp); //VectorCopy(xr_drop->s.origin, temp);
VectorAdd(xr_drop->s.origin, knifeOffset, xr_drop->s.origin); VectorAdd(xr_drop->s.origin, knifeOffset, xr_drop->s.origin);
if ( other->s.eType == ET_PRESSURE )
G_CreatePressure(xr_drop->s.origin, trace->plane.normal, &g_entities[trace->entityNum]);
} }
//Elder: transfer entity data into the shared entityState //Elder: transfer entity data into the shared entityState

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.49 2002/04/29 06:16:10 niceass
// small change to pressure system
//
// Revision 1.48 2002/04/26 03:57:51 niceass // Revision 1.48 2002/04/26 03:57:51 niceass
// took some old stuff out + small pressure stuff // took some old stuff out + small pressure stuff
// //
@ -570,7 +573,7 @@ void Bullet_Fire (gentity_t *ent, float spread, int damage, int MOD ) {
tent->s.otherEntityNum = ent->s.number; tent->s.otherEntityNum = ent->s.number;
} else if ( traceEnt->s.eType == ET_PRESSURE ) { } else if ( traceEnt->s.eType == ET_PRESSURE ) {
// Pressure entities // Pressure entities
tent = G_TempEntity2( tr.endpos, EV_PRESSURE_WATER, DirToByte(tr.plane.normal) ); G_CreatePressure(tr.endpos, tr.plane.normal, traceEnt);
} else { } else {
tent = G_TempEntity( tr.endpos, EV_BULLET_HIT_WALL ); tent = G_TempEntity( tr.endpos, EV_BULLET_HIT_WALL );
tent->s.eventParm = DirToByte( tr.plane.normal ); tent->s.eventParm = DirToByte( tr.plane.normal );
@ -1253,7 +1256,7 @@ void Knife_Attack ( gentity_t *self, int damage)
if ( hitent->s.eType == ET_PRESSURE ) { if ( hitent->s.eType == ET_PRESSURE ) {
// Pressure entity // Pressure entity
tent = G_TempEntity2( tr.endpos, EV_PRESSURE_WATER, DirToByte(tr.plane.normal) ); G_CreatePressure(tr.endpos, tr.plane.normal, hitent);
} }
} }
@ -1765,13 +1768,14 @@ void Weapon_SSG3000_Fire (gentity_t *ent) {
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL ); tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL );
else if (Material == MAT_GLASS) else if (Material == MAT_GLASS)
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS ); tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS );
else if ( traceEnt && traceEnt->s.eType == ET_PRESSURE )
tentWall = G_TempEntity( trace.endpos, EV_PRESSURE_WATER );
else else
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL ); tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL );
tentWall->s.eventParm = DirToByte( trace.plane.normal ); tentWall->s.eventParm = DirToByte( trace.plane.normal );
tentWall->s.otherEntityNum = ent->s.number; tentWall->s.otherEntityNum = ent->s.number;
if ( traceEnt && traceEnt->s.eType == ET_PRESSURE )
G_CreatePressure(trace.endpos, trace.plane.normal, traceEnt);
} }
// send railgun beam effect // send railgun beam effect