Here are the offsets I use, with my handy RE'ing notes on em. Still need to set up good RE notes for the VMT indices.
Code:
public enum Luas
{
Lua_FullState = 0x0133B99C, // 3.2.2a (RE: lua_DoString[6th static]
//Lua_DoString = 0x007CF6B0, // 3.2.2a (RE: lua_RunScript[3rd call]
Lua_GetTop = 0x00803340, // 3.2.2a (RE: lua_GetSpellLink[2nd call]
Lua_ToString = 0x00803850, // 3.2.2a (RE: lua_EnableAllAddOns[1st call]
Lua_PushString = 0x00803A70, // 3.2.2a (RE: lua_GetChangedOptionWarning[3rd call]
Lua_Type = 0x00803620, // 3.2.2a (RE: lua_PINEntered[1st call]
Lua_SetTop = 0x00803360, // 3.2.2a (RE: lua_EnumerateFrames[4th call]
Lua_LoadWrapper = 0x00804FD0, // 3.2.2a (RE: lua_DoString[3rd call]
Lua_PCall = 0x008043C0, // 3.2.2a (RE: call right after Lua_LoadWrapper in lua_DoString, above)
}
public enum GlobalOffsets
{
EnumVisibleObjects = 0x004778D0, // 3.2.2a (RE: lua_SetUIVisibility[3rd call])
ClntObjMgrGetActivePlayer = 0x00476580, // 3.2.2a (RE: lua_SendAddonMessage[1st call])
GetObjectByGuid = 0x00477B50, // 3.2.2a -- aka ClntObjMgrObjectPtr (RE: lua_SendAddonMessage[2nd call])
LastTargetGuid = 0x0113D7B0, // 3.2.2a (RE: SelectTarget[3rd static])
FocusGuid = 0x0113D7C8, // 3.2.2a (RE: lua_FocusUnit[3rd call]->(unnamed FN)[1st static])
MouseOverGuid = 0x0113D798, // 3.2.2a (RE: lua_InteractUnit, right after push string "mouseover" && call)
SelectTarget = 0x004C4940, // 3.2.2a (RE: last call in lua_TargetLastEnemy)
UnitGetThreat = 0x006AE120, // 3.2.2a (reverse from lua_UnitThreatSituation)
CGWorldFrame__Intersect = 0x0073ACC0, // 3.2.2a (RE: search for sequence of bytes: A9 FF 00 F3 40 (test eax, 40F300FFh), look for xref to containing function that is a jmp (short stub fn))
CInputControl = 0x0121B50C, // 3.2.2a (first static in lua_IsMouseLooking)
CInputControl__SetFlags = 0x00581230, // 3.2.2a (RE: first call from lua_MouseLookStop->(unnamed fn), second xref to this fn (probably above lua_AscendStop)
RaidTargetIndexCache = 0x01143B70 // 3.2.2a (RE: lua GetRaidTargetIndex[5th call]->first static for this)
}
public enum ObjectOffsets
{
ObjectTypeOffset = 0x14 // 3.2.0
}
public enum VFTableIndex : int
{
GetFacing = 12, // 3.2.2a
GetPosition = 10, // 3.2.2a
InteractUnit = 41, // 3.2.2a
GetName = 51 // 3.2.2a
}