You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.8 KiB
43 lines
1.8 KiB
|
|
#include "cbase.h" |
|
|
|
// NOTE: This has to be the last file included! |
|
#include "tier0/memdbgon.h" |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Calculate the FOV for the intro sequence (needed by both server and client) |
|
//----------------------------------------------------------------------------- |
|
float ScriptInfo_CalculateFOV( float flFOVBlendStartTime, float flNextFOVBlendTime, int nFOV, int nNextFOV, bool bSplineRamp ) |
|
{ |
|
// Handle the spline case |
|
if ( bSplineRamp ) |
|
{ |
|
//If we're past the zoom time, just take the new value and stop transitioning |
|
float deltaTime = (float)( gpGlobals->curtime - flFOVBlendStartTime ) / ( flNextFOVBlendTime - flFOVBlendStartTime ); |
|
if ( deltaTime >= 1.0f ) |
|
return nNextFOV; |
|
|
|
float flResult = SimpleSplineRemapVal( deltaTime, 0.0f, 1.0f, (float) nFOV, (float) nNextFOV ); |
|
|
|
// Msg("FOV BLENDING: curtime %.2f StartedAt %.2f FinishAt: %.2f\n", gpGlobals->curtime, flFOVBlendStartTime, flNextFOVBlendTime ); |
|
// Msg(" Perc: %.2f Start: %d End: %d FOV: %.2f\n", SimpleSplineRemapVal( deltaTime, 0.0f, 1.0f, nFOV, nNextFOV ), nFOV, nNextFOV, flResult ); |
|
|
|
return flResult; |
|
} |
|
|
|
// Common, linear blend |
|
if ( (flNextFOVBlendTime - flFOVBlendStartTime) != 0 ) |
|
{ |
|
float flResult = RemapValClamped( gpGlobals->curtime, flFOVBlendStartTime, flNextFOVBlendTime, (float) nFOV, (float) nNextFOV ); |
|
|
|
// Msg("FOV BLENDING: curtime %.2f StartedAt %.2f FinishAt: %.2f\n", gpGlobals->curtime, flFOVBlendStartTime, flNextFOVBlendTime ); |
|
// Msg(" Perc: %.2f Start: %d End: %d FOV: %.2f\n", RemapValClamped( gpGlobals->curtime, flFOVBlendStartTime, flNextFOVBlendTime, 0.0, 1.0 ), nFOV, nNextFOV, flResult ); |
|
|
|
return flResult; |
|
} |
|
|
|
|
|
// Msg("FOV BLENDING: JUMPED TO NEXT FOV (%d)\n", nNextFOV ); |
|
return nNextFOV; |
|
}
|
|
|