//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #ifndef SCRIPT_INTRO_H #define SCRIPT_INTRO_H #ifdef _WIN32 #pragma once #endif class CPointCamera; //----------------------------------------------------------------------------- // Purpose: An entity that's used to control the intro sequence //----------------------------------------------------------------------------- class CScriptIntro : public CBaseEntity { DECLARE_CLASS(CScriptIntro, CBaseEntity); public: DECLARE_DATADESC(); DECLARE_SERVERCLASS(); virtual void Spawn(void); virtual void Precache(); virtual void Activate(void); virtual int UpdateTransmitState(void); // Inputs void InputSetPlayerViewEntity(inputdata_t &inputdata); void InputSetCameraViewEntity(inputdata_t &inputdata); void InputSetBlendMode(inputdata_t &inputdata); void InputSetNextBlendMode(inputdata_t &inputdata); void InputSetNextFOV(inputdata_t &inputdata); void InputSetFOVBlendTime(inputdata_t &inputdata); void InputSetFOV(inputdata_t &inputdata); void InputSetNextBlendTime(inputdata_t &inputdata); void InputActivate(inputdata_t &inputdata); void InputDeactivate(inputdata_t &inputdata); void InputFadeTo(inputdata_t &inputdata); void InputSetFadeColor(inputdata_t &inputdata); bool GetIncludedPVSOrigin(Vector *pOrigin, CBaseEntity **ppCamera); private: // Think func used to finish the blend off void BlendComplete(); private: CNetworkVar(Vector, m_vecPlayerView); CNetworkVar(QAngle, m_vecPlayerViewAngles); CNetworkVar(Vector, m_vecCameraView); CNetworkVar(QAngle, m_vecCameraViewAngles); CNetworkVar(int, m_iBlendMode); CNetworkVar(int, m_iNextBlendMode); CNetworkVar(float, m_flNextBlendTime); CNetworkVar(float, m_flBlendStartTime); CNetworkVar(int, m_iStartFOV); CNetworkVar(bool, m_bActive); // Fov & fov blends CNetworkVar(int, m_iNextFOV); CNetworkVar(float, m_flNextFOVBlendTime); CNetworkVar(float, m_flFOVBlendStartTime); CNetworkVar(int, m_iFOV); CNetworkVar(bool, m_bAlternateFOV); // Fades CNetworkArray(float, m_flFadeColor, 3); CNetworkVar(float, m_flFadeAlpha); CNetworkVar(float, m_flFadeDuration); CNetworkVar(EHANDLE, m_hCameraEntity); int m_iQueuedBlendMode; int m_iQueuedNextBlendMode; }; extern CHandle g_hIntroScript; #endif // SCRIPT_INTRO_H