public SAV_Capture7GG(SaveFile sav) { InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); SAV = (SAV7b)(Origin = sav).Clone(); Dex = SAV.Blocks.Zukan; Captured = SAV.Blocks.Captured; // Clear Listbox and ComboBox LB_Species.Items.Clear(); CB_Species.Items.Clear(); // Fill List var list = GetLegalSpecies().ToArray(); var species = GameInfo.SpeciesDataSource.Where(z => list.Contains(z.Value)).ToList(); CB_Species.InitializeBinding(); CB_Species.DataSource = new BindingSource(species, null); foreach (var (text, value) in species.OrderBy(z => z.Value)) LB_Species.Items.Add($"{value:000}: {text}"); GetTotals(); CB_Species.KeyDown += WinFormsUtil.RemoveDropCB; LB_Species.SelectedIndex = Index = 0; GetEntry(); Loading = false; }
public SAV_PokedexGG(SaveFile sav) { InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); SAV = (SAV7b)(Origin = sav).Clone(); CP = new[] { CHK_P1, CHK_P2, CHK_P3, CHK_P4, CHK_P5, CHK_P6, CHK_P7, CHK_P8, CHK_P9, }; CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L4, CHK_L5, CHK_L6, CHK_L7, CHK_L8, CHK_L9, }; editing = true; // Clear Listbox and ComboBox LB_Species.Items.Clear(); CB_Species.Items.Clear(); // Fill List CB_Species.InitializeBinding(); CB_Species.DataSource = new BindingSource(GameInfo.SpeciesDataSource.Skip(1).ToList(), null); Dex = SAV.Blocks.Zukan; var Species = GameInfo.Strings.Species; var names = Dex.GetEntryNames(Species); foreach (var n in names) { LB_Species.Items.Add(n); } RecordUsed = new[] { CHK_RMinHeight, CHK_RMaxHeight, CHK_RMinWeight, CHK_RMaxWeight }; RecordHeight = new[] { NUD_RHeightMin, NUD_RHeightMax, NUD_RWeightMinHeight, NUD_RWeightMaxHeight }; RecordWeight = new[] { NUD_RHeightMinWeight, NUD_RHeightMaxWeight, NUD_RWeightMin, NUD_RWeightMax }; editing = false; LB_Species.SelectedIndex = 0; CB_Species.KeyDown += WinFormsUtil.RemoveDropCB; }
public async Task <SAV7b> LGGetFakeTrainerSAV(CancellationToken token) { SAV7b lgpe = new SAV7b(); byte[] dest = lgpe.Blocks.Status.Data; int startofs = lgpe.Blocks.Status.Offset; byte[]? data = await Connection.ReadBytesAsync(TrainerData, TrainerSize, token).ConfigureAwait(false); data.CopyTo(dest, startofs); return(lgpe); }
public static LiveHeXVersion[] GetValidVersions(SaveFile sf) { return(sf switch { SAV8SWSH _ => new[] { LiveHeXVersion.SWSH_Orion, LiveHeXVersion.SWSH_Rigel1, LiveHeXVersion.SWSH_Rigel2 }, SAV7b _ => new[] { LiveHeXVersion.LGPE_v102 }, SAV7USUM _ => new[] { LiveHeXVersion.UM_v12, LiveHeXVersion.US_v12 }, SAV7SM _ => new[] { LiveHeXVersion.SM_v12 }, SAV6AO _ => new[] { LiveHeXVersion.ORAS }, SAV6XY _ => new[] { LiveHeXVersion.XY }, _ => new[] { LiveHeXVersion.SWSH_Rigel2 } });
public async Task <SAV7b> LGIdentifyTrainer(CancellationToken token) { Log("Grabbing trainer data of host console..."); SAV7b sav = await LGGetFakeTrainerSAV(token).ConfigureAwait(false); GameLang = (LanguageID)sav.Language; Version = sav.Version; InGameName = sav.OT; Connection.Label = $"{InGameName}-{sav.DisplayTID:000000}"; Log($"{Connection.Name} identified as {Connection.Label}, using {GameLang}."); return(sav); }
public SAV_EventWork(SAV7b sav) { InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); SAV = sav.Blocks.EventWork; Origin = sav; DragEnter += Main_DragEnter; DragDrop += Main_DragDrop; CB_Stats.Items.Clear(); for (int i = 0; i < SAV.CountWork; i++) { CB_Stats.Items.Add(i.ToString()); } var work = GetStringList(sav.Version, "const"); var flag = GetStringList(sav.Version, "flags"); Editor = new SplitEventEditor <int>(SAV, work, flag); SuspendLayout(); editing = true; LoadFlags(Editor.Flag); LoadWork(Editor.Work); editing = false; ResumeLayout(); if (CB_Stats.Items.Count > 0) { CB_Stats.SelectedIndex = 0; } else { L_Stats.Visible = CB_Stats.Visible = NUD_Stat.Visible = false; TC_Features.TabPages.Remove(GB_Constants); } NUD_Flag.Maximum = SAV.CountFlag - 1; NUD_Flag.Text = "0"; c_CustomFlag.Checked = SAV.GetFlag(0); Text = $"{Text} ({sav.Version})"; }
public SAV_Trainer7GG(SaveFile sav) { InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); SAV = (SAV7b)(Origin = sav).Clone(); Park = new GoParkStorage(SAV); UpdateGoSummary(0); if (Main.Unicode) { TB_OTName.Font = TB_RivalName.Font = FontUtil.GetPKXFont(); } B_MaxCash.Click += (sender, e) => MT_Money.Text = "9,999,999"; GetComboBoxes(); LoadTrainerInfo(); }
private void SetTrainerData(SaveFile sav, LiveHeXVersion lv) { // Check and set trainerdata based on ISaveBlock interfaces byte[] dest = sav switch { ISaveBlock8Main s8 => s8.MyStatus.Data, ISaveBlock7Main s7 => s7.MyStatus.Data, ISaveBlock6Core s6 => s6.Status.Data, SAV7b slgpe => slgpe.Blocks.Status.Data, _ => Array.Empty <byte>() }; if (dest.Length == 0) { return; } var ofs = RamOffsets.GetTrainerBlockOffset(lv); var data = Remote.Bot.com.ReadBytes(ofs, dest.Length); data.CopyTo(dest, 0); }
private const int Key = 0x0B38; // 6 public MyItem7b(SAV7b sav, int offset) : base(sav) => Offset = offset;
public Zukan7b(SAV7b sav, int dex, int langflag) : base(sav, dex, langflag) { }
protected Zukan7(SAV7b sav, int dex, int langflag) : this(sav, dex, langflag, DexFormUtil.GetDexFormIndexGG) { }