PRooFPS-dd Dev Doc 1.0
PRooFPS-dd Developer Documentation
Loading...
Searching...
No Matches
proofps_dd::GUI Class Reference

Detailed Description

Definition at line 39 of file GUI.h.

#include <GUI.h>

Public Types

enum class  MainMenuState {
  None , Main , CreateGame , JoinGame ,
  Settings , About , Exiting
}
 
enum class  InGameMenuState { None , Welcome_TeamSelect_Spectator , ServerAdmin }
 
enum class  GameInfoPage {
  None , FragTable , AllPlayersDebugDataServer , ServerConfig ,
  COUNT
}
 As of v0.5, values are looped by pressing TAB in-game. More...
 
using ServerRestartGameCallback = std::function<void()>
 

Public Member Functions

void initialize ()
 
void shutdown ()
 
const MainMenuStategetMainMenuState () const
 
const InGameMenuStategetInGameMenuState () const
 
void resetMenuStates (bool bExitingFromGameSession)
 Primarily for main menu control, but shall reset any other menu as well.
 
XHairgetXHair ()
 
MinimapgetMinimap ()
 
DeathKillEventListergetDeathKillEvents ()
 
EventListergetItemPickupEvents ()
 
EventListergetPlayerInventoryChangeEvents ()
 
EventListergetPlayerHpChangeEvents ()
 
EventListergetPlayerApChangeEvents ()
 
EventListergetPlayerAmmoChangeEvents ()
 
ServerEventListergetServerEvents ()
 
void showRespawnTimer (const Player *const pKillerPlayer)
 
void hideRespawnTimer ()
 
void fastForwardRespawnTimer (std::chrono::milliseconds::rep byMillisecs)
 
void updateNonDearImGuiElements ()
 
PureObject3dInOutSlidergetSlidingProof88Laugh ()
 

Static Public Member Functions

static GUIgetGuiInstance (PGE &pge, proofps_dd::CameraHandling &camera, proofps_dd::Config &config, proofps_dd::Maps &maps, proofps_dd::Networking &networking, std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player > &mapPlayers, const PgeObjectPool< proofps_dd::Smoke > &smokes)
 Gets the singleton instance.
 
static const char * getLoggerModuleName ()
 
static CConsole & getConsole ()
 
static ImVec4 getImVec4fromPureColor (const PureColor &pureColor)
 
static void setServerSoftRestartGameCallback (ServerRestartGameCallback cb)
 
static void setServerHardRestartGameCallback (ServerRestartGameCallback cb)
 
static void hideInGameMenu ()
 
static void showHideInGameTeamSelectMenu ()
 
static void showInGameTeamSelectMenu ()
 
static void showMandatoryGameModeConfigMenu ()
 
static void showMandatoryGameModeConfigMenuOnlyIfGameModeIsNotYetConfiguredForCurrentPlayer ()
 
static void showHideInGameServerAdminMenu ()
 
static void showLoadingScreen (int nProgress, const std::string &sMapFilename)
 
static void hideLoadingScreen ()
 
static bool isLoadingScreenVisible ()
 
static bool showBgWithLogo ()
 
static bool hideBgWithLogo ()
 
static void showGameObjectives ()
 
static void hideGameObjectives ()
 
static void showAndLoopGameInfoPages ()
 
static void textForNextFrame (const std::string &s, int nPureX, int nPureY)
 
static void textPermanent (const std::string &s, int nPureX, int nPureY)
 

Static Public Attributes

static constexpr char * CVAR_GUI_MAINMENU = "gui_mainmenu"
 

Private Types

typedef std::function< void(const proofps_dd::PlayersTableRow &player, const std::vector< const char * > &vecHeaderLabels, const int &iColNetworkDataStart)> CbColumnLoopForPlayerFunc
 See explanation at GUI::drawPlayersTable().
 
typedef std::function< bool(const proofps_dd::PlayersTableRow &player)> CbIsPlayerValidForCurrentRowFunc
 See explanation at GUI::drawPlayersTable().
 

Private Member Functions

 GUI ()
 
 ~GUI ()
 
 GUI (const GUI &)=delete
 
GUIoperator= (const GUI &)=delete
 
 GUI (GUI &&)=delete
 
GUI && operator= (GUI &&)=delete
 

Static Private Member Functions

static void addHintToItemByCVar (std::string &sHint, const PGEcfgVariable &cvar)
 
static float calcContentStartY (const float &fContentHeight, const float &fRemainingSpaceY)
 
static void drawMainMenu (const float &fRemainingSpaceY)
 
static float drawPlayerNameInputBox ()
 
static void drawCreateGameServerMapSelection ()
 
static void drawTabCreateGameServerSettings ()
 
static void drawTabCreateGameServerTweaks ()
 
static void drawCreateGameMenu (const float &fRemainingSpaceY)
 
static void drawJoinGameMenu (const float &fRemainingSpaceY)
 
static void drawTabWeaponSettings ()
 
static void drawTabMiscSettings ()
 
static void showConfigApplyAndRestartDialogBox (PGEcfgVariable &cvar, const std::string &sPopupId)
 
static void drawSettingsMenu (const float &fRemainingSpaceY)
 
static void drawAboutMenu (const float &fRemainingSpaceY)
 
static void drawWindowForMainMenu ()
 
static void drawRespawnTimer ()
 
static void drawXHairHoverText ()
 
static void drawXHairAboveText ()
 
static void updateXHair ()
 
static void drawCurrentPlayerInfo (const proofps_dd::Player &player)
 
static void updateDeathKillEvents ()
 
static void updateItemPickupEvents ()
 
static void updatePlayerHpChangeEvents ()
 
static void updatePlayerApChangeEvents ()
 
static void updatePlayerAmmoChangeEvents ()
 
static void updatePlayerInventoryChangeEvents ()
 
static void updateServerEvents ()
 
static void calculatePlayerNameColWidthAndTableWidthPixels (float &fTableWidthPixels, float &fPlayerNameColWidthPixels, float fPlayerNameColReqWidthPixels, const float &fTableColIndentPixels, const float &fColsTotalWidthAfterPlayerNameCol)
 
static void calculatePlayersTableGeometry (const std::vector< const char * > &vecHeaderLabels, const float &fTableColIndentPixels, std::vector< float > &vecColumnWidthsPixels, float &fTableStartPosX, float &fTableWidthPixels, float &fPlayerNameColWidthPixels, float &fTableHeightPixels)
 Can be used in general to calculate several properties of a table for showing player data.
 
static void drawFragTable_columnLoopForPlayer (const proofps_dd::PlayersTableRow &player, const std::vector< const char * > &vecHeaderLabels, const int &iColNetworkDataStart)
 Draws a row for the given player in the frag table.
 
static void drawTableCaption (const std::string &sTableCaption, const float &fStartPosY, const float &fTableStartPosX, const float &fTableWidthPixels)
 Can be used in general to print a caption above a table, before starting to draw the table.
 
