PHP Code:
uint currentManager_Pre = Wow.ReadUInt((uint)Offsets.General.ClientConnection);
uint currentManager = Wow.ReadUInt(currentManager_Pre + (uint)Offsets.ObjectManager.ObjectManagerOffset);
//or
//uint currentManager = wow.ReadUInt((uint)wowBase + (uint)Offsets.ObjectManager.s_curMgr);
uint nextObject = Wow.ReadUInt(currentManager + (uint)Offsets.ObjectManager.FirstObject);
while ((nextObject != 0) && ((nextObject & 1) == 0))
{
WowObject wo = new WowObject();
//uint desc = Wow.ReadUInt(nextObject + (uint)Offsets.ObjectManager.Descriptors);
wo.GUID= Wow.ReadUInt64(nextObject + (uint)Offsets.ObjectManager.GUID);
//wo.DisplayID = Wow.ReadUInt(desc + (uint)Offsets.Descriptor.displayID);
wo.Type = Wow.ReadUInt(nextObject + (uint)Offsets.ObjectManager.Type);
...
nextObject = Wow.ReadUInt(nextObject + (uint)Offsets.ObjectManager.NextObject);
PHP Code:
public enum ObjectManager
{
ObjectManagerOffset = 0x2218,
LocalGuid = 0xC0,
FirstObject = 0xAC,
NextObject = 0x3C,
GUID = 0x30,
Type = 0x14,
X = 0xBF0,
Y = X + 0x4,
Z = X + 0x8,
R = X + 0xC,
FieldOffset = 0x120,
};
PHP Code:
public enum WowObjectType
{
OBJECT = 0,
ITEM = 1,
CONTAINER = 2,
UNIT = 3,
PLAYER = 4,
GAMEOBJECT = 5,
DYNAMICOBJECT = 6,
CORPSE = 7,
AREATRIGGER = 8,
SCENEOBJECT = 9,
NUM_CLIENT_OBJECT_TYPES = 0xA
};
PHP Code:
public enum General
{
ClientConnection = 0x00D43318,
PlayerBase = 0x00E29D28,
};