private void save() { SAV.Game = (byte)(CB_Game.SelectedIndex + 0x18); SAV.Gender = (byte)CB_Gender.SelectedIndex; SAV.TID = (ushort)Util.ToUInt32(MT_TID.Text); SAV.SID = (ushort)Util.ToUInt32(MT_SID.Text); SAV.Money = Util.ToUInt32(MT_Money.Text); SAV.SubRegion = WinFormsUtil.getIndex(CB_Region); SAV.Country = WinFormsUtil.getIndex(CB_Country); SAV.ConsoleRegion = WinFormsUtil.getIndex(CB_3DSReg); SAV.Language = WinFormsUtil.getIndex(CB_Language); SAV.OT = TB_OTName.Text; SAV.Saying1 = TB_Saying1.Text; SAV.Saying2 = TB_Saying2.Text; SAV.Saying3 = TB_Saying3.Text; SAV.Saying4 = TB_Saying4.Text; SAV.Saying5 = TB_Saying5.Text; // Copy Maison Data in if (SAV.MaisonStats > -1) { for (int i = 0; i < MaisonRecords.Length; i++) { SAV.setMaisonStat(i, ushort.Parse(MaisonRecords[i].Text)); } } // Copy Position if (GB_Map.Enabled) { SAV.M = (int)NUD_M.Value; SAV.X = (float)NUD_X.Value; SAV.Z = (float)NUD_Z.Value; SAV.Y = (float)NUD_Y.Value; } SAV.BP = ushort.Parse(TB_BP.Text); // Set Current PokéMiles SAV.setPSSStat(0xFC / 4, Util.ToUInt32(TB_PM.Text)); // Set Max Obtained Pokémiles SAV.setPSSStat(0x100 / 4, Util.ToUInt32(TB_PM.Text)); SAV.Style = byte.Parse(TB_Style.Text); // Copy Badges int badgeval = 0; for (int i = 0; i < 8; i++) { badgeval |= (cba[i].Checked ? 1 : 0) << i; } SAV.Badges = badgeval; // Save PlayTime SAV.PlayedHours = ushort.Parse(MT_Hours.Text); SAV.PlayedMinutes = ushort.Parse(MT_Minutes.Text) % 60; SAV.PlayedSeconds = ushort.Parse(MT_Seconds.Text) % 60; // Sprite SAV.MultiplayerSpriteID = Convert.ToByte(CB_MultiplayerSprite.SelectedValue); // Appearance if (SAV.XY) { SAV.Data[SAV.TrainerCard + 0x30] = byte.Parse(MT_14030.Text); SAV.Data[SAV.TrainerCard + 0x31] = (byte)(byte.Parse(MT_HairColor.Text) | (byte.Parse(MT_Hat.Text) << 3)); SAV.Data[SAV.TrainerCard + 0x32] = byte.Parse(MT_14032.Text); SAV.Data[SAV.TrainerCard + 0x33] = byte.Parse(MT_14033.Text); SAV.Data[SAV.TrainerCard + 0x34] = byte.Parse(MT_14034.Text); SAV.Data[SAV.TrainerCard + 0x35] = byte.Parse(MT_14035.Text); SAV.Data[SAV.TrainerCard + 0x36] = byte.Parse(MT_14036.Text); SAV.Data[SAV.TrainerCard + 0x37] = byte.Parse(MT_14037.Text); SAV.Data[SAV.TrainerCard + 0x38] = byte.Parse(MT_14038.Text); SAV.Data[SAV.TrainerCard + 0x39] = byte.Parse(MT_14039.Text); SAV.Data[SAV.TrainerCard + 0x3A] = byte.Parse(MT_1403A.Text); SAV.Data[SAV.TrainerCard + 0x3B] = byte.Parse(MT_1403B.Text); SAV.Data[SAV.TrainerCard + 0x3C] = byte.Parse(MT_1403C.Text); SAV.Data[SAV.TrainerCard + 0x3D] = byte.Parse(MT_1403D.Text); SAV.Data[SAV.TrainerCard + 0x3E] = byte.Parse(MT_1403E.Text); SAV.Data[SAV.TrainerCard + 0x3F] = byte.Parse(MT_1403F.Text); SAV.OT_Nick = TB_TRNick.Text; } // Vivillon SAV.Vivillon = CB_Vivillon.SelectedIndex; int seconds = (int)(CAL_AdventureStartDate.Value - new DateTime(2000, 1, 1)).TotalSeconds; seconds -= seconds % 86400; seconds += (int)(CAL_AdventureStartTime.Value - new DateTime(2000, 1, 1)).TotalSeconds; SAV.SecondsToStart = seconds; int fame = (int)(CAL_HoFDate.Value - new DateTime(2000, 1, 1)).TotalSeconds; fame -= fame % 86400; fame += (int)(CAL_HoFTime.Value - new DateTime(2000, 1, 1)).TotalSeconds; SAV.SecondsToFame = fame; if (SAV.LastSavedDate.HasValue) { SAV.LastSavedDate = new DateTime(CAL_LastSavedDate.Value.Year, CAL_LastSavedDate.Value.Month, CAL_LastSavedDate.Value.Day, CAL_LastSavedTime.Value.Hour, CAL_LastSavedTime.Value.Minute, 0); } }