mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Merge pull request #20718 from hrydgard/minor-features
Allow customizing proAdhoc server list via ini file, allow deleting savestates from the pause screen
This commit is contained in:
60 files changed
+158
-28
No files matched your search
@@ -317,10 +317,13 @@ void Section::AddComment(const std::string &comment) {
|
||||
lines_.emplace_back(ParsedIniLine::CommentOnly("# " + comment));
|
||||
}
|
||||
|
||||
bool Section::Get(std::string_view key, std::vector<std::string>& values) const {
|
||||
bool Section::Get(std::string_view key, std::vector<std::string> *values, const std::vector<std::string> *defaultValues) const {
|
||||
std::string temp;
|
||||
bool retval = Get(key, &temp, 0);
|
||||
if (!retval || temp.empty()) {
|
||||
if (defaultValues) {
|
||||
*values = *defaultValues;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// ignore starting , if any
|
||||
@@ -331,9 +334,10 @@ bool Section::Get(std::string_view key, std::vector<std::string>& values) const
|
||||
while (subStart != std::string::npos) {
|
||||
// Find next ,
|
||||
subEnd = temp.find_first_of(',', subStart);
|
||||
if (subStart != subEnd)
|
||||
if (subStart != subEnd) {
|
||||
// take from first char until next ,
|
||||
values.push_back(StripSpaces(temp.substr(subStart, subEnd - subStart)));
|
||||
values->push_back(StripSpaces(temp.substr(subStart, subEnd - subStart)));
|
||||
}
|
||||
|
||||
// Find the next non , char
|
||||
subStart = temp.find_first_not_of(',', subEnd);
|
||||
@@ -613,12 +617,12 @@ bool IniFile::Get(const char* sectionName, const char* key, std::string* value,
|
||||
return section->Get(key, value, defaultValue);
|
||||
}
|
||||
|
||||
bool IniFile::Get(const char *sectionName, const char* key, std::vector<std::string>& values)
|
||||
bool IniFile::Get(const char *sectionName, const char* key, std::vector<std::string> *values, const std::vector<std::string> *defaultValues)
|
||||
{
|
||||
Section *section = GetSection(sectionName);
|
||||
if (!section)
|
||||
return false;
|
||||
return section->Get(key, values);
|
||||
return section->Get(key, values, defaultValues);
|
||||
}
|
||||
|
||||
bool IniFile::Get(const char* sectionName, const char* key, int* value, int defaultValue)
|
||||
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
bool Get(std::string_view key, bool* value, bool defaultValue = false) const;
|
||||
bool Get(std::string_view key, float* value, float defaultValue = false) const;
|
||||
bool Get(std::string_view key, double* value, double defaultValue = false) const;
|
||||
bool Get(std::string_view key, std::vector<std::string>& values) const;
|
||||
bool Get(std::string_view key, std::vector<std::string> *values, const std::vector<std::string> *defaultValue = nullptr) const;
|
||||
|
||||
// Return a list of all keys in this section
|
||||
bool GetKeys(std::vector<std::string> &keys) const;
|
||||
@@ -143,7 +143,7 @@ public:
|
||||
bool Get(const char* sectionName, const char* key, uint32_t* value, uint32_t defaultValue = 0);
|
||||
bool Get(const char* sectionName, const char* key, uint64_t* value, uint64_t defaultValue = 0);
|
||||
bool Get(const char* sectionName, const char* key, bool* value, bool defaultValue = false);
|
||||
bool Get(const char* sectionName, const char* key, std::vector<std::string>& values);
|
||||
bool Get(const char* sectionName, const char* key, std::vector<std::string> *values, const std::vector<std::string> *defaultValues = nullptr);
|
||||
|
||||
bool GetKeys(const char* sectionName, std::vector<std::string>& keys) const;
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ bool Buffer::FlushSocket(uintptr_t sock, double timeout, bool *cancelled) {
|
||||
int sent = send(sock, &data[pos], end - pos, MSG_NOSIGNAL);
|
||||
// TODO: Do we need some retry logic here, instead of just giving up?
|
||||
if (sent < 0) {
|
||||
ERROR_LOG(Log::IO, "FlushSocket failed to send: %d", errno);
|
||||
ERROR_LOG(Log::IO, "FlushSocket failed to send: errno=%d", errno);
|
||||
return false;
|
||||
}
|
||||
pos += sent;
|
||||
|
||||
@@ -31,6 +31,15 @@ struct UrlEncoder
|
||||
AppendEscaped(value);
|
||||
}
|
||||
|
||||
// No proper implementation of this yet, as we don't have any string vectors that really need reporting.
|
||||
virtual void Add(const std::string &key, const std::vector<std::string> &value)
|
||||
{
|
||||
if (++paramCount > 1)
|
||||
data += '&';
|
||||
AppendEscaped(key);
|
||||
data += "=";
|
||||
}
|
||||
|
||||
void Add(const std::string &key, const char *value)
|
||||
{
|
||||
Add(key, std::string(value));
|
||||
|
||||
@@ -76,6 +76,10 @@ static const char * const logSectionName = "Log";
|
||||
|
||||
bool TryUpdateSavedPath(Path *path);
|
||||
|
||||
static const std::vector<std::string> defaultProAdhocServerList = {
|
||||
"socom.cc", "psp.gameplayer.club", // TODO: Add some saved recent history too?
|
||||
};
|
||||
|
||||
std::string GPUBackendToString(GPUBackend backend) {
|
||||
switch (backend) {
|
||||
case GPUBackend::OPENGL:
|
||||
@@ -958,6 +962,7 @@ static const ConfigSetting networkSettings[] = {
|
||||
ConfigSetting("EnableWlan", &g_Config.bEnableWlan, false, CfgFlag::PER_GAME),
|
||||
ConfigSetting("EnableAdhocServer", &g_Config.bEnableAdhocServer, false, CfgFlag::PER_GAME),
|
||||
ConfigSetting("proAdhocServer", &g_Config.proAdhocServer, "socom.cc", CfgFlag::PER_GAME),
|
||||
ConfigSetting("proAdhocServerList", &g_Config.proAdhocServerList, &defaultProAdhocServerList, CfgFlag::DEFAULT),
|
||||
ConfigSetting("PortOffset", &g_Config.iPortOffset, 10000, CfgFlag::PER_GAME),
|
||||
ConfigSetting("PrimaryDNSServer", &g_Config.sInfrastructureDNSServer, "67.222.156.250", CfgFlag::PER_GAME),
|
||||
ConfigSetting("MinTimeout", &g_Config.iMinTimeout, 0, CfgFlag::PER_GAME),
|
||||
|
||||
@@ -481,6 +481,7 @@ public:
|
||||
// Networking
|
||||
bool bEnableAdhocServer;
|
||||
std::string proAdhocServer;
|
||||
std::vector<std::string> proAdhocServerList;
|
||||
std::string sInfrastructureDNSServer;
|
||||
std::string sInfrastructureUsername; // Username used for Infrastructure play. Different restrictions.
|
||||
bool bInfrastructureAutoDNS;
|
||||
|
||||
@@ -37,6 +37,9 @@ bool ConfigSetting::Get(const Section *section) const {
|
||||
return section->Get(iniKey_, ptr_.f, cb_.f ? cb_.f() : default_.f);
|
||||
case TYPE_STRING:
|
||||
return section->Get(iniKey_, ptr_.s, cb_.s ? cb_.s().c_str() : default_.s);
|
||||
case TYPE_STRING_VECTOR:
|
||||
// No support for callbacks for these yet. that's not an issue.
|
||||
return section->Get(iniKey_, ptr_.v, default_.v);
|
||||
case TYPE_TOUCH_POS:
|
||||
{
|
||||
ConfigTouchPos defaultTouchPos = cb_.touchPos ? cb_.touchPos() : default_.touchPos;
|
||||
@@ -97,6 +100,8 @@ void ConfigSetting::Set(Section *section) const {
|
||||
return section->Set(iniKey_, *ptr_.f);
|
||||
case TYPE_STRING:
|
||||
return section->Set(iniKey_, *ptr_.s);
|
||||
case TYPE_STRING_VECTOR:
|
||||
return section->Set(iniKey_, *ptr_.v);
|
||||
case TYPE_PATH:
|
||||
return section->Set(iniKey_, ptr_.p->ToString());
|
||||
case TYPE_TOUCH_POS:
|
||||
@@ -128,6 +133,7 @@ void ConfigSetting::RestoreToDefault() const {
|
||||
case TYPE_UINT64: *ptr_.lu = cb_.lu ? cb_.lu() : default_.lu; break;
|
||||
case TYPE_FLOAT: *ptr_.f = cb_.f ? cb_.f() : default_.f; break;
|
||||
case TYPE_STRING: *ptr_.s = cb_.s ? cb_.s() : default_.s; break;
|
||||
case TYPE_STRING_VECTOR: *ptr_.v = *default_.v; break;
|
||||
case TYPE_TOUCH_POS: *ptr_.touchPos = cb_.touchPos ? cb_.touchPos() : default_.touchPos; break;
|
||||
case TYPE_PATH: *ptr_.p = Path(cb_.p ? cb_.p() : default_.p); break;
|
||||
case TYPE_CUSTOM_BUTTON: *ptr_.customButton = cb_.customButton ? cb_.customButton() : default_.customButton; break;
|
||||
@@ -147,6 +153,7 @@ void ConfigSetting::ReportSetting(UrlEncoder &data, const std::string &prefix) c
|
||||
case TYPE_UINT64: return data.Add(prefix + iniKey_, *ptr_.lu);
|
||||
case TYPE_FLOAT: return data.Add(prefix + iniKey_, *ptr_.f);
|
||||
case TYPE_STRING: return data.Add(prefix + iniKey_, *ptr_.s);
|
||||
case TYPE_STRING_VECTOR: return data.Add(prefix + iniKey_, *ptr_.v);
|
||||
case TYPE_PATH: return data.Add(prefix + iniKey_, ptr_.p->ToString());
|
||||
case TYPE_TOUCH_POS: return; // Doesn't report.
|
||||
case TYPE_CUSTOM_BUTTON: return; // Doesn't report.
|
||||
|
||||
+11
-1
@@ -25,6 +25,7 @@ struct ConfigSetting {
|
||||
TYPE_UINT64,
|
||||
TYPE_FLOAT,
|
||||
TYPE_STRING,
|
||||
TYPE_STRING_VECTOR,
|
||||
TYPE_TOUCH_POS,
|
||||
TYPE_PATH,
|
||||
TYPE_CUSTOM_BUTTON
|
||||
@@ -37,6 +38,7 @@ struct ConfigSetting {
|
||||
float f;
|
||||
const char *s;
|
||||
const char *p; // not sure how much point..
|
||||
const std::vector<std::string> *v;
|
||||
ConfigTouchPos touchPos;
|
||||
ConfigCustomButton customButton;
|
||||
};
|
||||
@@ -47,6 +49,7 @@ struct ConfigSetting {
|
||||
uint64_t *lu;
|
||||
float *f;
|
||||
std::string *s;
|
||||
std::vector<std::string> *v;
|
||||
Path *p;
|
||||
ConfigTouchPos *touchPos;
|
||||
ConfigCustomButton *customButton;
|
||||
@@ -90,7 +93,7 @@ struct ConfigSetting {
|
||||
getPtrLUT()[v] = this;
|
||||
}
|
||||
|
||||
ConfigSetting(const char *ini, int *v, int def, std::string(*transTo)(int), int (*transFrom)(const std::string &), CfgFlag flags = CfgFlag::DEFAULT) noexcept
|
||||
ConfigSetting(const char *ini, int *v, int def, std::string (*transTo)(int), int (*transFrom)(const std::string &), CfgFlag flags = CfgFlag::DEFAULT) noexcept
|
||||
: iniKey_(ini), type_(TYPE_INT), flags_(flags), translateTo_(transTo), translateFrom_(transFrom) {
|
||||
ptr_.i = v;
|
||||
cb_.i = nullptr;
|
||||
@@ -130,6 +133,13 @@ struct ConfigSetting {
|
||||
getPtrLUT()[v] = this;
|
||||
}
|
||||
|
||||
ConfigSetting(const char *ini, std::vector<std::string> *v, const std::vector<std::string> *def, CfgFlag flags = CfgFlag::DEFAULT) noexcept
|
||||
: iniKey_(ini), type_(TYPE_STRING_VECTOR), flags_(flags) {
|
||||
ptr_.v = v;
|
||||
default_.v = def;
|
||||
getPtrLUT()[v] = this;
|
||||
}
|
||||
|
||||
ConfigSetting(const char *ini, Path *v, const char *def, CfgFlag flags = CfgFlag::DEFAULT) noexcept
|
||||
: iniKey_(ini), type_(TYPE_PATH), flags_(flags) {
|
||||
ptr_.p = v;
|
||||
|
||||
@@ -326,7 +326,7 @@ static int sceUriEscape(u32 escapedAddr, u32 escapedLengthAddr, int escapedBuffe
|
||||
}
|
||||
}
|
||||
|
||||
Memory::MemcpyUnchecked(escapedAddr, escaped.c_str(), escaped.length() + 1);
|
||||
Memory::MemcpyUnchecked(escapedAddr, escaped.c_str(), (u32)escaped.length() + 1);
|
||||
|
||||
return hleLogDebug(Log::sceNet, 0, "escaped '%s' to '%s'", source, escaped.c_str());
|
||||
}
|
||||
|
||||
@@ -713,6 +713,16 @@ double g_lastSaveTime = -1.0;
|
||||
return false;
|
||||
}
|
||||
|
||||
void DeleteSlot(const Path &gameFilename, int slot) {
|
||||
Path fn = GenerateSaveSlotFilename(gameFilename, slot, STATE_EXTENSION);
|
||||
Path shot = GenerateSaveSlotFilename(gameFilename, slot, SCREENSHOT_EXTENSION);
|
||||
|
||||
if (File::Exists(fn)) {
|
||||
DeleteIfExists(fn);
|
||||
DeleteIfExists(shot);
|
||||
}
|
||||
}
|
||||
|
||||
bool UndoLastSave(const Path &gameFilename) {
|
||||
if (!NetworkAllowSaveState()) {
|
||||
return false;
|
||||
|
||||
@@ -52,6 +52,8 @@ namespace SaveState {
|
||||
bool UndoSaveSlot(const Path &gameFilename, int slot);
|
||||
bool UndoLastSave(const Path &gameFilename);
|
||||
bool UndoLoad(const Path &gameFilename, Callback callback);
|
||||
void DeleteSlot(const Path &gameFilename, int slot);
|
||||
|
||||
// Checks whether there's an existing save in the specified slot.
|
||||
bool HasSaveInSlot(const Path &gameFilename, int slot);
|
||||
bool HasUndoSaveInSlot(const Path &gameFilename, int slot);
|
||||
|
||||
@@ -103,7 +103,7 @@ void LoadPostShaderInfo(Draw::DrawContext *draw, const std::vector<Path> &direct
|
||||
section.Get("Type", &shaderType, "render");
|
||||
|
||||
std::vector<std::string> vendorBlacklist;
|
||||
section.Get("VendorBlacklist", vendorBlacklist);
|
||||
section.Get("VendorBlacklist", &vendorBlacklist, nullptr);
|
||||
bool skipped = false;
|
||||
for (auto &item : vendorBlacklist) {
|
||||
Draw::GPUVendor blacklistedVendor = Draw::GPUVendor::VENDOR_UNKNOWN;
|
||||
|
||||
+11
-10
@@ -983,7 +983,10 @@ void GameSettingsScreen::CreateNetworkingSettings(UI::ViewGroup *networkingSetti
|
||||
|
||||
networkingSettings->Add(new ItemHeader(n->T("AdHoc server")));
|
||||
networkingSettings->Add(new CheckBox(&g_Config.bEnableAdhocServer, n->T("Enable built-in PRO Adhoc Server", "Enable built-in PRO Adhoc Server")));
|
||||
networkingSettings->Add(new ChoiceWithValueDisplay(&g_Config.proAdhocServer, n->T("Change proAdhocServer Address", "Change proAdhocServer Address (localhost = multiple instance)"), I18NCat::NONE))->OnClick.Handle(this, &GameSettingsScreen::OnChangeproAdhocServerAddress);
|
||||
networkingSettings->Add(new ChoiceWithValueDisplay(&g_Config.proAdhocServer, n->T("Change proAdhocServer Address", "Change proAdhocServer Address (localhost = multiple instance)"), I18NCat::NONE))->OnClick.Add([=](UI::EventParams &) {
|
||||
screenManager()->push(new HostnameSelectScreen(&g_Config.proAdhocServer, &g_Config.proAdhocServerList, n->T("proAdhocServer Address:")));
|
||||
return UI::EVENT_DONE;
|
||||
});
|
||||
|
||||
networkingSettings->Add(new ItemHeader(n->T("UPnP (port-forwarding)")));
|
||||
networkingSettings->Add(new CheckBox(&g_Config.bEnableUPnP, n->T("Enable UPnP", "Enable UPnP (need a few seconds to detect)")));
|
||||
@@ -1820,14 +1823,6 @@ UI::EventReturn GameSettingsScreen::OnChangeQuickChat4(UI::EventParams &e) {
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn GameSettingsScreen::OnChangeproAdhocServerAddress(UI::EventParams &e) {
|
||||
auto n = GetI18NCategory(I18NCat::NETWORKING);
|
||||
|
||||
screenManager()->push(new HostnameSelectScreen(&g_Config.proAdhocServer, n->T("proAdhocServer Address:")));
|
||||
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn GameSettingsScreen::OnTextureShader(UI::EventParams &e) {
|
||||
auto gr = GetI18NCategory(I18NCat::GRAPHICS);
|
||||
auto shaderScreen = new TextureShaderScreen(gr->T("GPU texture upscaler (fast)"));
|
||||
@@ -1924,8 +1919,14 @@ void HostnameSelectScreen::CreatePopupContents(UI::ViewGroup *parent) {
|
||||
buttonsRow2->Add(new Button(di->T("Toggle List")))->OnClick.Handle(this, &HostnameSelectScreen::OnShowIPListClick);
|
||||
buttonsRow2->Add(new Spacer(new LinearLayoutParams(1.0, G_RIGHT)));
|
||||
|
||||
std::vector<std::string> listIP = { "socom.cc", "psp.gameplayer.club", "localhost" }; // TODO: Add some saved recent history too?
|
||||
std::vector<std::string> listIP;
|
||||
if (listItems_) {
|
||||
listIP = *listItems_;
|
||||
}
|
||||
// Add non-editable items
|
||||
listIP.push_back("localhost");
|
||||
net::GetIPList(listIP);
|
||||
|
||||
ipRows_ = new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(1.0));
|
||||
ScrollView* scrollView = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
LinearLayout* innerView = new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
|
||||
@@ -89,7 +89,6 @@ private:
|
||||
UI::EventReturn OnChangeQuickChat2(UI::EventParams &e);
|
||||
UI::EventReturn OnChangeQuickChat3(UI::EventParams &e);
|
||||
UI::EventReturn OnChangeQuickChat4(UI::EventParams &e);
|
||||
UI::EventReturn OnChangeproAdhocServerAddress(UI::EventParams &e);
|
||||
UI::EventReturn OnChangeBackground(UI::EventParams &e);
|
||||
UI::EventReturn OnFullscreenChange(UI::EventParams &e);
|
||||
UI::EventReturn OnFullscreenMultiChange(UI::EventParams &e);
|
||||
@@ -131,8 +130,8 @@ private:
|
||||
|
||||
class HostnameSelectScreen : public PopupScreen {
|
||||
public:
|
||||
HostnameSelectScreen(std::string *value, std::string_view title)
|
||||
: PopupScreen(title, "OK", "Cancel"), value_(value) {
|
||||
HostnameSelectScreen(std::string *value, std::vector<std::string> *listItems, std::string_view title)
|
||||
: PopupScreen(title, "OK", "Cancel"), listItems_(listItems), value_(value) {
|
||||
resolver_ = std::thread([](HostnameSelectScreen *thiz) {
|
||||
thiz->ResolverThread();
|
||||
}, this);
|
||||
@@ -175,6 +174,7 @@ private:
|
||||
};
|
||||
|
||||
std::string *value_;
|
||||
std::vector<std::string> *listItems_;
|
||||
UI::TextEdit *addrView_ = nullptr;
|
||||
UI::TextView *progressView_ = nullptr;
|
||||
UI::LinearLayout *ipRows_ = nullptr;
|
||||
|
||||
+40
-4
@@ -75,7 +75,7 @@ static void AfterSaveStateAction(SaveState::Status status, std::string_view mess
|
||||
class ScreenshotViewScreen : public PopupScreen {
|
||||
public:
|
||||
ScreenshotViewScreen(const Path &filename, std::string title, int slot, Path gamePath)
|
||||
: PopupScreen(title), filename_(filename), slot_(slot), gamePath_(gamePath) {} // PopupScreen will translate Back on its own
|
||||
: PopupScreen(title), filename_(filename), slot_(slot), gamePath_(gamePath), title_(title) {} // PopupScreen will translate Back on its own
|
||||
|
||||
int GetSlot() const {
|
||||
return slot_;
|
||||
@@ -103,13 +103,26 @@ protected:
|
||||
GridLayout *grid = content->Add(new GridLayoutList(gridsettings, new LayoutParams(FILL_PARENT, WRAP_CONTENT)));
|
||||
|
||||
Choice *back = new Choice(di->T("Back"));
|
||||
Choice *undoButton = new Choice(pa->T("Undo last save"));
|
||||
undoButton->SetEnabled(SaveState::HasUndoSaveInSlot(gamePath_, slot_));
|
||||
|
||||
const bool hasUndo = SaveState::HasUndoSaveInSlot(gamePath_, slot_);
|
||||
const bool undoEnabled = g_Config.bEnableStateUndo;
|
||||
|
||||
Choice *undoButton = nullptr;
|
||||
if (undoEnabled || hasUndo) {
|
||||
// Show the undo button if state undo is enabled in settings, OR one is available. We can load it
|
||||
// even if making new undo states is not enabled.
|
||||
Choice *undoButton = new Choice(pa->T("Undo last save"));
|
||||
undoButton->SetEnabled(hasUndo);
|
||||
}
|
||||
|
||||
grid->Add(new Choice(pa->T("Save State")))->OnClick.Handle(this, &ScreenshotViewScreen::OnSaveState);
|
||||
// We can unconditionally show the load state button, because you can only pop this dialog up if a state exists.
|
||||
grid->Add(new Choice(pa->T("Load State")))->OnClick.Handle(this, &ScreenshotViewScreen::OnLoadState);
|
||||
grid->Add(new Choice(pa->T("Delete State")))->OnClick.Handle(this, &ScreenshotViewScreen::OnDeleteState);
|
||||
if (undoButton) {
|
||||
grid->Add(undoButton)->OnClick.Handle(this, &ScreenshotViewScreen::OnUndoState);
|
||||
}
|
||||
grid->Add(back)->OnClick.Handle<UIScreen>(this, &UIScreen::OnBack);
|
||||
grid->Add(undoButton)->OnClick.Handle(this, &ScreenshotViewScreen::OnUndoState);
|
||||
|
||||
scroll->Add(content);
|
||||
parent->Add(scroll);
|
||||
@@ -119,9 +132,11 @@ private:
|
||||
UI::EventReturn OnSaveState(UI::EventParams &e);
|
||||
UI::EventReturn OnLoadState(UI::EventParams &e);
|
||||
UI::EventReturn OnUndoState(UI::EventParams &e);
|
||||
UI::EventReturn OnDeleteState(UI::EventParams &e);
|
||||
|
||||
Path filename_;
|
||||
Path gamePath_;
|
||||
std::string title_;
|
||||
int slot_;
|
||||
};
|
||||
|
||||
@@ -151,6 +166,27 @@ UI::EventReturn ScreenshotViewScreen::OnUndoState(UI::EventParams &e) {
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn ScreenshotViewScreen::OnDeleteState(UI::EventParams &e) {
|
||||
auto di = GetI18NCategory(I18NCat::DIALOG);
|
||||
|
||||
std::shared_ptr<GameInfo> info = g_gameInfoCache->GetInfo(NULL, gamePath_, GameInfoFlags::PARAM_SFO);
|
||||
|
||||
std::string message(di->T("DeleteConfirmSaveState"));
|
||||
message += "\n\n" + info->GetTitle() + " (" + info->id + ")";
|
||||
message += "\n\n" + title_;
|
||||
|
||||
// TODO: Also show the screenshot on the confirmation screen?
|
||||
|
||||
screenManager()->push(new PromptScreen(gamePath_, message, di->T("Delete"), di->T("Cancel"), [=](bool result) {
|
||||
if (result) {
|
||||
SaveState::DeleteSlot(gamePath_, slot_);
|
||||
TriggerFinish(DR_CANCEL);
|
||||
}
|
||||
}));
|
||||
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
class SaveSlotView : public UI::LinearLayout {
|
||||
public:
|
||||
SaveSlotView(const Path &gamePath, int slot, bool vertical, UI::LayoutParams *layoutParams = nullptr);
|
||||
|
||||
@@ -412,6 +412,7 @@ DeleteConfirm = بيانات الحفظ هذه سوف تمسح.\nهل أنت
|
||||
DeleteConfirmAll = هل تريد حقاً مسح كل \nملفات الحفظ لهذه اللعبة?
|
||||
DeleteConfirmGame = هل تود حقاً مسح هذه اللعبة \nfمن جهازك? لا يمكن الرجوع عن هذا.
|
||||
DeleteConfirmGameConfig = هل تود حقاً مسح الإعدادات لهذه اللعبة?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = غير قادر علي مسح البيانات.
|
||||
Deleting = يمسح\nمن فضلك إنتظر...
|
||||
Details = معلومات
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Bu qeyd silinəcək.\nDəvam etmək istəyisinizmir?
|
||||
DeleteConfirmAll = Do you really want to delete all\nyour save data for this game?
|
||||
DeleteConfirmGame = Do you really want to delete this game\nfrom your device? You can't undo this.
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = Silinir\nZəhmət Olmasa Gözləyin...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = This save data will be deleted.\nAre you sure you want to contin
|
||||
DeleteConfirmAll = Do you really want to delete all your save data for this game?
|
||||
DeleteConfirmGame = Do you really want to delete this game from your device? You can't undo this.
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = Deleting\nPlease wait...
|
||||
Details = Падрабязнасці
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Този запис ще бъде изтрит.\nСигурни
|
||||
DeleteConfirmAll = Наистина ли искате да изтриете\nвсички записани данни за тази игра?
|
||||
DeleteConfirmGame = Наистина ли искате да изтриете тази игра\nот устройството Ви? Не може да върнете това действие.
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = Изтриване\nМоля изчакайте...
|
||||
Details = Детайли
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Aquesta partida serà esborrada.\nVols perdre el progrés guarda
|
||||
DeleteConfirmAll = Estàs segur que vols esborrar totes les dades de guardat d'aquest joc?
|
||||
DeleteConfirmGame = Estàs segur que vols esborrar aquest joc?\nAquesta operació no es pot desfer.
|
||||
DeleteConfirmGameConfig = Estàs segur que vols esborrar la configuración d'aquest joc?.
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Les dades no s'han pogut borrar.
|
||||
Deleting = Esborrant\nEspera un moment...
|
||||
Details = Detalls
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Tato uložená data budou smazána.\nOpravdu chcete pokračovat?
|
||||
DeleteConfirmAll = Opravdu chcete smazat všechna\nvaše uložená data pro tuto hru?
|
||||
DeleteConfirmGame = Opravdu chcete tuto hru smazat\nze svého zařízení? Toto nelze vrátit zpět.
|
||||
DeleteConfirmGameConfig = Opravdu chcete smazat nastavení této hry?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Nelze smazat data.
|
||||
Deleting = Probíhá mazání\nČekejte prosím...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Alt gemt data vil blive slettet.\nEr du sikker på at du vil for
|
||||
DeleteConfirmAll = Vil du virkelig slette alle\nspil-status for dette spil?
|
||||
DeleteConfirmGame = Vil du virkelig slette dette spil\nfra din enhed? Du kan ikke fortryde.
|
||||
DeleteConfirmGameConfig = Vil du virkelig slette opsætningen for dette spil?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Ikke muligt at slette data.
|
||||
Deleting = Sletter\nVent venligst...
|
||||
Details = Details
|
||||
|
||||
@@ -397,6 +397,7 @@ DeleteConfirm = Diese Speicherdaten werden gelöscht.\nWillst du wirklich fortfa
|
||||
DeleteConfirmAll = Willst du wirklich alle deine Speicherdaten für dieses Spiel löschen?
|
||||
DeleteConfirmGame = Willst du dieses Spiel wirklich von deinem Gerät löschen? Dies lässt sich nicht rückgängig machen.
|
||||
DeleteConfirmGameConfig = Willst du die Einstellungen für dieses Spiel wirklich löschen?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Daten konnten nicht gelöscht werden
|
||||
Deleting = Löschen\nBitte warten...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Ala dihapusmi te' data.\nYake bangmo?
|
||||
DeleteConfirmAll = Dihapus nasang tongammi te'e\nyake bangmo?
|
||||
DeleteConfirmGame = Dihapus tongammi te' paningoan?\n Tihapus tongammi dau mane.
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = Dihapusmi\nTajammi...
|
||||
Details = Details
|
||||
|
||||
@@ -428,6 +428,7 @@ DeleteConfirm = This save data will be deleted.\nAre you sure you want to contin
|
||||
DeleteConfirmAll = Do you really want to delete all your save data for this game?
|
||||
DeleteConfirmGame = Do you really want to delete this game from your device? You can't undo this.
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = Deleting\nPlease wait...
|
||||
Details = Details
|
||||
|
||||
@@ -405,6 +405,7 @@ DeleteConfirm = Estos datos guardados se eliminarán. ¿Estás seguro de que des
|
||||
DeleteConfirmAll = ¿Realmente quieres eliminar todos tus datos guardados para este juego?
|
||||
DeleteConfirmGame = ¿Realmente quieres eliminar este juego de tu dispositivo? No puedes deshacer esta acción.
|
||||
DeleteConfirmGameConfig = ¿Realmente quieres eliminar los ajustes para este juego?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = No se pueden eliminar los datos.
|
||||
Deleting = Eliminando\nPor favor, espera un momento...
|
||||
Details = Detalles
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Estos archivos son borrados.\n¿Estás seguro/a?
|
||||
DeleteConfirmAll = ADVERTENCIA:\nTodos los archivos de guardado serán borrados.\n¿Estás seguro/a?
|
||||
DeleteConfirmGame = ADVERTENCIA:\nEste juego será borrado para siempre y no puedes deshacerlo.\n¿Estás seguro/a?
|
||||
DeleteConfirmGameConfig = ADVERTENCIA:\nLos archivos de preferencias de este juego serán borrados.\n¿Estás seguro/a?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Los archivos no se pudieron borrar.
|
||||
Deleting = Borrando\nPor favor espere...
|
||||
Details = Detalles
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = این دادهٔ ذخیره شده حذف خواهد شد.\n
|
||||
DeleteConfirmAll = آیا شما می خواهید که همه ی\nدادههای ذخیره این بازی را حذف نمایید؟
|
||||
DeleteConfirmGame = آیا شما می خواهید این بازی را\n.از دستگاه خود حذف کنید؟ نمی توانید آن را برگردانید
|
||||
DeleteConfirmGameConfig = آیا واقعا میخواهید تنظیمات این بازی را حذف کنید؟
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = در حال حذف کردن\n...منتظر بمانید
|
||||
Details = جزئیات
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Tämä tallennus poistetaan.\nHaluatko varmasti jatkaa?
|
||||
DeleteConfirmAll = Haluatko varmasti poistaa kaikki\ntämän pelin tallennustiedot?
|
||||
DeleteConfirmGame = Haluatko varmasti poistaa tämän pelin\nlaitteeltasi? Tätä ei voi perua.
|
||||
DeleteConfirmGameConfig = Haluatko varmasti poistaa tämän pelin asetukset?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Tietojen poistaminen epäonnistui.
|
||||
Deleting = Poistetaan\nOdota...
|
||||
Details = Yksityiskohdat
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Cette sauvegarde va être supprimée.\nÊtes-vous sûr de vouloi
|
||||
DeleteConfirmAll = Voulez-vous vraiment supprimer toutes les\nsauvegardes de ce jeu ?\nCette action est définitive.
|
||||
DeleteConfirmGame = Voulez-vous vraiment supprimer ce jeu de votre système ?\nCette action est définitive.
|
||||
DeleteConfirmGameConfig = Voulez-vous vraiment supprimer les paramètres pour ce jeu ?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Suppression impossible.
|
||||
Deleting = Suppression\nVeuillez patienter...
|
||||
Details = Détails
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Este arquivo de datos borrarase.\nSeguro que queres borralo?
|
||||
DeleteConfirmAll = Seguro que queres borrar todos\nos datos de gardado de este xogo?
|
||||
DeleteConfirmGame = Seguro que queres borrar este xogo?\nEsta operación non se pode desfacer.
|
||||
DeleteConfirmGameConfig = Seguro que queres borrar a configuración deste xogo?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Os datos non se puideron borrar.
|
||||
Deleting = Borrando\nEspera un momento...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = ΤΑ ΔΕΔΟΜΕΝΑ ΘΑ ΔΙΑΦΡΑΦΟΥΝ.\nΕΙΣΤΕ Σ
|
||||
DeleteConfirmAll = ΘΕΛΕΤΕ ΝΑ ΔΙΑΦΡΑΨΕΤΕ ΟΛΑ\nΤΑ ΔΕΔΟΜΕΝΑ ΓΙ' ΑΥΤΟ ΤΟ ΠΑΙΧΝΙΔΙ;
|
||||
DeleteConfirmGame = ΘΕΛΕΤΕ ΝΑ ΔΙΑΓΡΑΨΕΤΕ ΑΥΤΟ ΤΟ ΠΑΙΧΝΙΔΙ ΑΠΟ \nΤΗΝ ΣΥΣΚΕΥΗ ΣΑΣ; ΔΕΝ ΜΠΟΡΕΙΤΕ ΝΑ ΑΝΑΙΡΕΣΕΤΕ ΤΗΝ ΕΠΙΛΟΓΗ ΣΑΣ.
|
||||
DeleteConfirmGameConfig = Είστε σίγουροι ότι θέλετε να διαγράψετε τις ρυθμίσεις για αυτό το παιχνίδι;
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = ΑΔΥΝΑΜΙΑ ΔΙΑΓΡΑΦΗΣ ΔΕΔΟΜΕΝΩΝ.
|
||||
Deleting = ΔΙΑΓΡΑΦΗ\nΠΑΡΑΚΑΛΩ ΠΕΡΙΜΕΝΕΤΕ...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = ?ךישמהל םאה .וקחמי ולאה םירומשה םינ
|
||||
DeleteConfirmAll = ?הזה קחשמה רובע הרימשה ינותנ לכ תא קוחמל םאה
|
||||
DeleteConfirmGame = .וז הלועפ לטבל ןתינ אל ?ךלש רישכמהמ הזה קחשמה תא קוחמל
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = ...ןתמה אנא ...קחומ
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = ?ךישמהל םאה .וקחמי ולאה םירומשה םינ
|
||||
DeleteConfirmAll = ?הזה קחשמה רובע הרימשה ינותנ לכ תא קוחמל םאה
|
||||
DeleteConfirmGame = .וז הלועפ לטבל ןתינ אל ?ךלש רישכמהמ הזה קחשמה תא קוחמל
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = ...ןתמה אנא ...קחומ
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Ova data će biti izbrisana.\nŽeliš li nastaviti?
|
||||
DeleteConfirmAll = Želis li izbrisati svu\nsvoju save datu za ovu igru?
|
||||
DeleteConfirmGame = Želiš li izbrisati igru\nsa svog uređaja? Ovo ne možeš poništit.
|
||||
DeleteConfirmGameConfig = Želiš li izbrisati postavke za ovu igru?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Nije moguće izbrisati datu.
|
||||
Deleting = Brisanje\nPričekajte...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Ez a mentés törlődni fog.\nBiztosan akarod folytatni?
|
||||
DeleteConfirmAll = Biztosan törölni akarod az összes\nmentésedet ehhez a játékhoz?
|
||||
DeleteConfirmGame = Biztosan törölni akarod ezt a játékot?\nNem lehet visszavonni.
|
||||
DeleteConfirmGameConfig = Biztosan törölni akarod a játék beállításait?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Törlés sikertelen.
|
||||
Deleting = Törlés\nKérlek várj...
|
||||
Details = Részletek
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Simpanan ini akan dihapus.\nAnda yakin ingin melanjutkan?
|
||||
DeleteConfirmAll = Apakah Anda ingin menghapus semua\ndata simpanan untuk permainan ini?
|
||||
DeleteConfirmGame = Apakah Anda benar-benar ingin menghapus\npermainan ini dari perangkat? Aksi ini bersifat permanen.
|
||||
DeleteConfirmGameConfig = Apakah Anda benar-benar ingin menghapus pengaturan untuk permainan ini?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Tidak dapat menghapus data.
|
||||
Deleting = Menghapus\nMohon tunggu...
|
||||
Details = Rincian
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Questo salvataggio sarà eliminato.\nSi è sicuri di voler conti
|
||||
DeleteConfirmAll = Vuoi veramente eliminare tutti\ni salvataggi di questo gioco?
|
||||
DeleteConfirmGame = Vuoi veramente eliminare questo gioco\ndal tuo dispositivo? Questa azione non si può annullare.
|
||||
DeleteConfirmGameConfig = Vuoi veramente cancellare le impostazioni per questo gioco?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Impossibile cancellare i dati.
|
||||
Deleting = Cancellazione in corso.\nAttendere, prego...
|
||||
Details = Dettagli
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = データを削除します。\n本当に続けますか?
|
||||
DeleteConfirmAll = 本当にこのゲームのセーブデータを削除しますか?
|
||||
DeleteConfirmGame = 本当にこのゲームを削除しますか?\nデータを元に戻すことはできません。
|
||||
DeleteConfirmGameConfig = 本当にこのゲームの設定を削除しますか?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = データを削除できませんでした。
|
||||
Deleting = 削除中です。\nしばらくお待ちください...
|
||||
Details = 詳細
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Data iki arep di busek.\nTetep lanjutkake?
|
||||
DeleteConfirmAll = Njenengan yakin arep mbusek\nkabeh data penyimpenan dolanan iki?
|
||||
DeleteConfirmGame = Yakin arep mbusek dolanan iki\nsaka perangkat njenengan? Tindakan iki ora bisa di batalkake.
|
||||
DeleteConfirmGameConfig = Yakin arep mbusek setelan kanggo dolanan iki?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = ora dapat mbusek data.
|
||||
Deleting = Mbusek\nMohon nteni...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = 이 저장 데이터는 삭제됩니다.\n계속할까요?
|
||||
DeleteConfirmAll = 이 게임에 대한 모든 저장 데이터를\n삭제할까요?
|
||||
DeleteConfirmGame = 이 게임을 정말로 장치에서\n삭제할까요? 이 작업은 취소할 수 없습니다.
|
||||
DeleteConfirmGameConfig = 이 게임의 설정을 삭제할까요?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = 데이터를 삭제할 수 없습니다.
|
||||
Deleting = 삭제 중\n잠시만 기다려 주세요...
|
||||
Details = 상세
|
||||
|
||||
@@ -418,6 +418,7 @@ DeleteConfirm = زانیارە خەخن کراوە دەسڕدرێتەوە.\nئا
|
||||
DeleteConfirmAll = ئایە تۆ دڵنیایت لە\nسڕینەوەی هەموو زانیاریە خەزنکروەکان بۆ ئەم یاریە؟?
|
||||
DeleteConfirmGame = ئایا تۆ دڵنیایت کە\nئەم یاریە بسڕیتەوە لە ئامێرەکەت؟ ئەم کارە گەڕانەوەی نییە
|
||||
DeleteConfirmGameConfig = ئایا تۆ دڵنیایت لە سڕینەوەی سێتینگەکانت بۆ ئەم یاریە؟
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = نەتوانرا زانیاریەکان بسڕدرێنەوە.
|
||||
Deleting = دەسڕدرێتەوە\nتکایە چاوەڕوان بە...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = ເຊບນີ້ຈະຖືກລຶບ\nເຈົ້າຕ
|
||||
DeleteConfirmAll = ເຈົ້າຕ້ອງການທີ່ຈະລຶບເຊບທັງໝົດ\nຂອງເຈົ້າສຳລັບເກມນີ້
|
||||
DeleteConfirmGame = ເຈົ້າຕ້ອງການທີ່ຈະລຶບເກມທັງໝົດ\nຈາກອຸປະກອນຂອງເຈົ້າຫຼືບໍ່? ເຈົ້າຈະບໍ່ສາມາດຍົກເລີກໄດ້
|
||||
DeleteConfirmGameConfig = ເຈົ້າຕ້ອງການທີ່ຈະລຶບການຕັ້ງຄ່າສຳລັບເກມນີ້ຫຼືບໍ່?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = ບໍ່ສາມາດລຶບຂໍ້ມູນ.
|
||||
Deleting = ກຳລັງລຶບຂໍ້ມູນ\nກະລຸນາຖ້າ..
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = This save data will be deleted.\nAre you sure you want to contin
|
||||
DeleteConfirmAll = Ar norite tikrai ištrinti visus\njūsų išsaugojimo duomenis šitam žaidimui?
|
||||
DeleteConfirmGame = Ar norite tikrai ištrinti šitą žaidimą\niš jūsų įrenginio? Jūs negalite atstatyti šitos komandos.
|
||||
DeleteConfirmGameConfig = Ar tikrai norite ištrinti šiuos nustatymus iš šito žaidimo?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Neįmanoma ištrinti duomenų.
|
||||
Deleting = Ištrina\nPrašome palaukti...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Data disimpan ini akan dipadam.\nAnda pasti hendak teruskan?
|
||||
DeleteConfirmAll = Anda yakin ingin menghapus\nsemua data penyimpanan permainan ini?
|
||||
DeleteConfirmGame = Anda pasti memadam permainan ini\ndari peranti? Anda tak dapat kembalikan ini.
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Pemadaman data gagal.
|
||||
Deleting = Memadam\nSila tunggu...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = De opgeslagen data worden verwijderd.\nWeet u zeker dat u wilt d
|
||||
DeleteConfirmAll = Weet u zeker dat u alle opgeslagen data voor deze\ngame wilt verwijderen?
|
||||
DeleteConfirmGame = Weet u zeker dat u deze game van uw apparaat wilt\nverwijderen? Dit kan niet ongedaan gemaakt worden.
|
||||
DeleteConfirmGameConfig = Weet u zeker dat u de instellingen voor deze game\nwilt verwijderen?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Kan de data niet verwijderen.
|
||||
Deleting = Bezig met verwijderen...\nEen ogenblik geduld.
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Slett markert fil.\nEr du sikker på at du vil dette?
|
||||
DeleteConfirmAll = Do you really want to delete all\nyour save data for this game?
|
||||
DeleteConfirmGame = Do you really want to delete this game\nfrom your device? You can't undo this.
|
||||
DeleteConfirmGameConfig = Do you really want to delete the settings for this game?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Unable to delete data.
|
||||
Deleting = Sletter\nVent litt...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Dane zapisu zostaną usunięte.\nCzy na pewno chcesz kontynuowa
|
||||
DeleteConfirmAll = Czy na pewno chcesz usunąć wszystkie\ndane zapisu tej gry?
|
||||
DeleteConfirmGame = Czy na pewno chcesz usunąć tę grę\nze swojego urządzenia? Nie można tego cofnąć.
|
||||
DeleteConfirmGameConfig = Czy na pewno chcesz usunąć ustawienia dla tej gry?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Nie można usunąć danych.
|
||||
Deleting = Usuwanie\nProszę czekać...
|
||||
Details = Zmiany
|
||||
|
||||
@@ -430,6 +430,7 @@ DeleteConfirm = Este dado do save será apagado.\nVocê tem certeza que você qu
|
||||
DeleteConfirmAll = Você realmente quer apagar todos\nos seus dados salvos deste jogo?
|
||||
DeleteConfirmGame = Você realmente quer apagar este jogo\ndo seu dispositivo? Você não pode desfazer isto.
|
||||
DeleteConfirmGameConfig = Você realmente quer apagar as configurações deste jogo?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Incapaz de apagar os dados.
|
||||
Deleting = Apagando\nPor favor espere...
|
||||
Details = Detalhes
|
||||
|
||||
@@ -428,6 +428,7 @@ DeleteConfirm = Estes dados do salvamento serão eliminados.\nTens a certeza que
|
||||
DeleteConfirmAll = Queres realmente eliminar todos\nos teus dados salvos deste jogo?
|
||||
DeleteConfirmGame = Queres realmente eliminar este jogo\ndo teu dispositivo? Não poderás desfazer isto.
|
||||
DeleteConfirmGameConfig = Queres realmente eliminar as definições deste jogo?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Não foi possível eliminar os dados.
|
||||
Deleting = A eliminar\nPor favor espere...
|
||||
Details = Detalhes
|
||||
|
||||
@@ -405,6 +405,7 @@ DeleteConfirm = Salvarea curentă va fi ștearsă.\nConfirmați?
|
||||
DeleteConfirmAll = Chiar vrei să-ți ștergi\ndatele salvate pt. acest joc?
|
||||
DeleteConfirmGame = Chiar vrei să ștergi acest joc\nde pe aparatul tău? Nu este cale de întoarcere.
|
||||
DeleteConfirmGameConfig = Chiar vrei să ștergi setările pt. acest joc?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Nu s-au putut șterge datele.
|
||||
Deleting = Ştergere în progres\nVă rugăm așteptați...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Эти данные будут удалены.\nХотите п
|
||||
DeleteConfirmAll = Вы уверены, что хотите удалить сохранения для данной игры?
|
||||
DeleteConfirmGame = Вы уверены, что хотите безвозвратно удалить\nданную игру с вашего устройства?
|
||||
DeleteConfirmGameConfig = Вы уверены, что хотите удалить настройки данной игры?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Не удалось удалить данные.
|
||||
Deleting = Удаление\nПожалуйста, подождите...
|
||||
Details = Подробности
|
||||
|
||||
@@ -405,6 +405,7 @@ DeleteConfirm = All sparad data tas bort.\nÄr du säker på att du vill göra d
|
||||
DeleteConfirmAll = Vill du verkligen ta bort all\nsparad data för spelet?
|
||||
DeleteConfirmGame = Vill du verkligen ta bort det här spelet\nfrån din enhet? Detta kan inte ångras.
|
||||
DeleteConfirmGameConfig = Vill du verkligen ta bort inställningarna för det här spelet?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Misslyckades med att ta bort data.
|
||||
Deleting = Tar bort\nVänta...
|
||||
Details = Detaljer
|
||||
|
||||
@@ -405,6 +405,7 @@ DeleteConfirm = Ang save data na ito ay mabubura.\nGusto mo bang ituloy?
|
||||
DeleteConfirmAll = Gusto mo bang burahin\nang save data ng larong ito?
|
||||
DeleteConfirmGame = Gusto mo bang burahin ang larong ito\nsa iyong device? Wala ng undo ito.
|
||||
DeleteConfirmGameConfig = Sigurado ka bang burahin ang settings ng larong ito?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Hindi mabura ang datos.
|
||||
Deleting = Binubura...\nSandali lamang...
|
||||
Details = Detalye
|
||||
|
||||
@@ -422,6 +422,7 @@ DeleteConfirm = ข้อมูลเซฟนี้จะถูกลบ\nค
|
||||
DeleteConfirmAll = ข้อมูลเซฟของเกมนี้ทั้งหมดจะถูกลบ\nคุณต้องการที่จะดำเนินการต่อหรือไม่?
|
||||
DeleteConfirmGame = คุณต้องการลบเกมทั้งหมดที่อยู่ในอุปกรณ์ของคุณหรือไม่?\nหากกดตกลงแล้วจะไม่สามารถยกเลิกได้
|
||||
DeleteConfirmGameConfig = คุณแน่ใจนะว่าต้องการลบการตั้งค่าเฉพาะของเกมนี้?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = ไม่สามารถลบข้อมูลนี้ได้
|
||||
Deleting = กำลังลบข้อมูล\nโปรดรอ...
|
||||
Details = รายละเอียด
|
||||
|
||||
@@ -406,6 +406,7 @@ DeleteConfirm = Bu kayıt silinecek.\nDevam etmek istiyor musunuz?
|
||||
DeleteConfirmAll = Bu oyun için bütün kayıtları silmek istediğine emin misin?
|
||||
DeleteConfirmGame = Bu oyunu cihazından silmek istediğine emin misin?\nBunu geri alamazsın.
|
||||
DeleteConfirmGameConfig = Bu oyun için ayarları silmek istediğine emin misin?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Veri silinemedi.
|
||||
Deleting = Siliniyor\nLütfen Bekleyin...
|
||||
Details = Ayrıntılar
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = Ці дані будуть видалені.\nХочете пр
|
||||
DeleteConfirmAll = Всі збереження гри будуть видалені.\nВи впевнені, що хочете продовжити?
|
||||
DeleteConfirmGame = Ця гра буде повністю видалена.\nВи впевнені, що хочете продовжити?
|
||||
DeleteConfirmGameConfig = Параметри налаштування для цієї гри будуть видалені.\nВи впевнені, що хочете продовжити?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Неможливо видалити дані.
|
||||
Deleting = Видалення\nБудь ласка, зачекайте...
|
||||
Details = Подробиці
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = File save này sẽ bị xóa.\nBạn có muốn tiếp tục?
|
||||
DeleteConfirmAll = Bạn có muốn xóa tất cả\ndữ liệu save của trò này??
|
||||
DeleteConfirmGame = Bạn có muốn xóa trò này\nkhỏi thiết bị của bạn?
|
||||
DeleteConfirmGameConfig = Bạn có muốn xóa thiết lập\nđối với game này?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Không thể xóa dữ liệu này.
|
||||
Deleting = Đang xóa\nXin đợi...
|
||||
Details = Details
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = 存档将被删除。\n您确定要继续吗?
|
||||
DeleteConfirmAll = 将删除此游戏的所有存档。\n您确定要这样做吗?
|
||||
DeleteConfirmGame = 将删除此游戏的文件,且不能复原。\n您确定要这样做吗?
|
||||
DeleteConfirmGameConfig = 您确定要删除此游戏的设置吗?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = 无法删除存档。
|
||||
Deleting = 删除中。\n请稍候…
|
||||
Details = 详细内容
|
||||
|
||||
@@ -404,6 +404,7 @@ DeleteConfirm = 這個存檔的資料將被刪除\n仍要繼續嗎?
|
||||
DeleteConfirmAll = 您確定要刪除\n這個遊戲的全部存檔資料嗎?
|
||||
DeleteConfirmGame = 您確定要從您的裝置上刪除這個遊戲嗎?\n您無法復原此動作。
|
||||
DeleteConfirmGameConfig = 您確定要刪除這個遊戲的全部設定嗎?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = 無法刪除資料
|
||||
Deleting = 正在刪除\n請稍候…
|
||||
Details = 詳細資料
|
||||
|
||||
Reference in new issue
Block a user