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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Hull'ы (https://hlfx.ru/forum/showthread.php?threadid=4587)


Отправлено Ghoul [BB] 28-04-2015 в 12:41:

Цитата:
XaeroX писал:
Ну что ты! Я тебе сейчас расскажу, вот смотри, я тебе хорошую сейчас расскажу! Смотри, я... Вот у нас хитбоксы есть, много... Много хитбоксов, понимаешь? Они только для трассы игрока, понимаешь? Когда его трассируют. Ну, куда ещё, ихнее место - оно здесь, для сторонней трассы, и... Когда игрок колоизирует, физика, там другое, там хуллы используются. Если хуллы точные, то игроку лазить и ползать будет хорошо, понимаешь? А хитбоксы тут не при делах. Ну что?


Ох спасибо. От души!
ведь можешь же объяснить все по-человечески, а не стукать сразу, как у нас в гарнизоне было. Рассказать тебе, как меня обидеть хотели, а? Давай расскажу?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Ku2zoff 28-04-2015 в 16:24:

Цитата:
XaeroX писал:
А в зеркале как отражаться будет?

Я имел в виду, что в оригинальной халфе. А для зеркала, да надо модель игрока.
Цитата:
XaeroX писал:
с руками по локоть в земле?

Это 9-way blending виноват. Анимации лежания, они 2-way. Уже исправлено.

Добавлено 28-04-2015 в 22:24:


Для затравки Анимации перехода из положения в положение ещё не проигрываются, но они есть. Так же в планах запретить игроку ползать боком, или заставить его перекатываться (тут надо бы вертеть камеру по оси ROLL, но мне чота лень это кодить, да и боюсь, не получится).


Отправлено Chyvachok 28-04-2015 в 18:27:

Цитата:
Ku2zoff писал:
Так же в планах запретить игроку ползать боком, или заставить его перекатываться (тут надо бы вертеть камеру по оси ROLL, но мне чота лень это кодить, да и боюсь, не получится).


Насчет перекатов в лежании, в The Specialists там анимации эти есть, но от 1 лица камера не крутиться.


Отправлено XaeroX 28-04-2015 в 18:27:

Ku2zoff
Ты зачем это прон выкладываешь?!

__________________

xaerox on Vivino


Отправлено Ku2zoff 29-04-2015 в 03:03:

XaeroX это не тот прон, который прон

Цитата:
Chyvachok писал:
в The Specialists там анимации эти есть

Я из Frontline Force спёр. Спасибо за наводку, посмотрю ещё The Spesialists.

Добавлено 29-04-2015 в 09:03:

Если будет тутор, я не буду новую модель игрока выкладывать. Я только SMD с новыми анимашками и qc-файл приложу.


Отправлено Cybermax 29-04-2015 в 04:58:

Если кто не в курсе то TS идейный последователь Action HL

Добавлено 29-04-2015 в 07:39:

Кажется ещё в The Opera Mod было, не помню точно. В The Trenches тоже есть вроде. Я уже про Firearms молчу.

Добавлено 29-04-2015 в 07:58:

В Opera есть кручение от первого лица, которого нет в TS.

__________________


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

Cybermax вот ещё и эти посмотрю, т.к. испытываю нехватку анимаций.


Отправлено ~ X ~ 29-04-2015 в 09:53:

Цитата:
KiQ писал:
Ku2zoff правильно он работает. Просто предиктинга нет

Неправильно он работает!
инфа 9000.

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Ku2zoff а ты разворот в вентиляционной трубе не блочил? ))) Я просто представил себе это ИРЛ как-то... и не стал делать лежание в былокоде.
И поясни, пожалуйста, про серверные хитбоксы - что это за хак/фикс/фича, зачем оно надо и как это впилить?

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Ku2zoff 29-04-2015 в 13:22:

Цитата:
~ X ~ писал:
а ты разворот в вентиляционной трубе не блочил?

Пока нет. Это надо на клиенте трейсить, что ли. И ограничивать угол поворота. Пока не думал об этом.
Цитата:
~ X ~ писал:
И поясни, пожалуйста, про серверные хитбоксы - что это за хак/фикс/фича, зачем оно надо и как это впилить?

