diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/public/haptics/ihaptics.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/public/haptics/ihaptics.h')
| -rw-r--r-- | mp/src/public/haptics/ihaptics.h | 286 |
1 files changed, 143 insertions, 143 deletions
diff --git a/mp/src/public/haptics/ihaptics.h b/mp/src/public/haptics/ihaptics.h index 407d86c0..d99017bc 100644 --- a/mp/src/public/haptics/ihaptics.h +++ b/mp/src/public/haptics/ihaptics.h @@ -1,144 +1,144 @@ -#ifndef HAPTICS_INTERFACE_H
-#define HAPTICS_INTERFACE_H
-
-#ifdef GAME_DLL
-#pragma warning("IHaptics.h is only for client ussage");
-#endif
-
-#include "tier0/platform.h"
-#include "appframework/IAppSystem.h"
-
-#define HAPTICS_INTERFACE_VERSION "HapticsInterface001"
-#define HAPTICS_DLL_NAME "haptics"
-
-// systems forward decl.
-class IVEngineClient;
-class IViewRender;
-class IInputInternal;
-class CGlobalVarsBase;
-class IFileSystem;
-class IEngineVGui;
-
-// vgui forward decl
-namespace vgui{
- class IInputInternal;
-}
-
-// math types forward decl
-class QAngle;
-class Vector;
-
-typedef enum {
- HST_NONE = 0,
- HST_ROPE,
-} HapticSurfaceType_t;
-
-typedef int (*ActivityList_IndexForName_t)( const char *pszActivityName );
-typedef const char *(*ActivityList_NameForIndex_t)( int iActivityIndex );
-// NVNT haptic system interface declaration
-abstract_class IHaptics
-{
-public: // Initialization.
- virtual bool Initialize(IVEngineClient* newengine,
- IViewRender *newview,
- vgui::IInputInternal* newinput,
- CGlobalVarsBase* newgpGlobals,
- CreateInterfaceFn newengineFactory,
- void *IMEWindow,
- IFileSystem* filesystem,
- IEngineVGui* newvgui,
- ActivityList_IndexForName_t actIndexForName,
- ActivityList_NameForIndex_t actNameForIndex) = 0;
-
-public: // Device methods
-
- // returns true if there is at least one device connected.
- virtual bool HasDevice() = 0;
-
- // closes all haptic devices and effect processing
- virtual void ShutdownHaptics() = 0;
-
-public: // Game input handling
-
- // computes view angles and adjusts forward_move and side_move
- virtual void CalculateMove(float &forward_move, float &side_move, float delta) = 0;
-
- virtual void OnPlayerChanged()=0;
-
- // Sets the internal navigation class.
- virtual void SetNavigationClass(const char *defaultNavigationName) = 0;
-
- // Turns the internal navigation off. ( clears navigation class )
- inline void ClearNavigationClass();
-
- // Returns the active navigation class ( if none returns NULL )
- virtual const char *GetNavigationClass() = 0;
-
- // Should be called by the game input class after CalculateMove (when not in menu)
- virtual void GameProcess() = 0;
-
- // Should be called by the game input class when in a menu
- virtual void MenuProcess() = 0;
-
-
-public: // Effect methods
-
- // process a haptic event.
- virtual void ProcessHapticEvent(int numArgs, ...) = 0;
- virtual void ProcessHapticWeaponActivity(const char *weapon, int activity) = 0;
-
- // send a haptic punch effect
- virtual void HapticsPunch(float strength, const QAngle &angle) = 0;
-
- // trigger a damage effect
- virtual void ApplyDamageEffect(float damage, int damagetype, const Vector &angle) = 0;
-
- // update the avatar ( acceleration ) effect by a velocity sample
- virtual void UpdateAvatarVelocity(const Vector &velocity) = 0;
-
- // stop processing any running avatar effects
- virtual void RemoveAvatarEffect() = 0;
-
- // sets the device's constant force effect to force vector
- virtual void SetConstantForce(const Vector &force) = 0;
-
- // returns the last sent constant force
- virtual Vector GetConstantForce() = 0;
-
- // set the amount of drag (viscosity) on the haptic devices
- virtual void SetDrag(float amount) = 0;
-
- // set the values to the screen shake effect
- virtual void SetShake(float scalar, float currentamount) = 0;
-
- // enable/disable device position lock.
- virtual void SetHeld(float amount) = 0;
-
- // set anchor weight mass scaler.
- virtual void SetMoveSurface(HapticSurfaceType_t surface) = 0;
-
- virtual HapticSurfaceType_t GetMoveSurface() = 0;
-
- // set dangling ( being hung, holding onto ledges )
- virtual void SetDangling(float amount) = 0;
-
-public: // Notify methods
-
- // notify the haptics system that we have been respawned.
- virtual void LocalPlayerReset()=0;
-
- // notify the haptics system of the player's field of view angle
- virtual void UpdatePlayerFOV(float fov)=0;
-
- virtual void WorldPrecache() = 0;
-
-};
-
-inline void IHaptics::ClearNavigationClass( void )
-{
- SetNavigationClass(0);
-}
-
-extern IHaptics* haptics;
-
+#ifndef HAPTICS_INTERFACE_H +#define HAPTICS_INTERFACE_H + +#ifdef GAME_DLL +#pragma warning("IHaptics.h is only for client ussage"); +#endif + +#include "tier0/platform.h" +#include "appframework/IAppSystem.h" + +#define HAPTICS_INTERFACE_VERSION "HapticsInterface001" +#define HAPTICS_DLL_NAME "haptics" + +// systems forward decl. +class IVEngineClient; +class IViewRender; +class IInputInternal; +class CGlobalVarsBase; +class IFileSystem; +class IEngineVGui; + +// vgui forward decl +namespace vgui{ + class IInputInternal; +} + +// math types forward decl +class QAngle; +class Vector; + +typedef enum { + HST_NONE = 0, + HST_ROPE, +} HapticSurfaceType_t; + +typedef int (*ActivityList_IndexForName_t)( const char *pszActivityName ); +typedef const char *(*ActivityList_NameForIndex_t)( int iActivityIndex ); +// NVNT haptic system interface declaration +abstract_class IHaptics +{ +public: // Initialization. + virtual bool Initialize(IVEngineClient* newengine, + IViewRender *newview, + vgui::IInputInternal* newinput, + CGlobalVarsBase* newgpGlobals, + CreateInterfaceFn newengineFactory, + void *IMEWindow, + IFileSystem* filesystem, + IEngineVGui* newvgui, + ActivityList_IndexForName_t actIndexForName, + ActivityList_NameForIndex_t actNameForIndex) = 0; + +public: // Device methods + + // returns true if there is at least one device connected. + virtual bool HasDevice() = 0; + + // closes all haptic devices and effect processing + virtual void ShutdownHaptics() = 0; + +public: // Game input handling + + // computes view angles and adjusts forward_move and side_move + virtual void CalculateMove(float &forward_move, float &side_move, float delta) = 0; + + virtual void OnPlayerChanged()=0; + + // Sets the internal navigation class. + virtual void SetNavigationClass(const char *defaultNavigationName) = 0; + + // Turns the internal navigation off. ( clears navigation class ) + inline void ClearNavigationClass(); + + // Returns the active navigation class ( if none returns NULL ) + virtual const char *GetNavigationClass() = 0; + + // Should be called by the game input class after CalculateMove (when not in menu) + virtual void GameProcess() = 0; + + // Should be called by the game input class when in a menu + virtual void MenuProcess() = 0; + + +public: // Effect methods + + // process a haptic event. + virtual void ProcessHapticEvent(int numArgs, ...) = 0; + virtual void ProcessHapticWeaponActivity(const char *weapon, int activity) = 0; + + // send a haptic punch effect + virtual void HapticsPunch(float strength, const QAngle &angle) = 0; + + // trigger a damage effect + virtual void ApplyDamageEffect(float damage, int damagetype, const Vector &angle) = 0; + + // update the avatar ( acceleration ) effect by a velocity sample + virtual void UpdateAvatarVelocity(const Vector &velocity) = 0; + + // stop processing any running avatar effects + virtual void RemoveAvatarEffect() = 0; + + // sets the device's constant force effect to force vector + virtual void SetConstantForce(const Vector &force) = 0; + + // returns the last sent constant force + virtual Vector GetConstantForce() = 0; + + // set the amount of drag (viscosity) on the haptic devices + virtual void SetDrag(float amount) = 0; + + // set the values to the screen shake effect + virtual void SetShake(float scalar, float currentamount) = 0; + + // enable/disable device position lock. + virtual void SetHeld(float amount) = 0; + + // set anchor weight mass scaler. + virtual void SetMoveSurface(HapticSurfaceType_t surface) = 0; + + virtual HapticSurfaceType_t GetMoveSurface() = 0; + + // set dangling ( being hung, holding onto ledges ) + virtual void SetDangling(float amount) = 0; + +public: // Notify methods + + // notify the haptics system that we have been respawned. + virtual void LocalPlayerReset()=0; + + // notify the haptics system of the player's field of view angle + virtual void UpdatePlayerFOV(float fov)=0; + + virtual void WorldPrecache() = 0; + +}; + +inline void IHaptics::ClearNavigationClass( void ) +{ + SetNavigationClass(0); +} + +extern IHaptics* haptics; + #endif// HAPTICS_INTERFACE_H
\ No newline at end of file |