Skip to content

Commit ea8384d

Browse files
authored
update(menus): More customization
Improve menu configuration
2 parents 1621980 + 3c22d86 commit ea8384d

File tree

4 files changed

+36
-11
lines changed

4 files changed

+36
-11
lines changed

plugin_files/configs/core.json

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,20 @@
1616
"CS2ServerGuidelines": "https://blog.counter-strike.net/index.php/server_guidelines/",
1717
"FollowCS2ServerGuidelines": true,
1818
"menu": {
19+
"navigation_prefix" : "",
1920
"sound": {
20-
"name": "UI.ContractType",
21-
"volume": 0.75
21+
"use": {
22+
"name": "Vote.Cast.Yes",
23+
"volume": 0.75
24+
},
25+
"scroll": {
26+
"name": "UI.ContractType",
27+
"volume": 0.75
28+
},
29+
"exit": {
30+
"name": "Vote.Failed",
31+
"volume": 0.75
32+
}
2233
},
2334
"buttons": {
2435
"use": "e",

src/configuration/Configuration.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,8 +453,16 @@ bool Configuration::LoadConfiguration()
453453

454454
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "language", "en");
455455

456-
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.name", "UI.ContractType");
457-
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.volume", 0.75);
456+
RegisterConfiguration(wasEdited,coreConfigFile, "core", "core", "menu.navigation_prefix", "");
457+
458+
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.use.name", "Vote.Cast.Yes");
459+
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.use.volume", 0.75);
460+
461+
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.scroll.name", "UI.ContractType");
462+
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.scroll.volume", 0.75);
463+
464+
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.exit.name", "Vote.Failed");
465+
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.sound.exit.volume", 0.75);
458466

459467
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.buttons.use", "e");
460468
RegisterConfiguration(wasEdited, coreConfigFile, "core", "core", "menu.buttons.scroll", "shift");

src/menus/Menu.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,7 @@ void Menu::RegeneratePage(int playerid, int page, int selected)
105105

106106
std::string stringPage = string_format("<div><font color=\"#%s\">&nbsp;&nbsp;&nbsp;%s</font></div><br/>", this->color.c_str(), this->title.c_str());
107107
for (int i = 0; i < processedOptions[page - 1].size(); i++)
108-
stringPage += string_format("<div><font color=\"#%s\">%s%s</font></div><br/>", (i == selected ? this->color.c_str() : "ffffff"), (i == selected ? "➤&nbsp;" : "&nbsp;&nbsp;&nbsp;&nbsp;"), processedOptions[page - 1][i].first.c_str());
109-
108+
stringPage += string_format("<div><font color=\"#%s\">%s%s</font></div><br/>", (i == selected ? this->color.c_str() : "ffffff"), (i == selected ? (g_Config->FetchValue<std::string>("core.menu.navigation_prefix") + "&nbsp;").c_str() : "&nbsp;&nbsp;&nbsp;&nbsp;"), processedOptions[page - 1][i].first.c_str());
110109
std::string footer = replace(g_translations->FetchTranslation(g_Config->FetchValue<bool>("core.menu.buttons.exit.option") ? "core.menu.footer" : "core.menu.footer.nooption"), "{PAGE}", std::to_string(page));
111110
footer = replace(footer, "{MAXPAGES}", std::to_string(processedOptions.size()));
112111
footer = replace(footer, "{CYCLE_BUTTON}", str_toupper(g_Config->FetchValue<std::string>("core.menu.buttons.scroll")));

src/player/Player.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -479,23 +479,26 @@ void Player::PerformMenuAction(std::string button)
479479
CCSPlayerController* controller = this->GetPlayerController();
480480
CSingleRecipientFilter filter(this->GetSlot().Get());
481481
if (controller)
482-
controller->EmitSoundFilter(filter, g_Config->FetchValue<std::string>("core.menu.sound.name"), 1.0, g_Config->FetchValue<double>("core.menu.sound.volume"));
482+
controller->EmitSoundFilter(filter, g_Config->FetchValue<std::string>("core.menu.sound.scroll.name"), 1.0, g_Config->FetchValue<double>("core.menu.sound.scroll.volume"));
483483

484484
this->MoveSelection();
485485
this->RenderMenu();
486486
}
487487
else if (!g_Config->FetchValue<bool>("core.menu.buttons.exit.option") && button == g_Config->FetchValue<std::string>("core.menu.buttons.exit.button"))
488488
{
489+
CCSPlayerController* controller = this->GetPlayerController();
490+
CSingleRecipientFilter filter(this->GetSlot().Get());
491+
if (controller)
492+
controller->EmitSoundFilter(filter, g_Config->FetchValue<std::string>("core.menu.sound.exit.name"), 1.0, g_Config->FetchValue<double>("core.menu.sound.exit.volume"));
489493
this->HideMenu();
490494
}
491495
else if (button == g_Config->FetchValue<std::string>("core.menu.buttons.use"))
492496
{
497+
std::string cmd = this->GetMenu()->GetCommandFromOption(this->GetPage(), this->GetSelection());
493498
CCSPlayerController* controller = this->GetPlayerController();
494499
CSingleRecipientFilter filter(this->GetSlot().Get());
495-
if (controller)
496-
controller->EmitSoundFilter(filter, g_Config->FetchValue<std::string>("core.menu.sound.name"), 1.0, g_Config->FetchValue<double>("core.menu.sound.volume"));
497-
498-
std::string cmd = this->GetMenu()->GetCommandFromOption(this->GetPage(), this->GetSelection());
500+
if (controller && cmd != "menuexit")
501+
controller->EmitSoundFilter(filter, g_Config->FetchValue<std::string>("core.menu.sound.use.name"), 1.0, g_Config->FetchValue<double>("core.menu.sound.use.volume"));
499502
if (cmd == "menunext")
500503
{
501504
this->SetPage(this->GetPage() + 1);
@@ -508,6 +511,10 @@ void Player::PerformMenuAction(std::string button)
508511
}
509512
else if (g_Config->FetchValue<bool>("core.menu.buttons.exit.option") && cmd == "menuexit")
510513
{
514+
CCSPlayerController* controller = this->GetPlayerController();
515+
CSingleRecipientFilter filter(this->GetSlot().Get());
516+
if (controller)
517+
controller->EmitSoundFilter(filter, g_Config->FetchValue<std::string>("core.menu.sound.exit.name"), 1.0, g_Config->FetchValue<double>("core.menu.sound.exit.volume"));
511518
this->HideMenu();
512519
}
513520
else if (g_MenuManager->FetchMenu(cmd))

0 commit comments

Comments
 (0)