rendered paste bodyC++:
struct MonsterData {
BYTE _1[22]; //0x00
struct
{
BYTE fUnk:1;
BYTE fNormal:1;
BYTE fChamp:1;
BYTE fBoss:1;
BYTE fMinion:1;
}; //0x16
WORD _2; //0x17
DWORD _3; //0x18
BYTE anEnchants[9]; //0x1C
BYTE _4; //0x25
WORD wUniqueNo; //0x26
DWORD _5; //0x28
struct {
wchar_t wName[28];
}; //0x2C
};
C#:
[StructLayout(LayoutKind.Explicit)]
public struct MonsterData
{
[FieldOffset(0x00)] [MarshalAs(UnmanagedType.ByValArray, SizeConst=22)] public byte[] _1;
// Union
[FieldOffset(0x16)] public byte fUnk;
[FieldOffset(0x16)] public byte fNormal;
[FieldOffset(0x16)] public byte fChamp;
[FieldOffset(0x16)] public byte fBoss;
[FieldOffset(0x16)] public byte fMinion;
[FieldOffset(0x17)] public UInt16 _2;
[FieldOffset(0x18)] public uint _3;
[FieldOffset(0x1C)] [MarshalAs(UnmanagedType.ByValArray, SizeConst=9)] public byte[] anEnchants;
[FieldOffset(0x25)] public byte _4;
[FieldOffset(0x26)] public UInt16 wUniqueNo;
[FieldOffset(0x28)] public byte _5;
[FieldOffset(0x2C)] [MarshalAs(UnmanagedType.LPStr, SizeConst=28)] public string wName;
}