Skip to content

Commit f73cde6

Browse files
committed
Added support for "Invert checked Hidden" and "Disable checked Hidden"
in the right-click context menu of the SectionView in the Query window. Disable checked Hidden: Executing "Disable checked Hidden" will set the Valid of the checked Hidden sections to Disable, and update the settings written to the Hidden configuration file at the "path to PS4CheaterNeo\sections\[GAME_ID].conf" path. To revert, manual editing of the conf file is required, changing the Valid of the Hidden sections from False to True. Note: The Query window needs to Refresh Processes to incorporate the new Hidden conf settings.
1 parent 1b740f1 commit f73cde6

17 files changed

+272
-130
lines changed

PS4CheaterNeo/Main.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ public void ParseLanguageJson()
7979
string codes = Properties.Settings.Default.UILanguage.Value.ToString();
8080
string path = "languages\\LanguageFile_" + codes + ".json";
8181

82-
if (!File.Exists(path)) return;
82+
if (!File.Exists(path))
83+
{
84+
path = "languages\\LanguageFile_" + LanguageCodes.English.ToString() + ".json";
85+
if (!File.Exists(path)) return;
86+
}
8387

8488
using (StreamReader sr = new StreamReader(path))
8589
using (Stream stream = sr.BaseStream)
@@ -875,7 +879,8 @@ private void SaveCheatJson()
875879
string cheatDesc = row.Cells[(int)ChertCol.CheatListDesc].ToString();
876880
ScanType scanType = this.ParseFromDescription<ScanType>(row.Cells[(int)ChertCol.CheatListType].ToString());
877881
string on = row.Cells[(int)ChertCol.CheatListValue].ToString();
878-
if (scanType != ScanType.Hex)
882+
if (!string.IsNullOrWhiteSpace((string)row.Cells[(int)ChertCol.CheatListOn])) on = row.Cells[(int)ChertCol.CheatListOn].ToString();
883+
else if (scanType != ScanType.Hex)
879884
{
880885
byte[] bytes = ScanTool.ValueStringToByte(scanType, on);
881886
on = ScanTool.BytesToString(scanType, bytes, true, on.StartsWith("-"));
@@ -887,6 +892,7 @@ private void SaveCheatJson()
887892
cheatDesc = m1.Groups[1].Value;
888893
off = m1.Groups[3].Value;
889894
}
895+
//When opening JSON or SHN files, if cheats have the same description, they will automatically be numbered. When saving the file, the automatically added numbers will be removed.
890896
cheatDesc = Regex.Replace(cheatDesc, @"_\d+$", "");
891897

892898
if (modBak != null && modBak.Name == cheatDesc) cheatJson.Mods[cheatJson.Mods.Count - 1].Memory.Add(new CheatJson.Memory(offsetAddr.ToString("X"), on, off));
@@ -936,7 +942,8 @@ private void SaveCheatShn()
936942
string cheatDesc = row.Cells[(int)ChertCol.CheatListDesc].ToString();
937943
ScanType scanType = this.ParseFromDescription<ScanType>(row.Cells[(int)ChertCol.CheatListType].ToString());
938944
string on = row.Cells[(int)ChertCol.CheatListValue].ToString();
939-
if (scanType != ScanType.Hex)
945+
if (!string.IsNullOrWhiteSpace((string)row.Cells[(int)ChertCol.CheatListOn])) on = row.Cells[(int)ChertCol.CheatListOn].ToString();
946+
else if (scanType != ScanType.Hex)
940947
{
941948
byte[] bytes = ScanTool.ValueStringToByte(scanType, on);
942949
on = ScanTool.BytesToString(scanType, bytes, true, on.StartsWith("-"));
@@ -948,8 +955,9 @@ private void SaveCheatShn()
948955
cheatDesc = m1.Groups[1].Value;
949956
off = m1.Groups[3].Value;
950957
}
951-
on = Regex.Replace(on, @"(\w\w)(?=\w)", @"$1-");
952-
off = Regex.Replace(off, @"(\w\w)(?=\w)", @"$1-");
958+
on = Regex.Replace(on, @"(\w\w)(?=\w)", @"$1-"); //Separate Hex values with "-"
959+
off = Regex.Replace(off, @"(\w\w)(?=\w)", @"$1-"); //Separate Hex values with "-"
960+
//When opening JSON or SHN files, if cheats have the same description, they will automatically be numbered. When saving the file, the automatically added numbers will be removed.
953961
cheatDesc = Regex.Replace(cheatDesc, @"_\d+$", "");
954962

