mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-14 17:01:21 +00:00
9cac290629
- Fixed all errors that occured due to using c++ compiler - changed c++ standart to c++17 - removed lua, added library instead - made all bg_* and q_* file into a shared item project
466 lines
14 KiB
C++
466 lines
14 KiB
C++
// Copyright (C) 1999-2000 Id Software, Inc.
|
|
//
|
|
#include "ui_local.h"
|
|
#include "ui_logger.h"
|
|
|
|
|
|
extern int32_t rate_items[];
|
|
|
|
// action identifiers
|
|
enum ui_soundIDs_e {
|
|
ID_EFFECTSVOLUME = 14,
|
|
ID_MUSICVOLUME,
|
|
ID_QUALITY,
|
|
ID_A3D,
|
|
ID_RATE
|
|
};
|
|
|
|
static int32_t s_sndquality_Names[] =
|
|
{
|
|
MNT_LOW,
|
|
MNT_HIGH,
|
|
MNT_NONE
|
|
};
|
|
|
|
|
|
extern int32_t s_OffOnNone_Names[];
|
|
|
|
/*
|
|
=======================================================================
|
|
|
|
SOUND OPTIONS MENU
|
|
|
|
=======================================================================
|
|
*/
|
|
|
|
typedef struct
|
|
{
|
|
menuframework_s menu;
|
|
|
|
qhandle_t corner;
|
|
qhandle_t grid;
|
|
qhandle_t wave1;
|
|
qhandle_t wave2;
|
|
|
|
menulist_s rate;
|
|
menuslider_s sfxvolume;
|
|
menuslider_s musicvolume;
|
|
menulist_s quality;
|
|
menulist_s a3d;
|
|
|
|
menubitmap_s back;
|
|
int32_t holdSoundQuality;
|
|
int32_t a3dtimer;
|
|
} soundOptionsInfo_t;
|
|
|
|
static soundOptionsInfo_t soundOptionsInfo;
|
|
|
|
static void SoundQualityAction(qboolean result)
|
|
{
|
|
UI_LogFuncBegin();
|
|
if (result)
|
|
{
|
|
soundOptionsInfo.holdSoundQuality = soundOptionsInfo.quality.curvalue;
|
|
if (soundOptionsInfo.quality.curvalue)
|
|
{
|
|
trap_Cvar_SetValue("s_khz", 22);
|
|
// trap_Cvar_SetValue( "s_compression", 0 );
|
|
}
|
|
else
|
|
{
|
|
trap_Cvar_SetValue("s_khz", 11);
|
|
// trap_Cvar_SetValue( "s_compression", 1 );
|
|
}
|
|
//UI_ForceMenuOff();
|
|
trap_Cmd_ExecuteText(EXEC_APPEND, "snd_restart\n");
|
|
}
|
|
else
|
|
{
|
|
soundOptionsInfo.quality.curvalue = soundOptionsInfo.holdSoundQuality;
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
=================
|
|
UI_SoundOptionsMenu_Event
|
|
=================
|
|
*/
|
|
|
|
static void UI_SoundOptionsMenu_Event(void* ptr, int32_t event)
|
|
{
|
|
UI_LogFuncBegin();
|
|
int32_t holdCurvalue;
|
|
|
|
if (event != QM_ACTIVATED)
|
|
{
|
|
UI_LogFuncEnd();
|
|
return;
|
|
}
|
|
|
|
switch (((menucommon_s*)ptr)->id)
|
|
{
|
|
case ID_RATE:
|
|
if (soundOptionsInfo.rate.curvalue == 0)
|
|
{
|
|
trap_Cvar_SetValue("rate", 2500);
|
|
}
|
|
else if (soundOptionsInfo.rate.curvalue == 1)
|
|
{
|
|
trap_Cvar_SetValue("rate", 3000);
|
|
}
|
|
else if (soundOptionsInfo.rate.curvalue == 2)
|
|
{
|
|
trap_Cvar_SetValue("rate", 4000);
|
|
}
|
|
else if (soundOptionsInfo.rate.curvalue == 3)
|
|
{
|
|
trap_Cvar_SetValue("rate", 5000);
|
|
}
|
|
else if (soundOptionsInfo.rate.curvalue == 4)
|
|
{
|
|
trap_Cvar_SetValue("rate", 25000);
|
|
}
|
|
break;
|
|
|
|
case ID_EFFECTSVOLUME:
|
|
trap_Cvar_SetValue("s_volume", soundOptionsInfo.sfxvolume.curvalue / 10);
|
|
break;
|
|
|
|
case ID_MUSICVOLUME:
|
|
trap_Cvar_SetValue("s_musicvolume", soundOptionsInfo.musicvolume.curvalue / 10);
|
|
break;
|
|
|
|
case ID_QUALITY:
|
|
//UI_ConfirmMenu(menu_normal_text[MNT_THISWILLRESETMENU],0,SoundQualityAction);
|
|
SoundQualityAction(qtrue);
|
|
break;
|
|
|
|
case ID_A3D:
|
|
if (soundOptionsInfo.a3d.curvalue) {
|
|
trap_Cmd_ExecuteText(EXEC_NOW, "s_enable_a3d\n");
|
|
}
|
|
else {
|
|
trap_Cmd_ExecuteText(EXEC_NOW, "s_disable_a3d\n");
|
|
}
|
|
|
|
holdCurvalue = (int32_t)trap_Cvar_VariableValue("s_usingA3D");
|
|
if ((soundOptionsInfo.a3d.curvalue == 1) && (holdCurvalue != 1))
|
|
{
|
|
soundOptionsInfo.a3dtimer = uis.realtime + 10000;
|
|
}
|
|
soundOptionsInfo.a3d.curvalue = holdCurvalue;
|
|
|
|
break;
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
=================
|
|
M_Sound_Graphics
|
|
=================
|
|
*/
|
|
void M_Sound_Graphics(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
UI_MenuFrame(&soundOptionsInfo.menu);
|
|
|
|
trap_R_SetColor(colorTable[CT_LTBROWN1]);
|
|
UI_DrawHandlePic(30, 203, 47, 186, uis.whiteShader); // Long left column square on bottom 3rd
|
|
|
|
// Network Frame
|
|
trap_R_SetColor(colorTable[CT_LTBROWN1]);
|
|
UI_DrawHandlePic(88, 164, 524, 18, uis.whiteShader); // Top line
|
|
UI_DrawHandlePic(88, 182, 36, 39, uis.whiteShader); // Left column
|
|
UI_DrawProportionalString(130, 165, menu_normal_text[MNT_NETWORK], UI_SMALLFONT, colorTable[CT_BLACK]); // Top
|
|
|
|
if (soundOptionsInfo.a3dtimer > uis.realtime)
|
|
{
|
|
UI_DrawProportionalString(490, 305, menu_normal_text[MNT_A3DNOTAVAILABLE], UI_CENTER | UI_SMALLFONT, colorTable[CT_WHITE]);
|
|
}
|
|
|
|
// Sound Frame
|
|
trap_R_SetColor(colorTable[CT_LTBROWN1]);
|
|
UI_DrawHandlePic(88, 228, 524, 18, uis.whiteShader); // Top line
|
|
UI_DrawHandlePic(88, 246, 36, 27, uis.whiteShader); // Left column
|
|
UI_DrawHandlePic(88, 277, 36, 25, uis.whiteShader); // Left column
|
|
UI_DrawProportionalString(130, 229, menu_normal_text[MNT_SOUND], UI_SMALLFONT, colorTable[CT_BLACK]); // Top
|
|
|
|
trap_R_SetColor(colorTable[CT_LTBROWN1]);
|
|
UI_DrawHandlePic(112, 303, 500, 4, uis.whiteShader); // Middle long line
|
|
UI_DrawHandlePic(88, 300, 64, 8, soundOptionsInfo.corner); // Corner graphic
|
|
|
|
trap_R_SetColor(colorTable[CT_DKBROWN1]);
|
|
UI_DrawHandlePic(356, 342, 8, 93, uis.whiteShader); // Middle Bottom Left column
|
|
trap_R_SetColor(colorTable[CT_LTPURPLE1]);
|
|
UI_DrawHandlePic(98, 359, 248, 64, soundOptionsInfo.grid);
|
|
trap_R_SetColor(colorTable[CT_LTBLUE1]);
|
|
UI_DrawHandlePic(98, 359, 248, 64, soundOptionsInfo.wave1);
|
|
trap_R_SetColor(colorTable[CT_DKBROWN1]);
|
|
UI_DrawHandlePic(96, 359, 4, 64, uis.whiteShader); // Left side of frame
|
|
UI_DrawHandlePic(342, 359, 4, 64, uis.whiteShader); // Right side of frame
|
|
UI_DrawHandlePic(96, 355, 250, 4, uis.whiteShader); // Top of frame
|
|
UI_DrawHandlePic(96, 423, 250, 4, uis.whiteShader); // Bottom of frame
|
|
|
|
|
|
UI_DrawHandlePic(367, 342, 8, 93, uis.whiteShader); // Middle Bottom Right column
|
|
trap_R_SetColor(colorTable[CT_LTPURPLE1]);
|
|
UI_DrawHandlePic(392, 359, 220, 64, soundOptionsInfo.grid);
|
|
trap_R_SetColor(colorTable[CT_LTRED1]);
|
|
UI_DrawHandlePic(392, 359, 220, 64, soundOptionsInfo.wave2);
|
|
trap_R_SetColor(colorTable[CT_DKBROWN1]);
|
|
UI_DrawHandlePic(392, 359, 4, 64, uis.whiteShader); // Left side of frame
|
|
UI_DrawHandlePic(608, 359, 4, 64, uis.whiteShader); // Right side of frame
|
|
UI_DrawHandlePic(392, 355, 220, 4, uis.whiteShader); // Top of frame
|
|
UI_DrawHandlePic(392, 423, 220, 4, uis.whiteShader); // Bottom of frame
|
|
|
|
UI_Setup_MenuButtons();
|
|
|
|
UI_DrawProportionalString(74, 66, "29876", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 84, "568", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 188, "45-009", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 206, "18856", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 395, "18857", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
=================
|
|
M_Sound_MenuDraw
|
|
=================
|
|
*/
|
|
void M_Sound_MenuDraw(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
M_Sound_Graphics();
|
|
|
|
Menu_Draw(&soundOptionsInfo.menu);
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
M_Sound_MenuKey
|
|
=================
|
|
*/
|
|
static sfxHandle_t M_Sound_MenuKey(int32_t key)
|
|
{
|
|
UI_LogFuncBegin();
|
|
UI_LogFuncEnd();
|
|
return Menu_DefaultKey(&soundOptionsInfo.menu, key);
|
|
}
|
|
|
|
|
|
/*
|
|
===============
|
|
SoundMenu_Cache
|
|
===============
|
|
*/
|
|
void UI_SoundMenu_Cache(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
soundOptionsInfo.corner = trap_R_RegisterShaderNoMip("menu/common/con_ssetup.tga");
|
|
soundOptionsInfo.grid = trap_R_RegisterShaderNoMip("menu/special/grid.tga");
|
|
soundOptionsInfo.wave1 = trap_R_RegisterShaderNoMip("menu/special/sinwave_1.tga");
|
|
soundOptionsInfo.wave2 = trap_R_RegisterShaderNoMip("menu/special/sinwave_2.tga");
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
/*
|
|
===============
|
|
SoundMenu_Init
|
|
===============
|
|
*/
|
|
void SoundMenu_Init(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
int32_t x, y;
|
|
int32_t rate;
|
|
|
|
UI_SoundMenu_Cache();
|
|
|
|
soundOptionsInfo.menu.nitems = 0;
|
|
soundOptionsInfo.menu.wrapAround = qtrue;
|
|
soundOptionsInfo.menu.draw = M_Sound_MenuDraw;
|
|
soundOptionsInfo.menu.key = M_Sound_MenuKey;
|
|
soundOptionsInfo.menu.fullscreen = qtrue;
|
|
soundOptionsInfo.menu.wrapAround = qfalse;
|
|
soundOptionsInfo.menu.descX = MENU_DESC_X;
|
|
soundOptionsInfo.menu.descY = MENU_DESC_Y;
|
|
soundOptionsInfo.menu.titleX = MENU_TITLE_X;
|
|
soundOptionsInfo.menu.titleY = MENU_TITLE_Y;
|
|
soundOptionsInfo.menu.titleI = MNT_CONTROLSMENU_TITLE;
|
|
soundOptionsInfo.menu.footNoteEnum = MNT_SOUND_SETUP;
|
|
|
|
x = 212;
|
|
soundOptionsInfo.rate.generic.type = MTYPE_SPINCONTROL;
|
|
soundOptionsInfo.rate.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
soundOptionsInfo.rate.generic.x = x;
|
|
soundOptionsInfo.rate.generic.y = 192;
|
|
soundOptionsInfo.rate.textEnum = MBT_DATARATE;
|
|
soundOptionsInfo.rate.generic.callback = UI_SoundOptionsMenu_Event;
|
|
soundOptionsInfo.rate.generic.id = ID_RATE;
|
|
soundOptionsInfo.rate.textcolor = CT_BLACK;
|
|
soundOptionsInfo.rate.textcolor2 = CT_WHITE;
|
|
soundOptionsInfo.rate.color = CT_DKPURPLE1;
|
|
soundOptionsInfo.rate.color2 = CT_LTPURPLE1;
|
|
soundOptionsInfo.rate.textX = 5;
|
|
soundOptionsInfo.rate.textY = 2;
|
|
soundOptionsInfo.rate.listnames = rate_items;
|
|
|
|
y = 256;
|
|
soundOptionsInfo.sfxvolume.generic.type = MTYPE_SLIDER;
|
|
soundOptionsInfo.sfxvolume.generic.x = x + MENU_BUTTON_MED_WIDTH + 35;
|
|
soundOptionsInfo.sfxvolume.generic.y = y;
|
|
soundOptionsInfo.sfxvolume.generic.flags = QMF_SMALLFONT;
|
|
soundOptionsInfo.sfxvolume.generic.callback = UI_SoundOptionsMenu_Event;
|
|
soundOptionsInfo.sfxvolume.generic.id = ID_EFFECTSVOLUME;
|
|
soundOptionsInfo.sfxvolume.minvalue = 0;
|
|
soundOptionsInfo.sfxvolume.maxvalue = 10;
|
|
soundOptionsInfo.sfxvolume.color = CT_DKPURPLE1;
|
|
soundOptionsInfo.sfxvolume.color2 = CT_LTPURPLE1;
|
|
soundOptionsInfo.sfxvolume.generic.name = "menu/common/monbar_2.tga";
|
|
soundOptionsInfo.sfxvolume.width = 256;
|
|
soundOptionsInfo.sfxvolume.height = 32;
|
|
soundOptionsInfo.sfxvolume.focusWidth = 145;
|
|
soundOptionsInfo.sfxvolume.focusHeight = 18;
|
|
soundOptionsInfo.sfxvolume.picName = "menu/common/square.tga";
|
|
soundOptionsInfo.sfxvolume.picX = x;
|
|
soundOptionsInfo.sfxvolume.picY = y;
|
|
soundOptionsInfo.sfxvolume.picWidth = MENU_BUTTON_MED_WIDTH;
|
|
soundOptionsInfo.sfxvolume.picHeight = MENU_BUTTON_MED_HEIGHT;
|
|
soundOptionsInfo.sfxvolume.textEnum = MBT_EFFECTSVOLUME;
|
|
soundOptionsInfo.sfxvolume.textX = 5;
|
|
soundOptionsInfo.sfxvolume.textY = 1;
|
|
soundOptionsInfo.sfxvolume.textcolor = CT_BLACK;
|
|
soundOptionsInfo.sfxvolume.textcolor2 = CT_WHITE;
|
|
soundOptionsInfo.sfxvolume.thumbName = "menu/common/slider.tga";
|
|
soundOptionsInfo.sfxvolume.thumbHeight = 32;
|
|
soundOptionsInfo.sfxvolume.thumbWidth = 16;
|
|
soundOptionsInfo.sfxvolume.thumbGraphicWidth = 9;
|
|
soundOptionsInfo.sfxvolume.thumbColor = CT_DKBLUE1;
|
|
soundOptionsInfo.sfxvolume.thumbColor2 = CT_LTBLUE1;
|
|
|
|
y = 278;
|
|
soundOptionsInfo.musicvolume.generic.type = MTYPE_SLIDER;
|
|
soundOptionsInfo.musicvolume.generic.x = x + MENU_BUTTON_MED_WIDTH + 35;
|
|
soundOptionsInfo.musicvolume.generic.y = y;
|
|
soundOptionsInfo.musicvolume.generic.flags = QMF_SMALLFONT;
|
|
soundOptionsInfo.musicvolume.generic.callback = UI_SoundOptionsMenu_Event;
|
|
soundOptionsInfo.musicvolume.generic.id = ID_MUSICVOLUME;
|
|
soundOptionsInfo.musicvolume.minvalue = 0;
|
|
soundOptionsInfo.musicvolume.maxvalue = 10;
|
|
soundOptionsInfo.musicvolume.color = CT_DKPURPLE1;
|
|
soundOptionsInfo.musicvolume.color2 = CT_LTPURPLE1;
|
|
soundOptionsInfo.musicvolume.generic.name = "menu/common/monbar_2.tga";
|
|
soundOptionsInfo.musicvolume.width = 256;
|
|
soundOptionsInfo.musicvolume.height = 32;
|
|
soundOptionsInfo.musicvolume.focusWidth = 145;
|
|
soundOptionsInfo.musicvolume.focusHeight = 18;
|
|
soundOptionsInfo.musicvolume.picName = "menu/common/square.tga";
|
|
soundOptionsInfo.musicvolume.picX = x;
|
|
soundOptionsInfo.musicvolume.picY = y;
|
|
soundOptionsInfo.musicvolume.picWidth = MENU_BUTTON_MED_WIDTH;
|
|
soundOptionsInfo.musicvolume.picHeight = MENU_BUTTON_MED_HEIGHT;
|
|
soundOptionsInfo.musicvolume.textEnum = MBT_MUSICVOLUME;
|
|
soundOptionsInfo.musicvolume.textX = 5;
|
|
soundOptionsInfo.musicvolume.textY = 1;
|
|
soundOptionsInfo.musicvolume.textcolor = CT_BLACK;
|
|
soundOptionsInfo.musicvolume.textcolor2 = CT_WHITE;
|
|
soundOptionsInfo.musicvolume.thumbName = "menu/common/slider.tga";
|
|
soundOptionsInfo.musicvolume.thumbHeight = 32;
|
|
soundOptionsInfo.musicvolume.thumbWidth = 16;
|
|
soundOptionsInfo.musicvolume.thumbGraphicWidth = 9;
|
|
soundOptionsInfo.musicvolume.thumbColor = CT_DKBLUE1;
|
|
soundOptionsInfo.musicvolume.thumbColor2 = CT_LTBLUE1;
|
|
|
|
soundOptionsInfo.quality.generic.type = MTYPE_SPINCONTROL;
|
|
soundOptionsInfo.quality.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
soundOptionsInfo.quality.generic.x = 120;
|
|
soundOptionsInfo.quality.generic.y = 322;
|
|
soundOptionsInfo.quality.generic.callback = UI_SoundOptionsMenu_Event;
|
|
soundOptionsInfo.quality.generic.id = ID_QUALITY;
|
|
soundOptionsInfo.quality.textEnum = MBT_SOUNDQUALITY;
|
|
soundOptionsInfo.quality.textcolor = CT_BLACK;
|
|
soundOptionsInfo.quality.textcolor2 = CT_WHITE;
|
|
soundOptionsInfo.quality.color = CT_DKPURPLE1;
|
|
soundOptionsInfo.quality.color2 = CT_LTPURPLE1;
|
|
soundOptionsInfo.quality.textX = 5;
|
|
soundOptionsInfo.quality.textY = 2;
|
|
soundOptionsInfo.quality.listnames = s_sndquality_Names;
|
|
|
|
soundOptionsInfo.a3d.generic.type = MTYPE_SPINCONTROL;
|
|
soundOptionsInfo.a3d.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
soundOptionsInfo.a3d.generic.x = 416;
|
|
soundOptionsInfo.a3d.generic.y = 322;
|
|
soundOptionsInfo.a3d.generic.callback = UI_SoundOptionsMenu_Event;
|
|
soundOptionsInfo.a3d.generic.id = ID_A3D;
|
|
soundOptionsInfo.a3d.textEnum = MBT_A3D;
|
|
soundOptionsInfo.a3d.textcolor = CT_BLACK;
|
|
soundOptionsInfo.a3d.textcolor2 = CT_WHITE;
|
|
soundOptionsInfo.a3d.color = CT_DKPURPLE1;
|
|
soundOptionsInfo.a3d.color2 = CT_LTPURPLE1;
|
|
soundOptionsInfo.a3d.textX = 5;
|
|
soundOptionsInfo.a3d.textY = 2;
|
|
soundOptionsInfo.a3d.listnames = s_OffOnNone_Names;
|
|
|
|
SetupMenu_TopButtons(&soundOptionsInfo.menu, MENU_SOUND, NULL);
|
|
|
|
Menu_AddItem(&soundOptionsInfo.menu, (void *)&soundOptionsInfo.rate);
|
|
Menu_AddItem(&soundOptionsInfo.menu, (void *)&soundOptionsInfo.sfxvolume);
|
|
Menu_AddItem(&soundOptionsInfo.menu, (void *)&soundOptionsInfo.musicvolume);
|
|
Menu_AddItem(&soundOptionsInfo.menu, (void *)&soundOptionsInfo.quality);
|
|
Menu_AddItem(&soundOptionsInfo.menu, (void *)&soundOptionsInfo.a3d);
|
|
|
|
soundOptionsInfo.sfxvolume.curvalue = trap_Cvar_VariableValue("s_volume") * 10;
|
|
soundOptionsInfo.musicvolume.curvalue = trap_Cvar_VariableValue("s_musicvolume") * 10;
|
|
soundOptionsInfo.quality.curvalue = trap_Cvar_VariableValue("s_khz") != 11;
|
|
soundOptionsInfo.holdSoundQuality = soundOptionsInfo.quality.curvalue;
|
|
soundOptionsInfo.a3d.curvalue = (int32_t)trap_Cvar_VariableValue("s_usingA3D");
|
|
|
|
soundOptionsInfo.menu.initialized = qtrue;
|
|
|
|
|
|
rate = trap_Cvar_VariableValue("rate");
|
|
if (rate <= 2500)
|
|
{
|
|
soundOptionsInfo.rate.curvalue = 0;
|
|
}
|
|
else if (rate <= 3000)
|
|
{
|
|
soundOptionsInfo.rate.curvalue = 1;
|
|
}
|
|
else if (rate <= 4000)
|
|
{
|
|
soundOptionsInfo.rate.curvalue = 2;
|
|
}
|
|
else if (rate <= 5000)
|
|
{
|
|
soundOptionsInfo.rate.curvalue = 3;
|
|
}
|
|
else
|
|
{
|
|
soundOptionsInfo.rate.curvalue = 4;
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
===============
|
|
UI_SoundMenu
|
|
===============
|
|
*/
|
|
void UI_SoundMenu(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
SoundMenu_Init();
|
|
|
|
UI_PushMenu(&soundOptionsInfo.menu);
|
|
UI_LogFuncEnd();
|
|
}
|
|
|