From 3a2aa83e582deb28d29f38f5a3dcb2e697863de0 Mon Sep 17 00:00:00 2001 From: Christopher Schwarz Date: Sat, 3 Oct 2009 12:29:47 +0000 Subject: * Make dead cam follow the killer's movements instead of just looking at where they were at time of death. --- src/cgame/cg_view.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/cgame') diff --git a/src/cgame/cg_view.c b/src/cgame/cg_view.c index 9c4f05a5..e699b0c8 100644 --- a/src/cgame/cg_view.c +++ b/src/cgame/cg_view.c @@ -303,10 +303,17 @@ void CG_OffsetThirdPersonView( void ) // If player is dead, we want the player to be between us and the killer // so pretend that the player was looking at the killer, then place cam behind them. - // FIXME: This still fails to see killer when killer is above/below or killer moves - // out of view (relative to the dead player). if( cg.predictedPlayerState.stats[ STAT_HEALTH ] <= 0 ) - cg.refdefViewAngles[ YAW ] = cg.predictedPlayerState.stats[ STAT_VIEWLOCK ]; + { + int killerEntNum; + vec3_t killerPos; + + killerEntNum = cg.predictedPlayerState.stats[ STAT_VIEWLOCK ]; + VectorCopy( cg_entities[ killerEntNum ].lerpOrigin, killerPos ); + + VectorSubtract( killerPos, cg.refdef.vieworg, killerPos ); + vectoangles( killerPos, cg.refdefViewAngles ); + } // get and rangecheck cg_thirdPersonRange range = cg_thirdPersonRange.value; -- cgit