2023-01-21 20:02:33 -08:00
|
|
|
using System;
|
2022-01-02 21:35:59 -08:00
|
|
|
using static System.Buffers.Binary.BinaryPrimitives;
|
2019-06-08 19:56:11 -07:00
|
|
|
|
2022-06-18 11:04:24 -07:00
|
|
|
namespace PKHeX.Core;
|
2019-06-08 19:56:11 -07:00
|
|
|
|
2024-03-03 23:13:16 -06:00
|
|
|
public sealed class SangoInfoBlock(SAV6AO SAV, Memory<byte> raw) : SaveBlock<SAV6AO>(SAV, raw)
|
2022-06-18 11:04:24 -07:00
|
|
|
{
|
|
|
|
private const uint EON_MAGIC = WC6.EonTicketConst;
|
2019-06-08 19:56:11 -07:00
|
|
|
|
2022-06-18 11:04:24 -07:00
|
|
|
public uint EonTicketReceivedMagic // 0x319B8
|
|
|
|
{
|
2024-03-03 23:13:16 -06:00
|
|
|
get => ReadUInt32LittleEndian(Data[0x63B8..]);
|
|
|
|
set => WriteUInt32LittleEndian(Data[0x63B8..], value);
|
2022-06-18 11:04:24 -07:00
|
|
|
}
|
2019-06-08 19:56:11 -07:00
|
|
|
|
2022-06-18 11:04:24 -07:00
|
|
|
public string SecretBaseQRText // 0x319BC -- 17*u16
|
|
|
|
{
|
2024-03-03 23:13:16 -06:00
|
|
|
get => SAV.GetString(Data.Slice(0x63BC, 36));
|
|
|
|
set => SAV.SetString(Data.Slice(0x63BC, 36), value, 0x10, StringConverterOption.ClearZero);
|
2022-06-18 11:04:24 -07:00
|
|
|
}
|
2019-06-08 19:56:11 -07:00
|
|
|
|
2022-06-18 11:04:24 -07:00
|
|
|
public uint EonTicketSendMagic // 0x319DE
|
|
|
|
{
|
2024-03-03 23:13:16 -06:00
|
|
|
get => ReadUInt32LittleEndian(Data[0x63DE..]);
|
|
|
|
set => WriteUInt32LittleEndian(Data[0x63DE..], value);
|
2019-06-08 19:56:11 -07:00
|
|
|
}
|
2022-06-18 11:04:24 -07:00
|
|
|
|
|
|
|
public void ReceiveEon() => EonTicketReceivedMagic = EON_MAGIC;
|
|
|
|
public void EnableSendEon() => EonTicketSendMagic = EON_MAGIC;
|
2022-01-02 21:35:59 -08:00
|
|
|
}
|