HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 182 183 184 185 [186] 187 188 189 190 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Crystallize писал:
Какие ребята, кто их видел? ©Ставь птицу!
На другом форуме каком-то?

Ребята из FWGS, альбатрос в частности и кто-то еще. Ну я тоже пулл реквесты с фиксами багов отправлял несколько раз.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 14-03-2021 15:14
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Вопрос по punchangle. Взял код из паранои 2, он же сорсовский, поставил себе в ксаш. Все работает, но...он как будто лагает что ли? Когда панч большой, то это не так заметно. Но если выставить маленький, то когда панч при возврате в центр движется совсем медленно, заметны некие рывки в движении. Не знаю, как еще лучше объяснить. В хл2 такого не наблюдается.
Вот код который у меня сейчас:

C++ Source Code:
1
#define PUNCH_DAMPING		9.0f
2
#define PUNCH_SPRING_CONSTANT		65.0f
3
 
4
void PM_DropPunchAngle ( Vector &punchangle )
5
{
6
  float damping;
7
  float springForceMagnitude;
8
 
9
  if ( punchangle.Length() > 0.001 || pmove->vuser3.Length() > 0.001 )
10
  {
11
    punchangle += pmove->vuser3 * pmove->frametime;
12
    damping = 1.0f - (PUNCH_DAMPING * pmove->frametime);
13
 
14
    if ( damping < 0.0f )
15
    {
16
      damping = 0.0f;
17
    }
18
    pmove->vuser3 *= damping;
19
 
20
    // torsional spring
21
    // UNDONE: Per-axis spring constant?
22
    springForceMagnitude = PUNCH_SPRING_CONSTANT * pmove->frametime;
23
    springForceMagnitude = bound( 0, springForceMagnitude, 2 );
24
 
25
    pmove->vuser3 += punchangle * -springForceMagnitude;
26
 
27
    // don't wrap around
28
    punchangle[0] = bound( -89, punchangle[0], 89 );
29
    punchangle[1] = bound( -179, punchangle[1], 179 );
30
    punchangle[2] = bound( -89, punchangle[2], 89 );
31
  }
32
}


Вот код из соурс сдк 2013:
C++ Source Code:
1
void CGameMovement::DecayPunchAngle( void )
2
{
3
  if ( player->m_Local.m_vecPunchAngle->LengthSqr() > 0.001 || player->m_Local.m_vecPunchAngleVel->LengthSqr() > 0.001 )
4
  {
5
    player->m_Local.m_vecPunchAngle += player->m_Local.m_vecPunchAngleVel * gpGlobals->frametime;
6
    float damping = 1 - (PUNCH_DAMPING * gpGlobals->frametime);
7
 
8
    if ( damping < 0 )
9
    {
10
      damping = 0;
11
    }
12
    player->m_Local.m_vecPunchAngleVel *= damping;
13
 
14
    // torsional spring
15
    // UNDONE: Per-axis spring constant?
16
    float springForceMagnitude = PUNCH_SPRING_CONSTANT * gpGlobals->frametime;
17
    springForceMagnitude = clamp(springForceMagnitude, 0.f, 2.f );
18
    player->m_Local.m_vecPunchAngleVel -= player->m_Local.m_vecPunchAngle * springForceMagnitude;
19
 
20
    // don't wrap around
21
    player->m_Local.m_vecPunchAngle.Init(
22
    clamp(player->m_Local.m_vecPunchAngle->x, -89.f, 89.f ),
23
    clamp(player->m_Local.m_vecPunchAngle->y, -179.f, 179.f ),
24
    clamp(player->m_Local.m_vecPunchAngle->z, -89.f, 89.f ) );
25
  }
26
  else
27
  {
28
    player->m_Local.m_vecPunchAngle.Init( 0, 0, 0 );
29
    player->m_Local.m_vecPunchAngleVel.Init( 0, 0, 0 );
30
  }
31
}


Добавил ломику схожие значения, но все равно панч какой-то заедающий слегка. Вот соурс сдк у ломика:
C++ Source Code:
1
QAngle punchAng;
2
 
3
punchAng.x = random->RandomFloat( 1.0f, 2.0f );
4
punchAng.y = random->RandomFloat( -2.0f, -1.0f );
5
punchAng.z = 0.0f;
6
 
7
pPlayer->ViewPunch( punchAng );

У меня:
C++ Source Code:
m_pPlayer->pev->punchangle.x = RANDOM_FLOAT( 1.0f, 2.0f );
m_pPlayer->pev->punchangle.y = RANDOM_FLOAT( -2.0f, -1.0f );


Может что-то упустил где-то...

__________________
Мой мод на Xash

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

Старое сообщение 25-03-2021 09:39
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Этот панч еще БУзер делал для первой паранои, я к нему никаким боком.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-03-2021 09:43
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



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

__________________
Мой мод на Xash

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

Старое сообщение 25-03-2021 09:45
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Время по разному идёт, в этом всё дело.
FPS отпущен?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-03-2021 10:30
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Вот я тоже подумал, будто бы эффект обновляется не так быстро или еще что-то. Фпс что 60 что 200 разницы нет никакой внешне

__________________
Мой мод на Xash

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

Старое сообщение 25-03-2021 10:46
- За что?
Sigurth
Частый гость

Дата регистрации: May 2015
Проживает: Красноярск
Сообщений: 95
Возраст: 27

Рейтинг



