HLFX.Ru Forum Страницы (11): « 1 2 3 4 [5] 6 7 8 9 » ... Последняя »
Показать все 160 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Лажа со стрейфами (https://hlfx.ru/forum/showthread.php?threadid=3495)


Отправлено marikcool 26-06-2012 в 05:58:

да гейт можно срезать нафиг

Добавлено 26-06-2012 в 09:58:

функции из кода игрока:

C++ Source Code:
1
CbasePlayer::PostThink
2
{
3
  ...
4
  CBasePlayer::StudioProcessGait(value);
5
}
6
 
7
CBasePlayer::StudioProcessGait(int a1)
8
{
9
  CBasePlayer::CalculateYawBlend(a1);
10
  ...
11
}
12
 
13
CBasePlayer::StudioEstimateGait(a1)
14
{
15
 
16
 
17
 
18
}

функции используемые в SV_StudioSetupBones
C++ Source Code:
1
// 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 никак не заполняются.


Отправлено Ku2zoff 26-06-2012 в 16:58:

Вроде бы сделал серверный расчёт костей (но только для 2-way блендинга, то есть стандартный). ХЗ работает или нет, не знаю как проверить.

Добавлено 26-06-2012 в 23:58:

Вообще мне сдаётся, что код-пример, который я взял за основу, не работает. А вот сами функции должны работать.


Отправлено Ku2zoff 28-06-2012 в 17:18:

Цитата:
Дядя Миша писал:
Я думал в ксаше подключить, но это пришлось бы тащить модельки соответствующие, а у меня концепция - минимум ресурсов.

А если кто-нибудь сделает одну модельку игрока. Для ксашмода? Скелеты у них всё равно одинаковые, делов-то, заменить анимации.


Отправлено Дядя Миша 28-06-2012 в 18:35:

А если бы они сначала закончили конкурс карт под ксаш-мод, а не пазорно потерялись, так это было бы воще отлично!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено marikcool 03-07-2012 в 21:18:

кто дальше будет ковыряться приложил декомпил sv_studiosetupbones от контры.


Отправлено Ku2zoff 04-07-2012 в 04:53:

Это всё конечно интесесно, но как проверить, заработает ли код, если не отрисовать хотя бы кости на сервере?


Отправлено marikcool 04-07-2012 в 05:08:

по хитбоксам, без дебагера стрельни в голову модельки, поверни модель чтобы голова сместилась и снова стрельни в старое место, если попадешь значит ничего не переключается.


Отправлено Ku2zoff 04-07-2012 в 05:29:

marikcool вот делать мне больше нечего как вертеть модель одного игрока и стрелять по ней другим игроком. Намного лучше было бы нарисовть на местах костей спрайтовые лучи.


Отправлено marikcool 04-07-2012 в 05:45:

если вообще в модель попадает код работает, в других случая обычно у модели хитбоксы в раза 4 больше нормы и это сразу видно стреляя в метре над головой попадаешь.
тестить можно на любом монстре.


Отправлено HAWK0044 04-07-2012 в 06:49:

marikcool
сколько раз я тебе говорил, ну запихни ты трассировку в апдейтстатус бар и смотри какой хитбокс выцеливаеться с прицела.


Отправлено Ku2zoff 04-07-2012 в 07:39:

HAWK0044 неплохой вариант... Но опять же, надо лишнюю модель, в которую целиться.


Отправлено marikcool 04-07-2012 в 08:22:

Цитата:
HAWK0044 писал:
marikcool
сколько раз я тебе говорил, ну запихни ты трассировку в апдейтстатус бар и смотри какой хитбокс выцеливаеться с прицела.

я так и сделал, ты кутузову ее скинь.


Отправлено marikcool 18-09-2012 в 18:35:

почему в голдсорсе в ibone падает мусор?

C++ Source Code:
1
[sv_ssb] orgiBone 97353076 iBone: 0 numbones: 1/24 pseqdesc->numblends 1
2
[sv_ssb] orgiBone 97353076 iBone: 0 numbones: 1/24 pseqdesc->numblends 1
3
[sv_ssb] orgiBone 97353076 iBone: 0 numbones: 1/24 pseqdesc->numblends 1
4
[sv_ssb] orgiBone 97353076 iBone: 0 numbones: 1/24 pseqdesc->numblends 1
5
[sv_ssb] orgiBone 74893760 iBone: 0 numbones: 1/24 pseqdesc->numblends 1
6
[sv_ssb] orgiBone 97319308 iBone: 0 numbones: 1/50 pseqdesc->numblends 2
7
[sv_ssb] orgiBone 97445536 iBone: 0 numbones: 1/13 pseqdesc->numb

__________________
vk.com/skullcapstudios


Отправлено marikcool 22-09-2012 в 21:57:

и так появилась внятность,
когда движок импортирует sv_studiosetupbones, при вызове он не посылает костей, ориджин и англес и там помоему не эдикт приходит а указатель на сбэйсплеер для кс, следовательно крутить монстров не получается, оно и контре и ненадо там только 9вэй корректно и работает.

но если функция не переопределена с клиентки, в движке входящие данные для соотвественно sv_studiosetupbones корректны.

пока решением остается перехватить оригинальный sv_studiosetupbones, без импорта функций с клиентки. (это чтобы все варианты блендингов работали)

__________________
vk.com/skullcapstudios


Отправлено marikcool 23-09-2012 в 18:21:

и так перехватить удалось оригинальную 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 );

__________________
vk.com/skullcapstudios


Временная зона GMT. Текущее время 07:03. Страницы (11): « 1 2 3 4 [5] 6 7 8 9 » ... Последняя »
Показать все 160 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024