static void drawTableCaptionColored (const std::string &sTableCaption, const float &fStartPosY, const float &fTableStartPosX, const float &fTableWidthPixels, const ImVec4 &color)
 Same as drawTableCaptionColored() but with extra color argument for setting text foreground color.
 
static void drawPlayersTable (const std::vector< const char * > &vecHeaderLabels, const float &fTableColIndentPixels, const std::vector< float > &vecColumnWidthsPixels, const float &fTableStartPosX, const float &fTableWidthPixels, const float &fPlayerNameColWidthPixels, const float &fTableHeightPixels, const int &iColNetworkDataStart, CbIsPlayerValidForCurrentRowFunc cbIsPlayerValidForCurrentRowFunc, CbColumnLoopForPlayerFunc cbColumnLoopForPlayerFunc)
 Can be used in general to draw a players table with the specified geometry and content.
 
static void drawFragTable (const std::string &sCaption, const float &fStartPosY, const std::vector< const char * > &vecHeaderLabels, const int &iColNetworkDataStart)
 Draws frag table(s) where player stats such as frags are visible.
 
static void drawGameObjectivesServer (const std::string &sCaption, const float &fStartPosY)
 Server-only logic to be called for GameInfoPage::FragTable is selected by user (by TAB key as of v0.5).
 
static void drawGameObjectivesClient (const std::string &sCaption, const float &fStartPosY)
 Client-only logic to be called for GameInfoPage::FragTable is selected by user (by TAB key as of v0.5).
 
static void drawAllPlayersDebugDataTableServer_columnLoopForPlayer (const proofps_dd::PlayersTableRow &player, const std::vector< const char * > &vecHeaderLabels, const int &iColNetworkDataStart)
 Draws a row for the given player in the players network debug data table.
 
static void drawAllPlayersDebugDataServer (const int &nYPosBiasToMinimapBottom)
 Main logic to be called for GameInfoPage::AllPlayersDebugDataServer is selected by user (by TAB key as of v0.5).
 
static void drawGameObjectives (const int &nYPosBiasToMinimapBottom)
 Main logic to be called for GameInfoPage::FragTable is selected by user (by TAB key as of v0.5).
 
static float drawClientConnectionDebugInfo (float fThisRowY)
 
static void drawGameServerConfig (const int &nYPosBiasToMinimapBottom)
 Main logic to be called for GameInfoPage::ServerConfig is selected by user (by TAB key as of v0.5).
 
static void drawGameInfoPages ()
 
static void drawSpectatorMode (const proofps_dd::Player &player)
 
static void handleEnterSpectatorMode (const proofps_dd::Player &player)
 
static void handleExitSpectatorMode (const proofps_dd::Player &player)
 
static void handleSpectatorMode (const proofps_dd::Player &player)
 
static void drawInGameWelcomeTeamSelectSpectatorMenu (const std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player >::iterator &itCurrentPlayer)
 
static void drawInGameServerAdminMenu ()
 
static void drawInGameMenu (const std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player >::iterator &itCurrentPlayer)
 
static float getDearImGui2DposXFromPure2DposX (const float &fPureX)
 Converts the given X position specified in PURE 2D coordinate system to an X position in ImGui's 2D coordinate system.
 
static float getDearImGui2DposYFromPure2DposY (const float &fPureY)
 Converts the given Y position specified in PURE 2D coordinate system to an Y position in ImGui's 2D coordinate system.
 
static float getDearImGui2DposXforCenteredText (const std::string &text, const float &fImGuiX)
 Returns a Dear ImGui X-coordinate where the cursor should be placed for printing the given text to make it appear centered.
 
static float getDearImGui2DposXforRightAdjustedText (const std::string &text, const float &fImGuiX)
 Returns a Dear ImGui X-coordinate where the cursor should be placed for printing the given text to make it appear right-adjusted.
 
static float getDearImGui2DposXforTableCurrentCellCenteredText (const std::string &text)
 
static float getDearImGui2DposXforTableCurrentCellRightAdjustedText (const std::string &text)
 
static float getDearImGui2DposXforWindowCenteredText (const std::string &text)
 
static void drawText (const float &fImGuiX, const float &fImGuiY, const std::string &text)
 
static void drawTextShadowed (const float &fImGuiX, const float &fImGuiY, const std::string &text)
 
static void drawTextHighlighted (const float &fImGuiX, const float &fImGuiY, const std::string &text)
 Draws a text with a filled background rectangle behind it.
 
static void ImGuiTextTableCurrentCellShortenedFit (const std::string &text, size_t nAppendLastNChars=0)
 Renders the given text in the current cell, with automatic shortening if cell width is not enough for the whole text.
 
static void ImGuiTextTableCurrentCellCentered (const std::string &text)
 
static void ImGuiTextTableCurrentCellRightAdjusted (const std::string &text)
 
static void drawDearImGuiCb ()
 Primary GUI draw function called back by PURE.
 

Static Private Attributes

static PGE * m_pPge = nullptr
 
static CameraHandlingm_pCamera = nullptr
 
static Configm_pConfig = nullptr
 
static Mapsm_pMaps = nullptr
 
static Networkingm_pNetworking = nullptr
 
static std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player > * m_pMapPlayers = nullptr
 
static const PgeObjectPool< proofps_dd::Smoke > * m_pSmokes = nullptr
 
static MainMenuState m_currentMenuInMainMenu = proofps_dd::GUI::MainMenuState::Main
 
static bool m_bShowRespawnTimer = false
 
static std::chrono::time_point< std::chrono::steady_clock > m_timePlayerDied {}
 
static std::string m_sRespawnTimerExtraText
 
static std::string m_sRespawnTimerExtraText2
 
static ImVec4 m_colorRespawnTimerExtraText
 
static bool m_bShowHealthAndArmor = false
 
static ServerRestartGameCallback m_cbServerSoftRestartGame {}
 
static ServerRestartGameCallback m_cbServerHardRestartGame {}
 
static InGameMenuState m_currentMenuInInGameMenu = proofps_dd::GUI::InGameMenuState::None
 
static XHairm_pXHair = nullptr
 
static Minimapm_pMinimap = nullptr
 
static DeathKillEventListerm_pEventsDeathKill = nullptr
 
static EventListerm_pEventsItemPickup = nullptr
 
static EventListerm_pEventsPlayerInventoryChange = nullptr
 
static EventListerm_pEventsPlayerHpChange = nullptr
 
static EventListerm_pEventsPlayerApChange = nullptr
 
static EventListerm_pEventsPlayerAmmoChange = nullptr
 
static ServerEventListerm_pEventsServer = nullptr
 
static PureObject3D * m_pObjLoadingScreenBg = nullptr
 
static PureObject3D * m_pObjLoadingScreenLogoImg = nullptr
 
static std::string m_sAvailableMapsListForForceSelectComboBox
 
static PureObject3dInOutSlider m_pSlidingProof88Laugh
 
static ImFont * m_pImFontFragTableNonScaled = nullptr
 
