mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
Merge #4842
4842: Replace browser icons with font icons r=def- a=Jupeyy Replace and remove the menu icons and use the font icons instead. Personally i find them more attractive, and objectivly they are resolution indepentent. Opinions? before: ![screenshot_2022-03-19_11-26-51](https://user-images.githubusercontent.com/6654924/159117535-6e027259-b7bc-43ff-b87b-80aabc368e97.png) ![screenshot_2022-03-19_11-31-02](https://user-images.githubusercontent.com/6654924/159117539-a0617fe6-4d30-407e-9b5c-588bd27c6834.png) after: ![screenshot_2022-03-19_11-45-24](https://user-images.githubusercontent.com/6654924/159117919-d0deb3c7-2631-4233-a7e0-2b1e83362248.png) ![screenshot_2022-03-19_11-30-41](https://user-images.githubusercontent.com/6654924/159117546-db8f68d7-253c-4b99-9a8d-9f6668d0cb11.png) ![screenshot_2022-03-19_11-44-16](https://user-images.githubusercontent.com/6654924/159117880-0523ee15-e5f0-495c-9f5b-fe3e897efe79.png) ## Checklist - [x] Tested the change ingame - [x] Provided screenshots if it is a visual change - [ ] Tested in combination with possibly related configuration options - [ ] Written a unit test if it works standalone, system.c especially - [ ] Considered possible null pointers and out of bounds array indexing - [ ] Changed no physics that affect existing maps - [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional) Co-authored-by: Jupeyy <jupjopjap@gmail.com>
This commit is contained in:
commit
12b7ff3d4c
|
@ -839,7 +839,6 @@ set(EXPECTED_DATA
|
||||||
audio/wp_switch-02.wv
|
audio/wp_switch-02.wv
|
||||||
audio/wp_switch-03.wv
|
audio/wp_switch-03.wv
|
||||||
blob.png
|
blob.png
|
||||||
browse_icons.png
|
|
||||||
censorlist.txt
|
censorlist.txt
|
||||||
console.png
|
console.png
|
||||||
console_bar.png
|
console_bar.png
|
||||||
|
@ -1138,7 +1137,7 @@ set(EXPECTED_DATA
|
||||||
file_icons.png
|
file_icons.png
|
||||||
fonts/DejaVuSans.ttf
|
fonts/DejaVuSans.ttf
|
||||||
fonts/GlowSansJCompressed-Book.otf
|
fonts/GlowSansJCompressed-Book.otf
|
||||||
fonts/Icons.ttf
|
fonts/Icons.otf
|
||||||
fonts/SourceHanSansSC-Regular.otf
|
fonts/SourceHanSansSC-Regular.otf
|
||||||
game.png
|
game.png
|
||||||
gui_buttons.png
|
gui_buttons.png
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2.6 KiB |
BIN
data/fonts/Icons.otf
Normal file
BIN
data/fonts/Icons.otf
Normal file
Binary file not shown.
Binary file not shown.
|
@ -228,7 +228,6 @@ container.sounds.Add(SoundSet("menu", ["audio/music_menu.wv"]))
|
||||||
image_null = Image("null", "")
|
image_null = Image("null", "")
|
||||||
image_particles = Image("particles", "particles.png")
|
image_particles = Image("particles", "particles.png")
|
||||||
image_game = Image("game", "game.png")
|
image_game = Image("game", "game.png")
|
||||||
image_browseicons = Image("browseicons", "browse_icons.png")
|
|
||||||
image_emoticons = Image("emoticons", "emoticons.png")
|
image_emoticons = Image("emoticons", "emoticons.png")
|
||||||
image_speedup_arrow = Image("speedup_arrow", "editor/speed_arrow.png")
|
image_speedup_arrow = Image("speedup_arrow", "editor/speed_arrow.png")
|
||||||
image_demobuttons = Image("demobuttons", "demo_buttons.png")
|
image_demobuttons = Image("demobuttons", "demo_buttons.png")
|
||||||
|
@ -246,7 +245,6 @@ container.images.Add(image_particles)
|
||||||
container.images.Add(Image("cursor", "gui_cursor.png"))
|
container.images.Add(Image("cursor", "gui_cursor.png"))
|
||||||
container.images.Add(Image("banner", "gui_logo.png"))
|
container.images.Add(Image("banner", "gui_logo.png"))
|
||||||
container.images.Add(image_emoticons)
|
container.images.Add(image_emoticons)
|
||||||
container.images.Add(image_browseicons)
|
|
||||||
container.images.Add(Image("console_bg", "console.png"))
|
container.images.Add(Image("console_bg", "console.png"))
|
||||||
container.images.Add(Image("console_bar", "console_bar.png"))
|
container.images.Add(Image("console_bar", "console_bar.png"))
|
||||||
container.images.Add(image_speedup_arrow)
|
container.images.Add(image_speedup_arrow)
|
||||||
|
@ -267,7 +265,6 @@ container.pickups.Add(Pickup("ninja", 90, 90))
|
||||||
set_particles = SpriteSet("particles", image_particles, 8, 8)
|
set_particles = SpriteSet("particles", image_particles, 8, 8)
|
||||||
set_game = SpriteSet("game", image_game, 32, 16)
|
set_game = SpriteSet("game", image_game, 32, 16)
|
||||||
set_tee = SpriteSet("tee", image_null, 8, 4)
|
set_tee = SpriteSet("tee", image_null, 8, 4)
|
||||||
set_browseicons = SpriteSet("browseicons", image_browseicons, 6, 1)
|
|
||||||
set_emoticons = SpriteSet("emoticons", image_emoticons, 4, 4)
|
set_emoticons = SpriteSet("emoticons", image_emoticons, 4, 4)
|
||||||
set_speedup_arrow = SpriteSet("speedup_arrow", image_speedup_arrow, 1, 1)
|
set_speedup_arrow = SpriteSet("speedup_arrow", image_speedup_arrow, 1, 1)
|
||||||
set_demobuttons = SpriteSet("demobuttons", image_demobuttons, 5, 1)
|
set_demobuttons = SpriteSet("demobuttons", image_demobuttons, 5, 1)
|
||||||
|
@ -281,7 +278,6 @@ set_strongweak = SpriteSet("strongweak", image_strongweak, 2, 1)
|
||||||
container.spritesets.Add(set_particles)
|
container.spritesets.Add(set_particles)
|
||||||
container.spritesets.Add(set_game)
|
container.spritesets.Add(set_game)
|
||||||
container.spritesets.Add(set_tee)
|
container.spritesets.Add(set_tee)
|
||||||
container.spritesets.Add(set_browseicons)
|
|
||||||
container.spritesets.Add(set_emoticons)
|
container.spritesets.Add(set_emoticons)
|
||||||
container.spritesets.Add(set_speedup_arrow)
|
container.spritesets.Add(set_speedup_arrow)
|
||||||
container.spritesets.Add(set_demobuttons)
|
container.spritesets.Add(set_demobuttons)
|
||||||
|
@ -398,12 +394,6 @@ container.sprites.Add(Sprite("wtf", set_emoticons, 1, 3, 1, 1))
|
||||||
container.sprites.Add(Sprite("eyes", set_emoticons, 2, 3, 1, 1))
|
container.sprites.Add(Sprite("eyes", set_emoticons, 2, 3, 1, 1))
|
||||||
container.sprites.Add(Sprite("question", set_emoticons, 3, 3, 1, 1))
|
container.sprites.Add(Sprite("question", set_emoticons, 3, 3, 1, 1))
|
||||||
|
|
||||||
container.sprites.Add(Sprite("browse_lock", set_browseicons, 0,0,1,1))
|
|
||||||
container.sprites.Add(Sprite("browse_heart", set_browseicons, 1,0,1,1))
|
|
||||||
container.sprites.Add(Sprite("browse_unpure", set_browseicons, 3,0,1,1))
|
|
||||||
container.sprites.Add(Sprite("browse_ddnet", set_browseicons, 4,0,1,1))
|
|
||||||
container.sprites.Add(Sprite("browse_rank", set_browseicons, 5,0,1,1))
|
|
||||||
|
|
||||||
container.sprites.Add(Sprite("speedup_arrow", set_speedup_arrow, 0,0,1,1))
|
container.sprites.Add(Sprite("speedup_arrow", set_speedup_arrow, 0,0,1,1))
|
||||||
|
|
||||||
container.sprites.Add(Sprite("demobutton_play", set_demobuttons, 0,0,1,1))
|
container.sprites.Add(Sprite("demobutton_play", set_demobuttons, 0,0,1,1))
|
||||||
|
|
19
license.txt
19
license.txt
|
@ -23,20 +23,17 @@ freely, subject to the following restrictions:
|
||||||
All content under 'data' except the assets, font, language & skin files,
|
All content under 'data' except the assets, font, language & skin files,
|
||||||
(which have their own licenses) are released under
|
(which have their own licenses) are released under
|
||||||
CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/).
|
CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/).
|
||||||
Apache 2.0 for the 'Icon.tff' file:
|
SIL OFL 1.1 License for the 'Icon.otf' ('Font Awesome 6 Free-Solid-900.otf') file:
|
||||||
Copyright Google
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com)
|
||||||
you may not use this file except in compliance with the License.
|
with Reserved Font Name: "Font Awesome".
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
SIL OPEN FONT LICENSE
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
Version 1.1 - 26 February 2007
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
The other fonts are released under CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/).
|
The other fonts are released under CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/).
|
||||||
|
|
||||||
|
|
|
@ -693,7 +693,7 @@ public:
|
||||||
|
|
||||||
IStorage *pStorage = Kernel()->RequestInterface<IStorage>();
|
IStorage *pStorage = Kernel()->RequestInterface<IStorage>();
|
||||||
char aFilename[IO_MAX_PATH_LENGTH];
|
char aFilename[IO_MAX_PATH_LENGTH];
|
||||||
const char *pFontFile = "fonts/Icons.ttf";
|
const char *pFontFile = "fonts/Icons.otf";
|
||||||
IOHANDLE File = pStorage->OpenFile(pFontFile, IOFLAG_READ, IStorage::TYPE_ALL, aFilename, sizeof(aFilename));
|
IOHANDLE File = pStorage->OpenFile(pFontFile, IOFLAG_READ, IStorage::TYPE_ALL, aFilename, sizeof(aFilename));
|
||||||
if(File)
|
if(File)
|
||||||
{
|
{
|
||||||
|
|
|
@ -346,7 +346,7 @@ int CMenus::DoButton_CheckBox_Common(const void *pID, const char *pText, const c
|
||||||
{
|
{
|
||||||
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT);
|
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT);
|
||||||
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
||||||
UI()->DoLabel(&c, "\xEE\x97\x8D", c.h * CUI::ms_FontmodHeight, TEXTALIGN_CENTER, Props);
|
UI()->DoLabel(&c, "\xEF\x80\x8D", c.h * CUI::ms_FontmodHeight, TEXTALIGN_CENTER, Props);
|
||||||
TextRender()->SetCurFont(NULL);
|
TextRender()->SetCurFont(NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -719,10 +719,10 @@ int CMenus::RenderMenubar(CUIRect r)
|
||||||
ColorRGBA *pHomeButtonColor = NULL;
|
ColorRGBA *pHomeButtonColor = NULL;
|
||||||
ColorRGBA *pHomeButtonColorHover = NULL;
|
ColorRGBA *pHomeButtonColorHover = NULL;
|
||||||
|
|
||||||
const char *pHomeScreenButtonLabel = "\xEE\xA2\x8A";
|
const char *pHomeScreenButtonLabel = "\xEF\x80\x95";
|
||||||
if(GotNewsOrUpdate)
|
if(GotNewsOrUpdate)
|
||||||
{
|
{
|
||||||
pHomeScreenButtonLabel = "\xEE\x80\xB1";
|
pHomeScreenButtonLabel = "\xEF\x87\xAA";
|
||||||
pHomeButtonColor = &HomeButtonColorAlert;
|
pHomeButtonColor = &HomeButtonColorAlert;
|
||||||
pHomeButtonColorHover = &HomeButtonColorAlertHover;
|
pHomeButtonColorHover = &HomeButtonColorAlertHover;
|
||||||
}
|
}
|
||||||
|
@ -868,7 +868,7 @@ int CMenus::RenderMenubar(CUIRect r)
|
||||||
Box.VSplitRight(33.0f, &Box, &Button);
|
Box.VSplitRight(33.0f, &Box, &Button);
|
||||||
static int s_QuitButton = 0;
|
static int s_QuitButton = 0;
|
||||||
ColorRGBA QuitColor(1, 0, 0, 0.5f);
|
ColorRGBA QuitColor(1, 0, 0, 0.5f);
|
||||||
if(DoButton_MenuTab(&s_QuitButton, "\xEE\xA2\xAC", 0, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_QUIT], NULL, NULL, &QuitColor, 10.0f, 0))
|
if(DoButton_MenuTab(&s_QuitButton, "\xEF\x80\x91", 0, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_QUIT], NULL, NULL, &QuitColor, 10.0f, 0))
|
||||||
{
|
{
|
||||||
if(m_pClient->Editor()->HasUnsavedData() || (Client()->GetCurrentRaceTime() / 60 >= g_Config.m_ClConfirmQuitTime && g_Config.m_ClConfirmQuitTime >= 0))
|
if(m_pClient->Editor()->HasUnsavedData() || (Client()->GetCurrentRaceTime() / 60 >= g_Config.m_ClConfirmQuitTime && g_Config.m_ClConfirmQuitTime >= 0))
|
||||||
{
|
{
|
||||||
|
@ -884,13 +884,13 @@ int CMenus::RenderMenubar(CUIRect r)
|
||||||
Box.VSplitRight(33.0f, &Box, &Button);
|
Box.VSplitRight(33.0f, &Box, &Button);
|
||||||
static int s_SettingsButton = 0;
|
static int s_SettingsButton = 0;
|
||||||
|
|
||||||
if(DoButton_MenuTab(&s_SettingsButton, "\xEE\xA2\xB8", m_ActivePage == PAGE_SETTINGS, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_SETTINGS], NULL, NULL, NULL, 10.0f, 0))
|
if(DoButton_MenuTab(&s_SettingsButton, "\xEF\x80\x93", m_ActivePage == PAGE_SETTINGS, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_SETTINGS], NULL, NULL, NULL, 10.0f, 0))
|
||||||
NewPage = PAGE_SETTINGS;
|
NewPage = PAGE_SETTINGS;
|
||||||
|
|
||||||
Box.VSplitRight(10.0f, &Box, &Button);
|
Box.VSplitRight(10.0f, &Box, &Button);
|
||||||
Box.VSplitRight(33.0f, &Box, &Button);
|
Box.VSplitRight(33.0f, &Box, &Button);
|
||||||
static int s_EditorButton = 0;
|
static int s_EditorButton = 0;
|
||||||
if(DoButton_MenuTab(&s_EditorButton, "\xEE\x8F\x89", 0, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_EDITOR], NULL, NULL, NULL, 10.0f, 0))
|
if(DoButton_MenuTab(&s_EditorButton, "\xEF\x81\x84", 0, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_EDITOR], NULL, NULL, NULL, 10.0f, 0))
|
||||||
{
|
{
|
||||||
g_Config.m_ClEditor = 1;
|
g_Config.m_ClEditor = 1;
|
||||||
}
|
}
|
||||||
|
@ -901,14 +901,14 @@ int CMenus::RenderMenubar(CUIRect r)
|
||||||
Box.VSplitRight(33.0f, &Box, &Button);
|
Box.VSplitRight(33.0f, &Box, &Button);
|
||||||
static int s_DemoButton = 0;
|
static int s_DemoButton = 0;
|
||||||
|
|
||||||
if(DoButton_MenuTab(&s_DemoButton, "\xEE\x80\xAC", m_ActivePage == PAGE_DEMOS, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_DEMOBUTTON], NULL, NULL, NULL, 10.0f, 0))
|
if(DoButton_MenuTab(&s_DemoButton, "\xEE\x84\xB1", m_ActivePage == PAGE_DEMOS, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_DEMOBUTTON], NULL, NULL, NULL, 10.0f, 0))
|
||||||
NewPage = PAGE_DEMOS;
|
NewPage = PAGE_DEMOS;
|
||||||
|
|
||||||
Box.VSplitRight(10.0f, &Box, &Button);
|
Box.VSplitRight(10.0f, &Box, &Button);
|
||||||
Box.VSplitRight(33.0f, &Box, &Button);
|
Box.VSplitRight(33.0f, &Box, &Button);
|
||||||
static int s_ServerButton = 0;
|
static int s_ServerButton = 0;
|
||||||
|
|
||||||
if(DoButton_MenuTab(&s_ServerButton, "\xEE\xA0\x8B", m_ActivePage == g_Config.m_UiPage, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_SERVER], NULL, NULL, NULL, 10.0f, 0))
|
if(DoButton_MenuTab(&s_ServerButton, "\xEF\x95\xBD", m_ActivePage == g_Config.m_UiPage, &Button, CUI::CORNER_T, &m_aAnimatorsSmallPage[SMALL_TAB_SERVER], NULL, NULL, NULL, 10.0f, 0))
|
||||||
NewPage = g_Config.m_UiPage;
|
NewPage = g_Config.m_UiPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -224,6 +224,21 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
|
||||||
for(int i = 0; i < m_lFriends.size(); m_lFriends[i++].m_NumFound = 0)
|
for(int i = 0; i < m_lFriends.size(); m_lFriends[i++].m_NumFound = 0)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
auto RenderBrowserIcons = [this](CUIElement::SUIElementRect &UIRect, CUIRect *pRect, const ColorRGBA &TextColor, const ColorRGBA &TextOutlineColor, const char *pText, ETextAlignment TextAlign, bool SmallFont = false) {
|
||||||
|
float FontSize = 14.0f * UI()->Scale();
|
||||||
|
if(SmallFont)
|
||||||
|
FontSize = 6.0f * UI()->Scale();
|
||||||
|
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
||||||
|
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
||||||
|
TextRender()->TextColor(TextColor);
|
||||||
|
TextRender()->TextOutlineColor(TextOutlineColor);
|
||||||
|
UI()->DoLabelStreamed(UIRect, pRect, pText, FontSize, TextAlign, -1, 0);
|
||||||
|
TextRender()->TextOutlineColor(TextRender()->DefaultTextOutlineColor());
|
||||||
|
TextRender()->TextColor(TextRender()->DefaultTextColor());
|
||||||
|
TextRender()->SetRenderFlags(0);
|
||||||
|
TextRender()->SetCurFont(nullptr);
|
||||||
|
};
|
||||||
|
|
||||||
for(int i = 0; i < NumServers; i++)
|
for(int i = 0; i < NumServers; i++)
|
||||||
{
|
{
|
||||||
int ItemIndex = i;
|
int ItemIndex = i;
|
||||||
|
@ -328,17 +343,24 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
|
||||||
if(ID == COL_FLAG_LOCK)
|
if(ID == COL_FLAG_LOCK)
|
||||||
{
|
{
|
||||||
if(pItem->m_Flags & SERVER_FLAG_PASSWORD)
|
if(pItem->m_Flags & SERVER_FLAG_PASSWORD)
|
||||||
DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_LOCK, &Button);
|
{
|
||||||
|
RenderBrowserIcons(*pItem->m_pUIElement->Get(g_OffsetColFlagLock + 0), &Button, {0.75f, 0.75f, 0.75f, 1}, TextRender()->DefaultTextOutlineColor(), "\xEF\x80\xA3", TEXTALIGN_CENTER);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(ID == COL_FLAG_FAV)
|
else if(ID == COL_FLAG_FAV)
|
||||||
{
|
{
|
||||||
if(pItem->m_Favorite)
|
if(pItem->m_Favorite)
|
||||||
DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_HEART, &Button);
|
{
|
||||||
|
RenderBrowserIcons(*pItem->m_pUIElement->Get(g_OffsetColFav + 0), &Button, {0.94f, 0.4f, 0.4f, 1}, TextRender()->DefaultTextOutlineColor(), "\xEF\x80\x84", TEXTALIGN_CENTER);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(ID == COL_FLAG_OFFICIAL)
|
else if(ID == COL_FLAG_OFFICIAL)
|
||||||
{
|
{
|
||||||
if(pItem->m_Official && g_Config.m_UiPage != PAGE_DDNET && g_Config.m_UiPage != PAGE_KOG)
|
if(pItem->m_Official && g_Config.m_UiPage != PAGE_DDNET && g_Config.m_UiPage != PAGE_KOG)
|
||||||
DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_DDNET, &Button);
|
{
|
||||||
|
RenderBrowserIcons(*pItem->m_pUIElement->Get(g_OffsetColOff + 0), &Button, {0.4f, 0.7f, 0.94f, 1}, {0.0f, 0.0f, 0.0f, 1.0f}, "\xEF\x82\xA3", TEXTALIGN_CENTER);
|
||||||
|
RenderBrowserIcons(*pItem->m_pUIElement->Get(g_OffsetColOff + 1), &Button, {0.0f, 0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 0.0f, 0.0f}, "\xEF\x80\x8C", TEXTALIGN_CENTER, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(ID == COL_NAME)
|
else if(ID == COL_NAME)
|
||||||
{
|
{
|
||||||
|
@ -372,7 +394,9 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
|
||||||
Icon.Margin(2.0f, &Icon);
|
Icon.Margin(2.0f, &Icon);
|
||||||
|
|
||||||
if(g_Config.m_BrIndicateFinished && pItem->m_HasRank == 1)
|
if(g_Config.m_BrIndicateFinished && pItem->m_HasRank == 1)
|
||||||
DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_RANK, &Icon);
|
{
|
||||||
|
RenderBrowserIcons(*pItem->m_pUIElement->Get(g_OffsetColFlagLock + 1), &Icon, TextRender()->DefaultTextColor(), TextRender()->DefaultTextOutlineColor(), "\xEF\x84\x9E", TEXTALIGN_CENTER);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float FontSize = 12.0f * UI()->Scale();
|
float FontSize = 12.0f * UI()->Scale();
|
||||||
|
@ -403,7 +427,7 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
|
||||||
{
|
{
|
||||||
Button.VSplitLeft(Button.h, &Icon, &Button);
|
Button.VSplitLeft(Button.h, &Icon, &Button);
|
||||||
Icon.Margin(2.0f, &Icon);
|
Icon.Margin(2.0f, &Icon);
|
||||||
DoButton_Icon(IMAGE_BROWSEICONS, SPRITE_BROWSE_HEART, &Icon);
|
RenderBrowserIcons(*pItem->m_pUIElement->Get(g_OffsetColFav + 1), &Icon, {0.94f, 0.4f, 0.4f, 1}, TextRender()->DefaultTextOutlineColor(), "\xEF\x80\x84", TEXTALIGN_LEFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
str_format(aTemp, sizeof(aTemp), "%i/%i", pItem->m_NumFilteredPlayers, ServerBrowser()->Max(*pItem));
|
str_format(aTemp, sizeof(aTemp), "%i/%i", pItem->m_NumFilteredPlayers, ServerBrowser()->Max(*pItem));
|
||||||
|
@ -507,8 +531,8 @@ void CMenus::RenderServerbrowserServerList(CUIRect View)
|
||||||
float SearchIconWidth = 0;
|
float SearchIconWidth = 0;
|
||||||
float ExcludeIconWidth = 0;
|
float ExcludeIconWidth = 0;
|
||||||
float ExcludeSearchIconMax = 0;
|
float ExcludeSearchIconMax = 0;
|
||||||
const char *pSearchLabel = "\xEE\xA2\xB6"; // U+0e8b6
|
const char *pSearchLabel = "\xEF\x80\x82";
|
||||||
const char *pExcludeLabel = "\xEE\x85\x8B"; // U+0e14b
|
const char *pExcludeLabel = "\xEF\x81\x9E";
|
||||||
|
|
||||||
// render quick search
|
// render quick search
|
||||||
{
|
{
|
||||||
|
|
|
@ -670,7 +670,7 @@ void CMenus::RenderServerControl(CUIRect MainView)
|
||||||
{
|
{
|
||||||
Bottom.VSplitLeft(240.0f, &QuickSearch, &Bottom);
|
Bottom.VSplitLeft(240.0f, &QuickSearch, &Bottom);
|
||||||
QuickSearch.HSplitTop(5.0f, 0, &QuickSearch);
|
QuickSearch.HSplitTop(5.0f, 0, &QuickSearch);
|
||||||
const char *pSearchLabel = "\xEE\xA2\xB6";
|
const char *pSearchLabel = "\xEF\x80\x82";
|
||||||
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
||||||
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
||||||
|
|
||||||
|
|
|
@ -726,7 +726,7 @@ void CMenus::RenderSettingsTee(CUIRect MainView)
|
||||||
MainView.HSplitBottom(ms_ButtonHeight, &MainView, &QuickSearch);
|
MainView.HSplitBottom(ms_ButtonHeight, &MainView, &QuickSearch);
|
||||||
QuickSearch.VSplitLeft(240.0f, &QuickSearch, &SkinDB);
|
QuickSearch.VSplitLeft(240.0f, &QuickSearch, &SkinDB);
|
||||||
QuickSearch.HSplitTop(5.0f, 0, &QuickSearch);
|
QuickSearch.HSplitTop(5.0f, 0, &QuickSearch);
|
||||||
const char *pSearchLabel = "\xEE\xA2\xB6";
|
const char *pSearchLabel = "\xEF\x80\x82";
|
||||||
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
||||||
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
||||||
|
|
||||||
|
@ -783,7 +783,7 @@ void CMenus::RenderSettingsTee(CUIRect MainView)
|
||||||
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
||||||
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
||||||
static int s_SkinRefreshButtonID = 0;
|
static int s_SkinRefreshButtonID = 0;
|
||||||
if(DoButton_Menu(&s_SkinRefreshButtonID, "\xEE\x97\x95", 0, &RefreshButton, NULL, 15, 5, 0, vec4(1.0f, 1.0f, 1.0f, 0.75f), vec4(1, 1, 1, 0.5f), 0))
|
if(DoButton_Menu(&s_SkinRefreshButtonID, "\xEF\x80\x9E", 0, &RefreshButton, NULL, 15, 5, 0, vec4(1.0f, 1.0f, 1.0f, 0.75f), vec4(1, 1, 1, 0.5f), 0))
|
||||||
{
|
{
|
||||||
m_pClient->m_Skins.Refresh();
|
m_pClient->m_Skins.Refresh();
|
||||||
s_InitSkinlist = true;
|
s_InitSkinlist = true;
|
||||||
|
|
|
@ -509,7 +509,7 @@ void CMenus::RenderSettingsCustom(CUIRect MainView)
|
||||||
MainView.HSplitBottom(ms_ButtonHeight, &MainView, &QuickSearch);
|
MainView.HSplitBottom(ms_ButtonHeight, &MainView, &QuickSearch);
|
||||||
QuickSearch.VSplitLeft(240.0f, &QuickSearch, &DirectoryButton);
|
QuickSearch.VSplitLeft(240.0f, &QuickSearch, &DirectoryButton);
|
||||||
QuickSearch.HSplitTop(5.0f, 0, &QuickSearch);
|
QuickSearch.HSplitTop(5.0f, 0, &QuickSearch);
|
||||||
const char *pSearchLabel = "\xEE\xA2\xB6";
|
const char *pSearchLabel = "\xEF\x80\x82";
|
||||||
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
||||||
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
||||||
|
|
||||||
|
@ -564,7 +564,7 @@ void CMenus::RenderSettingsCustom(CUIRect MainView)
|
||||||
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
TextRender()->SetCurFont(TextRender()->GetFont(TEXT_FONT_ICON_FONT));
|
||||||
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_ONLY_ADVANCE_WIDTH | ETextRenderFlags::TEXT_RENDER_FLAG_NO_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_Y_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT | ETextRenderFlags::TEXT_RENDER_FLAG_NO_OVERSIZE);
|
||||||
static int s_AssetsReloadBtnID = 0;
|
static int s_AssetsReloadBtnID = 0;
|
||||||
if(DoButton_Menu(&s_AssetsReloadBtnID, "\xEE\x97\x95", 0, &ReloadButton, NULL, 15, 5, 0, vec4(1.0f, 1.0f, 1.0f, 0.75f), vec4(1, 1, 1, 0.5f), 0))
|
if(DoButton_Menu(&s_AssetsReloadBtnID, "\xEF\x80\x9E", 0, &ReloadButton, NULL, 15, 5, 0, vec4(1.0f, 1.0f, 1.0f, 0.75f), vec4(1, 1, 1, 0.5f), 0))
|
||||||
{
|
{
|
||||||
ClearCustomItems(s_CurCustomTab);
|
ClearCustomItems(s_CurCustomTab);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue