DDraceNetwork Documentation
Loading...
Searching...
No Matches
menus.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_COMPONENTS_MENUS_H
4#define GAME_CLIENT_COMPONENTS_MENUS_H
5
6#include <base/types.h>
7#include <base/vmath.h>
8
9#include <engine/console.h>
10#include <engine/demo.h>
11#include <engine/friends.h>
14#include <engine/textrender.h>
15
24#include <game/client/ui.h>
25#include <game/voting.h>
26
27#include <chrono>
28#include <deque>
29#include <optional>
30#include <vector>
31
32class CMenus : public CComponent
33{
44
45public:
46 int DoButton_Toggle(const void *pId, int Checked, const CUIRect *pRect, bool Active, unsigned Flags = BUTTONFLAG_LEFT);
47 int DoButton_Menu(CButtonContainer *pButtonContainer, const char *pText, int Checked, const CUIRect *pRect, unsigned Flags = BUTTONFLAG_LEFT, const char *pImageName = nullptr, int Corners = IGraphics::CORNER_ALL, float Rounding = 5.0f, float FontFactor = 0.0f, ColorRGBA Color = ColorRGBA(1.0f, 1.0f, 1.0f, 0.5f));
48 int DoButton_MenuTab(CButtonContainer *pButtonContainer, const char *pText, int Checked, const CUIRect *pRect, int Corners, SUIAnimator *pAnimator = nullptr, const ColorRGBA *pDefaultColor = nullptr, const ColorRGBA *pActiveColor = nullptr, const ColorRGBA *pHoverColor = nullptr, float EdgeRounding = 10.0f, const CCommunityIcon *pCommunityIcon = nullptr);
49
50 int DoButton_CheckBox_Common(const void *pId, const char *pText, const char *pBoxText, const CUIRect *pRect, unsigned Flags);
51 int DoButton_CheckBox(const void *pId, const char *pText, int Checked, const CUIRect *pRect);
52 int DoButton_CheckBoxAutoVMarginAndSet(const void *pId, const char *pText, int *pValue, CUIRect *pRect, float VMargin);
53 int DoButton_CheckBox_Number(const void *pId, const char *pText, int Checked, const CUIRect *pRect);
54
55 bool DoLine_RadioMenu(CUIRect &View, const char *pLabel, std::vector<CButtonContainer> &vButtonContainers, const std::vector<const char *> &vLabels, const std::vector<int> &vValues, int &Value);
56
57private:
59 ColorHSLA DoLine_ColorPicker(CButtonContainer *pResetId, float LineSize, float LabelSize, float BottomMargin, CUIRect *pMainRect, const char *pText, unsigned int *pColorValue, ColorRGBA DefaultColor, bool CheckBoxSpacing = true, int *pCheckBoxValue = nullptr, bool Alpha = false);
60 ColorHSLA DoButton_ColorPicker(const CUIRect *pRect, unsigned int *pHslaColor, bool Alpha);
61
62 void DoLaserPreview(const CUIRect *pRect, ColorHSLA OutlineColor, ColorHSLA InnerColor, int LaserType);
63 int DoButton_GridHeader(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Align = TEXTALIGN_ML);
64 int DoButton_Favorite(const void *pButtonId, const void *pParentId, bool Checked, const CUIRect *pRect);
65
67 std::optional<std::chrono::nanoseconds> m_SkinList7LastRefreshTime;
68 std::optional<std::chrono::nanoseconds> m_SkinPartsList7LastRefreshTime;
69
71
72 // menus_settings_assets.cpp
73public:
75 {
77
78 char m_aName[50];
79
80 bool operator<(const SCustomItem &Other) const { return str_comp(m_aName, Other.m_aName) < 0; }
81 };
82
91
92 struct SCustomGame : public SCustomItem
93 {
94 };
95
97 {
98 };
99
101 {
102 };
103
104 struct SCustomHud : public SCustomItem
105 {
106 };
107
109 {
110 };
111
112protected:
113 std::vector<SCustomEntities> m_vEntitiesList;
114 std::vector<SCustomGame> m_vGameList;
115 std::vector<SCustomEmoticon> m_vEmoticonList;
116 std::vector<SCustomParticle> m_vParticlesList;
117 std::vector<SCustomHud> m_vHudList;
118 std::vector<SCustomExtras> m_vExtrasList;
119
120 bool m_IsInit = false;
121
122 static void LoadEntities(struct SCustomEntities *pEntitiesItem, void *pUser);
123 static int EntitiesScan(const char *pName, int IsDir, int DirType, void *pUser);
124
125 static int GameScan(const char *pName, int IsDir, int DirType, void *pUser);
126 static int EmoticonsScan(const char *pName, int IsDir, int DirType, void *pUser);
127 static int ParticlesScan(const char *pName, int IsDir, int DirType, void *pUser);
128 static int HudScan(const char *pName, int IsDir, int DirType, void *pUser);
129 static int ExtrasScan(const char *pName, int IsDir, int DirType, void *pUser);
130
131 static void ConchainAssetsEntities(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
132 static void ConchainAssetGame(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
133 static void ConchainAssetParticles(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
134 static void ConchainAssetEmoticons(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
135 static void ConchainAssetHud(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
136 static void ConchainAssetExtras(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
137
138 void ClearCustomItems(int CurTab);
139
145
147
148 bool m_JoinTutorial = false;
151
152 char m_aNextServer[256];
153
154 // images
161 std::vector<CMenuImage> m_vMenuImages;
162 static int MenuImageScan(const char *pName, int IsDir, int DirType, void *pUser);
163 const CMenuImage *FindMenuImage(const char *pName);
164
165 // loading
167 {
168 public:
169 std::chrono::nanoseconds m_LastRender{0};
172 };
174
175 //
177 char m_aMessageBody[512];
179
182
183 // generic popups
184 typedef void (CMenus::*FPopupButtonCallback)();
186 {
187 // do nothing
188 }
189 enum
190 {
191 BUTTON_CONFIRM = 0, // confirm / yes / close / ok
192 BUTTON_CANCEL, // cancel / no
194 };
195 char m_aPopupTitle[128];
197 struct
198 {
199 char m_aLabel[64];
203
204 void PopupMessage(const char *pTitle, const char *pMessage,
205 const char *pButtonLabel, int NextPopup = POPUP_NONE, FPopupButtonCallback pfnButtonCallback = &CMenus::DefaultButtonCallback);
206 void PopupConfirm(const char *pTitle, const char *pMessage,
207 const char *pConfirmButtonLabel, const char *pCancelButtonLabel,
208 FPopupButtonCallback pfnConfirmButtonCallback = &CMenus::DefaultButtonCallback, int ConfirmNextPopup = POPUP_NONE,
209 FPopupButtonCallback pfnCancelButtonCallback = &CMenus::DefaultButtonCallback, int CancelNextPopup = POPUP_NONE);
210
211 // some settings
212 static float ms_ButtonHeight;
215
216 // for settings
223
224 // 0.7 skins
225 bool m_CustomSkinMenu = false;
231
232 // for map download popup
236
237 // for password popup
239
240 // for call vote
246
247 // demo
248 enum
249 {
254 };
255
257 {
258 public:
264 time_t m_Date;
265 int64_t m_Size;
266
272
273 int NumMarkers() const
274 {
275 return std::clamp<int>(bytes_be_to_uint(m_TimelineMarkers.m_aNumTimelineMarkers), 0, MAX_TIMELINE_MARKERS);
276 }
277
278 int Length() const
279 {
280 return bytes_be_to_uint(m_Info.m_aLength);
281 }
282
283 unsigned MapSize() const
284 {
285 return bytes_be_to_uint(m_Info.m_aMapSize);
286 }
287
288 bool operator<(const CDemoItem &Other) const
289 {
290 if(!str_comp(m_aFilename, ".."))
291 return true;
292 if(!str_comp(Other.m_aFilename, ".."))
293 return false;
294 if(m_IsDir && !Other.m_IsDir)
295 return true;
296 if(!m_IsDir && Other.m_IsDir)
297 return false;
298
299 const CDemoItem &Left = g_Config.m_BrDemoSortOrder ? Other : *this;
300 const CDemoItem &Right = g_Config.m_BrDemoSortOrder ? *this : Other;
301
302 if(g_Config.m_BrDemoSort == SORT_DEMONAME)
303 return str_comp_filenames(Left.m_aFilename, Right.m_aFilename) < 0;
304 if(g_Config.m_BrDemoSort == SORT_DATE)
305 return Left.m_Date < Right.m_Date;
306
307 if(!Other.m_InfosLoaded)
308 return m_InfosLoaded;
309 if(!m_InfosLoaded)
310 return !Other.m_InfosLoaded;
311
312 if(g_Config.m_BrDemoSort == SORT_MARKERS)
313 return Left.NumMarkers() < Right.NumMarkers();
314 if(g_Config.m_BrDemoSort == SORT_LENGTH)
315 return Left.Length() < Right.Length();
316
317 // Unknown sort
318 return true;
319 }
320 };
321
327#if defined(CONF_VIDEORECORDER)
329#endif
334 int m_Speed = 4;
335 bool m_StartPaused = false;
336
337 std::chrono::nanoseconds m_DemoPopulateStartTime{0};
338
339 void DemolistOnUpdate(bool Reset);
340 static int DemolistFetchCallback(const CFsFileInfo *pInfo, int IsDir, int StorageType, void *pUser);
341
342 // friends
344 {
351 // skin info 0.6
356 // skin info 0.7
360
361 public:
362 CFriendItem(const CFriendInfo *pFriendInfo) :
363 m_pServerInfo(nullptr),
364 m_IsPlayer(false),
365 m_IsAfk(false),
366 m_CustomSkinColors(false),
369 {
370 str_copy(m_aName, pFriendInfo->m_aName);
371 str_copy(m_aClan, pFriendInfo->m_aClan);
373 m_aSkin[0] = '\0';
374 for(int Part = 0; Part < protocol7::NUM_SKINPARTS; Part++)
375 {
376 m_aaSkin7[Part][0] = '\0';
377 m_aUseCustomSkinColor7[Part] = false;
378 m_aCustomSkinColor7[Part] = 0;
379 }
380 }
381 CFriendItem(const CServerInfo::CClient &CurrentClient, const CServerInfo *pServerInfo) :
382 m_pServerInfo(pServerInfo),
383 m_FriendState(CurrentClient.m_FriendState),
384 m_IsPlayer(CurrentClient.m_Player),
385 m_IsAfk(CurrentClient.m_Afk),
389 {
390 str_copy(m_aName, CurrentClient.m_aName);
391 str_copy(m_aClan, CurrentClient.m_aClan);
392 str_copy(m_aSkin, CurrentClient.m_aSkin);
393 for(int Part = 0; Part < protocol7::NUM_SKINPARTS; Part++)
394 {
395 str_copy(m_aaSkin7[Part], CurrentClient.m_aaSkin7[Part]);
396 m_aUseCustomSkinColor7[Part] = CurrentClient.m_aUseCustomSkinColor7[Part];
397 m_aCustomSkinColor7[Part] = CurrentClient.m_aCustomSkinColor7[Part];
398 }
399 }
400
401 const char *Name() const { return m_aName; }
402 const char *Clan() const { return m_aClan; }
403 const CServerInfo *ServerInfo() const { return m_pServerInfo; }
404 int FriendState() const { return m_FriendState; }
405 bool IsPlayer() const { return m_IsPlayer; }
406 bool IsAfk() const { return m_IsAfk; }
407 // 0.6 skin
408 const char *Skin() const { return m_aSkin; }
409 bool CustomSkinColors() const { return m_CustomSkinColors; }
412 // 0.7 skin
413 const char *Skin7(int Part) const { return m_aaSkin7[Part]; }
414 bool UseCustomSkinColor7(int Part) const { return m_aUseCustomSkinColor7[Part]; }
415 int CustomSkinColor7(int Part) const { return m_aCustomSkinColor7[Part]; }
416
417 const void *ListItemId() const { return &m_aName; }
418 const void *RemoveButtonId() const { return &m_FriendState; }
419 const void *CommunityTooltipId() const { return &m_IsPlayer; }
420 const void *SkinTooltipId() const { return &m_aSkin; }
421
422 bool operator<(const CFriendItem &Other) const
423 {
424 const int Result = str_comp_nocase(m_aName, Other.m_aName);
425 return Result < 0 || (Result == 0 && str_comp_nocase(m_aClan, Other.m_aClan) < 0);
426 }
427 };
428
429 enum
430 {
435 };
436 std::vector<CFriendItem> m_avFriends[NUM_FRIEND_TYPES];
437 const CFriendItem *m_pRemoveFriend = nullptr;
438
439 // found in menus.cpp
440 void Render();
441 void RenderPopupFullscreen(CUIRect Screen);
442 void RenderPopupConnecting(CUIRect Screen);
443 void RenderPopupLoading(CUIRect Screen);
444#if defined(CONF_VIDEORECORDER)
446#endif
447 void RenderMenubar(CUIRect Box, IClient::EClientState ClientState);
448 void RenderNews(CUIRect MainView);
449 static void ConchainBackgroundEntities(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
450 static void ConchainUpdateMusicState(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
451 void UpdateMusicState();
452
453 // found in menus_demo.cpp
457 float m_LastPauseChange = -1.0f;
458 float m_LastSpeedChange = -1.0f;
459 static constexpr int DEFAULT_SKIP_DURATION_INDEX = 3;
461 static bool DemoFilterChat(const void *pData, int Size, void *pUser);
462 bool FetchHeader(CDemoItem &Item);
463 void FetchAllHeaders();
464 void HandleDemoSeeking(float PositionToSeek, float TimeToSeek);
465 void RenderDemoPlayer(CUIRect MainView);
468 void RenderDemoBrowser(CUIRect MainView);
469 void RenderDemoBrowserList(CUIRect ListView, bool &WasListboxItemActivated);
470 void RenderDemoBrowserDetails(CUIRect DetailsView);
471 void RenderDemoBrowserButtons(CUIRect ButtonsView, bool WasListboxItemActivated);
475 static void ConchainDemoPlay(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
476 static void ConchainDemoSpeed(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
477
478 // found in menus_ingame.cpp
480 void RenderGame(CUIRect MainView);
493 void RenderPlayers(CUIRect MainView);
494 void RenderServerInfo(CUIRect MainView);
495 void RenderServerInfoMotd(CUIRect Motd);
496 void RenderServerControl(CUIRect MainView);
497 bool RenderServerControlKick(CUIRect MainView, bool FilterSpectators, bool UpdateScroll);
498 bool RenderServerControlServer(CUIRect MainView, bool UpdateScroll);
499 void RenderIngameHint();
500
501 // found in menus_browser.cpp
505 void RenderServerbrowserServerList(CUIRect View, bool &WasListboxItemActivated);
506 void RenderServerbrowserStatusBox(CUIRect StatusBox, bool WasListboxItemActivated);
507 void Connect(const char *pAddress);
512 IFilterList &Filter,
513 float ItemHeight, int MaxItems, int ItemsPerRow,
514 CScrollRegion &ScrollRegion, std::vector<unsigned char> &vItemIds,
515 bool UpdateCommunityCacheOnChange,
516 const std::function<const char *(int ItemIndex)> &GetItemName,
517 const std::function<void(int ItemIndex, CUIRect Item, const void *pItemId, bool Active)> &RenderItem);
527 static CUi::EPopupMenuFunctionResult PopupCountrySelection(void *pContext, CUIRect View, bool Active);
529 void RenderServerbrowserInfoScoreboard(CUIRect View, const CServerInfo *pSelectedServer);
531 void FriendlistOnUpdate();
535 void RenderServerbrowser(CUIRect MainView);
536 template<typename F>
537 bool PrintHighlighted(const char *pName, F &&PrintFn);
538 CTeeRenderInfo GetTeeRenderInfo(vec2 Size, const char *pSkinName, bool CustomSkinColors, int CustomSkinColorBody, int CustomSkinColorFeet) const;
539 static void ConchainFriendlistUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
540 static void ConchainFavoritesUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
541 static void ConchainCommunitiesUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
542 static void ConchainUiPageUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
543 void UpdateCommunityCache(bool Force);
544
545 // found in menus_settings.cpp
546 void RenderLanguageSettings(CUIRect MainView);
547 bool RenderLanguageSelection(CUIRect MainView);
548 void RenderThemeSelection(CUIRect MainView);
549 void RenderSettingsGeneral(CUIRect MainView);
550 void RenderSettingsPlayer(CUIRect MainView);
551 void RenderSettingsTee(CUIRect MainView);
552 void RenderSettingsTee7(CUIRect MainView);
553 void RenderSettingsTeeCustom7(CUIRect MainView);
554 void RenderSkinSelection7(CUIRect MainView);
555 void RenderSkinPartSelection7(CUIRect MainView);
556 void RenderSettingsGraphics(CUIRect MainView);
557 void RenderSettingsSound(CUIRect MainView);
558 void RenderSettings(CUIRect MainView);
559 void RenderSettingsCustom(CUIRect MainView);
560
561 // found in menus_settings_controls.cpp
562 // TODO: Change PopupConfirm to avoid using a function pointer to a CMenus
563 // member function, to move this function to CMenusSettingsControls
565
566 std::vector<CButtonContainer> m_vButtonContainersNamePlateShow = {{}, {}, {}, {}};
567 std::vector<CButtonContainer> m_vButtonContainersNamePlateKeyPresses = {{}, {}, {}, {}};
568
570 {
571 public:
574 };
576 {
577 public:
578 std::vector<CMapListItem> m_vMaps;
580 static int MapListFetchCallback(const CFsFileInfo *pInfo, int IsDir, int StorageType, void *pUser);
581 void MapListPopulate();
584 };
585
586 static bool CompareFilenameAscending(const CMapListItem Lhs, const CMapListItem Rhs)
587 {
588 if(str_comp(Lhs.m_aFilename, "..") == 0)
589 return true;
590 if(str_comp(Rhs.m_aFilename, "..") == 0)
591 return false;
592 if(Lhs.m_IsDirectory != Rhs.m_IsDirectory)
593 return Lhs.m_IsDirectory;
594 return str_comp_filenames(Lhs.m_aFilename, Rhs.m_aFilename) < 0;
595 }
596
597 static CUi::EPopupMenuFunctionResult PopupMapPicker(void *pContext, CUIRect View, bool Active);
598
599 void SetNeedSendInfo();
600 void UpdateColors();
601
603
604public:
605 void RenderBackground();
606
607 CMenus();
608 int Sizeof() const override { return sizeof(*this); }
609
610 void RenderLoading(const char *pCaption, const char *pContent, int IncreaseCounter);
611 void FinishLoading();
612
613 bool IsInit() const { return m_IsInit; }
614
615 bool IsActive() const { return m_MenuActive; }
616 void SetActive(bool Active);
617
618 void OnInterfacesInit(CGameClient *pClient) override;
619 void OnInit() override;
620
621 void OnStateChange(int NewState, int OldState) override;
622 void OnWindowResize() override;
623 void OnReset() override;
624 void OnRender() override;
625 bool OnInput(const IInput::CEvent &Event) override;
626 bool OnCursorMove(float x, float y, IInput::ECursorType CursorType) override;
627 void OnShutdown() override;
628
629 enum
630 {
648
650 };
651
652 enum
653 {
664
666 };
667
668 enum
669 {
680
682 };
683
684 enum
685 {
695
697 };
698
702
703 // DDRace
704 int DoButton_CheckBox_Tristate(const void *pId, const char *pText, TRISTATE Checked, const CUIRect *pRect);
705 std::vector<CDemoItem> m_vDemos;
706 std::vector<CDemoItem *> m_vpFilteredDemos;
707 void DemolistPopulate();
709 void DemoSeekTick(IDemoPlayer::ETickOffset TickOffset);
711
712 const char *GetCurrentDemoFolder() const { return m_aCurrentDemoFolder; }
713
714 // Ghost
716 {
719
723 bool m_Own;
724 time_t m_Date;
725
727 m_Slot(-1), m_Own(false) { m_aFilename[0] = 0; }
728
729 bool operator<(const CGhostItem &Other) const { return m_Time < Other.m_Time; }
730
731 bool Active() const { return m_Slot != -1; }
732 bool HasFile() const { return m_aFilename[0]; }
733 };
734
735 enum
736 {
741 };
742
743 std::vector<CGhostItem> m_vGhosts;
744
745 std::chrono::nanoseconds m_GhostPopulateStartTime{0};
746
747 void GhostlistPopulate();
749 void UpdateOwnGhost(CGhostItem Item);
750 void DeleteGhostItem(int Index);
751 void SortGhostlist();
752
753 bool CanDisplayWarning() const;
754
755 void PopupWarning(const char *pTopic, const char *pBody, const char *pButton, std::chrono::nanoseconds Duration);
756
757 std::chrono::nanoseconds m_PopupWarningLastTime;
758 std::chrono::nanoseconds m_PopupWarningDuration;
759
761
762 enum
763 {
765 POPUP_MESSAGE, // generic message popup (one button)
766 POPUP_CONFIRM, // generic confirmation popup (two buttons)
779 };
780
781 enum
782 {
783 // demo player states
786 };
787
788 void SetMenuPage(int NewPage);
789 void RefreshBrowserTab(bool Force);
790 void ForceRefreshLanPage();
791 void SetShowStart(bool ShowStart);
792 void ShowQuitPopup();
793
794private:
801
802 static int GhostlistFetchCallback(const CFsFileInfo *pInfo, int IsDir, int StorageType, void *pUser);
803
804 // found in menus_ingame.cpp
805 void RenderInGameNetwork(CUIRect MainView);
806 void RenderGhost(CUIRect MainView);
807
808 // found in menus_settings.cpp
809 void RenderSettingsDDNet(CUIRect MainView);
810 void RenderSettingsAppearance(CUIRect MainView);
811 bool RenderHslaScrollbars(CUIRect *pRect, unsigned int *pColor, bool Alpha, float DarkestLight);
812};
813#endif
Definition ui.h:269
Definition community_icons.h:17
Definition community_icons.h:28
Definition component.h:165
Definition gameclient.h:139
Definition ghost.h:34
Definition lineinput.h:202
Definition lineinput.h:25
Definition menus_start.h:10
Definition menus.h:257
char m_aFilename[IO_MAX_PATH_LENGTH]
Definition menus.h:259
CDemoHeader m_Info
Definition menus.h:269
unsigned MapSize() const
Definition menus.h:283
int64_t m_Size
Definition menus.h:265
int NumMarkers() const
Definition menus.h:273
int m_StorageType
Definition menus.h:263
bool m_InfosLoaded
Definition menus.h:267
bool operator<(const CDemoItem &Other) const
Definition menus.h:288
char m_aName[IO_MAX_PATH_LENGTH]
Definition menus.h:260
bool m_IsLink
Definition menus.h:262
int Length() const
Definition menus.h:278
CTimelineMarkers m_TimelineMarkers
Definition menus.h:270
bool m_Valid
Definition menus.h:268
time_t m_Date
Definition menus.h:264
bool m_IsDir
Definition menus.h:261
CMapInfo m_MapInfo
Definition menus.h:271
Definition menus.h:344
const char * Clan() const
Definition menus.h:402
const void * CommunityTooltipId() const
Definition menus.h:419
bool m_CustomSkinColors
Definition menus.h:353
int CustomSkinColor7(int Part) const
Definition menus.h:415
int CustomSkinColorFeet() const
Definition menus.h:411
char m_aSkin[MAX_SKIN_LENGTH]
Definition menus.h:352
char m_aaSkin7[protocol7::NUM_SKINPARTS][protocol7::MAX_SKIN_LENGTH]
Definition menus.h:357
int m_CustomSkinColorBody
Definition menus.h:354
bool m_IsPlayer
Definition menus.h:349
bool m_IsAfk
Definition menus.h:350
bool IsAfk() const
Definition menus.h:406
bool operator<(const CFriendItem &Other) const
Definition menus.h:422
bool CustomSkinColors() const
Definition menus.h:409
const CServerInfo * m_pServerInfo
Definition menus.h:347
bool UseCustomSkinColor7(int Part) const
Definition menus.h:414
const void * ListItemId() const
Definition menus.h:417
int CustomSkinColorBody() const
Definition menus.h:410
int m_aCustomSkinColor7[protocol7::NUM_SKINPARTS]
Definition menus.h:359
CFriendItem(const CServerInfo::CClient &CurrentClient, const CServerInfo *pServerInfo)
Definition menus.h:381
int FriendState() const
Definition menus.h:404
int m_FriendState
Definition menus.h:348
bool m_aUseCustomSkinColor7[protocol7::NUM_SKINPARTS]
Definition menus.h:358
const char * Skin() const
Definition menus.h:408
char m_aClan[MAX_CLAN_LENGTH]
Definition menus.h:346
const CServerInfo * ServerInfo() const
Definition menus.h:403
int m_CustomSkinColorFeet
Definition menus.h:355
const char * Name() const
Definition menus.h:401
const char * Skin7(int Part) const
Definition menus.h:413
char m_aName[MAX_NAME_LENGTH]
Definition menus.h:345
bool IsPlayer() const
Definition menus.h:405
const void * SkinTooltipId() const
Definition menus.h:420
CFriendItem(const CFriendInfo *pFriendInfo)
Definition menus.h:362
const void * RemoveButtonId() const
Definition menus.h:418
Definition menus.h:167
std::chrono::nanoseconds m_LastRender
Definition menus.h:169
int m_Current
Definition menus.h:170
int m_Total
Definition menus.h:171
Definition menus.h:570
char m_aFilename[IO_MAX_PATH_LENGTH]
Definition menus.h:572
bool m_IsDirectory
Definition menus.h:573
Definition menus.h:576
void MapListPopulate()
Definition menus_settings.cpp:3024
static int MapListFetchCallback(const CFsFileInfo *pInfo, int IsDir, int StorageType, void *pUser)
Definition menus_settings.cpp:3034
CMenus * m_pMenus
Definition menus.h:582
std::vector< CMapListItem > m_vMaps
Definition menus.h:578
char m_aCurrentMapFolder[IO_MAX_PATH_LENGTH]
Definition menus.h:579
int m_Selection
Definition menus.h:583
bool m_StartPaused
Definition menus.h:335
void RefreshFilteredDemos()
Definition menus_demo.cpp:1016
void RenderSettingsTee7(CUIRect MainView)
Definition menus_settings7.cpp:35
char m_aCurrentDemoSelectionName[IO_MAX_PATH_LENGTH]
Definition menus.h:323
char m_aMessageBody[512]
Definition menus.h:177
bool PrintHighlighted(const char *pName, F &&PrintFn)
Definition menus_browser.cpp:1907
int DoButton_CheckBox_Tristate(const void *pId, const char *pText, TRISTATE Checked, const CUIRect *pRect)
Definition menus.cpp:2424
float m_DownloadSpeed
Definition menus.h:235
bool RenderServerControlServer(CUIRect MainView, bool UpdateScroll)
Definition menus_ingame.cpp:853
CTeeRenderInfo GetTeeRenderInfo(vec2 Size, const char *pSkinName, bool CustomSkinColors, int CustomSkinColorBody, int CustomSkinColorFeet) const
Definition menus_browser.cpp:1941
void RenderServerbrowserTypesFilter(CUIRect View)
Definition menus_browser.cpp:1115
bool FetchHeader(CDemoItem &Item)
Definition menus_demo.cpp:1065
void RenderNews(CUIRect MainView)
Definition menus.cpp:810
static ColorRGBA ms_ColorTabbarActiveOutgame
Definition menus.h:36
CLineInput m_PasswordInput
Definition menus.h:238
void RenderInGameNetwork(CUIRect MainView)
Definition menus_ingame.cpp:1157
CMenusStart m_MenusStart
Definition menus.h:800
int DoButton_GridHeader(const void *pId, const char *pText, int Checked, const CUIRect *pRect, int Align=TEXTALIGN_ML)
Definition menus.cpp:249
void OnReset() override
Definition menus.cpp:2218
int m_GamePage
Definition menus.h:141
void PopupConfirmDiscardTouchControlsChanges()
Definition menus_ingame.cpp:354
void PopupConfirmChangeSelectedButton()
Definition menus_ingame.cpp:442
void DefaultButtonCallback()
Definition menus.h:185
bool m_ServerBrowserShouldRevealSelection
Definition menus.h:503
void RenderSettingsPlayer(CUIRect MainView)
Definition menus_settings.cpp:235
bool m_PausedBeforeSeeking
Definition menus.h:455
void UpdateColors()
Definition menus.cpp:2343
friend CMenusIngameTouchControls
Definition menus.h:797
std::vector< CDemoItem > m_vDemos
Definition menus.h:705
void RenderPopupLoading(CUIRect Screen)
Definition menus.cpp:1977
@ BIT_TAB_FAVORITE_COMMUNITY_3
Definition menus.h:676
@ BIG_TAB_INTERNET
Definition menus.h:671
@ BIT_TAB_FAVORITE_COMMUNITY_2
Definition menus.h:675
@ BIG_TAB_FAVORITES
Definition menus.h:673
@ BIT_TAB_FAVORITE_COMMUNITY_4
Definition menus.h:677
@ BIT_TAB_FAVORITE_COMMUNITY_1
Definition menus.h:674
@ BIG_TAB_LAN
Definition menus.h:672
@ BIG_TAB_NEWS
Definition menus.h:670
@ BIT_TAB_FAVORITE_COMMUNITY_5
Definition menus.h:678
@ BIG_TAB_DEMOS
Definition menus.h:679
@ BIG_TAB_LENGTH
Definition menus.h:681
static void ConchainUiPageUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_browser.cpp:1979
void RenderServerControl(CUIRect MainView)
Definition menus_ingame.cpp:953
bool DoLine_RadioMenu(CUIRect &View, const char *pLabel, std::vector< CButtonContainer > &vButtonContainers, const std::vector< const char * > &vLabels, const std::vector< int > &vValues, int &Value)
Definition menus.cpp:366
static ColorRGBA ms_ColorTabbarHover
Definition menus.h:43
void RenderLanguageSettings(CUIRect MainView)
Definition menus_settings.cpp:1326
bool m_CustomSkinMenu
Definition menus.h:225
void DeleteGhostItem(int Index)
Definition menus_ingame.cpp:1317
ColorHSLA DoLine_ColorPicker(CButtonContainer *pResetId, float LineSize, float LabelSize, float BottomMargin, CUIRect *pMainRect, const char *pText, unsigned int *pColorValue, ColorRGBA DefaultColor, bool CheckBoxSpacing=true, int *pCheckBoxValue=nullptr, bool Alpha=false)
Definition menus.cpp:399
void RenderDemoBrowserButtons(CUIRect ButtonsView, bool WasListboxItemActivated)
Definition menus_demo.cpp:1447
static void ConchainDemoSpeed(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_demo.cpp:1708
void RefreshBrowserTab(bool Force)
Definition menus.cpp:2508
CMenusSettingsControls m_MenusSettingsControls
Definition menus.h:798
static ColorRGBA ms_ColorTabbarInactiveOutgame
Definition menus.h:35
static bool DemoFilterChat(const void *pData, int Size, void *pUser)
Definition menus_demo.cpp:32
void RenderServerbrowserServerList(CUIRect View, bool &WasListboxItemActivated)
Definition menus_browser.cpp:104
static void ConchainDemoPlay(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_demo.cpp:1701
bool IsInit() const
Definition menus.h:613
static bool CompareFilenameAscending(const CMapListItem Lhs, const CMapListItem Rhs)
Definition menus.h:586
static void ConchainFavoritesUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_browser.cpp:1961
bool m_SkinListScrollToSelected
Definition menus.h:66
void RenderDemoBrowser(CUIRect MainView)
Definition menus_demo.cpp:1093
static int EntitiesScan(const char *pName, int IsDir, int DirType, void *pUser)
Definition menus_settings_assets.cpp:71
const CSkins7::CSkin * m_pSelectedSkin
Definition menus.h:227
int DoButton_Favorite(const void *pButtonId, const void *pParentId, bool Checked, const CUIRect *pRect)
Definition menus.cpp:262
bool m_DummyNamePlatePreview
Definition menus.h:146
static ColorRGBA ms_ColorTabbarActiveIngame
Definition menus.h:39
std::vector< CFriendItem > m_avFriends[NUM_FRIEND_TYPES]
Definition menus.h:436
FPopupButtonCallback m_pfnCallback
Definition menus.h:201
const char * GetCurrentDemoFolder() const
Definition menus.h:712
bool m_CreateDefaultFavoriteCommunities
Definition menus.h:149
std::vector< SCustomExtras > m_vExtrasList
Definition menus.h:118
CCommunityIcons m_CommunityIcons
Definition menus.h:795
void UpdateMusicState()
Definition menus.cpp:944
void PopupConfirmRemoveFriend()
Definition menus_browser.cpp:1758
int m_DirectionQuadContainerIndex
Definition menus.h:70
CLineInputBuffered< IO_MAX_PATH_LENGTH > m_DemoRenderInput
Definition menus.h:328
bool RenderServerControlKick(CUIRect MainView, bool FilterSpectators, bool UpdateScroll)
Definition menus_ingame.cpp:898
@ SORT_DEMONAME
Definition menus.h:250
@ SORT_DATE
Definition menus.h:253
@ SORT_LENGTH
Definition menus.h:252
@ SORT_MARKERS
Definition menus.h:251
void PopupConfirmSelectedNotVisible()
Definition menus_ingame.cpp:425
void RenderServerbrowserFilters(CUIRect View)
Definition menus_browser.cpp:697
CLineInputBuffered< IO_MAX_PATH_LENGTH > m_DemoRenameInput
Definition menus.h:324
void RenderServerbrowserDDNetFilter(CUIRect View, IFilterList &Filter, float ItemHeight, int MaxItems, int ItemsPerRow, CScrollRegion &ScrollRegion, std::vector< unsigned char > &vItemIds, bool UpdateCommunityCacheOnChange, const std::function< const char *(int ItemIndex)> &GetItemName, const std::function< void(int ItemIndex, CUIRect Item, const void *pItemId, bool Active)> &RenderItem)
Definition menus_browser.cpp:889
std::vector< CDemoItem * > m_vpFilteredDemos
Definition menus.h:706
int m_CallvoteSelectedPlayer
Definition menus.h:242
void PopupConfirmPlayDemo()
Definition menus_demo.cpp:1649
void RenderServerbrowserCountriesFilter(CUIRect View)
Definition menus_browser.cpp:1090
std::chrono::nanoseconds m_PopupWarningLastTime
Definition menus.h:757
@ DEMOPLAYER_NONE
Definition menus.h:784
@ DEMOPLAYER_SLICE_SAVE
Definition menus.h:785
void OnStateChange(int NewState, int OldState) override
Definition menus.cpp:2249
void ClearCustomItems(int CurTab)
Definition menus_settings_assets.cpp:258
std::chrono::nanoseconds m_GhostPopulateStartTime
Definition menus.h:745
bool m_DemolistMultipleStorages
Definition menus.h:333
int Sizeof() const override
Definition menus.h:608
CLineInputBuffered< IO_MAX_PATH_LENGTH > m_DemoSearchInput
Definition menus.h:326
bool m_DemolistSelectedReveal
Definition menus.h:331
int DoButton_CheckBox_Common(const void *pId, const char *pText, const char *pBoxText, const CUIRect *pRect, unsigned Flags)
Definition menus.cpp:280
int m_NextPopup
Definition menus.h:200
bool m_JoinTutorial
Definition menus.h:148
CUIElement m_ConnectButton
Definition menus.h:181
int DoButton_Toggle(const void *pId, int Checked, const CUIRect *pRect, bool Active, unsigned Flags=BUTTONFLAG_LEFT)
Definition menus.cpp:103
bool OnInput(const IInput::CEvent &Event) override
Definition menus.cpp:2238
SUIAnimator m_aAnimatorsSmallPage[SMALL_TAB_LENGTH]
Definition menus.h:700
void ResetServerbrowserFilters()
Definition menus_browser.cpp:854
float m_LastPauseChange
Definition menus.h:457
@ SMALL_TAB_BROWSER_INFO
Definition menus.h:693
@ SMALL_TAB_BROWSER_FILTER
Definition menus.h:692
@ SMALL_TAB_QUIT
Definition menus.h:687
@ SMALL_TAB_HOME
Definition menus.h:686
@ SMALL_TAB_EDITOR
Definition menus.h:689
@ SMALL_TAB_BROWSER_FRIENDS
Definition menus.h:694
@ SMALL_TAB_LENGTH
Definition menus.h:696
@ SMALL_TAB_SERVER
Definition menus.h:691
@ SMALL_TAB_DEMOBUTTON
Definition menus.h:690
@ SMALL_TAB_SETTINGS
Definition menus.h:688
int m_TeePartSelected
Definition menus.h:226
char m_aLabel[64]
Definition menus.h:199
void RenderSkinPartSelection7(CUIRect MainView)
Definition menus_settings7.cpp:387
void PopupConfirmImportTouchControlsClipboard()
Definition menus_ingame.cpp:395
void RenderGame(CUIRect MainView)
Definition menus_ingame.cpp:42
void OnRender() override
Definition menus.cpp:2295
void OnShutdown() override
Definition menus.cpp:2222
const CFriendItem * m_pRemoveFriend
Definition menus.h:437
bool RenderHslaScrollbars(CUIRect *pRect, unsigned int *pColor, bool Alpha, float DarkestLight)
Definition menus_settings.cpp:1545
bool m_NeedSendinfo
Definition menus.h:220
int m_MenuPage
Definition menus.h:140
void RenderSkinSelection7(CUIRect MainView)
Definition menus_settings7.cpp:307
bool m_Dummy
Definition menus.h:710
int m_SkipDurationIndex
Definition menus.h:460
void RenderSettings(CUIRect MainView)
Definition menus_settings.cpp:1417
int m_DownloadLastCheckSize
Definition menus.h:234
@ SETTINGS_GRAPHICS
Definition menus.h:660
@ SETTINGS_ASSETS
Definition menus.h:663
@ SETTINGS_PLAYER
Definition menus.h:656
@ SETTINGS_LANGUAGE
Definition menus.h:654
@ SETTINGS_GENERAL
Definition menus.h:655
@ SETTINGS_TEE
Definition menus.h:657
@ SETTINGS_LENGTH
Definition menus.h:665
@ SETTINGS_SOUND
Definition menus.h:661
@ SETTINGS_DDNET
Definition menus.h:662
@ SETTINGS_CONTROLS
Definition menus.h:659
@ SETTINGS_APPEARANCE
Definition menus.h:658
void(CMenus::* FPopupButtonCallback)()
Definition menus.h:184
CUIElement m_RefreshButton
Definition menus.h:180
int DoButton_MenuTab(CButtonContainer *pButtonContainer, const char *pText, int Checked, const CUIRect *pRect, int Corners, SUIAnimator *pAnimator=nullptr, const ColorRGBA *pDefaultColor=nullptr, const ColorRGBA *pActiveColor=nullptr, const ColorRGBA *pHoverColor=nullptr, float EdgeRounding=10.0f, const CCommunityIcon *pCommunityIcon=nullptr)
Definition menus.cpp:160
static int DemolistFetchCallback(const CFsFileInfo *pInfo, int IsDir, int StorageType, void *pUser)
Definition menus_demo.cpp:919
void RenderSettingsAppearance(CUIRect MainView)
Definition menus_settings.cpp:1795
void PopupWarning(const char *pTopic, const char *pBody, const char *pButton, std::chrono::nanoseconds Duration)
Definition menus.cpp:983
static int MenuImageScan(const char *pName, int IsDir, int DirType, void *pUser)
Definition menus.cpp:2439
void RenderPopupConnecting(CUIRect Screen)
Definition menus.cpp:1912
void ShowQuitPopup()
Definition menus.cpp:2567
bool m_ControlPageOpening
Definition menus.h:245
void SetNeedSendInfo()
Definition menus_settings.cpp:227
void RenderDemoBrowserDetails(CUIRect DetailsView)
Definition menus_demo.cpp:1323
static ColorRGBA ms_ColorTabbarHoverIngame
Definition menus.h:40
void RenderPopupFullscreen(CUIRect Screen)
Definition menus.cpp:1217
void RenderGhost(CUIRect MainView)
Definition menus_ingame.cpp:1340
CLineInputBuffered< IO_MAX_PATH_LENGTH > m_DemoSliceInput
Definition menus.h:325
int DoButton_CheckBoxAutoVMarginAndSet(const void *pId, const char *pText, int *pValue, CUIRect *pRect, float VMargin)
Definition menus.cpp:467
void RenderServerbrowserInfoScoreboard(CUIRect View, const CServerInfo *pSelectedServer)
Definition menus_browser.cpp:1290
std::chrono::nanoseconds m_DemoPopulateStartTime
Definition menus.h:337
bool RenderLanguageSelection(CUIRect MainView)
Definition menus_settings.cpp:1368
void ResetSettingsControls()
Definition menus_settings_controls.cpp:780
@ PAGE_FAVORITE_COMMUNITY_2
Definition menus.h:640
@ PAGE_INTERNET
Definition menus.h:636
@ PAGE_CALLVOTE
Definition menus.h:635
@ PAGE_PLAYERS
Definition menus.h:633
@ PAGE_FAVORITE_COMMUNITY_1
Definition menus.h:639
@ PAGE_GAME
Definition menus.h:632
@ PAGE_SETTINGS
Definition menus.h:645
@ PAGE_LAN
Definition menus.h:637
@ PAGE_NETWORK
Definition menus.h:646
@ PAGE_NEWS
Definition menus.h:631
@ PAGE_SERVER_INFO
Definition menus.h:634
@ PAGE_LENGTH
Definition menus.h:649
@ PAGE_FAVORITES
Definition menus.h:638
@ PAGE_DEMOS
Definition menus.h:644
@ PAGE_FAVORITE_COMMUNITY_3
Definition menus.h:641
@ PAGE_FAVORITE_COMMUNITY_5
Definition menus.h:643
@ PAGE_GHOST
Definition menus.h:647
@ PAGE_FAVORITE_COMMUNITY_4
Definition menus.h:642
static CUi::EPopupMenuFunctionResult PopupCountrySelection(void *pContext, CUIRect View, bool Active)
Definition menus_browser.cpp:1139
char m_aMessageButton[512]
Definition menus.h:178
void SetMenuPage(int NewPage)
Definition menus.cpp:2488
static int GameScan(const char *pName, int IsDir, int DirType, void *pUser)
Definition menus_settings_assets.cpp:172
int m_CallvoteSelectedOption
Definition menus.h:241
CMenusIngameTouchControls m_MenusIngameTouchControls
Definition menus.h:796
struct CMenus::@261347105360354237364205304244167270026045020136 m_aPopupButtons[NUM_BUTTONS]
bool m_DemoBrowserListInitialized
Definition menus.h:467
int m_DemoPlayerState
Definition menus.h:760
static ColorRGBA ms_ColorTabbarActive
Definition menus.h:42
void RenderDemoBrowserList(CUIRect ListView, bool &WasListboxItemActivated)
Definition menus_demo.cpp:1110
int m_DemolistSelectedIndex
Definition menus.h:330
void RenderSettingsTeeCustom7(CUIRect MainView)
Definition menus_settings7.cpp:242
void PopupConfirmDeleteFolder()
Definition menus_demo.cpp:1684
void PopupConfirmDeleteDemo()
Definition menus_demo.cpp:1667
@ BUTTON_CANCEL
Definition menus.h:192
@ NUM_BUTTONS
Definition menus.h:193
@ BUTTON_CONFIRM
Definition menus.h:191
int DoButton_Menu(CButtonContainer *pButtonContainer, const char *pText, int Checked, const CUIRect *pRect, unsigned Flags=BUTTONFLAG_LEFT, const char *pImageName=nullptr, int Corners=IGraphics::CORNER_ALL, float Rounding=5.0f, float FontFactor=0.0f, ColorRGBA Color=ColorRGBA(1.0f, 1.0f, 1.0f, 0.5f))
Definition menus.cpp:123
void PopupCancelChangeSelectedButton()
Definition menus_ingame.cpp:457
void ForceRefreshLanPage()
Definition menus.cpp:2557
void RenderLoading(const char *pCaption, const char *pContent, int IncreaseCounter)
Definition menus.cpp:741
int m_DemolistStorageType
Definition menus.h:332
void Connect(const char *pAddress)
Definition menus_browser.cpp:681
float m_LastSpeedChange
Definition menus.h:458
std::vector< SCustomParticle > m_vParticlesList
Definition menus.h:116
void RenderDemoPlayerSliceSavePopup(CUIRect MainView)
Definition menus_demo.cpp:774
void RenderServerbrowserTabBar(CUIRect TabBar)
Definition menus_browser.cpp:1774
void GhostlistPopulate()
Definition menus_ingame.cpp:1253
std::vector< SCustomEmoticon > m_vEmoticonList
Definition menus.h:115
void RenderServerbrowser(CUIRect MainView)
Definition menus_browser.cpp:1837
friend CMenusSettingsControls
Definition menus.h:799
bool m_NeedSendDummyinfo
Definition menus.h:221
static void ConchainAssetExtras(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_settings_assets.cpp:728
std::optional< std::chrono::nanoseconds > m_SkinList7LastRefreshTime
Definition menus.h:67
static void ConchainAssetGame(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_settings_assets.cpp:668
bool m_NeedRestartUpdate
Definition menus.h:219
static ColorRGBA ms_ColorTabbarInactive
Definition menus.h:41
void DemoSeekTick(IDemoPlayer::ETickOffset TickOffset)
Definition menus_demo.cpp:77
@ POPUP_SAVE_SKIN
Definition menus.h:778
@ POPUP_DISCONNECTED
Definition menus.h:769
@ POPUP_PASSWORD
Definition menus.h:774
@ POPUP_RENDER_DONE
Definition menus.h:773
@ POPUP_QUIT
Definition menus.h:775
@ POPUP_RESTART
Definition menus.h:776
@ POPUP_FIRST_LAUNCH
Definition menus.h:767
@ POPUP_LANGUAGE
Definition menus.h:770
@ POPUP_WARNING
Definition menus.h:777
@ POPUP_NONE
Definition menus.h:764
@ POPUP_MESSAGE
Definition menus.h:765
@ POPUP_RENDER_DEMO
Definition menus.h:772
@ POPUP_POINTS
Definition menus.h:768
@ POPUP_RENAME_DEMO
Definition menus.h:771
@ POPUP_CONFIRM
Definition menus.h:766
static ColorRGBA ms_ColorTabbarInactiveIngame
Definition menus.h:38
static void ConchainFriendlistUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_browser.cpp:1950
CLineInputBuffered< protocol7::MAX_SKIN_ARRAY_SIZE, protocol7::MAX_SKIN_LENGTH > m_SkinNameInput
Definition menus.h:228
bool m_SkinPartListNeedsUpdate
Definition menus.h:229
void OnInit() override
Definition menus.cpp:851
void RenderServerbrowserFriends(CUIRect View)
Definition menus_browser.cpp:1442
void PopupConfirmOpenWiki()
Definition menus_ingame.cpp:484
static int EmoticonsScan(const char *pName, int IsDir, int DirType, void *pUser)
Definition menus_settings_assets.cpp:180
bool m_NeedRestartGraphics
Definition menus.h:217
int DoButton_CheckBox_Number(const void *pId, const char *pText, int Checked, const CUIRect *pRect)
Definition menus.cpp:485
void RenderSettingsTee(CUIRect MainView)
Definition menus_settings.cpp:365
void RenderSettingsCustom(CUIRect MainView)
Definition menus_settings_assets.cpp:352
bool m_MenuActive
Definition menus.h:144
static void ConchainCommunitiesUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_browser.cpp:1968
void UpdateCommunityCache(bool Force)
Definition menus_browser.cpp:1996
void RenderServerInfoMotd(CUIRect Motd)
Definition menus_ingame.cpp:810
static constexpr int DEFAULT_SKIP_DURATION_INDEX
Definition menus.h:459
void FinishLoading()
Definition menus.cpp:804
char m_aMessageTopic[512]
Definition menus.h:176
static int GhostlistFetchCallback(const CFsFileInfo *pInfo, int IsDir, int StorageType, void *pUser)
Definition menus_ingame.cpp:1223
static int ExtrasScan(const char *pName, int IsDir, int DirType, void *pUser)
Definition menus_settings_assets.cpp:204
std::vector< SCustomGame > m_vGameList
Definition menus.h:114
void PopupCancelDeselectButton()
Definition menus_ingame.cpp:418
void PopupConfirmDisconnectDummy()
Definition menus_ingame.cpp:348
vec2 m_DemoControlsPositionOffset
Definition menus.h:454
void OnInterfacesInit(CGameClient *pClient) override
Definition menus.cpp:842
CLineInputBuffered< 64 > m_FilterInput
Definition menus.h:244
void DoLaserPreview(const CUIRect *pRect, ColorHSLA OutlineColor, ColorHSLA InnerColor, int LaserType)
Definition menus.cpp:306
bool m_ShowStart
Definition menus.h:143
void RenderSettingsGraphics(CUIRect MainView)
Definition menus_settings.cpp:844
void RenderThemeSelection(CUIRect MainView)
Definition menus.cpp:2113
std::vector< CMenuImage > m_vMenuImages
Definition menus.h:161
std::vector< CButtonContainer > m_vButtonContainersNamePlateKeyPresses
Definition menus.h:567
CLineInputBuffered< VOTE_REASON_LENGTH > m_CallvoteReasonInput
Definition menus.h:243
bool m_ForceRefreshLanPage
Definition menus.h:150
void RenderServerInfo(CUIRect MainView)
Definition menus_ingame.cpp:623
bool m_NeedRestartSound
Definition menus.h:218
static ColorRGBA ms_ColorTabbarHoverOutgame
Definition menus.h:37
void SetShowStart(bool ShowStart)
Definition menus.cpp:2562
static void ConchainAssetParticles(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_settings_assets.cpp:683
void RenderPlayers(CUIRect MainView)
Definition menus_ingame.cpp:489
void PopupConfirmDisconnect()
Definition menus_ingame.cpp:343
int m_Speed
Definition menus.h:334
static float ms_ButtonHeight
Definition menus.h:212
std::vector< SCustomEntities > m_vEntitiesList
Definition menus.h:113
void RenderDemoPlayer(CUIRect MainView)
Definition menus_demo.cpp:85
SUIAnimator m_aAnimatorsBigPage[BIG_TAB_LENGTH]
Definition menus.h:699
static int HudScan(const char *pName, int IsDir, int DirType, void *pUser)
Definition menus_settings_assets.cpp:196
void RenderSettingsSound(CUIRect MainView)
Definition menus_settings.cpp:1235
CMenus()
Definition menus.cpp:60
void SetActive(bool Active)
Definition menus.cpp:2185
float m_PrevSeekAmount
Definition menus.h:456
void PopupConfirmSwitchServer()
Definition menus_browser.cpp:692
void DemolistOnUpdate(bool Reset)
Definition menus_demo.cpp:1028
void Render()
Definition menus.cpp:1007
int DoButton_CheckBox(const void *pId, const char *pText, int Checked, const CUIRect *pRect)
Definition menus.cpp:480
void PopupConfirmDeleteSkin7()
Definition menus_settings7.cpp:230
static void ConchainUpdateMusicState(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus.cpp:936
void HandleDemoSeeking(float PositionToSeek, float TimeToSeek)
Definition menus_demo.cpp:50
static void ConchainBackgroundEntities(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus.cpp:925
char m_aCurrentDemoFolder[IO_MAX_PATH_LENGTH]
Definition menus.h:322
@ FRIEND_OFF
Definition menus.h:433
@ FRIEND_PLAYER_ON
Definition menus.h:431
@ NUM_FRIEND_TYPES
Definition menus.h:434
@ FRIEND_CLAN_ON
Definition menus.h:432
std::vector< SCustomHud > m_vHudList
Definition menus.h:117
void RenderSettingsDDNet(CUIRect MainView)
Definition menus_settings.cpp:2656
void PopupMessage(const char *pTitle, const char *pMessage, const char *pButtonLabel, int NextPopup=POPUP_NONE, FPopupButtonCallback pfnButtonCallback=&CMenus::DefaultButtonCallback)
Definition menus.cpp:953
char m_aPopupTitle[128]
Definition menus.h:195
bool CanDisplayWarning() const
Definition menus.cpp:1002
int m_Popup
Definition menus.h:142
IGraphics::CTextureHandle m_TextureBlob
Definition menus.h:602
void RenderMenubar(CUIRect Box, IClient::EClientState ClientState)
Definition menus.cpp:492
bool m_IsInit
Definition menus.h:120
void PopupConfirmDemoReplaceVideo()
Definition menus.cpp:2094
static float ms_ListheaderHeight
Definition menus.h:213
static CUi::EPopupMenuFunctionResult PopupMapPicker(void *pContext, CUIRect View, bool Active)
Definition menus_settings.cpp:2947
CUi::SColorPickerPopupContext m_ColorPickerPopupContext
Definition menus.h:58
void DemolistPopulate()
Definition menus_demo.cpp:956
static void ConchainAssetsEntities(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_settings_assets.cpp:653
void OnWindowResize() override
Definition menus.cpp:2290
std::vector< CButtonContainer > m_vButtonContainersNamePlateShow
Definition menus.h:566
@ GHOST_SORT_NONE
Definition menus.h:737
@ GHOST_SORT_TIME
Definition menus.h:739
@ GHOST_SORT_DATE
Definition menus.h:740
@ GHOST_SORT_NAME
Definition menus.h:738
bool OnCursorMove(float x, float y, IInput::ECursorType CursorType) override
Definition menus.cpp:2227
int m_SelectedIndex
Definition menus.h:502
void PopupConfirmTurnOffEditor()
Definition menus_ingame.cpp:474
static void ConchainAssetHud(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_settings_assets.cpp:713
int m_SettingPlayerPage
Definition menus.h:222
void PopupConfirmResetTouchControls()
Definition menus_ingame.cpp:370
SUIAnimator m_aAnimatorsSettingsTab[SETTINGS_LENGTH]
Definition menus.h:701
void RenderServerbrowserStatusBox(CUIRect StatusBox, bool WasListboxItemActivated)
Definition menus_browser.cpp:506
const CMenuImage * FindMenuImage(const char *pName)
Definition menus.cpp:2480
void RenderServerbrowserCommunitiesFilter(CUIRect View)
Definition menus_browser.cpp:1007
void SortGhostlist()
Definition menus_ingame.cpp:1324
bool IsActive() const
Definition menus.h:615
std::vector< CUIElement * > m_avpServerBrowserUiElements[IServerBrowser::NUM_TYPES]
Definition menus.h:504
char m_aPopupMessage[IO_MAX_PATH_LENGTH+256]
Definition menus.h:196
void RenderBackground()
Definition menus.cpp:2369
STextContainerIndex m_MotdTextContainerIndex
Definition menus.h:479
void PopupConfirmDeleteButton()
Definition menus_ingame.cpp:411
CGhostItem * GetOwnGhost()
Definition menus_ingame.cpp:1275
static float ms_ListitemAdditionalHeight
Definition menus.h:214
void RenderIngameHint()
Definition menus_ingame.cpp:1604
std::optional< std::chrono::nanoseconds > m_SkinPartsList7LastRefreshTime
Definition menus.h:68
void RenderServerbrowserInfo(CUIRect View)
Definition menus_browser.cpp:1187
static ColorRGBA ms_GuiColor
Definition menus.h:34
ColorHSLA DoButton_ColorPicker(const CUIRect *pRect, unsigned int *pHslaColor, bool Alpha)
Definition menus.cpp:437
static void LoadEntities(struct SCustomEntities *pEntitiesItem, void *pUser)
Definition menus_settings_assets.cpp:38
void RenderSettingsGeneral(CUIRect MainView)
Definition menus_settings.cpp:42
void UpdateOwnGhost(CGhostItem Item)
Definition menus_ingame.cpp:1283
static int ParticlesScan(const char *pName, int IsDir, int DirType, void *pUser)
Definition menus_settings_assets.cpp:188
char m_aNextServer[256]
Definition menus.h:152
void RenderServerbrowserToolBox(CUIRect ToolBox)
Definition menus_browser.cpp:1817
std::vector< CGhostItem > m_vGhosts
Definition menus.h:743
CLoadingState m_LoadingState
Definition menus.h:173
int64_t m_DownloadLastCheckTime
Definition menus.h:233
void PopupConfirm(const char *pTitle, const char *pMessage, const char *pConfirmButtonLabel, const char *pCancelButtonLabel, FPopupButtonCallback pfnConfirmButtonCallback=&CMenus::DefaultButtonCallback, int ConfirmNextPopup=POPUP_NONE, FPopupButtonCallback pfnCancelButtonCallback=&CMenus::DefaultButtonCallback, int CancelNextPopup=POPUP_NONE)
Definition menus.cpp:966
void FetchAllHeaders()
Definition menus_demo.cpp:1084
void FriendlistOnUpdate()
Definition menus_browser.cpp:1753
std::chrono::nanoseconds m_PopupWarningDuration
Definition menus.h:758
static void ConchainAssetEmoticons(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
Definition menus_settings_assets.cpp:698
Definition ui_scrollregion.h:90
Definition serverbrowser.h:68
int m_aCustomSkinColor7[protocol7::NUM_SKINPARTS]
Definition serverbrowser.h:85
bool m_aUseCustomSkinColor7[protocol7::NUM_SKINPARTS]
Definition serverbrowser.h:84
char m_aaSkin7[protocol7::NUM_SKINPARTS][protocol7::MAX_SKIN_LENGTH]
Definition serverbrowser.h:83
char m_aSkin[MAX_SKIN_LENGTH]
Definition serverbrowser.h:78
char m_aName[MAX_NAME_LENGTH]
Definition serverbrowser.h:70
char m_aClan[MAX_CLAN_LENGTH]
Definition serverbrowser.h:71
Definition serverbrowser.h:26
Definition skins7.h:53
Definition render.h:65
Definition ui.h:150
Definition ui_rect.h:12
EPopupMenuFunctionResult
Definition ui.h:310
Definition color.h:145
Definition color.h:182
EClientState
Definition client.h:52
Definition console.h:64
void(* FCommandCallback)(IResult *pResult, void *pUserData)
Definition console.h:102
ETickOffset
Definition demo.h:84
Definition serverbrowser.h:248
@ FRIEND_CLAN
Definition friends.h:25
@ FRIEND_PLAYER
Definition friends.h:26
Definition graphics.h:206
@ CORNER_ALL
Definition graphics.h:473
Definition input.h:22
ECursorType
Definition input.h:42
@ NUM_TYPES
Definition serverbrowser.h:310
CConfig g_Config
Definition config.cpp:14
@ MAX_TIMELINE_MARKERS
Definition demo.h:18
@ MAX_CLAN_LENGTH
Definition protocol.h:100
@ MAX_SKIN_LENGTH
Definition protocol.h:101
@ MAX_NAME_LENGTH
Definition protocol.h:99
int str_comp_filenames(const char *a, const char *b)
Definition str.cpp:216
int str_comp_nocase(const char *a, const char *b)
Definition str.cpp:308
int str_comp(const char *a, const char *b)
Definition str.cpp:326
int str_copy(char *dst, const char *src, int dst_size)
Definition str.cpp:6
@ MAP_IMAGE_MOD_TYPE_COUNT
Definition mapimages.h:23
@ MAX_SKIN_LENGTH
Definition protocol7.h:73
@ SKINPART_BODY
Definition protocol7.h:40
@ NUM_SKINPARTS
Definition protocol7.h:46
Definition demo.h:35
Definition friends.h:11
char m_aClan[MAX_CLAN_LENGTH]
Definition friends.h:13
char m_aName[MAX_NAME_LENGTH]
Definition friends.h:12
Definition types.h:31
Definition demo.h:56
CGhostItem()
Definition menus.h:726
bool HasFile() const
Definition menus.h:732
bool operator<(const CGhostItem &Other) const
Definition menus.h:729
bool m_Own
Definition menus.h:723
time_t m_Date
Definition menus.h:724
int m_Time
Definition menus.h:721
char m_aPlayer[MAX_NAME_LENGTH]
Definition menus.h:718
bool m_Failed
Definition menus.h:720
int m_Slot
Definition menus.h:722
bool Active() const
Definition menus.h:731
char m_aFilename[IO_MAX_PATH_LENGTH]
Definition menus.h:717
Definition menus.h:156
IGraphics::CTextureHandle m_OrgTexture
Definition menus.h:158
char m_aName[64]
Definition menus.h:157
IGraphics::CTextureHandle m_GreyTexture
Definition menus.h:159
Definition menus.h:97
IGraphics::CTextureHandle m_Texture
Definition menus.h:87
Definition menus.h:84
SEntitiesImage m_aImages[MAP_IMAGE_MOD_TYPE_COUNT]
Definition menus.h:89
Definition menus.h:109
Definition menus.h:93
Definition menus.h:105
Definition menus.h:75
bool operator<(const SCustomItem &Other) const
Definition menus.h:80
char m_aName[50]
Definition menus.h:78
IGraphics::CTextureHandle m_RenderTexture
Definition menus.h:76
Definition menus.h:101
bool m_New
Definition menus.h:525
int m_Selection
Definition menus.h:524
CMenus * m_pMenus
Definition menus.h:523
Definition demo.h:50
Definition textrender.h:273
Definition ui.h:38
unsigned bytes_be_to_uint(const unsigned char *bytes)
Definition system.cpp:2220
@ TEXTALIGN_ML
Definition textrender.h:34
TRISTATE
Definition types.h:15
constexpr auto IO_MAX_PATH_LENGTH
Definition types.h:49
@ BUTTONFLAG_LEFT
Definition ui.h:232
vector2_base< float > vec2
Definition vmath.h:161