UI: Add various tips to some settings.
Let's not overuse these though: if it's not needed, that's for the best.
This commit is contained in:
parent
0fd6f296de
commit
d9bbbab1b9
1 changed files with 50 additions and 2 deletions
|
@ -155,6 +155,22 @@ void GameSettingsScreen::CreateViews() {
|
|||
#endif
|
||||
static const char *renderingMode[] = { "Non-Buffered Rendering", "Buffered Rendering", "Read Framebuffers To Memory (CPU)", "Read Framebuffers To Memory (GPU)"};
|
||||
PopupMultiChoice *renderingModeChoice = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iRenderingMode, gr->T("Mode"), renderingMode, 0, ARRAY_SIZE(renderingMode), gr->GetName(), screenManager()));
|
||||
renderingModeChoice->OnChoice.Add([&](EventParams &e) {
|
||||
switch (g_Config.iRenderingMode) {
|
||||
case FB_NON_BUFFERED_MODE:
|
||||
settingInfo_->Show(gr->T("RenderingMode NonBuffered Tip", "Faster, but nothing may draw in some games"), e.v);
|
||||
break;
|
||||
case FB_BUFFERED_MODE:
|
||||
break;
|
||||
#ifndef USING_GLES2
|
||||
case FB_READFBOMEMORY_CPU:
|
||||
#endif
|
||||
case FB_READFBOMEMORY_GPU:
|
||||
settingInfo_->Show(gr->T("RenderingMode ReadFromMemory Tip", "Causes crashes in many games, not recommended"), e.v);
|
||||
break;
|
||||
}
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
renderingModeChoice->OnChoice.Handle(this, &GameSettingsScreen::OnRenderingMode);
|
||||
renderingModeChoice->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
CheckBox *blockTransfer = graphicsSettings->Add(new CheckBox(&g_Config.bBlockTransferGPU, gr->T("Simulate Block Transfer", "Simulate Block Transfer (unfinished)")));
|
||||
|
@ -227,6 +243,10 @@ void GameSettingsScreen::CreateViews() {
|
|||
swSkin->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
CheckBox *vtxCache = graphicsSettings->Add(new CheckBox(&g_Config.bVertexCache, gr->T("Vertex Cache")));
|
||||
vtxCache->OnClick.Add([&](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("VertexCache Tip", "Faster, but may cause temporary flicker"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
vtxCacheEnable_ = !g_Config.bSoftwareRendering && g_Config.bHardwareTransform;
|
||||
vtxCache->SetEnabledPtr(&vtxCacheEnable_);
|
||||
|
||||
|
@ -234,6 +254,10 @@ void GameSettingsScreen::CreateViews() {
|
|||
texBackoff->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
CheckBox *texSecondary_ = graphicsSettings->Add(new CheckBox(&g_Config.bTextureSecondaryCache, gr->T("Retain changed textures", "Retain changed textures (speedup, mem hog)")));
|
||||
texSecondary_->OnClick.Add([&](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("RetainChangedTextures Tip", "Makes many games slower, but some games a lot faster"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
texSecondary_->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
CheckBox *framebufferSlowEffects = graphicsSettings->Add(new CheckBox(&g_Config.bDisableSlowFramebufEffects, gr->T("Disable slower effects (speedup)")));
|
||||
|
@ -267,6 +291,12 @@ void GameSettingsScreen::CreateViews() {
|
|||
texScalingChoice->HideChoice(3); // 3x
|
||||
texScalingChoice->HideChoice(5); // 5x
|
||||
}
|
||||
texScalingChoice->OnChoice.Add([&](EventParams &e) {
|
||||
if (g_Config.iTexScalingLevel != 1) {
|
||||
settingInfo_->Show(gr->T("UpscaleLevel Tip", "CPU heavy - some scaling may be delayed to avoid stutter"), e.v);
|
||||
}
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
texScalingChoice->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
static const char *texScaleAlgos[] = { "xBRZ", "Hybrid", "Bicubic", "Hybrid + Bicubic", };
|
||||
|
@ -303,6 +333,10 @@ void GameSettingsScreen::CreateViews() {
|
|||
graphicsSettings->Add(new ItemHeader(gr->T("Hack Settings", "Hack Settings (these WILL cause glitches)")));
|
||||
graphicsSettings->Add(new CheckBox(&g_Config.bTimerHack, gr->T("Timer Hack")));
|
||||
CheckBox *alphaHack = graphicsSettings->Add(new CheckBox(&g_Config.bDisableAlphaTest, gr->T("Disable Alpha Test (PowerVR speedup)")));
|
||||
alphaHack->OnClick.Add([&](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("DisableAlphaTest Tip", "Faster by sometimes drawing ugly boxes around things"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
alphaHack->OnClick.Handle(this, &GameSettingsScreen::OnShaderChange);
|
||||
alphaHack->SetDisabledPtr(&g_Config.bSoftwareRendering);
|
||||
|
||||
|
@ -339,6 +373,10 @@ void GameSettingsScreen::CreateViews() {
|
|||
|
||||
// We normally use software rendering to debug so put it in debugging.
|
||||
CheckBox *softwareGPU = graphicsSettings->Add(new CheckBox(&g_Config.bSoftwareRendering, gr->T("Software Rendering", "Software Rendering (experimental)")));
|
||||
softwareGPU->OnClick.Add([&](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("SoftGPU Tip", "Currently VERY slow"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
softwareGPU->OnClick.Handle(this, &GameSettingsScreen::OnSoftwareRendering);
|
||||
|
||||
if (PSP_IsInited())
|
||||
|
@ -467,7 +505,12 @@ void GameSettingsScreen::CreateViews() {
|
|||
#if defined(USING_WIN_UI)
|
||||
controlsSettings->Add(new CheckBox(&g_Config.bIgnoreWindowsKey, co->T("Ignore Windows Key")));
|
||||
#endif // #if defined(USING_WIN_UI)
|
||||
controlsSettings->Add(new PopupSliderChoiceFloat(&g_Config.fAnalogLimiterDeadzone, 0.0f, 1.0f, co->T("Analog Limiter"), 0.10f, screenManager(), "/ 1.0"));
|
||||
auto analogLimiter = new PopupSliderChoiceFloat(&g_Config.fAnalogLimiterDeadzone, 0.0f, 1.0f, co->T("Analog Limiter"), 0.10f, screenManager(), "/ 1.0");
|
||||
controlsSettings->Add(analogLimiter);
|
||||
analogLimiter->OnChange.Add([&](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("AnalogLimiter Tip", "When the analog limiter button is pressed"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
|
||||
ViewGroup *networkingSettingsScroll = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
networkingSettingsScroll->SetTag("GameSettingsNetworking");
|
||||
|
@ -528,7 +571,12 @@ void GameSettingsScreen::CreateViews() {
|
|||
|
||||
systemSettings->Add(new CheckBox(&g_Config.bFastMemory, sy->T("Fast Memory", "Fast Memory (Unstable)")))->OnClick.Handle(this, &GameSettingsScreen::OnJitAffectingSetting);
|
||||
|
||||
systemSettings->Add(new CheckBox(&g_Config.bSeparateCPUThread, sy->T("Multithreaded (experimental)")));
|
||||
auto separateCPUThread = new CheckBox(&g_Config.bSeparateCPUThread, sy->T("Multithreaded (experimental)"));
|
||||
systemSettings->Add(separateCPUThread);
|
||||
separateCPUThread->OnClick.Add([&](EventParams &e) {
|
||||
settingInfo_->Show(gr->T("Mulithreaded Tip", "Not always faster, causes glitches/crashing"), e.v);
|
||||
return UI::EVENT_CONTINUE;
|
||||
});
|
||||
systemSettings->Add(new CheckBox(&g_Config.bSeparateIOThread, sy->T("I/O on thread (experimental)")))->SetEnabled(!PSP_IsInited());
|
||||
static const char *ioTimingMethods[] = { "Fast (lag on slow storage)", "Host (bugs, less lag)", "Simulate UMD delays" };
|
||||
View *ioTimingMethod = systemSettings->Add(new PopupMultiChoice(&g_Config.iIOTimingMethod, sy->T("IO timing method"), ioTimingMethods, 0, ARRAY_SIZE(ioTimingMethods), sy->GetName(), screenManager()));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue