public static byte[] GetBin(PersonalTableLA table) { var all = FromArceus(table); var data = all.SelectMany(z => z.Write()).ToArray(); return(data); }
public static PersonalInfoLA_Bin[] FromArceus(PersonalTableLA table) { var max = table.Table.Max(z => z.Species); var baseForms = new PersonalInfoLA_Bin[max + 1]; var formTable = new List <PersonalInfoLA_Bin>(); for (int i = 0; i <= max; i++) { var forms = table.Table.Where(z => z.Species == (ushort)i).OrderBy(z => z.Form).ToList(); var e = forms[0]; baseForms[i] = GetObj(e, forms, max, formTable); for (int f = 1; f < forms.Count; f++) { formTable.Add(GetObj(forms[f], forms, max, formTable, f)); } } return(baseForms.Concat(formTable).ToArray()); }