Aynekko Я уже копипастил себе этот пунч. Лагает он из-за того, что нужно делать его на клиенте. Серверный пунч передается на клиент в четырьмя знаками после запятой у флоатов. Поэтому на маленьких значениях и лагает.

Добавлено 25-03-2021 в 21:49:

У себя я сделал так, что серверный пунч больше не влияет на наклон камеры, но все еще влияет на направление стрельбы. И все pev->pubchangle += ...; менял на вызов функции ,которая отправляет мессагу на клиент, который в свою очередь делает клиентский пунч чисто для визуального эффекта. То есть этот код должен быть и на клиенте и на сервере.

[i]Добавлено 25-03-2021 в 21:51:


Я делал это для красивой отдачи у оружия. Если пунч не должен влиять на направление стрельбы, то можно обойтись лишь клиентским эффектом.

__________________
Никогда не поздно сделать мод под хл1

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

Старое сообщение 25-03-2021 14:51
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Цитата:
Sigurth писал:
Лагает он из-за того, что нужно делать его на клиенте.

Блин вот я так и думал. А в случае ксаша, может как-то можно добавить больше знаков?

__________________
Мой мод на Xash

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

Старое сообщение 25-03-2021 15:24
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Sigurth писал:
Лагает он из-за того, что нужно делать его на клиенте.

Я все "косметические" пунчи и скриншейки (которые не влияют на меткость стрельбы) стараюсь делать на клиенте. Случай с монтировкой именно такой, толчки экрана не влияют ни на что, а лишь трясут экран. pm_shared конечно позволяет в какой-то степени синхронизировать сервер с клиентом, но в данном случае такое не нужно, т.к. трясти будет лишь экран локального игрока.
Что бы я действительно попытался реализовать - это "землетрясения" из ку2. Там не просто трясётся экран, как от скриншейка, там ещё игрока кидает из стороны в сторону. Будет весьма полезно в паре моментов, что я задумал.

Добавлено 25-03-2021 в 23:36:

Цитата:
Aynekko писал:
может как-то можно добавить больше знаков?

В твоём случае это локальный эффект, его не нужно шарить другим игрокам. Сделай его в эвенте монтировки, чисто на клиенте, не затрагивая сервер.

Добавлено 25-03-2021 в 23:37:

Цитата:
Sigurth писал:
Если пунч не должен влиять на направление стрельбы, то можно обойтись лишь клиентским эффектом.

Вот я об этом чуть выше сказал. Если это косметика, то нужно делать лишь на клиенте.

Отредактировано Ku2zoff 25-03-2021 в 16:42

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

Старое сообщение 25-03-2021 16:37
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



Проблема с лагающим punchangle решилась банально с помощью delta.lst.
Вместо 8.0 поставил 32.0 и все отлично стало.

__________________
Мой мод на Xash

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

Старое сообщение 26-03-2021 11:52
- За что?
Sigurth
Частый гость

Дата регистрации: May 2015
Проживает: Красноярск
Сообщений: 95
Возраст: 27

Рейтинг



Цитата:
Aynekko писал:
Проблема с лагающим punchangle решилась банально с помощью delta.lst.
Вместо 8.0 поставил 32.0 и все отлично стало.

Я сейчас на голдсорсе попробовал, все работает. А я городил, как обычно, непонятно что)

__________________
Никогда не поздно сделать мод под хл1

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

Старое сообщение 26-03-2021 14:25
- За что?
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 351
Возраст: 30

Рейтинг



gEngfuncs.COM_LoadFile( char *path, int usehunk, int *pLength );

Кто нить знает за что отвечает usehunk?

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

Старое сообщение 30-03-2021 18:49
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



В какую область памяти положить загруженный файл. Чтобы не было неожиданностей, следует использовать только число 5.

C++ Source Code:
1
if (usehunk == 1)
2
  buf = Hunk_AllocName (len+1, base);
3
else if (usehunk == 2)
4
  buf = Hunk_TempAlloc (len+1);
5
else if (usehunk == 0)
6
  buf = Z_Malloc (len+1);
7
else if (usehunk == 3)
8
  buf = Cache_Alloc (loadcache, len+1, base);
9
else if (usehunk == 4)
10
{
11
  if (len+1 > loadsize)
12
    buf = Hunk_TempAlloc (len+1);
13
  else
14
    buf = loadbuf;
15
}

В кваке пятого режима нет, в халфе там malloc
Это говно было нужно под DOS, т.к. там не было системного менеджера памяти.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 30-03-2021 19:19
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 351
Возраст: 30

Рейтинг



Цитата:
Дядя Миша писал:
В кваке пятого режима нет, в халфе там malloc
Это говно было нужно под DOS, т.к. там не было системного менеджера памяти.

Понял, спасибо за ответ.
Но есть ещё вопросы вдогонку

От чего может COM_LoadFile тупо падать при загрузке файлов, которые обычно у него не вызывают проблем? Гружу tga/dds текстуры, и на некоторых уровнях при загрузке падает. При этом если ставить usehunk = 2 то работает, причём и тот конкретный уровень с багом, и пол компании ХЛ я прошёл с usehunk = 2. Исходя из твоих слов лучше убрать usehunk 2 и поставить 5, но интересно, какого хера с пятёркой вылетает.

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

Старое сообщение 31-03-2021 11:24
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Shapirlic писал:
и на некоторых уровнях при загрузке падает.

а где конкретно?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 31-03-2021 11:29
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 21:08. Новая тема    Ответить
Страницы (260): « Первая ... « 182 183 184 185 [186] 187 188 189 190 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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