// 7949C: using guessed type _DWORD __cdecl AngleMatrix(_DWORD, _DWORD);
2
// 7A88C: using guessed type _DWORD __cdecl StudioCalcBonePosition(_DWORD, float, _DWORD, _DWORD, _DWORD, _DWORD);
3
// 7B7CC: using guessed type _DWORD __cdecl GetPlayerYaw(_DWORD);
4
// 7BA6C: using guessed type _DWORD __cdecl GetPlayerGaitsequence(_DWORD);
5
// 7BF9C: using guessed type _DWORD __cdecl QuaternionMatrix(_DWORD, _DWORD);
6
// 7BFEC: using guessed type _DWORD __cdecl StudioCalcBoneQuaterion(_DWORD, float, _DWORD, _DWORD, _DWORD, _DWORD);
7
// 7CE8C: using guessed type _DWORD __cdecl ConcatTransforms(_DWORD, _DWORD, _DWORD);
8
// 7CF1C: using guessed type _DWORD __cdecl StudioSlerpBones(_DWORD, _DWORD, _DWORD, _DWORD, float);
9
// 7D13C: using guessed type _DWORD __cdecl UTIL_GetPlayerGaitYaw(_DWORD);
10
// 7E2FC: using guessed type _DWORD __cdecl StudioCalcBoneAdj(float, _DWORD, _DWORD, _DWORD, char);
11
// 7EF0C: using guessed type _DWORD __cdecl GetPlayerPitch(_DWORD);
12
// 1E9110: using guessed type int g_pstudiohdr;
13
// 1E9114: using guessed type int g_pRotationMatrix;
14
// 1E9118: using guessed type int g_pBoneTransform;
15
// 82CD4: using guessed type int var_250[128];
получаются углы про которые говорил Дядя Миша собераются в тхинке игрока, и используются в SV_StudioSetupBones, поэтому контровская дллка не дает никаких эффектов т.к переменные в классе CBasePlayer в mp.dll никак не заполняются.
по хитбоксам, без дебагера стрельни в голову модельки, поверни модель чтобы голова сместилась и снова стрельни в старое место, если попадешь значит ничего не переключается.
marikcool вот делать мне больше нечего как вертеть модель одного игрока и стрелять по ней другим игроком. Намного лучше было бы нарисовть на местах костей спрайтовые лучи.
если вообще в модель попадает код работает, в других случая обычно у модели хитбоксы в раза 4 больше нормы и это сразу видно стреляя в метре над головой попадаешь.
тестить можно на любом монстре.
и так появилась внятность,
когда движок импортирует sv_studiosetupbones, при вызове он не посылает костей, ориджин и англес и там помоему не эдикт приходит а указатель на сбэйсплеер для кс, следовательно крутить монстров не получается, оно и контре и ненадо там только 9вэй корректно и работает.
но если функция не переопределена с клиентки, в движке входящие данные для соотвественно sv_studiosetupbones корректны.
пока решением остается перехватить оригинальный sv_studiosetupbones, без импорта функций с клиентки. (это чтобы все варианты блендингов работали)
и так перехватить удалось оригинальную sv_studiosetupbones, если кому надо то адресс функции GetModuleHandle("hw.dll")+0x96350
далее имеем такие же глюки что и с импортной функцией, следовательно был сделан вывод что неправильные аргументы. последнии 2 аргумента нужно поменять местами.
счас разбераюсь с origin и angles.
пока что юзаю такой вариант, позже обновлю пост.
SV_StudioSetupBones( struct model_s *pModel, float frame, int sequence, const vec3_t angles, const vec3_t origin, const byte *pcontroller, const byte *pblending,
edict_t *pEdict, signed int a8 );