feat: almost accurate XUI settings menu
This commit is contained in:
1 parent
1dbf4d2dea
commit
b60826eb32
2 files changed
+32
-39
No files matched your search
@@ -19,7 +19,7 @@ int CScene_SettingsAll::m_iDifficultyTitleSettingA[4]=
|
||||
|
||||
HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
{
|
||||
WCHAR TempString[256];
|
||||
wchar_t TempString[256];
|
||||
m_iPad=*(int *)pInitData->pvInitData;
|
||||
bool bNotInGame=(Minecraft::GetInstance()->level==NULL);
|
||||
bool bPrimaryPlayer = ProfileManager.GetPrimaryPad()==m_iPad;
|
||||
@@ -31,32 +31,32 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
HXUIOBJ hSlider;
|
||||
|
||||
m_SliderA[SLIDER_SETTINGS_MUSIC].SetValue(app.GetGameSettings(m_iPad,eGameSetting_MusicVolume));
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ),app.GetGameSettings(m_iPad,eGameSetting_MusicVolume));
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ), app.GetGameSettings(m_iPad,eGameSetting_MusicVolume));
|
||||
m_SliderA[SLIDER_SETTINGS_MUSIC].SetText(TempString);
|
||||
|
||||
m_SliderA[SLIDER_SETTINGS_SOUND].SetValue(app.GetGameSettings(m_iPad,eGameSetting_SoundFXVolume));
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ),app.GetGameSettings(m_iPad,eGameSetting_SoundFXVolume));
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ), app.GetGameSettings(m_iPad,eGameSetting_SoundFXVolume));
|
||||
m_SliderA[SLIDER_SETTINGS_SOUND].SetText(TempString);
|
||||
|
||||
m_SliderA[SLIDER_SETTINGS_GAMMA].SetValue(app.GetGameSettings(m_iPad,eGameSetting_Gamma));
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),app.GetGameSettings(m_iPad,eGameSetting_Gamma));
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ), app.GetGameSettings(m_iPad,eGameSetting_Gamma));
|
||||
m_SliderA[SLIDER_SETTINGS_GAMMA].SetText(TempString);
|
||||
|
||||
m_SliderA[SLIDER_SETTINGS_SENSITIVITY].SetValue(app.GetGameSettings(m_iPad,eGameSetting_Sensitivity));
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); //IDS_SLIDER_SENSITIVITY
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ), app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); //IDS_SLIDER_SENSITIVITY
|
||||
m_SliderA[SLIDER_SETTINGS_SENSITIVITY].SetText(TempString);
|
||||
|
||||
m_SplitScreen.SetCheck( (app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=0)?TRUE:FALSE);
|
||||
m_SplitScreen.SetText(app.GetString( IDS_CHECKBOX_VERTICAL_SPLIT_SCREEN ) );
|
||||
m_SplitScreen.SetCheck((app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=0)?TRUE:FALSE);
|
||||
m_SplitScreen.SetText(app.GetString( IDS_CHECKBOX_VERTICAL_SPLIT_SCREEN ));
|
||||
|
||||
m_ViewBob.SetCheck( (app.GetGameSettings(m_iPad,eGameSetting_ViewBob)!=0)?TRUE:FALSE);
|
||||
m_ViewBob.SetText(app.GetString( IDS_VIEW_BOBBING ) );
|
||||
m_ViewBob.SetCheck((app.GetGameSettings(m_iPad,eGameSetting_ViewBob)!=0)?TRUE:FALSE);
|
||||
m_ViewBob.SetText(app.GetString( IDS_VIEW_BOBBING ));
|
||||
|
||||
m_VisibleOnMaps.SetCheck( (app.GetGameSettings(m_iPad,eGameSetting_ViewBob)!=0)?TRUE:FALSE); //eGameSetting_VisibleOnMaps
|
||||
m_VisibleOnMaps.SetText(app.GetString( IDS_OFF ) ); //IDS_VISIBLE_ON_MAPS
|
||||
m_VisibleOnMaps.SetCheck((app.GetGameSettings(m_iPad,eGameSetting_ViewBob)!=0)?TRUE:FALSE); //eGameSetting_VisibleOnMaps
|
||||
m_VisibleOnMaps.SetText(app.GetString( IDS_OFF )); //IDS_VISIBLE_ON_MAPS
|
||||
|
||||
m_SliderA[SLIDER_SETTINGS_DIFFICULTY].SetValue(app.GetGameSettings(m_iPad,eGameSetting_Difficulty));
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[app.GetGameSettings(m_iPad,eGameSetting_Difficulty)]));
|
||||
swprintf(TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ), app.GetString(m_iDifficultyTitleSettingA[app.GetGameSettings(m_iPad,eGameSetting_Difficulty)]));
|
||||
m_SliderA[SLIDER_SETTINGS_DIFFICULTY].SetText(TempString);
|
||||
|
||||
wstring wsText=app.GetString(m_iDifficultySettingA[app.GetGameSettings(m_iPad,eGameSetting_Difficulty)]);
|
||||
@@ -65,16 +65,14 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
{
|
||||
size = 12;
|
||||
}
|
||||
wchar_t startTags[64];
|
||||
swprintf(startTags,64,L"<font color=\"#%08x\" size=%d>",app.GetHTMLColour(eHTMLColor_White),size);
|
||||
wsText= startTags + wsText;
|
||||
swprintf(TempString, 256, L"<font color=\"#%08x\" size=%d>", app.GetHTMLColour(eHTMLColor_White), size);
|
||||
wsText= TempString + wsText;
|
||||
|
||||
m_DifficultyText.SetText(wsText.c_str());
|
||||
|
||||
bool bRemoveDifficulty=false;
|
||||
bool bRemoveSettings=false;
|
||||
float fRemoveHeight=0.0f,fWidth,fHeight;
|
||||
float fMoveUp=0.0f;
|
||||
|
||||
if(!bPrimaryPlayer || !bNotInGame)
|
||||
{
|
||||
@@ -101,7 +99,6 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
hr=XuiElementGetChildById(m_SliderA[SLIDER_SETTINGS_MUSIC].m_hObj,L"XuiSlider",&hSlider);
|
||||
XuiElementSetShow(hSlider,FALSE);
|
||||
XuiControlSetEnable(hSlider,FALSE);
|
||||
XuiControlSetEnable(hSlider,FALSE);
|
||||
m_SliderA[SLIDER_SETTINGS_MUSIC].GetBounds(&fWidth,&fHeight);
|
||||
fRemoveHeight+=fHeight+4.0f; // add padding
|
||||
|
||||
@@ -126,9 +123,6 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
// SPLITSCREEN
|
||||
m_SplitScreen.SetShow(FALSE);
|
||||
m_SplitScreen.SetEnable(FALSE);
|
||||
m_SplitScreen.GetBounds(&fWidth, &fHeight);
|
||||
fRemoveHeight+=fCheckboxHeight;
|
||||
fMoveUp+=fCheckboxHeight;
|
||||
}
|
||||
|
||||
if(bRemoveDifficulty)
|
||||
@@ -140,7 +134,7 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
XuiElementSetShow(hSlider,FALSE);
|
||||
XuiControlSetEnable(hSlider,FALSE);
|
||||
m_SliderA[SLIDER_SETTINGS_DIFFICULTY].GetBounds(&fWidth,&fHeight);
|
||||
fRemoveHeight+=fHeight+4.0f;
|
||||
if (!bPrimaryPlayer) fRemoveHeight+=fHeight; //str1k3r - dont add this for the primary player or it causes a bug, and dont add padding
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -150,7 +144,7 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
{
|
||||
size = 12;
|
||||
}
|
||||
swprintf(TempString,64,L"<font color=\"#%08x\" size=%d>",app.GetHTMLColour(eHTMLColor_White),size);
|
||||
swprintf(TempString, 256, L"<font color=\"#%08x\" size=%d>", app.GetHTMLColour(eHTMLColor_White), size);
|
||||
wsText= TempString + wsText;
|
||||
|
||||
m_DifficultyText.SetText(wsText.c_str());
|
||||
@@ -161,22 +155,22 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
D3DXVECTOR3 vec;
|
||||
|
||||
m_SliderA[SLIDER_SETTINGS_SENSITIVITY].GetPosition(&vec);
|
||||
vec.y-=fMoveUp;
|
||||
m_SliderA[SLIDER_SETTINGS_SENSITIVITY].GetBounds(&fWidth,&fHeight);
|
||||
vec.y-=fRemoveHeight-fHeight;
|
||||
m_SliderA[SLIDER_SETTINGS_SENSITIVITY].SetPosition(&vec);
|
||||
m_DifficultyText.GetPosition(&vec);
|
||||
vec.y-=fMoveUp;
|
||||
vec.y-=fRemoveHeight;
|
||||
m_DifficultyText.SetPosition(&vec);
|
||||
m_ViewBob.GetPosition(&vec);
|
||||
vec.y-=fMoveUp;
|
||||
vec.y-=fRemoveHeight;
|
||||
m_ViewBob.SetPosition(&vec);
|
||||
m_VisibleOnMaps.GetPosition(&vec);
|
||||
vec.y-=fMoveUp;
|
||||
vec.y-=fRemoveHeight;
|
||||
m_VisibleOnMaps.SetPosition(&vec);
|
||||
|
||||
float fbgnWidth, fBgnHeight;
|
||||
GetBounds(&fbgnWidth, &fBgnHeight);
|
||||
fBgnHeight-=fRemoveHeight;
|
||||
SetBounds(fbgnWidth, fBgnHeight);
|
||||
SetBounds(fbgnWidth, fBgnHeight - fRemoveHeight);
|
||||
}
|
||||
|
||||
// if we're not in the game, we need to use basescene 0
|
||||
@@ -229,36 +223,36 @@ HRESULT CScene_SettingsAll::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
|
||||
HRESULT CScene_SettingsAll::OnNotifyValueChanged( HXUIOBJ hObjSource, XUINotifyValueChanged* pNotifyValueChanged, BOOL& bHandled )
|
||||
{
|
||||
WCHAR TempString[256];
|
||||
wchar_t TempString[256];
|
||||
|
||||
if(hObjSource==m_SliderA[SLIDER_SETTINGS_MUSIC].GetSlider() )
|
||||
{
|
||||
app.SetGameSettings(m_iPad,eGameSetting_MusicVolume,pNotifyValueChanged->nValue);
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ),pNotifyValueChanged->nValue);
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ),pNotifyValueChanged->nValue);
|
||||
m_SliderA[SLIDER_SETTINGS_MUSIC].SetText(TempString);
|
||||
}
|
||||
else if(hObjSource==m_SliderA[SLIDER_SETTINGS_SOUND].GetSlider() )
|
||||
{
|
||||
app.SetGameSettings(m_iPad,eGameSetting_SoundFXVolume,pNotifyValueChanged->nValue);
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ),pNotifyValueChanged->nValue);
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ),pNotifyValueChanged->nValue);
|
||||
m_SliderA[SLIDER_SETTINGS_SOUND].SetText(TempString);
|
||||
}
|
||||
if(hObjSource==m_SliderA[SLIDER_SETTINGS_GAMMA].GetSlider() )
|
||||
{
|
||||
app.SetGameSettings(m_iPad,eGameSetting_Gamma,pNotifyValueChanged->nValue);
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),pNotifyValueChanged->nValue);
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),pNotifyValueChanged->nValue);
|
||||
m_SliderA[SLIDER_SETTINGS_GAMMA].SetText(TempString);
|
||||
}
|
||||
if(hObjSource==m_SliderA[SLIDER_SETTINGS_SENSITIVITY].GetSlider() )
|
||||
{
|
||||
app.SetGameSettings(m_iPad,eGameSetting_Sensitivity,pNotifyValueChanged->nValue);
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),pNotifyValueChanged->nValue); //IDS_SLIDER_SENSITIVITY
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),pNotifyValueChanged->nValue); //IDS_SLIDER_SENSITIVITY
|
||||
m_SliderA[SLIDER_SETTINGS_SENSITIVITY].SetText(TempString);
|
||||
}
|
||||
else if(hObjSource==m_SliderA[SLIDER_SETTINGS_DIFFICULTY].GetSlider() )
|
||||
{
|
||||
app.SetGameSettings(m_iPad,eGameSetting_Difficulty,pNotifyValueChanged->nValue);
|
||||
swprintf( (WCHAR *)TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[pNotifyValueChanged->nValue]));
|
||||
swprintf(TempString, 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[pNotifyValueChanged->nValue]));
|
||||
m_SliderA[SLIDER_SETTINGS_DIFFICULTY].SetText(TempString);
|
||||
|
||||
wstring wsText=app.GetString(m_iDifficultySettingA[pNotifyValueChanged->nValue]);
|
||||
@@ -267,9 +261,8 @@ HRESULT CScene_SettingsAll::OnNotifyValueChanged( HXUIOBJ hObjSource, XUINotifyV
|
||||
{
|
||||
size = 12;
|
||||
}
|
||||
wchar_t startTags[64];
|
||||
swprintf(startTags,64,L"<font color=\"#%08x\" size=%d>",app.GetHTMLColour(eHTMLColor_White),size);
|
||||
wsText= startTags + wsText;
|
||||
swprintf(TempString, 256, L"<font color=\"#%08x\" size=%d>", app.GetHTMLColour(eHTMLColor_White), size);
|
||||
wsText= TempString + wsText;
|
||||
m_DifficultyText.SetText(wsText.c_str());
|
||||
}
|
||||
return S_OK;
|
||||
@@ -334,7 +327,7 @@ HRESULT CScene_SettingsAll::OnTransitionStart( XUIMessageTransition *pTransition
|
||||
float fMaxTextLen=0.0f;
|
||||
float fMaxLen=0.0f;
|
||||
|
||||
HXUIOBJ hSlider,hVisual,hText,hCheckboxText;
|
||||
HXUIOBJ hSlider,hVisual,hText;
|
||||
XUIRect xuiRect;
|
||||
float fWidth,fHeight;
|
||||
D3DXVECTOR3 vec,vSlider,vecCheckboxText,vecCheckbox;
|
||||
|
||||
@@ -958,7 +958,7 @@
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
|
||||
<AdditionalDependencies>xavatar2.lib;xapilibi.lib;d3d9i.lib;d3dx9.lib;xgraphics.lib;xboxkrnl.lib;xnet.lib;xaudio2.lib;xact3.lib;x3daudio.lib;xmcore.lib;vcomp.lib;xuirun.lib;xuirender.lib;xuihtml.lib;xonline.lib;xhv2.lib;qnetxaudio2.lib;xparty.lib;xbox\4JLibs\libs\4J_Input_r.lib;xbox\4JLibs\libs\4J_Storage_r.lib;xbox\4JLibs\libs\4J_Profile_r.lib;xbox\4JLibs\libs\4J_Render.lib;..\Minecraft.World\Release\Minecraft.World.lib;xbdm.lib;xsocialpost.lib;xrnm.lib;xbox\Sentient\libs\SenCore.lib;xbox\Sentient\libs\SenNews.lib;xbox\Sentient\libs\SenUGC.lib;xbox\Sentient\libs\SenBoxArt.lib;NuiApi.lib;ST.lib;NuiFitnessApi.lib;NuiHandles.lib;NuiSpeech.lib;NuiAudio.lib;xhttp.lib;xauth.lib;xgetserviceendpoint.lib;xav.lib;xjson.lib;xbox\4JLibs\libs\4J_XTMS_r.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>xavatar2.lib;xapilibi.lib;d3d9i.lib;d3dx9.lib;xgraphics.lib;xboxkrnl.lib;xnet.lib;xaudio2.lib;xact3.lib;x3daudio.lib;xmcore.lib;vcomp.lib;xuirun.lib;xuirender.lib;xuihtml.lib;xonline.lib;xhv2.lib;qnetxaudio2.lib;xparty.lib;xbox\4JLibs\libs\4J_Input_r.lib;xbox\4JLibs\libs\4J_Storage_r.lib;xbox\4JLibs\libs\4J_Profile_r.lib;xbox\4JLibs\libs\4J_Render.lib;..\Minecraft.World\Build\X360_$(Configuration)\Minecraft.World.lib;xbdm.lib;xsocialpost.lib;xrnm.lib;xbox\Sentient\libs\SenCore.lib;xbox\Sentient\libs\SenNews.lib;xbox\Sentient\libs\SenUGC.lib;xbox\Sentient\libs\SenBoxArt.lib;NuiApi.lib;ST.lib;NuiFitnessApi.lib;NuiHandles.lib;NuiSpeech.lib;NuiAudio.lib;xhttp.lib;xauth.lib;xgetserviceendpoint.lib;xav.lib;xjson.lib;xbox\4JLibs\libs\4J_XTMS_r.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<IgnoreSpecificDefaultLibraries>xapilib.lib</IgnoreSpecificDefaultLibraries>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>false</EnableCOMDATFolding>
|
||||
|
||||
Reference in new issue
Block a user