Various bugfixes by Tobias Kuehnhammer (#5270)

- A stupid bug where bots re-trigger jumppads if they fell onto it.
- A small "memset" bug concerning player animations.
- Reward sounds were never cleared and thus they are played on a map restart.
- Safer and more secure handling of disconnected clients and clients with 
  malformed or illegal info strings.
- first_gauntlet_hit.wav was not played (ops/ps) bug
- capturelimit not hit (from OAX)
This commit is contained in:
Thilo Schulz 2012-07-01 17:27:52 +00:00
parent 1af9c636a5
commit 56f16e10d6
11 changed files with 32 additions and 29 deletions

View file

@ -668,20 +668,21 @@ CG_AdjustPositionForMover
Also called by client movement prediction code
=========================
*/
void CG_AdjustPositionForMover( const vec3_t in, int moverNum, int fromTime, int toTime, vec3_t out ) {
void CG_AdjustPositionForMover(const vec3_t in, int moverNum, int fromTime, int toTime, vec3_t out, vec3_t angles_in, vec3_t angles_out) {
centity_t *cent;
vec3_t oldOrigin, origin, deltaOrigin;
vec3_t oldAngles, angles;
//vec3_t deltaAngles;
vec3_t oldAngles, angles, deltaAngles;
if ( moverNum <= 0 || moverNum >= ENTITYNUM_MAX_NORMAL ) {
VectorCopy( in, out );
VectorCopy(angles_in, angles_out);
return;
}
cent = &cg_entities[ moverNum ];
if ( cent->currentState.eType != ET_MOVER ) {
VectorCopy( in, out );
VectorCopy(angles_in, angles_out);
return;
}
@ -692,10 +693,10 @@ void CG_AdjustPositionForMover( const vec3_t in, int moverNum, int fromTime, int
BG_EvaluateTrajectory( &cent->currentState.apos, toTime, angles );
VectorSubtract( origin, oldOrigin, deltaOrigin );
//VectorSubtract( angles, oldAngles, deltaAngles );
VectorSubtract( angles, oldAngles, deltaAngles );
VectorAdd( in, deltaOrigin, out );
VectorAdd( angles_in, deltaAngles, angles_out );
// FIXME: origin change when on a rotating object
}
@ -773,7 +774,7 @@ static void CG_CalcEntityLerpPositions( centity_t *cent ) {
// player state
if ( cent != &cg.predictedPlayerEntity ) {
CG_AdjustPositionForMover( cent->lerpOrigin, cent->currentState.groundEntityNum,
cg.snap->serverTime, cg.time, cent->lerpOrigin );
cg.snap->serverTime, cg.time, cent->lerpOrigin, cent->lerpAngles, cent->lerpAngles);
}
}