Показать сообщение отдельно
Старый 20.09.2011, 15:46   #425
Пользователь
 
Регистрация: 27.08.2010
Сообщений: 46
Сказал Спасибо: 6
Имеет 19 спасибок в 12 сообщенях
maxilam пока неопределено
По умолчанию

в клиенте ГоД в некоторые функции добавили параметры. к примеру:
было
Код:
OnUserInfo(struct User *, class FVector, int, int, int, char, char)
стало
Код:
OnUserInfo(struct User *, class FVector, int, int, int, char, char, __int64 const &)
Как правильно передавать последний параметр (__int64 const &) из функции-ловушки в функцию-обработчик и потом в оригинальную функцию?

Старый кусок кода:
Код:
procedure OnUserInfo_Call(user: pointer; x,y,z: single; u1,u2,u3: single; s1,s2: integer); stdcall;
asm
  push s2;
  push s1;
  push u3;
  push u2;
  push u1;
  push z;
  push y;
  push x;
  push user;
  mov ecx, geh;
  mov esp, ebp;
  pop ebp;
  jmp [OnUserInfo_Original];
end;

procedure OnUserInfo_New(h: integer; user: pointer; x,y,z: single; u1,u2,u3: single; s1,s2: integer); stdcall;
begin
  ...
  //делаем свои делишки
  ...
  OnUserInfo_Call(user, x,y,z, u1,u2,u3, s1,s2);
end;

procedure OnUserInfo_Hook(user: pointer; x,y,z: single; u1,u2,u3: single; s1,s2: integer); stdcall;
asm
  push s2;
  push s1;
  push u3;
  push u2;
  push u1;
  push z;
  push y;
  push x;
  push user;
  push ecx;
  call OnUserInfo_New;
end;
Как теперь передавать этот последний параметр? Я просто не пойму синтаксис Си, что означает этот параметр? Если бы был простой int, char или pointer то вопросов не было бы. А вот с этим, яхз...
maxilam вне форума   Ответить с цитированием