Fix long OT name length setting

StringLength is the raw buffer size, needs to be offset by 1 as the
string length enforced does not consider the terminator

12char OT name in sav7 loaded to tabs -> load gen1/2 save = exception
(now fixed)
This commit is contained in:
Kurt
2018-01-01 11:27:45 -08:00
parent cfe78a7a0c
commit e79a35d387
2 changed files with 3 additions and 3 deletions

View File

@@ -23,7 +23,7 @@ public sealed class PK1 : PKM
private int StringLength => Japanese ? STRLEN_J : STRLEN_U;
private string GetString(int Offset, int Count) => StringConverter.GetString1(Data, Offset, Count, Japanese);
private byte[] SetString(string value, int maxLength) => StringConverter.SetString1(value, maxLength, Japanese);
private byte[] SetString(string value, int maxLength) => StringConverter.SetString1(value, maxLength - 1, Japanese);
// Trash Bytes
public override byte[] Nickname_Trash { get => nick; set { if (value?.Length == nick.Length) nick = value; } }

View File

@@ -33,8 +33,8 @@ private string GetString(int Offset, int Count)
private byte[] SetString(string value, int maxLength)
{
if (Korean)
return StringConverter.SetString2KOR(value, maxLength);
return StringConverter.SetString1(value, maxLength, Japanese);
return StringConverter.SetString2KOR(value, maxLength - 1);
return StringConverter.SetString1(value, maxLength - 1, Japanese);
}
// Trash Bytes