static ImFont * m_pImFontHudGeneralScaled = nullptr
 
static float m_fFontSizePxHudGeneralScaled = fDefaultFontSizePixels
 
static GameInfoPage m_gameInfoPageCurrent = proofps_dd::GUI::GameInfoPage::None
 

Member Typedef Documentation

◆ CbColumnLoopForPlayerFunc

std::function< void( const proofps_dd::PlayersTableRow& player, const std::vector<const char*>& vecHeaderLabels, const int& iColNetworkDataStart )> proofps_dd::GUI::CbColumnLoopForPlayerFunc
private

See explanation at GUI::drawPlayersTable().

Definition at line 294 of file GUI.h.

◆ CbIsPlayerValidForCurrentRowFunc

See explanation at GUI::drawPlayersTable().

Definition at line 302 of file GUI.h.

◆ ServerRestartGameCallback

using proofps_dd::GUI::ServerRestartGameCallback = std::function<void()>

Definition at line 109 of file GUI.h.

Member Enumeration Documentation

◆ GameInfoPage

enum class proofps_dd::GUI::GameInfoPage
strong

As of v0.5, values are looped by pressing TAB in-game.

Enumerator
None 
FragTable 
AllPlayersDebugDataServer 
ServerConfig 
COUNT 

Definition at line 62 of file GUI.h.

◆ InGameMenuState

Enumerator
None 
Welcome_TeamSelect_Spectator 
ServerAdmin 

Definition at line 54 of file GUI.h.

◆ MainMenuState

enum class proofps_dd::GUI::MainMenuState
strong
Enumerator
None 
Main 
CreateGame 
JoinGame 
Settings 
About 
Exiting 

Definition at line 43 of file GUI.h.

Constructor & Destructor Documentation

◆ GUI() [1/3]

proofps_dd::GUI::GUI ( )
private

Definition at line 4624 of file GUI.cpp.

◆ ~GUI()

proofps_dd::GUI::~GUI ( )
private

Definition at line 4629 of file GUI.cpp.

◆ GUI() [2/3]

proofps_dd::GUI::GUI ( const GUI & )
privatedelete

◆ GUI() [3/3]

proofps_dd::GUI::GUI ( GUI && )
privatedelete

Member Function Documentation

◆ addHintToItemByCVar()

void proofps_dd::GUI::addHintToItemByCVar ( std::string & sHint,
const PGEcfgVariable & cvar )
staticprivate

Definition at line 744 of file GUI.cpp.

◆ calcContentStartY()

float proofps_dd::GUI::calcContentStartY ( const float & fContentHeight,
const float & fRemainingSpaceY )
staticprivate

Definition at line 781 of file GUI.cpp.

◆ calculatePlayerNameColWidthAndTableWidthPixels()

void proofps_dd::GUI::calculatePlayerNameColWidthAndTableWidthPixels ( float & fTableWidthPixels,
float & fPlayerNameColWidthPixels,
float fPlayerNameColReqWidthPixels,
const float & fTableColIndentPixels,
const float & fColsTotalWidthAfterPlayerNameCol )
staticprivate

Definition at line 3183 of file GUI.cpp.

◆ calculatePlayersTableGeometry()

void proofps_dd::GUI::calculatePlayersTableGeometry ( const std::vector< const char * > & vecHeaderLabels,
const float & fTableColIndentPixels,
std::vector< float > & vecColumnWidthsPixels,
float & fTableStartPosX,
float & fTableWidthPixels,
float & fPlayerNameColWidthPixels,
float & fTableHeightPixels )
staticprivate

Can be used in general to calculate several properties of a table for showing player data.

After calling this function, the table can be drawn using the calculated outgoing parameters.

The width of the first column will be dynamically selected based on the length of all player names in GameMode::getPlayersTable(). This is because we always put player names in the first column of such table. Still it can happen that we need to truncate a player name, so we always keep enough horizontal space for the other columns. The width of the other columns is determined by the required width of the column labels, not by the player data in those columns.

Parameters
vecHeaderLabelsColumn header labels. Size of this vector tells the number of columns in the table.
fTableColIndentPixelsThe indentation within cells, in pixels. Requires the ImGuiTableColumnFlags_IndentEnable table flag.
vecColumnWidthsPixelsOut argument: for all columns, the calculated width in pixels will be placed here by the function. Shall be empty when passing in to the function.
fTableStartPosXOut argument: horizontal position of the left edge of the table will be placed here by the function, in Dear ImGui coordinate system.
fTableWidthPixelsOut argument: as the name says, the width of the table in pixels will be placed here by the function.
fPlayerNameColWidthPixelsOut argument: the final calculated width of the first column, in pixels, will be placed here by the function.
fTableHeightPixelsOut argument: as the name says, the height of the table in pixels will be placed here by the function. For now it is fixed 80% of window height.

Definition at line 3240 of file GUI.cpp.

◆ drawAboutMenu()

void proofps_dd::GUI::drawAboutMenu ( const float & fRemainingSpaceY)
staticprivate

Definition at line 1962 of file GUI.cpp.

◆ drawAllPlayersDebugDataServer()

void proofps_dd::GUI::drawAllPlayersDebugDataServer ( const int & nYPosBiasToMinimapBottom)
staticprivate

Main logic to be called for GameInfoPage::AllPlayersDebugDataServer is selected by user (by TAB key as of v0.5).

Draws a table with all players' network debug data. Players are fetched from GameMode::getPlayersTable(). Server-side only.

Index of first column showing client network data (e.g.ping). As we don't show network data for the server player itself, we skip filling any column with column index equal to or greater than this index.

Definition at line 3915 of file GUI.cpp.

◆ drawAllPlayersDebugDataTableServer_columnLoopForPlayer()

void proofps_dd::GUI::drawAllPlayersDebugDataTableServer_columnLoopForPlayer ( const proofps_dd::PlayersTableRow & player,
const std::vector< const char * > & vecHeaderLabels,
const int & iColNetworkDataStart )
staticprivate

Draws a row for the given player in the players network debug data table.

Signature must comply with CbColumnLoopForPlayerFunc.

Prerequisites:

  • we are after ImGui::BeginTable() but before ImGui::EndTable(),
  • columns are already set up using ImGui::TableSetupColumn(),
  • table header row is already drawn using ImGui::TableHeadersRow(),
  • this function is called within a loop where ImGui::TableNextRow() precedes this function.

Definition at line 3845 of file GUI.cpp.

◆ drawClientConnectionDebugInfo()

float proofps_dd::GUI::drawClientConnectionDebugInfo ( float fThisRowY)
staticprivate

Definition at line 4057 of file GUI.cpp.

◆ drawCreateGameMenu()

void proofps_dd::GUI::drawCreateGameMenu ( const float & fRemainingSpaceY)
staticprivate

Definition at line 1411 of file GUI.cpp.

◆ drawCreateGameServerMapSelection()

void proofps_dd::GUI::drawCreateGameServerMapSelection ( )
staticprivate

Definition at line 865 of file GUI.cpp.