Это серверный интерфейс для настройки костей студиомоделек. На форуме года три назад мусолили эту тему очень сильно, особенно тов. marikcool. Оно надо, если настройка костей кастомная, например блендингов в анимациях больше 2, студиомодели скейлятся и нужен точный их трейсинг и проч. Если таких вещей нету, то работает внутридвижковый SV_StudioSetupBones. А если есть, то через интерфейс работает кастомная функция из дллки. Невозбранно украсть можно из восстановленных сорцев кс. Если ты не собираешься заводить 9-way blending, тебе это не надо.

Добавлено 29-04-2015 в 19:22:

Ну, почти закончил с ползанием. Осталось только подправить клиент. Хотя можно и не трогать. Там всего-то проблем: высота взгляда в режиме спектатора и то, что клиентские пушки думают, что из них можно стрелять, пока игрок ползёт, когда из серверных нельзя. Хотя стоп, эвенты. Там вроде бы где-то GetGunPosition настраивается в зависимости от положения игрока.


Отправлено ~ X ~ 29-04-2015 в 20:13:

Ku2zoff спасибо. 9-путевой блендинг мне не нужен, но scaling нужен. Я ещё слышал что движковая реализация хитбоксов какая-то плохая, и что писать свою по-любому надо, но не придавал этому значения.

Да, гетганпазашан есть и там и там. Ещё был оффсет в пм_шареде.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Ghoul [BB] 30-04-2015 в 08:08:

Цитата:
~ X ~ писал:
9-путевой блендинг мне не нужен, но scaling нужен.


Что? Неужели работа над XDM продолжается???

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено XaeroX 30-04-2015 в 12:40:

Лол, у дядьки мишки бугурт оказывается.
К счастью, он не отрицает, что взял в свой проект нелегальный код из ворованных (хл2) и зареверсенных (осхлдс) источников. Было бы глупо отрицать то, что выглядит, за мелкими отличиями, ну просто один-в-один. Я, впрочем, и не осуждаю. Это просто факт, и людям, желающим использовать ксаш, следует о нём знать, дабы чего не вышло (навроде C&D на почту).
Просто надо понимать, что чудес не бывает, и бинарная совместимость рождается не столько из гениальности автора, сколько из получения доступа к сорцам, легального (в идеале) либо не очень (как вышло с халфой). Ксаш хороший движок, но лично мне он именно этим и не подходит, а возможно - и кому-то ещё не подойдёт. И именно поэтому я пишу свой, который в первую очередь будет защищен от любых лицензионных проблем. Кому это всё не важно - не вижу ничего плохого в том, чтобы выбрать ксаш.

Вместо этого он переключился на волатилу, мол, я код ку3 взял, да ещё и ухудшил. Ну, типа, "сам дурак". Даже если это так (хотя это не так, и от ку3 не то что кода - даже от архитектуры мало осталось, но безусловно схожие решения есть - не я же изобрёл формат RoQ, например), то, внимание! Код ку3 действительно доступен под легальной лицензией GPL. Если мне что-то предъявят, мне достаточно будет просто открыть сорцы, чтобы избавиться от мнимого нарушения цопирайтов. А вот что будет делать наш дядя? Он не понимает, что из нелегальных сорцов код брать НЕЛЬЗЯ ни под каким видом? Тем более под опенсорсной лицензией, где этот факт очень легко заметить?
Упрёк в закрытости сорцов вообще шикарен. Сорцы рендера П2, надо полагать, закрыты по той же причине?

И да, я люблю заново писать код, который был написан до меня, и не считаю это чем-то плохим. Мне просто нравится процесс написания кода.\

ЗЫ: слово "украл" я не "кричу", знающие люди - это каклы-креазоты, что ли? Ну эти всё знают, да. Я периодически напоминаю, что код ксаша имеет серьёзные лицензионные нарушения в связи с тем-то и тем-то. Ещё раз - ДМ это даже не отрицает. Так что из-за чего бугурт-то и эти нелепые обвинения уже меня?

Добавлено 30-04-2015 в 18:40:

