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:
parent
1af9c636a5
commit
56f16e10d6
11 changed files with 32 additions and 29 deletions
|
@ -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( ¢->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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue