Hi there guys, since there is no info dump thread for the latest patch I opened this one.
Here is what I've found out so far.
First a few interesting things about the player-actor.
To get the player GUID call: 0x92DDB0
I haven't found a reliable way to get a actor from a GUID maybe someone can help me with that.
An actor consists of
+0 GUID
+8 model name
+94 normalized direction x
+98 normalized direction y
+9C x1, y1, z1
+AC x2, y2, z2
+37C Pointer to a class that contains movement information "movement class"
Interesting values in the movement class are:
+0 Pointer to a table of functions
+34 IsMoving 0/1
+38 Path complexity (0:unreachable, 1:complex path, 2:direct path)
+3C TargetX, Y, Z
+68 normalized direction to the target X, Y, Z
If you write to the target position and set the moving flag to 1, the character will start to move there, like CTM.
But it doesnt play the animation. I only tested this on the emulator so far.
To get the GUID of the current hovering object read from:
["Diablo III.exe"+D534C8] + 820
To get the last written chat input:
[["Diablo III.exe"+BCB544]]
The current version string is at:
"Diablo III.exe" + 9B6B28
I'm not that good in reversing, so it would be nice if someone could explain the whole concept of how actors are stored and accessed.
Also, how do I get information like HP, Name, ... from an actor, does this work with descriptors like in wow?