I didn't have to change anything in the OpenProcess handles to get my version to see the player name. Here's a snippet from my pointers.cs file.
Code:
#region Globals enum
/// <summary>
/// 5.0.x
/// </summary>
public enum Globals
{
//PlayerName = 0x9BE820, // 4.3.4
//PlayerName = 0xF2AAB8, // 5.0.4 (15913)
//PlayerName = 0xF2EDA0, // 5.0.4 (15929) (0x42E8 diff)
//PlayerName = 0xF37F10, // 5.0.4 (15952) (0x9170 diff)
PlayerName = 0xDC92D8, // 5.0.4 (16016) (-0x16EC38 diff)
}
#endregion
#region InGame enum
/// <summary>
/// 5.0.x
/// </summary>
public enum InGame
{
//InGame = 0xAD7426, //4.3.4
//InGame = 0xDCCF5E, // 5.0.4 (15913)
//InGame = 0xDD11EE, // 5.0.4 (15929) (0x4290 diff)
//InGame = 0xDDA506, // 5.0.4 (15952) (0x9318 diff)
InGame = 0xC6B8DE, // 5.0.4 (16016) (-0x16EC28 diff)
}
#endregion
}
I did have to change the Descriptors file partly here:
Code:
#if MISTS
public enum eObjectFields
{
OBJECT_FIELD_GUID = 0x0,
OBJECT_FIELD_DATA = 0x8,
OBJECT_FIELD_TYPE = 0x10,
OBJECT_FIELD_ENTRY = 0x14,
OBJECT_FIELD_SCALE_X = 0x18,
OBJECT_FIELD_PADDING = 0x1C,
};
#else
public enum eObjectFields
{
OBJECT_FIELD_GUID = 0x0,
OBJECT_FIELD_DATA = 0x8,
OBJECT_FIELD_TYPE = 0x14,
OBJECT_FIELD_ENTRY = 0x14,
OBJECT_FIELD_SCALE_X = 0x18,
OBJECT_FIELD_PADDING = 0x1C,
};
#endif
And the PObject here: (Otherwise it was reading the wrong offset for Object data.)
Code:
/// <summary>
/// Object's Type.
/// </summary>
public int Type
{
//#if MISTS
// get { return Memory.Read<int>(BaseAddress + 0x10); }
//#else
get { return Memory.Read<int>(BaseAddress + (uint) Descriptors.eObjectFields.OBJECT_FIELD_TYPE); }
//#endif
}