HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Лажа со стрейфами
Подскажите пожалуйста, как подправить
Страницы (11): « 1 2 3 [4] 5 6 7 8 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
marikcool
Житель форума

Дата регистрации: Jul 2011
Проживает: kz
Сообщений: 1522
Возраст: 37

Рейтинг



Цитата:
Дядя Миша писал:
Это автор Half-Life: Enchanced?

ага, тут http://homepage.ntlworld.com/pr.searle/testns/
кстати hlmv с отображение рэгдола которые грузит rag файлы) так побаловаться посмотреть)

Сообщить модератору | | IP: Записан
Сообщение: 101493

Старое сообщение 25-06-2012 12:34
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Вот ещё кое-что по теме серверной настройки костей:
http://forums.bots-united.com/showthread.php?t=8090

Сообщить модератору | | IP: Записан
Сообщение: 101494

Старое сообщение 25-06-2012 12:42
- За что?
marikcool
Житель форума

Дата регистрации: Jul 2011
Проживает: kz
Сообщений: 1522
Возраст: 37

Рейтинг



кто бы запилил, готов проспонсировать на пиво)

Сообщить модератору | | IP: Записан
Сообщение: 101495

Старое сообщение 25-06-2012 12:54
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Судя по картинке автор до сих пор не слез с Win 3.11
Это печально.


Добавлено 25-06-2012 в 16:56:

Цитата:
marikcool писал:
кто бы запилил, готов проспонсировать на пиво)

Ой-ей-ей! И это говорит проффесионал, у которого в сигнатуре на AMX-форуме написано "пишу плагины, дорого" ?

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 101496

Старое сообщение 25-06-2012 12:56
-
marikcool
Житель форума

Дата регистрации: Jul 2011
Проживает: kz
Сообщений: 1522
Возраст: 37

Рейтинг



Цитата:
Дядя Миша писал:
Судя по картинке автор до сих пор не слез с Win 3.11
Это печально.

забавно, но судя по иконке это скин win3.11 для XP )

Добавлено 25-06-2012 в 16:59:

Цитата:
Дядя Миша писал:
Ой-ей-ей! И это говорит проффесионал, у которого в сигнатуре на AMX-форуме написано "пишу плагины, дорого" ?

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

Сообщить модератору | | IP: Записан
Сообщение: 101497

Старое сообщение 25-06-2012 12:59
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Вот штука хорошая: http://homepage.ntlworld.com/pr.sea...tns/studio_v9.h
космобайкеров-гномов грузить. Больше там нет ничего интересного.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 101498

Старое сообщение 25-06-2012 13:08
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
космобайкеров-гномов грузить.

Это модельку doctor.mdl? Там версия студиомодели старая, ведь так? HLMV вылетает при попытке открыть.

Сообщить модератору | | IP: Записан
Сообщение: 101502

Старое сообщение 25-06-2012 15:21
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Там версия студиомодели старая, ведь так?

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

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 101504

Старое сообщение 25-06-2012 16:40
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Сейчас поглядел внимательно код 9ти-направленного блендинга, что на форуме Арранжевого Мента выложен. По-моему, там лишнего кода много, навроде функций, работающих с локальными анимациями. Это что-то типа предиктинга для модели локального игрока? Как я понял, для реализации этого блендинга нужны следующие функции:

C++ Source Code:
StudioSetupBones - настраивает по-новомодному косточки игрока
StudioProcessGait - проигрывает гэйт-анимации, почти не отличается от оригинала, из неё вызываются следующие две
CalculateYawBlend - считает бленд по горизонтали
CalculatePitchBlend - считает бленд по вертикали
LookupAnimation - вызывается из StudioSetupBones, как я понял, находит нужный из 9ти блендов в каждой анимации
Поправьте, если ошибаюсь, может быть какую-нибудь важную функцию упустил.

Сообщить модератору | | IP: Записан
Сообщение: 101506

Старое сообщение 25-06-2012 17:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
По-моему, там лишнего кода много

слава богу, хоть кто-то заметил.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 101508

Старое сообщение 25-06-2012 17:21
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
слава богу, хоть кто-то заметил.

Может быть не я один Но, похоже, только я написал об этом. Сдаётся мне, что какие-нибудь товарищи умудрились подменить в своих исходникак все файлы теми, что любезно даны в архиве Хотя, для того, чтобы блендинг зафурычил, достаточно подменить GameStudioModelRenderer.cpp и GameStudioModelRenderer.h. Ну а по-хорошему, надо только лишь заменить StudioSetupBones, StudioProcessGait и добавить расчёты и поиск блендов.