955963
if (cheatBak != null && cheatBak.Text == cheatDesc) cheatTrainer.Cheats[cheatTrainer.Cheats.Count - 1].Cheatlines.Add(new CheatTrainer.Cheatline(offsetAddr.ToString("X"), section.SN, on, off));

PS4CheaterNeo/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.0.2.5")]
36-
[assembly: AssemblyFileVersion("1.0.2.5")]
35+
[assembly: AssemblyVersion("1.0.2.6")]
36+
[assembly: AssemblyFileVersion("1.0.2.6")]

PS4CheaterNeo/Query.Designer.cs

Lines changed: 118 additions & 85 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

PS4CheaterNeo/Query.cs

Lines changed: 73 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -104,19 +104,21 @@ public void ApplyUI(LanguageJson langJson)
104104
SectionViewOffset.Text = langJson.QueryForm.SectionViewOffset;
105105
SectionViewEnd.Text = langJson.QueryForm.SectionViewEnd;
106106

107-
SectionViewHexEditor.Text = langJson.QueryForm.SectionViewHexEditor;
108-
SectionViewCheck.Text = langJson.QueryForm.SectionViewCheck;
109-
SectionViewCheckAll.Text = langJson.QueryForm.SectionViewCheckAll;
110-
SectionViewUnCheckAll.Text = langJson.QueryForm.SectionViewUnCheckAll;
111-
SectionViewInvertChecked.Text = langJson.QueryForm.SectionViewInvertChecked;
112-
SectionViewCheckContains.Text = langJson.QueryForm.SectionViewCheckContains;
113-
SectionViewUnCheckContains.Text = langJson.QueryForm.SectionViewUnCheckContains;
114-
SectionViewCheckProt.Text = langJson.QueryForm.SectionViewCheckProt;
115-
SectionViewUnCheckProt.Text = langJson.QueryForm.SectionViewUnCheckProt;
116-
SectionViewCheckAllHidden.Text = langJson.QueryForm.SectionViewCheckAllHidden;
117-
SectionViewUnCheckAllHidden.Text = langJson.QueryForm.SectionViewUnCheckAllHidden;
118-
SectionViewDump.Text = langJson.QueryForm.SectionViewDump;
119-
SectionViewImport.Text = langJson.QueryForm.SectionViewImport;
107+
SectionViewHexEditor.Text = langJson.QueryForm.SectionViewHexEditor;
108+
SectionViewCheck.Text = langJson.QueryForm.SectionViewCheck;
109+
SectionViewCheckAll.Text = langJson.QueryForm.SectionViewCheckAll;
110+
SectionViewUnCheckAll.Text = langJson.QueryForm.SectionViewUnCheckAll;
111+
SectionViewInvertChecked.Text = langJson.QueryForm.SectionViewInvertChecked;
112+
SectionViewCheckContains.Text = langJson.QueryForm.SectionViewCheckContains;
113+
SectionViewUnCheckContains.Text = langJson.QueryForm.SectionViewUnCheckContains;
114+
SectionViewCheckProt.Text = langJson.QueryForm.SectionViewCheckProt;
115+
SectionViewUnCheckProt.Text = langJson.QueryForm.SectionViewUnCheckProt;
116+
SectionViewCheckAllHidden.Text = langJson.QueryForm.SectionViewCheckAllHidden;
117+
SectionViewUnCheckAllHidden.Text = langJson.QueryForm.SectionViewUnCheckAllHidden;
118+
SectionViewInvertCheckedHidden.Text = langJson.QueryForm.SectionViewInvertCheckedHidden;
119+
SectionViewDisableCheckedHidden.Text = langJson.QueryForm.SectionViewDisableCheckedHidden;
120+
SectionViewDump.Text = langJson.QueryForm.SectionViewDump;
121+
SectionViewImport.Text = langJson.QueryForm.SectionViewImport;
120122

