mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-19 23:08:34 +00:00
fix trashbyte editing for korean saves
sorta ugly but works
This commit is contained in:
parent
76adfd62bf
commit
0b6446b980
1 changed files with 17 additions and 5 deletions
|
@ -128,7 +128,7 @@ namespace PKHeX.WinForms
|
||||||
int index = Bytes.IndexOf(nud);
|
int index = Bytes.IndexOf(nud);
|
||||||
Raw[index] = (byte)nud.Value;
|
Raw[index] = (byte)nud.Value;
|
||||||
|
|
||||||
string str = StringConverter.GetString(Raw, SAV.Generation, SAV.Japanese, bigendian, Raw.Length);
|
string str = GetString();
|
||||||
TB_Text.Text = str;
|
TB_Text.Text = str;
|
||||||
editing = false;
|
editing = false;
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,7 @@ namespace PKHeX.WinForms
|
||||||
return;
|
return;
|
||||||
editing = true;
|
editing = true;
|
||||||
// build bytes
|
// build bytes
|
||||||
byte[] data = StringConverter.SetString(TB_Text.Text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language);
|
byte[] data = SetString(TB_Text.Text);
|
||||||
Array.Copy(data, Raw, Math.Min(data.Length, Raw.Length));
|
Array.Copy(data, Raw, Math.Min(data.Length, Raw.Length));
|
||||||
for (int i = 0; i < Raw.Length; i++)
|
for (int i = 0; i < Raw.Length; i++)
|
||||||
Bytes[i].Value = Raw[i];
|
Bytes[i].Value = Raw[i];
|
||||||
|
@ -152,8 +152,8 @@ namespace PKHeX.WinForms
|
||||||
if (species == "") // no result
|
if (species == "") // no result
|
||||||
species = CB_Species.Text;
|
species = CB_Species.Text;
|
||||||
|
|
||||||
byte[] current = StringConverter.SetString(TB_Text.Text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language);
|
byte[] current = SetString(TB_Text.Text);
|
||||||
byte[] data = StringConverter.SetString(species, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language);
|
byte[] data = SetString(species);
|
||||||
if (data.Length <= current.Length)
|
if (data.Length <= current.Length)
|
||||||
{
|
{
|
||||||
WinFormsUtil.Alert("Trash byte layer is hidden by current text.",
|
WinFormsUtil.Alert("Trash byte layer is hidden by current text.",
|
||||||
|
@ -170,10 +170,22 @@ namespace PKHeX.WinForms
|
||||||
}
|
}
|
||||||
private void B_ClearTrash_Click(object sender, EventArgs e)
|
private void B_ClearTrash_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
byte[] current = StringConverter.SetString(TB_Text.Text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language);
|
byte[] current = SetString(TB_Text.Text);
|
||||||
for (int i = current.Length; i < Bytes.Count; i++)
|
for (int i = current.Length; i < Bytes.Count; i++)
|
||||||
Bytes[i].Value = 0;
|
Bytes[i].Value = 0;
|
||||||
}
|
}
|
||||||
|
private byte[] SetString(string text)
|
||||||
|
{
|
||||||
|
return SAV is SAV2 s && s.Korean
|
||||||
|
? StringConverter.SetString2KOR(text, Raw.Length)
|
||||||
|
: StringConverter.SetString(text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language);
|
||||||
|
}
|
||||||
|
private string GetString()
|
||||||
|
{
|
||||||
|
return SAV is SAV2 s && s.Korean
|
||||||
|
? StringConverter.GetString2KOR(Raw, 0, Raw.Length)
|
||||||
|
: StringConverter.GetString(Raw, SAV.Generation, SAV.Japanese, bigendian, Raw.Length);
|
||||||
|
}
|
||||||
|
|
||||||
// Helpers
|
// Helpers
|
||||||
private static Label GetLabel(string str) => new Label {Text = str, AutoSize = true};
|
private static Label GetLabel(string str) => new Label {Text = str, AutoSize = true};
|
||||||
|
|
Loading…
Add table
Reference in a new issue