З.Ы. Мне интересно, почему в коде настройки костей есть место, где анимация ходьбы хаком поворачивается на 26 градусов? Неужели и в КС так же?

Сообщить модератору | | IP: Записан
Сообщение: 101509

Старое сообщение 25-06-2012 17:35
- За что?
marikcool
Житель форума

Дата регистрации: Jul 2011
Проживает: kz
Сообщений: 1522
Возраст: 37

Рейтинг



Ku2zoff если занимаешься по данному вопросу стукни в аську 344388533

Добавлено 25-06-2012 в 22:50:

может ли cs 1.6 блендинг дергать что либо из DLL_FUNCTIONS, т.к он не активируется, работает старый.?

Сообщить модератору | | IP: Записан
Сообщение: 101513

Старое сообщение 25-06-2012 18:50
- За что?
pRoxxx
Житель форума

Дата регистрации: Jan 2011
Проживает: UA DP
Сообщений: 360
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Ой-ей-ей! И это говорит проффесионал, у которого в сигнатуре на AMX-форуме написано "пишу плагины, дорого" ?

Ну дык пиво это и есть дорого. (=

Сообщить модератору | | IP: Записан
Сообщение: 101515

Старое сообщение 25-06-2012 19:23
- За что?
marikcool
Житель форума

Дата регистрации: Jul 2011
Проживает: kz
Сообщений: 1522
Возраст: 37

Рейтинг



приложил код, работает но увы тоже 2way.
h_export.cpp :

C++ Source Code:
1
/***
2
*
3
*	Copyright © 1996-2002, Valve LLC. All rights reserved.
4
*
5
*	This product contains software technology licensed from Id
6
*	Software, Inc. ("Id Technology").  Id Technology © 1996 Id Software, Inc.
7
*	All Rights Reserved.
8
*
9
*   Use, distribution, and modification of this source code and/or resulting
10
*   object code is restricted to non-commercial enhancements to products from
11
*   Valve LLC.  All other use, distribution, or modification is prohibited
12
*   without written permission from Valve LLC.
13
*
14
****/
15
/*
16
 
17
===== h_export.cpp ========================================================
18
 
19
  Entity classes exported by Halflife.
20
 
21
*/
22
 
23
#include "extdll.h"
24
#include "util.h"
25
 
26
#include "cbase.h"
27
 
28
// Holds engine functionality callbacks
29
enginefuncs_t g_engfuncs;
30
globalvars_t  *gpGlobals;
31
 
32
 
33
#ifdef _WIN32
34
//extern void Mod_InitStudioAPI( void );
35
// Required DLL entry point
36
BOOL WINAPI DllMain(
37
HINSTANCE hinstDLL,
38
DWORD fdwReason,
39
LPVOID lpvReserved)
40
{
41
  if      (fdwReason == DLL_PROCESS_ATTACH)
42
  {
43
    /*
44
    			HMODULE mpDLL;
45
    			mpDLL = LoadLibrary("mp.dll");
46
    			if ( !mpDLL)
47
    			{
48
    				MessageBox( 0, "mp.DLL Not Found", "Error", MB_OK );
49
    			}
50
    			*/
51
    //Mod_InitStudioAPI( ); //mcc cs 16 hook
52
  }
53
  else if (fdwReason == DLL_PROCESS_DETACH)
54
  {
55
  }
56
  return TRUE;
57
}
58
 
59
#include "extdll.h"
60
//#include "util.h"
61
#include "com_model.h"
62
#include "r_studioint.h"
63
#include "studio.h"
64
#include "dll.h"
65
typedef int (*GETBLENDINGAPI)( int, void**, void*,  float (*transform)[3][4], float (*bones)[MAXSTUDIOBONES][3][4] );
66
typedef int (FAR *GETENTITYAPI)(DLL_FUNCTIONS *, int);
67
typedef int (FAR *GETNEWDLLFUNCTIONS)(NEW_DLL_FUNCTIONS *, int *);
68
typedef void (DLLEXPORT *GIVEFNPTRSTODLL)(enginefuncs_t *, globalvars_t *);
69
GIVEFNPTRSTODLL g_pfnGiveFnptrsToDll;
70
GETENTITYAPI g_pfnGetEntityAPI;
71
GETNEWDLLFUNCTIONS g_pfnGetNewEntityAPI;
72
GETBLENDINGAPI g_pfnServerBlendingAPI;
73
HMODULE g_hGameLib=NULL;
74
void DLLEXPORT GiveFnptrsToDll(	enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals )
75
{
76
  memcpy(&g_engfuncs, pengfuncsFromEngine, sizeof(enginefuncs_t));
77
  gpGlobals = pGlobals;
78
  if(!g_hGameLib)
79
    g_hGameLib = LoadLibrary("mp.dll");
80
  if (!g_hGameLib)
81
  {
82
    MessageBox( 0, "mp.dll load error", "[!]", MB_OK );
83
    return;
84
  }
85
  g_pfnGetEntityAPI = (GETENTITYAPI)GetProcAddress (g_hGameLib, "GetEntityAPI");
86
  g_pfnGiveFnptrsToDll = (GIVEFNPTRSTODLL)GetProcAddress (g_hGameLib, "GiveFnptrsToDll");
87
  g_pfnServerBlendingAPI = (GETBLENDINGAPI)GetProcAddress (g_hGameLib, "Server_GetBlendingInterface");
88
  g_pfnGetNewEntityAPI = (GETNEWDLLFUNCTIONS)GetProcAddress (g_hGameLib, "GetNewDLLFunctions");
89
  if (!g_pfnGetEntityAPI)	{MessageBox( 0, "pfnGetEntityAPI load error", "[!]", MB_OK ); return;}
90
    if (!g_pfnGiveFnptrsToDll)	{MessageBox( 0, "pfnGiveFnptrsToDll load error", "[!]", MB_OK ); return;}
91
      if (!g_pfnServerBlendingAPI)  {MessageBox( 0, "pfnServerBlendingAPI load error", "[!]", MB_OK ); return;}
92
        if (!g_pfnGetNewEntityAPI)	{MessageBox( 0, "GetNewDLLFunctions load error", "[!]", MB_OK ); return;}
93
 
94
  (*g_pfnGiveFnptrsToDll)(pengfuncsFromEngine, pGlobals);
95
  g_engfuncs.pfnServerPrint("g_pfnGiveFnptrsToDll -> mp.dll READY\n");
96
}
97
 
98
extern "C" int __declspec( dllexport ) Server_GetBlendingInterface (int version, void **ppinterface, void *pstudio, float (*rotationmatrix)[3][4], float (*bonetransform)[128][3][4])
99
{
100
  // this function synchronizes the studio model animation blending interface (i.e, what parts
101
  // of the body move, which bones, which hitboxes and how) between the server and the game DLL.
102
  // some MODs can be using a different hitbox scheme than the standard one.
103
  if (g_pfnServerBlendingAPI == NULL) return false;
104
 
105
  if (!(*g_pfnServerBlendingAPI) (version, ppinterface, pstudio, rotationmatrix, bonetransform))
106
  {
107
    MessageBox( 0, "ServerBlendingAPI ERROR FROM mp.dll!", "[!]", MB_OK );
108
    return false;
109
  }
110
  g_engfuncs.pfnServerPrint("ServerBlendingAPI -> mp.dll READY\n");
111
  return true;
112
}
113
/*
114
extern "C" int __declspec( dllexport ) GetNewDLLFunctions(NEW_DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion)
115
{
116
   // it appears that an extra function table has been added in the engine to gamedll interface
117
   // since the date where the first enginefuncs table standard was frozen. These ones are
118
   // facultative and we don't hook them, but since some MODs might be featuring it, we have to
119
   // pass them too, else the DLL interfacing wouldn't be complete and the game possibly wouldn't
120
   // run properly.
121
   if (g_pfnGetNewEntityAPI == NULL) return false;
122
 
123
   if (!(*g_pfnGetNewEntityAPI) (pFunctionTable, interfaceVersion))
124
   {
125
      //LogToFile (true, LOG_CRITICAL, "GetNewDLLFunctions: ERROR - Not Initialized.");
126
	  MessageBox( 0, "GetNewDLLFunctions ERROR FROM mp.dll!", "[!]", MB_OK );
127
      return false;
128
   }
129
   g_engfuncs.pfnServerPrint("GetNewDLLFunctions -> mp.dll READY\n");
130
   return true;
131
}
132
*/
133
#else
134
 
135
extern "C" {
136
 
137
  void GiveFnptrsToDll(	enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals )
138
  {
139
    memcpy(&g_engfuncs, pengfuncsFromEngine, sizeof(enginefuncs_t));
140
    gpGlobals = pGlobals;
141
  }
142
 
143
}
144
 
145
#endif


Добавлено 26-06-2012 в 01:30:

что интересно, раз в контровском ServerBlendingAPI тоже самое что и в движке, надыбал через гугл оффсеты с серверной дллки.
C++ Source Code:
CBasePlayer::CalculatePitchBlend(void)                                                                                      000EF720
CBasePlayer::CalculateYawBlend(void)                                                                                        000EB5D0
CBasePlayer::StudioPlayerBlend(int *,float *)

получается гдето в тхинке CBasePlayer и стоит переключатель бленда.

Добавлено 26-06-2012 в 02:01:

C++ Source Code:
1
500(505) : m_iGaitSequence          CBasePlayer::Spawn(), CBasePlayer::PostThink(), GetPlayerGaitsequence()
2
 
3
501(506) : m_flGaitFrame            CBasePlayer::Spawn(), CBasePlayer::StudioProcessGait()
4
 
5
502(507) : m_flGaitYaw              CBasePlayer::Spawn(), CBasePlayer::StudioEstimateGait(), CBasePlayer::CalculateYawBlend(), UTIL_GetPlayerGaitYaw()
6
 
7
503(508) : m_flPrevGaitOrigin_x     CBasePlayer::Spawn(), CBasePlayer::StudioEstimateGait()
8
 
9
504(509) : m_flPrevGaitOrigin_y     CBasePlayer::Spawn(), CBasePlayer::StudioEstimateGait()
10
 
11
505(510) : m_flPrevGaitOrigin_z     CBasePlayer::Spawn(), CBasePlayer::StudioEstimateGait()
12
 
13
506(511) : m_flPitch                CBasePlayer::StudioProcessGait(), CBasePlayer::CalculatePitchBlend(), GetPlayerPitch()
14
 
15
507(512) : m_flYaw                  CBasePlayer::CalculateYawBlend(), GetPlayerYaw()
16
 
17
508(513) : m_flGaitMovement         CBasePlayer::Spawn(), CBasePlayer::StudioEstimateGait(), CBasePlayer::CalculateYawBlend(), CBasePlayer::StudioProcessGait()
18
 
19
509(514) : m_fAutoWeaponSwitch      CBasePlayer::SetPrefsFromUserinfo(), CHalfLifeMultiplay::FShouldSwitchWeapon()
20
 
21
510(515) : m_iUserPrefs             CBasePlayer::SetPrefsFromUserinfo(), CHalfLifeTraining::PlayerThink(), CHalfLifeTraining::PlayerSpawn(), ClientCommand(), ShowVGUIMenu()
22
 
23
510 m_iUserPrefs - setinfo _vgui_menus (1<<0), _ah (1<<8), uses_shield (1<<16), has_shield (1<<24)
24
 
25
511(516) : m_bObserverHasTarget     CBasePlayer::Observer_CheckTarget(), CBasePlayer::Observer_SetMode()
26
 
27
512(517) : m_flFindNextPlayerTime   CBasePlayer::Observer_FindNextPlayer()
28
 
29
513(518) : m_flDtMultiplier         CBasePlayer::StudioEstimateGait() ( 3.5 or 0.05 )
30
 
31
 
32
 
33
500 - 505 ->  CBasePlayer:: StudioEstimateGait()

список используемых функций:
C++ Source Code:
1
CBasePlayer::CalculatePitchBlend(void)
2
CBasePlayer::CalculateYawBlend(void)
3
CBasePlayer::StudioEstimateGait(void)
4
CBasePlayer::StudioPlayerBlend(int *,float *)
5
CBasePlayer::StudioProcessGait(void)

Сообщить модератору | | IP: Записан
Сообщение: 101516

Старое сообщение 25-06-2012 22:01
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша на сервере нужна только новая функция SetupBones или что-то ещё?
marikcool ой-ой-ёй, ещё и в код игрока лезть придётся... Но там слишком много функций, мне кажется, будет достаточно тех, которые необходимы на клиенте, то есть

C++ Source Code:
StudioSetupBones - отдельная
StudioProcessGait - в коде игрока
CalculateYawBlend - в коде игрока
CalculatePitchBlend - в коде игрока
У меня мозгов не хватает как это вместе связать... Не может быть, чтобы в SV_SetupBones было тоже, что и в движке.

Сообщить модератору | | IP: Записан
Сообщение: 101524

Старое сообщение 26-06-2012 04:28
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 18:01. Новая тема    Ответить
Страницы (11): « 1 2 3 [4] 5 6 7 8 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Лажа со стрейфами
Подскажите пожалуйста, как подправить
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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