summaryrefslogtreecommitdiff
path: root/public/game/client
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /public/game/client
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'public/game/client')
-rw-r--r--public/game/client/IGameClientExports.h53
-rw-r--r--public/game/client/iclientrendertargets.h41
-rw-r--r--public/game/client/iviewport.h65
3 files changed, 159 insertions, 0 deletions
diff --git a/public/game/client/IGameClientExports.h b/public/game/client/IGameClientExports.h
new file mode 100644
index 0000000..2679b6e
--- /dev/null
+++ b/public/game/client/IGameClientExports.h
@@ -0,0 +1,53 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef IGAMECLIENTEXPORTS_H
+#define IGAMECLIENTEXPORTS_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "interface.h"
+
+//-----------------------------------------------------------------------------
+// Purpose: Exports a set of functions for the GameUI interface to interact with the game client
+//-----------------------------------------------------------------------------
+abstract_class IGameClientExports : public IBaseInterface
+{
+public:
+#ifndef _XBOX
+ // ingame voice manipulation
+ virtual bool IsPlayerGameVoiceMuted(int playerIndex) = 0;
+ virtual void MutePlayerGameVoice(int playerIndex) = 0;
+ virtual void UnmutePlayerGameVoice(int playerIndex) = 0;
+
+ // notification of gameui state changes
+ virtual void OnGameUIActivated() = 0;
+ virtual void OnGameUIHidden() = 0;
+#endif
+
+ //=============================================================================
+ // HPE_BEGIN
+ // [dwenger] Necessary for stats display
+ //=============================================================================
+
+ virtual void CreateAchievementsPanel( vgui::Panel* pParent ) = 0;
+ virtual void DisplayAchievementPanel( ) = 0;
+ virtual void ShutdownAchievementPanel( ) = 0;
+ virtual int GetAchievementsPanelMinWidth( void ) const = 0;
+
+ //=============================================================================
+ // HPE_END
+ //=============================================================================
+
+ virtual const char *GetHolidayString() = 0;
+};
+
+#define GAMECLIENTEXPORTS_INTERFACE_VERSION "GameClientExports001"
+
+
+#endif // IGAMECLIENTEXPORTS_H
diff --git a/public/game/client/iclientrendertargets.h b/public/game/client/iclientrendertargets.h
new file mode 100644
index 0000000..60a1447
--- /dev/null
+++ b/public/game/client/iclientrendertargets.h
@@ -0,0 +1,41 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Exposes interfaces to the engine which allow the client to setup their own render targets
+// during the proper period of material system's init.
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef ICLIENTRENDERTARGETS_H
+#define ICLIENTRENDERTARGETS_H
+#ifdef _WIN32
+ #pragma once
+#endif
+
+#include "interface.h" // For base interface
+
+class IMaterialSystem;
+class IMaterialSystemHardwareConfig;
+
+//---------------------------------------------------------------------------------------------------
+// Purpose: Exposes interfaces to the engine which allow the client to setup their own render targets
+// during the proper period of material system's init.
+//---------------------------------------------------------------------------------------------------
+abstract_class IClientRenderTargets
+{
+public:
+ // Pass the material system interface to the client-- Their Material System singleton has not been created
+ // at the time they receive this call.
+ virtual void InitClientRenderTargets( IMaterialSystem* pMaterialSystem, IMaterialSystemHardwareConfig* pHardwareConfig ) = 0;
+
+ // Call shutdown on every created refrence-- Clients keep track of this themselves
+ // and should add shutdown code to this function whenever they add a new render target.
+ virtual void ShutdownClientRenderTargets( void ) = 0;
+
+};
+
+#define CLIENTRENDERTARGETS_INTERFACE_VERSION "ClientRenderTargets001"
+
+extern IClientRenderTargets * g_pClientRenderTargets;
+
+#endif // ICLIENTRENDERTARGETS_H
diff --git a/public/game/client/iviewport.h b/public/game/client/iviewport.h
new file mode 100644
index 0000000..a28d446
--- /dev/null
+++ b/public/game/client/iviewport.h
@@ -0,0 +1,65 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $Workfile: $
+// $Date: $
+//
+//-----------------------------------------------------------------------------
+// $Log: $
+//
+// $NoKeywords: $
+//=============================================================================//
+#if !defined( IVIEWPORT_H )
+#define IVIEWPORT_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include <vgui/VGUI.h>
+
+#include "viewport_panel_names.h"
+
+#include "inputsystem/InputEnums.h"
+
+class KeyValues;
+
+abstract_class IViewPortPanel
+{
+
+public:
+ virtual ~IViewPortPanel() {};
+
+ virtual const char *GetName( void ) = 0;// return identifer name
+ virtual void SetData(KeyValues *data) = 0; // set ViewPortPanel data
+ virtual void Reset( void ) = 0; // clears internal state, deactivates it
+ virtual void Update( void ) = 0; // updates all (size, position, content, etc)
+ virtual bool NeedsUpdate( void ) = 0; // query panel if content needs to be updated
+ virtual bool HasInputElements( void ) = 0; // true if panel contains elments which accepts input
+
+ virtual void ShowPanel( bool state ) = 0; // activate VGUI Frame
+
+ virtual GameActionSet_t GetPreferredActionSet() = 0;
+
+ // VGUI functions:
+ virtual vgui::VPANEL GetVPanel( void ) = 0; // returns VGUI panel handle
+ virtual bool IsVisible() = 0; // true if panel is visible
+ virtual void SetParent( vgui::VPANEL parent ) = 0;
+};
+
+abstract_class IViewPort
+{
+public:
+ virtual void UpdateAllPanels( void ) = 0;
+ virtual void ShowPanel( const char *pName, bool state ) = 0;
+ virtual void ShowPanel( IViewPortPanel* pPanel, bool state ) = 0;
+ virtual void ShowBackGround(bool bShow) = 0;
+ virtual IViewPortPanel* FindPanelByName(const char *szPanelName) = 0;
+ virtual IViewPortPanel* GetActivePanel( void ) = 0;
+ virtual void PostMessageToPanel( const char *pName, KeyValues *pKeyValues ) = 0;
+};
+
+extern IViewPort *gViewPortInterface;
+
+
+#endif // IVIEWPORT_H \ No newline at end of file