summaryrefslogtreecommitdiff
path: root/engine/vgui_baseui_interface.h
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 /engine/vgui_baseui_interface.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'engine/vgui_baseui_interface.h')
-rw-r--r--engine/vgui_baseui_interface.h145
1 files changed, 145 insertions, 0 deletions
diff --git a/engine/vgui_baseui_interface.h b/engine/vgui_baseui_interface.h
new file mode 100644
index 0000000..b2997fa
--- /dev/null
+++ b/engine/vgui_baseui_interface.h
@@ -0,0 +1,145 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Defines the interface that the GameUI dll exports
+//
+// $NoKeywords: $
+//===========================================================================//
+
+#ifndef VGUI_BASEUI_INTERFACE_H
+#define VGUI_BASEUI_INTERFACE_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "ienginevgui.h"
+#include "inputsystem/ButtonCode.h"
+
+#if !defined( _X360 )
+#include "xbox/xboxstubs.h"
+#endif
+
+//-----------------------------------------------------------------------------
+// Foward declarations
+//-----------------------------------------------------------------------------
+class IMatSystemSurface;
+class Color;
+struct InputEvent_t;
+
+
+//-----------------------------------------------------------------------------
+// Global singleton interfaces related to VGUI
+//-----------------------------------------------------------------------------
+extern IMatSystemSurface *g_pMatSystemSurface;
+
+// enumeration of level loading progress bar spots
+enum LevelLoadingProgress_e
+{
+ PROGRESS_NONE,
+ PROGRESS_CHANGELEVEL,
+ PROGRESS_SPAWNSERVER,
+ PROGRESS_LOADWORLDMODEL,
+ PROGRESS_CRCMAP,
+ PROGRESS_CRCCLIENTDLL,
+ PROGRESS_CREATENETWORKSTRINGTABLES,
+ PROGRESS_PRECACHEWORLD,
+ PROGRESS_CLEARWORLD,
+ PROGRESS_LEVELINIT,
+ PROGRESS_PRECACHE,
+ PROGRESS_ACTIVATESERVER,
+ PROGRESS_BEGINCONNECT,
+ PROGRESS_SIGNONCHALLENGE,
+ PROGRESS_SIGNONCONNECT,
+ PROGRESS_SIGNONCONNECTED,
+ PROGRESS_PROCESSSERVERINFO,
+ PROGRESS_PROCESSSTRINGTABLE,
+ PROGRESS_SIGNONNEW,
+ PROGRESS_SENDCLIENTINFO,
+ PROGRESS_SENDSIGNONDATA,
+ PROGRESS_SIGNONSPAWN,
+ PROGRESS_FULLYCONNECTED,
+ PROGRESS_READYTOPLAY,
+ PROGRESS_HIGHESTITEM, // must be last item in list
+};
+
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Centerpoint for handling all user interface in the engine
+//-----------------------------------------------------------------------------
+abstract_class IEngineVGuiInternal : public IEngineVGui
+{
+public:
+
+ virtual void Init() = 0;
+ virtual void Connect() = 0;
+ virtual void Shutdown() = 0;
+ virtual bool SetVGUIDirectories() = 0;
+ virtual bool IsInitialized() const = 0;
+ virtual CreateInterfaceFn GetGameUIFactory() = 0;
+ virtual bool Key_Event( const InputEvent_t &event ) = 0;
+ virtual void BackwardCompatibility_Paint() = 0;
+ virtual void UpdateButtonState( const InputEvent_t &event ) = 0;
+ virtual void PostInit() = 0;
+
+ virtual void Paint( PaintMode_t mode ) = 0;
+
+ // handlers for game UI (main menu)
+ virtual void ActivateGameUI() = 0;
+ virtual bool HideGameUI() = 0;
+ virtual bool IsGameUIVisible() = 0;
+
+ // console
+ virtual void ShowConsole() = 0;
+ virtual void HideConsole() = 0;
+ virtual bool IsConsoleVisible() = 0;
+ virtual void ClearConsole() = 0;
+
+ virtual void HideDebugSystem() = 0;
+
+ // level loading
+ virtual void OnLevelLoadingStarted() = 0;
+ virtual void OnLevelLoadingFinished() = 0;
+ virtual void NotifyOfServerConnect(const char *game, int IP, int connectionPort, int queryPort) = 0;
+ virtual void NotifyOfServerDisconnect() = 0;
+ virtual void EnabledProgressBarForNextLoad() = 0;
+ virtual void UpdateProgressBar(LevelLoadingProgress_e progress) = 0;
+ virtual void UpdateCustomProgressBar( float progress, const wchar_t *desc ) = 0;
+ virtual void StartCustomProgress() = 0;
+ virtual void FinishCustomProgress() = 0;
+ virtual void ShowErrorMessage() = 0;
+
+ // Should pause?
+ virtual bool ShouldPause() = 0;
+ virtual void SetGameDLLPanelsVisible( bool show ) = 0;
+ virtual void ShowNewGameDialog( int chapter ) = 0;
+
+ virtual void Simulate() = 0;
+
+ virtual void SetNotAllowedToHideGameUI( bool bNotAllowedToHide ) = 0;
+ virtual void SetNotAllowedToShowGameUI( bool bNotAllowedToShow ) = 0;
+
+ // Xbox 360
+ virtual void SessionNotification( const int notification, const int param = 0 ) = 0;
+ virtual void SystemNotification( const int notification ) = 0;
+ virtual void ShowMessageDialog( const uint nType, vgui::Panel *pOwner = NULL ) = 0;
+ virtual void UpdatePlayerInfo( uint64 nPlayerId, const char *pName, int nTeam, byte cVoiceState, int nPlayersNeeded, bool bHost ) = 0;
+ virtual void SessionSearchResult( int searchIdx, void *pHostData, XSESSION_SEARCHRESULT *pResult, int ping ) = 0;
+ virtual void OnCreditsFinished( void ) = 0;
+
+ // Storage device validation:
+ // returns true right away if storage device has been previously selected.
+ // otherwise returns false and will set the variable pointed by pStorageDeviceValidated to 1
+ // once the storage device is selected by user.
+ virtual bool ValidateStorageDevice( int *pStorageDeviceValidated ) = 0;
+
+ virtual void ConfirmQuit( void ) = 0;
+};
+
+// Purpose: singleton accessor
+extern IEngineVGuiInternal *EngineVGui();
+
+// Purpose: Play a sound
+void VGui_PlaySound(const char *pFileName);
+
+#endif // VGUI_BASEUI_INTERFACE_H