Menu Progress

LaunchMoreOptionsMenu and SettingsGraphicsMenu works now.
Change seed dont work.
Label update for sliders dont work.
InGameHostOptionsMenu is disabled for now.
This commit is contained in:
GabsPuNs
2026-05-22 23:48:03 -04:00
parent d8d80c3ec4
commit 3bfd7d9bde
10 changed files with 228 additions and 195 deletions

View File

@@ -77,6 +77,8 @@ UIScene_SettingsGraphicsMenu::UIScene_SettingsGraphicsMenu(int iPad, void *initD
m_tabIndex = TAB_GENERAL_OPTIONS;
m_generalOptionsList.AddNewCheckbox(app.GetString(IDS_CHECKBOX_FULLSCREEN),eControl_Fullscreen,(app.GetGameSettings(m_iPad,eGameSetting_Fullscreen)));
m_generalOptionsList.AddNewCheckbox(app.GetString(IDS_CHECKBOX_VSYNC),eControl_Vsync,(app.GetGameSettings(m_iPad,eGameSetting_Vsync)!=0));
m_generalOptionsList.AddNewCheckbox(app.GetString(IDS_CHECKBOX_CUSTOM_SKIN_ANIM),eControl_CustomSkinAnim,(app.GetGameSettings(m_iPad,eGameSetting_CustomSkinAnim)!=0));
WCHAR TempString[256];
@@ -102,37 +104,10 @@ UIScene_SettingsGraphicsMenu::UIScene_SettingsGraphicsMenu(int iPad, void *initD
swprintf(TempString, 256, L"%ls: %ls", app.GetString( IDS_GRAPHICS ),app.GetString(m_iGraphicsModeTitleSettingA[app.GetGameSettings(m_iPad,eGameSetting_GraphicsMode)]));
m_qualityOptionsList.AddNewSlider(TempString, eControl_GraphicsMode, 0, 3, currentGraphics);
/*
Minecraft* pMinecraft = Minecraft::GetInstance();
m_bNotInGame=(Minecraft::GetInstance()->level==nullptr);
m_checkboxClouds.init(app.GetString(IDS_CHECKBOX_RENDER_CLOUDS),eControl_Clouds,(app.GetGameSettings(m_iPad,eGameSetting_Clouds)!=0));
m_checkboxBedrockFog.init(app.GetString(IDS_CHECKBOX_RENDER_BEDROCKFOG),eControl_BedrockFog,(app.GetGameSettings(m_iPad,eGameSetting_BedrockFog)!=0));
m_checkboxCustomSkinAnim.init(app.GetString(IDS_CHECKBOX_CUSTOM_SKIN_ANIM),eControl_CustomSkinAnim,(app.GetGameSettings(m_iPad,eGameSetting_CustomSkinAnim)!=0));
WCHAR TempString[256];
swprintf( TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),app.GetGameSettings(m_iPad,eGameSetting_Gamma));
m_sliderGamma.init(TempString,eControl_Gamma,0,100,app.GetGameSettings(m_iPad,eGameSetting_Gamma));
const int initialFovSlider = app.GetGameSettings(m_iPad, eGameSetting_FOV);
const int initialFovDeg = sliderValueToFov(initialFovSlider);
swprintf(TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_FOV ),initialFovDeg);
m_sliderFOV.init(TempString, eControl_FOV, 0, FOV_SLIDER_MAX, initialFovSlider);
swprintf( TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_INTERFACEOPACITY ),app.GetGameSettings(m_iPad,eGameSetting_InterfaceOpacity));
m_sliderInterfaceOpacity.init(TempString,eControl_InterfaceOpacity,0,100,app.GetGameSettings(m_iPad,eGameSetting_InterfaceOpacity));
swprintf(TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_RENDERDISTANCE ),app.GetGameSettings(m_iPad,eGameSetting_RenderDistance));
m_sliderRenderDistance.init(TempString,eControl_RenderDistance,0,3,DistanceToLevel(app.GetGameSettings(m_iPad,eGameSetting_RenderDistance)));
int currentGraphics = app.GetGameSettings(m_iPad, eGameSetting_GraphicsMode);
swprintf(TempString, 256, L"%ls %ls", app.GetString( IDS_GRAPHICS ),app.GetString(m_iGraphicsModeTitleSettingA[app.GetGameSettings(m_iPad,eGameSetting_GraphicsMode)]));
m_sliderGraphicsMode.init(TempString, eControl_GraphicsMode, 0, 3, currentGraphics);
doHorizontalResizeCheck();
const bool bInGame=(Minecraft::GetInstance()->level!=nullptr);
@@ -148,24 +123,16 @@ UIScene_SettingsGraphicsMenu::UIScene_SettingsGraphicsMenu(int iPad, void *initD
if(!g_NetworkManager.IsHost())
{
// hide the in-game bedrock fog setting
removeControl(&m_checkboxBedrockFog, true);
m_qualityOptionsList.removeItem(eControl_BedrockFog);
}
}
else
{
// We shouldn't have the bedrock fog option, or the m_CustomSkinAnim option
removeControl(&m_checkboxBedrockFog, true);
removeControl(&m_checkboxCustomSkinAnim, true);
m_qualityOptionsList.removeItem(eControl_BedrockFog);
m_generalOptionsList.removeItem(eControl_CustomSkinAnim);
}
}
if(app.GetLocalPlayerCount()>1)
{
#if TO_BE_IMPLEMENTED
app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad);
#endif
}
*/
}
void UIScene_SettingsGraphicsMenu::updateTooltips()
@@ -211,24 +178,18 @@ void UIScene_SettingsGraphicsMenu::handleInput(int iPad, int key, bool repeat, b
{
if (isDirectEditBlocking()) return;
// UIControl_MultiList* test;
ui.AnimateKeyPress(iPad, key, repeat, pressed, released);
switch(key)
{
case ACTION_MENU_CANCEL:
if(pressed)
{
/*
// check the checkboxes
app.SetGameSettings(m_iPad,eGameSetting_Clouds,test->GetCheckboxValue(5));
app.SetGameSettings(m_iPad,eGameSetting_BedrockFog,test->GetCheckboxValue(6));
app.SetGameSettings(m_iPad,eGameSetting_CustomSkinAnim,test->GetCheckboxValue(0));
*/
navigateBack();
handled = true;
}
break;
case ACTION_MENU_OK:
case ACTION_MENU_UP:
case ACTION_MENU_DOWN:
case ACTION_MENU_LEFT:
@@ -238,7 +199,7 @@ void UIScene_SettingsGraphicsMenu::handleInput(int iPad, int key, bool repeat, b
case ACTION_MENU_OTHER_STICK_UP:
case ACTION_MENU_OTHER_STICK_DOWN:
sendInputToMovie(key, repeat, pressed, released);
handled = true; //test
handled = true;
break;
case ACTION_MENU_LEFT_SCROLL:
case ACTION_MENU_RIGHT_SCROLL:
@@ -262,67 +223,81 @@ UIControl* UIScene_SettingsGraphicsMenu::GetMainPanel()
return &m_qualityOptions;
}
void UIScene_SettingsGraphicsMenu::handleSliderMove(F64 sliderId, F64 currentValue)
void UIScene_SettingsGraphicsMenu::handleCheckboxElementToggled(F64 controlId, F64 checkboxid, bool checked)
{
switch(static_cast<int>(checkboxid))
{
case eControl_Fullscreen:
app.SetGameSettings(m_iPad,eGameSetting_Fullscreen,static_cast<int>(checked));
break;
case eControl_Vsync:
app.SetGameSettings(m_iPad,eGameSetting_Vsync,static_cast<int>(checked));
break;
case eControl_CustomSkinAnim:
app.SetGameSettings(m_iPad,eGameSetting_CustomSkinAnim,static_cast<int>(checked));
break;
case eControl_Clouds:
app.SetGameSettings(m_iPad,eGameSetting_Clouds,static_cast<int>(checked));
break;
case eControl_BedrockFog:
app.SetGameSettings(m_iPad,eGameSetting_BedrockFog,static_cast<int>(checked));
break;
};
}
void UIScene_SettingsGraphicsMenu::handleSliderElementMove(F64 controlId, F64 sliderId, F64 currentValue)
{
WCHAR TempString[256];
const int value = static_cast<int>(currentValue);
switch(static_cast<int>(sliderId))
{
case eControl_Gamma:
//m_sliderGamma.handleSliderMove(value);
m_generalOptionsList.SetSliderValue(sliderId, value, true);
app.SetGameSettings(m_iPad,eGameSetting_Gamma,value);
swprintf( TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),value);
//m_sliderGamma.setLabel(TempString);
m_generalOptionsList.SetItemLabel(sliderId, TempString, true);
break;
case eControl_FOV:
{
//m_sliderFOV.handleSliderMove(value);
m_generalOptionsList.SetSliderValue(sliderId, value, true);
const Minecraft* pMinecraft = Minecraft::GetInstance();
const int fovValue = sliderValueToFov(value);
pMinecraft->gameRenderer->SetFovVal(static_cast<float>(fovValue));
app.SetGameSettings(m_iPad, eGameSetting_FOV, value);
swprintf(TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_FOV ),fovValue);
//m_sliderFOV.setLabel(TempString);
m_generalOptionsList.SetItemLabel(sliderId, TempString, true);
}
break;
case eControl_InterfaceOpacity:
//m_sliderInterfaceOpacity.handleSliderMove(value);
m_generalOptionsList.SetSliderValue(sliderId, value, true);
app.SetGameSettings(m_iPad,eGameSetting_InterfaceOpacity,value);
swprintf( TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_INTERFACEOPACITY ),value);
//m_sliderInterfaceOpacity.setLabel(TempString);
m_generalOptionsList.SetItemLabel(sliderId, TempString, true);
break;
case eControl_RenderDistance:
{
//m_sliderRenderDistance.handleSliderMove(value);
m_generalOptionsList.SetSliderValue(sliderId, value, true);
const int dist = LevelToDistance(value);
app.SetGameSettings(m_iPad,eGameSetting_RenderDistance,dist);
const Minecraft* mc = Minecraft::GetInstance();
mc->options->viewDistance = 3 - value;
swprintf(TempString,256,L"%ls: %d", app.GetString( IDS_SLIDER_RENDERDISTANCE ),dist);
//m_sliderRenderDistance.setLabel(TempString);
m_generalOptionsList.SetItemLabel(sliderId, TempString, true);
}
break;
case eControl_GraphicsMode:
{
//m_sliderGraphicsMode.handleSliderMove(value);
{
m_qualityOptionsList.SetSliderValue(sliderId, value, true);
app.SetGameSettings(m_iPad, eGameSetting_GraphicsMode, value);
swprintf(TempString, 256, L"%ls: %ls", app.GetString( IDS_GRAPHICS ),app.GetString(m_iGraphicsModeTitleSettingA[value]));
//m_sliderGraphicsMode.setLabel(TempString);
}
break;
app.SetGameSettings(m_iPad, eGameSetting_GraphicsMode, value);
swprintf(TempString, 256, L"%ls: %ls", app.GetString( IDS_GRAPHICS ),app.GetString(m_iGraphicsModeTitleSettingA[value]));
m_generalOptionsList.SetItemLabel(sliderId, TempString, true);
}
break;
}
}