Для каклов и креазотов я приведу один пример. Только один, но могу и гораздо больше, если потребуется.
Вот функция из ксаша:

C++ Source Code:
1
hull_t *Mod_HullForStudio( model_t *model, float frame, int sequence, vec3_t angles, vec3_t origin, vec3_t size, byte *pcontroller, byte *pblending, int *numhitboxes, edict_t *pEdict )
2
{
3
  vec3_t		angles2;
4
  mstudiocache_t	*bonecache;
5
  mstudiobbox_t	*phitbox;
6
  int		i, j;
7
 
8
  ASSERT( numhitboxes );
9
 
10
  if( mod_studiocache->integer )
11
  {
12
    bonecache = Mod_CheckStudioCache( model, frame, sequence, angles, origin, size, pcontroller, pblending );
13
 
14
    if( bonecache != NULL )
15
    {
16
      Q_memcpy( studio_planes, &cache_planes[bonecache->current_plane], bonecache->numhitboxes * sizeof( mplane_t ) * 6 );
17
      Q_memcpy( studio_hull_hitgroup, &cache_hull_hitgroup[bonecache->current_hull], bonecache->numhitboxes * sizeof( uint ));
18
      Q_memcpy( studio_hull, &cache_hull[bonecache->current_hull], bonecache->numhitboxes * sizeof( hull_t ));
19
 
20
      *numhitboxes = bonecache->numhitboxes;
21
      return studio_hull;
22
    }
23
  }
24
 
25
  mod_studiohdr = Mod_Extradata( model );
26
  if( !mod_studiohdr ) return NULL; // probably not a studiomodel
27
 
28
  VectorCopy( angles, angles2 );
29
  angles2[PITCH] = -angles2[PITCH]; // stupid quake bug
30
 
31
  pBlendAPI->SV_StudioSetupBones( model, frame, sequence, angles2, origin, pcontroller, pblending, -1, pEdict );
32
  phitbox = (mstudiobbox_t *)((byte *)mod_studiohdr + mod_studiohdr->hitboxindex);
33
 
34
  for( i = j = 0; i < mod_studiohdr->numhitboxes; i++, j += 6 )
35
  {
36
    studio_hull_hitgroup[i] = phitbox[i].group;
37
 
38
    Mod_SetStudioHullPlane( &studio_planes[j+0], phitbox[i].bone, 0, phitbox[i].bbmax[0] );
39
    Mod_SetStudioHullPlane( &studio_planes[j+1], phitbox[i].bone, 0, phitbox[i].bbmin[0] );
40
    Mod_SetStudioHullPlane( &studio_planes[j+2], phitbox[i].bone, 1, phitbox[i].bbmax[1] );
41
    Mod_SetStudioHullPlane( &studio_planes[j+3], phitbox[i].bone, 1, phitbox[i].bbmin[1] );
42
    Mod_SetStudioHullPlane( &studio_planes[j+4], phitbox[i].bone, 2, phitbox[i].bbmax[2] );
43
    Mod_SetStudioHullPlane( &studio_planes[j+5], phitbox[i].bone, 2, phitbox[i].bbmin[2] );
44
 
45
    studio_planes[j+0].dist += DotProductAbs( studio_planes[j+0].normal, size );
46
    studio_planes[j+1].dist -= DotProductAbs( studio_planes[j+1].normal, size );
47
    studio_planes[j+2].dist += DotProductAbs( studio_planes[j+2].normal, size );
48
    studio_planes[j+3].dist -= DotProductAbs( studio_planes[j+3].normal, size );
49
    studio_planes[j+4].dist += DotProductAbs( studio_planes[j+4].normal, size );
50
    studio_planes[j+5].dist -= DotProductAbs( studio_planes[j+5].normal, size );
51
  }
52
 
53
  // tell trace code about hibox count
54
  *numhitboxes = mod_studiohdr->numhitboxes;
55
 
56
  if( mod_studiocache->integer )
57
  {
58
    Mod_AddToStudioCache( frame, sequence, angles, origin, size, pcontroller, pblending, model, studio_hull, *numhitboxes );
59
  }
60
 
61
  return studio_hull;
62
}