◆ drawCurrentPlayerInfo()

void proofps_dd::GUI::drawCurrentPlayerInfo ( const proofps_dd::Player & player)
staticprivate

Definition at line 2694 of file GUI.cpp.

◆ drawDearImGuiCb()

void proofps_dd::GUI::drawDearImGuiCb ( )
staticprivate

Primary GUI draw function called back by PURE.

PURE invokes this function every frame, AFTER rendering the 2D sticked-to-screen objects (PureObject3D::SetStickedToScreen()). Thus, calculations in this function having effect on the PURE sticked-to-screen objects, will be visible only in the next frame. So in general it is highly recommended to do ONLY Dear ImGui-specific stuff here.

If we want to update something every frame BEFORE rendering the same frame happens, I recommend doing that around PRooFPSddPGE::onGameRunning(). For example, in mainLoopConnectedShared() which is common code for server and clients.

Definition at line 2518 of file GUI.cpp.

◆ drawFragTable()

void proofps_dd::GUI::drawFragTable ( const std::string & sCaption,
const float & fStartPosY,
const std::vector< const char * > & vecHeaderLabels,
const int & iColNetworkDataStart )
staticprivate

Draws frag table(s) where player stats such as frags are visible.

Might draw 1 or more tables depending on game mode type. Players are fetched from GameMode::getPlayersTable().

Parameters
sCaptionThis separate text will be rendered above the frag table(s).
fStartPosYVertical 2D-position in Dear ImGui coordinate system where sTableCaption will be placed. The frag table is placed right below sTableCaption.
vecHeaderLabelsColumn header labels. Size of this vector tells the number of columns in the table.
iColNetworkDataStartIndex of first column showing client network data (e.g. ping). Used only by server instance, ignored by client instances. Compared to client instances, the server instance shows additional column(s) in the frag table. These extra columns are for showing client network data. However, we don't show such for the server player itself, so the extra columns stay empty for the server player.

Definition at line 3600 of file GUI.cpp.

◆ drawFragTable_columnLoopForPlayer()

void proofps_dd::GUI::drawFragTable_columnLoopForPlayer ( const proofps_dd::PlayersTableRow & player,
const std::vector< const char * > & vecHeaderLabels,
const int & iColNetworkDataStart )
staticprivate

Draws a row for the given player in the frag table.

Signature must comply with CbColumnLoopForPlayerFunc.

Prerequisites:

  • we are after ImGui::BeginTable() but before ImGui::EndTable(),
  • columns are already set up using ImGui::TableSetupColumn(),
  • table header row is already drawn using ImGui::TableHeadersRow(),
  • this function is called within a loop where ImGui::TableNextRow() precedes this function.

Definition at line 3335 of file GUI.cpp.

◆ drawGameInfoPages()

void proofps_dd::GUI::drawGameInfoPages ( )
staticprivate

Definition at line 4214 of file GUI.cpp.

◆ drawGameObjectives()

void proofps_dd::GUI::drawGameObjectives ( const int & nYPosBiasToMinimapBottom)
staticprivate

Main logic to be called for GameInfoPage::FragTable is selected by user (by TAB key as of v0.5).

Draws frag table with caption showing optional game goal status (e.g. time left). Players are fetched from GameMode::getPlayersTable(). Server and client.

Definition at line 3986 of file GUI.cpp.

◆ drawGameObjectivesClient()

void proofps_dd::GUI::drawGameObjectivesClient ( const std::string & sCaption,
const float & fStartPosY )
staticprivate

Client-only logic to be called for GameInfoPage::FragTable is selected by user (by TAB key as of v0.5).

Draws frag table with caption showing optional game goal status (e.g. time left). Players are fetched from GameMode::getPlayersTable().

Definition at line 3815 of file GUI.cpp.

◆ drawGameObjectivesServer()

void proofps_dd::GUI::drawGameObjectivesServer ( const std::string & sCaption,
const float & fStartPosY )
staticprivate

Server-only logic to be called for GameInfoPage::FragTable is selected by user (by TAB key as of v0.5).

Draws frag table with caption showing optional game goal status (e.g. time left). Players are fetched from GameMode::getPlayersTable().

Definition at line 3788 of file GUI.cpp.

◆ drawGameServerConfig()

void proofps_dd::GUI::drawGameServerConfig ( const int & nYPosBiasToMinimapBottom)
staticprivate

Main logic to be called for GameInfoPage::ServerConfig is selected by user (by TAB key as of v0.5).

Shows server configuration relevant for both client and server.

Definition at line 4113 of file GUI.cpp.

◆ drawInGameMenu()

void proofps_dd::GUI::drawInGameMenu ( const std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player >::iterator & itCurrentPlayer)
staticprivate
Parameters
itCurrentPlayerMight be invalid if for any reason the current player is not in m_pMapPlayers. For example, when we have just connected to the server and it not yet sent all player bringup messages to us.

Definition at line 2484 of file GUI.cpp.

◆ drawInGameServerAdminMenu()

void proofps_dd::GUI::drawInGameServerAdminMenu ( )
staticprivate

Definition at line 2369 of file GUI.cpp.

◆ drawInGameWelcomeTeamSelectSpectatorMenu()

void proofps_dd::GUI::drawInGameWelcomeTeamSelectSpectatorMenu ( const std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player >::iterator & itCurrentPlayer)
staticprivate
Parameters
itCurrentPlayerMight be invalid if for any reason the current player is not in m_pMapPlayers. For example, when we have just connected to the server and it not yet sent all player bringup messages to us.

Definition at line 2139 of file GUI.cpp.

◆ drawJoinGameMenu()

void proofps_dd::GUI::drawJoinGameMenu ( const float & fRemainingSpaceY)
staticprivate

Definition at line 1519 of file GUI.cpp.

◆ drawMainMenu()

void proofps_dd::GUI::drawMainMenu ( const float & fRemainingSpaceY)
staticprivate

Definition at line 789 of file GUI.cpp.

◆ drawPlayerNameInputBox()

float proofps_dd::GUI::drawPlayerNameInputBox ( )
staticprivate

Definition at line 837 of file GUI.cpp.

◆ drawPlayersTable()

void proofps_dd::GUI::drawPlayersTable ( const std::vector< const char * > & vecHeaderLabels,
const float & fTableColIndentPixels,
const std::vector< float > & vecColumnWidthsPixels,
const float & fTableStartPosX,
const float & fTableWidthPixels,
const float & fPlayerNameColWidthPixels,
const float & fTableHeightPixels,
const int & iColNetworkDataStart,
CbIsPlayerValidForCurrentRowFunc cbIsPlayerValidForCurrentRowFunc,
CbColumnLoopForPlayerFunc cbColumnLoopForPlayerFunc )
staticprivate

Can be used in general to draw a players table with the specified geometry and content.

First column always contains player names, therefore it has dynamic width based on the length of all player names. Players are fetched using GameMode::getPlayersTable().

