Here's some basic stuff updated to Patch 11
ObjManager:
[0x143BE24]
pRActors Offset:
+0x8B0
[[0x143BE24]+8B0]
that means:
[[[0x143BE24]+8B0]] == "RActors"
Scenes Offset:
+0x8F4
ListSize:
[[[0x143BE24]+8B0] + 0x10C] = Number of Actor in the list
FirstActor:
[[[0x143BE24]+8B0] + 0x148] = Start address of the first actor object
RActor Size = 0x42C
Scene Size = 0x2A8
ACD Size = 0x2D0
GetDouble = 0x898B30 __thiscall float GetDouble(IntPtr acdActor, Int32 indexCategorie);
GetInteger = 0x89B320 __thiscall intGetInteger(IntPtr acdActor, Int32 indexCategorie);
IterateActors = 0x984B20 __thiscall IterateActor(void *pRActors, int index (start at -1), out int pActor)
IterateWorlds = 0x87ED80 __thiscall IterateWorlds(void *pWorlds, int index (start at -1), out int pWorld)
IterateScenes = 0x810390 __thiscall IterateScenes(void *pScenes, int index (start at -1), out int pScene)
UsePower = 0x942680 __usercall UsePower<eax>(int a1<eax>, int a2<esi>, int a3, int a4, int a5) Will leave you the fun of figuring how to call it.