feat: tu43 parity changes + fixes (#165)
Reviewed-on: https://git.neolegacy.dev/neoStudiosLCE/neoLegacy/pulls/165
This commit is contained in:
@@ -2,6 +2,25 @@
|
||||
#include "UI.h"
|
||||
#include "UIScene_SettingsOptionsMenu.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
void FormatAutosaveSliderLabel(WCHAR *buffer, size_t bufferSize, int value, int controlType)
|
||||
{
|
||||
const bool fasterAutosave = (controlType == 0 || controlType == 1 || controlType == 4); // windows, xbox one and ps4
|
||||
|
||||
if(value == 0)
|
||||
{
|
||||
swprintf(buffer, bufferSize, L"%ls", app.GetString(IDS_SLIDER_AUTOSAVE_OFF));
|
||||
}
|
||||
else
|
||||
{
|
||||
const int displayValue = fasterAutosave ? value : value * 15;
|
||||
const wstring unitText = (displayValue == 1) ? L"Min" : app.GetString(IDS_MINUTES);
|
||||
swprintf(buffer, bufferSize, L"%ls: %d %ls", app.GetString(IDS_SLIDER_AUTOSAVE), displayValue, unitText.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int UIScene_SettingsOptionsMenu::m_iDifficultyTitleSettingA[4]=
|
||||
{
|
||||
IDS_DIFFICULTY_TITLE_PEACEFUL,
|
||||
@@ -65,6 +84,7 @@ void UIScene_SettingsOptionsMenu::tick()
|
||||
m_multiList.AddNewCheckbox(app.GetString(IDS_VIEW_BOBBING), eControl_ViewBob, (app.GetGameSettings(m_iPad,eGameSetting_ViewBob)!=0));
|
||||
m_multiList.AddNewCheckbox(app.GetString(IDS_HINTS), eControl_Hints, (app.GetGameSettings(m_iPad,eGameSetting_Hints)!=0));
|
||||
m_multiList.AddNewCheckbox(app.GetString(IDS_CHECKBOX_DEATH_MESSAGES), eControl_DeathMessages, (app.GetGameSettings(m_iPad,eGameSetting_DeathMessages)!=0));
|
||||
m_multiList.AddNewCheckbox(L"Passive Chunk Loading", eControl_PassiveChunkLoading, (app.GetGameSettings(m_iPad,eGameSetting_PassiveChunkLoading)!=0));
|
||||
|
||||
if(m_bNotInGame)
|
||||
{
|
||||
@@ -74,10 +94,7 @@ void UIScene_SettingsOptionsMenu::tick()
|
||||
WCHAR TempString[256];
|
||||
|
||||
int autosaveVal = app.GetGameSettings(m_iPad,eGameSetting_Autosave);
|
||||
if(autosaveVal == 0)
|
||||
swprintf(TempString, 256, L"%ls", app.GetString(IDS_SLIDER_AUTOSAVE_OFF));
|
||||
else
|
||||
swprintf(TempString, 256, L"%ls: %d %ls", app.GetString(IDS_SLIDER_AUTOSAVE), autosaveVal*15, app.GetString(IDS_MINUTES));
|
||||
FormatAutosaveSliderLabel(TempString, 256, autosaveVal, app.GetGameSettings(m_iPad, eGameSetting_ControlType));
|
||||
m_multiList.AddNewSlider(TempString, eControl_Autosave, 0, 8, 1, autosaveVal);
|
||||
|
||||
swprintf(TempString, 256, L"%ls: %d%%", app.GetString(IDS_SLIDER_SENSITIVITY_INGAME), app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame));
|
||||
@@ -115,10 +132,7 @@ void UIScene_SettingsOptionsMenu::tick()
|
||||
case eControl_Autosave:
|
||||
app.SetGameSettings(m_iPad, eGameSetting_Autosave, m_iPendingSliderValue);
|
||||
app.SetAutosaveTimerTime();
|
||||
if(m_iPendingSliderValue == 0)
|
||||
swprintf(TempString, 256, L"%ls", app.GetString(IDS_SLIDER_AUTOSAVE_OFF));
|
||||
else
|
||||
swprintf(TempString, 256, L"%ls: %d %ls", app.GetString(IDS_SLIDER_AUTOSAVE), m_iPendingSliderValue*15, app.GetString(IDS_MINUTES));
|
||||
FormatAutosaveSliderLabel(TempString, 256, m_iPendingSliderValue, app.GetGameSettings(m_iPad, eGameSetting_ControlType));
|
||||
m_multiList.SetSliderLabel(eControl_Autosave, TempString);
|
||||
break;
|
||||
case eControl_Sensitivity_InGame:
|
||||
@@ -233,6 +247,7 @@ void UIScene_SettingsOptionsMenu::setGameSettings()
|
||||
app.SetGameSettings(m_iPad,eGameSetting_ViewBob,m_multiList.GetCheckboxValue(eControl_ViewBob)?1:0);
|
||||
app.SetGameSettings(m_iPad,eGameSetting_Hints,m_multiList.GetCheckboxValue(eControl_Hints)?1:0);
|
||||
app.SetGameSettings(m_iPad,eGameSetting_DeathMessages,m_multiList.GetCheckboxValue(eControl_DeathMessages)?1:0);
|
||||
app.SetGameSettings(m_iPad,eGameSetting_PassiveChunkLoading,m_multiList.GetCheckboxValue(eControl_PassiveChunkLoading)?1:0);
|
||||
app.SetGameSettings(m_iPad,eGameSetting_Autosave,m_multiList.GetSliderValue(eControl_Autosave));
|
||||
app.SetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame,m_multiList.GetSliderValue(eControl_Sensitivity_InGame));
|
||||
app.SetGameSettings(m_iPad,eGameSetting_Difficulty,m_multiList.GetSliderValue(eControl_Difficulty));
|
||||
|
||||
Reference in New Issue
Block a user