mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 10:08:18 +00:00
Use DoScrollbarOption
instead of DoScrollbarH
for settings
Reduce duplicate code for handling label format, value scaling and special infinity value. The current value is now shown for all settings. Previously it was not shown for some settings, e.g. the sound volumes. The infinity-value is now all the way on the right side of the settings scrollbars, which makes more sense, as the values get larger when going to the right. This is also more convenient, as previously it was necessary to pass the lowest value before going to infinity, which would e.g. temporarily lag the client when selecting a low refresh rate. Use logarithmic scrollbar for sounds volumes. Hide scrollbar options that are disabled by checkboxes consistently. Previously this was only done for some checkboxes.
This commit is contained in:
parent
e0bdad8e4c
commit
4c9230999c
|
@ -155,45 +155,29 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView)
|
|||
|
||||
// auto demo settings
|
||||
{
|
||||
Right.HSplitTop(40.0f, 0, &Right);
|
||||
Right.HSplitTop(40.0f, nullptr, &Right);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
if(DoButton_CheckBox(&g_Config.m_ClAutoDemoRecord, Localize("Automatically record demos"), g_Config.m_ClAutoDemoRecord, &Button))
|
||||
g_Config.m_ClAutoDemoRecord ^= 1;
|
||||
|
||||
Right.HSplitTop(20.0f, &Label, &Right);
|
||||
if(g_Config.m_ClAutoDemoMax)
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Max demos"), g_Config.m_ClAutoDemoMax);
|
||||
else
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Max demos"), "∞");
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
g_Config.m_ClAutoDemoMax = static_cast<int>(UI()->DoScrollbarH(&g_Config.m_ClAutoDemoMax, &Button, g_Config.m_ClAutoDemoMax / 1000.0f) * 1000.0f + 0.1f);
|
||||
Right.HSplitTop(2 * 20.0f, &Button, &Right);
|
||||
if(g_Config.m_ClAutoDemoRecord)
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClAutoDemoMax, &g_Config.m_ClAutoDemoMax, &Button, Localize("Max demos"), 1, 1000, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_INFINITE | CUI::SCROLLBAR_OPTION_MULTILINE);
|
||||
|
||||
Right.HSplitTop(SliderGroupMargin, 0, &Right);
|
||||
Right.HSplitTop(SliderGroupMargin, nullptr, &Right);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
if(DoButton_CheckBox(&g_Config.m_ClAutoScreenshot, Localize("Automatically take game over screenshot"), g_Config.m_ClAutoScreenshot, &Button))
|
||||
g_Config.m_ClAutoScreenshot ^= 1;
|
||||
|
||||
Right.HSplitTop(20.0f, &Label, &Right);
|
||||
if(g_Config.m_ClAutoScreenshotMax)
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Max Screenshots"), g_Config.m_ClAutoScreenshotMax);
|
||||
else
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Max Screenshots"), "∞");
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
g_Config.m_ClAutoScreenshotMax = static_cast<int>(UI()->DoScrollbarH(&g_Config.m_ClAutoScreenshotMax, &Button, g_Config.m_ClAutoScreenshotMax / 1000.0f) * 1000.0f + 0.1f);
|
||||
Right.HSplitTop(2 * 20.0f, &Button, &Right);
|
||||
if(g_Config.m_ClAutoScreenshot)
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClAutoScreenshotMax, &g_Config.m_ClAutoScreenshotMax, &Button, Localize("Max Screenshots"), 1, 1000, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_INFINITE | CUI::SCROLLBAR_OPTION_MULTILINE);
|
||||
}
|
||||
|
||||
Left.HSplitTop(10.0f, 0, &Left);
|
||||
Left.HSplitTop(20.0f, &Label, &Left);
|
||||
if(g_Config.m_ClRefreshRate)
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i Hz", Localize("Refresh Rate"), g_Config.m_ClRefreshRate);
|
||||
else
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Refresh Rate"), "∞");
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
Left.HSplitTop(10.0f, nullptr, &Left);
|
||||
Left.HSplitTop(20.0f, &Button, &Left);
|
||||
g_Config.m_ClRefreshRate = static_cast<int>(UI()->DoScrollbarH(&g_Config.m_ClRefreshRate, &Button, g_Config.m_ClRefreshRate / 10000.0f) * 10000.0f + 0.1f);
|
||||
Left.HSplitTop(5.0f, 0, &Left);
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClRefreshRate, &g_Config.m_ClRefreshRate, &Button, Localize("Refresh Rate"), 10, 10000, &CUI::ms_LogarithmicScrollbarScale, CUI::SCROLLBAR_OPTION_INFINITE, " Hz");
|
||||
Left.HSplitTop(5.0f, nullptr, &Left);
|
||||
Left.HSplitTop(20.0f, &Button, &Left);
|
||||
int s_LowerRefreshRate;
|
||||
if(DoButton_CheckBox(&s_LowerRefreshRate, Localize("Save power by lowering refresh rate (higher input latency)"), g_Config.m_ClRefreshRate <= 480 && g_Config.m_ClRefreshRate != 0, &Button))
|
||||
|
@ -250,54 +234,30 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView)
|
|||
|
||||
// auto statboard screenshot
|
||||
{
|
||||
Right.HSplitTop(SliderGroupMargin, 0, &Right);
|
||||
Right.HSplitTop(SliderGroupMargin, nullptr, &Right);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
if(DoButton_CheckBox(&g_Config.m_ClAutoStatboardScreenshot,
|
||||
Localize("Automatically take statboard screenshot"),
|
||||
g_Config.m_ClAutoStatboardScreenshot, &Button))
|
||||
if(DoButton_CheckBox(&g_Config.m_ClAutoStatboardScreenshot, Localize("Automatically take statboard screenshot"), g_Config.m_ClAutoStatboardScreenshot, &Button))
|
||||
{
|
||||
g_Config.m_ClAutoStatboardScreenshot ^= 1;
|
||||
}
|
||||
|
||||
Right.HSplitTop(20.0f, &Label, &Right);
|
||||
if(g_Config.m_ClAutoStatboardScreenshotMax)
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Max Screenshots"), g_Config.m_ClAutoStatboardScreenshotMax);
|
||||
else
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Max Screenshots"), "∞");
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
g_Config.m_ClAutoStatboardScreenshotMax =
|
||||
static_cast<int>(UI()->DoScrollbarH(&g_Config.m_ClAutoStatboardScreenshotMax,
|
||||
&Button,
|
||||
g_Config.m_ClAutoStatboardScreenshotMax / 1000.0f) *
|
||||
1000.0f +
|
||||
0.1f);
|
||||
Right.HSplitTop(2 * 20.0f, &Button, &Right);
|
||||
if(g_Config.m_ClAutoStatboardScreenshot)
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClAutoStatboardScreenshotMax, &g_Config.m_ClAutoStatboardScreenshotMax, &Button, Localize("Max Screenshots"), 1, 1000, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_INFINITE | CUI::SCROLLBAR_OPTION_MULTILINE);
|
||||
}
|
||||
|
||||
// auto statboard csv
|
||||
{
|
||||
Right.HSplitTop(SliderGroupMargin, 0, &Right); //
|
||||
Right.HSplitTop(SliderGroupMargin, nullptr, &Right);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
if(DoButton_CheckBox(&g_Config.m_ClAutoCSV,
|
||||
Localize("Automatically create statboard csv"),
|
||||
g_Config.m_ClAutoCSV, &Button))
|
||||
if(DoButton_CheckBox(&g_Config.m_ClAutoCSV, Localize("Automatically create statboard csv"), g_Config.m_ClAutoCSV, &Button))
|
||||
{
|
||||
g_Config.m_ClAutoCSV ^= 1;
|
||||
}
|
||||
|
||||
Right.HSplitTop(20.0f, &Label, &Right);
|
||||
if(g_Config.m_ClAutoCSVMax)
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Max CSVs"), g_Config.m_ClAutoCSVMax);
|
||||
else
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Max CSVs"), "∞");
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
g_Config.m_ClAutoCSVMax =
|
||||
static_cast<int>(UI()->DoScrollbarH(&g_Config.m_ClAutoCSVMax,
|
||||
&Button,
|
||||
g_Config.m_ClAutoCSVMax / 1000.0f) *
|
||||
1000.0f +
|
||||
0.1f);
|
||||
Right.HSplitTop(2 * 20.0f, &Button, &Right);
|
||||
if(g_Config.m_ClAutoCSV)
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClAutoCSVMax, &g_Config.m_ClAutoCSVMax, &Button, Localize("Max CSVs"), 1, 1000, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_INFINITE | CUI::SCROLLBAR_OPTION_MULTILINE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1536,7 +1496,7 @@ int CMenus::RenderDropDown(int &CurDropDownState, CUIRect *pRect, int CurSelecti
|
|||
|
||||
void CMenus::RenderSettingsGraphics(CUIRect MainView)
|
||||
{
|
||||
CUIRect Button, Label;
|
||||
CUIRect Button;
|
||||
char aBuf[128];
|
||||
bool CheckSettings = false;
|
||||
|
||||
|
@ -1727,16 +1687,8 @@ void CMenus::RenderSettingsGraphics(CUIRect MainView)
|
|||
g_Config.m_GfxHighdpi ^= 1;
|
||||
}
|
||||
|
||||
MainView.HSplitTop(20.0f, &Label, &MainView);
|
||||
Label.VSplitLeft(160.0f, &Label, &Button);
|
||||
if(g_Config.m_GfxRefreshRate)
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i Hz", Localize("Refresh Rate"), g_Config.m_GfxRefreshRate);
|
||||
else
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %s", Localize("Refresh Rate"), "∞");
|
||||
UI()->DoLabel(&Label, aBuf, 14.0f, TEXTALIGN_ML);
|
||||
int NewRefreshRate = static_cast<int>(UI()->DoScrollbarH(&g_Config.m_GfxRefreshRate, &Button, (minimum(g_Config.m_GfxRefreshRate, 1000)) / 1000.0f) * 1000.0f + 0.1f);
|
||||
if(g_Config.m_GfxRefreshRate <= 1000 || NewRefreshRate < 1000)
|
||||
g_Config.m_GfxRefreshRate = NewRefreshRate;
|
||||
MainView.HSplitTop(20.0f, &Button, &MainView);
|
||||
UI()->DoScrollbarOption(&g_Config.m_GfxRefreshRate, &g_Config.m_GfxRefreshRate, &Button, Localize("Refresh Rate"), 10, 1000, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_INFINITE | CUI::SCROLLBAR_OPTION_NOCLAMPVALUE, " Hz");
|
||||
|
||||
MainView.HSplitTop(2.0f, nullptr, &MainView);
|
||||
static CButtonContainer s_UiColorResetId;
|
||||
|
@ -1953,9 +1905,9 @@ void CMenus::RenderSettingsGraphics(CUIRect MainView)
|
|||
|
||||
void CMenus::RenderSettingsSound(CUIRect MainView)
|
||||
{
|
||||
CUIRect Button, Label;
|
||||
static int s_SndEnable = g_Config.m_SndEnable;
|
||||
|
||||
CUIRect Button;
|
||||
MainView.HSplitTop(20.0f, &Button, &MainView);
|
||||
if(DoButton_CheckBox(&g_Config.m_SndEnable, Localize("Use sounds"), g_Config.m_SndEnable, &Button))
|
||||
{
|
||||
|
@ -2010,45 +1962,35 @@ void CMenus::RenderSettingsSound(CUIRect MainView)
|
|||
{
|
||||
MainView.HSplitTop(5.0f, nullptr, &MainView);
|
||||
MainView.HSplitTop(20.0f, &Button, &MainView);
|
||||
Button.VSplitLeft(190.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Sound volume"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_SndVolume = (int)(UI()->DoScrollbarH(&g_Config.m_SndVolume, &Button, g_Config.m_SndVolume / 100.0f) * 100.0f);
|
||||
UI()->DoScrollbarOption(&g_Config.m_SndVolume, &g_Config.m_SndVolume, &Button, Localize("Sound volume"), 0, 100, &CUI::ms_LogarithmicScrollbarScale, 0u, "%");
|
||||
}
|
||||
|
||||
// volume slider game sounds
|
||||
{
|
||||
MainView.HSplitTop(5.0f, nullptr, &MainView);
|
||||
MainView.HSplitTop(20.0f, &Button, &MainView);
|
||||
Button.VSplitLeft(190.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Game sound volume"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_SndGameSoundVolume = (int)(UI()->DoScrollbarH(&g_Config.m_SndGameSoundVolume, &Button, g_Config.m_SndGameSoundVolume / 100.0f) * 100.0f);
|
||||
UI()->DoScrollbarOption(&g_Config.m_SndGameSoundVolume, &g_Config.m_SndGameSoundVolume, &Button, Localize("Game sound volume"), 0, 100, &CUI::ms_LogarithmicScrollbarScale, 0u, "%");
|
||||
}
|
||||
|
||||
// volume slider gui sounds
|
||||
{
|
||||
MainView.HSplitTop(5.0f, nullptr, &MainView);
|
||||
MainView.HSplitTop(20.0f, &Button, &MainView);
|
||||
Button.VSplitLeft(190.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Chat sound volume"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_SndChatSoundVolume = (int)(UI()->DoScrollbarH(&g_Config.m_SndChatSoundVolume, &Button, g_Config.m_SndChatSoundVolume / 100.0f) * 100.0f);
|
||||
UI()->DoScrollbarOption(&g_Config.m_SndChatSoundVolume, &g_Config.m_SndChatSoundVolume, &Button, Localize("Chat sound volume"), 0, 100, &CUI::ms_LogarithmicScrollbarScale, 0u, "%");
|
||||
}
|
||||
|
||||
// volume slider map sounds
|
||||
{
|
||||
MainView.HSplitTop(5.0f, nullptr, &MainView);
|
||||
MainView.HSplitTop(20.0f, &Button, &MainView);
|
||||
Button.VSplitLeft(190.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Map sound volume"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_SndMapSoundVolume = (int)(UI()->DoScrollbarH(&g_Config.m_SndMapSoundVolume, &Button, g_Config.m_SndMapSoundVolume / 100.0f) * 100.0f);
|
||||
UI()->DoScrollbarOption(&g_Config.m_SndMapSoundVolume, &g_Config.m_SndMapSoundVolume, &Button, Localize("Map sound volume"), 0, 100, &CUI::ms_LogarithmicScrollbarScale, 0u, "%");
|
||||
}
|
||||
|
||||
// volume slider background music
|
||||
{
|
||||
MainView.HSplitTop(5.0f, nullptr, &MainView);
|
||||
MainView.HSplitTop(20.0f, &Button, &MainView);
|
||||
Button.VSplitLeft(190.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Background music volume"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_SndBackgroundMusicVolume = (int)(UI()->DoScrollbarH(&g_Config.m_SndBackgroundMusicVolume, &Button, g_Config.m_SndBackgroundMusicVolume / 100.0f) * 100.0f);
|
||||
UI()->DoScrollbarOption(&g_Config.m_SndBackgroundMusicVolume, &g_Config.m_SndBackgroundMusicVolume, &Button, Localize("Background music volume"), 0, 100, &CUI::ms_LogarithmicScrollbarScale, 0u, "%");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2666,17 +2608,10 @@ void CMenus::RenderSettingsAppearance(CUIRect MainView)
|
|||
|
||||
DoButton_CheckBoxAutoVMarginAndSet(&g_Config.m_ClShowFreezeBars, Localize("Show freeze bars"), &g_Config.m_ClShowFreezeBars, &Section, LineSize);
|
||||
{
|
||||
Section.HSplitTop(2 * LineSize, &Button, &Section);
|
||||
if(g_Config.m_ClShowFreezeBars)
|
||||
{
|
||||
Section.HSplitTop(LineSize, &Label, &Section);
|
||||
Section.HSplitTop(LineSize, &Button, &Section);
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i%%", Localize("Opacity of freeze bars inside freeze"), g_Config.m_ClFreezeBarsAlphaInsideFreeze);
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClFreezeBarsAlphaInsideFreeze = (int)(UI()->DoScrollbarH(&g_Config.m_ClFreezeBarsAlphaInsideFreeze, &Button, g_Config.m_ClFreezeBarsAlphaInsideFreeze / 100.0f) * 100.0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
Section.HSplitTop(2 * LineSize, 0x0, &Section); // Create empty space for hidden option
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClFreezeBarsAlphaInsideFreeze, &g_Config.m_ClFreezeBarsAlphaInsideFreeze, &Button, Localize("Opacity of freeze bars inside freeze"), 0, 100, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_MULTILINE, "%");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2910,27 +2845,14 @@ void CMenus::RenderSettingsAppearance(CUIRect MainView)
|
|||
// General chat settings
|
||||
LeftView.HSplitTop(SectionTotalMargin + 9 * LineSize, &Section, &LeftView);
|
||||
Section.Margin(SectionMargin, &Section);
|
||||
|
||||
{
|
||||
Section.HSplitTop(LineSize, &Label, &Section);
|
||||
Section.HSplitTop(LineSize, &Button, &Section);
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Name plates size"), g_Config.m_ClNameplatesSize);
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClNameplatesSize = (int)(UI()->DoScrollbarH(&g_Config.m_ClNameplatesSize, &Button, g_Config.m_ClNameplatesSize / 100.0f) * 100.0f + 0.1f);
|
||||
}
|
||||
Section.HSplitTop(2 * LineSize, &Button, &Section);
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClNameplatesSize, &g_Config.m_ClNameplatesSize, &Button, Localize("Name plates size"), 0, 100, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_MULTILINE);
|
||||
|
||||
DoButton_CheckBoxAutoVMarginAndSet(&g_Config.m_ClNameplatesClan, Localize("Show clan above name plates"), &g_Config.m_ClNameplatesClan, &Section, LineSize);
|
||||
Section.HSplitTop(2 * LineSize, &Button, &Section);
|
||||
if(g_Config.m_ClNameplatesClan)
|
||||
{
|
||||
Section.HSplitTop(LineSize, &Label, &Section);
|
||||
Section.HSplitTop(LineSize, &Button, &Section);
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Clan plates size"), g_Config.m_ClNameplatesClanSize);
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClNameplatesClanSize = (int)(UI()->DoScrollbarH(&g_Config.m_ClNameplatesClanSize, &Button, g_Config.m_ClNameplatesClanSize / 100.0f) * 100.0f + 0.1f);
|
||||
}
|
||||
else
|
||||
{
|
||||
Section.HSplitTop(2 * LineSize, 0x0, &Section); // Create empty space for hidden option
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClNameplatesClanSize, &g_Config.m_ClNameplatesClanSize, &Button, Localize("Clan plates size"), 0, 100, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_MULTILINE);
|
||||
}
|
||||
|
||||
DoButton_CheckBoxAutoVMarginAndSet(&g_Config.m_ClNameplatesTeamcolors, Localize("Use team colors for name plates"), &g_Config.m_ClNameplatesTeamcolors, &Section, LineSize);
|
||||
|
@ -2967,21 +2889,11 @@ void CMenus::RenderSettingsAppearance(CUIRect MainView)
|
|||
g_Config.m_ClShowHookCollOther = g_Config.m_ClShowHookCollOther >= 1 ? 0 : 1;
|
||||
}
|
||||
|
||||
{
|
||||
Section.HSplitTop(LineSize, &Label, &Section);
|
||||
Section.HSplitTop(LineSize, &Button, &Section);
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Hook collision line width"), g_Config.m_ClHookCollSize);
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClHookCollSize = (int)(UI()->DoScrollbarH(&g_Config.m_ClHookCollSize, &Button, g_Config.m_ClHookCollSize / 20.0f) * 20.0f);
|
||||
}
|
||||
Section.HSplitTop(2 * LineSize, &Button, &Section);
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClHookCollSize, &g_Config.m_ClHookCollSize, &Button, Localize("Hook collision line width"), 0, 100, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_MULTILINE);
|
||||
|
||||
{
|
||||
Section.HSplitTop(LineSize, &Label, &Section);
|
||||
Section.HSplitTop(LineSize, &Button, &Section);
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i%%", Localize("Hook collision line opacity"), g_Config.m_ClHookCollAlpha);
|
||||
UI()->DoLabel(&Label, aBuf, 13.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClHookCollAlpha = (int)(UI()->DoScrollbarH(&g_Config.m_ClHookCollAlpha, &Button, g_Config.m_ClHookCollAlpha / 100.0f) * 100.0f);
|
||||
}
|
||||
Section.HSplitTop(2 * LineSize, &Button, &Section);
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClHookCollAlpha, &g_Config.m_ClHookCollAlpha, &Button, Localize("Hook collision line opacity"), 0, 100, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_MULTILINE, "%");
|
||||
|
||||
static CButtonContainer s_HookCollNoCollResetID, s_HookCollHookableCollResetID, s_HookCollTeeCollResetID;
|
||||
static int s_HookCollToolTip;
|
||||
|
@ -3134,14 +3046,8 @@ void CMenus::RenderSettingsDDNet(CUIRect MainView)
|
|||
}
|
||||
|
||||
Left.HSplitTop(20.0f, &Button, &Left);
|
||||
Button.VSplitLeft(140.0f, &Label, &Button);
|
||||
char aBuf[256];
|
||||
str_format(aBuf, sizeof(aBuf), Localize("Default length: %d"), g_Config.m_ClReplayLength);
|
||||
UI()->DoLabel(&Label, aBuf, 14.0f, TEXTALIGN_ML);
|
||||
|
||||
int NewValue = (int)(UI()->DoScrollbarH(&g_Config.m_ClReplayLength, &Button, (minimum(g_Config.m_ClReplayLength, 600) - 10) / 590.0f) * 590.0f) + 10;
|
||||
if(g_Config.m_ClReplayLength < 600 || NewValue < 600)
|
||||
g_Config.m_ClReplayLength = minimum(NewValue, 600);
|
||||
if(g_Config.m_ClReplays)
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClReplayLength, &g_Config.m_ClReplayLength, &Button, Localize("Default length"), 10, 600, &CUI::ms_LinearScrollbarScale, CUI::SCROLLBAR_OPTION_NOCLAMPVALUE);
|
||||
}
|
||||
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
|
@ -3177,37 +3083,28 @@ void CMenus::RenderSettingsDDNet(CUIRect MainView)
|
|||
|
||||
{
|
||||
Left.HSplitTop(20.0f, &Button, &Left);
|
||||
Button.VSplitLeft(120.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Overlay entities"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClOverlayEntities = (int)(UI()->DoScrollbarH(&g_Config.m_ClOverlayEntities, &Button, g_Config.m_ClOverlayEntities / 100.0f) * 100.0f);
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClOverlayEntities, &g_Config.m_ClOverlayEntities, &Button, Localize("Overlay entities"), 0, 100);
|
||||
}
|
||||
|
||||
{
|
||||
Left.HSplitTop(20.0f, &Button, &Left);
|
||||
Button.VSplitMid(&LeftLeft, &Button);
|
||||
|
||||
Button.VSplitLeft(50.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Size"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClTextEntitiesSize = (int)(UI()->DoScrollbarH(&g_Config.m_ClTextEntitiesSize, &Button, g_Config.m_ClTextEntitiesSize / 100.0f) * 100.0f);
|
||||
|
||||
if(DoButton_CheckBox(&g_Config.m_ClTextEntities, Localize("Show text entities"), g_Config.m_ClTextEntities, &LeftLeft))
|
||||
{
|
||||
g_Config.m_ClTextEntities ^= 1;
|
||||
}
|
||||
|
||||
if(g_Config.m_ClTextEntities)
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClTextEntitiesSize, &g_Config.m_ClTextEntitiesSize, &Button, Localize("Size"), 0, 100);
|
||||
}
|
||||
|
||||
{
|
||||
Left.HSplitTop(20.0f, &Button, &Left);
|
||||
Button.VSplitMid(&LeftLeft, &Button);
|
||||
|
||||
Button.VSplitLeft(50.0f, &Label, &Button);
|
||||
UI()->DoLabel(&Label, Localize("Opacity"), 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClShowOthersAlpha = (int)(UI()->DoScrollbarH(&g_Config.m_ClShowOthersAlpha, &Button, g_Config.m_ClShowOthersAlpha / 100.0f) * 100.0f);
|
||||
|
||||
if(DoButton_CheckBox(&g_Config.m_ClShowOthers, Localize("Show others"), g_Config.m_ClShowOthers == SHOW_OTHERS_ON, &LeftLeft))
|
||||
{
|
||||
g_Config.m_ClShowOthers = g_Config.m_ClShowOthers != SHOW_OTHERS_ON ? SHOW_OTHERS_ON : SHOW_OTHERS_OFF;
|
||||
}
|
||||
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClShowOthersAlpha, &g_Config.m_ClShowOthersAlpha, &Button, Localize("Opacity"), 0, 100);
|
||||
|
||||
GameClient()->m_Tooltips.DoToolTip(&g_Config.m_ClShowOthersAlpha, &Button, Localize("Adjust the opacity of entities belonging to other teams, such as tees and nameplates"));
|
||||
}
|
||||
|
@ -3226,12 +3123,8 @@ void CMenus::RenderSettingsDDNet(CUIRect MainView)
|
|||
}
|
||||
GameClient()->m_Tooltips.DoToolTip(&g_Config.m_ClShowQuads, &Button, Localize("Quads are used for background decoration"));
|
||||
|
||||
Right.HSplitTop(20.0f, &Label, &Right);
|
||||
Label.VSplitLeft(130.0f, &Label, &Button);
|
||||
char aBuf[256];
|
||||
str_format(aBuf, sizeof(aBuf), "%s: %i", Localize("Default zoom"), g_Config.m_ClDefaultZoom);
|
||||
UI()->DoLabel(&Label, aBuf, 14.0f, TEXTALIGN_ML);
|
||||
g_Config.m_ClDefaultZoom = static_cast<int>(UI()->DoScrollbarH(&g_Config.m_ClDefaultZoom, &Button, g_Config.m_ClDefaultZoom / 20.0f) * 20.0f + 0.1f);
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
UI()->DoScrollbarOption(&g_Config.m_ClDefaultZoom, &g_Config.m_ClDefaultZoom, &Button, Localize("Default zoom"), 0, 20);
|
||||
|
||||
Right.HSplitTop(20.0f, &Button, &Right);
|
||||
if(DoButton_CheckBox(&g_Config.m_ClAntiPing, Localize("AntiPing"), g_Config.m_ClAntiPing, &Button))
|
||||
|
@ -3351,6 +3244,7 @@ void CMenus::RenderSettingsDDNet(CUIRect MainView)
|
|||
int State = Updater()->GetCurrentState();
|
||||
|
||||
// Update Button
|
||||
char aBuf[256];
|
||||
if(NeedUpdate && State <= IUpdater::CLEAN)
|
||||
{
|
||||
str_format(aBuf, sizeof(aBuf), Localize("DDNet %s is available:"), Client()->LatestVersion());
|
||||
|
|
Loading…
Reference in a new issue