mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-06 05:27:14 -05:00
Relocate to more appropriate util class
This commit is contained in:
parent
c5ebbbbe15
commit
40cbbaa695
|
|
@ -14,12 +14,12 @@ public class MysteryBlock6 : SaveBlock
|
|||
|
||||
public bool[] MysteryGiftReceivedFlags
|
||||
{
|
||||
get => Util.GitBitFlagArray(Data, Offset + FlagStart, MaxReceivedFlag);
|
||||
get => ArrayUtil.GitBitFlagArray(Data, Offset + FlagStart, MaxReceivedFlag);
|
||||
set
|
||||
{
|
||||
if (value?.Length != MaxReceivedFlag)
|
||||
return;
|
||||
Util.SetBitFlagArray(Data, Offset + FlagStart, value);
|
||||
ArrayUtil.SetBitFlagArray(Data, Offset + FlagStart, value);
|
||||
SAV.Edited = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,12 +15,12 @@ public sealed class MysteryBlock7 : SaveBlock
|
|||
// Mystery Gift
|
||||
public bool[] MysteryGiftReceivedFlags
|
||||
{
|
||||
get => Util.GitBitFlagArray(Data, Offset + FlagStart, MaxReceivedFlag);
|
||||
get => ArrayUtil.GitBitFlagArray(Data, Offset + FlagStart, MaxReceivedFlag);
|
||||
set
|
||||
{
|
||||
if (value?.Length != MaxReceivedFlag)
|
||||
return;
|
||||
Util.SetBitFlagArray(Data, Offset + FlagStart, value);
|
||||
ArrayUtil.SetBitFlagArray(Data, Offset + FlagStart, value);
|
||||
SAV.Edited = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,5 +51,29 @@ public static IEnumerable<byte[]> EnumerateSplit(byte[] bin, int size, int start
|
|||
for (int i = start; i < end; i += size)
|
||||
yield return bin.Slice(i, size);
|
||||
}
|
||||
|
||||
public static bool[] GitBitFlagArray(byte[] data, int offset, int count)
|
||||
{
|
||||
bool[] result = new bool[count];
|
||||
for (int i = 0; i < result.Length; i++)
|
||||
result[i] = (data[offset + (i >> 3)] >> (i & 7) & 0x1) == 1;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void SetBitFlagArray(byte[] data, int offset, bool[] value)
|
||||
{
|
||||
for (int i = 0; i < value.Length; i++)
|
||||
{
|
||||
if (value[i])
|
||||
data[offset + (i >> 3)] |= (byte)(1 << (i & 7));
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] SetBitFlagArray(bool[] value)
|
||||
{
|
||||
byte[] data = new byte[value.Length / 8];
|
||||
SetBitFlagArray(data, 0, value);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -143,30 +143,5 @@ private static string TrimFromFirst(string input, char c)
|
|||
int index = input.IndexOf(c);
|
||||
return index < 0 ? input : input.Substring(0, index);
|
||||
}
|
||||
|
||||
|
||||
public static bool[] GitBitFlagArray(byte[] data, int offset, int count)
|
||||
{
|
||||
bool[] result = new bool[count];
|
||||
for (int i = 0; i < result.Length; i++)
|
||||
result[i] = (data[offset + (i >> 3)] >> (i & 7) & 0x1) == 1;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void SetBitFlagArray(byte[] data, int offset, bool[] value)
|
||||
{
|
||||
for (int i = 0; i < value.Length; i++)
|
||||
{
|
||||
if (value[i])
|
||||
data[offset + (i >> 3)] |= (byte)(1 << (i & 7));
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] SetBitFlagArray(bool[] value)
|
||||
{
|
||||
byte[] data = new byte[value.Length / 8];
|
||||
SetBitFlagArray(data, 0, value);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user