RFR: a more abstract table drawing function could be made with slight modification: pass the rows also to this function (e.g. GameMode::getPlayersTable()) and then it could be used for anything else than players.

For some of the arguments, you can use calculatePlayersTableGeometry() for determining them before calling this function.

TODO: str_id in BeginTable() might needs to be unique for each call! Investigate!

Parameters
vecHeaderLabelsColumn header labels. Size of this vector tells the number of columns in the table.
fTableColIndentPixelsThe indentation within cells, in pixels.
vecColumnWidthsPixelsFor all columns, the required width in pixels.
fTableStartPosXHorizontal position of the left edge of the table, in Dear ImGui coordinate system.
fTableWidthPixelsAs the name says, the width of the table in pixels.
fPlayerNameColWidthPixelsThe width of the first column, in pixels.
fTableHeightPixelsAs the name says, the height of the table in pixels. For now it is not used, height is automatically determined by Dear ImGui! I need this behavior so I dont need to calculate height by myself. This auto behavior is comfy so I can put multiple tables under each other without manually calculating their heights.
iColNetworkDataStartIndex of first column showing client network data (e.g. ping). Used only by server instance, ignored by client instances. See real use-case example in drawFragTable().
cbIsPlayerValidForCurrentRowFuncFunction that decides if current player belongs to this table/row, or not. For example, if you want to display players within a specific team only, you can pass such a function that checks player's team ID and returns true or false.
cbColumnLoopForPlayerFuncFunction that fills in the row cells with data for the current player. It is called back in loop by this function for each player (row). This player shall iterate and fill columns within the current row using ImGui::TableSetColumnIndex() or ImGui::TableNextColumn().

Definition at line 3459 of file GUI.cpp.

◆ drawRespawnTimer()

void proofps_dd::GUI::drawRespawnTimer ( )
staticprivate

Definition at line 2573 of file GUI.cpp.

◆ drawSettingsMenu()

void proofps_dd::GUI::drawSettingsMenu ( const float & fRemainingSpaceY)
staticprivate

Definition at line 1918 of file GUI.cpp.

◆ drawSpectatorMode()

void proofps_dd::GUI::drawSpectatorMode ( const proofps_dd::Player & player)
staticprivate

Definition at line 4258 of file GUI.cpp.

◆ drawTabCreateGameServerSettings()

void proofps_dd::GUI::drawTabCreateGameServerSettings ( )
staticprivate

Definition at line 1082 of file GUI.cpp.

◆ drawTabCreateGameServerTweaks()

void proofps_dd::GUI::drawTabCreateGameServerTweaks ( )
staticprivate

Definition at line 1211 of file GUI.cpp.

◆ drawTableCaption()

void proofps_dd::GUI::drawTableCaption ( const std::string & sTableCaption,
const float & fStartPosY,
const float & fTableStartPosX,
const float & fTableWidthPixels )
staticprivate

Can be used in general to print a caption above a table, before starting to draw the table.

Parameters
sTableCaptionText to be used as caption above the table.
fStartPosYVertical 2D-position in Dear ImGui coordinate system where the caption will be placed.
fTableStartPosXHorizontal position of the left edge of the table, in Dear ImGui coordinate system.
fTableWidthPixelsAs the name says. Together with fTableStartPosX they are used to decide if the text will also placed horizontally to fTableStartPosX, or more to the left in case of too long caption relative to screen size.

Definition at line 3288 of file GUI.cpp.

◆ drawTableCaptionColored()

void proofps_dd::GUI::drawTableCaptionColored ( const std::string & sTableCaption,
const float & fStartPosY,
const float & fTableStartPosX,
const float & fTableWidthPixels,
const ImVec4 & color )
staticprivate

Same as drawTableCaptionColored() but with extra color argument for setting text foreground color.

Definition at line 3307 of file GUI.cpp.

◆ drawTabMiscSettings()

void proofps_dd::GUI::drawTabMiscSettings ( )
staticprivate

Definition at line 1711 of file GUI.cpp.

◆ drawTabWeaponSettings()

void proofps_dd::GUI::drawTabWeaponSettings ( )
staticprivate

Definition at line 1600 of file GUI.cpp.

◆ drawText()

void proofps_dd::GUI::drawText ( const float & fImGuiX,
const float & fImGuiY,
const std::string & text )
staticprivate

Definition at line 4486 of file GUI.cpp.

◆ drawTextHighlighted()

void proofps_dd::GUI::drawTextHighlighted ( const float & fImGuiX,
const float & fImGuiY,
const std::string & text )
staticprivate

Draws a text with a filled background rectangle behind it.

Background rectangle color is the current ImGui::GetStyle().Colors[ImGuiCol_TableHeaderBg].

Note: the drawn rectangle will be 1 px taller to the south, so if you manually position such texts close to each other vertically, it is recommended to add 1 px height when calculating the Y pos of the next row where you reposition the ImGui cursor.

Definition at line 4510 of file GUI.cpp.

◆ drawTextShadowed()

void proofps_dd::GUI::drawTextShadowed ( const float & fImGuiX,
const float & fImGuiY,
const std::string & text )
staticprivate

Definition at line 4492 of file GUI.cpp.

◆ drawWindowForMainMenu()

void proofps_dd::GUI::drawWindowForMainMenu ( )
staticprivate

Definition at line 2090 of file GUI.cpp.

◆ drawXHairAboveText()

void proofps_dd::GUI::drawXHairAboveText ( )
staticprivate

Definition at line 2664 of file GUI.cpp.

◆ drawXHairHoverText()

void proofps_dd::GUI::drawXHairHoverText ( )
staticprivate

Definition at line 2644 of file GUI.cpp.

◆ fastForwardRespawnTimer()

void proofps_dd::GUI::fastForwardRespawnTimer ( std::chrono::milliseconds::rep byMillisecs)

Definition at line 667 of file GUI.cpp.

◆ getConsole()

CConsole & proofps_dd::GUI::getConsole ( )
static

Definition at line 94 of file GUI.cpp.

◆ getDearImGui2DposXforCenteredText()

float proofps_dd::GUI::getDearImGui2DposXforCenteredText ( const std::string & text,
const float & fImGuiX )
staticprivate

Returns a Dear ImGui X-coordinate where the cursor should be placed for printing the given text to make it appear centered.

Parameters
textThe text to be centered.
fImGuiXDear ImGui X-coordinate where the center of the text should be.
Returns
Dear ImGui X-coordinate of the left edge of the text, where the Dear ImGui cursor should be placed before printing the text, to make it appear centered.

Definition at line 4447 of file GUI.cpp.

◆ getDearImGui2DposXforRightAdjustedText()

float proofps_dd::GUI::getDearImGui2DposXforRightAdjustedText ( const std::string & text,
const float & fImGuiX )
staticprivate

Returns a Dear ImGui X-coordinate where the cursor should be placed for printing the given text to make it appear right-adjusted.

