diff options
Diffstat (limited to 'src/game/client/components/menus.cpp')
| -rw-r--r-- | src/game/client/components/menus.cpp | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp index d8ddb276..568b3a6e 100644 --- a/src/game/client/components/menus.cpp +++ b/src/game/client/components/menus.cpp @@ -92,6 +92,23 @@ int CMenus::DoButton_Icon(int ImageId, int SpriteId, const CUIRect *pRect) return 0; } +int CMenus::DoButton_Toggle(const void *pID, int Checked, const CUIRect *pRect) +{ + Graphics()->TextureSet(g_pData->m_aImages[IMAGE_GUIBUTTONS].m_Id); + Graphics()->QuadsBegin(); + RenderTools()->SelectSprite(Checked?SPRITE_GUIBUTTON_ON:SPRITE_GUIBUTTON_OFF); + IGraphics::CQuadItem QuadItem(pRect->x, pRect->y, pRect->w, pRect->h); + Graphics()->QuadsDrawTL(&QuadItem, 1); + if((UI()->HotItem() == pID)) + { + RenderTools()->SelectSprite(SPRITE_GUIBUTTON_HOVER); + IGraphics::CQuadItem QuadItem(pRect->x, pRect->y, pRect->w, pRect->h); + Graphics()->QuadsDrawTL(&QuadItem, 1); + } + Graphics()->QuadsEnd(); + + return UI()->DoButtonLogic(pID, "", Checked, pRect); +} int CMenus::DoButton_Menu(const void *pID, const char *pText, int Checked, const CUIRect *pRect) { @@ -555,22 +572,23 @@ int CMenus::RenderMenubar(CUIRect r) // online menus Box.VSplitLeft(90.0f, &Button, &Box); static int s_GameButton=0; - if(DoButton_MenuTab(&s_GameButton, Localize("Game"), m_ActivePage==PAGE_GAME, &Button, CUI::CORNER_T)) + if(DoButton_MenuTab(&s_GameButton, Localize("Game"), m_ActivePage==PAGE_GAME, &Button, CUI::CORNER_TL)) NewPage = PAGE_GAME; - Box.VSplitLeft(4.0f, 0, &Box); - Box.VSplitLeft(140.0f, &Button, &Box); + Box.VSplitLeft(90.0f, &Button, &Box); + static int s_PlayersButton=0; + if(DoButton_MenuTab(&s_PlayersButton, Localize("Players"), m_ActivePage==PAGE_PLAYERS, &Button, 0)) + NewPage = PAGE_PLAYERS; + + Box.VSplitLeft(130.0f, &Button, &Box); static int s_ServerInfoButton=0; - if(DoButton_MenuTab(&s_ServerInfoButton, Localize("Server info"), m_ActivePage==PAGE_SERVER_INFO, &Button, CUI::CORNER_T)) + if(DoButton_MenuTab(&s_ServerInfoButton, Localize("Server info"), m_ActivePage==PAGE_SERVER_INFO, &Button, 0)) NewPage = PAGE_SERVER_INFO; - Box.VSplitLeft(4.0f, 0, &Box); - Box.VSplitLeft(140.0f, &Button, &Box); + Box.VSplitLeft(130.0f, &Button, &Box); static int s_CallVoteButton=0; - if(DoButton_MenuTab(&s_CallVoteButton, Localize("Call vote"), m_ActivePage==PAGE_CALLVOTE, &Button, CUI::CORNER_T)) + if(DoButton_MenuTab(&s_CallVoteButton, Localize("Call vote"), m_ActivePage==PAGE_CALLVOTE, &Button, CUI::CORNER_TR)) NewPage = PAGE_CALLVOTE; - - Box.VSplitLeft(30.0f, 0, &Box); } /* @@ -799,6 +817,8 @@ int CMenus::Render() { if(m_GamePage == PAGE_GAME) RenderGame(MainView); + else if(m_GamePage == PAGE_PLAYERS) + RenderPlayers(MainView); else if(m_GamePage == PAGE_SERVER_INFO) RenderServerInfo(MainView); else if(m_GamePage == PAGE_CALLVOTE) |