PKHeX/PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs
Kurt 064e4293a0 Save Language first for gen3pkm
So that Nickname encoding can work as expected. Also fixes mainline int<->jpn changed edits

ty rainbowsunsetwaves on discord

Extend the fix to user-created eggs in Gen3 so that the OT name is converted.
2025-05-19 22:51:47 -05:00

44 lines
1.0 KiB
C#

using System;
using PKHeX.Core;
namespace PKHeX.WinForms.Controls;
public partial class PKMEditor
{
private void PopulateFieldsPK3()
{
if (Entity is not G3PKM pk3)
throw new FormatException(nameof(Entity));
LoadMisc3(pk3);
LoadMisc1(pk3);
LoadMisc2(pk3);
CB_Ability.SelectedIndex = pk3.AbilityBit && CB_Ability.Items.Count > 1 ? 1 : 0;
if (pk3 is IShadowCapture s)
LoadShadow3(s);
LoadPartyStats(pk3);
UpdateStats();
}
private G3PKM PreparePK3()
{
if (Entity is not G3PKM pk3)
throw new FormatException(nameof(Entity));
SaveMisc3(pk3); // save Language first so that Nickname/etc encode properly
SaveMisc2(pk3); // save IsEgg prior to setting ^
SaveMisc1(pk3);
pk3.AbilityBit = CB_Ability.SelectedIndex != 0;
if (Entity is IShadowCapture ck3)
SaveShadow3(ck3);
SavePartyStats(pk3);
pk3.FixMoves();
pk3.RefreshChecksum();
return pk3;
}
}