Подскажите может кто сталкивался, делаю
Delphi Код:
@UNetworkHandler_MoveBackwardToLocation:= GetProcAddress(hModule,'?MoveBackwardToLocation@UNetworkHandler@@UAEXVFVector@@0@Z');
потом, как описано ранее,
Delphi Код:
procedure MoveTo(x,y,z,x1,y1,z1:single); stdcall;
asm
push z1
push y1
push x1
push z
push y
push x
mov ecx, nh
call UNetworkHandler_MoveBackwardToLocation
end;
все работает, только пакет на движение отправляется без последнего Dworda который указывает с клавы был сделан ввод или с мыши, на оффе это вроде прокатывает а на фришках банят.
Привожу код оригинальной ф-и с Иды, если чем-то поможет, я в ассемблере как в английском - половину понимаю, но сказать не могу
Код:
; int __stdcall UNetworkHandler__MoveBackwardToLocation(float, float, float, float, float, float)
public ?MoveBackwardToLocation@UNetworkHandler@@UAEXVFVector@@0@Z
?MoveBackwardToLocation@UNetworkHandler@@UAEXVFVector@@0@Z proc near
var_4= dword ptr -4
arg_0= dword ptr 4
arg_4= dword ptr 8
arg_8= dword ptr 0Ch
arg_C= dword ptr 10h
arg_10= dword ptr 14h
arg_14= dword ptr 18h
push ecx
fld [esp+4+arg_0]
push ebx
push ebp
push esi
push edi
mov [esp+14h+var_4], ecx
call __ftol2_sse
fld [esp+14h+arg_4]
mov esi, eax
call __ftol2_sse
fld [esp+14h+arg_8]
mov edi, eax
call __ftol2_sse
fld [esp+14h+arg_C]
mov ebx, eax
call __ftol2_sse
fld [esp+14h+arg_10]
mov ebp, eax
call __ftol2_sse
fld [esp+14h+arg_14]
mov [esp+14h+arg_0], eax
call __ftol2_sse
mov ecx, [esp+14h+var_4]
mov ecx, [ecx+48h]
mov edx, [ecx]
push eax
mov [esp+18h+arg_C], eax
mov eax, [esp+18h+arg_0]
push eax
push ebp
push ebx
push edi
push esi
push 0Fh
push offset aCdddddd ; "cdddddd"
push ecx
mov ecx, [edx+6Ch]
call ecx
mov edx, [esp+38h+arg_C]
mov eax, [esp+38h+arg_0]
mov ecx, ds:?GNetworkLog@@3PAVFOutputDevice@@A ; FOutputDevice * GNetworkLog
push edx
mov edx, [ecx]
push eax
push ebp
push ebx
push edi
push esi
push offset aSendMovebackwa ; "(Send)MoveBackwardToLocation X:%d Y:%d "...
push edx
call ds:?Logf@FOutputDevice@@QAAXPBGZZ ; FOutputDevice::Logf(ushort const *,...)
add esp, 44h
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn 18h
?MoveBackwardToLocation@UNetworkHandler@@UAEXVFVector@@0@Z endp