А вот функция из OSHLDS:
C++ Source Code:
1
hull_t * R_StudioHull(model_t * arg_0, float arg_4, int arg_8, vec3_t arg_C, vec3_t arg_10,
2
vec3_t arg_14, byte * arg_18, byte * arg_1C, int * OUT_arg_20_total, edict_t * OUT_arg_24, int arg_isCS) {
3
 
4
  int i, j, var_20;
5
  vec3_t var_18;
6
  r_object_t * var_1c_r_obj;
7
  mstudiobbox_t * var_c;
8
 
9
  var_1c_r_obj = NULL;
10
  SV_InitStudioHull();
11
  if(cvar_r_cachestudio.value != 0) {
12
 
13
    var_1c_r_obj = R_CheckStudioCache(arg_0, arg_4, arg_8, arg_C, arg_10, arg_14, arg_18, arg_1C);
14
    if(var_1c_r_obj != NULL) {
15
 
16
      Q_memcpy(studio_planes, &(cache_planes[var_1c_r_obj->nCurrentPlane]), var_1c_r_obj->Total * sizeof(mplane_t) * 6);
17
      Q_memcpy(studio_hull, &(cache_hull[var_1c_r_obj->nCurrentHull]), var_1c_r_obj->Total * sizeof(hull_t));
18
      Q_memcpy(studio_hull_hitgroup, &(cache_hull_hitgroup[var_1c_r_obj->nCurrentHull]), var_1c_r_obj->Total * sizeof(uint32));
19
 
20
      *OUT_arg_20_total = var_1c_r_obj->Total;
21
      return(studio_hull);
22
    } //else, continue like before.
23
    }
24
 
25
  pstudiohdr = Mod_Extradata(arg_0); //If this fails, Mod_ExtraData bails for us.
26
  var_18[0] = -arg_C[0];
27
  var_18[1] = arg_C[1];
28
  var_18[2] = arg_C[2];
29
 
30
  g_pSvBlendingAPI->BoneSetup(arg_0, arg_4, arg_8, var_18, arg_10, arg_18, arg_1C, -1, OUT_arg_24);
31
 
32
  var_c = (mstudiobbox_t *)(((byte *)pstudiohdr) + pstudiohdr->hitboxindex);
33
  for(i = j = 0; i < pstudiohdr->numhitboxes; i++, j+=6) {
34
 
35
    //So THIS is the loop that adds CS compatibility, or whatever.  Screw that.
36
    studio_hull_hitgroup[i] = var_c[i].group;
37
 
38
    SV_SetStudioHullPlane(&(studio_planes[j+0]), var_c[i].bone, 0, var_c[i].bbmax[0]);
39
    SV_SetStudioHullPlane(&(studio_planes[j+1]), var_c[i].bone, 0, var_c[i].bbmin[0]);
40
    SV_SetStudioHullPlane(&(studio_planes[j+2]), var_c[i].bone, 1, var_c[i].bbmax[1]);
41
    SV_SetStudioHullPlane(&(studio_planes[j+3]), var_c[i].bone, 1, var_c[i].bbmin[1]);
42
    SV_SetStudioHullPlane(&(studio_planes[j+4]), var_c[i].bone, 2, var_c[i].bbmax[2]);
43
    SV_SetStudioHullPlane(&(studio_planes[j+5]), var_c[i].bone, 2, var_c[i].bbmin[2]);
44
 
45
    studio_planes[j+0].dist += (abs(studio_planes[j+0].normal[0] * arg_14[0]) + abs(studio_planes[j+0].normal[1] * arg_14[1]) + abs(studio_planes[j+0].normal[2] * arg_14[2]));
46
    studio_planes[j+1].dist += (abs(studio_planes[j+1].normal[0] * arg_14[0]) + abs(studio_planes[j+1].normal[1] * arg_14[1]) + abs(studio_planes[j+1].normal[2] * arg_14[2]));
47
    studio_planes[j+2].dist += (abs(studio_planes[j+2].normal[0] * arg_14[0]) + abs(studio_planes[j+2].normal[1] * arg_14[1]) + abs(studio_planes[j+2].normal[2] * arg_14[2]));
48
    studio_planes[j+3].dist += (abs(studio_planes[j+3].normal[0] * arg_14[0]) + abs(studio_planes[j+3].normal[1] * arg_14[1]) + abs(studio_planes[j+3].normal[2] * arg_14[2]));
49
    studio_planes[j+4].dist += (abs(studio_planes[j+4].normal[0] * arg_14[0]) + abs(studio_planes[j+4].normal[1] * arg_14[1]) + abs(studio_planes[j+4].normal[2] * arg_14[2]));
50
    studio_planes[j+5].dist += (abs(studio_planes[j+5].normal[0] * arg_14[0]) + abs(studio_planes[j+5].normal[1] * arg_14[1]) + abs(studio_planes[j+5].normal[2] * arg_14[2]));
51
 
52
  }
53
 
54
  //Again, CS gets special treatment
55
  *OUT_arg_20_total = var_20 = pstudiohdr->numhitboxes;
56
 
57
  if(cvar_r_cachestudio.value != 0) {
58
 
59
    R_AddToStudioCache(arg_4, arg_8, arg_C, arg_10, arg_14, arg_18, arg_1C, arg_0, studio_hull, var_20);
60
  }
61
 
62
  return(studio_hull);
63
}

