mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-09 04:24:36 -05:00
Add getstring method with non-sav data
This commit is contained in:
parent
bca8924437
commit
4c1232855f
|
|
@ -555,7 +555,7 @@ public bool[] EventSpawnFlags
|
|||
}
|
||||
}
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString1(Data, Offset, Length, Japanese);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString1(data, offset, length, Japanese);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -657,11 +657,11 @@ public void UnlockAllDecorations()
|
|||
SetEventFlag(i, true);
|
||||
}
|
||||
|
||||
public override string GetString(int Offset, int Length)
|
||||
public override string GetString(byte[] data, int offset, int length)
|
||||
{
|
||||
if (Korean)
|
||||
return StringConverter.GetString2KOR(Data, Offset, Length);
|
||||
return StringConverter.GetString1(Data, Offset, Length, Japanese);
|
||||
return StringConverter.GetString2KOR(data, offset, length);
|
||||
return StringConverter.GetString1(data, offset, length, Japanese);
|
||||
}
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
|
|
|
|||
|
|
@ -776,7 +776,7 @@ public bool NationalDex
|
|||
}
|
||||
}
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString3(Data, Offset, Length, Japanese);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString3(data, offset, length, Japanese);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ public override InventoryPouch[] Inventory
|
|||
public override void SetDaycareEXP(int loc, int slot, uint EXP) { }
|
||||
public override void SetDaycareOccupied(int loc, int slot, bool occupied) { }
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetBEString3(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetBEString3(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ public override void SetStoredSlot(PKM pkm, int offset, bool? trade = null, bool
|
|||
Edited = true;
|
||||
}
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString3(Data, Offset, Length, Japanese);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString3(data, offset, length, Japanese);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@ public override InventoryPouch[] Inventory
|
|||
public override void SetDaycareEXP(int loc, int slot, uint EXP) { }
|
||||
public override void SetDaycareOccupied(int loc, int slot, bool occupied) { }
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetBEString3(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetBEString3(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1301,7 +1301,7 @@ public bool[] PokewalkerCoursesUnlocked
|
|||
public int GetApricornCount(int i) => !HGSS ? -1 : Data[0xE558 + GBO + i];
|
||||
public void SetApricornCount(int i, int count) => Data[0xE558 + GBO + i] = (byte)count;
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString4(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString4(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ private static void SetChecksum(byte[] input, int offset, int len, int checksum_
|
|||
}
|
||||
}
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetBEString4(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetBEString4(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -546,7 +546,7 @@ public override bool GetSeen(int species)
|
|||
return false;
|
||||
}
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString5(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString5(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1086,7 +1086,7 @@ public override string MiscSaveChecks()
|
|||
|
||||
public override string MiscSaveInfo() => string.Join(Environment.NewLine, Blocks.Select(b => b.Summary));
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString6(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString6(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1510,7 +1510,7 @@ public bool ZMoveUnlocked
|
|||
set => Data[TrainerCard + 0x78] = (byte)((Data[TrainerCard + 0x78] & ~2) | (value ? 2 : 0)); // in battle
|
||||
}
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString7(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString7(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ protected override void SetPKM(PKM pkm)
|
|||
public override string GetBoxName(int box) => $"Box {box + 1}";
|
||||
public override void SetBoxName(int box, string value) { }
|
||||
|
||||
public override string GetString(int Offset, int Length) => StringConverter.GetString7(Data, Offset, Length);
|
||||
public override string GetString(byte[] data, int offset, int length) => StringConverter.GetString7(data, offset, length);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -455,6 +455,7 @@ public bool IsPartyAllEggs(params int[] except)
|
|||
protected int[] LockedSlots = Array.Empty<int>();
|
||||
protected int[] TeamSlots = Array.Empty<int>();
|
||||
protected virtual IList<int>[] SlotPointers => new[] {LockedSlots,TeamSlots};
|
||||
public virtual StorageSlotFlag GetSlotFlags(int index) => StorageSlotFlag.None;
|
||||
|
||||
public bool MoveBox(int box, int insertBeforeBox)
|
||||
{
|
||||
|
|
@ -467,8 +468,6 @@ public bool MoveBox(int box, int insertBeforeBox)
|
|||
int pos2 = BoxSlotCount*insertBeforeBox;
|
||||
int min = Math.Min(pos1, pos2);
|
||||
int max = Math.Max(pos1, pos2);
|
||||
if (LockedSlots.Any(slot => min <= slot && slot < max)) // slots locked within operation range
|
||||
return false;
|
||||
|
||||
int len = BoxSlotCount*SIZE_STORED;
|
||||
byte[] boxdata = GetData(GetBoxOffset(0), len*BoxCount); // get all boxes
|
||||
|
|
@ -835,7 +834,8 @@ public bool IsRangeAll(int Offset, int Length, int value)
|
|||
|
||||
public virtual bool IsPKMPresent(int Offset) => PKX.IsPKMPresent(Data, Offset);
|
||||
|
||||
public abstract string GetString(int Offset, int Length);
|
||||
public abstract string GetString(byte[] data, int offset, int length);
|
||||
public string GetString(int offset, int length) => GetString(Data, offset, length);
|
||||
public abstract byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0);
|
||||
|
||||
public virtual string EBerryName => string.Empty;
|
||||
|
|
|
|||
|
|
@ -64,8 +64,8 @@ protected BulkStorage(byte[] data, Type t, int start, int slotsPerBox = 30)
|
|||
public override void SetBoxName(int box, string value) { }
|
||||
public override int GetPartyOffset(int slot) => int.MinValue;
|
||||
|
||||
public override string GetString(int Offset, int Length)
|
||||
=> StringConverter.GetString(Data, Generation, blank.Japanese, BigEndian, Length, Offset);
|
||||
public override string GetString(byte[] data, int offset, int length)
|
||||
=> StringConverter.GetString(data, Generation, blank.Japanese, BigEndian, length, offset);
|
||||
|
||||
public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0)
|
||||
=> StringConverter.SetString(value, Generation, blank.Japanese, BigEndian, maxLength, padTo: PadToSize, padWith: PadWith);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using PKHeX.Core;
|
||||
|
||||
|
|
@ -16,7 +15,6 @@ public TrashEditor(TextBoxBase TB_NN, byte[] raw, SaveFile sav)
|
|||
InitializeComponent();
|
||||
WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);
|
||||
SAV = sav;
|
||||
bigendian = new[] { GameVersion.COLO, GameVersion.XD, GameVersion.BATREV, }.Contains(SAV.Version);
|
||||
|
||||
FinalString = TB_NN.Text;
|
||||
Raw = FinalBytes = raw;
|
||||
|
|
@ -51,7 +49,6 @@ public TrashEditor(TextBoxBase TB_NN, byte[] raw, SaveFile sav)
|
|||
public byte[] FinalBytes { get; private set; }
|
||||
private readonly byte[] Raw;
|
||||
private bool editing;
|
||||
private readonly bool bigendian;
|
||||
private void B_Cancel_Click(object sender, EventArgs e) => Close();
|
||||
|
||||
private void B_Save_Click(object sender, EventArgs e)
|
||||
|
|
@ -175,21 +172,8 @@ private void B_ClearTrash_Click(object sender, EventArgs e)
|
|||
Bytes[i].Value = 0;
|
||||
}
|
||||
|
||||
private byte[] SetString(string text)
|
||||
{
|
||||
if (SAV is SAV2 s && s.Korean)
|
||||
return StringConverter.SetString2KOR(text, Raw.Length);
|
||||
if (SAV is SAV7b)
|
||||
return StringConverter.SetString7b(text, SAV.Generation, Raw.Length, SAV.Language);
|
||||
return StringConverter.SetString(text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language);
|
||||
}
|
||||
|
||||
private string GetString()
|
||||
{
|
||||
return SAV is SAV2 s && s.Korean
|
||||
? StringConverter.GetString2KOR(Raw, 0, Raw.Length)
|
||||
: StringConverter.GetString(Raw, SAV.Generation, SAV.Japanese, bigendian, Raw.Length);
|
||||
}
|
||||
private byte[] SetString(string text) => SAV.SetString(text, Raw.Length);
|
||||
private string GetString() => SAV.GetString(Raw, 0, Raw.Length);
|
||||
|
||||
// Helpers
|
||||
private static Label GetLabel(string str) => new Label {Text = str, AutoSize = true};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user