121123
AddrMinLabel.Text = langJson.QueryForm.AddrMinLabel;
122124
AddrMaxLabel.Text = langJson.QueryForm.AddrMaxLabel;
@@ -284,8 +286,8 @@ private void ProcessesBox_SelectedIndexChanged(object sender, EventArgs e)
284286
{
285287
try
286288
{
287-
SectionViewCheckAllHidden.Visible = SectionViewDetectHiddenSection;
288-
SectionViewUnCheckAllHidden.Visible = SectionViewDetectHiddenSection;
289+
SectionViewHiddens.Visible = SectionViewDetectHiddenSection;
290+
SectionViewDisableCheckedHidden.Visible = WriteHiddenSectionConf;
289291

290292
SectionView.BeginUpdate();
291293
SectionView.VirtualListSize = 0;
@@ -2036,6 +2038,62 @@ private void SectionViewProtection(bool isProt)
20362038
ToolStripMsg.Text = string.Format("Total section: {0}, Selected section: {1}, Search size: {2}MB", sectionItems.Count, sectionTool.TotalSelected, sectionTool.TotalMemorySize / (1024 * 1024));
20372039
SectionView.EndUpdate();
20382040
}
2041+
2042+
private void SectionViewInvertCheckedHidden_Click(object sender, EventArgs e)
2043+
{
2044+
if (sectionItems.Count == 0) return;
2045+
2046+
SectionView.BeginUpdate();
2047+
for (int idx = 0; idx < sectionItems.Count; ++idx)
2048+
{
2049+
ListViewItem item = sectionItems[idx];
2050+
uint sid = uint.Parse(item.SubItems[(int)SectionCol.SectionViewSID].Text);
2051+
string name = item.SubItems[(int)SectionCol.SectionViewName].Text;
2052+
if (!name.Contains("Hidden")) continue;
2053+
2054+
item.Checked = !item.Checked;
2055+
SectionCheckUpdate(item.Checked, sid);
2056+
}
2057+
if (AddrMinBox.Tag != null) AddrMinBox.Text = ((ulong)AddrMinBox.Tag).ToString("X");
2058+
if (AddrMaxBox.Tag != null) AddrMaxBox.Text = ((ulong)AddrMaxBox.Tag).ToString("X");
2059+
ToolStripMsg.Text = string.Format("Total section: {0}, Selected section: {1}, Search size: {2}MB", sectionItems.Count, sectionTool.TotalSelected, sectionTool.TotalMemorySize / (1024 * 1024));
2060+
SectionView.EndUpdate();
2061+
}
2062+
2063+
private void SectionViewDisableCheckedHidden_Click(object sender, EventArgs e)
2064+
{
2065+
if (sectionItems.Count == 0) return;
2066+
if (MessageBox.Show(mainForm.langJson != null ? mainForm.langJson.QueryForm.SectionViewDisableCheckedHiddenWarning : "Warning", "Disable checked Hidden", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return;
2067+
2068+
mainForm.InitGameInfo();
2069+
mainForm.InitLocalHiddenSections();
2070+
if (mainForm.LocalHiddenSections.Count == 0)
2071+
{
2072+
MessageBox.Show(string.Format("Hidden Sections data (sections{0}{1}.conf) was not found locally. \nYou need to enable the \"WriteHiddenSectionConf\" option and \nrestart the Query window to initialize the configuration file.", Path.DirectorySeparatorChar, mainForm.GameID), "Scan", MessageBoxButtons.OK);
2073+
return;
2074+
}
2075+
2076+
SectionView.BeginUpdate();
2077+
for (int idx = 0; idx < sectionItems.Count; ++idx)
2078+
{
2079+
ListViewItem item = sectionItems[idx];
2080+
uint sid = uint.Parse(item.SubItems[(int)SectionCol.SectionViewSID].Text);
2081+
string name = item.SubItems[(int)SectionCol.SectionViewName].Text;
2082+
if (!name.Contains("Hidden") || !item.Checked) continue;
2083+
2084+
if (mainForm.LocalHiddenSections.TryGetValue(sid, out (ulong Start, ulong End, bool Valid, byte Prot, string Name) localHiddenSection))
2085+
{
2086+
localHiddenSection.Valid = false;
2087+
mainForm.LocalHiddenSections[sid] = localHiddenSection;
2088+
}
2089+
item.Checked = false;
2090+
SectionCheckUpdate(item.Checked, sid, true);
2091+
}
2092+
mainForm.UpdateLocalHiddenSections();
2093+
ToolStripMsg.Text = string.Format("Total section: {0}, Selected section: {1}, Search size: {2}MB", sectionItems.Count, sectionTool.TotalSelected, sectionTool.TotalMemorySize / (1024 * 1024));
2094+
SectionView.EndUpdate();
2095+
2096+
}
20392097
#endregion
20402098

20412099
#region ResultViewMenu

PS4CheaterNeo/Query.resx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -127,22 +127,6 @@
127127
<value>17, 17</value>
128128
</metadata>
129129
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
130-
<data name="SplitContainer2.SplitterButtonBitmap" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
131-
<value>
132-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
133-
vAAADrwBlbxySQAAAGdJREFUOE9jIAa8f/9e4OvXrwFQLmkApPnbt28XXr9+/f/79+8JUGHiAExza2vr
134-
/+Tk5P8kGYKs2cnJ6b+vr+//K1euEGfASNQMAhQbAAKjhmACZENITsowADOELM0wADIEe3ZmYAAA/e0P
135-
NJCgSVgAAAAASUVORK5CYII=
136-
</value>
137-
</data>
138-
<data name="SplitContainer1.SplitterButtonBitmap" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
139-
<value>
140-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
141-
vAAADrwBlbxySQAAAGdJREFUOE9jIAa8f/9e4OvXrwFQLmkApPnbt28XXr9+/f/79+8JUGHiAExza2vr
142-
/+Tk5P8kGYKs2cnJ6b+vr+//K1euEGfASNQMAhQbAAKjhmACZENITsowADOELM0wADIEe3ZmYAAA/e0P
143-
NJCgSVgAAAAASUVORK5CYII=
144-
</value>
145-
</data>
146130
<data name="PauseBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
147131
<value>
148132
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -192,6 +176,22 @@
192176
3P9mFVVgtriCvC4EPVEFh94ThpfOuPhAtNHmwZIgVEHytFSW9plskRsMlhDxMPwC/ozns7RxRaITCfGj
193177
BEQKONTYyAM8+F9JjYDDjVEkvwScKJJAAUeVNKU2vM2PuC0ioQKOJ1ncK0E333h40i3J/CngeJKgYQ4A
194178
7Qc/8U6/HCfp8gAAAABJRU5ErkJggg==
179+
</value>
180+
</data>
181+
<data name="SplitContainer2.SplitterButtonBitmap" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
182+
<value>
183+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
184+
vAAADrwBlbxySQAAAGdJREFUOE9jIAa8f/9e4OvXrwFQLmkApPnbt28XXr9+/f/79+8JUGHiAExza2vr
185+
/+Tk5P8kGYKs2cnJ6b+vr+//K1euEGfASNQMAhQbAAKjhmACZENITsowADOELM0wADIEe3ZmYAAA/e0P
186+
NJCgSVgAAAAASUVORK5CYII=
187+
</value>
188+
</data>
189+
<data name="SplitContainer1.SplitterButtonBitmap" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
190+
<value>
191+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
192+
vAAADrwBlbxySQAAAGdJREFUOE9jIAa8f/9e4OvXrwFQLmkApPnbt28XXr9+/f/79+8JUGHiAExza2vr
193+
/+Tk5P8kGYKs2cnJ6b+vr+//K1euEGfASNQMAhQbAAKjhmACZENITsowADOELM0wADIEe3ZmYAAA/e0P
194+
NJCgSVgAAAAASUVORK5CYII=
195195
</value>
196196
</data>
197197
<metadata name="SlowMotionTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

PS4CheaterNeo/common/LanguageJson.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,15 @@ public partial class QueryForm
278278
[System.Runtime.Serialization.DataMemberAttribute()]
279279
public string SectionViewUnCheckAllHidden;
280280

281+
[System.Runtime.Serialization.DataMemberAttribute()]
282+
public string SectionViewInvertCheckedHidden;
283+
284+
[System.Runtime.Serialization.DataMemberAttribute()]
285+
public string SectionViewDisableCheckedHidden;
286+
287+
[System.Runtime.Serialization.DataMemberAttribute()]
288+
public string SectionViewDisableCheckedHiddenWarning;
289+
281290
[System.Runtime.Serialization.DataMemberAttribute()]
282291
public string SectionViewDump;
283292

PS4CheaterNeo/languages/LanguageFile_Chinese.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@
8383
"SectionViewUnCheckProt": "勾選非Prot:",
8484
"SectionViewCheckAllHidden": "勾選Hidden",
8585
"SectionViewUnCheckAllHidden": "勾選非Hidden",
86+
"SectionViewInvertCheckedHidden": "反轉勾選Hidden",
87+
"SectionViewDisableCheckedHidden": "停用勾選的Hidden",
88+
"SectionViewDisableCheckedHiddenWarning": "警告! \n\n執行\"停用勾選的Hidden\"會將已勾選的Hidden sections的Valid設置為Disable,並將設定更新寫入至\"path to PS4CheaterNeo\\sections\\[GAME_ID].conf\"路徑的Hidden設定檔案。\n\n若要復原需要手動編輯conf檔案,將Hidden sections的Valid由False改為True。\n\n是否繼續執行? \n\n注: Query視窗需要Refresh Processes才會帶入新的Hidden conf設定",
8689
"SectionViewDump": "傾印",
8790
"SectionViewImport": "匯入",
8891

PS4CheaterNeo/languages/LanguageFile_English.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,18 @@
7474

7575
"SectionViewHexEditor": "Hex Editor",
7676
"SectionViewCheck": "Check",
77-
"SectionViewCheckAll": "Check All",
78-
"SectionViewUnCheckAll": "Un-Check All",
79-
"SectionViewInvertChecked": "Invert Checked",
77+
"SectionViewCheckAll": "Check all",
78+
"SectionViewUnCheckAll": "Un-Check all",
79+
"SectionViewInvertChecked": "Invert checked",
8080
"SectionViewCheckContains": "Check that contains:",
8181
"SectionViewUnCheckContains": "Un-Check that contains:",
8282
"SectionViewCheckProt": "Check that has prot:",
8383
"SectionViewUnCheckProt": "Un-Check that has prot:",
84-
"SectionViewCheckAllHidden": "Check All Hidden",
85-
"SectionViewUnCheckAllHidden": "Un-Check All Hidden",
84+
"SectionViewCheckAllHidden": "Check all Hidden",
85+
"SectionViewUnCheckAllHidden": "Un-Check all Hidden",
86+
"SectionViewInvertCheckedHidden": "Invert checked Hidden",
87+
"SectionViewDisableCheckedHidden": "Disable checked Hidden",
88+
"SectionViewDisableCheckedHiddenWarning": "Warning! \n\nExecuting \"Disable checked Hidden\" will set the Valid of the checked Hidden sections to Disable, and update the settings written to the Hidden configuration file at the \"path to PS4CheaterNeo\\sections\\[GAME_ID].conf\" path. \n\nTo revert, manual editing of the conf file is required, changing the Valid of the Hidden sections from False to True. \n\nDo you want to continue executing? \n\nNote: The Query window needs to Refresh Processes to incorporate the new Hidden conf settings.",
8689
"SectionViewDump": "Dump",
8790
"SectionViewImport": "Import",
8891

PS4CheaterNeo/languages/LanguageFile_French.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@
8383
"SectionViewUnCheckProt": "Décocher ceux qui ont le prot:",
8484
"SectionViewCheckAllHidden": "Tout cocher (caché)",
8585
"SectionViewUnCheckAllHidden": "Tout décocher (caché)",
86+
"SectionViewInvertCheckedHidden": "Inverser les éléments masqués cochés",
87+
"SectionViewDisableCheckedHidden": "Désactiver les éléments masqués cochés",
88+
"SectionViewDisableCheckedHiddenWarning": "Attention ! \n\nL'exécution de \"Désactiver les sections cachées cochées\" définira la validité des sections cachées cochées sur Désactiver, et mettra à jour les paramètres écrits dans le fichier de configuration caché situé dans le chemin \"path to PS4CheaterNeo\\sections\\[GAME_ID].conf\". \n\nPour revenir en arrière, une édition manuelle du fichier de configuration est nécessaire, en changeant la validité des sections cachées de Faux à Vrai. \n\nVoulez-vous continuer l'exécution ? \n\nRemarque : La fenêtre de requête doit actualiser les processus pour incorporer les nouveaux paramètres de configuration cachés.",
8689
"SectionViewDump": "Extraction",
8790
"SectionViewImport": "Importer",
8891

PS4CheaterNeo/languages/LanguageFile_German.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@
8383
"SectionViewUnCheckProt": "Nicht überprüfen, dass es Prot hat:",
8484
"SectionViewCheckAllHidden": "Alle versteckten überprüfen",
8585
"SectionViewUnCheckAllHidden": "Alle versteckten nicht überprüfen",
86+
"SectionViewInvertCheckedHidden": "Ausgewählte versteckte Elemente umkehren",
87+
"SectionViewDisableCheckedHidden": "Ausgewählte versteckte Elemente deaktivieren",
88+
"SectionViewDisableCheckedHiddenWarning": "Warnung! \n\nDie Ausführung von \"Ausgewählte versteckte deaktivieren\" setzt die Gültigkeit der ausgewählten versteckten Abschnitte auf Deaktiviert und aktualisiert die Einstellungen, die in der versteckten Konfigurationsdatei im Pfad \"path to PS4CheaterNeo\\sections\\[GAME_ID].conf\" geschrieben wurden. \n\nZurückkehren erfordert manuelles Bearbeiten der Konfigurationsdatei, indem die Gültigkeit der versteckten Abschnitte von Falsch auf Wahr geändert wird. \n\nMöchten Sie mit der Ausführung fortsetzen? \n\nHinweis: Das Abfragefenster muss die Prozesse aktualisieren, um die neuen versteckten Konfigurationseinstellungen zu übernehmen.",
8689
"SectionViewDump": "Dump",
8790
"SectionViewImport": "Importieren",
8891

0 commit comments

Comments
 (0)