Parameters
textThe text to be right-adjusted.
fImGuiXDear ImGui X-coordinate where the center of the text should be.
Returns
Dear ImGui X-coordinate of the left edge of the text, where the Dear ImGui cursor should be placed before printing the text, to make it appear right-adjusted.

Definition at line 4460 of file GUI.cpp.

◆ getDearImGui2DposXforTableCurrentCellCenteredText()

float proofps_dd::GUI::getDearImGui2DposXforTableCurrentCellCenteredText ( const std::string & text)
staticprivate

Definition at line 4465 of file GUI.cpp.

◆ getDearImGui2DposXforTableCurrentCellRightAdjustedText()

float proofps_dd::GUI::getDearImGui2DposXforTableCurrentCellRightAdjustedText ( const std::string & text)
staticprivate

Definition at line 4473 of file GUI.cpp.

◆ getDearImGui2DposXforWindowCenteredText()

float proofps_dd::GUI::getDearImGui2DposXforWindowCenteredText ( const std::string & text)
staticprivate

Definition at line 4481 of file GUI.cpp.

◆ getDearImGui2DposXFromPure2DposX()

float proofps_dd::GUI::getDearImGui2DposXFromPure2DposX ( const float & fPureX)
staticprivate

Converts the given X position specified in PURE 2D coordinate system to an X position in ImGui's 2D coordinate system.

Dear ImGui coordinates are the same as OS desktop/native coordinates which means that operating with ImGui::GetMainViewport() is different than operating with getPure().getCamera().getViewport():

  • PURE 2D viewport (0,0) is the CENTER, and positive Y goes UPWARDS from CENTER;
  • Dear ImGui viewport (0,0) is the TOP LEFT, and positive Y goes DOWNWARDS from the TOP.
Parameters
fPureXThe input X position in PURE 2D coordinate system.
Returns
The X position in ImGui's 2D coordinate system equivalent to the input PURE 2D X position.

Definition at line 4414 of file GUI.cpp.

◆ getDearImGui2DposYFromPure2DposY()

float proofps_dd::GUI::getDearImGui2DposYFromPure2DposY ( const float & fPureY)
staticprivate

Converts the given Y position specified in PURE 2D coordinate system to an Y position in ImGui's 2D coordinate system.

Dear ImGui coordinates are the same as OS desktop/native coordinates which means that operating with ImGui::GetMainViewport() is different than operating with getPure().getCamera().getViewport():

  • PURE 2D viewport (0,0) is the CENTER, and positive Y goes UPWARDS from CENTER;
  • Dear ImGui viewport (0,0) is the TOP LEFT, and positive Y goes DOWNWARDS from the TOP.
Parameters
fPureYThe input Y position in PURE 2D coordinate system.
Returns
The Y position in ImGui's 2D coordinate system equivalent to the input PURE 2D Y position.

Definition at line 4433 of file GUI.cpp.

◆ getDeathKillEvents()

proofps_dd::DeathKillEventLister * proofps_dd::GUI::getDeathKillEvents ( )

Definition at line 556 of file GUI.cpp.

◆ getGuiInstance()

proofps_dd::GUI & proofps_dd::GUI::getGuiInstance ( PGE & pge,
proofps_dd::CameraHandling & camera,
proofps_dd::Config & config,
proofps_dd::Maps & maps,
proofps_dd::Networking & networking,
std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player > & mapPlayers,
const PgeObjectPool< proofps_dd::Smoke > & smokes )
static

Gets the singleton instance.

Definition at line 65 of file GUI.cpp.

◆ getImVec4fromPureColor()

ImVec4 proofps_dd::GUI::getImVec4fromPureColor ( const PureColor & pureColor)
static

Definition at line 99 of file GUI.cpp.

◆ getInGameMenuState()

const proofps_dd::GUI::InGameMenuState & proofps_dd::GUI::getInGameMenuState ( ) const

Definition at line 398 of file GUI.cpp.

◆ getItemPickupEvents()

proofps_dd::EventLister * proofps_dd::GUI::getItemPickupEvents ( )

Definition at line 561 of file GUI.cpp.

◆ getLoggerModuleName()

const char * proofps_dd::GUI::getLoggerModuleName ( )
static

Definition at line 89 of file GUI.cpp.

◆ getMainMenuState()

const proofps_dd::GUI::MainMenuState & proofps_dd::GUI::getMainMenuState ( ) const

Definition at line 383 of file GUI.cpp.

◆ getMinimap()

proofps_dd::Minimap * proofps_dd::GUI::getMinimap ( )

Definition at line 551 of file GUI.cpp.

◆ getPlayerAmmoChangeEvents()

proofps_dd::EventLister * proofps_dd::GUI::getPlayerAmmoChangeEvents ( )

Definition at line 581 of file GUI.cpp.

◆ getPlayerApChangeEvents()

proofps_dd::EventLister * proofps_dd::GUI::getPlayerApChangeEvents ( )

Definition at line 576 of file GUI.cpp.

◆ getPlayerHpChangeEvents()

proofps_dd::EventLister * proofps_dd::GUI::getPlayerHpChangeEvents ( )

Definition at line 571 of file GUI.cpp.

◆ getPlayerInventoryChangeEvents()

proofps_dd::EventLister * proofps_dd::GUI::getPlayerInventoryChangeEvents ( )

Definition at line 566 of file GUI.cpp.

◆ getServerEvents()

proofps_dd::ServerEventLister * proofps_dd::GUI::getServerEvents ( )

Definition at line 586 of file GUI.cpp.

◆ getSlidingProof88Laugh()

proofps_dd::PureObject3dInOutSlider & proofps_dd::GUI::getSlidingProof88Laugh ( )

Definition at line 688 of file GUI.cpp.

◆ getXHair()

proofps_dd::XHair * proofps_dd::GUI::getXHair ( )

Definition at line 546 of file GUI.cpp.

◆ handleEnterSpectatorMode()

void proofps_dd::GUI::handleEnterSpectatorMode ( const proofps_dd::Player & player)
staticprivate

Definition at line 4358 of file GUI.cpp.

◆ handleExitSpectatorMode()

void proofps_dd::GUI::handleExitSpectatorMode ( const proofps_dd::Player & player)
staticprivate

Definition at line 4378 of file GUI.cpp.

◆ handleSpectatorMode()

void proofps_dd::GUI::handleSpectatorMode ( const proofps_dd::Player & player)
staticprivate

Definition at line 4383 of file GUI.cpp.

◆ hideBgWithLogo()

bool proofps_dd::GUI::hideBgWithLogo ( )
static

Definition at line 535 of file GUI.cpp.

◆ hideGameObjectives()

void proofps_dd::GUI::hideGameObjectives ( )
static

Definition at line 596 of file GUI.cpp.

◆ hideInGameMenu()

void proofps_dd::GUI::hideInGameMenu ( )
static

Definition at line 403 of file GUI.cpp.

◆ hideLoadingScreen()

void proofps_dd::GUI::hideLoadingScreen ( )
static

Definition at line 510 of file GUI.cpp.

◆ hideRespawnTimer()

