diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/iinput.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/client/iinput.h')
| -rw-r--r-- | game/client/iinput.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/game/client/iinput.h b/game/client/iinput.h new file mode 100644 index 0000000..e1ba471 --- /dev/null +++ b/game/client/iinput.h @@ -0,0 +1,124 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +#if !defined( IINPUT_H ) +#define IINPUT_H +#ifdef _WIN32 +#pragma once +#endif + +class bf_write; +class bf_read; +class CUserCmd; +class C_BaseCombatWeapon; +struct kbutton_t; + +struct CameraThirdData_t +{ + float m_flPitch; + float m_flYaw; + float m_flDist; + float m_flLag; + Vector m_vecHullMin; + Vector m_vecHullMax; +}; + +abstract_class IInput +{ +public: + // Initialization/shutdown of the subsystem + virtual void Init_All( void ) = 0; + virtual void Shutdown_All( void ) = 0; + // Latching button states + virtual int GetButtonBits( int ) = 0; + // Create movement command + virtual void CreateMove ( int sequence_number, float input_sample_frametime, bool active ) = 0; + virtual void ExtraMouseSample( float frametime, bool active ) = 0; + virtual bool WriteUsercmdDeltaToBuffer( bf_write *buf, int from, int to, bool isnewcommand ) = 0; + virtual void EncodeUserCmdToBuffer( bf_write& buf, int slot ) = 0; + virtual void DecodeUserCmdFromBuffer( bf_read& buf, int slot ) = 0; + + virtual CUserCmd *GetUserCmd( int sequence_number ) = 0; + + virtual void MakeWeaponSelection( C_BaseCombatWeapon *weapon ) = 0; + + // Retrieve key state + virtual float KeyState ( kbutton_t *key ) = 0; + // Issue key event + virtual int KeyEvent( int eventcode, ButtonCode_t keynum, const char *pszCurrentBinding ) = 0; + // Look for key + virtual kbutton_t *FindKey( const char *name ) = 0; + + // Issue commands from controllers + virtual void ControllerCommands( void ) = 0; + // Extra initialization for some joysticks + virtual void Joystick_Advanced( void ) = 0; + virtual void Joystick_SetSampleTime( float frametime ) = 0; + virtual void IN_SetSampleTime( float frametime ) = 0; + + // Accumulate mouse delta + virtual void AccumulateMouse( void ) = 0; + // Activate/deactivate mouse + virtual void ActivateMouse( void ) = 0; + virtual void DeactivateMouse( void ) = 0; + + // Clear mouse state data + virtual void ClearStates( void ) = 0; + // Retrieve lookspring setting + virtual float GetLookSpring( void ) = 0; + + // Retrieve mouse position + virtual void GetFullscreenMousePos( int *mx, int *my, int *unclampedx = 0, int *unclampedy = 0 ) = 0; + virtual void SetFullscreenMousePos( int mx, int my ) = 0; + virtual void ResetMouse( void ) = 0; + virtual float GetLastForwardMove( void ) = 0; + virtual float Joystick_GetForward( void ) = 0; + virtual float Joystick_GetSide( void ) = 0; + virtual float Joystick_GetPitch( void ) = 0; + virtual float Joystick_GetYaw( void ) = 0; + + // Third Person camera ( TODO/FIXME: Move this to a separate interface? ) + virtual void CAM_Think( void ) = 0; + virtual int CAM_IsThirdPerson( void ) = 0; + virtual void CAM_ToThirdPerson(void) = 0; + virtual void CAM_ToFirstPerson(void) = 0; + virtual void CAM_StartMouseMove(void) = 0; + virtual void CAM_EndMouseMove(void) = 0; + virtual void CAM_StartDistance(void) = 0; + virtual void CAM_EndDistance(void) = 0; + virtual int CAM_InterceptingMouse( void ) = 0; + + // orthographic camera info ( TODO/FIXME: Move this to a separate interface? ) + virtual void CAM_ToOrthographic() = 0; + virtual bool CAM_IsOrthographic() const = 0; + virtual void CAM_OrthographicSize( float& w, float& h ) const = 0; + + virtual void SetPreferredGameActionSet( GameActionSet_t action_set ) = 0; + virtual GameActionSet_t GetPreferredGameActionSet() = 0; + virtual void SetGameActionSetFlags( GameActionSetFlags_t action_set_flags ) = 0; + +#if defined( HL2_CLIENT_DLL ) + // IK back channel info + virtual void AddIKGroundContactInfo( int entindex, float minheight, float maxheight ) = 0; +#endif + + virtual void LevelInit( void ) = 0; + + // Causes an input to have to be re-pressed to become active + virtual void ClearInputButton( int bits ) = 0; + + virtual void CAM_SetCameraThirdData( CameraThirdData_t *pCameraData, const QAngle &vecCameraOffset ) = 0; + virtual void CAM_CameraThirdThink( void ) = 0; + + virtual bool EnableJoystickMode() = 0; + + virtual bool IsSteamControllerActive() = 0; +}; + +extern ::IInput *input; + +#endif // IINPUT_H
\ No newline at end of file |