AxibugEmuOnline/AxibugEmuOnline.Client/Assets/VirtualNes.Core/State/FILEHDR2.cs
2024-09-13 17:39:48 +08:00

45 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
namespace VirtualNes.Core
{
public struct FILEHDR2 : IStateBufferObject
{
public string ID;
/// <summary> 2字节 </summary>
public ushort BlockVersion;
/// <summary> 4字节 </summary>
public uint Ext0;
/// <summary> 2字节 </summary>
public ushort Ext1;
/// <summary> 2字节 </summary>
public ushort Ext2;
public readonly uint GetSize()
{
return (uint)(ID.Length + sizeof(ushort) + sizeof(uint) + sizeof(ushort) + sizeof(ushort));
}
public readonly void SaveState(StateBuffer buffer)
{
buffer.Write(ID);
buffer.Write(BlockVersion);
buffer.Write(Ext0);
buffer.Write(Ext1);
buffer.Write(Ext2);
}
public void LoadState(StateReader buffer)
{
ID = buffer.Read_string(12);
BlockVersion = buffer.Read_ushort();
Ext0 = buffer.Read_uint();
Ext1 = buffer.Read_ushort();
Ext2 = buffer.Read_ushort();
}
}
}