Если не обращать внимания на всякие arg_4 - следствие незаконченного причёсывания дизассемблированного кода, замены числовых констант на дефайны и прямой математики на функции типа DotProductAbs, а также минимальных переименований - вы увидите одну и ту же функцию. Да, ДМ хорошо поработал над улучшением дизассемблированного кода. Но факт взятия кода это не отменяет (заметьте - я не говорю "воровства").

__________________

xaerox on Vivino


Отправлено Ku2zoff 30-04-2015 в 13:22:

Цитата:
XaeroX писал:
людям, желающим использовать ксаш, следует о нём знать, дабы чего не вышло (навроде C&D на почту).

Я желаю использовать Ксаш, но пока там не работает предиктинг, это невозможно, по причине сильного упора в мультиплеер. Я выложу доделанный мод на moddb, и не собираюсь получать никакой выгоды с него, кроме как потешить ЧСВ.
Если набигут копирасты (по поводу моделей конечно, т.к. ворованных и утекших сорцев я ни у кого не брал, и код частично написан по туторам, частично самостоятельно), я пошлю их куда подальше. Особенно это касается всяких врумпелей, которые распространяют свои работы БЕСПЛАТНО, но почему-то бугуртят, когда из БЕСПЛАТНЫХ работ кто-то берёт ресурсы для своих БЕСПЛАТНЫХ работ. Естественно, я по мере возможности записываю, откуда взята модель, чтобы не обидеть авторов. И вообще, на моддб полно модов с заимствованными ресурсами.
Что касается кода движка, извините, не я его написал.

Добавлено 30-04-2015 в 19:22:

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Отправлено thambs 30-04-2015 в 13:35:

Ku2zoff
эти кто-то -- внезапно, вальва. у неё там очень мерзкая EULA. если б они официально разрешили некоммерческое использование... но такого никогда не будет. габа жадная -- ей надо что бы всё было намертво привязано к стиму.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено XaeroX 30-04-2015 в 14:20:

Цитата:
Ku2zoff писал:
Особенно это касается всяких врумпелей, которые распространяют свои работы БЕСПЛАТНО, но почему-то бугуртят, когда из БЕСПЛАТНЫХ работ кто-то берёт ресурсы для своих БЕСПЛАТНЫХ работ.

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

В демке ОИФД полно ворованых моделей, поэтому а) этой демки нет ни на каких моддб, б) я обязательно буду это исправлять, в) я не горжусь этим, и советую смотреть в демке именно код и геймплей, а не модели.

Добавлено 30-04-2015 в 20:20:

Цитата:
Ku2zoff писал:
Что касается кода движка, извините, не я его написал.

Ты правда думаешь, что вот этого "извините" будет достаточно при получении C&D?

__________________

xaerox on Vivino


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

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