Merge pull request #16878 from hrydgard/selective-restore-to-default

Restore settings to default - let you choose what to reset
This commit is contained in:
Henrik Rydgård 2023-01-31 23:10:00 +01:00 committed by GitHub
commit 599bfed1b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 284 additions and 160 deletions

View File

@ -97,7 +97,7 @@ protected:
void update() override;
private:
UI::LinearLayout *box_;
UI::LinearLayout *box_ = nullptr;
UI::Button *defaultButton_ = nullptr;
std::string title_;
std::string button1_;

View File

@ -998,7 +998,8 @@ void TextView::GetContentDimensionsBySpec(const UIContext &dc, MeasureSpec horiz
bounds.w -= bulletOffset;
}
dc.MeasureTextRect(small_ ? dc.theme->uiFontSmall : dc.theme->uiFont, 1.0f, 1.0f, text_.c_str(), (int)text_.length(), bounds, &w, &h, textAlign_);
w += pad_ * 2.0f;
h += pad_ * 2.0f;
if (bullet_) {
w += bulletOffset;
}
@ -1044,9 +1045,9 @@ void TextView::Draw(UIContext &dc) {
if (shadow_) {
uint32_t shadowColor = 0x80000000;
dc.DrawTextRect(text_.c_str(), textBounds.Offset(1.0f, 1.0f), shadowColor, textAlign_);
dc.DrawTextRect(text_.c_str(), textBounds.Offset(1.0f + pad_, 1.0f + pad_), shadowColor, textAlign_);
}
dc.DrawTextRect(text_.c_str(), textBounds, textColor, textAlign_);
dc.DrawTextRect(text_.c_str(), textBounds.Offset(pad_, pad_), textColor, textAlign_);
if (small_) {
// If we changed font style, reset it.
dc.SetFontStyle(dc.theme->uiFont);

View File

@ -934,6 +934,7 @@ public:
void SetFocusable(bool focusable) { focusable_ = focusable; }
void SetClip(bool clip) { clip_ = clip; }
void SetBullet(bool bullet) { bullet_ = bullet; }
void SetPadding(float pad) { pad_ = pad; }
bool CanBeFocused() const override { return focusable_; }
@ -947,6 +948,7 @@ private:
bool focusable_;
bool clip_;
bool bullet_ = false;
float pad_ = 0.0f;
};
class TextEdit : public View {

View File

@ -1815,17 +1815,31 @@ const Path Config::FindConfigFile(const std::string &baseFilename) {
return filename;
}
void Config::RestoreDefaults() {
void Config::RestoreDefaults(RestoreSettingsBits whatToRestore) {
if (bGameSpecific) {
deleteGameConfig(gameId_);
createGameConfig(gameId_);
Load();
} else {
if (File::Exists(iniFilename_))
File::Delete(iniFilename_);
ClearRecentIsos();
currentDirectory = defaultCurrentDirectory;
if (whatToRestore & RestoreSettingsBits::SETTINGS) {
if (File::Exists(iniFilename_))
File::Delete(iniFilename_);
}
if (whatToRestore & RestoreSettingsBits::CONTROLS) {
if (File::Exists(controllerIniFilename_))
File::Delete(controllerIniFilename_);
}
if (whatToRestore & RestoreSettingsBits::RECENT) {
ClearRecentIsos();
currentDirectory = defaultCurrentDirectory;
}
if (whatToRestore & (RestoreSettingsBits::SETTINGS | RestoreSettingsBits::CONTROLS)) {
Load();
}
}
Load();
}
bool Config::hasGameConfig(const std::string &pGameId) {

View File

@ -526,7 +526,7 @@ public:
void Load(const char *iniFileName = nullptr, const char *controllerIniFilename = nullptr);
bool Save(const char *saveReason);
void Reload();
void RestoreDefaults();
void RestoreDefaults(RestoreSettingsBits whatToRestore);
//per game config managment, should maybe be in it's own class
void changeGameSpecific(const std::string &gameId = "", const std::string &title = "");

View File

@ -66,6 +66,13 @@ enum class GPUBackend {
VULKAN = 3,
};
enum class RestoreSettingsBits : int {
SETTINGS = 1,
CONTROLS = 2,
RECENT = 4,
};
ENUM_CLASS_BITOPS(RestoreSettingsBits);
inline std::string GPUBackendToString(GPUBackend backend) {
switch (backend) {
case GPUBackend::OPENGL:

View File

@ -212,22 +212,8 @@ void GameSettingsScreen::CreateViews() {
// Scrolling action menu to the right.
using namespace UI;
auto di = GetI18NCategory("Dialog");
auto gr = GetI18NCategory("Graphics");
auto co = GetI18NCategory("Controls");
auto a = GetI18NCategory("Audio");
auto sa = GetI18NCategory("Savedata");
auto se = GetI18NCategory("Search");
auto sy = GetI18NCategory("System");
auto n = GetI18NCategory("Networking");
auto ms = GetI18NCategory("MainSettings");
auto dev = GetI18NCategory("Developer");
auto ri = GetI18NCategory("RemoteISO");
auto ps = GetI18NCategory("PostShaders");
auto th = GetI18NCategory("Themes");
auto vr = GetI18NCategory("VR");
int deviceType = System_GetPropertyInt(SYSPROP_DEVICE_TYPE);
auto di = GetI18NCategory("Dialog");
root_ = new AnchorLayout(new LayoutParams(FILL_PARENT, FILL_PARENT));
@ -260,10 +246,59 @@ void GameSettingsScreen::CreateViews() {
settingInfo_->Show(oldSettingInfo_, nullptr);
}
// TODO: These currently point to global settings, not game specific ones.
// Graphics
LinearLayout *graphicsSettings = AddTab("GameSettingsGraphics", ms->T("Graphics"));
CreateGraphicsSettings(graphicsSettings);
LinearLayout *controlsSettings = AddTab("GameSettingsControls", ms->T("Controls"));
CreateControlsSettings(controlsSettings);
LinearLayout *audioSettings = AddTab("GameSettingsAudio", ms->T("Audio"));
CreateAudioSettings(audioSettings);
LinearLayout *networkingSettings = AddTab("GameSettingsNetworking", ms->T("Networking"));
CreateNetworkingSettings(networkingSettings);
LinearLayout *tools = AddTab("GameSettingsTools", ms->T("Tools"));
CreateToolsSettings(tools);
LinearLayout *systemSettings = AddTab("GameSettingsSystem", ms->T("System"));
systemSettings->SetSpacing(0);
CreateSystemSettings(systemSettings);
int deviceType = System_GetPropertyInt(SYSPROP_DEVICE_TYPE);
if (deviceType == DEVICE_TYPE_VR) {
LinearLayout *vrSettings = AddTab("GameSettingsVR", ms->T("VR"));
CreateVRSettings(vrSettings);
}
#if !defined(MOBILE_DEVICE) || PPSSPP_PLATFORM(ANDROID)
// Hide search if screen is too small.
if (dp_xres < dp_yres || dp_yres >= 500) {
auto se = GetI18NCategory("Search");
// Search
LinearLayout *searchSettings = AddTab("GameSettingsSearch", ms->T("Search"), true);
searchSettings->Add(new ItemHeader(se->T("Find settings")));
if (System_GetPropertyBool(SYSPROP_HAS_KEYBOARD)) {
searchSettings->Add(new ChoiceWithValueDisplay(&searchFilter_, se->T("Filter"), (const char *)nullptr))->OnClick.Handle(this, &GameSettingsScreen::OnChangeSearchFilter);
} else {
searchSettings->Add(new PopupTextInputChoice(&searchFilter_, se->T("Filter"), "", 64, screenManager()))->OnChange.Handle(this, &GameSettingsScreen::OnChangeSearchFilter);
}
clearSearchChoice_ = searchSettings->Add(new Choice(se->T("Clear filter")));
clearSearchChoice_->OnClick.Handle(this, &GameSettingsScreen::OnClearSearchFilter);
noSearchResults_ = searchSettings->Add(new TextView(se->T("No settings matched '%1'"), new LinearLayoutParams(Margins(20, 5))));
ApplySearchFilter();
}
#endif
}
// Graphics
void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings) {
auto gr = GetI18NCategory("Graphics");
auto vr = GetI18NCategory("VR");
using namespace UI;
graphicsSettings->Add(new ItemHeader(gr->T("Rendering Mode")));
@ -308,6 +343,8 @@ void GameSettingsScreen::CreateViews() {
return !g_Config.bSoftwareRendering && !g_Config.bSkipBufferEffects;
});
int deviceType = System_GetPropertyInt(SYSPROP_DEVICE_TYPE);
if (deviceType != DEVICE_TYPE_VR) {
CheckBox *softwareGPU = graphicsSettings->Add(new CheckBox(&g_Config.bSoftwareRendering, gr->T("Software Rendering", "Software Rendering (slow)")));
softwareGPU->SetEnabled(!PSP_IsInited());
@ -571,9 +608,13 @@ void GameSettingsScreen::CreateViews() {
#endif
graphicsSettings->Add(new CheckBox(&g_Config.bShowDebugStats, gr->T("Show Debug Statistics")))->OnClick.Handle(this, &GameSettingsScreen::OnJitAffectingSetting);
}
// Audio
LinearLayout *audioSettings = AddTab("GameSettingsAudio", ms->T("Audio"));
void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) {
using namespace UI;
auto a = GetI18NCategory("Audio");
auto ms = GetI18NCategory("MainSettings");
audioSettings->Add(new ItemHeader(ms->T("Audio")));
audioSettings->Add(new CheckBox(&g_Config.bEnableSound, a->T("Enable Sound")));
@ -631,9 +672,15 @@ void GameSettingsScreen::CreateViews() {
PopupMultiChoiceDynamic *MicChoice = audioSettings->Add(new PopupMultiChoiceDynamic(&g_Config.sMicDevice, a->T("Microphone Device"), micList, nullptr, screenManager()));
MicChoice->OnChoice.Handle(this, &GameSettingsScreen::OnMicDeviceChange);
}
}
// Control
LinearLayout *controlsSettings = AddTab("GameSettingsControls", ms->T("Controls"));
void GameSettingsScreen::CreateControlsSettings(UI::ViewGroup *controlsSettings) {
using namespace UI;
auto co = GetI18NCategory("Controls");
auto ms = GetI18NCategory("MainSettings");
int deviceType = System_GetPropertyInt(SYSPROP_DEVICE_TYPE);
controlsSettings->Add(new ItemHeader(ms->T("Controls")));
controlsSettings->Add(new Choice(co->T("Control Mapping")))->OnClick.Handle(this, &GameSettingsScreen::OnControlMapping);
@ -723,7 +770,7 @@ void GameSettingsScreen::CreateViews() {
controlsSettings->Add(new ItemHeader(co->T("Mouse", "Mouse settings")));
CheckBox *mouseControl = controlsSettings->Add(new CheckBox(&g_Config.bMouseControl, co->T("Use Mouse Control")));
mouseControl->OnClick.Add([=](EventParams &e) {
if(g_Config.bMouseControl)
if (g_Config.bMouseControl)
settingInfo_->Show(co->T("MouseControl Tip", "You can now map mouse in control mapping screen by pressing the 'M' icon."), e.v);
return UI::EVENT_CONTINUE;
});
@ -732,8 +779,13 @@ void GameSettingsScreen::CreateViews() {
controlsSettings->Add(new PopupSliderChoiceFloat(&g_Config.fMouseSmoothing, 0.0f, 0.95f, co->T("Mouse smoothing"), 0.05f, screenManager(), "x"))->SetEnabledPtr(&g_Config.bMouseControl);
#endif
}
}
LinearLayout *networkingSettings = AddTab("GameSettingsNetworking", ms->T("Networking"));
void GameSettingsScreen::CreateNetworkingSettings(UI::ViewGroup *networkingSettings) {
using namespace UI;
auto n = GetI18NCategory("Networking");
auto ms = GetI18NCategory("MainSettings");
networkingSettings->Add(new ItemHeader(ms->T("Networking")));
@ -818,8 +870,16 @@ void GameSettingsScreen::CreateViews() {
networkingSettings->Add(new PopupSliderChoice(&g_Config.iPortOffset, 0, 60000, n->T("Port offset", "Port offset (0 = PSP compatibility)"), 100, screenManager()));
networkingSettings->Add(new PopupSliderChoice(&g_Config.iMinTimeout, 0, 15000, n->T("Minimum Timeout", "Minimum Timeout (override in ms, 0 = default)"), 50, screenManager()));
networkingSettings->Add(new CheckBox(&g_Config.bForcedFirstConnect, n->T("Forced First Connect", "Forced First Connect (faster Connect)")));
}
LinearLayout *tools = AddTab("GameSettingsTools", ms->T("Tools"));
void GameSettingsScreen::CreateToolsSettings(UI::ViewGroup *tools) {
using namespace UI;
auto sa = GetI18NCategory("Savedata");
auto sy = GetI18NCategory("System");
auto ms = GetI18NCategory("MainSettings");
auto dev = GetI18NCategory("Developer");
auto ri = GetI18NCategory("RemoteISO");
tools->Add(new ItemHeader(ms->T("Tools")));
// These were moved here so use the wrong translation objects, to avoid having to change all inis... This isn't a sustainable situation :P
@ -827,9 +887,14 @@ void GameSettingsScreen::CreateViews() {
tools->Add(new Choice(dev->T("System Information")))->OnClick.Handle(this, &GameSettingsScreen::OnSysInfo);
tools->Add(new Choice(sy->T("Developer Tools")))->OnClick.Handle(this, &GameSettingsScreen::OnDeveloperTools);
tools->Add(new Choice(ri->T("Remote disc streaming")))->OnClick.Handle(this, &GameSettingsScreen::OnRemoteISO);
}
// System
LinearLayout *systemSettings = AddTab("GameSettingsSystem", ms->T("System"));
void GameSettingsScreen::CreateSystemSettings(UI::ViewGroup *systemSettings) {
using namespace UI;
auto sy = GetI18NCategory("System");
auto vr = GetI18NCategory("VR");
auto th = GetI18NCategory("Themes");
systemSettings->Add(new ItemHeader(sy->T("UI")));
@ -849,8 +914,9 @@ void GameSettingsScreen::CreateViews() {
screenManager()->RecreateAllViews();
if (host)
host->UpdateUI();
return UI::EVENT_DONE;
});
return UI::EVENT_DONE;
}
);
if (e.v)
langScreen->SetPopupOrigin(e.v);
screenManager()->push(langScreen);
@ -875,10 +941,11 @@ void GameSettingsScreen::CreateViews() {
PopupMultiChoiceDynamic *theme = systemSettings->Add(new PopupMultiChoiceDynamic(&g_Config.sThemeName, sy->T("Theme"), GetThemeInfoNames(), th->GetName(), screenManager()));
theme->OnChoice.Add([=](EventParams &e) {
UpdateTheme(screenManager()->getUIContext());
return UI::EVENT_CONTINUE;
});
Draw::DrawContext *draw = screenManager()->getDrawContext();
if (!draw->GetBugs().Has(Draw::Bugs::RASPBERRY_SHADER_COMP_HANG)) {
// We use shaders without tint capability on hardware with this driver bug.
PopupSliderChoiceFloat *tint = new PopupSliderChoiceFloat(&g_Config.fUITint, 0.0, 1.0, sy->T("Color Tint"), 0.01f, screenManager());
@ -996,6 +1063,8 @@ void GameSettingsScreen::CreateViews() {
#if PPSSPP_PLATFORM(ANDROID)
if (System_GetPropertyInt(SYSPROP_DEVICE_TYPE) == DEVICE_TYPE_MOBILE) {
auto co = GetI18NCategory("Controls");
static const char *screenRotation[] = { "Auto", "Landscape", "Portrait", "Landscape Reversed", "Portrait Reversed", "Landscape Auto" };
PopupMultiChoice *rot = systemSettings->Add(new PopupMultiChoice(&g_Config.iScreenRotation, co->T("Screen Rotation"), screenRotation, 0, ARRAY_SIZE(screenRotation), co->GetName(), screenManager()));
rot->OnChoice.Handle(this, &GameSettingsScreen::OnScreenRotation);
@ -1005,7 +1074,6 @@ void GameSettingsScreen::CreateViews() {
}
}
#endif
systemSettings->Add(new CheckBox(&g_Config.bCheckForNewVersion, sy->T("VersionCheck", "Check for new versions of PPSSPP")));
systemSettings->Add(new Choice(sy->T("Restore Default Settings")))->OnClick.Handle(this, &GameSettingsScreen::OnRestoreDefaultSettings);
systemSettings->Add(new CheckBox(&g_Config.bEnableStateUndo, sy->T("Savestate slot backups")));
@ -1015,6 +1083,7 @@ void GameSettingsScreen::CreateViews() {
systemSettings->Add(new CheckBox(&g_Config.bBypassOSKWithKeyboard, sy->T("Use system native keyboard")));
systemSettings->Add(new CheckBox(&g_Config.bCacheFullIsoInRam, sy->T("Cache ISO in RAM", "Cache full ISO in RAM")))->SetEnabled(!PSP_IsInited());
systemSettings->Add(new CheckBox(&g_Config.bCheckForNewVersion, sy->T("VersionCheck", "Check for new versions of PPSSPP")));
systemSettings->Add(new ItemHeader(sy->T("Cheats", "Cheats")));
CheckBox *enableCheats = systemSettings->Add(new CheckBox(&g_Config.bEnableCheats, sy->T("Enable Cheats")));
@ -1022,10 +1091,9 @@ void GameSettingsScreen::CreateViews() {
enableReportsCheckbox_->SetEnabled(Reporting::IsSupported());
return UI::EVENT_CONTINUE;
});
systemSettings->SetSpacing(0);
systemSettings->Add(new ItemHeader(sy->T("PSP Settings")));
static const char *models[] = {"PSP-1000", "PSP-2000/3000"};
static const char *models[] = { "PSP-1000", "PSP-2000/3000" };
systemSettings->Add(new PopupMultiChoice(&g_Config.iPSPModel, sy->T("PSP Model"), models, 0, ARRAY_SIZE(models), sy->GetName(), screenManager()))->SetEnabled(!PSP_IsInited());
// TODO: Come up with a way to display a keyboard for mobile users,
// so until then, this is Windows/Desktop only.
@ -1048,58 +1116,41 @@ void GameSettingsScreen::CreateViews() {
systemSettings->Add(new CheckBox(&g_Config.bSaveLoadResetsAVdumping, sy->T("Reset Recording on Save/Load State")));
#endif
systemSettings->Add(new CheckBox(&g_Config.bDayLightSavings, sy->T("Day Light Saving")));
static const char *dateFormat[] = { "YYYYMMDD", "MMDDYYYY", "DDMMYYYY"};
static const char *dateFormat[] = { "YYYYMMDD", "MMDDYYYY", "DDMMYYYY" };
systemSettings->Add(new PopupMultiChoice(&g_Config.iDateFormat, sy->T("Date Format"), dateFormat, 0, 3, sy->GetName(), screenManager()));
static const char *timeFormat[] = { "24HR", "12HR" };
systemSettings->Add(new PopupMultiChoice(&g_Config.iTimeFormat, sy->T("Time Format"), timeFormat, 0, 2, sy->GetName(), screenManager()));
static const char *buttonPref[] = { "Use O to confirm", "Use X to confirm" };
systemSettings->Add(new PopupMultiChoice(&g_Config.iButtonPreference, sy->T("Confirmation Button"), buttonPref, 0, 2, sy->GetName(), screenManager()));
}
#if !defined(MOBILE_DEVICE) || PPSSPP_PLATFORM(ANDROID)
// Hide search if screen is too small.
if (dp_xres < dp_yres || dp_yres >= 500) {
// Search
LinearLayout *searchSettings = AddTab("GameSettingsSearch", ms->T("Search"), true);
void GameSettingsScreen::CreateVRSettings(UI::ViewGroup *vrSettings) {
using namespace UI;
searchSettings->Add(new ItemHeader(se->T("Find settings")));
if (System_GetPropertyBool(SYSPROP_HAS_KEYBOARD)) {
searchSettings->Add(new ChoiceWithValueDisplay(&searchFilter_, se->T("Filter"), (const char *)nullptr))->OnClick.Handle(this, &GameSettingsScreen::OnChangeSearchFilter);
} else {
searchSettings->Add(new PopupTextInputChoice(&searchFilter_, se->T("Filter"), "", 64, screenManager()))->OnChange.Handle(this, &GameSettingsScreen::OnChangeSearchFilter);
}
clearSearchChoice_ = searchSettings->Add(new Choice(se->T("Clear filter")));
clearSearchChoice_->OnClick.Handle(this, &GameSettingsScreen::OnClearSearchFilter);
noSearchResults_ = searchSettings->Add(new TextView(se->T("No settings matched '%1'"), new LinearLayoutParams(Margins(20, 5))));
auto vr = GetI18NCategory("VR");
ApplySearchFilter();
}
#endif
vrSettings->Add(new ItemHeader(vr->T("Virtual reality")));
vrSettings->Add(new CheckBox(&g_Config.bEnableVR, vr->T("Virtual reality")));
CheckBox *vr6DoF = vrSettings->Add(new CheckBox(&g_Config.bEnable6DoF, vr->T("6DoF movement")));
vr6DoF->SetEnabledPtr(&g_Config.bEnableVR);
vrSettings->Add(new CheckBox(&g_Config.bEnableStereo, vr->T("Stereoscopic vision (Experimental)")));
vrSettings->Add(new CheckBox(&g_Config.bForce72Hz, vr->T("Force 72Hz update")));
if (deviceType == DEVICE_TYPE_VR) {
LinearLayout *vrSettings = AddTab("GameSettingsVR", ms->T("VR"));
vrSettings->Add(new ItemHeader(vr->T("Virtual reality")));
vrSettings->Add(new CheckBox(&g_Config.bEnableVR, vr->T("Virtual reality")));
CheckBox *vr6DoF = vrSettings->Add(new CheckBox(&g_Config.bEnable6DoF, vr->T("6DoF movement")));
vr6DoF->SetEnabledPtr(&g_Config.bEnableVR);
vrSettings->Add(new CheckBox(&g_Config.bEnableStereo, vr->T("Stereoscopic vision (Experimental)")));
vrSettings->Add(new CheckBox(&g_Config.bForce72Hz, vr->T("Force 72Hz update")));
vrSettings->Add(new ItemHeader(vr->T("VR camera")));
vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fCanvasDistance, 1.0f, 15.0f, vr->T("Distance to 2D menus and scenes"), 1.0f, screenManager(), ""));
vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fFieldOfViewPercentage, 100.0f, 200.0f, vr->T("Field of view scale"), 10.0f, screenManager(), vr->T("% of native FoV")));
vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fHeadUpDisplayScale, 0.0f, 1.5f, vr->T("Heads-up display scale"), 0.1f, screenManager(), ""));
vrSettings->Add(new ItemHeader(vr->T("VR camera")));
vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fCanvasDistance, 1.0f, 15.0f, vr->T("Distance to 2D menus and scenes"), 1.0f, screenManager(), ""));
vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fFieldOfViewPercentage, 100.0f, 200.0f, vr->T("Field of view scale"), 10.0f, screenManager(), vr->T("% of native FoV")));
vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fHeadUpDisplayScale, 0.0f, 1.5f, vr->T("Heads-up display scale"), 0.1f, screenManager(), ""));
vrSettings->Add(new ItemHeader(vr->T("Experts only")));
static const char *vrHeadRotations[] = { vr->T("Disabled"), vr->T("Horizontal only"), vr->T("Horizontal and vertical") };
vrSettings->Add(new PopupMultiChoice(&g_Config.iHeadRotation, vr->T("Map HMD rotations on keys instead of VR camera"), vrHeadRotations, 0, ARRAY_SIZE(vrHeadRotations), vr->GetName(), screenManager()));
PopupSliderChoiceFloat *vrHeadRotationScale = vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fHeadRotationScale, 0.1f, 10.0f, vr->T("Game camera rotation step per frame"), 0.1f, screenManager(), "°"));
vrHeadRotationScale->SetEnabledFunc([&] { return g_Config.iHeadRotation > 0; });
CheckBox *vrHeadRotationSmoothing = vrSettings->Add(new CheckBox(&g_Config.bHeadRotationSmoothing, vr->T("Game camera uses rotation smoothing")));
vrHeadRotationSmoothing->SetEnabledFunc([&] { return g_Config.iHeadRotation > 0; });
vrSettings->Add(new CheckBox(&g_Config.bEnableMotions, vr->T("Map controller movements to keys")));
PopupSliderChoiceFloat *vrMotions = vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fMotionLength, 0.3f, 1.0f, vr->T("Motion needed to generate action"), 0.1f, screenManager(), vr->T("m")));
vrMotions->SetEnabledPtr(&g_Config.bEnableMotions);
}
vrSettings->Add(new ItemHeader(vr->T("Experts only")));
static const char *vrHeadRotations[] = { vr->T("Disabled"), vr->T("Horizontal only"), vr->T("Horizontal and vertical") };
vrSettings->Add(new PopupMultiChoice(&g_Config.iHeadRotation, vr->T("Map HMD rotations on keys instead of VR camera"), vrHeadRotations, 0, ARRAY_SIZE(vrHeadRotations), vr->GetName(), screenManager()));
PopupSliderChoiceFloat *vrHeadRotationScale = vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fHeadRotationScale, 0.1f, 10.0f, vr->T("Game camera rotation step per frame"), 0.1f, screenManager(), "°"));
vrHeadRotationScale->SetEnabledFunc([&] { return g_Config.iHeadRotation > 0; });
CheckBox *vrHeadRotationSmoothing = vrSettings->Add(new CheckBox(&g_Config.bHeadRotationSmoothing, vr->T("Game camera uses rotation smoothing")));
vrHeadRotationSmoothing->SetEnabledFunc([&] { return g_Config.iHeadRotation > 0; });
vrSettings->Add(new CheckBox(&g_Config.bEnableMotions, vr->T("Map controller movements to keys")));
PopupSliderChoiceFloat *vrMotions = vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fMotionLength, 0.3f, 1.0f, vr->T("Motion needed to generate action"), 0.1f, screenManager(), vr->T("m")));
vrMotions->SetEnabledPtr(&g_Config.bEnableMotions);
}
UI::LinearLayout *GameSettingsScreen::AddTab(const char *tag, const std::string &title, bool isSearch) {
@ -1845,27 +1896,24 @@ void DeveloperToolsScreen::onFinish(DialogResult result) {
}
void GameSettingsScreen::CallbackRestoreDefaults(bool yes) {
if (yes)
g_Config.RestoreDefaults();
if (yes) {
g_Config.RestoreDefaults(RestoreSettingsBits::SETTINGS);
}
host->UpdateUI();
}
UI::EventReturn GameSettingsScreen::OnRestoreDefaultSettings(UI::EventParams &e) {
auto dev = GetI18NCategory("Developer");
auto di = GetI18NCategory("Dialog");
if (g_Config.bGameSpecific)
{
auto sy = GetI18NCategory("System");
if (g_Config.bGameSpecific) {
screenManager()->push(
new PromptScreen(gamePath_, dev->T("RestoreGameDefaultSettings", "Are you sure you want to restore the game-specific settings back to the ppsspp defaults?\n"), di->T("OK"), di->T("Cancel"),
std::bind(&GameSettingsScreen::CallbackRestoreDefaults, this, std::placeholders::_1)));
} else {
const char *title = sy->T("Restore Default Settings");
screenManager()->push(new RestoreSettingsScreen(title));
}
else
{
screenManager()->push(
new PromptScreen(gamePath_, dev->T("RestoreDefaultSettings", "Are you sure you want to restore all settings(except control mapping)\nback to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings."), di->T("OK"), di->T("Cancel"),
std::bind(&GameSettingsScreen::CallbackRestoreDefaults, this, std::placeholders::_1)));
}
return UI::EVENT_DONE;
}
@ -2207,3 +2255,32 @@ void GestureMappingScreen::CreateViews() {
vert->Add(new ItemHeader(co->T("Double tap")));
vert->Add(new PopupMultiChoice(&g_Config.iDoubleTapGesture, mc->T("Double tap button"), gestureButton, 0, ARRAY_SIZE(gestureButton), mc->GetName(), screenManager()))->SetEnabledPtr(&g_Config.bGestureControlEnabled);
}
RestoreSettingsScreen::RestoreSettingsScreen(const char *title)
: PopupScreen(title, "OK", "Cancel") {}
void RestoreSettingsScreen::CreatePopupContents(UI::ViewGroup *parent) {
using namespace UI;
// Carefully re-use various translations.
auto ga = GetI18NCategory("Game");
auto ms = GetI18NCategory("MainSettings");
auto mm = GetI18NCategory("MainMenu");
auto dev = GetI18NCategory("Developer");
const char *text = dev->T(
"RestoreDefaultSettings",
"Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.");
TextView *textView = parent->Add(new TextView(text, FLAG_WRAP_TEXT, false));
textView->SetPadding(10.0f);
parent->Add(new BitCheckBox(&restoreFlags_, (int)RestoreSettingsBits::SETTINGS, ga->T("Game Settings")));
parent->Add(new BitCheckBox(&restoreFlags_, (int)RestoreSettingsBits::CONTROLS, ga->T("Controls")));
parent->Add(new BitCheckBox(&restoreFlags_, (int)RestoreSettingsBits::RECENT, mm->T("Recent")));
}
void RestoreSettingsScreen::OnCompleted(DialogResult result) {
if (result == DialogResult::DR_OK) {
g_Config.RestoreDefaults((RestoreSettingsBits)restoreFlags_);
}
}

View File

@ -21,7 +21,9 @@
#include <condition_variable>
#include <mutex>
#include <thread>
#include "Common/UI/UIScreen.h"
#include "Core/ConfigValues.h"
#include "UI/MiscScreens.h"
// Per-game settings screen - enables you to configure graphic options, control options, etc
@ -45,31 +47,39 @@ protected:
void RecreateViews() override;
private:
void CreateGraphicsSettings(UI::ViewGroup *graphicsSettings);
void CreateControlsSettings(UI::ViewGroup *tools);
void CreateAudioSettings(UI::ViewGroup *audioSettings);
void CreateNetworkingSettings(UI::ViewGroup *networkingSettings);
void CreateToolsSettings(UI::ViewGroup *tools);
void CreateSystemSettings(UI::ViewGroup *systemSettings);
void CreateVRSettings(UI::ViewGroup *vrSettings);
UI::LinearLayout *AddTab(const char *tag, const std::string &title, bool isSearch = false);
void ApplySearchFilter();
void TriggerRestart(const char *why);
std::string gameID_;
UI::CheckBox *enableReportsCheckbox_;
UI::Choice *layoutEditorChoice_;
UI::Choice *displayEditor_;
UI::CheckBox *enableReportsCheckbox_ = nullptr;
UI::Choice *layoutEditorChoice_ = nullptr;
UI::Choice *displayEditor_ = nullptr;
UI::Choice *backgroundChoice_ = nullptr;
UI::PopupMultiChoice *resolutionChoice_;
UI::CheckBox *frameSkipAuto_;
SettingInfoMessage *settingInfo_;
UI::Choice *clearSearchChoice_;
UI::TextView *noSearchResults_;
UI::PopupMultiChoice *resolutionChoice_ = nullptr;
UI::CheckBox *frameSkipAuto_ = nullptr;
SettingInfoMessage *settingInfo_ = nullptr;
UI::Choice *clearSearchChoice_ = nullptr;
UI::TextView *noSearchResults_ = nullptr;
#ifdef _WIN32
UI::CheckBox *SavePathInMyDocumentChoice;
UI::CheckBox *SavePathInOtherChoice;
UI::CheckBox *SavePathInMyDocumentChoice = nullptr;
UI::CheckBox *SavePathInOtherChoice = nullptr;
// Used to enable/disable the above two options.
bool installed_;
bool otherinstalled_;
bool installed_ = false;
bool otherinstalled_ = false;
#endif
std::string memstickDisplay_;
UI::TabHolder *tabHolder_;
UI::TabHolder *tabHolder_ = nullptr;
std::vector<UI::LinearLayout *> settingTabContents_;
std::vector<UI::TextView *> settingTabFilterNotices_;
@ -125,18 +135,18 @@ private:
UI::EventReturn OnClearSearchFilter(UI::EventParams &e);
// Temporaries to convert setting types, cache enabled, etc.
int iAlternateSpeedPercent1_;
int iAlternateSpeedPercent2_;
int iAlternateSpeedPercentAnalog_;
int prevInflightFrames_;
int iAlternateSpeedPercent1_ = 0;
int iAlternateSpeedPercent2_ = 0;
int iAlternateSpeedPercentAnalog_ = 0;
int prevInflightFrames_ = -1;
bool enableReports_ = false;
bool enableReportsSet_ = false;
bool analogSpeedMapped_ = false;
std::string searchFilter_;
//edit the game-specific settings and restore the global settings after exiting
bool editThenRestore_;
// edit the game-specific settings and restore the global settings after exiting
bool editThenRestore_ = false;
// Android-only
std::string pendingMemstickFolder_;
@ -205,6 +215,7 @@ protected:
private:
void ResolverThread();
void SendEditKey(int keyCode, int flags = 0);
UI::EventReturn OnNumberClick(UI::EventParams &e);
UI::EventReturn OnPointClick(UI::EventParams &e);
UI::EventReturn OnDeleteClick(UI::EventParams &e);
@ -244,3 +255,14 @@ public:
const char *tag() const override { return "GestureMapping"; }
};
class RestoreSettingsScreen : public PopupScreen {
public:
RestoreSettingsScreen(const char *title);
void CreatePopupContents(UI::ViewGroup *parent) override;
const char *tag() const override { return "RestoreSettingsScreen"; }
private:
void OnCompleted(DialogResult result) override;
int restoreFlags_ = (int)(RestoreSettingsBits::SETTINGS); // RestoreSettingsBits enum
};

1
Windows/.gitignore vendored
View File

@ -1,2 +1,3 @@
*.VC.VC.opendb
*.VC.db
enc_temp_folder

View File

@ -262,7 +262,7 @@ Random = ‎عشوائي
Replace textures = ‎إستبدال الرسوم
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = ‎شغل فحوص المعالج

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Run CPU tests

View File

@ -254,7 +254,7 @@ Random = Aleatori
Replace textures = Reemplaçar textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Esteu segur que voleu restablir els ajustaments de fàbrica?\nEls canvis en els controls no s'esborraran.\n\nAixò no es pot desfer.\nReinicia PPSSPP per a que els canvis tenguin efecte.
RestoreDefaultSettings = Esteu segur que voleu restablir els ajustaments de fàbrica?\n\nAixò no es pot desfer.\nReinicia PPSSPP per a que els canvis tenguin efecte.
RestoreGameDefaultSettings = Esteu segur que voleu restablir els paràmetres de joc\na els paràmetres per defecte de PPSSPP?
Resume = Resume
Run CPU Tests = Proves de CPU

View File

@ -254,7 +254,7 @@ Random = Náhodné
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Jste si jisti obnovou všech nastavení zpět na jejich výchozí hodnoty?\nNastavení kontroly mapování nebude změněno.\n\nToto nelze vrátit zpět.\nPo obnově nastavení prosím restartujte PPSSPP.
RestoreDefaultSettings = Jste si jisti obnovou všech nastavení zpět na jejich výchozí hodnoty?\n\nToto nelze vrátit zpět.\nPo obnově nastavení prosím restartujte PPSSPP.
RestoreGameDefaultSettings = Jste si jisti obnovou nastavení hry\nzpět na výchozí hodnoty PPSSPP?
Resume = Resume
Run CPU Tests = Spustit zkoušky CPU

View File

@ -254,7 +254,7 @@ Random = Tilfældig
Replace textures = Erstat textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Er du sikker på at du vil sætte indstillinger tilbage til standard?\nIndstilling af tasteplacering ændres ikke.\n\n\nDu kan ikke fortryde.\nGenstart venligst PPSSPP for at ændringer aktiveres.
RestoreDefaultSettings = Er du sikker på at du vil sætte indstillinger tilbage til standard?\n\nDu kan ikke fortryde.\nGenstart venligst PPSSPP for at ændringer aktiveres.
RestoreGameDefaultSettings = Er du sikker på at du vil nustille de spilspecifikke\nindstillinger tilbage til standard?
Resume = Resume
Run CPU Tests = Kør CPU test

View File

@ -254,7 +254,7 @@ Random = Zufall
Replace textures = Texturen ersetzen
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Sind Sie sicher, dass Sie alle Standardeinstellungen\n(außer die Tastenbelegung) wiederherstellen wollen?\n\nDies kann nicht rückgängig gemacht werden.\n\nBitte starten Sie PPSSPP nach Wiederherstellung neu.
RestoreDefaultSettings = Sind Sie sicher, dass Sie alle Standardeinstellungen\n\nDies kann nicht rückgängig gemacht werden.\n\nBitte starten Sie PPSSPP nach Wiederherstellung neu.
RestoreGameDefaultSettings = Wollen Sie wirklich die spielspezifischen Einstellungen\nauf die Werkseinstellungen von PPSSPP zurücksetzen?
Resume = Resume
Run CPU Tests = CPU Test starten

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Pajalanni tes CPU

View File

@ -278,7 +278,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Run CPU tests

View File

@ -254,7 +254,7 @@ Random = Aleatorio
Replace textures = remplazar texturas
Reset = Reiniciar
Reset limited logging = Reiniciar registro limitado
RestoreDefaultSettings = ¿Seguro que quieres volver a los ajustes de fábrica?\nLos cambios en los controles no se borrarán.\n\nNo puedes deshacer esto.\nReinicia PPSSPP para que los cambios tengan efecto.
RestoreDefaultSettings = ¿Seguro que quieres volver a los ajustes de fábrica?\n\nNo puedes deshacer esto.\nReinicia PPSSPP para que los cambios tengan efecto.
RestoreGameDefaultSettings = ¿Seguro que quieres reestablecer los ajustes del juego\na los ajustes por defecto de PPSSPP?
Resume = Reanudar
Run CPU Tests = Pruebas de CPU

View File

@ -254,7 +254,7 @@ Random = Aleatorio
Replace textures = Remplazar texturas
Reset = Reset
Reset limited logging = Reiniciar registro límitado
RestoreDefaultSettings = ¿Seguro que quieres volver a los ajustes de fábrica?\nLos cambios en los controles no se borrarán.\n\nNo puedes deshacer esto.\nReinicia PPSSPP para que los cambios tengan efecto.
RestoreDefaultSettings = ¿Seguro que quieres volver a los ajustes de fábrica?\n\nNo puedes deshacer esto.\nReinicia PPSSPP para que los cambios tengan efecto.
RestoreGameDefaultSettings = ¿Seguro que quieres reestablecer los ajustes del juego\na los ajustes por defecto de PPSSPP?
Resume = Reanudar
Run CPU Tests = Ejecutando pruebas de CPU

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Suorita suoritin testi

View File

@ -254,7 +254,7 @@ Random = Aléatoire
Replace textures = Remplacer les textures
Reset = Reset
Reset limited logging = Réinitialiser le journal limité
RestoreDefaultSettings = Êtes-vous sûr de vouloir restaurer tous les paramètres (sauf\nla réassignation des commandes) par défaut ?\n\nVous ne pourrez pas revenir en arrière.\nVeuillez redémarrer PPSSPP pour appliquer\nles changements.
RestoreDefaultSettings = Êtes-vous sûr de vouloir restaurer tous les paramètres par défaut ?\n\nVous ne pourrez pas revenir en arrière.\nVeuillez redémarrer PPSSPP pour appliquer\nles changements.
RestoreGameDefaultSettings = Êtes-vous sûr de vouloir restaurer tous les paramètres\nspécifiques au jeu à leur valeur par défaut de PPSSPP ?
Resume = Reprendre
Run CPU Tests = Exécuter des tests CPU

View File

@ -254,7 +254,7 @@ Random = Aleatorio
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Seguro que queres volver ós axustes de fábrica?\nOs cambios nos controis non se borrarán.\n\nNon podes desfacer isto.\nReinicia PPSSPP para que os cambios teñan efecto.
RestoreDefaultSettings = Seguro que queres volver ós axustes de fábrica?\n\nNon podes desfacer isto.\nReinicia PPSSPP para que os cambios teñan efecto.
RestoreGameDefaultSettings = Seguro que queres reestablecer os axustes do xogo\nós axustes por defecto de PPSSPP?
Resume = Resume
Run CPU Tests = Probas de CPU

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = הרץ בדיקות מעבד

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = דבעמ תוקידב ץרה

View File

@ -254,7 +254,7 @@ Random = Nasumično
Replace textures = Zamijeni teksture
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Jesi li siguran da želiš vratiti sve postavke na zadano?\nPostavke kontroli nisu izmijenjene.\n\nNe možeš poništiti ovo.\nPonovo pokrenite PPSSPP za izmijenu postavki.
RestoreDefaultSettings = Jesi li siguran da želiš vratiti sve postavke na zadano?\n\nNe možeš poništiti ovo.\nPonovo pokrenite PPSSPP za izmijenu postavki.
RestoreGameDefaultSettings = Jesi li siguran da želiš vratiti igrom-specifične postavke \nna PPSSPP zadane postavke?
Resume = Resume
Run CPU Tests = Pokreni CPU testove

View File

@ -254,7 +254,7 @@ Random = Véletlenszerű
Replace textures = Textúrák kicserélése
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Biztos vagy benne, hogy mindent az alapértelmezettre állítasz?\nA gombbeállítások nem változnak.\n\n\nNem vonható vissza.\nIndítsd újra a PPSSPP-t a beállítások érvényesítéséhez.
RestoreDefaultSettings = Biztos vagy benne, hogy mindent az alapértelmezettre állítasz?\n\nNem vonható vissza.\nIndítsd újra a PPSSPP-t a beállítások érvényesítéséhez.
RestoreGameDefaultSettings = Biztos vagy benne, hogy minden játék-specifikus beállítást\nvisszaállítáasz a PPSSPP alapértelmezettre?
Resume = Resume
Run CPU Tests = CPU tesztek futtatása

View File

@ -254,7 +254,7 @@ Random = Acak
Replace textures = Ganti tekstur
Reset = Atur ulang
Reset limited logging = Atur ulang pencatatan terbatas
RestoreDefaultSettings = Apakah Anda yakin ingin mengembalikan semua pengaturan ke awal?\nPengaturan pemetaan kendali tidak berubah.\n\nAksi ini bersifat permanen.\nSilakan mulai ulang PPSSPP agar perubahan ini bisa diterapkan.
RestoreDefaultSettings = Apakah Anda yakin ingin mengembalikan semua pengaturan ke awal?\n\nAksi ini bersifat permanen.\nSilakan mulai ulang PPSSPP agar perubahan ini bisa diterapkan.
RestoreGameDefaultSettings = Apakah Anda yakin ingin mengembalikan pengaturan permainan\nkembali ke pengaturan awal PPSSPP?
Resume = Lanjutkan
Run CPU Tests = Jalankan pengujian CPU

View File

@ -254,7 +254,7 @@ Random = Casuale
Replace textures = Sostituisci textures
Reset = Reset
Reset limited logging = Reset del logging limitato
RestoreDefaultSettings = Si desidera davvero ripristinare le impostazioni?\nImpostazioni dei Controlli non sono cambiate.\n\n\nQuest'azione non può essere annullata.\nRiavviare PPSSPP per caricare i cambiamenti.
RestoreDefaultSettings = Si desidera davvero ripristinare le impostazioni?\n\n\nQuest'azione non può essere annullata.\nRiavviare PPSSPP per caricare i cambiamenti.
RestoreGameDefaultSettings = Si desidera davvero ripristinare le impostazioni specifiche per il gioco\nai valori predefiniti?
Resume = Ripristina
Run CPU Tests = Fai Test CPU

View File

@ -254,7 +254,7 @@ Random = Acak
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Apa panjenengan yakin arep mulihake kabeh setelan bali menyang sing awal?Setelan pemetaan Control ora diganti.Avatar sing Rika unggahna ora bisa batalaken iki.monggo miwiti PPSSPP kanggo owah-owahan kanggo ditrapake.
RestoreDefaultSettings = Apa panjenengan yakin arep mulihake kabeh setelan bali menyang sing awal?\nAvatar sing Rika unggahna ora bisa batalaken iki.\nMonggo miwiti PPSSPP kanggo owah-owahan kanggo ditrapake.
RestoreGameDefaultSettings = Apa panjenengan yakin arep mulihake setelan-game tartamtu back kanggo awal PPSSPP?
Resume = Resume
Run CPU Tests = Mbukak Tes CPU

View File

@ -254,7 +254,7 @@ Random = 랜덤
Replace textures = 텍스처 교체
Reset = 재설정
Reset limited logging = 제한된 로깅 재설정
RestoreDefaultSettings = 모든 설정을 기본값으로 되돌리겠습니까?\n제어 매핑 설정은 변경되지 않습니다.\n\n이 작업은 취소할 수 없습니다.\n변경 사항을 적용하려면 PPSSPP를 다시 시작하세요.
RestoreDefaultSettings = 모든 설정을 기본값으로 되돌리겠습니까?\n\n이 작업은 취소할 수 없습니다.\n변경 사항을 적용하려면 PPSSPP를 다시 시작하세요.
RestoreGameDefaultSettings = 게임별 설정을\nPPSSPP 기본값으로 복원할까요?
Resume = 다시 시작
Run CPU Tests = CPU 테스트 실행

View File

@ -254,7 +254,7 @@ Random = ສຸມ
Replace textures = ແທນທີ່ພື້ນຜິວ
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = ເຈົ້າແນ່ໃຈຫຼືບໍ່ວ່າຕ້ອງການກູ້ການຕັ້ງຄ່າກັບເປັນປົກກະຕິ?\nການຕັ້ງຄ່າແຜງການຄວບຄຸມຈະບໍ່ປ່ຽນ\n\n\nເຈົ້າບໍ່ສາມາດຍົກເລີກ\nກະລຸນາເລີ່ມ PPSSPP ໃໝ່ອີກຄັ້ງ ເພື່ອເຫັນຜົນການປ່ຽນແປງ
RestoreDefaultSettings = ເຈົ້າແນ່ໃຈຫຼືບໍ່ວ່າຕ້ອງການກູ້ການຕັ້ງຄ່າກັບເປັນປົກກະຕິ?\n\nເຈົ້າບໍ່ສາມາດຍົກເລີກ\nກະລຸນາເລີ່ມ PPSSPP ໃໝ່ອີກຄັ້ງ ເພື່ອເຫັນຜົນການປ່ຽນແປງ
RestoreGameDefaultSettings = ເຈົ້າແນ່ໃຈຫຼືບໍ່ວ່າຕ້ອງການຄືນຄ່າການຕັ້ງຄ່າເກມໂດຍສະເພາະ\nກັບສູ່ຄ່າເລີ່ມຕົ້ນ PPSSPP ຫຼືບໍ່?
Resume = Resume
Run CPU Tests = ເອີ້ນໃຊ້ການທົດສອບ CPU

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Ar atstatyti "PPSSPP" parametrus į numatytuosius?\nValdymo mygtukų parametrai nebus atstatyti į numatytuosius.\n\n\nJūs negalėsite atstatyti statuso į prieš tai buvusį.\nJūs turite perkrauti "PPSSPP" programą, kad pakeisti parametrai turėtų efektą.
RestoreDefaultSettings = Ar atstatyti "PPSSPP" parametrus į numatytuosius?\n\nJūs negalėsite atstatyti statuso į prieš tai buvusį.\nJūs turite perkrauti "PPSSPP" programą, kad pakeisti parametrai turėtų efektą.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Atidaryti pagrindinio procesoriaus testus

View File

@ -254,7 +254,7 @@ Random = Rawak
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Anda pasti menetapkan semua tetapan kecuali pemetaan kawalan kembali ke lalai?\n\nAnda tidak boleh membatalkan tindakan ini.\nSila mulakan semula PPSSPP untuk perubahan berkuat kuasa.
RestoreDefaultSettings = Anda pasti menetapkan semua tetapan ke lalai?\n\nAnda tidak boleh membatalkan tindakan ini.\nSila mulakan semula PPSSPP untuk perubahan berkuat kuasa.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Jalankan percubaan CPU

View File

@ -254,7 +254,7 @@ Random = Willekeurig
Replace textures = Textures vervangen
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Weet u zeker dat u alle instellingen wilt herstellen\nnaar hun standaardwaarden?\nDe besturingsinstellingen worden niet gewijzigd.\n\nDit kan niet ongedaan gemaakt worden. Start PPSSPP\nopnieuw op om de wijzigingen toe te passen.
RestoreDefaultSettings = Weet u zeker dat u alle instellingen wilt herstellen\nnaar hun standaardwaarden?\n\nDit kan niet ongedaan gemaakt worden. Start PPSSPP\nopnieuw op om de wijzigingen toe te passen.
RestoreGameDefaultSettings = Weet u zeker dat u de game-specifieke instellingen wilt\nherstellen naar de standaardwaarden van PPSSPP?
Resume = Resume
Run CPU Tests = CPU-controles uitvoeren

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Kjør CPU-test

View File

@ -254,7 +254,7 @@ Random = Przypadkowy
Replace textures = Podmiana tekstur
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Czy na pewno chcesz przywrócić domyślne ustawienia?\nUstawienia sterowania pozostaną niezmienione.\n\n\nNie można tego cofnąć.\nZrestartuj PPSSPP, aby zastosować zmiany.
RestoreDefaultSettings = Czy na pewno chcesz przywrócić domyślne ustawienia?\n\nNie można tego cofnąć.\nZrestartuj PPSSPP, aby zastosować zmiany.
RestoreGameDefaultSettings = Czy na pewno chcesz przywrócić ustawienia specyficzne dla danych gier\npowrót do ustawień domyślnych PPSSPP?
Resume = Wznów
Run CPU Tests = Uruchom testy CPU

View File

@ -278,7 +278,7 @@ Random = Aleatório
Replace textures = Substituir texturas
Reset = Resetar
Reset limited logging = Resetar o registro limitado
RestoreDefaultSettings = Você tem certeza que você quer restaurar todas as configurações de volta aos padrões delas?\nAs configurações do mapeamento dos controles não são mudadas.\nVocê não pode desfazer isto.\nPor favor reinicie o PPSSPP para as mudanças terem efeito.
RestoreDefaultSettings = Você tem certeza que você quer restaurar todas as configurações de volta aos padrões delas?\n\nVocê não pode desfazer isto.\nPor favor reinicie o PPSSPP para as mudanças terem efeito.
RestoreGameDefaultSettings = Você tem certeza que você quer restaurar as configurações específicas do jogo\nde volta para os padrões do PPSSPP?
Resume = Resumo
Run CPU Tests = Executar testes da CPU
@ -522,7 +522,7 @@ Frame Skipping = Pulo dos frames
Frame Skipping Type = Tipo de pulo dos frames
FullScreen = Tela cheia
Geometry shader culling = Abate do shader da geometria
Hack Settings = Configurações dos hacks (pode causar erros gráficos)
Hack Settings = Configurações dos hacks (pode causar erros gráficos)
Hardware Tessellation = Tesselação por hardware
Hardware Transform = Transformação por hardware
hardware transform error - falling back to software = Erro de transformação pelo hardware, retrocedendo pro software.
@ -891,10 +891,10 @@ tools = Ferramentas grátis usadas:
# Leave extra lines blank. 4 contributors per line seems to look best.
translators1 = Papel, gabrielmop, Efraim Lopes, AkiraJkr
translators2 = Felipe
translators3 =
translators4 =
translators5 =
translators6 =
translators3 =
translators4 =
translators5 =
translators6 =
Twitter @PPSSPP_emu = Twitter @PPSSPP_emu
website = Verifique o site da web:
written = Escrito em C++ pela velocidade e portabilidade

View File

@ -278,7 +278,7 @@ Random = Aleatório
Replace textures = Substituir texturas
Reset = Reiniciar
Reset limited logging = Reiniciar o log limitado
RestoreDefaultSettings = Tens a certeza que queres restaurar todas as Definições de volta ao padrão?\nAs Definições do mapeamento dos controlos não serão mudadas.\nTu não podes desfazer isto.\nPor favor reinicie o PPSSPP para as mudanças terem efeito.
RestoreDefaultSettings = Tens a certeza que queres restaurar todas as Definições de volta ao padrão?\n\nTu não podes desfazer isto.\nPor favor reinicie o PPSSPP para as mudanças terem efeito.
RestoreGameDefaultSettings = Tens a certeza que queres restaurar as Definições específicas do jogo\nde volta para os padrões do PPSSPP?
Resume = Resumir
Run CPU Tests = Executar testes da CPU

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Run CPU tests

View File

@ -254,7 +254,7 @@ Random = Случайный
Replace textures = Подменять текстуры
Reset = Сбросить
Reset limited logging = Сбросить ограниченное логирование
RestoreDefaultSettings = "Вы уверены, что хотите сбросить настройки\n(кроме управления) на стандартные?\nВы не сможете это отменить.\nПожалуйста, перезапустите PPSSPP после сброса."
RestoreDefaultSettings = "Вы уверены, что хотите сбросить настройки на стандартные?\nВы не сможете это отменить.\nПожалуйста, перезапустите PPSSPP после сброса."
RestoreGameDefaultSettings = Вы уверены, что хотите вернуть все параметры игры к стандартным?
Resume = Resume
Run CPU Tests = Запустить тесты ЦП

View File

@ -254,7 +254,7 @@ Random = Slump
Replace textures = Ersätt texturer
Reset = Återställ
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Are you sure you want to restore all settings back to their defaults?\nControl mapping settings are not changed.\n\nYou can't undo this.\nPlease restart PPSSPP for the changes to take effect.
RestoreDefaultSettings = Restore these settings back to their defaults?\nYou can't undo this.\nPlease restart PPSSPP after restoring settings.
RestoreGameDefaultSettings = Are you sure you want to restore the game-specific settings\nback to the PPSSPP defaults?
Resume = Resume
Run CPU Tests = Kör CPU-tester

View File

@ -254,7 +254,7 @@ Random = Random
Replace textures = Replace textures
Reset = Ulitin
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Sigurado ka bang ibalik ang Ssetting sa dati?\nAng Control Mapping Settings ay di mababago.\n\n\nHindi mo na ito maibabalik.\nPaki-restart ang PPSSPP para makita ang mga binago.
RestoreDefaultSettings = Sigurado ka bang ibalik ang Ssetting sa dati?\n\nHindi mo na ito maibabalik.\nPaki-restart ang PPSSPP para makita ang mga binago.
RestoreGameDefaultSettings = Sigurado ka bang ibalik sa dati\nang Setting ng isang spesipikong laro?\n\n\nHindi mo na ito maibabalik.\nPaki-restart ang PPSSPP para makita ang mga binago.
Resume = Resume
Run CPU Tests = Magsagawa ng CPU Tests

View File

@ -254,7 +254,7 @@ Random = สุ่ม
Replace textures = แทนที่พื้นผิวจากแหล่งที่เก็บข้อมูล
Reset = คืนค่า
Reset limited logging = รีเซ็ตขีดจำกัดของการบันทึกค่า
RestoreDefaultSettings = คุณแน่ใจรึว่าต้องการรีเซ็ตกลับไปเป็นค่าเริ่มต้น?\nการตั้งค่าของปุ่มต่างๆ จะไม่ถูกลบ\n\nคุณสามารถกดยกเลิกได้\nแต่ถ้าหากกดตกลงแล้วไม่เห็นผลการเปลี่ยนแปลง\nโปรดเริ่ม PPSSPP ใหม่อีกครั้งนึง
RestoreDefaultSettings = คุณแน่ใจรึว่าต้องการรีเซ็ตกลับไปเป็นค่าเริ่มต้น?\n\nคุณสามารถกดยกเลิกได้\nแต่ถ้าหากกดตกลงแล้วไม่เห็นผลการเปลี่ยนแปลง\nโปรดเริ่ม PPSSPP ใหม่อีกครั้งนึง
RestoreGameDefaultSettings = คุณแน่ใจรึว่าต้องการรีเซ็ตตั้งค่าเฉพาะเกม?\nการตั้งค่าของเกมนี้จะกลับไปใช้ค่าเริ่มต้นของ PPSSPP?
Resume = เล่นต่อ
Run CPU Tests = เรียกใช้การทดสอบซีพียู

View File

@ -256,7 +256,7 @@ Random = Rastgele
Replace textures = Dokuları değiştir
Reset = Sıfırla
Reset limited logging = Sınırlı günlük kaydını sıfırlayın
RestoreDefaultSettings = Bütün ayarları varsayılanlarına döndürmek istediğine emin misin?\nKontrol ayarları değiştirilmedi.\n\nBunu geri alamazsın.\nDeğişikliklerin uygulanması için lütfen PPSSPP'yi yeniden başlatın.
RestoreDefaultSettings = Bütün ayarları varsayılanlarına döndürmek istediğine emin misin?\n\nBunu geri alamazsın.\nDeğişikliklerin uygulanması için lütfen PPSSPP'yi yeniden başlatın.
RestoreGameDefaultSettings = Oyun için ayarlanmış olan özel ayarları PPSSPP varsayılanlarına döndürmek istediğinden emin misin?
Resume = Devam ettir
Run CPU Tests = İşlemci testlerini başlat

View File

@ -254,7 +254,7 @@ Random = Випадковий
Replace textures = Заміна текстур
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = "Ви впевненні,що хочете скинути налаштування \n(окрім керування) на стандартні?\nВи не зможите це відмінити.\nБудь ласка, презавантажте PPSSPP після скидання."
RestoreDefaultSettings = "Ви впевненні,що хочете скинути налаштування на стандартні?\nВи не зможите це відмінити.\nБудь ласка, презавантажте PPSSPP після скидання."
RestoreGameDefaultSettings = Ви впевнені, що хочете повернути всі параметри гри до стардартних\nповернути PPSSPP за замовчуванням ?
Resume = Resume
Run CPU Tests = Запустити тести CPU

View File

@ -254,7 +254,7 @@ Random = Ngẫu nhiên
Replace textures = Thay thế textures
Reset = Reset
Reset limited logging = Reset limited logging
RestoreDefaultSettings = Bạn có muốn khôi phục các thiết lập về mặc định không?\nThiết lập tay cầm (bên ngoài) sẽ không bị thay đổi.\n\n\n\nHãy thoát PPSSPP rồi mở lại.
RestoreDefaultSettings = Bạn có muốn khôi phục các thiết lập về mặc định không?\n\nHãy thoát PPSSPP rồi mở lại.
RestoreGameDefaultSettings = Bạn có muốn khôi phục cài đặt trò chơi\nPPSSPP sẽ trở về mặc định?
Resume = Resume
Run CPU Tests = Chạy thử CPU

View File

@ -254,7 +254,7 @@ Random = 随机
Replace textures = 纹理替换
Reset = 重置
Reset limited logging = 重置受限日志
RestoreDefaultSettings = 您确定要将所有设置恢复到默认? (按键映射除外)\n该操作无法撤销。\n\n操作将在PPSSPP重新启动后生效。
RestoreDefaultSettings = 您确定要将所有设置恢复到默认?\n该操作无法撤销。\n\n操作将在PPSSPP重新启动后生效。
RestoreGameDefaultSettings = 您确定要将此游戏设置\n恢复为PPSSPP默认吗?
Resume = 恢复
Run CPU Tests = 运行CPU测试

View File

@ -254,7 +254,7 @@ Random = 隨機
Replace textures = 取代紋理
Reset = 重設
Reset limited logging = 重設受限記錄
RestoreDefaultSettings = 您確定要將所有設定還原為預設值嗎?\n控制對應設定將不會變更。\n\n您無法復原此動作。\n請重新啟動 PPSSPP 以使變更生效。
RestoreDefaultSettings = 您確定要將所有設定還原為預設值嗎?\n\n您無法復原此動作。\n請重新啟動 PPSSPP 以使變更生效。
RestoreGameDefaultSettings = 您確定要將遊戲特定設定\n還原為 PPSSPP 預設值嗎?
Resume = 恢復
Run CPU Tests = 執行 CPU 測試