Relocate vc lang detect to pkx

reusable
This commit is contained in:
Kurt
2018-05-24 16:51:12 -07:00
parent a25c6a4e00
commit c349ab8218
3 changed files with 17 additions and 16 deletions

View File

@@ -902,6 +902,21 @@ public static IEnumerable<byte[]> GetPKMDataFromConcatenatedBinary(byte[] data,
}
}
/// <summary>
/// Detects the language of a <see cref="PK1"/> or <see cref="PK2"/> by checking the current Species name against possible names.
/// </summary>
/// <param name="pk">PKM to fetch language for</param>
/// <returns>Language ID best match (<see cref="LanguageID"/>)</returns>
public static int GetVCLanguage(PKM pk)
{
if (pk.Japanese)
return 1;
if (pk.Korean)
return 8;
int lang = GetSpeciesNameLanguage(pk.Species, pk.Nickname, pk.Format);
return lang > 0 ? lang : (int)LanguageID.English; // Default to ENG
}
internal static bool IsPKMPresentGB(byte[] data, int offset) => data[offset] != 0;
internal static bool IsPKMPresentGC(byte[] data, int offset) => BitConverter.ToUInt16(data, offset) != 0;
internal static bool IsPKMPresentGBA(byte[] data, int offset)

View File

@@ -12,13 +12,7 @@ private void PopulateFieldsPK1()
LoadMisc1(pk1);
// Attempt to detect language
if (pk1.Japanese)
CB_Language.SelectedIndex = 0;
else
{
int lang = PKX.GetSpeciesNameLanguage(pk1.Species, pk1.Nickname, 2);
CB_Language.SelectedValue = lang > 0 ? lang : 2;
}
CB_Language.SelectedValue = PKX.GetVCLanguage(pk1);
LoadPartyStats(pk1);
UpdateStats();

View File

@@ -17,15 +17,7 @@ private void PopulateFieldsPK2()
CB_MetTimeOfDay.SelectedIndex = pk2.Met_TimeOfDay;
// Attempt to detect language
if (pk2.Japanese)
CB_Language.SelectedValue = 1;
else if (pk2.Korean)
CB_Language.SelectedValue = 8;
else
{
int lang = PKX.GetSpeciesNameLanguage(pk2.Species, pk2.Nickname, 2);
CB_Language.SelectedValue = lang > 0 ? lang : 2;
}
CB_Language.SelectedValue = PKX.GetVCLanguage(pk2);
LoadPartyStats(pk2);
UpdateStats();