Actor data from MPQ:
Code:
public class ActorSNO : MemoryObject
{
public const int SizeOf = 0x368;
public ActorSNO(ProcessMemory memory, int address)
: base(memory, address) { }
public SNO x000_ActorSnoId
{
get
{
var snoid = Field<int>(0x000);
return new SNO(snoid, Enums.SnoGroupId.Actor);
}
}
public int x00C { get { return Field<int>(0x00C); } }
public ActorType x010_ActorType { get { return (ActorType)Field<int>(0x010); } }
public SNO x014_AppearanceSnoId
{
get
{
var snoid = Field<int>(0x014);
return new SNO(snoid, Enums.SnoGroupId.Appearance);
}
}
public SNO x018_PhysMeshSnoId
{
get
{
var snoid = Field<int>(0x018);
return new SNO(snoid, Enums.SnoGroupId.PhysMesh);
}
}
public AxialCylinder x01C { get { return Field<AxialCylinder>(0x01C); } }
public Sphere x030 { get { return Field<Sphere>(0x030); } }
public AxisAlignedBoundingBox x040 { get { return Field<AxisAlignedBoundingBox>(0x040); } }
private SerializeData x058_serTagMap { get { return Field<SerializeData>(0x058); } }
//public TagMap x060_hTagMap { get { return Field<TagMap>(0x060); } }
public SNO x068_AnimSetSnoId
{
get
{
var snoid = Field<int>(0x068);
return new SNO(snoid, Enums.SnoGroupId.AnimSet);
}
}
public SNO x06C_MonsterSnoId
{
get
{
var snoid = Field<int>(0x06C);
return new SNO(snoid, Enums.SnoGroupId.Monster);
}
}
private SerializeData x070_serMsgTriggeredEvents { get { return Field<SerializeData>(0x070); } }
public int x078_MsgTriggeredEventCount { get { return Field<int>(0x078); } }
public int x080_MsgTriggeredEventPtr { get { return Field<int>(0x080); } }
public MsgTriggeredEvent[] x084_arMsgTriggeredEvents { get { return Field<MsgTriggeredEvent>(x070_serMsgTriggeredEvents.x00_Offset, x070_serMsgTriggeredEvents.x04_Size / MsgTriggeredEvent.SizeOf); } }
public Vector3D x088 { get { return Field<Vector3D>(0x088); } }
public WeightedLook[] x094_Looks { get { return Field<WeightedLook>(0x094, 8); } }
public SNO x2B4_PhysicsSnoId
{
get
{
var snoid = Field<int>(0x2B4);
return new SNO(snoid, Enums.SnoGroupId.Physics);
}
}
public int x2B8 { get { return Field<int>(0x2B8); } }
public int x2BC { get { return Field<int>(0x2BC); } }
public float x2C0 { get { return Field<float>(0x2C0); } }
public float x2C4 { get { return Field<float>(0x2C4); } }
public float x2C8 { get { return Field<float>(0x2C8); } }
public ActorCollisionData x2CC_ActorCollisionData { get { return Field<ActorCollisionData>(0x2CC); } }
public InventoryImages[] x310_InventoryImages { get { return Field<InventoryImages>(0x310, 6); } }
public int x340_Image { get { return Field<int>(0x340); } }
private SerializeData x350_serVOCastingNotes { get { return Field<SerializeData>(0x350); } }
public string x348_CastingNotes { get { return Field(x350_serVOCastingNotes.x00_Offset, x350_serVOCastingNotes.x04_Size); } }
private SerializeData x360_serVORole { get { return Field<SerializeData>(0x360); } }
public string x358_VoiceOverRole { get { return Field(x360_serVORole.x00_Offset, x360_serVORole.x04_Size); } }
}
public class ActorCollisionData : MemoryObject
{
public const int SizeOf = 0x44;
public ActorCollisionData(ProcessMemory memory, int address)
: base(memory, address) { }
public ActorCollisionFlags x00_ColFlags { get { return Field<ActorCollisionFlags>(0x00); } }
public int x10 { get { return Field<int>(0x10); } }
public AxialCylinder x14_Cylinder { get { return Field<AxialCylinder>(0x14); } }
public AxisAlignedBoundingBox x28 { get { return Field<AxisAlignedBoundingBox>(0x28); } }
public float x40 { get { return Field<float>(0x40); } }
}
public class ActorCollisionFlags : MemoryObject
{
public const int SizeOf = 0x10;
public ActorCollisionFlags(ProcessMemory memory, int address)
: base(memory, address) { }
public int x00 { get { return Field<int>(0x00); } }
public int x04 { get { return Field<int>(0x04); } }
public int x08 { get { return Field<int>(0x08); } }
public int x0C { get { return Field<int>(0x0C); } }
}
public class AxialCylinder : MemoryObject
{
public const int SizeOf = 0x14;
public AxialCylinder(ProcessMemory memory, int address)
: base(memory, address) { }
public Vector3D x00_Position { get { return Field<Vector3D>(0x00); } }
public float x0C_Ax1 { get { return Field<float>(0x0C); } }
public float x10_Ax2 { get { return Field<float>(0x10); } }
}
public class Sphere : MemoryObject
{
public const int SizeOf = 0x10;
public Sphere(ProcessMemory memory, int address)
: base(memory, address) { }
public Vector3D x00_Position { get { return Field<Vector3D>(0x00); } }
public float x0C_Radius { get { return Field<float>(0x0C); } }
}
public class WeightedLook : MemoryObject
{
public const int SizeOf = 0x44;
public WeightedLook(ProcessMemory memory, int address)
: base(memory, address) { }
public string LootLink { get { return Field(0x00, 64); } }
public int x40 { get { return Field<int>(0x40); } }
}
public class InventoryImages : MemoryObject
{
public const int SizeOf = 0x08;
public InventoryImages(ProcessMemory memory, int address)
: base(memory, address) { }
public int x00 { get { return Field<int>(0x00); } }
public int x04 { get { return Field<int>(0x04); } }
}