void proofps_dd::GUI::hideRespawnTimer ( )

Definition at line 660 of file GUI.cpp.

◆ ImGuiTextTableCurrentCellCentered()

void proofps_dd::GUI::ImGuiTextTableCurrentCellCentered ( const std::string & text)
staticprivate

Definition at line 4612 of file GUI.cpp.

◆ ImGuiTextTableCurrentCellRightAdjusted()

void proofps_dd::GUI::ImGuiTextTableCurrentCellRightAdjusted ( const std::string & text)
staticprivate

Definition at line 4618 of file GUI.cpp.

◆ ImGuiTextTableCurrentCellShortenedFit()

void proofps_dd::GUI::ImGuiTextTableCurrentCellShortenedFit ( const std::string & text,
size_t nAppendLastNChars = 0 )
staticprivate

Renders the given text in the current cell, with automatic shortening if cell width is not enough for the whole text.

I dont know why Dear ImGui is not always automatically shortening too long text in cells with "..." so I made this function.

However, this function is very useful especially when shortening player names, since in case of colliding player names, server appends a 3-digit unique number to the end of each player name, and we can see those numbers even if name is too long, if we set nAppendLastNChars to 3, to be able to distinguish players with too long names!

Parameters
textThe text to be rendered in current cell.
nAppendLastNCharsHow many last characters of 'text' should be rendered in the cell after "..." if we are shortening.

Definition at line 4548 of file GUI.cpp.

◆ initialize()

void proofps_dd::GUI::initialize ( )

Definition at line 108 of file GUI.cpp.

◆ isLoadingScreenVisible()

bool proofps_dd::GUI::isLoadingScreenVisible ( )
static

Definition at line 515 of file GUI.cpp.

◆ operator=() [1/2]

GUI & proofps_dd::GUI::operator= ( const GUI & )
privatedelete

◆ operator=() [2/2]

GUI && proofps_dd::GUI::operator= ( GUI && )
privatedelete

◆ resetMenuStates()

void proofps_dd::GUI::resetMenuStates ( bool bExitingFromGameSession)

Primarily for main menu control, but shall reset any other menu as well.

Typical use cases:

  • bExitingFromGameSession is false: init at startup,
  • bExitingFromGameSession is true : disconnecting from current game session.

Behavior depends on CVAR_GUI_MAINMENU as well:

Definition at line 464 of file GUI.cpp.

◆ setServerHardRestartGameCallback()

void proofps_dd::GUI::setServerHardRestartGameCallback ( ServerRestartGameCallback cb)
static

Definition at line 393 of file GUI.cpp.

◆ setServerSoftRestartGameCallback()

void proofps_dd::GUI::setServerSoftRestartGameCallback ( ServerRestartGameCallback cb)
static

Definition at line 388 of file GUI.cpp.

◆ showAndLoopGameInfoPages()

void proofps_dd::GUI::showAndLoopGameInfoPages ( )
static

Definition at line 601 of file GUI.cpp.

◆ showBgWithLogo()

bool proofps_dd::GUI::showBgWithLogo ( )
static

Definition at line 524 of file GUI.cpp.

◆ showConfigApplyAndRestartDialogBox()

void proofps_dd::GUI::showConfigApplyAndRestartDialogBox ( PGEcfgVariable & cvar,
const std::string & sPopupId )
staticprivate

Definition at line 1882 of file GUI.cpp.

◆ showGameObjectives()

void proofps_dd::GUI::showGameObjectives ( )
static

Definition at line 591 of file GUI.cpp.

◆ showHideInGameServerAdminMenu()

void proofps_dd::GUI::showHideInGameServerAdminMenu ( )
static

Definition at line 446 of file GUI.cpp.

◆ showHideInGameTeamSelectMenu()

void proofps_dd::GUI::showHideInGameTeamSelectMenu ( )
static

Definition at line 408 of file GUI.cpp.

◆ showInGameTeamSelectMenu()

void proofps_dd::GUI::showInGameTeamSelectMenu ( )
static

Definition at line 421 of file GUI.cpp.

◆ showLoadingScreen()

void proofps_dd::GUI::showLoadingScreen ( int nProgress,
const std::string & sMapFilename )
static

Definition at line 496 of file GUI.cpp.

◆ showMandatoryGameModeConfigMenu()

void proofps_dd::GUI::showMandatoryGameModeConfigMenu ( )
static

Definition at line 426 of file GUI.cpp.

◆ showMandatoryGameModeConfigMenuOnlyIfGameModeIsNotYetConfiguredForCurrentPlayer()

void proofps_dd::GUI::showMandatoryGameModeConfigMenuOnlyIfGameModeIsNotYetConfiguredForCurrentPlayer ( )
static

Definition at line 431 of file GUI.cpp.

◆ showRespawnTimer()

void proofps_dd::GUI::showRespawnTimer ( const Player *const pKillerPlayer)

Definition at line 631 of file GUI.cpp.

◆ shutdown()

void proofps_dd::GUI::shutdown ( )

Definition at line 310 of file GUI.cpp.

◆ textForNextFrame()

void proofps_dd::GUI::textForNextFrame ( const std::string & s,
int nPureX,
int nPureY )
static

Definition at line 621 of file GUI.cpp.

◆ textPermanent()

void proofps_dd::GUI::textPermanent ( const std::string & s,
int nPureX,
int nPureY )
static

Definition at line 626 of file GUI.cpp.

◆ updateDeathKillEvents()

void proofps_dd::GUI::updateDeathKillEvents ( )
staticprivate

Definition at line 2835 of file GUI.cpp.

◆ updateItemPickupEvents()

void proofps_dd::GUI::updateItemPickupEvents ( )
staticprivate

Definition at line 2923 of file GUI.cpp.

◆ updateNonDearImGuiElements()

void proofps_dd::GUI::updateNonDearImGuiElements ( )

Definition at line 683 of file GUI.cpp.

◆ updatePlayerAmmoChangeEvents()

void proofps_dd::GUI::updatePlayerAmmoChangeEvents ( )
staticprivate

Definition at line 3069 of file GUI.cpp.

◆ updatePlayerApChangeEvents()

void proofps_dd::GUI::updatePlayerApChangeEvents ( )
staticprivate

Definition at line 3023 of file GUI.cpp.

◆ updatePlayerHpChangeEvents()

void proofps_dd::GUI::updatePlayerHpChangeEvents ( )
staticprivate

Definition at line 2979 of file GUI.cpp.

◆ updatePlayerInventoryChangeEvents()

void proofps_dd::GUI::updatePlayerInventoryChangeEvents ( )
staticprivate

Definition at line 2947 of file GUI.cpp.

◆ updateServerEvents()

void proofps_dd::GUI::updateServerEvents ( )
staticprivate

Definition at line 3116 of file GUI.cpp.

◆ updateXHair()

void proofps_dd::GUI::updateXHair ( )
staticprivate

Definition at line 2684 of file GUI.cpp.

Member Data Documentation

