Originally Posted by
mordok
Is not the values what Im looking for

. I know those are posted on 3.1.0 cypher´s thread. What I want to know is how to search em myself in IDA ^^
[BTW your avatar really makes my day, <3 it!]
VMT is your friend.
[[pBase] + 4 * 9] = GetPosition( &WOWPOS )
Code:
.text:0056C1B0 PWOWPOS = dword ptr 8
.text:0056C1B0
.text:0056C1B0 push ebp
.text:0056C1B1 mov ebp, esp
.text:0056C1B3 mov ecx, [ecx+0D8h]
.text:0056C1B9 push esi
.text:0056C1BA mov esi, [ebp+PWOWPOS]
.text:0056C1BD lea eax, [ecx+10h]
.text:0056C1C0 push eax
.text:0056C1C1 push esi
.text:0056C1C2 call sub_79CA30
.text:0056C1C7 mov eax, esi
.text:0056C1C9 pop esi
.text:0056C1CA pop ebp
.text:0056C1CB retn 4
This function does not yet give us all the offsets we need, what
we know now: eax = ecx + 0x10 = [ecx + 0xD8] + 0x10, and this pointer
is the second argument for the call to sub_79CA30.
The first argument is the pointer to the WOWPOS struct.
.text:0079CA30 push ebp
.text:0079CA31 mov ebp, esp
.text:0079CA33 mov edx, [ecx+8]
.text:0079CA36 sub esp, 40h
.text:0079CA39 push esi
.text:0079CA3A mov esi, [ecx+0Ch]
.text:0079CA3D mov eax, edx
.text:0079CA3F or eax, esi
.text:0079CA41 jnz short loc_79CA60
.text:0079CA43 mov ecx, [ebp+PSTRUCT]
.text:0079CA46 mov edx, [ecx]
.text:0079CA48 mov eax, [ebp+PWOWPOS]
.text:0079CA4B mov [eax], edx
.text:0079CA4D mov edx, [ecx+4]
.text:0079CA50 mov [eax+4], edx
.text:0079CA53 mov ecx, [ecx+8]
.text:0079CA56 mov [eax+8], ecx
.text:0079CA59 pop esi
.text:0079CA5A mov esp, ebp
.text:0079CA5C pop ebp
.text:0079CA5D retn 8
ecx = pSomeStruct + 0x10
then edx = [ecx], or edx = [ecx + 0x0]
and then edx is moved to the first member of the
WOWPOS struct, so this has to be x.
Then + 0x4 to point to the next member of the struct,
move y into the struct, etc.
This results in:
[[PlayerBase + 0xD8] + 0x10 + 0x0] = x
[[PlayerBase + 0xD8] + 0x10 + 0x4] = y
[[PlayerBase + 0xD8] + 0x10 + 0x8] = z
The rotation is much easier
.text:0056C1D0 mov ecx, [ecx+0D8h]
.text:0056C1D6 fld dword ptr [ecx+20h]
.text:0056C1D9 push ecx ; float
.text:0056C1DA fstp [esp+4+var_4]
.text:0056C1DD call sub_79C9B0
.text:0056C1E2 retn
[[PlayerBase + 0xD8] + 0x20] = r
Hope I didn't make any mistakes, rushed it a bit.