etqw-sdk/source/game/interfaces/UsableInterface.h
2008-05-29 00:00:00 +00:00

88 lines
4 KiB
C++

// Copyright (C) 2007 Id Software, Inc.
//
#ifndef __GAME_INTERFACES_USABLEINTERFACE_H__
#define __GAME_INTERFACES_USABLEINTERFACE_H__
class sdWeaponLockInfo;
class sdEntityDisplayIconInfo;
class sdUsableInterface {
public:
virtual bool OnExit( idPlayer* player, bool force = false ) = 0;
virtual void SwapViewMode( idPlayer* player ) = 0;
virtual void BecomeActiveViewProxy( idPlayer* viewPlayer ) = 0;
virtual void StopActiveViewProxy( void ) = 0;
virtual void UpdateProxyView( idPlayer* viewPlayer ) = 0;
virtual bool GetHideHud( idPlayer* player ) const = 0;
virtual bool GetSensitivity( idPlayer* player, float& sensX, float& sensY ) const = 0;
virtual bool GetShowPlayer( idPlayer* player ) const = 0;
virtual bool GetShowPlayerShadow( idPlayer* player ) const = 0;
virtual float GetFov( idPlayer* player ) const = 0;
virtual void ClampViewAngles( idPlayer* player, const idAngles& oldViewAngles ) const = 0;
virtual bool GetShowCrosshair( idPlayer* player ) const = 0;
virtual bool GetHideDecoyInfo( idPlayer* player ) const = 0;
virtual bool GetShowTargetingInfo( idPlayer* player ) const = 0;
virtual playerStance_t GetPlayerStance( idPlayer* player ) const = 0;
virtual jointHandle_t GetPlayerIconJoint( idPlayer* player ) const = 0;
virtual float GetDamageScale( idPlayer* player ) const = 0;
virtual void UpdateHud( idPlayer* player, guiHandle_t handle ) = 0;
virtual void UpdateViewAngles( idPlayer* player ) = 0;
virtual void UpdateViewPos( idPlayer* player, idVec3& origin, idMat3& axis, bool fullUpdate ) = 0;
virtual void CalculateRenderView( idPlayer* player, renderView_t& renderView ) = 0;
virtual const idAngles GetRequiredViewAngles( idPlayer* player, idVec3& target ) = 0;
virtual int GetDestructionEndTime( void ) const = 0;
virtual bool GetDirectionWarning( void ) const = 0;
virtual int GetRouteKickDistance( void ) const = 0;
virtual const sdDeclGUI* GetOverlayGUI( void ) const = 0;
virtual bool HasAbility( qhandle_t handle, const idPlayer* player ) const = 0;
virtual void ForcePlacement( idPlayer* other, int index, int oldIndex, bool keepCamera ) = 0;
virtual void FindPositionForPlayer( idPlayer* player ) = 0;
virtual int GetNumPositions() const = 0;
virtual idPlayer* GetPlayerAtPosition( int i ) const = 0;
virtual const sdDeclLocStr* GetPositionTitle( int i ) const = 0;
virtual idPlayer* GetXPSharer( float& shareFactor ) = 0;
virtual void SwapPosition( idPlayer* player ) = 0;
virtual void SelectWeapon( idPlayer* player, int index ) = 0;
virtual const sdWeaponLockInfo* GetWeaponLockInfo( idPlayer* player ) const = 0;
virtual void NextWeapon( idPlayer* player ) const = 0;
virtual void PrevWeapon( idPlayer* player ) const = 0;
virtual bool GetAllowPlayerMove( idPlayer* player ) const = 0;
virtual bool GetAllowPlayerDamage( idPlayer* player ) const = 0;
virtual bool GetAllowPlayerWeapon( idPlayer* player ) const = 0;
virtual bool GetAllowAdjustBodyAngles( idPlayer* player ) const = 0;
virtual const sdDeclLocStr* GetWeaponName( const idPlayer* player ) const = 0;
virtual const char* GetWeaponLookupName( const idPlayer* player ) const = 0;
virtual void OnPostThink( void ) = 0;
};
class sdInteractiveInterface {
public:
virtual bool OnActivate( idPlayer* player, float distance ) = 0;
virtual bool OnActivateHeld( idPlayer* player, float distance ) = 0;
virtual bool OnUsed( idPlayer* player, float distance ) = 0;
};
class sdEntityDisplayIconInterface {
public:
virtual bool HasIcon( idPlayer* viewer, sdWorldToScreenConverter& converter ) = 0;
virtual bool GetEntityDisplayIconInfo( idPlayer* viewer, sdWorldToScreenConverter& converter, sdEntityDisplayIconInfo& iconInfo ) = 0;
};
#endif // __GAME_INTERFACES_USABLEINTERFACE_H__