◆ CVAR_GUI_MAINMENU

char* proofps_dd::GUI::CVAR_GUI_MAINMENU = "gui_mainmenu"
staticconstexpr

Definition at line 71 of file GUI.h.

◆ m_bShowHealthAndArmor

bool proofps_dd::GUI::m_bShowHealthAndArmor = false
staticprivate

Definition at line 190 of file GUI.h.

◆ m_bShowRespawnTimer

bool proofps_dd::GUI::m_bShowRespawnTimer = false
staticprivate

Definition at line 185 of file GUI.h.

◆ m_cbServerHardRestartGame

proofps_dd::GUI::ServerRestartGameCallback proofps_dd::GUI::m_cbServerHardRestartGame {}
staticprivate

Definition at line 709 of file GUI.h.

◆ m_cbServerSoftRestartGame

proofps_dd::GUI::ServerRestartGameCallback proofps_dd::GUI::m_cbServerSoftRestartGame {}
staticprivate

Definition at line 708 of file GUI.h.

◆ m_colorRespawnTimerExtraText

ImVec4 proofps_dd::GUI::m_colorRespawnTimerExtraText
staticprivate

Definition at line 189 of file GUI.h.

◆ m_currentMenuInInGameMenu

proofps_dd::GUI::InGameMenuState proofps_dd::GUI::m_currentMenuInInGameMenu = proofps_dd::GUI::InGameMenuState::None
staticprivate

Definition at line 196 of file GUI.h.

◆ m_currentMenuInMainMenu

proofps_dd::GUI::MainMenuState proofps_dd::GUI::m_currentMenuInMainMenu = proofps_dd::GUI::MainMenuState::Main
staticprivate

Definition at line 181 of file GUI.h.

◆ m_fFontSizePxHudGeneralScaled

float proofps_dd::GUI::m_fFontSizePxHudGeneralScaled = fDefaultFontSizePixels
staticprivate

Definition at line 216 of file GUI.h.

◆ m_gameInfoPageCurrent

proofps_dd::GUI::GameInfoPage proofps_dd::GUI::m_gameInfoPageCurrent = proofps_dd::GUI::GameInfoPage::None
staticprivate

Definition at line 218 of file GUI.h.

◆ m_pCamera

proofps_dd::CameraHandling * proofps_dd::GUI::m_pCamera = nullptr
staticprivate

Definition at line 172 of file GUI.h.

◆ m_pConfig

proofps_dd::Config * proofps_dd::GUI::m_pConfig = nullptr
staticprivate

Definition at line 173 of file GUI.h.

◆ m_pEventsDeathKill

proofps_dd::DeathKillEventLister * proofps_dd::GUI::m_pEventsDeathKill = nullptr
staticprivate

Definition at line 202 of file GUI.h.

◆ m_pEventsItemPickup

proofps_dd::EventLister * proofps_dd::GUI::m_pEventsItemPickup = nullptr
staticprivate

Definition at line 203 of file GUI.h.

◆ m_pEventsPlayerAmmoChange

proofps_dd::EventLister * proofps_dd::GUI::m_pEventsPlayerAmmoChange = nullptr
staticprivate

Definition at line 207 of file GUI.h.

◆ m_pEventsPlayerApChange

proofps_dd::EventLister * proofps_dd::GUI::m_pEventsPlayerApChange = nullptr
staticprivate

Definition at line 206 of file GUI.h.

◆ m_pEventsPlayerHpChange

proofps_dd::EventLister * proofps_dd::GUI::m_pEventsPlayerHpChange = nullptr
staticprivate

Definition at line 205 of file GUI.h.

◆ m_pEventsPlayerInventoryChange

proofps_dd::EventLister * proofps_dd::GUI::m_pEventsPlayerInventoryChange = nullptr
staticprivate

Definition at line 204 of file GUI.h.

◆ m_pEventsServer

proofps_dd::ServerEventLister * proofps_dd::GUI::m_pEventsServer = nullptr
staticprivate

Definition at line 208 of file GUI.h.

◆ m_pImFontFragTableNonScaled

ImFont * proofps_dd::GUI::m_pImFontFragTableNonScaled = nullptr
staticprivate

Definition at line 214 of file GUI.h.

◆ m_pImFontHudGeneralScaled

ImFont * proofps_dd::GUI::m_pImFontHudGeneralScaled = nullptr
staticprivate

Definition at line 215 of file GUI.h.

◆ m_pMapPlayers

std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player > * proofps_dd::GUI::m_pMapPlayers = nullptr
staticprivate

Definition at line 176 of file GUI.h.

◆ m_pMaps

proofps_dd::Maps * proofps_dd::GUI::m_pMaps = nullptr
staticprivate

Definition at line 174 of file GUI.h.

◆ m_pMinimap

proofps_dd::Minimap * proofps_dd::GUI::m_pMinimap = nullptr
staticprivate

Definition at line 201 of file GUI.h.

◆ m_pNetworking

proofps_dd::Networking * proofps_dd::GUI::m_pNetworking = nullptr
staticprivate

Definition at line 175 of file GUI.h.

◆ m_pObjLoadingScreenBg

PureObject3D * proofps_dd::GUI::m_pObjLoadingScreenBg = nullptr
staticprivate

Definition at line 209 of file GUI.h.

◆ m_pObjLoadingScreenLogoImg

PureObject3D * proofps_dd::GUI::m_pObjLoadingScreenLogoImg = nullptr
staticprivate

Definition at line 210 of file GUI.h.

◆ m_pPge

PGE * proofps_dd::GUI::m_pPge = nullptr
staticprivate

Definition at line 171 of file GUI.h.

◆ m_pSlidingProof88Laugh

proofps_dd::PureObject3dInOutSlider proofps_dd::GUI::m_pSlidingProof88Laugh
staticprivate

Definition at line 212 of file GUI.h.

◆ m_pSmokes

const PgeObjectPool< proofps_dd::Smoke > * proofps_dd::GUI::m_pSmokes = nullptr
staticprivate

Definition at line 177 of file GUI.h.

◆ m_pXHair

proofps_dd::XHair * proofps_dd::GUI::m_pXHair = nullptr
staticprivate

Definition at line 200 of file GUI.h.

◆ m_sAvailableMapsListForForceSelectComboBox

std::string proofps_dd::GUI::m_sAvailableMapsListForForceSelectComboBox
staticprivate

Definition at line 211 of file GUI.h.

◆ m_sRespawnTimerExtraText

std::string proofps_dd::GUI::m_sRespawnTimerExtraText
staticprivate

Definition at line 187 of file GUI.h.

◆ m_sRespawnTimerExtraText2

std::string proofps_dd::GUI::m_sRespawnTimerExtraText2
staticprivate

Definition at line 188 of file GUI.h.

◆ m_timePlayerDied

std::chrono::time_point< std::chrono::steady_clock > proofps_dd::GUI::m_timePlayerDied {}
staticprivate

Definition at line 714 of file GUI.h.


The documentation for this class was generated from the following files: