HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 709 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- XashXT (https://hlfx.ru/forum/forumdisplay.php?forumid=30)
-- XashXT/3D [Вопросы и ответы] (https://hlfx.ru/forum/showthread.php?threadid=3689)


Отправлено antibiotik 22-11-2012 в 15:58:

Question XashXT/3D [Вопросы и ответы]

Цитата:
Я думаю все слышали про ксаш, но к сожалению к нему имеется не так много документации. Вообщем, помогите разобраться. 1. К ксашу приложены библиотеки PhisXв какую папку их кидать? 2. Без них не будет работать флаг solid у env_model, env_static? По получению ответов, список вопросов будет пополняться.


Вообщем эта тема была на сайте ссылка . Там предложили спросить здесь.

Проблема: флаг на карте qstyle и laddertests деревья не материальные. То же самое на других картах с бочками и прочими моделями. Что делать?


Отправлено SluX 22-11-2012 в 16:06:

Библиотеки физикса вроде надо в корень движка кидать, либо в cl_dlls мода.

__________________
На презентации Internet Explorer 9 парализованный мальчик встал и вышел... о_О
В новом амароке файловый менеджер превратили в фейловый... © slux


Отправлено Ku2zoff 22-11-2012 в 16:08:

antibiotik если видимокарточка от нвидия, то всё должно нормально работать. При условии, что физикс установлен вместе с видеодрайвером. Насчёт радеонов не знаю, там вроде тоже что-то ставится. А вообще дллки надо кидать в корень игры, где hl.exe


Отправлено antibiotik 22-11-2012 в 16:38:

Дело в том, что я так понимаю PhisX работает, так как physbox падают вниз при поднятии. Просто модели на тестовых картах почему-то не материальные.


Отправлено St.Snoop 23-11-2012 в 04:13:

antibiotik
Я посмотрел твой лог, у тебя ошибка:
Error: InitPhysic: failed to initalize physics engine
Произошла ошибка в инициализации физического движка.


Отправлено antibiotik 23-11-2012 в 10:19:

А делать-то что?


Отправлено St.Snoop 23-11-2012 в 12:31:

antibiotik
Поставь заново движок и мод по инструкции:
а) создай папку для движка (у меня это D:/Games/Xash3D);
б) закинь туда папку valve из оригинального HL;
в) скачай нужный билд движка и ксаш-мод;
г) распакуй все архивы в папку, которую ты создал для движка.
Xash3D (движок) - http://hlfx.ru/forum/showthread.php?s=&threadid=3584
XashXT 0.6 (мод, который ставится как обычный мод на HL) - http://hlfx.ru/forum/showthread.php?s=&threadid=3624


Отправлено antibiotik 23-11-2012 в 15:04:

Все переставил заново. Результат нулевой.

Добавлено 23-11-2012 в 19:04:

Создал лог заново. Та же ошибка.


Отправлено Дядя Миша 23-11-2012 в 15:27:

Цитата:
antibiotik писал:
Все переставил заново. Результат нулевой.

Анекдот в тему:
Цитата:

Звонок по телефону:
- Алло! Это аптека?
- Нет, вы ошиблись номером.
Через минуту опять:
- Алло! Это аптека?
- Да нет же, вы номером ошиблись!
Еще через минуту снова звонок:
- Алло! Это аптека?
- Нет!!! Что вы набираете?
- Кнопку REDIAL

__________________
My Projects: download page

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


Отправлено KPE030T 17-01-2013 в 18:27:

Есть какой-нибудь простенький тутор по созданию объемного дыма/тумана при помощи aurora? Документация не очень помогла.


Отправлено Дядя Миша 17-01-2013 в 19:59:

Тутора нет, есть редактор партиклей. Крути настройки пока не понравится. Описание настроек есть в документации.

__________________
My Projects: download page

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


Отправлено FiEctro 17-01-2013 в 20:44:

Дядя Миша
Еще примеры есть там.

__________________
Запад - лохи, Штаты - дуры. Мы фанаты диктатуры


Отправлено KiQ 26-04-2013 в 13:51:

Почему в r_programs.h в первом и последнем шейдере перенос строки явно задан через \n, а в тех, что между - нет?

__________________
-Brain is dead-


Отправлено Дядя Миша 26-04-2013 в 16:02:

KiQ ну а почему бы и нет?

__________________
My Projects: download page

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


Отправлено KiQ 26-04-2013 в 18:01:

Дядя Миша ну то есть это ни на что не влияет, и каждый элемент массива - все равно новая строка?

__________________
-Brain is dead-


Отправлено Дядя Миша 26-04-2013 в 18:11:

Ни на что. Конкурс на самый дурацкий вопрос продолжается

__________________
My Projects: download page

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


Отправлено -=DrTressi=- 01-05-2013 в 10:21:

Дядя Миша Та ФиЭктру сё равно никто не переплюнет

ЗЫ: Что больше жрёт ресурсов - энв_статик или энв_физбокс. Имеет ли смысл делать объект солидным энв_статиков, или всё же оптимальнее сделать энв_модел + клип_браши?

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 01-05-2013 в 11:29:

физбоксом ты конкейв меш не сделаешь- физикс его аппроксимирует до конвексного.

__________________
My Projects: download page

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


Отправлено -=DrTressi=- 01-05-2013 в 11:34:

Дядя Миша Да это понятно, но если не учитывать - что жрёт больше ресурсов?

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 01-05-2013 в 11:36:

Ресурсы жрут зеркала, порталы и мониторы.

__________________
My Projects: download page

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


Отправлено SpAwN 01-05-2013 в 16:51:

Цитата:
Дядя Миша писал:
Ресурсы жрут зеркала, порталы и мониторы.


А есть способ оптимизировать это? Что если качество картинки на мониторе будет зависеть от размера монитора? Если монитор маленький, то и текстуры объектов, что отображаются на мониторе, будут сильно размыты, а если монитор большой, то более качественно. Или вообще вне зависимости от размера монитора картинка будет плохая, модельки будут только лоды отображаться или что-то в этом роде?


Отправлено Ku2zoff 01-05-2013 в 16:58:

Цитата:
SpAwN писал:
А есть способ оптимизировать это?

Можно уменьшить разрешение вьюпорта монитора, если он маленький. Это и на большом неплохо выглядит, но пикселизация изображения не всем нравится. Хотя даже в хл2 она есть.


Отправлено SpAwN 01-05-2013 в 17:17:

Цитата:
Ku2zoff писал:
Можно уменьшить разрешение вьюпорта монитора, если он маленький. Это и на большом неплохо выглядит, но пикселизация изображения не всем нравится. Хотя даже в хл2 она есть.


О во, именно про это я и имел ввиду в моем посте сверху (просто не знал как коротко описать).


Отправлено Дядя Миша 01-05-2013 в 18:29:

Цитата:
SpAwN писал:
А есть способ оптимизировать это?

Цитата:
SpAwN писал:
Что если качество картинки на мониторе будет зависеть от размера монитора?

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

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

__________________
My Projects: download page

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


Отправлено KPE030T 17-05-2013 в 15:48:

Есть func_platform и две одинаковые кнопки, вызывающие его. Нужно чтобы при нажатии одной из них он поднимался на высоту, а при нажатии на другую поднимался еще раз на такое же расстояние. Но лифт стопорится намертво после первой остановки, то есть второй раз другой кнопкой активировать его не получается. Как быть?


Отправлено Дядя Миша 17-05-2013 в 19:22:

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

__________________
My Projects: download page

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


Отправлено St.Snoop 18-05-2013 в 18:10:

Куда нужно ложить fmod.dll, чтобы работал ambient_music - в cl_dlls или в папку с модом?
Из имеющихся у меня модов, fmod.dll лежит то в cl_dlls, то в папке мода.


Отправлено Дядя Миша 18-05-2013 в 19:07:

в папку cl_dlls

__________________
My Projects: download page

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


Отправлено antibiotik 25-05-2013 в 18:14:

А как активировать scripted_sequence с помощью кнопки или другого триггера? А то нпс начинает в самом начале раунда выполнять его.


Отправлено thambs 25-05-2013 в 18:39:

antibiotik

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

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


Отправлено antibiotik 25-05-2013 в 19:15:

А если нпс должен копыта откинуть?


Отправлено antibiotik 26-05-2013 в 19:53:

Smile

После довольно длительного времени насилования работы со связкой Xash3D+XashXТ появились несколько пожеланий.


Отправлено Дядя Миша 26-05-2013 в 20:20:

Физику для гранат нельзя, они мелкие, будут пролетать сквозь уровень.
Туррельку перемещаемую я делал - там пару строчек кода дописать.
Мне не понравилось. Весь код туррели не предполагает, что её будут ронять и переворачивать.

__________________
My Projects: download page

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


Отправлено antibiotik 27-05-2013 в 08:34:

Цитата:
Дядя Миша писал:
Физику для гранат нельзя

А нельзя их хотя бы заставить не трястись, как судорожных, во время полета?
Цитата:
Дядя Миша писал:
Туррельку перемещаемую я делал - там пару строчек кода дописать.

А ты не мог бы скинуть мне эти строчки, просто посмотреть очень интересно.
Ну и еще можно было бы добавить флаг для env_physboxов, чтобы при попадании по ним, они загорались и взрывались, аля бочки хл2, но это при желании не так уж и сложно маппингом организовать.


Отправлено GioHAUS0n 27-05-2013 в 08:52:

Цитата:
antibiotik писал:
А нельзя их хотя бы заставить не трястись, как судорожных, во время полета?


Анимацию надо убрать из w_grenade...


Отправлено Cybermax 27-05-2013 в 10:40:

Цитата:
antibiotik писал:
Работающий мультиплеер и кооператив.

неужели к Xash запилили Глобальный предиктор предиктинг?? И теперь можно играть по сети?

__________________
are you a gangsters no i am рептилоиды


Отправлено tolerance 27-05-2013 в 11:09:

Цитата:
Cybermax писал:
неужели к Xash запилили Глобальный предиктор предиктинг?? И теперь можно играть по сети?

Нет. Донат в 200 000 рублей для этой релизации еще не собран.


Отправлено Дядя Миша 27-05-2013 в 16:25:

Всё очень просто. В описании кулимёта добавить функцию ObjectCaps

C++ Source Code:
virtual int ObjectCaps( void ) { return (BaseClass :: ObjectCaps()) | FCAP_HOLDABLE_ITEM; }

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

А в функции Spawn, сразу после вызова BaseClass::Spawn();
вот эти строчки:
C++ Source Code:
1
if( WorldPhysic->Initialized( ))
2
  pev->movetype = MOVETYPE_PHYSIC;
3
else pev->movetype = MOVETYPE_FLY;
4
 
5
m_pUserData = WorldPhysic->CreateBodyFromEntity( this );

Условие с моветипами нужно лишь для того, чтобы халфа не зависала, если ксаш-мод запускать под ней. Больше ни для чего.

__________________
My Projects: download page

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


Отправлено antibiotik 27-05-2013 в 17:19:

Дядя Миша, спасибо все работает . Действительно, не предназначены они для этого.


Отправлено (_-=ZhekA=-_) 27-05-2013 в 18:14:

Дядя Миша
А можно немного по подробнее, что и куда нужно вставить?


Отправлено antibiotik 27-05-2013 в 18:23:

Вот cpp файл, скомплированная библиотека и карта-пример. Rghost


Отправлено Дядя Миша 27-05-2013 в 18:25:

Нельзя

Добавлено 27-05-2013 в 22:25:

antibiotik флаг надо было применять только к CSentry, а не к CBaseTurret. Этож у тебя и встроенные в потолок пулимёты теперь можно вынимать и носить с собой.

__________________
My Projects: download page

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


Отправлено antibiotik 27-05-2013 в 18:32:

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

Цитата:
Дядя Миша писал:
Этож у тебя и встроенные в потолок пулимёты теперь можно вынимать и носить с собой.

Просто у Фримена в Hev костюме отвертка встроенная есть. И дрель. И перфоратор. Ик!


Отправлено KPE030T 29-05-2013 в 14:13:

Есть вшитые в карту текстуры, а есть tga-шные с такими же именами. Пробовал кидать их в папку материалов, и в common, и в misc, чтобы ксаш читал их вместо вшитых, но он не хочет. Как быть?

Добавлено сегодня в 18:13:

ап


Отправлено Дядя Миша 29-05-2013 в 15:40:

либо в папку materials/common/ либо в папку materials/mapname/

__________________
My Projects: download page

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


Отправлено antibiotik 02-06-2013 в 14:54:

Вот такой вопрос. Я хочу запилить охрененно огромный моделенный террейн. env_physbox"ы будут сквозь него проваливаться? Статики тени отбрасывают? Модельку террейна придется на несколько моделей делить или как? На моделенном террейне будут моделенные деревья, будет ли мир без теней?


Отправлено -=DrTressi=- 02-06-2013 в 15:29:

Цитата:
antibiotik писал:
nv_physbox"ы будут сквозь него проваливаться?

Физбоксы проваливаются сквозь энв_статик. Но можно же сделать обычными брашами.

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 02-06-2013 в 15:31:

Цитата:
antibiotik писал:
Вот такой вопрос. Я хочу запилить охрененно огромный моделенный террейн. env_physbox"ы будут сквозь него проваливаться?

Будут. Но подозрительно выборочным образом. Я пока не знаю с чем это связано - не было времени разобраться. Это физикс чудит, но надо разобраться, что его не устраивает.
Цитата:
antibiotik писал:
Статики тени отбрасывают?

нет.

__________________
My Projects: download page

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


Отправлено -=DrTressi=- 02-06-2013 в 15:32:

Цитата:
antibiotik писал:
Модельку террейна придется на несколько моделей делить или как?


В зависимости от размера понигонов. Если их больше чем 2 000 * 32, тогда да.

__________________
How interesting, just look at that!
© Scientist


Отправлено antibiotik 02-06-2013 в 16:16:

-=DrTressi=-, Дядя Миша спасибо за ответы


Отправлено antibiotik 08-06-2013 в 14:59:

Я запутался: в ксашмоде есть env_fog?


Отправлено Дядя Миша 08-06-2013 в 15:28:

env_fog нету, но можно задать глобальный туманчег в настройках worldspawn. Практика показывает, что его всё равно никто не включает\выключает.

__________________
My Projects: download page

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


Отправлено antibiotik 08-06-2013 в 15:32:

Угу-ксь, разобрался. Мне его кстати тоже не надо включать/выключать.


Отправлено antibiotik 10-06-2013 в 05:57:

Как сделать новые декальки для ксашмода (ну не зря же decals2tga.exe есть ), распаковать decals.wad смог, а дальше?


Отправлено Дядя Миша 10-06-2013 в 15:37:

положить в папку materials/decals
но decals.wad удалять нельзя, а то грамадные будут.

__________________
My Projects: download page

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


Отправлено KiQ 15-08-2013 в 09:25:

А где обрабатывается параметр scale для env_model? Просто хочу добавить его для physbox'a, а найти не могу

__________________
-Brain is dead-


Отправлено Ku2zoff 15-08-2013 в 12:14:

Цитата:
KiQ писал:
А где обрабатывается параметр scale для env_model?

Он обрабатывается на клиенте в коде студиомодельрендерера, то есть для всех студиомоделек.


Отправлено antibiotik 31-10-2013 в 05:49:

Хм, вроде в ксаше можно запилить яркие части на модельках(вроде лума называются, ну или как-то так). Никогда этим не пользовался, а сейчас внезапно возникла необходимость. Как делать-то хоть? Надеюсь я ничего не напутал?


Отправлено -=DrTressi=- 31-10-2013 в 07:03:

antibiotik Это делается по принципу стилей для текстур на модельках. Ну помнишь, там есть Chrome, Additive, Transpanent.
Вот берёшь и ставишь там fullbright.

Но эту птичку поддерживает только последний компилятор Студиомдл.

1. Декмпилируешь модель.
2. В модель.куси вписываешь:
$texrendermode "имя_текстуры.bmp" "fullbright"
3.Компилируешь последней версией Студиомдл. Кстати, он консольный - компилить придётся через батник.
4.????
5.ПРОФИТ

Добавлено 31-10-2013 в 10:03:

Впринципе, можешь попробовать через стандартные функции Материалс.
Создаёшь папку: xashmod/materials/models/имямодели.
Туда садишь текстуру с названием имя_текстуры_luma.tga
И в ней закрышиваешь чёрным всё, что НЕ должно светиться.
Попробуй, авось прокатить. Но я лично пользовался только 1ым вариантом.

__________________
How interesting, just look at that!
© Scientist


Отправлено thambs 31-10-2013 в 08:02:

>в коде студиомодельрендерера, то есть для всех студиомоделек.

для env_static у меня он не срабатывал.

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


Отправлено antibiotik 31-10-2013 в 12:03:

-=DrTressi=- попробовал вторым вариантом. Разницы вроде и никакой, зато фпс просело до 10.

Добавлено 31-10-2013 в 15:03:

Хотя нет. Перезапустил карту, все вернулось на свои места.


Отправлено Дядя Миша 31-10-2013 в 12:18:

Цитата:
thambs писал:
для env_static у меня он не срабатывал.

Да быть такого не может.

А, всё, дошло, это про скейл на энв_статиках. А я сдуру решил что про луму

__________________
My Projects: download page

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


Отправлено -=DrTressi=- 31-10-2013 в 14:13:

Цитата:
antibiotik писал:
Разница есть. Лумой ты указываешь участки текстуры, а в модель вшиваешь всю текстуру.

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 31-10-2013 в 15:55:

-=DrTressi=- флаг фуллбрайт, это просто текстура, которая светится в темноте вся. А лумой можно задавать выборочные участки.
И да, кстати. Лума не работает на студиомоделях - некуда сохранять хэндлы лума-текстуры.

__________________
My Projects: download page

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


Отправлено -=DrTressi=- 31-10-2013 в 17:22:

Дядя Миша Ну дык я так и написал. Ну вон, у Антибиотика заработало же как-то

__________________
How interesting, just look at that!
© Scientist


Отправлено antibiotik 31-10-2013 в 17:59:

Модель с фулбрайтом работает отлично.


Отправлено antibiotik 07-11-2013 в 20:42:

А никак нельзя сделать туман на одном кусочке карты? Или придется заниматься извращениями и кустарщиной?


Отправлено -=DrTressi=- 08-11-2013 в 01:08:

antibiotik "Иногда правильно поставленный вопрос уже является ответом" (с)

Добавлено 08-11-2013 в 05:08:

Цитата:
antibiotik писал:
А никак нельзя сделать туман на одном кусочке карты? Или придется заниматься извращениями и кустарщиной?

__________________
How interesting, just look at that!
© Scientist


Отправлено thambs 08-11-2013 в 02:00:

как выстрелить из func_tank'а без использования func_tankcontrols?

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


Отправлено -=DrTressi=- 08-11-2013 в 05:28:

Очень просто. Берёшь создаёшь Кулемёт и аттачишь к нему какую-нить энтить с оригином, как показанно на рисунке. Я когда это делал юзал батон_таргет, но впринципе, наверное может ещё чё нить подойти. Например Монстр_таргет. Добавляем в Смарт эдит монстр_таргет пропертю health и любое значение. Далее добавляем кулемёту проперть firetarget и значение - имя монстр_таргет. Затем создаём Мультименеджер, в котором 2 раза указываем кулемёт с нужным интервалом. Ну чтобы он успел включиться, выстрелить 1 раз и выключиться. Ну и всё. При активации менеджера кулемёт стрельнет 1 раз и узбагоится. Активируй менеджер как заблагорассудится. Хоть КейКатчером.

__________________
How interesting, just look at that!
© Scientist


Отправлено LeFront 08-11-2013 в 09:43:

подскажите консольную команду на уменьшение скорости игрока. cl_forwardspeed и backspeed я знаю. А вот когда стрейфишся, скорость остается такая же. Заранее спасибо.

__________________
Icon Of Hell 2
Тоненький лучик света, может рассеить даже самую жуткую тьму...


Отправлено thambs 08-11-2013 в 10:00:

-=DrTressi=-
ааах, грязный хак, такой хак. но так и сделаю тогда.

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


Отправлено -=DrTressi=- 08-11-2013 в 12:02:

thambs Ну а как больше? Главное жеж, чтобы работало стабильно)

LeFront sv_maxspeed

Только нужно соблюдать пропорции этих команд

__________________
How interesting, just look at that!
© Scientist


Отправлено KPE030T 08-11-2013 в 14:33:

LeFront
cl_sidespeed


Отправлено Дядя Миша 08-11-2013 в 17:23:

Цитата:
thambs писал:
ааах, грязный хак, такой хак. но так и сделаю тогда.

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

__________________
My Projects: download page

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


Отправлено LeFront 10-11-2013 в 07:11:

Хм когда юзаешь команды sidespeed backspeed и forvard speed, то при одно временном зажатии кнопки в перед и стрейф (W+AиD) скорость увеличивается в 2 раза.

__________________
Icon Of Hell 2
Тоненький лучик света, может рассеить даже самую жуткую тьму...


Отправлено GioHAUS0n 10-11-2013 в 07:47:

Цитата:
LeFront писал:
Хм когда юзаешь команды sidespeed backspeed и forvard speed, то при одно временном зажатии кнопки в перед и стрейф (W+AиD) скорость увеличивается в 2 раза.


sv_maxspeed "maximum speed a player can accelerate to when on ground"


Отправлено KPE030T 10-11-2013 в 08:16:

LeFront
Писал же об этом на КСМ
http://cs-mapping.com.ua/forum/show...1&postcount=132


Отправлено antibiotik 12-12-2013 в 17:40:

Цитата:
1. Полностью отрезан fmod. ambient_music переписан, теперь им можно смело пользоваться. Так же к нему добавлен плавный фейд музыки при выключении (как в параное). Названия полей возьмете сами из сорцев.

Кто-нибудь лазил? Можете написать названия новых полей? Очень уж лень распаковывать сорцы ради этого.


Отправлено KiQ 12-12-2013 в 17:56:

Вот, должно работать

__________________
-Brain is dead-


Отправлено antibiotik 13-12-2013 в 15:27:

KiQ это, конечно, смешно, но можешь скинуть карту-пример?


Отправлено antibiotik 09-01-2014 в 09:54:

Новый рендерер это круто. А вот будет ли доделан мультиплеер в Xash3D?


Отправлено Дядя Миша 09-01-2014 в 15:52:

Цитата:
antibiotik писал:
А вот будет ли доделан мультиплеер в Xash3D?

Чтобы доделать мультиплеер нужна мотивация: либо внутренняя мотивация, как в случае с синглплеером, либо ощутимое денежное вознаграждение в форме регулярного доната. Первого нет, второго тоже.
А рендер я делаю, потому что мне это интересно.

__________________
My Projects: download page

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


Отправлено XaeroX 09-01-2014 в 15:58:

Цитата:
Дядя Миша писал:
ощутимое денежное вознаграждение в форме регулярного доната

Нищая, немытая Россия, что с неё взять.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Дядя Миша 09-01-2014 в 16:20:

XaeroX ты один не умывался и сегодня воздержался!

__________________
My Projects: download page

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


Отправлено f00nt 12-01-2014 в 09:48:

подскажите а можно ли увеличит число анимированых текстур с 9, например до 100


Отправлено Дядя Миша 12-01-2014 в 14:07:

f00nt в новом рендерере - будет можно.

__________________
My Projects: download page

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


Отправлено -=DrTressi=- 12-01-2014 в 15:10:

А что анимированных текстур не может быть больше 9???

__________________
How interesting, just look at that!
© Scientist


Отправлено f00nt 12-01-2014 в 15:24:

Цитата:
-=DrTressi=- писал:

У меня 98 кадров проигрывает только 9


Отправлено Дядя Миша 12-01-2014 в 15:30:

Может. Например 10

__________________
My Projects: download page

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


Отправлено f00nt 12-01-2014 в 15:35:

вообщем 10 но лучше 100


Отправлено Дядя Миша 12-01-2014 в 15:45:

f00nt ты вики доделал?

__________________
My Projects: download page

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


Отправлено tolerance 12-01-2014 в 15:49:

Цитата:
Дядя Миша писал:
Может. Например 10

При отсчёте с единицы .


Отправлено f00nt 12-01-2014 в 16:01:

[off] пока нет, были проблемы в л.ж, обязательно доделаю (там простите "насрали" спамеры, лучше это удалять системно) сейчас работаю с юзером из http://hlfx.ru/forum/showthread.php...15&pagenumber=1 этой темы[/off]


Отправлено Дядя Миша 12-01-2014 в 16:49:

Цитата:
tolerance писал:
При отсчёте с единицы .

Ты суммарное кол-во посчитай, а не конечный номер.

__________________
My Projects: download page

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


Отправлено Jaguar101 01-02-2014 в 21:49:

Привет всем форумчанам! Может кто-нибудь подскажет как сделать в XashXT обычное меню, как в привычном CS 1.6 или HL(т.е GameMenu.res), чтобы например можно было удалить ненужные пункты(например Hazard Course, Previews). Как удалять пункты меню или менять их названия в самом хеше не нашол


Отправлено KiQ 01-02-2014 в 23:14:

Jaguar101 mainui.dsp

__________________
-Brain is dead-


Отправлено -=DrTressi=- 02-02-2014 в 08:59:

Jaguar101 Дык было ж недавно где-то стимовское меню у Ксааша3Д. ищи ищи. Точно где-то видел.

__________________
How interesting, just look at that!
© Scientist


Отправлено [email protected] 02-02-2014 в 09:14:

Цитата:
Jaguar101 писал:
чтобы например можно было удалить ненужные пункты(например Hazard Course, Previews)


Насчет превью незнаю, но чтобы убрать "Hazard Course", нужно в файле gameinfo.txt удалить строку:

trainmap "demo_1"

__________________
Half-Life: Fight For Life 2


Отправлено (_-=ZhekA=-_) 02-02-2014 в 13:17:

Цитата:
-=DrTressi=- писал:
Дык было ж недавно где-то стимовское меню у Ксааша3Д. ищи ищи. Точно где-то видел.

Где?


Отправлено Дядя Миша 02-02-2014 в 13:20:

Ну задники поддерживаются, да. Вот эти, которые на квадратики порезаны.

__________________
My Projects: download page

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


Отправлено Jaguar101 02-02-2014 в 13:45:

Цитата:
Дядя Миша писал:
Ну задники поддерживаются, да. Вот эти, которые на квадратики порезаны.

не, задники я изменил, хочу саму менюшку изменить)
т.е чтобы осталось например "Новая игра", "Настройки" и "Выход из игры", а остальное убрать к чёрту)
Дополнено: я как понял, в ксаше для менюшки используется файл menu.dll и vgui.dll какойто старой версии. Стимовская версия халвы и контры не использует menu.dll(ксаш запустить без этого файла вообще нельзя), а вот со стимовским vgui.dll нельзя загрузить уровни, вылетает из движка сразу после загрузки уровня

Цитата:
KiQ писал:
mainui.dsp

тот файл не нашол в моей редакции ксаша, но отрыл на форуме. Немного не то, что нужно

Цитата:
-=DrTressi=- писал:
Дык было ж недавно где-то стимовское меню у Ксааша3Д. ищи ищи. Точно где-то видел.

Я тоже видел, но там просили документацию, чтобы прикрутить его к ксашу


Отправлено Дядя Миша 02-02-2014 в 14:37:

Без vgui.dll ничего работать не будет, это ты верно подметил. Не моя в том вина, вальвовский говнокод. Взяли прилинковали его к клиенту.

А вот Menu.dll можно напротив удалить и ксаш продолжит свою работу.
Правда меню не будет. Это остаток концепции старого ксаша, которому можно было отрывать любые дллки и он продолжал свою работу, правда с некоторой потерей функциональности.

__________________
My Projects: download page

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


Отправлено Jaguar101 02-02-2014 в 16:19:

Дядя Миша, спасибо за разъяснение. Буду дальше сам копать в сторону переписывания menu.dll для изменения меню, а то документация по движку скудная


Отправлено Дядя Миша 02-02-2014 в 16:27:

Что значит документация по движку скудная? В комплекте с движком должны идти туторы "как написать убийцу HLFX 0.6 за полчаса" ?

__________________
My Projects: download page

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


Отправлено Jaguar101 02-02-2014 в 16:43:

Дядя Миша , , нет нет, такой ненадо)).
[оффтоп]Просто, хотябы написать где в какой папке, какие файлы за что отвечают, какие параметры есть у компиляторов карт, какими средствами извлекать модифицированные wad файлы.
Это те вещи - по которым я облазил весь форум по Xash3D/XT а также часть гугла
________________
Ну и если привлекать новичков к движку, а движок реально хорош(я как его обнаружил сразу перестал воять карты под goldsource), то создать "минипомощьник" по движку. Допустим такие разделы: С чего начать, Необходимый софт для работы, Работа с инстрементами движка(тобишь про программы которые находятся в devkit движка), Как компилировать и параметры компиляторов. И что-то в таком духе. На форуме много чего есть, но или это невозможно найти или нужно использовать гугл(что тоже не всегда удаётся успешно)[/оффтоп]


Отправлено Дядя Миша 02-02-2014 в 16:49:

Цитата:
Jaguar101 писал:
Просто, хотябы написать где в какой папке, какие файлы за что отвечают

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

Цитата:
Jaguar101 писал:
какие параметры есть у компиляторов карт

компиляторы не мои, китайские.

Цитата:
Jaguar101 писал:
какими средствами извлекать модифицированные wad файлы.

http://www.hlfx.ru/forum/showthread...=&threadid=1772

Xash Tools - весьма полезная штука. Вы почему-то ищете всё где угодно, только не на этом форуме. Это какой-то удивительный выверт сознания.

__________________
My Projects: download page

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


Отправлено Jaguar101 02-02-2014 в 16:53:

Дядя Миша, большое спасибо!

Цитата:
Дядя Миша писал:
Тебя не смущает, что ты движку сунул папку с халфой и он её подхватил безо всяких переделок?
я в движке нашол и новые "системные" текстуры, и новые файлы. Только вот или это всё расписанно и расскиданно по разным темам или не описано вообще .
Я это веду к тому, что не каждому захочится рыться по форуму по пару часов, чтобы найти как работает та или иная фитча, не показанная в техже демокартах


Отправлено Дядя Миша 02-02-2014 в 17:07:

Набираешь makehelp в консоли - тебе создается файлик с описанием команд. Сиди да изучай.

__________________
My Projects: download page

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


Отправлено Jaguar101 02-02-2014 в 17:11:

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


Отправлено Дядя Миша 02-02-2014 в 17:51:

Цитата:
Jaguar101 писал:
Мой уровень по сравнению с вами ещё очень низок

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

__________________
My Projects: download page

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


Отправлено Jaguar101 08-02-2014 в 21:25:

Вcем доброго времени суток. И снова я со своими вопросами)). На этот раз проблема с компиляцией dll под ксаш. Значит имею на борту виртуальную машину с windows xp на которой установлен Microsoft Visual C++ 6.0 sp5 . Проблема в том, что после компиляции xash.dll(без внесения даже каких либо поправок в исходники) ксаш вылетает сразу после загрузки уровня.
Вот что пишется в engine.log :
level loaded at 1.85 sec
Sys_Crash: call 00000000 at address C0000005
Помогите разобраться с проблемой

_________________
Ну и ещё пару вопросов в этом посте, дабы не писать ещё один.
1) Какие кодеки или параметры использовать для создания видео заставки к ксашу (тобишь как оригинальный intro.avi)? При использовании microsoft video codec видео вопроизводится движком, но вес 9 секундного видео сконвертированного этим кодеком в 145мб - полное безобразие.
2) какие параметры конвертирования использовать для музыкальных файлов в ксаше, потомучто они уже никак не вопроизводятся, хоть я и прописываю их имена в cdaudio.txt...


Отправлено Дядя Миша 09-02-2014 в 13:42:

Цитата:
Jaguar101 писал:
Проблема в том, что после компиляции xash.dll(без внесения даже каких либо поправок в исходники) ксаш вылетает сразу после загрузки уровня.

У виртуальной машины нету вменяемого видеодрайвера.
Цитата:
Jaguar101 писал:
1) Какие кодеки или параметры использовать для создания видео заставки к ксашу

Любые, которые установлены в системе. Лучше брать дефолтные, чтобы не пришлось распространять пак кодеков совместно с игрой.
Выбери тот, который тебе больше по вкусу и пользуй.
Размер ролика в среднем должен быть 15-30 мегабайт, это не страшно, места сейчас много.
Цитата:
Jaguar101 писал:
какие параметры конвертирования использовать для музыкальных файлов в ксаше

MP3 с любыми параметрами. Должно играть. А зачем прописываешь в cdaudio? Ты набери в консоли music filename.mp3 и проверь - играет ли.

__________________
My Projects: download page

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


Отправлено Jaguar101 09-02-2014 в 13:51:

Дядя Миша, я сейчас ради этого пошёл в подвал, отрыл не очень старый пк с windows xp установил туда ксаш и всёравно вылетел он с тойже ошибкой. На вин7, с которой я сейчас пишу, такаяже ошибка...

Видео в ксаше воспроизводилось только сконверченное microsoft video codec больше никакими
но его вес очень большой... А музыка даже из консольки не проирывается
_____________
Дополненно: полузки громкости звуков в конфигурации невозможно двигать... Возможно потому звук не играет


Отправлено Дядя Миша 09-02-2014 в 14:07:

Ну не знаю тогда. Бинарник, скачанный с сайта работает?

__________________
My Projects: download page

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


Отправлено Jaguar101 09-02-2014 в 14:11:

Да, оригинальный работает.
Может кстате дело в редакции студии (VC++ 6 Start Edition Sp5)?
Не подскажете, где найти такую, которой пользовались вы?
___________________
Самое странное, что музыка в меню не пашет, но зато в игре всё отлично работает


Отправлено Дядя Миша 09-02-2014 в 14:18:

Цитата:
Jaguar101 писал:
Не подскажете, где найти такую, которой пользовались вы?

Не знаю. Я не с интернета её качал. На торрентах есть тема со всеми студиями, попробуй там скачать.

__________________
My Projects: download page

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


Отправлено Jaguar101 09-02-2014 в 14:22:

Сейчас поищу .
А можно как-нибудь узнать почему звук в меню не проигрывается?


Отправлено KiQ 09-02-2014 в 14:30:

Jaguar101 поставь SP 6

__________________
-Brain is dead-


Отправлено Jaguar101 09-02-2014 в 16:04:

Цитата:
KiQ писал: поставь SP 6
на нём выскакивает таже ошибка, только с другим адресом


Отправлено KiQ 09-02-2014 в 16:14:

Jaguar101 с каким?

__________________
-Brain is dead-


Отправлено Ku2zoff 09-02-2014 в 16:19:

Запускаешь под виртуалкой или под хостовой системой? Мож в дебаге скомпилил? А нужных дллок в систем32 хоста нету. Если вируталка - видеодрайвер. Установил в ВМ Guest Additions?


Отправлено Jaguar101 09-02-2014 в 16:23:

Цитата:
KiQ писал:
с каким?

6 студия с сервис паком 6

Добавлено 09-02-2014 в 19:23:

Ku2zoff, не компилю в релизе, на dll система не жалуется, только после компила выдаёт 53 warnings и 1 error, что xash.dll не удалось запустить через командную строку windows, запускаю под хостовой системой,компилю под виртульной.
"ВМ Guest Additions" - не установленна


Отправлено Ku2zoff 09-02-2014 в 16:32:

Цитата:
Jaguar101 писал:
53 warnings и 1 error

В шестой-то студии? Да с пятым сервис-паком? Всё без ошибок должно быть.
Цитата:
Jaguar101 писал:
запускаю под хостовой системой,компилю под виртульной.

А что за хост? Вин8.1? Тогда 6 студия только под виртуалкой. Можно заюзать 2010 или даже 2013, только исходник поисправить чуток надо.
Цитата:
Jaguar101 писал:
"ВМ Guest Additions" - а об этом подробнее

Если юзаешь VirtualBox, там надо устанавливать в гостя GuestAdditions, чтобы фурычили общие папки, 2д и 3д ускорение, интеграция мыши и проч.

Добавлено 09-02-2014 в 23:32:

Какие варнинги-то выдаёт студия?


Отправлено Jaguar101 09-02-2014 в 16:36:

Сейчас заново закомпилю и выложу
А хост Windows 7 ultimate (но под ней озапускается и компилиться, только библиотека на 400кб больше почемут)


Отправлено thambs 09-02-2014 в 16:38:

>У виртуальной машины нету вменяемого видеодрайвера.

даладна? я в vbox'е sauerbraten запускал вполне.

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


Отправлено Jaguar101 09-02-2014 в 16:42:

--------------------Configuration: engine - Win32 Release--------------------
Compiling...
Generating Code...
E:\Xash3D\xash_extras\source code\engine\common\console.c(1192) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\common\console.c(1198) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\common\console.c(1413) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\common\console.c(1423) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_tent.c(2033) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_tent.c(2033) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_tent.c(2033) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_tent.c(2034) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_tent.c(2034) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_tent.c(2034) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(414) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(414) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(414) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(414) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(513) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(513) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(513) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_menu.c(513) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(664) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(1395) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(1395) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(1395) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(1395) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(2825) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(2825) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(2825) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\cl_game.c(2825) : warning C4761: integral size mismatch in argument; conversion supplied
Compiling...
Generating Code...
E:\Xash3D\xash_extras\source code\engine\client\gl_rsurf.c(1459) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rsurf.c(1464) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rpart.c(456) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rpart.c(456) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rpart.c(456) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rpart.c(504) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rpart.c(1382) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rpart.c(368) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rlight.c(349) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rlight.c(350) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\gl_rlight.c(351) : warning C4761: integral size mismatch in argument; conversion supplied
Compiling...
Generating Code...
Compiling...
E:\Xash3D\xash_extras\source code\engine\client\gl_studio.c(2121) : warning C4761: integral size mismatch in argument; conversion supplied
Generating Code...
E:\Xash3D\xash_extras\source code\engine\client\s_mix.c(451) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\s_dsp.c(2493) : warning C4761: integral size mismatch in argument; conversion supplied
Compiling...
Generating Code...
Compiling...
Generating Code...
Compiling...
Generating Code...
Compiling...
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(151) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(151) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(151) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(151) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(161) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(161) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(161) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(161) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(171) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(171) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(171) : warning C4761: integral size mismatch in argument; conversion supplied
E:\Xash3D\xash_extras\source code\engine\client\vgui\vgui_draw.c(171) : warning C4761: integral size mismatch in argument; conversion supplied
Generating Code...
Compiling...
Generating Code...
Linking...
Creating library ..\temp\engine\!release/xash.lib and object ..\temp\engine\!release/xash.exp
Performing Custom Build Step on \Xash3D\xash_extras\source code\temp\engine\!release\xash.dll
¥ ã¤_¥âáï __©â¨ ãª_§___ë© ä_©«.
Error executing c:\windows\system32\cmd.exe.

xash.dll - 1 error(s), 53 warning(s)

Добавлено 09-02-2014 в 19:42:

xash.dll
Под win7 вес 1,19 МБ
Под Virtual WinXP 946кб


Отправлено Ku2zoff 09-02-2014 в 16:44:

Цитата:
Jaguar101 писал:
А хост Windows 7 ultimate (но под ней озапускается и компилиться

А зачем тогда ХР нужен, если и в семёрке всё компилится и запускается?

Добавлено 09-02-2014 в 23:43:

Цитата:
thambs писал:
я в vbox'е sauerbraten запускал вполне

Дык нативный под линь есть жо.

Добавлено 09-02-2014 в 23:44:

Цитата:
Jaguar101 писал:
Под win7 вес 1,19 МБ
Под Virtual WinXP 946кб

А какая разница вообще? Лишь бы работало.


Отправлено Jaguar101 09-02-2014 в 16:45:

Цитата:
Ku2zoff писал:
А зачем тогда ХР нужен, если и в семёрке всё компилится и запускается?
потомучто на 7ку нельзя поставить MDAC 2.5 , который нужен, чотбы установить SP5.
Под запуском я имелл ввиду что Visual studio запусается а не движок


Отправлено KiQ 09-02-2014 в 16:47:

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

__________________
-Brain is dead-


Отправлено Ku2zoff 09-02-2014 в 16:47:

Jaguar101 тю.. Поищи по форуму, я рецепт избавления от MуDACов описывал. И собственноручно устанавливал sp5 на 6 студию без проблем под семёркой.


Отправлено Jaguar101 09-02-2014 в 16:51:

Цитата:
Ku2zoff писал:
А какая разница вообще? Лишь бы работало.

не работает не та ни другая. Только в ХР скомпиленном варианте викидывает сразу при запуске движка, а вариант скомпиленный, под 7кой, сразу после загрузки уровня. Ошибки вылета идентичны

Добавлено 09-02-2014 в 19:51:

Цитата:
KiQ писал:
нормально все у тебя, предупреждения игнорируй, они значат что в функцию передаются аргументы с другим размером, нежели записаны в хидере или что-то вроде этого. А ошибка - ерундовая, просто не может запуститься cmd.exe, это вообще не влияет на результат компиляции. Так что не парь мозги

я тоже об этом писал выше, что ошибки не критичны, но движок запустить невозможно... вылетаю с
Sys_Crash: call 1009DAC8 at address C0000005
Xash3D 0.95 stopped at Feb09 2014 [18:30.43]


Отправлено Ku2zoff 09-02-2014 в 16:53:

Jaguar101 ставь sp5 на студию под семёркой, потом процессор пак и компиль. Как избавиться от МДАК.


Отправлено Jaguar101 09-02-2014 в 16:58:

Цитата:
Ku2zoff писал:
ставь sp5 на студию под семёркой, потом процессор пак и компиль

окей, пошёл пробовать. О результатах сообщу тут. Всем спасибо за ответы и помощь!


Отправлено Ku2zoff 09-02-2014 в 17:11:

Jaguar101 вот тебе на всякий случай http://stackoverflow.com/questions/...ck-on-windows-7


Отправлено thambs 09-02-2014 в 17:47:

Ku2zoff

знаю я, что есть нативный. мне было интересно потестить это.

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


Отправлено Jaguar101 10-02-2014 в 17:35:

Поставил я VC 6 Professional + sp5 + Processor pack (OS Windows 7 Ultimate x64), библиотека под windows скомпилилась и стала весить вместо 1,17мб всего 941 кб, но хаш при загрузке оровня всё также вылетает с тойже ошибкой. Уже не знаю что делать

Добавлено 10-02-2014 в 20:35:

APPCRASH
Имя приложения: xash.exe
Версия приложения: 1.0.0.0
Отметка времени приложения: 52f278d9
Имя модуля с ошибкой: StackHash_0a9e
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Код исключения: c0000005
Смещение исключения: 00000000


Отправлено Jaguar101 11-02-2014 в 15:05:

Поставил от отчаяния Windows Xp sp3. На неё поставил VC++ 6 enterprice + sp5 + pp . И игра по прежнему вылетает если я скармливаю скомпилированный Xash.dll... Может ктонибудь сможет кинуть архивом его студию и все фитчи, которая компилит рабочие библиотеки для движка?
Пожалуйста


Отправлено Дядя Миша 11-02-2014 в 15:45:

Слушай, может у тебя вирусня какая-то живёт? Прямо на флэшке.
А то у нас тут был недавно случай...

__________________
My Projects: download page

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


Отправлено thambs 12-02-2014 в 16:12:

а есть какая ни будь документация к xashtools? у меня, например, есть много tga с альфаканалом, хочу преобразовать их в wad-текстуры с однобитовой прозрачностью. как это сделать?

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


Отправлено Дядя Миша 12-02-2014 в 17:01:

Увы никак. Старые ксаш-тулзы не поддерживают преобразование 32->8 bit. И я себе смутно представляю как эту альфу конвертировать.

__________________
My Projects: download page

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


Отправлено thambs 12-02-2014 в 17:41:

Дядя Миша

синий цвет в 8и битной пол-литре они автоматом воспринимают? где доку то взять? xwad требует .qc, какой у этого .qc синтаксис я понятия не имею.

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


Отправлено Дядя Миша 12-02-2014 в 18:14:

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

Цитата:
thambs писал:
где доку то взять?

ксаш-тулзы - самодокументирующиеся. Запусти экстраген и он тебе нагенерит примеров куси для всех тулзов. и для спрайтов и для вадов.

__________________
My Projects: download page

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


Отправлено Jaguar101 12-02-2014 в 19:00:

Цитата:
Дядя Миша писал:
Слушай, может у тебя вирусня какая-то живёт? Прямо на флэшке.

Это исключенно впринцыпе. Флешка форматировалась несколько раз перед этим. Стоит также програма на флешке от заражения авторанами. Система старая вродебы была чистая, образ который ставил перед этим сканировал антивирусом... После записи на диск тоже.
Пробовал кстате на 3 компьютерах ставить ксаш движок. На всех одна и таже ошибка. Такчто проблема видать в самих прогах/компиляторах (ктонибудь киньте плиз их)


Отправлено Jaguar101 13-02-2014 в 20:10:

Полный баг репорт. Может кто сможет подсказать почему вылетает...
Компиляция библиотеки и запуск движка происходили под Windows 7 Ultimate x64 с VS 6.0 + sp5 + pp
В дебаг моде библиотека выдаёт: Unhandled Exception in xash.exe - Access Violation
_____________
Я уже все советы перепробовал, даже на отдельный комп с низкоуровневым форматированием и полностью форматированными флешками поставил движок и инструменты. Я грешу на то, что у меня или студия не такая, какая нужна или sp5 плохой, ну или processor pack


Отправлено Jaguar101 13-02-2014 в 20:14:

Ниже приложу ещё и свою библиотеку:


Отправлено KiQ 14-02-2014 в 05:32:

Jaguar101 ну так скачал бы давно уже другую студию

__________________
-Brain is dead-


Отправлено Вилс 14-02-2014 в 08:57:

Скачай Visual studio 6.0 и все будет хорошо.

__________________
Привет миша


Отправлено Ku2zoff 14-02-2014 в 14:37:

Jaguar101 странно... У тебя ресурсы (звуки, модели, текстуры) не загружаются, будто их просто нет по тем путям, где они должны быть. Оригинальный xash.dll такой же лог выдаёт?

Добавлено 14-02-2014 в 21:37:

Цитата:
Warning: CL_LoadProgs: couldn't get render API

У тебя даже рендерапи не грузится из клиентки. А физика из сервера грузится:
Цитата:
SV_LoadProgs: initailized extended PhysicAPI ver. 6
Что за шарада такая?


Отправлено Дядя Миша 14-02-2014 в 15:40:

Цитата:
Jaguar101 писал:
Ниже приложу ещё и свою библиотеку:

Как бы тебе сказать. У меня твоя библиотека прекрасно работает.
Рендер API конечно не грузит, он уже изменился, но в остальном - всё чотко.

Цитата:
Ku2zoff писал:
Warning: CL_LoadProgs: couldn't get render API

Ну изменился рендер API, вот и не грузит. Это не фатально, работать должно.

Цитата:
Ku2zoff писал:
SV_LoadProgs: initailized extended PhysicAPI ver. 6

А этот интерфейс не менялся с 2012 года. Немножко дополнялся но без потери совместимости.

Добавлено 14-02-2014 в 19:40:

Jaguar101 ты ксаш-мод грузишь или чистую халфу? Ты попробуй сначала чистую халфу грузануть.

__________________
My Projects: download page

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


Отправлено Jaguar101 14-02-2014 в 20:42:

Ku2zoff вот сам хз что за)

Цитата:
Дядя Миша писал:
ты ксаш-мод грузишь или чистую халфу? Ты попробуй сначала чистую халфу грузануть
в чистой халве запущенной из под ксаша нет кнопки начать игру. Точнее она есть, но неактивна. Гружу всегда ксаш мод. Сейчас попробую настроить, чтоб грузилась обычная халва

Добавлено 14-02-2014 в 23:42:

Странно, но half life загрузился спокойно и без вылетов...
Кажется я разобрался в чём проблема. Конфликт dll файлов патченного goldsource и xash или что-то в этом роде при запуске xash. Одолжил halflife 98года у друга, поставил его, потом на него xash и пока-что тфу тфу работает. Сейчас попробую перенести всё своё добро на эту версию. Если не вылетит будет просто замечательно
Всем спасибо за помощь!
У меня есть желание даже создать топик для новичков с описанием моей проблемы если всё будет работать после переноса. Вдруг кто ещё столкнётся с такой фигнёй и не будет знать что делать


Отправлено thambs 15-02-2014 в 01:25:

>Запусти экстраген и он тебе нагенерит примеров куси для всех тулзов. и для спрайтов и для вадов.

издеваешься что ли? ничего он мне не сгенерировал, только пишет что ничего не нашёл.

Добавлено 15-02-2014 в 05:25:

пофиг. вручную поправил пол-литру через gimp и собрал из wally.

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


Отправлено Дядя Миша 15-02-2014 в 13:20:

Цитата:
thambs писал:
издеваешься что ли? ничего он мне не сгенерировал, только пишет что ничего не нашёл.

Ыыы. Это тулза для декомпиляции. Натравил бы на папку с халфой, получил бы примеры куси. Если честно - не ожидал от тебя.

__________________
My Projects: download page

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


Отправлено Jaguar101 17-02-2014 в 13:16:

Я похоже разобрался с проблемой своих вылетов. Значит ниже я приложу 2 файла gameinfo.txt . То что с префиксом _old это файл который идёт по умолчанию с XashXT063/064. Файл с префиксом _new это файл который генерирует движок автоматом,если удалить старый gameinfo.txt . Хочу обратить внимание на строчки:
dllpath
gamedll

(строки под номером 13 и 14).
Значит, с оригинальной библиотекой xash.dll что старый файл gameinfo, что новый не вызывает вылетов движка. Но если скомпилировать файл xash.dll из исходников xash_extras.7z то новый файл вызовет ошибку о которой я писал несколько страниц назад(баг, недоработка, НЛО? Хз...). Чтобы её исправить, нужно или не удалять старый gameinfo или в новом изменить пути с cl_dlls и cl_dlls/server.dll на bin и bin/server.dll


Отправлено Ku2zoff 17-02-2014 в 17:11:

Цитата:
Jaguar101 писал:
Чтобы её исправить, нужно или не удалять старый gameinfo или в новом изменить пути с cl_dlls и cl_dlls/server.dll на bin и bin/server.dll

А зачем удалять старый gameinfo? Я ещё понимаю, если бы в папке ксашмода был халфовский либлист. Но его нет. А по поводу путей, я думаю, что движок генерит именно такие по-умолчанию для совместимости с халфой и модами. Естественно, сгенеренный автоматом гейминфо надо править ручками, тогда и вылетов глупых не будет.


Отправлено Jaguar101 17-02-2014 в 17:54:

Цитата:
Ku2zoff писал:
А зачем удалять старый gameinfo?
а его ненадо удалять. В Xash 0.63 он один а в 0.64 другой. Поэтому у меня и вылетало

Добавлено 17-02-2014 в 20:54:

Вопросик встал ещё один: Как в menuui делать ссылки активными или неактивными понять не могу. Например ссылка Update во вкладке configurations неактивна, как её сделать активной например?


Отправлено Дядя Миша 17-02-2014 в 18:18:

Ну очевидно прописать в гейминфо
"url_update" "www.boom.alerman.prokur.net"

__________________
My Projects: download page

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


Отправлено Jaguar101 17-02-2014 в 18:27:

Дядя Миша, спасибо!
Всё как всегда кажется намного проще, чем я себе представляю


Отправлено Дядя Миша 17-02-2014 в 18:46:

В случае с ксашем - безусловно. Я никогда не старался там делать ничего сложного. Не понимал в том никакой необходимости.
Погрмозиты частенько пишут сложную и запутанную систему "в счёт будущих расширений", которые так никогда и случаются.

__________________
My Projects: download page

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


Отправлено Jaguar101 18-02-2014 в 07:40:

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


Отправлено Дядя Миша 18-02-2014 в 14:19:

Что за ерунда? Ксаш прекрасно поддерживает русский текст. Только вместо богомерзкого юникода требует WIN-1256, или как она там правильно называется.

Цитата:
Jaguar101 писал:
Дядя Миша, чем дальше изучаю,тем больше нравится мне этот движёк за свою простоту и возможность свободного ковыряния.

Спасибо. Но на самом деле, движок далеко не так прост, как может показаться. Ты это позже поймешь, когда углубишься.

__________________
My Projects: download page

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


Отправлено Chyvachok 19-02-2014 в 12:49:

В КсашХТ планируются фишки какие нибуть? Вот что рекомендовал бы, так это мягкую привязку, как раз для таких моделей она бы не помешала бы. (см шланги): http://rghost.ru/52528156


Отправлено Дядя Миша 19-02-2014 в 15:45:

А. ты имеешь в виду, чтобы эти шланги не анимацией болтались, а физически симулировались? Jiggle-bones?
Да, это я планирую сделать.

__________________
My Projects: download page

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


Отправлено XaeroX 19-02-2014 в 15:46:

Цитата:
Дядя Миша писал:
Да, это я планирую сделать.

Это уже давно сделано, кто-то даже исходник из оранжевого мента выкладывал. Осталось только скопипастить к себе в проект.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Дядя Миша 19-02-2014 в 15:53:

Цитата:
XaeroX писал:
Это уже давно сделано, кто-то даже исходник из оранжевого мента выкладывал

Ну пошутил так пошутил. Вот это кривое глючное гамно, ломающее совместимость копипастить себе в проект?

__________________
My Projects: download page

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


Отправлено XaeroX 19-02-2014 в 15:56:

От только не говори, что ты не на основе того кода делать собрался, а сам решил алгоритмы сочинять.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Дядя Миша 19-02-2014 в 16:06:

XaeroX есть чистый исходник в Source SDK. Я возьму его за исходную точку, переработаю, расширю и дополню. Зачем мне кривая поделка от арранджементовцев? Заодно может еще IK прикручю, но это уже сложнее, она активно юзает локальную матрицу кости, которая в ХЛ1 выбрасывается на этапе компиляции.

Добавлено 19-02-2014 в 20:06:

Цитата:
XaeroX писал:
а сам решил алгоритмы сочинять.

Алгоритмы я сочиняю, когда нигде нету готового. Если бы мне платили за то, чтобы я сочинял алгоритмы - я бы сочинял алгоритмы. Логично?

__________________
My Projects: download page

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


Отправлено Chyvachok 19-02-2014 в 16:50:

Цитата:
Дядя Миша писал:
А. ты имеешь в виду, чтобы эти шланги не анимацией болтались, а физически симулировались? Jiggle-bones?


Не совсем, в ХЛ2 и других новых играх есть мягкая привязка или же wertex veights (так строчка в милке называется при экспорте smd), не знаю как точно называется, она позволяет прицепить вертекс не к одной, а к нескольким костям, тогда анимации НПС и всяких шлангов можно сделать более сглажеными.

Но игру где есть Jiggle-bones если честно я не при помню.


Отправлено KiQ 19-02-2014 в 17:12:

Chyvachok а не развесовка ли это?

__________________
-Brain is dead-


Отправлено Chyvachok 19-02-2014 в 17:18:

Цитата:
KiQ писал:
Chyvachok а не развесовка ли это?


Именно.


Отправлено -=DrTressi=- 21-02-2014 в 11:19:

Chyvachok А в Спирите была такая вот мягкая привязка, только на уровне энтить Только она была не вполне юзабельна из-за остутствия гибких настроек(

__________________
How interesting, just look at that!
© Scientist


Отправлено thambs 21-02-2014 в 11:39:

> эти шланги не анимацией болтались, а физически симулировались? Jiggle-bones?

а генерировать такие модели средствами движка возможно, для проводов всяких?

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


Отправлено Jaguar101 23-02-2014 в 13:38:

Всем привет, и снова я. Копаюсь в движке дальше и никак не могу найти где спрятан "рост игрока". Как все наверное знают он по умолчанию равен 72 юнита в Half-life. И скорее всего зашит в hl.dll (я так думаю). Так вот, я сделал карту в которой немножко несоблюдены маштабы и игрок кажется лилипутом просто. И мне нужно добавить +32 юнита к росту чтобы всё воспринималось реалистично. Но никак не выходит найти гдеже всётаки прописан этот рост по умолчанию. Пожалуйства помогите


Отправлено Дядя Миша 23-02-2014 в 13:40:

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

Добавлено 23-02-2014 в 17:40:

А, ну еще в gameinfo.txt есть, в библиотеках есть, да много где, вообщем-то.

__________________
My Projects: download page

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


Отправлено fire64 23-02-2014 в 13:49:

Цитата:
Дядя Миша писал:
в компиляторах он прописан. Надо создать hullfile и скормить его компиляторам. Иначе ничего не получится и будет глючить.

Так это, может ему лучше камеру игрока поднять на 32 юнита?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Jaguar101 23-02-2014 в 13:51:

Цитата:
fire64 писал:
Так это, может ему лучше камеру игрока поднять на 32 юнита?
Да, мне чисто нужно камеру игрока поднять, от 1 лица что камера


Отправлено Дядя Миша 23-02-2014 в 14:25:

Цитата:
fire64 писал:
Так это, может ему лучше камеру игрока поднять на 32 юнита?

это чтобы она переодически заезжала в потолок?
Камера-то не в пузе сидит, там уже оффсет 22 юнита.

__________________
My Projects: download page

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


Отправлено Jaguar101 23-02-2014 в 15:20:

Цитата:
Дядя Миша писал:
чтобы она переодически заезжала в потолок
у меня везде один и тотже потолок на высоте 174 юнита. Разве будет заезжать?


Отправлено Дядя Миша 23-02-2014 в 15:24:

Не проще ли карту переделать? Ты даже не представляешь себе, во что ты ввязываешься.

__________________
My Projects: download page

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


Отправлено Jaguar101 23-02-2014 в 16:00:

Цитата:
Дядя Миша писал:
Ты даже не представляешь себе, во что ты ввязываешься.
ладно, раз это так геморно, то тогда проставлю клип браши по 32 юнита на земле


Отправлено -=DrTressi=- 23-02-2014 в 16:12:

Jaguar101 Да уменьши карту и всё.

__________________
How interesting, just look at that!
© Scientist


Отправлено Jaguar101 23-02-2014 в 16:34:

Цитата:
-=DrTressi=- писал:
Да уменьши карту и всё.
У меня брашей более 1к. Мне руками каждый уменьшать чтоле?
Просто маштаб cs что 1 юнит равен 2,5см непрокатило. Я делал точную копию одной постройки и игрок коегде просто не пролезал. Решил сделать маштаб 1 к 3/5, т.е каждый объект в кс это реальный обьект уменьшенный на 40%. Но после этого игрок даже до дверной ручки не достаёт))


Отправлено Jaguar101 23-02-2014 в 16:37:

С клип брашем на 32 юнита выглядет вот так. Это какбэ то что нужно. Точнее, хочу, чтобы так выглядело


Отправлено KiQ 23-02-2014 в 18:09:

Jaguar101 Ctrl+A и уменьшаешь

__________________
-Brain is dead-


Отправлено -=DrTressi=- 27-02-2014 в 18:19:

Jaguar101 Чёта ничё не пойму что ты там хочешь, делай как KiQ говорит и не изобретай велосипед.

__________________
How interesting, just look at that!
© Scientist


Отправлено KorteZZ 04-07-2014 в 13:13:

Замедление игрока

Подскажите пожалуйста, как замедлить игрока, который попал в определенную зону? Скажем в болото, глубокий снег, кочки или еще что.
И возможно ли таким образом замедлить и монстров? Чтобы они тоже начинали медленно ходить в болоте.


Отправлено Cybermax 04-07-2014 в 14:23:

KorteZZ прочитай это http://hlfx.ru/forum/showthread.php?threadid=4412

__________________
are you a gangsters no i am рептилоиды


Отправлено KorteZZ 06-07-2014 в 05:46:

Cybermax Спасибо. То есть, по вопросам Ксаша обращаться теперь на КСМ?
Ну, тогда тут тему надо бы закрыть что ли?

__________________

Killing Floor: Horzine Outbreak


Отправлено Pahanoid 11-06-2015 в 16:27:

Может быть уже задавали этот вопрос но. Почему в ксаше не работают команды консоли, точнее не все работают?


Отправлено ***FantoM*** 11-06-2015 в 17:08:

Pahanoid
тебе сюда
http://cs-mapping.com.ua/forum/forumdisplay.php?f=189


Отправлено ~ X ~ 12-06-2015 в 08:26:

Ну, в ксаше много чего не работает...
или сюда: http://hlfx.ru/forum/forumdisplay.p...=1000&forumid=3

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


Отправлено ILZM 29-12-2016 в 16:17:

Для начала хотелось бы попросить сдержаться от флуда, а то чувствую верхний пост will trigger you в связи с текущими событиями.

Вопросы по физике ̶8̶ ̶к̶л̶а̶с̶с̶а̶:
1. Выставил такие параметры

C++ Source Code:
pev->solid = SOLID_CUSTOM;
pev->movetype = MOVETYPE_PHYSIC;
m_pUserData = WorldPhysic->CreateBodyFromEntity ( this );

у одной ентити и она не простреливается. Траса ее игнорирует, хотя в DecalGunshot есть такая проверка
C++ Source Code:
if( pev->flags & ( FL_MONSTER|FL_CLIENT ) || pev->solid == SOLID_CUSTOM )


Как мне получить эффект от выстрела по физ-телу?

2. Ентитя взаимодействует с игроком-актером, даже если поставить ей SOLID_NOT. Покопался в коде и похоже обычными defaulttouch тут не получится отфильтровать столкновения (коллоизацию). Надо чтоб эта ентитя игнорировала все ентити, кроме игрока, но только триггер, а не тач. Что дилать?

3. Как посмотреть хуллы? Моделька называется w_9mmclip, которая от глока. Похоже повар физикса приготовил не по рецепту, и хулл от нее толще, чем сама модель. Можно ли скормить ему определеную боди от модельки, чтобы потом нуллизировать этот хулл?


Отправлено ILZM 30-12-2016 в 08:43:

Бамп, посвященный дяде Мише


Отправлено ILZM 10-01-2017 в 09:35:

Цитата:
За это сообщение ILZM получил предупреждение за флуд

Если бы я упомянул хоть что-то из популярных словечек (XDM, бананы, углы), то не получил бы предупреждение. Получается флуд больше не флуд, ок

1. Решено. Забыл что в хл трасса применяется не относительно атакующего, а относительно жертвы
2. Чтобы фильтровать коллоизацию, надо писать шейдер, судя по докам
3. Увидел в дебаге кваром. Очень хорошо выглядят хуллы на низко-полигональных моделях.

Как исплементировать шейдер?


Отправлено mittorn 10-01-2017 в 11:00:

Администрация неплохо себя охарактеризовала 2мя последними предупреждениями. Хотя до 4pda пока далеко.


Отправлено XaeroX 10-01-2017 в 11:13:

Какая хорошая тема. Прям идеальная для воплощения нашей новой форумной программы "В новый год - с адекватными форумчанами!"
Возможно, в процессе чистки мы слегка перегнём палку (я заранее прошу прощения), но, к сожалению, необходимость давно назрела.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Дядя Миша 10-01-2017 в 14:23:

Ну вот Митторна забанили и сразу CSM почнился. Главное найти и устранить проблему.

__________________
My Projects: download page

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


Отправлено XaeroX 10-01-2017 в 14:27:

Если следовать логике американских спецслужб - то налицо доказательство его причастности к падению КСМ.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Дядя Миша 10-01-2017 в 14:36:

XaeroX насчёт падения ничего утверждать не могу. Но вот тот факт, что бан напрямую был связан с восстановлением форума, это мы все лично наблюдали.

__________________
My Projects: download page

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


Отправлено a1batross 10-01-2017 в 21:02:

XaeroX и станет зелёный форум ещё больше мёртвым. Как можно убить то, что уже и так несколько лет мертво? Правильно, ещё и опарышей потравить.


Отправлено Дядя Миша 10-01-2017 в 21:31:

Цитата:
a1batross писал:
и станет зелёный форум ещё больше мёртвым

Всё зависит от точки зрения. Лично у меня форум всегда оранжевый в знак памяти о hl.ru

__________________
My Projects: download page

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


Отправлено a1batross 10-01-2017 в 21:47:

Дядя Миша от настроек профиля. Я в них даже не заглядывал с регистрации.

Да и разлогиненным он зелёный. Это делает его зелёным форумом, несомненно.


Отправлено XaeroX 10-01-2017 в 22:03:

Давайте сэкономим время. Всем правдорубам, которым исторически этот форум в целом безразличен (некоторые, возможно, родились уже после его создания), они по каким-то невероятным причинам считают его "мёртвым", но при этом никак не могут держать своё ценнейшее мнение при себе, я выпишу девойс ПСЖ. Остальные будут общаться как раньше. Идёт?

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено a1batross 10-01-2017 в 22:25:

XaeroX одним местечком где тебя забанили больше, одним меньше. Такая великая потеря.


Отправлено FiEctro 10-01-2017 в 23:27:

XaeroX
Не серчай, люди порой забывают что они просто - люди

a1batross
В зеленом цвете нет ничего плохого. Форум был зеленым еще до популярности ЗС. Связано это с тем что эта тема наиболее приятна глазу большинству пользователей, в отличие от других более кислотных.

__________________
Запад - лохи, Штаты - дуры. Мы фанаты диктатуры


Отправлено XaeroX 11-01-2017 в 01:18:

a1batross
Ну это вы сами решайте, ПСЖ на то и ПСЖ.
Если нет дела до бана - то не понимаю, зачем лезть в темы и высказывать своё мнение о действиях администрации форума.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено a1batross 11-01-2017 в 06:26:

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

Добавлено 11-01-2017 в 09:26:

XaeroX ради веселья же.


Отправлено Ku2zoff 11-01-2017 в 07:53:

Цитата:
FiEctro писал:
Форум был зеленым еще до популярности ЗС.

ЕМНИП, то в 2007-м, когда я пришёл сюда, дефолтной темой была IPB Style, которая светло-голубая.
Цитата:
a1batross писал:
ради веселья же.

Ради веселья у нас есть ветка "Флуд". Только почему-то почти ни у кого не получается флудить только в ней
Цитата:
Дядя Миша писал:
Лично у меня форум всегда оранжевый в знак памяти о hl.ru

На хл.ру мне оформление нравится больше здешней оранжевой темы. И смайлики там прикольные, только их мало.


Отправлено Ghoul [BB] 11-01-2017 в 09:13:

Цитата:
XaeroX писал:
Какая хорошая тема. Прям идеальная для воплощения нашей новой форумной программы "В новый год - с адекватными форумчанами!"
Возможно, в процессе чистки мы слегка перегнём палку (я заранее прошу прощения), но, к сожалению, необходимость давно назрела.


Ребята, вот Митторна вы зря Забанили.
Человек дело делает хорошее, а вы так с ним...

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

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


Отправлено XaeroX 11-01-2017 в 09:15:

Ghoul [BB]
Мы никогда не баним ни "зря", ни "по ошибке".
Любой бан надо тщательным образом заслужить.
Он практически всегда выдаётся по совокупности предыдущих заслуг.
Да и всегда чувствуется, когда человеку форум нужен и интересен, а когда он сюда приходит, как выражается альбатросс, "ради веселья же".

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Дядя Миша 11-01-2017 в 13:23:

Цитата:
Ku2zoff писал:
И смайлики там прикольные, только их мало.

На хлфх.ру смайликов много только благодаря нашим усилиям с Фиэктрой.
Хоть кто-то заметил за 10 лет.

__________________
My Projects: download page

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


Отправлено SergeyGovno 16-01-2017 в 16:08:

Здрасте, а для какой версии программы висуал студио написан сорскод последней версии ксаш мода?

__________________
я пришел сюда кодить новые пушки!!!


Отправлено Crystallize 16-01-2017 в 16:36:

SergeyGovno 1996?


Отправлено SergeyGovno 16-01-2017 в 16:40:

ты на ксмапирсе говорил 97 с той же не увереностью =)) ты компилил ксашевский код в 96 и он выходил без ошибок?

__________________
я пришел сюда кодить новые пушки!!!


Отправлено Cybermax 16-01-2017 в 18:11:

Вроде сорцы есть, а вроде под Microsoft Visual C++ 6.0

__________________
are you a gangsters no i am рептилоиды


Отправлено SergeyGovno 17-01-2017 в 11:42:

все заработало на C++ 6.0, пасип =о.О=

__________________
я пришел сюда кодить новые пушки!!!


Отправлено Flash 20-04-2020 в 18:01:

Мне вот интересно, можно ли сделать двухстороннюю дверь из func_door_rotate, или хотя бы возможность инвертировать открытие двери?

__________________
Tiger! Tiger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?


Отправлено Дядя Миша 20-04-2020 в 18:16:

Надо снять флажок One way.

__________________
My Projects: download page

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


Отправлено thambs 20-04-2020 в 18:20:

Flash
Хуже двухсторонних ротатаблей только ротатабли которые сами закрываются перед носом у игрока.

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


Отправлено Flash 20-04-2020 в 18:34:

Проблема в том, что дверь обязательно должна активироваться по триггеру, а активация работает почему-то только в одну сторону.

thambs
Ещё хуже когда дверь открывается "на себя", при этом толкая игрока.

__________________
Tiger! Tiger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?


Отправлено Дядя Миша 20-04-2020 в 18:51:

Цитата:
thambs писал:
которые сами закрываются перед носом у изумлъоннава игрока.

fixed

Цитата:
Flash писал:
а активация работает почему-то только в одну сторону

ну дык как работает активация "от себя"? кросспродукт от позици игрока до оригина двери. А при активации по триггеру как это реализовать? Брать оригин игрока? Так он может быть кде угодно. Брать оригин триггера? Так это всё равно в "одну сторону".

Добавлено 20-04-2020 в 21:51:

Ну кстати можно попробывать расположить два триггера физически по обе стороны двери и пробывать активировать их. Должно сработать.

__________________
My Projects: download page

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


Отправлено Flash 20-04-2020 в 18:55:

А вот в этом случае как раз бы помогла система префиксов.

У меня на карте, дверь находится в углублении, плюс эта дверь используется в скрипте, что заставляет дать ей имя для активации. Поэтому она для игрока очень не удобная, ибо может вдавить в стену.
Можно ли эмулировать физику игрока? То есть взять дверь без имени, но активировать её с помощью физики другой энтити?

__________________
Tiger! Tiger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?


Отправлено Дядя Миша 20-04-2020 в 18:56:

Flash да ты попробуй два релея поставить и ими поактивировать.

__________________
My Projects: download page

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


Отправлено Flash 20-04-2020 в 19:15:

Неа, релюшки тоже не помогли. Видимо придётся менять тип двери (которая будет не совсем уместна), либо же скрипт править. Потому что блин нпс не могут открыть такую дверь.

__________________
Tiger! Tiger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?


Отправлено Дядя Миша 20-04-2020 в 20:51:

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

__________________
My Projects: download page

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


Отправлено Ku2zoff 21-04-2020 в 00:18:

Цитата:
Дядя Миша писал:
кросспродукт от позици игрока до оригина двери

Ах, если бы. Там берутся angles игрока. По крайней мере в HLSDK с гитхаба. Чтобы открыть func_door_rotating, надо на неё смотреть. Если толкать её задом или боком, она не откроется, пока не поправишь код. Наткнулся на это я, когда тестировал некоторые вещи на картах из CS. Например, на cs_mansion в самой CS двери открываются всегда, если их коснуться. А вот в халфе - фиг, только если смотришь на дверь, когда её толкаешь.
Цитата:
Flash писал:
Видимо придётся менять тип двери

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


Отправлено Дядя Миша 21-04-2020 в 06:38:

Цитата:
Ku2zoff писал:
Там берутся angles игрока

ну в ксашмоде кросспродукт.

__________________
My Projects: download page

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


Отправлено Aynekko 07-06-2020 в 19:03:

Помогите с func_screenmovie. Движок и мод - последние. Не хочет заводиться.

Поставил браш, который одной стороной покрыт "MOVIE".
Поставил флаг Start ON.
Параметр movie - intro.avi (файл на месте).
Результат в аттаче.

Что пробовал делать:
- делал сзади origin-браш как часть энтити
- кидал текстуру movie.tga в textures (и все равно шахматы)
- делал "fit" для текстуры MOVIE на стороне браша.
- менял параметр на "media/intro.avi" - сразу же стал ругаться (значит файл-то видит!)

Результат всегда один. Видео стандартное ксашевское. На карте demo_1, кстати, где проектор, видео у меня тоже не работает. Что это может быть?


Отправлено Дядя Миша 07-06-2020 в 20:04:

Цитата:
Aynekko писал:
Что это может быть?

надо кодеки на винду поставить. В семёрке почему-то убрали кодек Cinepak, устарел типо.

__________________
My Projects: download page

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


Отправлено Aynekko 11-06-2020 в 19:10:

Походу есть поломка в env_laser. Параметр width не дает никаких изменений. Лазер всегда тоненький. Как исправить? На билде 3521 работало. Стояло width 200, потому и заметил.


Отправлено Crystallize 11-06-2020 в 19:20:

Aynekko странно, не помню такого специфичного глюка. Лазеры и бимы скорее вообще бы не работали пока у них внутри не напишешь целую поэму из настроек.

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно


Отправлено Aynekko 11-06-2020 в 19:28:

Цитата:
Crystallize писал:
странно, не помню такого специфичного глюка

Ну так можешь попробовать сделать сам, чтобы не гадать.
Я, конечно, допускаю, что мог сам что-то нашаманить, но я редактировал пушки и нпс. Уж лазеры точно не трогал.
С другой стороны, в старом билде изменения все те же самые (я мигрировал со старого билда, так что маловероятно).
Сначала грешил на карту и компиляторы (потому что лазер в скайбоксе), но скопипастил на пустую и все одно. Что width 10, что 200 - толщина одинаковая. Те же галочки Start ON и Fade end (для красоты) работают…явно где-то в коде проблема.
По-быстрому глянул код, width там есть, но я в этом мало что понимаю.


Отправлено KiQ 13-06-2020 в 05:14:

Это скорее всего с клиентом чота

__________________
-Brain is dead-


Отправлено Aynekko 14-06-2020 в 20:30:

Кто-нибудь знает, с освещением этих моделей можно что-нибудь сделать? Полигончики выпирают))


Отправлено KiQ 15-06-2020 в 03:51:

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

__________________
-Brain is dead-


Отправлено Aynekko 15-06-2020 в 06:20:

Цитата:
KiQ писал:
Проставить им smooth-группы в моделлере. А вообще так даже прикольно смотрится, такой визуальный стиль[/B]

Имеется в виду khed/milkshape?

Вот тоже смотрю с утра и думаю может так оставить...
А я уж думал компилеры шалят, у меня у всех этих моделей полигоны торчат (они портированные).

Добавлено 15-06-2020 в 09:20:

Спасибо, все получилось. Накинул в рейтинг


Отправлено Aynekko 24-06-2020 в 07:08:

С лазерами так и не смог решить проблему, width не работает. В сервере сверил код env_laser, код идентичен.

Цитата:
KiQ писал:
Это скорее всего с клиентом чота

Похоже на то, посмотрел старый билд клиента (3521), где все работает, там есть файл r_beams.cpp в рендере, а в новом нет… Видимо, что-то поменялось в новом ксаше (у меня 4529) и сломался width.


Отправлено Crystallize 24-06-2020 в 08:54:

оно теперь в effects.cpp переехало

у меня работает, width меняет толщину лазера. 0.81, 4529.


Отправлено Aynekko 24-06-2020 в 09:21:

Фейспалм, в моей энтити стоял параметр scale 1. Видно переехал из другой энтити. Похоже, новому ксашу этот параметр теперь не безразличен, буду знать.

Теперь проблема другая - лазер не показывается в 3д-скайбоксе

Добавлено 24-06-2020 в 12:21:

Собственно вот, накидал в 3д-скай. В нем есть, а в проекции нет.


Отправлено Crystallize 24-06-2020 в 10:58:

Aynekko интересный параметр. Он типа задаёт абсолютную ширину лазера в пикселях?


Отправлено Aynekko 24-06-2020 в 12:40:

Цитата:
Crystallize писал:
Aynekko интересный параметр. Он типа задаёт абсолютную ширину лазера в пикселях?

Да нет, я так понял это обычный размер, как у моделей и других объектов. Если менять width и сильно приглядеться - он меняется, но в очень маленьких пределах. И лазер выглядит уже не таким пиксельным, т.к. скейл всех спрайтов стал очень маленьким. Но это все мои домыслы.

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

P.S. недавно узнал, что скейл скайбокса работает наоборот - чем больше число, тем меньше будет 3д скай. А я ставлю 1, потом 0.1…и ничего не менялось


Отправлено Crystallize 24-06-2020 в 13:00:

Aynekko я смотрю параметр scale просто полностью оверрайдит параметр width, а в остальном всё аналогично.


Отправлено Aynekko 24-06-2020 в 13:15:

Цитата:
Crystallize писал:
параметр scale просто полностью оверрайдит параметр width

И зачем это было сделано? О.о


Отправлено Crystallize 24-06-2020 в 13:18:

Aynekko понятия не имею. Может много энтитей его принимали и удобно было настраивать его сразу всем кучей?


Отправлено Дядя Миша 24-06-2020 в 16:12:

Потому что width лазера на самом деле и есть параметр scale. Это Джек там что-то подменяет. Оно и в халфе так, "width" это псевдоним в редакторе.

Цитата:
Aynekko писал:
Но вот со скайбоксом проблема, придется отказаться

А ты с визом компилил?

__________________
My Projects: download page

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


Отправлено Aynekko 24-06-2020 в 21:02:

Цитата:
Дядя Миша писал:
А ты с визом компилил?

Да. Vis изначально был на -fast. Сейчас поставил полный, карта маленькая. Все равно, env_laser в проекции 3d sky не виден…


Отправлено Crystallize 25-06-2020 в 03:01:

Aynekko сделай тест из пары коробок и посмотри

Дядя Миша да ладно

C++ Source Code:
1
void CLaser::KeyValue( KeyValueData *pkvd )
2
{
3
  if (FStrEq(pkvd->szKeyName, "LaserTarget"))
4
  {
5
    pev->message = ALLOC_STRING( pkvd->szValue );
6
    pkvd->fHandled = TRUE;
7
  }
8
  else if (FStrEq(pkvd->szKeyName, "width"))
9
  {
10
    SetWidth( (int) atof(pkvd->szValue) );
11
    pkvd->fHandled = TRUE;
12
  }


Отправлено Дядя Миша 25-06-2020 в 06:27:

C++ Source Code:
inline void SetWidth( int width ) { pev->scale = width; }

прохладно

__________________
My Projects: download page

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


Отправлено Crystallize 25-06-2020 в 06:57:

Дядя Миша pev->scale это понятно, но это не параметр scale у энтити, и Джек там тоже подменами не занимается.


Отправлено Дядя Миша 25-06-2020 в 11:49:

Он точно так же учитывается. Зависит от того, в каком порядке расположены width и scale в описании энтити. Если scale ниже, он перезатрёт width. А Джек постоянно оставляет поля от старых энтить (что вообщем-то логично), но при этом он их тут же прячет от взгляда, понять что происходит невозможно.

__________________
My Projects: download page

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


Отправлено Aynekko 25-06-2020 в 16:32:

Слушайте, я совсем в ступоре. Я скопировал этот лазер в другую карту, и там он в скайбоксе виден. На этой карте - ни в какую. Удалял всю карту по частям - в скайбоксе оставлял только env_sky, на основной части карты оставлял только light, player и собственно три браша пола, где стоит игрок. Нет лазера и все. Думаю, по скрину понятно, где он должен быть. Плюс ко всему, я вижу этот лазер сквозь скайбокс с основной части карты. Что ему мешает, вообще не пойму. Карта-коробка еще ладно, но ту большую карту не с нуля же мне делать, если уж на то пошло?

Создал еще один лазер, как делал в карте коробке - то же самое. Лазер виден сквозь скайбокс, в 3д проекции не виден. Vis full.


Отправлено Дядя Миша 25-06-2020 в 16:51:

А если совсем без виза?

__________________
My Projects: download page

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


Отправлено Aynekko 25-06-2020 в 20:01:

Так. Я ошибся. Лазер не видно в 3д скайбоксе. На любой карте. Мне почему-то показалось что он виден, т.к. я его так поставил…

Совсем без виза - то же самое, просто в 3д скае еще и появляется сама карта. Лазер так и есть в одном экземпляре там, где я его поставил.

В общем, для полной чистоты сделал две коробки и все то же самое. Лазера в проекции нет + его видно сквозь скайбокс, что он там в 3д скае лежит.

Прикрепляю исходник и bsp.


Отправлено Дядя Миша 25-06-2020 в 20:53:

Да очень может быть что лучи и невидно из скайбокса. Хотя странно конечно.

__________________
My Projects: download page

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


Отправлено Aynekko 25-06-2020 в 21:07:

Цитата:
Дядя Миша писал:
Да очень может быть что лучи и невидно из скайбокса

Раньше-то работало. Правда тогда была другая проблема - спрайты были видны сквозь скайбокс… Если уж выбирать, то конечно как сейчас оно лучше. Но хотелось бы и лазер тоже


Отправлено Crystallize 30-06-2020 в 12:05:

Могу ли я многократно телепортировать tracktrain с одного произвольного path_track на другой?


Отправлено Дядя Миша 30-06-2020 в 12:36:

Crystallize ну если напишешь соответствующий код.

__________________
My Projects: download page

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


Отправлено Crystallize 02-07-2020 в 02:18:

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

Вот интересный вопрос: при многократной активации спрайта он выключается и всё, а лазер выключается и включается обратно. Какие ещё энтити ведут себя как лазер? (Я префиксы, мультименеджеры, мультисорсы пока не могу юзать потому что инкрементатор в Кварке дружит только с правым полем специфика, но не с левым.)

Добавлено 02-07-2020 в 09:18:

Ещё я стал задумываться над тем что глобальная система мастеров такая же порочная как локусы, потому что так же заставляет человека мысленно отправиться назад по причинно-следственной связи: Кто активировал энтитю, кто запретил активировать энтитю. Да и оперировать со множеством отрицаний "враг врага моего врага" людям трудно.


Отправлено Дядя Миша 02-07-2020 в 08:25:

Цитата:
Crystallize писал:
когда скорости начинают измеряться тысячами юнитов в секунду

поставь host_framerate 1.0 или выше. И тот же поезд с безумной скоростью понесётся точно по корнерам.

Цитата:
Crystallize писал:
Ещё я стал задумываться над тем что глобальная система мастеров такая же порочная как локусы

да скрипты надо конечно

__________________
My Projects: download page

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


Отправлено Ku2zoff 02-07-2020 в 12:30:

Цитата:
Crystallize писал:
На скоростях выше где-то 3600

Емнип, в халфе вообще на скоростях выше 2000 ничего нормально не функциклирует. Там даже какие-то варнинги-ограничители спамят в консоль: "Got velocity too high on ...". Для быстрого перемещения поездов между корнерами и треками кажется есть галка teleport или что-то вроде того. А чтобы ездил быстрее 2000, я хз, что можно сделать.
Цитата:
Дядя Миша писал:
поставь host_framerate 1.0 или выше. И тот же поезд с безумной скоростью понесётся точно по корнерам.

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


Отправлено Crystallize 02-07-2020 в 17:43:

Цитата:
Ku2zoff писал:
Для быстрого перемещения поездов между корнерами и треками кажется есть галка teleport или что-то вроде того.

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

Добавлено 03-07-2020 в 00:16:

Цитата:
Ku2zoff писал:
Так ведь вся игра ускорится, а не только один конкретный поезд. Это годится только для катсцены какой-нибудь.

Она ускорится пока поезд будет ехать с безумной скоростью, т.е. очень ненадолго. Фреймтайм 1 это 60 кадров, т.е. скорость поезда (найдено экспериментально)5000*60=300К.

Добавлено 03-07-2020 в 00:43:

Ну по патч-карнерам вроде несётся, но цели указанные в них всё равно не успевает обрабатывать. Интересно, там не хватает длины у какой-нибудь очереди команд или что?


Отправлено Дядя Миша 02-07-2020 в 20:39:

Цитата:
Ku2zoff писал:
Так ведь вся игра ускорится, а не только один конкретный поезд

Ну так это для наглядности, что поезд может носиться по патч_корнерам с безумной скоростью и никуда не улетать.

Цитата:
Crystallize писал:
Поскольку это спаунфлаг, то видимо имеется в виду телепортация между соседними патчтреками заданными заранее

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

Цитата:
Crystallize писал:
но цели указанные в них всё равно не успевает обрабатывать

всё может быть.

Добавлено 02-07-2020 в 23:39:

Там наверное pev->ltime + 0.5 слишком большое время для тчинка. Но это для ванильной халфы, как в ксаш-моде я не помню уже.

__________________
My Projects: download page

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


Отправлено Crystallize 03-07-2020 в 01:38:

Цитата:
Дядя Миша писал:
Ну так это для наглядности, что поезд может носиться по патч_корнерам с безумной скоростью и никуда не улетать.

Короче, оно не работает почему-то. Поезд вообще не едет, он просто бешено крутится вокруг своей оси.


Отправлено Ku2zoff 03-07-2020 в 08:54:

Crystallize ты объясни, зачем тебе настолько быстрые поезда? Может быть, можно каким-то мапперским хаком их заменить.


Отправлено Crystallize 03-07-2020 в 10:26:

Ku2zoff Ну я всё так же пытаюсь сделать скользибельную рельсу длиной несколько сотен сегментов, которая не жрёт или почти не жрёт клипноды. Если у меня такая рельса через полкарты, то неизвестно в каком месте я в следующий на неё сяду, в то время как при касании поезд должен приезжать и подхватывать меня в разумные сроки, ну скажем 3-5 секунд. А ехать он, может быть, будет вообще с другого конца карты, где я с рельсы слез в прошлый раз.


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

Crystallize я бы сделал следующим образом: написал бы спец энтить, которая бы определяла, на какой патч_трек (как можно ближе к позиции игрока или триггера) телепортировать поезд, если он очень далеко. Ну и сделал запас в парочку треков, чтоб остаток пути поезд проезжал обычным способом, чтобы телепортация не бросалась в глаза. Костыль, зато физика не ломается. Тебе ДМ уже это посоветовал:

Цитата:
Crystallize писал:
Могу ли я многократно телепортировать tracktrain с одного произвольного path_track на другой?

Цитата:
Дядя Миша писал:
ну если напишешь соответствующий код.


Добавлено 04-07-2020 в 10:16:

В крайнем случае ты всегда можешь уменьшить время тчинка поезду.
C++ Source Code:
pev->nextthink = pev->ltime;
Правда это может изломать что-то в его поведении.


Отправлено Crystallize 05-07-2020 в 15:16:

Обнаружил что спрайты не могут быть блокирующими мастерами, и что бимы и лазеры при исчезновении цели или одной из целей продолжают светить в прежнем направлении.
Трактрейн, кстати, стабильно переключает энтити на патч-корнерах даже на скорост в 12000 юнитов, там просто вначале первые 4 трека он не активирует. Может не успевает, занят составлением списка патч-корнеров на пути?
Если увеличить host_framerate в 2 раза, то трактрейн начинает пропускать активацию каждого второго патч-трека, и т.д.

Добавлено 05-07-2020 в 22:12:

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

Добавлено 05-07-2020 в 22:16:

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


Отправлено Дядя Миша 05-07-2020 в 15:36:

Цитата:
Crystallize писал:
а его кастомные поля Кварк не инкрементирует

в смысле?

__________________
My Projects: download page

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


Отправлено thambs 05-07-2020 в 15:56:

Цитата:
Crystallize писал:
спрайты не могут быть блокирующими мастерами

Точно могут, я у себя везде такие использую для визуальной отладки.

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


Отправлено Crystallize 05-07-2020 в 16:04:

Дядя Миша инкрементируется правая часть, где значение, типа: targetname spr000. А в мультиватчеры и мультименеджеры мы вписываем поля где имя энтити слева: spr000 ON.

thambs странно, а у меня спрайт не блокирует другой спрайт.


Отправлено Дядя Миша 05-07-2020 в 16:09:

Цитата:
Crystallize писал:
инкрементируется правая часть, где значение

ну в каком смысле инкрементируется?

__________________
My Projects: download page

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


Отправлено thambs 05-07-2020 в 16:58:

Crystallize
А у спрайтов вообще разве бывают мастера, он же никаких действий выполныть не умеет, только переключается мгновенно, что ты за механизм делаешь? Обычно мастера используют для блокировки манагеров/реле и вотчеров или полноценных объектов карты вроде кнопок/дверейпоездов.

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


Отправлено Crystallize 05-07-2020 в 17:51:

Дядя Миша ну если строчка-значение содержит цифры на конце то воспринять их как число и увеличить на еденичку.

Добавлено 06-07-2020 в 00:51:

thambs у меня не работало кажется info_target - спрайт и я решил проверить работает ли оно в принципе, и соордил такой супернаглядный тест спрайт-спрайт. Начинал-то я с кучи лазеров переключаемых поездом, и когда он стал не успевать их переключать на больших скоростях я взял энтити попроще, спрайты, и это действительно помогло. Тогда я решил взять энтити ещё проще, info_target (я перепутал с monster_target), но оно не работало.


Отправлено Дядя Миша 05-07-2020 в 18:03:

Crystallize а это зачем?

__________________
My Projects: download page

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


Отправлено Crystallize 06-07-2020 в 01:47:

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


Отправлено Дядя Миша 06-07-2020 в 08:10:

А, энумератор

__________________
My Projects: download page

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


Отправлено Crystallize 07-07-2020 в 01:47:

Цитата:
Ku2zoff писал:
я бы сделал следующим образом: написал бы спец энтить

Дело ещё и в том что это был такой челлендж: учитывая все фичи ксашмода, окажусь ли я достаточно умным чтобы реализовать всё что мне нужно на доступном наборе энтитей? Окажется ли ксашмод достаточно функциональным чтобы воплотить мои идеи?


Отправлено Crystallize 08-07-2020 в 17:27:

Почему-то все забыли про scripted_trainsequence. Но возможно это и к лучшему: направление backwards или спаунфлаг с выдачей дебаг-информации вызывают падение игры.


Отправлено Aynekko 11-07-2020 в 16:55:

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

Суть в чем - поставил несколько грантов, прописал им всем разные оружия. То есть: автомат, автомат+HG, автомат+подствол, дробаш, дробаш+HG.
Несмотря ни на что, гранты появляются всегда одними и теми же - автомат+HG.
В энтитях прописаны параметры weapons такие - 1, 3, 5, 8, 10 (соотв. для каждого гранта). Меняется у грантов только голова, а так автомат+HG. Эту же карту я скомпилил для обычной стимовской халфы и там все работает отлично.

Сравнил код hgrunt.cpp в ксаш-моде и хл сдк, а точнее spawn, различий не увидел…в чем может быть проблема?


Отправлено Дядя Миша 11-07-2020 в 17:03:

Ксаш-мод поддерживает 128 пушек из каропки, вместо 32-х, там естественно менялось всё это дело. Наверное где-то не уследил.

__________________
My Projects: download page

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


Отправлено Aynekko 11-07-2020 в 17:15:

Пофиксить бы, а то совсем без грантов с дробашами останусь. На билде 3521 грант с подстволкой работает (с дробашом не проверял).

Куда хоть копать, подскажи, если не трудно, может сам чего придумаю

Вот у гранта есть такое:

C++ Source Code:
#define HGRUNT_9MMAR				( 1 << 0)
#define HGRUNT_HANDGRENADE			( 1 << 1)
#define HGRUNT_GRENADELAUNCHER		( 1 << 2)
#define HGRUNT_SHOTGUN				( 1 << 3)


Отправлено Crystallize 11-07-2020 в 17:27:

Aynekko сделай виндифф сорцов гранта того билда где работает и того где нет.


Отправлено Aynekko 11-07-2020 в 17:34:

Идентичные файлы, где-то еще оно зарыто видимо…


Отправлено Дядя Миша 11-07-2020 в 18:27:

У ксаш-мода нет билдов

__________________
My Projects: download page

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


Отправлено Aynekko 11-07-2020 в 18:32:

А, значит в прошлой версии, 0.65 кажется.
Сейчас попробовал проставить 30 грантов и weapons от 1 до 30. Эффекта 0, автомат+грена и все тут


Отправлено Дядя Миша 11-07-2020 в 18:47:

Aynekko взапроверь, может это опять джек чудит.

__________________
My Projects: download page

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


Отправлено Aynekko 11-07-2020 в 18:54:

Неа. Скопировал bsp прямо из стимовской халфы, где гранты работают. То же самое.


Отправлено Aynekko 12-07-2020 в 07:52:

Нашел в basemonster вот такое:

C++ Source Code:
// NOTE: we use array to store weaponbits more than 32
// please use HasWeapon, AddWeapon and ClearWeapon functions
byte		m_iWeapons[MAX_WEAPON_BYTES];	// monster weapon flags

А еще в weapons.h стоит MAX_WEAPONS 64 (не 128), было 32, сравнил файлы.
Кто-нибудь знает, как этих грантов вернуть как было?(
На прошлый ксаш мод возвращаться теперь уже совсем не вариант…

Добавлено 12-07-2020 в 10:52:

Карочи, сделал наитупейший хак:
C++ Source Code:
1
if (pev->weapons == 0)
2
{
3
  switch( RANDOM_LONG( 0, 3 ))
4
  {
5
  case 0:
6
      pev->weapons = HGRUNT_9MMAR | HGRUNT_HANDGRENADE;
7
    break;
8
  case 1:
9
      pev->weapons = HGRUNT_SHOTGUN;
10
    break;
11
  case 2:
12
      pev->weapons = HGRUNT_9MMAR | HGRUNT_GRENADELAUNCHER;
13
    break;
14
  case 3:
15
      pev->weapons = HGRUNT_SHOTGUN | HGRUNT_HANDGRENADE;
16
    break;
17
  }
18
}

В сломанном гранте теперь всегда weapons 0, поэтому он хватается за него. Поэтому сделал, что при нуле рандомизер идет. Только задать конкретную пушку в таком случае не выйдет. Плюс в том, что теперь при загрузке гранта он выбирается рандомно.

Пытаюсь прикрутить конкретную пушку, если она задана в энтити, но почему-то не работает:
C++ Source Code:
1
if (STRING(pev->weapons), "shotgun")
2
{
3
  pev->weapons = HGRUNT_SHOTGUN;
4
}


Отправлено Дядя Миша 12-07-2020 в 08:40:

Aynekko я тебя нехочу расстраивать, но pev->weapons в новом ксаш-моде не используется.

__________________
My Projects: download page

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


Отправлено Aynekko 12-07-2020 в 08:41:

Тогда объясни, почему у меня работает мое условие с рандомизером? Ксаш-мод у меня последний.


Отправлено Дядя Миша 12-07-2020 в 11:11:

Доберусь - посмотрю. На след. неделе напомни мне.

__________________
My Projects: download page

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


Отправлено Crystallize 13-07-2020 в 02:30:

Дядя Миша если ты ещё и scripted_trainsequence починишь то мне ради этого и задонатить не жалко.

Добавлено 13-07-2020 в 09:30:

я сейчас 0.65 запустил, он уже там был сломан.


Отправлено Дядя Миша 13-07-2020 в 12:04:

Crystallize а сам чтож?

__________________
My Projects: download page

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


Отправлено Crystallize 13-07-2020 в 15:17:

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

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

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


Отправлено Дядя Миша 13-07-2020 в 16:54:

Цитата:
Crystallize писал:
Или при вылете чота генерируется что можно загрузить в студию напосмотреть и оно укажет место в коде?

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

__________________
My Projects: download page

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


Отправлено Crystallize 13-07-2020 в 18:50:

Дядя Миша По "отмене" не срабатывало, я аттачнулся к процессу, указывает на cbase.h:

C++ Source Code:
const char*	GetTargetname() { return STRING( pev->targetname ); }


Добавлено 14-07-2020 в 01:34:

Возможно дело в сочетании с ALERT at_aiconsole потому что вылет происходит только при запуске с параметром -dev, с цифрой или без.

Добавлено 14-07-2020 в 01:50:

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


Отправлено Crystallize 15-07-2020 в 18:42:

Или последнее-это фича чтобы люди вне dev-режима не ломали игру командой fire?
Короче фикс видимо такой:

C++ Source Code:
ALERT(at_error, "Found no path to reach destination! (train has t %s, m %s; dest is %s)\n",
pTrain->GetTarget(), pTrain->GetMessage(), /*m_pDestination->*/GetTargetname( ));


Добавлено 16-07-2020 в 01:42:

А ещё в документации ошибка, бит ( 3 ) это флаг 8, а там указан флаг 4.


Отправлено Дядя Миша 15-07-2020 в 18:45:

Цитата:
Crystallize писал:
Короче фикс видимо такой:


Скорее уж такой:

C++ Source Code:
ALERT(at_error, "Found no path to reach destination! (train has t %s, m %s; dest is %s)\n",
pTrain->GetTarget(), pTrain->GetMessage(), m_pDestination ? m_pDestination->GetTargetname( ) : "" );


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

__________________
My Projects: download page

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


Отправлено Crystallize 16-07-2020 в 14:51:

Похожая ситуация была с флагом "директ":

C++ Source Code:
1
if( FBitSet( pev->spawnflags, SF_TRAINSEQ_DIRECT ))
2
{
3
  if( !m_pDestination )
4
    ALERT( at_error, "scripted_trainsequence %s for %s \"%s\": flag 4 require destination object\n",
5
  GetTargetname(), pEnt->GetClassname(), pEnt->GetTargetname( ));
6
  else
7
    pTrain->pev->target = m_pDestination->pev->targetname;
8
  pTrain->Next();
9
}


Отправлено Crystallize 17-07-2020 в 14:03:

Уходим от tracktrain обратно на train, по сути к той схеме которую я оставил в 2017 потому что мне казалось неопрятным дублировать цепочку треков/корнеров. Теперь я понимаю что энумератор кварка заставит меня юзать 4-5 реле вместо 1 менеджера и это наплодит мне энтить гораздо хуже.

Как телепортировать энтити в ксаше? Т.е. игрок трипанулся об лазер и где-то здесь мне надо заспавнить обычный трейн. На него я надену танк, на танк-два триггера с CHECKANGLES. Танку я объясню направление "вперед".


Отправлено thambs 17-07-2020 в 14:16:

Цитата:
Как телепортировать энтити в ксаше?

Парентнуть энтитю к func_trainу, задать трейну точку назначения (path_corner с флагами телепорт и стоп) с помощью changetarget, активировать трейн?

Добавлено 17-07-2020 в 17:16:

Цитата:
Точнее была у меня одна карта с ним, лифто типо. Вот её проверил, рабоатет вроде, на том и успокоился.

Ытыж мне говорил что это кривая энтить и её пользоваться ненада, а лифты без неё работают прекрасно.

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


Отправлено Crystallize 17-07-2020 в 18:36:

thambs Годится, спасибо.


Отправлено Crystallize 19-07-2020 в 07:06:

Поддерживается ли поле delay у trigger_changetarget? Меня смущает что в коде CBaseDelay::KeyValue вызывается только при пустой новой цели. У того же телепорта delay эффекта не даёт, энтитя указанная в message переключается сразу.

И что случилось с showtriggers_toggle, он работать перестал.


Отправлено Дядя Миша 19-07-2020 в 08:13:

Цитата:
Crystallize писал:
И что случилось с showtriggers_toggle, он работать перестал.

компиляторы уничтожают видимый хулл триггеров. Компиль с -nonullifytrigger
или чот такое.

__________________
My Projects: download page

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


Отправлено Crystallize 19-07-2020 в 10:00:

Спасибо, совсем забыл.


Отправлено Crystallize 23-07-2020 в 16:26:

У меня есть поезд, два патч-корнера и чейнджтаргет влияющий на поезд. Если запускать поочередно чейнджтаргет а потом +поезд, то поезд движется только в каждом втором случае. Что это такое, там происходит какое-то неявное включение-выключение патч-корнеров или это что-то другое?


Отправлено Дядя Миша 23-07-2020 в 18:14:

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

__________________
My Projects: download page

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


Отправлено Crystallize 24-07-2020 в 15:02:

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


Отправлено Дядя Миша 24-07-2020 в 15:57:

когда он достигает очередного корнера, он тут же ищет следующий.
И неважно, телепортировали его туда или он сам доехал.

__________________
My Projects: download page

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


Отправлено Crystallize 24-07-2020 в 17:06:

Дядя Миша ну поезд он не нашёл следующего корнера, остановился. Я через ченджтаргет любезно предлагаю поезду новый корнер, запускаю поезд. Он впал в кому и не реагирует. Я снова педлагаю ему тот же самый корнер, снова запускаю. И тут он-таки просыпается и едет.

Добавлено 25-07-2020 в 00:06:

Интересно, что если в начале cfunctrain::next() поставить ALERT и потом начать в консоли вызывать +train то заметно что этот алёрт вызывается тоже только через раз.


Отправлено Дядя Миша 24-07-2020 в 17:53:

Crystallize в функцию Stop

C++ Source Code:
pev->spawnflags |= SF_TRAIN_WAIT_RETRIGGER;

__________________
My Projects: download page

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


Отправлено Crystallize 24-07-2020 в 18:37:

Дядя Миша Спасибо! Я посмотрел как этот флаг обычно ставится в других местах прямо перед вызовом Stop() и аналогично поставил его в ::Next() перед Stop(). Это помогло.


Отправлено Crystallize 26-07-2020 в 17:09:

Как кодом найти реальное положение трейна когда он уже едет?

P.S. 3000-й пост!


Отправлено XaeroX 26-07-2020 в 17:20:

Crystallize
Что-то среднее между pev->absmin и pev->absmax?

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Crystallize 26-07-2020 в 17:32:

XaeroX так я оказываюсь на следующем патч-корнере


Отправлено XaeroX 26-07-2020 в 17:34:

Crystallize
Так ты не от патч-корнера их бери, а от самого трейна.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.


Отправлено Дядя Миша 26-07-2020 в 17:37:

Center()

__________________
My Projects: download page

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


Отправлено Aynekko 21-09-2020 в 19:22:

Вот такое в консоли, ничего критичного я так полагаю, но понять не могу что именно не так:

C++ Source Code:
Error: invalid parameter: Actor::loadFromDescInternal: Can't compute mass from shapes: must have at least one non-trigger shape!
Error: invalid parameter: Actor Initialisation failed: returned NULL.
Error: failed to create kinematic from entity func_wall


Отправлено Дядя Миша 21-09-2020 в 20:54:

тело состоит из ряда несвязанных примитивов

__________________
My Projects: download page

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


Отправлено The Sam 08-10-2020 в 17:43:

Как изменить цвет кнопок (новая игра, загрузить, и т.п.) в ксаше? Находил я что-то в этом духе, но вот где и когда уже не помню


Отправлено Aynekko 08-10-2020 в 18:33:

The Sam, что-то мне подсказывает, что надо перерисовывать gfx/env/btns_main.bmp. Мне тоже это предстоит…интересно, есть ли способ проще?

__________________
Мой мод на Xash


Отправлено The Sam 08-10-2020 в 19:27:

Цитата:
Aynekko писал:
The Sam, что-то мне подсказывает, что надо перерисовывать gfx/env/btns_main.bmp. Мне тоже это предстоит…интересно, есть ли способ проще?


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


Отправлено Aynekko 14-10-2020 в 20:16:

Уже не первый раз сталкиваюсь с тем, что ксаш неправильно скейлит некоторые модели. Вот например эти.
В то же время есть другая модель с размером 0.5 и она выглядит одинаково, что в хаммере, что в ксаше. От чего это зависит и как пофиксить?

Самое главное: - если делать через env_model, размер не слетает только с env_static на некоторых моделях.

__________________
Мой мод на Xash


Отправлено Aynekko 18-10-2020 в 13:59:

Не пойму в чем дело. Вот бегает барник (да и не только он). В тот момент, когда он меняет свою анимацию, он резко смотрит вниз и только потом ему задается правильная позиция (смотреть прямо). Как будто бленд начинается с нижней точки, а потом выравнивается. Такое наблюдаю на всех моделях монстров. Куда копать?
Брал даже модель барника из ванильной халфы, все то же самое.

Добавлено 18-10-2020 в 16:11:

Ага, проверил на чистом ксаш-моде. Все то же самое. Где-то сломан блендинг видимо

А в ксаш-моде 0.65 этого бага нет!

Добавлено 18-10-2020 в 16:59:

Вот на видео. Барника плющит в тот момент, когда он меняется между анимациями стрельбы (их две, одна из них та же самая просто чуть быстрее). В самом конце также видно, как он резко посмотрел вниз при переключении анимации на Idle.
https://youtu.be/qGSbBRThDn4

__________________
Мой мод на Xash


Отправлено Дядя Миша 18-10-2020 в 14:16:

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

Добавлено 18-10-2020 в 17:16:

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

__________________
My Projects: download page

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


Отправлено Aynekko 18-10-2020 в 14:41:

Цитата:
Дядя Миша писал:
От фпс зависит по идее.

Не зависит. Поставил самый меньший фпс 20, все выглядит абсолютно точно так же, разве что игра лагать стала. Анимации все так же явно сбрасываются. В ксаш-моде 0.65 такого нет, а в 0.81 есть. Для сравнения, вот видео из чистой халфы:
https://youtu.be/2B3i-3P0yBQ

Как бы вернуть как было?

Добавлено 18-10-2020 в 17:41:

Или может как-то можно задать так, чтобы бленд начинался с нулевой позиции? Раз уж он в qc модели прописывается как "-50 50". А он как будто стартует с -50.

__________________
Мой мод на Xash


Отправлено Дядя Миша 18-10-2020 в 20:16:

Там наверное шаффл блендингов приглючивает на клиенте. Помнится я для паранои исправлял. Ну сделаем потом. Там несложно, одну или две строчки поправить.

__________________
My Projects: download page

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


Отправлено Aynekko 19-10-2020 в 17:45:

Может подскажешь, где хоть копать? Я сравню с параноей и сам поменяю. Какая функция за это отвечает? Раз уж там пара строчек.

__________________
Мой мод на Xash


Отправлено Дядя Миша 19-10-2020 в 18:13:

В StudioSetUpTransform.

В параное есть вот эти строчки

C++ Source Code:
// store prevseqblending manually, engine doesn't it
e->latched.prevseqblending[0] = e->curstate.blending[0];
e->latched.prevseqblending[1] = e->curstate.blending[1];

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

__________________
My Projects: download page

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


Отправлено Aynekko 19-10-2020 в 18:20:

Спасибо большое!!! Все теперь как надо, рывки исчезли.

__________________
Мой мод на Xash


Отправлено Дядя Миша 19-10-2020 в 18:28:

Да, пролетарское чутьё - великая вещь!

__________________
My Projects: download page

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


Отправлено Crystallize 20-10-2020 в 01:30:

Aynekko кстати проверь у тебя модель игрока ногами перебирает?


Отправлено Aynekko 20-10-2020 в 10:12:

Crystallize, вид от третьего лица? Да

Добавлено 20-10-2020 в 13:12:

Подскажите по дурацкому вопросу. Т.к. это в ксаше, то спрашиваю здесь. В общем я себе в меню добавил галочку, которая меняет квар с 0 на 1 и обратно. Она находится на сервере. Дело в том, что клиент этот квар не видит. Если есть карта-бэкграунд или во время игры, квар сохраняется в конфиг и в меню. А если запустить игру без карты-бэкграунда, то сервер.длл еще не будет загружен, а вместе с ним и квар. После переключения галочки в меню я получаю сообщение в консоль вида: "Cvar_Set: variable not found"

Как зарегать его в клиенте и чтобы значение бралось из конфига?

__________________
Мой мод на Xash


Отправлено Дядя Миша 20-10-2020 в 10:19:

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

Добавлено 20-10-2020 в 13:19:

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

__________________
My Projects: download page

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


Отправлено Aynekko 20-10-2020 в 10:24:

Понятно, тогда и ну его. В любом случае карта-бэкграунд будет, так что такая ситуация практически исключена.
У меня была мысль запускать сервер.длл прямо при запуске вместе с клиентом, возможно ли такое и стоит ли вообще заморачиваться?

__________________
Мой мод на Xash


Отправлено Дядя Миша 20-10-2020 в 12:48:

Не стоит. Проще всего квар зарегать прямо в движке.
Ну или как вариант - в меню.

__________________
My Projects: download page

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


Отправлено Aynekko 22-10-2020 в 20:22:

Подскажите по сейврестору. Не могу вычистить баг. Гранты у меня стреляют энтитей shock_beam. Если сохраниться в тот момент, когда энтитя летит в воздухе - после загрузке в консоль спамит сообщением:
Error: R_BeamComputePoint: Invalid entity 4095
Как только энтитя shock_beam касается врага/стены и уничтожается, спам прекращается. Опытным путем удалось установить, что если удалить из кода shock_beam в разделе CreateEffects вот этот код, то спама не будет

C++ Source Code:
1
m_pBeam = CBeam::BeamCreate( "sprites/lgtning.spr", 30 );
2
 
3
if (m_pBeam)
4
{
5
  m_pBeam->EntsInit( entindex(), entindex() );
6
  m_pBeam->SetStartAttachment( 1 );
7
  m_pBeam->SetEndAttachment( 2 );
8
  m_pBeam->SetBrightness( 180 );
9
  m_pBeam->SetScrollRate( 10 );
10
  m_pBeam->SetNoise( 0 );
11
  m_pBeam->SetFlags( BEAM_FSHADEOUT );
12
  m_pBeam->SetColor( 0, 255, 255 );
13
  m_pBeam->RelinkBeam();
14
}

Ну, эффекта нет - значит и спама нет.

Вот что в сейвресторе:
C++ Source Code:
1
LINK_ENTITY_TO_CLASS(shock_beam, CShock)
2
 
3
BEGIN_DATADESC( CShock )
4
DEFINE_FIELD(m_pBeam, FIELD_CLASSPTR),
5
DEFINE_FIELD(m_pNoise, FIELD_CLASSPTR),
6
DEFINE_FIELD(m_pSprite, FIELD_CLASSPTR),
7
DEFINE_FUNCTION( Touch ),
8
DEFINE_FUNCTION( FlyThink ),
9
DEFINE_FUNCTION( CreateEffects ),
10
DEFINE_FUNCTION( ClearEffects ),
11
DEFINE_FUNCTION( UpdateOnRemove ),
12
END_DATADESC()

То есть m_pBeam прописан. Почему же он не сохраняет? Уже стал думать, что проблема в самом beam, но его же много кто юзает…
В принципе баг не критичный, но мне покоя не дает.

Добавлено 22-10-2020 в 23:22:

Баг пропал, когда сделал так:
C++ Source Code:
// m_pBeam->EntsInit( entindex(), entindex() );
m_pBeam-> PointEntInit( entindex(), entindex() );

Только вот теперь луч дергается от оригина карты.

__________________
Мой мод на Xash


Отправлено Дядя Миша 22-10-2020 в 20:30:

Накопипастил не пойми чего и вот результат.

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 11:51:

Дядя Миша посмотри пожалуйста.
Все же хотел сам, но не получается побороть размеры env_static. Скрин в аттаче. Думал, что проблема в модели. Может, она и правда там. Я уже ее декомпилил, переделал анимацию idle с нуля, поставил joint - ни в какую. В игре размер не совпадает.
Такое проявляется только с env_static. Env_model отображается в правильном размере. И причем не со всеми моделями такое происходит. Я такое замечал с одной лампой и вот с этой трубой.
Поставил флаг Solid. Коллизия у труб есть, в игре она осязается вроде правильно, но отображается в размере трубы как будто 1.0.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 12:20:

Так если ты считаешь, что проблема в модели, почему ты её не приложил?
С остальными моделями всё хорошо?

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 12:35:

Вот модели. Они по сути одинаковые. Та, что "Copy" в названии - это оригинал, вторая - декомпил и переделанная.
https://drive.google.com/file/d/1V2...iew?usp=sharing

С остальными моделями вроде норм, пока только парочку нашел.

Насчет коллизии неправильно сказал, я же заменил модели. Коллизия считается правильно - в том скейле, что я задал. А вот сам меш отображается неверно.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 12:44:

Цитата:
Aynekko писал:
А вот сам меш отображается неверно.

так с этого и надо было начинать. Скейл задавал тремя цифрами через поле xform или одной через поле scale ?

Добавлено 26-10-2020 в 15:44:

А вообще. Открой модельки в модельвьювере, включи галки
Show Hitboxes и Show Bones
Ни на какие размышления не наводит?

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 13:03:

Размер всегда одной через scale. Про иксформ не знал.
Хитбоксы посмотрел. Странно, что он есть у обеих моделей.
В своем варианте я закомментил строчку

C++ Source Code:
//$hbox 0 "Line17" 0.000000 -1078.410034 -346.859985 236.179993 0.000000 0.000000
, а он все равно есть О.о

Добавлено 26-10-2020 в 16:03:

Вот исправленная модель, если она еще нужна.
https://drive.google.com/file/d/1D3...iew?usp=sharing
Прикрепил скриншот - что в игре, в хаммере, и скриншот модели. В хаммере ставил scale 0.78 или xform 0.78 0.78 0.78.
Результат один и тот же.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 13:51:

Цитата:
Aynekko писал:
Странно, что он есть у обеих моделей.

Хитбокс генерируется автоматически.

Добавлено 26-10-2020 в 16:51:

Цитата:
Aynekko писал:
Вот исправленная модель, если она еще нужна.

вот это другое дело совсем.

Теперь приложи delta.lst

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 14:03:

Вот дельта.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 15:11:

Aynekko откуда ты взял такую дельту? Это шло в комплекте с ксаш-модом?

Добавлено 26-10-2020 в 18:11:

Да, родная. Такой значит вопрос - что не устраивает? Что не совпадает?
Небольшой рассинхрон между коллизией и видимой геометрией? Или что?

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 15:11:

Я понял, к чему ты клонишь, поэтому вытащил дельту из core.pak и заменил. Ничего не поменялось.

Цитата:
Дядя Миша писал:
Это шло в комплекте с ксаш-модом?

Сверил файлы, они идентичны, так что - да.

Цитата:
Дядя Миша писал:
Небольшой рассинхрон между коллизией и видимой геометрией? Или что?

Ну как бы, кхм, да, модель должна быть как есть, и рассинхрон там не небольшой…там натурально дыра между трубами))

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 15:18:

Цитата:
Aynekko писал:
там натурально дыра между трубами))

Еще раз: у тебя есть другие модельки труб, ты их точно так же скейлишь и там дыры нет, а с этими - есть, я правильно понимаю?
Дыра какая? Визуальная? Дыра после скейла? Или что?

Добавлено 26-10-2020 в 18:18:

Вообще я окончательно запутался. Джек скейл по трём осям показывать вроде бы не умеет. Очевидно если ты прописываешь этот скейл в настройках, у тебя отображается дефолтный 1 1 1. Т.е. визуально ты их не подгонишь в редакторе, только наощупь.

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 15:24:

Вот показываю пример прямо в джеке. Сверху - это то, что я увижу в игре. Снизу - это то, что я вижу в джеке. Это две соединенные трубы, если что. В игре они становятся меньше, поэтому разъединяются.
Плюс к этому, коллизия в игре будет выглядеть, как на нижнем варианте.

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

И да, джек не показывает параметр xform. Только scale. Но результат один и тот же.
Разумеется, я не наощупь подгонял. Я подогнал их с параметром scale 0.78, а после этого переписал этот параметр как xform 0.78 0.78 0.78 и скомпилил.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 15:52:

Цитата:
Aynekko писал:
Я подогнал их с параметром scale 0.78, а после этого переписал этот параметр как xform 0.78 0.78 0.78

это одно и тоже.

Цитата:
Aynekko писал:
Сверху - это то, что я увижу в игре. Снизу - это то, что я вижу в джеке.

А ты крутил трубы по PITCH? может это ступидквейк баг?

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 15:55:

Я знаю, что одно и то же, но кто ж его знает я с этой халфой навидался уже всякого.
Нет, только по Z повернуто на 90 градусов.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 17:05:

Может быть не хватает точности скейла.
В секции Entity_Encode найди три строчки startpos и замени множитель 8.0, не нечто большее. Ну скажем 128.0
Это в дельте.

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 17:24:

Цитата:
Дядя Миша писал:
Может быть не хватает точности скейла.
В секции Entity_Encode найди три строчки startpos и замени множитель 8.0, не нечто большее. Ну скажем 128.0
Это в дельте.

Действительно сработало. Но 128 не решил проблему до конца. Я ставил 256 и 512. Остановился на 512, там наилучший результат, сдвиг есть, но он совершенно незначительный.
Не слишком ли много выставил? Это что-нибудь может сломать?

И другой вопрос, почему env_model ведет себя нормально с любым скейлом? Как выставлю в джеке, так и будет в игре, с этой же моделью.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-10-2020 в 17:40:

Цитата:
Aynekko писал:
Не слишком ли много выставил? Это что-нибудь может сломать?

наоборот - подобрал оптимальные значения. Я толком не тестировал эту точность.

Цитата:
Aynekko писал:
почему env_model ведет себя нормально с любым скейлом?


C++ Source Code:
DEFINE_DELTA( scale, DT_FLOAT, 16, 256.0 ),

вот поэтому. Статики юзают startpos для передачи трёхкомпонентного скейла. А остальные - одно число.

__________________
My Projects: download page

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


Отправлено Aynekko 26-10-2020 в 17:50:

Раз так, то я выставил 1024 сейчас - проблема ушла совсем, все как надо.
В любом случае, если что-то сломается - знаю, где менять. Спасибо большое

__________________
Мой мод на Xash


Отправлено Aynekko 30-10-2020 в 10:36:

Цитата:
Crystallize писал:
Aynekko кстати проверь у тебя модель игрока ногами перебирает?

Слушай, вот я сейчас проверил и уже не перебирает. К зеркалу подошел. Раньше работала О.о

__________________
Мой мод на Xash


Отправлено Aynekko 03-11-2020 в 18:06:

Менять на лету туман в ксаше никак нельзя, да?

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-11-2020 в 18:30:

Ну если накодить соответствующую энтить, то можно.

__________________
My Projects: download page

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


Отправлено Aynekko 03-11-2020 в 18:39:

Вот я пытаюсь, ибо не хочется карту разделять… Пока не работает. В консоли выводит Fog set A и ничего не меняет… Я тут слабо понимаю, поэтому буду признателен за помощь

C++ Source Code:
1
class CTriggerFog : public CBaseDelay
2
{
3
  DECLARE_CLASS( CTriggerFog, CBaseDelay );
4
public:
5
  void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
6
  void KeyValue( KeyValueData *pkvd );
7
  //	int ObjectCaps( void ) { return BaseClass::ObjectCaps() & ~FCAP_ACROSS_TRANSITION; }
8
  int NewFog[4];
9
  //	DECLARE_DATADESC();
10
};
11
LINK_ENTITY_TO_CLASS( trigger_fog, CTriggerFog );
12
 
13
//BEGIN_DATADESC( CTriggerFog )
14
//	DEFINE_KEYFIELD( NewFog, FIELD_STRING, "newfog" ),
15
//END_DATADESC();
16
 
17
void CTriggerFog::KeyValue( KeyValueData *pkvd )
18
{
19
  if (FStrEq(pkvd->szKeyName, "newfog"))
20
  {
21
    UTIL_StringToIntArray( NewFog, 4, pkvd->szValue );
22
    pkvd->fHandled = TRUE;
23
  }
24
  else
25
    CBaseDelay::KeyValue( pkvd );
26
}
27
 
28
void CTriggerFog::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
29
{
30
  if ( !pActivator || !pActivator->IsPlayer() )
31
    pActivator = CBaseEntity::Instance(INDEXENT( 1 ));
32
 
33
  CBasePlayer *pPlayer = (CBasePlayer *)pActivator;
34
 
35
  if( IsLockedByMaster( pActivator ))
36
    return;
37
 
38
  g_pWorld->pev->impulse = (NewFog[0]<<24)|(NewFog[1]<<16)|(NewFog[2]<<8)|NewFog[3];
39
  ALERT( at_console, "Fog set %s\n", NewFog );
40
 
41
  SUB_UseTargets( pActivator, USE_TOGGLE, 0 );
42
}

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-11-2020 в 19:16:

Цитата:
Aynekko писал:
g_pWorld->pev->impulse

А на кой ты сюда туман пишешь: g_pWorld->pev->impulse

Вот же функция:

UPDATE_PACKED_FOG( (NewFog[0]<<24)|(NewFog[1]<<16)|(NewFog[2]<<8)|NewFog[3] );

Её и вызывай.

__________________
My Projects: download page

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


Отправлено Aynekko 03-11-2020 в 21:45:

Спасибо, все получилось теперь буду пробовать допиливать этот триггер чтобы работал как inout. Тут уже сам, главное с активацией тумана разобрался. Я просто взял по подобию из спауна карты, вот и не получалось

Добавлено 04-11-2020 в 00:45:

Цитата:
Дядя Миша писал:
А на кой ты сюда туман пишешь: g_pWorld->pev->impulse

В итоге все равно я правильно делал, что писал сюда. Конечный код в use триггера вот такой:
C++ Source Code:
UPDATE_PACKED_FOG( (NewFog[0]<<24)|(NewFog[1]<<16)|(NewFog[2]<<8)|NewFog[3] );
g_pWorld->pev->impulse = (NewFog[0]<<24)|(NewFog[1]<<16)|(NewFog[2]<<8)|NewFog[3];

Второй строчкой перезаписываю туман карты новыми значениями. Иначе после сейврестора туман сбрасывался на тот, что прописан в спауне карты.
Если кому нужно - вот триггер_инаут для ксаш-мода. Назвал func_fog. Потестил - все супер, в том числе сохранение-загрузка
C++ Source Code:
1
class CTriggerFogToggle : public CTriggerInOut
2
{
3
  DECLARE_CLASS( CTriggerFogToggle, CTriggerInOut );
4
public:
5
  void KeyValue( KeyValueData *pkvd );
6
  virtual void FireOnEntry( CBaseEntity *pOther );
7
  virtual void FireOnLeaving( CBaseEntity *pOther );
8
  int EntryFog[4];
9
  int ExitFog[4];
10
  DECLARE_DATADESC();
11
};
12
 
13
LINK_ENTITY_TO_CLASS( func_fog, CTriggerFogToggle );
14
 
15
BEGIN_DATADESC( CTriggerFogToggle )
16
DEFINE_ARRAY( EntryFog, FIELD_INTEGER, 4 ),
17
DEFINE_ARRAY( ExitFog, FIELD_INTEGER, 4 ),
18
END_DATADESC();
19
 
20
void CTriggerFogToggle::KeyValue( KeyValueData *pkvd )
21
{
22
  if (FStrEq(pkvd->szKeyName, "entryfog"))
23
  {
24
    UTIL_StringToIntArray( EntryFog, 4, pkvd->szValue );
25
    pkvd->fHandled = TRUE;
26
  }
27
  else if (FStrEq(pkvd->szKeyName, "exitfog"))
28
  {
29
    UTIL_StringToIntArray( ExitFog, 4, pkvd->szValue );
30
    pkvd->fHandled = TRUE;
31
  }
32
  else
33
    CBaseDelay::KeyValue( pkvd );
34
}
35
 
36
void CTriggerFogToggle :: FireOnEntry( CBaseEntity *pOther )
37
{
38
  if( !pOther->IsPlayer( )) return;
39
  UPDATE_PACKED_FOG( (EntryFog[0]<<24)|(EntryFog[1]<<16)|(EntryFog[2]<<8)|EntryFog[3] );
40
  g_pWorld->pev->impulse = (EntryFog[0]<<24)|(EntryFog[1]<<16)|(EntryFog[2]<<8)|EntryFog[3];
41
}
42
 
43
void CTriggerFogToggle :: FireOnLeaving( CBaseEntity *pOther )
44
{
45
  if( !pOther->IsPlayer( )) return;
46
  UPDATE_PACKED_FOG( (ExitFog[0]<<24)|(ExitFog[1]<<16)|(ExitFog[2]<<8)|ExitFog[3] );
47
  g_pWorld->pev->impulse = (ExitFog[0]<<24)|(ExitFog[1]<<16)|(ExitFog[2]<<8)|ExitFog[3];
48
}


Вот для fgd хаммера:
C++ Source Code:
1
@SolidClass base(Targetname, Parent, Filter) = func_fog : "Change fog on entering or leaving"
2
[
3
entryfog(integer) : "Fog on entry (R G B Density)" : "128 100 35 10"
4
exitfog(integer) : "Fog on exit (R G B Density)" : "245 150 160 100"
5
master(target_destination) : "Master"
6
]


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

__________________
Мой мод на Xash


Отправлено Дядя Миша 04-11-2020 в 08:05:

Цитата:
Aynekko писал:
Иначе после сейврестора туман сбрасывался на тот, что прописан в спауне карты.

само собой
Но ты же не спрашивал, как его сохранить, ты спросил как его задать.

Добавлено 04-11-2020 в 11:05:

Цитата:
Aynekko писал:
может получится сделать плавный переход между туманами

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

__________________
My Projects: download page

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


Отправлено Crystallize 04-11-2020 в 09:06:

Цитата:
Aynekko писал:
Слушай, вот я сейчас проверил и уже не перебирает. К зеркалу подошел. Раньше работала О.о

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


Отправлено Aynekko 01-12-2020 в 21:55:

Не вопрос, а наблюдение. Очень позитивное наблюдение.
TL: DR - игрок движется вместе с платформой и при прыжке с нее не слетает. Это здорово и в голде такого нет.

В общем, делаю я платформу. Обычно я делаю ее дверью, чтобы туда-сюда отправлять - так проще. Но засада: при прыжке игрок с нее слетает и контроля нет. В сорсе такого нет - там как-то отслеживается движение энтити под игроком и ее велосити прибавляется к игроку. То же самое касается движения вверх-вниз. Быстрая платформа летит вниз и если прыгнуть, то потом ты разобъешься.
И тут оказалось, что если сделать "крышу" это платформе (из null-текстуры, чтобы не видно было) - то велосити сохраняется. Т.к. игрок физически внутри границ двери находится. Жаль конечно, что опять костыль приходится пихать в виде крыши, но все равно здорово. И нигде не задокументировано вроде.
Кстати, с плоского трейна без крыши тоже слетаешь.

__________________
Мой мод на Xash


Отправлено thambs 02-12-2020 в 00:08:

Надеюсь, ДМ запилит в nt нормального Галилея.

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


Отправлено Дядя Миша 02-12-2020 в 07:37:

Цитата:
Aynekko писал:
TL: DR - игрок движется вместе с платформой и при прыжке с нее не слетает. Это здорово и в голде такого нет.

Сделано по просьбам трудящихся.

__________________
My Projects: download page

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


Отправлено Aynekko 04-12-2020 в 09:43:

Как сделать тень от фонарика? Чтобы он работал по принципу env_projector и делал тени от альфа текстур. Я попробовал закомментить "pl->flags = CF_NOSHADOWS;" но это не дало результата. Ксаш мод 0.81 рев2.

__________________
Мой мод на Xash


Отправлено KorteZZ 04-12-2020 в 10:41:

Вроде в старых версиях ксаша такое было. Ксаш с каждой версией что-то теряет)
То тени, то фонарик, то систему пушек и еще что-то)

__________________

Killing Floor: Horzine Outbreak


Отправлено Aynekko 04-12-2020 в 10:49:

Да я видел тему. Там Дядя Миша писал, что отключил тени от фонарика, чтобы не сажать фпс. Но т.к. один env_projector фпс не сажает, я подумал что может можно прикрутить его к фонарику. Только как это сделать…

__________________
Мой мод на Xash


Отправлено Lev 04-12-2020 в 11:07:

Aynekko Погляди view.cpp на клиенте, обычно там код фонарика игрока(не уверен, что в ксаш-моде так, но в параное точно), может там при вызове прожектора флаг стоит?


Отправлено Aynekko 04-12-2020 в 12:10:

В ксаше это в r_misc - HUD_UpdateFlashlight. У проектора есть флаг EF_PROJECTED_LIGHT, попробовал его поставить, разницы нет

__________________
Мой мод на Xash


Отправлено Дядя Миша 04-12-2020 в 12:51:

У фонарика игрока тени отключены, потому что фонарик светит из глаз и игрок всё равно их не сможет увидеть. В параное - дело другое, там фонарик немного смещён, поэтому тени видно.

__________________
My Projects: download page

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


Отправлено thambs 04-12-2020 в 14:40:

Цитата:
фонарик светит из глаз и игрок всё равно их не сможет увидеть

А во лбу звiзда горит!

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


Отправлено Aynekko 05-12-2020 в 12:36:

Сколько может быть аудиоканалов в ксаше? Не хочу чтобы звуки перекрывались друг другом в некоторых случаях. Сейчас задал кастомный канал (#define CHAN_CUSTOM1 8), вроде бы проблем нет. Сколько я могу создать таких каналов?

__________________
Мой мод на Xash


Отправлено Дядя Миша 05-12-2020 в 13:18:

Ты ничего не создал. Там 7 каналов по сети максимум. Он у тебя заврапился на ноль, а ноль - это AUTO.

__________________
My Projects: download page

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


Отправлено Aynekko 05-12-2020 в 13:40:

А, вот как…спасибо за инфу.

__________________
Мой мод на Xash


Отправлено Aynekko 18-12-2020 в 09:56:

У func_monitor изображение отражено по горизонтали. Как исправить?

__________________
Мой мод на Xash


Отправлено Дядя Миша 18-12-2020 в 10:41:

Aynekko текстурку флипнуть в редакторе.

__________________
My Projects: download page

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


Отправлено Aynekko 18-12-2020 в 10:50:

Дядя Миша, спасибо, я и забыл. Надо было скейл отрицательный выставить.

__________________
Мой мод на Xash


Отправлено Aynekko 06-01-2021 в 19:39:

Хелп, ничего не понимаю уже. Сделал простую платформу func_tracktrain с func_traincontrols. Поставил path_track'и. Ну все как обычно. Но в игре кнопки управления нет. Тыкаюсь по поезду и нигде ничего не нажимается.
Скопировал поезд из своего древнего мода, поставил его на те же path_track'и - все работает. Уже и параметры в энтитях сверил. У кого-нибудь есть идеи, что еще поезду надо?

Добавлено 06-01-2021 в 22:39:

Вот большой поезд работает, квадратная платформа не работает. У поездов есть origin-браши. У платформы как будто нет traincontrols и все тут.
И да, если запустить через консоль платформу, то она нормально едет.

__________________
Мой мод на Xash


Отправлено Aynekko 07-01-2021 в 10:03:

Короче я понятия не имею, что не так.
2 одинаковых поезда с различием только в именах.
Скрин: https://sun9-5.userapi.com/impg/71m...6bd5&type=album

Различия только в именах. У одного есть контроль, у другого нет. Я не понимаю вообще ничего. Заставил работать так: скопировал браши нерабочего, сделал их одним целым с рабочим поездом, затем удалил ненужные браши рабочего поезда. Полный бред, а сработало. Возможно, что-то не так с параметрами. Но я их выше показал. Вроде все идентично по сути. Через консоль оба поезда едут как надо. Управлять можно только одним из них. В traincontrols там одно поле с указанием поезда, ясен пень указан нужный. Крыша поехала

__________________
Мой мод на Xash


Отправлено Дядя Миша 08-01-2021 в 14:31:

Трейнконтролс - это не кнопка, как может показаться. Это область из которой допустимо управление поездом. При её отсутствии, по идее, управление доступно из любой точки поезда. Ну и да, ей оригин-браш тоже нужен.

__________________
My Projects: download page

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


Отправлено Aynekko 08-01-2021 в 15:10:

Да, это я со временем понял - это область. Но сейчас она у меня работает без ориджина. На нерабочем поезде - что с ним, что без - не работало. Нет области, причем поезд через консоль ехал. Не знаю, что это было. Сейчас все норм, но возможно, столкнусь с этим снова, если опять создам управляемый поезд.

__________________
Мой мод на Xash


Отправлено Casperx69x 22-01-2021 в 01:35:

Так, я вернулся. Чтоб задать очень важный вопрос Дядя Миша. env_physbox никак не хочет разрушаться на гипсы, т.е я ставлю его на карте, ставлю breakable и т.д. Ставлю минимум хп,и т.д, но как бы я не хотел, его нельзя разрушить. Что я делаю не так? Мб косяк в версии ксаша или XashXT? Если есть время и возможность, на какой версии ксаша и мода XashXT это работает? Карту с этой энтитей скинь, если она работает, или скажи версии ксаша и мода. Спасибо большое.


Отправлено Дядя Миша 22-01-2021 в 07:02:

Casperx69x Смотри демокарту с лавой. Там где пушки стреляют физбоксами, они разрушаются, соприкоснувшись с лавой.

__________________
My Projects: download page

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


Отправлено Ku2zoff 22-01-2021 в 10:45:

Цитата:
Дядя Миша писал:
Ну и да, ей оригин-браш тоже нужен.

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


Отправлено Дядя Миша 22-01-2021 в 11:04:

Ну вообще да, там немного по дурацки сделано, область управления может быть только в виде аксиального бокса.

__________________
My Projects: download page

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


Отправлено Casperx69x 23-01-2021 в 23:58:

Дядя Миша pushablemaker нормально разрушаются да, а вот env_physbox вообще нет. Может эта ентитя не разрушаема?

Добавлено 24-01-2021 в 02:58:

Разрушаются. Уже немного сгорев и понял,что только если долбить их базукой долго, или взрыв пакетами кучей заложить. Монтировкой или другими стволами бесполезно. Прочность стоит единичка или сотка, env_physbox тупо не сломать. И да стоит breakable.

Версия ксаша build4529 и ксаш мода 0.81 rev.2.
Я могу видео скинуть, где покажу проблему, если как-то неясно пишу.

Если у вас работает разрушаемость, скажите на какой версии ксаша или ксаш мода работаете. Мне эта функция очень важна для мода. Мб в fgd косяк какой? Просто в fgd который идет в комплексе к ксаш моду, нет например env_rope, мб есть где-то допиленный о котором я не знаю.


Отправлено Дядя Миша 24-01-2021 в 07:00:

Ну FGD всегда отстаёт от актуальной версии, я же его не обновляю, это сами пользователи.

__________________
My Projects: download page

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


Отправлено Raid 24-01-2021 в 08:15:

Casperx69x
Попробуй этот
Ещё есть набор спрайтов, правда не на все энтити.

__________________
Ты себя ведёшь как маленький ребёнок, который на улице увидел говно и обрадовался - говно-говно, смотрите кто-то насрал, ну и дела! © Дядя Миша


Отправлено SNMetamorph 04-02-2021 в 21:24:

В XashXT есть батчинг сурфейсов мира? Если есть, как он работает? Какие есть условия для обьединения сурфейсов в один drawcall?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 05-02-2021 в 06:05:

SNMetamorph у тебя на руках все исходники. Как ты собрался создавать форк если путаешься в таких элементарных вопросах?

__________________
My Projects: download page

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


Отправлено SNMetamorph 05-02-2021 в 09:46:

Цитата:
Дядя Миша писал:
Как ты собрался создавать форк если путаешься в таких элементарных вопросах?

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

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 05-02-2021 в 12:23:

Цитата:
SNMetamorph писал:
Какие есть условия для обьединения сурфейсов в один drawcall?

Общая текстура, общая лайтмапа, общий шейдер, единая матрица трансформации.

__________________
My Projects: download page

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


Отправлено SNMetamorph 05-02-2021 в 18:23:

А что за mark surfaces у лифов? Какую функцию они выполняют?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Crystallize 05-02-2021 в 19:27:

Мне тоже интересно


Отправлено ncuxonaT 05-02-2021 в 19:39:

это?
http://hlbsp.sourceforge.net/index....ef#marksurfaces


Отправлено Дядя Миша 05-02-2021 в 20:27:

К каждому лифу прилинкованы сурфейсы. А это - их индексы.

__________________
My Projects: download page

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


Отправлено Aynekko 06-02-2021 в 08:43:

Вот здесь я писал:
http://hlfx.ru/forum/showthread.php...8061#post198061

Цитата:
Aynekko писал:
Подскажите по сейврестору. Не могу вычистить баг. Гранты у меня стреляют энтитей shock_beam. Если сохраниться в тот момент, когда энтитя летит в воздухе - после загрузке в консоль спамит сообщением:
Error: R_BeamComputePoint: Invalid entity 4095


Вот на видео, специально сделал медленную атаку:
https://www.youtube.com/watch?v=IJnT4rOOF0A
Думаю, что это баг с сейврестором лучей, а не я накопипастил.
Сохраняемся во время полета прожектили, загружаемся и видим картину - лучи начинают крепиться к самой прожектили и ориджину карты.
Т.к. эту штуку я скопировал из опфора, я решил проверить, что происходит там. Так вот, если сохраниться во время летящей атаки шок-трупера, а потом загрузить игру - то будет вылет на рабочий стол. Сохранялка будет испорчена. Ксаш к счастью не крашится.
Я решил проверить вортигонтов на ксаше, ведь они тоже создают лучи. И получил ту же самую картину. Сохраняемся в самый момент атаки, когда создается и исчезается луч из его рук (буквально секундный промежуток). После загрузки вортигонт будет куда-то бежать, а луч будет тянуться из его рук в точку последней атаки (и так и не исчезнет).

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

Сохранялка на месте:
C++ Source Code:
1
BEGIN_DATADESC( CShock )
2
DEFINE_FIELD(m_pBeam, FIELD_CLASSPTR),
3
DEFINE_FIELD(m_pNoise, FIELD_CLASSPTR),
4
DEFINE_FIELD(m_pSprite, FIELD_CLASSPTR),
5
DEFINE_FUNCTION( Touch ),
6
DEFINE_FUNCTION( FlyThink ),
7
DEFINE_FUNCTION( CreateEffects ),
8
DEFINE_FUNCTION( ClearEffects ),
9
DEFINE_FUNCTION( UpdateOnRemove ),
10
END_DATADESC()

Создаются спрайт и лучи, оригинальный код из опфора:
C++ Source Code:
1
m_pSprite = CSprite::SpriteCreate( "sprites/shockbeam.spr", pev->origin, FALSE );
2
m_pSprite->SetAttachment( edict(), 0 );
3
m_pSprite->pev->scale = 0.35;
4
m_pSprite->SetTransparency( kRenderTransAdd, 80, 160, 255, 200, kRenderFxNoDissipation );
5
 
6
m_pBeam = CBeam::BeamCreate( "sprites/lgtning.spr", 30 );
7
if (m_pBeam)
8
{
9
  m_pBeam->EntsInit( entindex(), entindex() );
10
  m_pBeam-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ointEntInit( entindex(), entindex() );
11
  m_pBeam->SetStartAttachment( 1 );
12
  m_pBeam->SetEndAttachment( 2 );
13
  m_pBeam->SetBrightness( 180 );
14
  m_pBeam->SetScrollRate( 10 );
15
  m_pBeam->SetNoise( 0 );
16
  m_pBeam->SetFlags( BEAM_FSHADEOUT );
17
  m_pBeam->SetColor( 0, 255, 255 );
18
  m_pBeam->RelinkBeam();
19
}
20
else
21
{
22
  ALERT(at_console, "Could not create shockbeam beam!\n");
23
}
24
 
25
m_pNoise = CBeam::BeamCreate( "sprites/lgtning.spr", 30 );
26
 
27
if (m_pNoise)
28
{
29
  m_pNoise->EntsInit( entindex(), entindex() );
30
  m_pNoise-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ointEntInit( entindex(), entindex() );
31
  m_pNoise->SetStartAttachment( 1 );
32
  m_pNoise->SetEndAttachment( 2 );
33
  m_pNoise->SetBrightness( 180 );
34
  m_pNoise->SetScrollRate( 30 );
35
  m_pNoise->SetNoise( 30 );
36
  m_pNoise->SetFlags( BEAM_FSHADEOUT );
37
  m_pNoise->SetColor( 255, 255, 173 );
38
  m_pNoise->RelinkBeam();
39
}
40
else
41
{
42
  ALERT(at_console, "Could not create shockbeam noise!\n");
43
}
44
 
45
}


ClearEffects, который вызывается в функции Touch
C++ Source Code:
1
void CShock::ClearEffects()
2
{
3
  if (m_pBeam)
4
  {
5
    UTIL_Remove( m_pBeam );
6
    m_pBeam = NULL;
7
  }
8
 
9
  if (m_pNoise)
10
  {
11
    UTIL_Remove( m_pNoise );
12
    m_pNoise = NULL;
13
  }
14
 
15
  if (m_pSprite)
16
  {
17
    UTIL_Remove( m_pSprite );
18
    m_pSprite = NULL;
19
  }
20
}


На всякий случай прикрепляю весь файл с прожектилей.

Добавлено 06-02-2021 в 11:43:

С размножением спрайтов разобрался - мой косяк был. Но лучи все еще продолжают терять заданный аттачмент. Копаю дальше.

__________________
Мой мод на Xash


Отправлено Ku2zoff 06-02-2021 в 08:59:

Цитата:
Aynekko писал:
созданный спрайт продублировался, а лучи начинают крепиться к самой прожектили и ориджину карты.

Ну вот тебе и ответ. Создаётся ещё один эффект, у которого поля энтить, к которым он должен крепиться невалидные. Поэтому опфор крэшится. А под обычной халфой такое же поведение, или только под ксаш-движком? Просто я не припомню, чтобы у меня хоть когда-то крэшился опфор.
Навскидку, вроде есть в коде ошибочка. В функции CreateEffects нет проверки, существуют ли изначально m_pSprite, m_pBeam, m_pNoise. В сейв они все пишутся, следовательно, восстанавливаются при ресторе. А EffectsCreated обнуляется, поэтому CreateEffects вызывается снова, и делает ещё по одной копии. Ну по идее они должны не клонироваться, а перезаписываться. Тем более, RelinkBeam для лучей вызывается. Надо бы мне самому проверить вортигонтов и оригинальный опфор под стим-халфой.

Добавлено 06-02-2021 в 15:59:

Цитата:
Aynekko писал:
Но лучи все еще продолжают терять заданный аттачмент.

RelinkBeam с правильными указателями на энтитю-конец и энтитю-начало после рестора.


Отправлено Aynekko 06-02-2021 в 09:09:

Добавил проверки вида "if (!m_pSprite) SpriteCreate", для лучей тоже. Впрочем, без изменений.
На данный момент имею вот что:
https://youtu.be/Fu-hh4oH1tI
Стреляю, полет нормальный. Сохраняюсь, загружаюсь.
Оба луча (beam, noise) потеряли аттачменты и соединяются с прожектилей и ориджином карты (а не между аттачментами модели). Идет спам в консоль.
Снова сохраняюсь и загружаюсь. Лучи вообще исчезли. Спрайт благополучно долетает.
Кстати, спам прекратится, когда прожектиля долетит и исчезнет. То есть лучи видимо все еще как-то принадлежат ей.

Цитата:
Ku2zoff писал:
Просто я не припомню, чтобы у меня хоть когда-то крэшился опфор.

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

Цитата:
Ku2zoff писал:
RelinkBeam с правильными указателями на энтитю-конец и энтитю-начало после рестора.

Тут не совсем понял. Релинкбим он же void, как ему указатели вписать?

__________________
Мой мод на Xash


Отправлено Ku2zoff 06-02-2021 в 09:10:

Вообще, вынеси создание всех трёх эффектов куда-нибудь в CShock::Shoot, вызывается ведь всего один раз. А обновление эффектов

C++ Source Code:
if (m_pBeam)
{
  тра-та-та
}

можно спокойно вызывать из тчинка. Удаление из тача. Наверное, никакая переменная EffectsCreated и не понадобится. Что за агарот-то нагородили те, кто кодил это типа опфоровское.
Если ничего не поможет - убери нафиг спрайт и лучи из сейвдаты. Пусть лучше они после рестора заново создаются и линкуются.


Отправлено Aynekko 06-02-2021 в 09:13:

Цитата:
Ku2zoff писал:
EffectsCreated

Это я добавил. Дело в том, что я использую флаг, в зависимости от которого задается размер и цвет прожектили (юзают разные монстры) но дело в том, что присвоение флага идет уже после спауна энтити. И в спауне флаг почему-то не проходит (выставлял алерты), зато проходит в think, которая запускается в спауне. Спрайт дублировался из-за того, что я забыл это добавить в сейврестор и оно обнулялось, и создавались новые эффекты

__________________
Мой мод на Xash


Отправлено Ku2zoff 06-02-2021 в 09:16:

Цитата:
Aynekko писал:
Релинкбим он же void, как ему указатели вписать?

Перед ним вызвать m_pNoise->EntsInit с указателями на нужную энтитю.

Добавлено 06-02-2021 в 16:16:

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


Отправлено Aynekko 06-02-2021 в 09:20:

Ku2zoff огромнейшее спасибо!!!
Добавил во flythink

C++ Source Code:
1
if (m_pNoise)
2
{
3
  m_pNoise->EntsInit( entindex(), entindex() );
4
  m_pNoise->SetStartAttachment( 1 );
5
  m_pNoise->SetEndAttachment( 2 );
6
  m_pNoise->RelinkBeam();
7
}
8
if (m_pBeam)
9
{
10
  m_pBeam->EntsInit( entindex(), entindex() );
11
  m_pBeam->SetStartAttachment( 1 );
12
  m_pBeam->SetEndAttachment( 2 );
13
  m_pBeam->RelinkBeam();
14
}

Проблема полностью ушла!!!

__________________
Мой мод на Xash


Отправлено Ku2zoff 06-02-2021 в 09:57:

Aynekko немного неправильно сделал. Надо проверку по типу EffectsCreated. А так у тебя каждый кадр лучи релинкаются. Как временное решение пойдёт. Я вечерком напишу код для себя, как мне кажется правильным. Если всё будет ок, то выложу сюда.


Отправлено Aynekko 06-02-2021 в 10:11:

Цитата:
Ku2zoff писал:
Надо проверку по типу EffectsCreated.

Понял, задать такую же проверку типа "BeamsRelinked == 0", выполнить
это дело, присвоить 1 и в этот раз не сохранять ее в сейврестор, чтобы обнулялась.

__________________
Мой мод на Xash


Отправлено Дядя Миша 06-02-2021 в 13:12:

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

__________________
My Projects: download page

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


Отправлено Aynekko 11-02-2021 в 18:10:

Никак не могу понять, что именно влияет на фпс. Вот к примеру:
• 1800 wpoly, 100000 epoly, 1000 листьев в кадре - 300 фпс.
• 1500 wpoly, 60000 epoly, 700 листьев в кадре - 190 фпс.
Ксаш-мод и двиг все самое последнее, с форума.
Количество вершин в моделях/брашах может влиять на фпс? Можно ли как-то посмотреть кол-во вершин в кадре?

И второй вопрос - см. аттач. В первом случае моя карта (240 фпс это ограничение), во втором случае - карта ka_risingsun.
Менее 60 фпс при таких значениях с gl_renderer 1. Если выставить gl_renderer 0, фпс будет 150. В кс 1.6 фпс так же 150. В чем может быть причина?
Ссылка на карту: https://gamebanana.com/maps/210663

__________________
Мой мод на Xash


Отправлено Дядя Миша 11-02-2021 в 19:13:

Aynekko r_speeds имеет значения от 1 до 7 кажется.
Можно посмотреть и другую статистику.
Но вообще каких-то чудес ждать не стоит. Модели рисуются быстро, браши медленно.

__________________
My Projects: download page

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


Отправлено Aynekko 21-02-2021 в 14:10:

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

__________________
Мой мод на Xash


Отправлено Дядя Миша 21-02-2021 в 14:51:

C++ Source Code:
m_flNextPrimaryAttack = m_flNextPrimaryAttack + 0.1;

213-я строчка. Должно быть
C++ Source Code:
m_flNextPrimaryAttack = gpGlobals->time + 0.1;


Добавлено 21-02-2021 в 17:51:

Это скорее всего оригинальный код из старого SDK.

__________________
My Projects: download page

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


Отправлено Aynekko 21-02-2021 в 15:24:

Спасибо большое, все сработало

__________________
Мой мод на Xash


Отправлено Casperx69x 28-02-2021 в 14:28:

Ребзя как увеличить время у гибсов, чтоб быстро не исчезали?


Отправлено Aynekko 02-03-2021 в 19:58:

Если у двери звук типа loop, то он не сохраняется в сейв. После загрузки дверь продолжает движение в тишине. При этом, если звук не loop, то все отлично сохраняется. Есть идеи, как это пофиксить?

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-03-2021 в 06:17:

engine\client\s_main.c:1315

C++ Source Code:
if( channels[i].entchannel == CHAN_STATIC && looped && !CL_IsQuakeCompatible())
  continue;	// never serialize static looped sounds. It will be restoring in game code

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

__________________
My Projects: download page

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


Отправлено Aynekko 03-03-2021 в 16:27:

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

Помогло. Поставил CHAN_BODY. Правда, в коде увидел такой комментарий:
C++ Source Code:
// emit door moving and stop sounds on CHAN_STATIC so that the multicast doesn't
// filter them out and leave a client stuck with looping door sounds!

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-03-2021 в 18:29:

Это справедливо только для голдсорса, причём раннего, в до каэсовскую эпоху.

__________________
My Projects: download page

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


Отправлено Aynekko 03-03-2021 в 22:01:

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

__________________
Мой мод на Xash


Отправлено SNMetamorph 04-03-2021 в 15:51:

Как в ксаше увеличить скорость выезжания консоли?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 04-03-2021 в 17:03:

scr_conspeed

Добавлено 04-03-2021 в 20:03:

Вообще что мешает набрать в консоли makehelp и ознакомиться с авто-документацией?

__________________
My Projects: download page

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


Отправлено Aynekko 08-03-2021 в 19:24:

Такая проблема у меня.
В общем сделал я "оружие" - ставить турели monster_sentry. На основную атаку нажимаешь и перед игроком спавнится дружественная турель. Дело в том, что если заспавнить турель, сохраниться и загрузиться - она исчезнет. Спавню таким образом - это код Primary attack:

C++ Source Code:
CBaseMonster *pSentry = (CBaseMonster*)Create( "monster_sentry", TurretSpawnPosition, g_vecZero, m_pPlayer->edict() );
pSentry->m_iClass = CLASS_PLAYER_ALLY;

До этого кода идет трейс на возможность поставить турель (стена или нпс на пути), после идет отьем "патронов" у игрока и выставление времени следующей атаки, в общем как обычно. Все работает норм, за исключением сейврестора.

РАЗОБРАЛСЯ

Из-за этого не сохранялось.
C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry");


Оказывается надо было прописать у турели
C++ Source Code:
LINK_ENTITY_TO_CLASS( _playersentry, CSentry );

И да, подмена класса энтити мне нужна

__________________
Мой мод на Xash


Отправлено Дядя Миша 09-03-2021 в 06:01:

C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry")

А это еще откуда?

__________________
My Projects: download page

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


Отправлено Aynekko 09-03-2021 в 11:53:

Цитата:
Дядя Миша писал:
C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry")

А это еще откуда?

Это мое. Я ж говорю, сделал турели, и мне надо было чтобы у них "энтитянейм" поменялся с monster_sentry на ту, что мне надо. Кто ж знал, что нельзя менять на что попало, а только на то, что есть в link_entity_to_class.

__________________
Мой мод на Xash


Отправлено Дядя Миша 09-03-2021 в 15:02:

Восстановление энтить происходит по их имени. Но у одной энтити конечно может быть несколько имён. Только ты неправильно сделал.

Ты просто создавай

C++ Source Code:
CBaseMonster *pSentry = (CBaseMonster*)Create( "_playersentry", TurretSpawnPosition, g_vecZero, m_pPlayer->edict() );


а вот эту пакость
C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry");

выброси. Потому что иначе у тебя все туррели поменяют имя на _playersenrty, опять будешь жаловаться, что что-то работать перестало.

__________________
My Projects: download page

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


Отправлено Aynekko 09-03-2021 в 19:14:

Точно, спасибо. Раз я сделал линк, то можно же сразу делать.

Добавлено 09-03-2021 в 21:34:

Цитата:
Ku2zoff писал:
Я заинтересовался, попозже сегодня сам проверю опфор на предмет вылета. И напишу себе такой шок-эффект, пригодится для чего-нибудь.

Ku2zoff, если есть возможность, проверь такой баг с этой прожектилей. Еле отловил его.
Задал солдату очень маленькую скорость прожектили. Так вот, когда солдата разносит в клочья или труп исчезает (то есть энтитя удалена из мира), а прожектиля все еще летит - то когда она коснется чего-либо, будет вылет.
Починилось вот так:
В класс шока пишем
C++ Source Code:
EHANDLE m_hOwner;

В спаун шока пишем
C++ Source Code:
m_hOwner = Instance( pev->owner );

Во FlyThink закинул постоянную проверку:
C++ Source Code:
if( m_hOwner == NULL )
  pev->owner = NULL;

И все - вылеты приекратились. Вроде бы понятно, что к чему тут, но этот солдат так же пуляется другой энтитей (которую я причем сам делал), у которой owner не обнуляется, при этом даже без солдата никаких вылетов нет. Хотя EHANLDE и Instance я прописал там. От греха подальше закинул проверку на овнера и в свою энтитю, черт ее знает.

P.S. в опфоре не получилось проверить. Прожектиля летит слишком быстро. Пытался разорвать шок-трупера, пока летит прожектиля. Либо там этого бага нет, либо я так и не смог попасть в тайминг.

Добавлено 09-03-2021 в 22:14:

Странное что-то. Ксаш вылетает, когда солдат стреляет шок-энтитей. Но только тогда, когда выставлен параметр -dev. Без него вылета нет. Таких приколов я еще не видел.

__________________
Мой мод на Xash


Отправлено Aynekko 10-03-2021 в 18:42:

Цитата:
Aynekko писал:
Странное что-то. Ксаш вылетает, когда солдат стреляет шок-энтитей. Но только тогда, когда выставлен параметр -dev. Без него вылета нет. Таких приколов я еще не видел.

Загадка разгадана. Если вкратце, вылет был из-за этого:
C++ Source Code:
if (m_pSprite)
  m_pSprite->pev->frame++;

А надо было вот так сделать - обнулять кадры:
C++ Source Code:
1
if (m_pSprite)
2
{
3
  if(m_pSprite->pev->frame > 9)
4
    m_pSprite->pev->frame = 0;
5
  m_pSprite->pev->frame++;
6
}

Причем если выставить "> 11", то будет вылет, т.к. в спрайте 11 кадров. 10 не стал, поставил 9. Было бы удобно конечно брать инфу о кадрах из спрайта, но я не знаю пока как.

А дальше еще интереснее. Спрайт создается как
C++ Source Code:
m_pSprite = CSprite::SpriteCreate( "sprites/shock.spr", GetAbsOrigin(), TRUE );
m_pSprite->SetAttachment( edict(), 0 );

И если оставить неправильный код во FlyThink
C++ Source Code:
if (m_pSprite)
  m_pSprite->pev->frame++;

То ксаш в режиме -dev будет сыпать в консоль ошибками вида "Warning: R_GetSpriteFrame: no such frame 11 (sprites/shock.spr)" (оттуда и узнал про ошибку).
А теперь к спауну спрайта добавляем код
C++ Source Code:
m_pSprite->pev->scale = 0.6;
m_pSprite->SetTransparency( kRenderTransAdd, 255, 0, 50, 150, kRenderFxNoDissipation );

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

__________________
Мой мод на Xash


Отправлено Ku2zoff 11-03-2021 в 08:11:

Цитата:
Aynekko писал:
if (m_pSprite)
__m_pSprite->pev->frame++;

Он вообще должен сам анимироваться... m_pSprite->SetThink(&CSprite::AnimateUntilDead), по-моему. Вручную прибавлять кадры - это какой-то костыль.


Отправлено Дядя Миша 11-03-2021 в 11:25:

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

__________________
My Projects: download page

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


Отправлено Aynekko 11-03-2021 в 14:11:

Цитата:
Ku2zoff писал:
Он вообще должен сам анимироваться... m_pSprite->SetThink(&CSprite::AnimateUntilDead)

Спасибо, не знал про такое. Но, почему-то не работает. Убрал свое условие и поставил твою строчку в createeffects
C++ Source Code:
1
if( !m_pSprite )
2
  m_pSprite = CSprite::SpriteCreate( "sprites/shock.spr", GetAbsOrigin(), TRUE );
3
 
4
if( m_pSprite )
5
  m_pSprite->SetThink(&CSprite::AnimateUntilDead);

Просто статичный спрайт. Выставил прожектиле совсем маленькую скорость, так что рассмотрел со всех сторон.


Ну и еще баг нашел. После выстрела летящая прожектиля несолидная для игрока - сквозь нее ходишь. Сохранился, загрузился. И тут она уже бьет игрока и уничтожается. Интересно…)
Странно, выставил алерт, так вот после загрузки сохранения мое условие во flythink активируется.
C++ Source Code:
if( m_hOwner == NULL )
  pev->owner = NULL;

Теряется овнер почему-то.
UPDATE: нашелся овнер. Не думал, что надо сохранять его
C++ Source Code:
DEFINE_FIELD( m_hOwner, FIELD_EHANDLE ),

__________________
Мой мод на Xash


Отправлено Дядя Миша 11-03-2021 в 18:09:

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

__________________
My Projects: download page

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


Отправлено Casperx69x 25-03-2021 в 11:58:

Доброго времени суток. Я таки опять с вопросами.

При добавлении травы, можно редачить ее свойства, но вот что значит последняя цифра в столбике в grassinfo.txt?

Все еще озадачен вопросом gib-сов. У меня есть катсцена, где взрывается здание, и вот нужно у func_breakable увеличить время gib-сов до полного растворения, чтоб это не так убого выглядело. Где это посмотреть в коде?

в документации на сайте указано, что можно указать направление и скорость вращения скайбокса, если указать все значения, ничего не меняется. Это вырезали в последней версии? Мой косяк? Если есть в старых версиях, подскажите в какой пжлст.

В ксаше есть ограничение на количество зеркал? Почему-то при добавлении их больше одного, фпс падает до пары кадров (Хотел намутить отражения в окнах, внутри дома, добавил окно и просто капец)

В func_landscape есть какие-то настройки в редакторе, кроме zhlt_landscape, zhlt_texturestep, zhlt_maxextent?

В последней версии ксаша и ксашнт, точно работают лоды? Делал по инструкции с добавлением в сами модели, и что-то ничего не пашет.

Какие есть еще возможности движка, которые не указаны в документации? Просто имхо, про текстуры ландшафта нет инфы, кусок инфы на кмс и все, так же про func_landscape. Если есть доп инфа, можно в лс пожалуйста

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


Отправлено Aynekko 25-03-2021 в 12:10:

Цитата:
Casperx69x писал:
func_breakable увеличить время gib-сов до полного растворения, чтоб это не так убого выглядело. Где это посмотреть в коде?

В CBreakable::Die есть WRITE_BYTE(25) - duration 2.5 seconds - это не оно?
Цитата:
Casperx69x писал:
Почему-то при добавлении их больше одного, фпс падает до пары кадров (Хотел намутить отражения в окнах, внутри дома, добавил окно и просто капец)

Одно зеркало уже по сути тупо умножает еполи и вполи на 2. Про 2 зеркала рядом я вообще молчу...из-за этого пришлось отказаться от них
Цитата:
Casperx69x писал:
можно указать направление и скорость вращения скайбокса

Интересная фича, это 2д или 3д? 3д можно парентом прикрепить к ротатингу

__________________
Мой мод на Xash


Отправлено Casperx69x 25-03-2021 в 12:26:

Aynekko я может туплю, но вот вот тут про скайбокс https://clck.ru/TufN7 (извиняюсь за сокращатель ссылок)

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


Отправлено Дядя Миша 25-03-2021 в 12:31:

Цитата:
Casperx69x писал:
но вот что значит последняя цифра в столбике в grassinfo.txt?

Random Seed. База для генератора рандомной расстановки травы.
Трава ставится случайно, но каждый раз одинаково. Вот это число позволяет поиграться со случайностью.

Цитата:
Casperx69x писал:
Это вырезали в последней версии?

да вырезали. Для 3д неба это не так актуально, можно сделать ротатаблей.

Цитата:
Casperx69x писал:
Почему-то при добавлении их больше одного, фпс падает до пары кадров

какая видеокарта, как зеркала стоят? Друг напротив друга?

Цитата:
Casperx69x писал:
Делал по инструкции с добавлением в сами модели, и что-то ничего не пашет.

а как определил, что не пашет? Поиграйся с кваром r_lod_bias, посмотри, будут ли они меняться.

__________________
My Projects: download page

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


Отправлено Casperx69x 25-03-2021 в 13:01:

Дядя Миша

Цитата:
Дядя Миша писал:
какая видеокарта, как зеркала стоят? Друг напротив друга?


Тестирую на 1050 ti, зеркала стоят на одной плоскости, но на друг друга не смотрят, между ними брашевая стена


Отправлено Aynekko 25-03-2021 в 13:11:

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

__________________
Мой мод на Xash


Отправлено Casperx69x 26-03-2021 в 12:28:

Дядя Миша пни в какую сторону копать в коде паранои чтоб сделать вспышку вокруг от выстрелов

Добавление стволов в ксашнт отличается от базового в хл 1? Если да, киньте в меня тутор пжлст


Отправлено Дядя Миша 26-03-2021 в 14:28:

Нету КсашНТ в общем доступе, ты с чем-то путаешь.

Вот тема специальная: https://hlfx.ru/forum/showthread.php?s=&threadid=5272

__________________
My Projects: download page

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


Отправлено Casperx69x 26-03-2021 в 14:57:

Дядя Миша Я тупой, очепятку сделал, я про XashXT, но вопрос актуален, есть ли отличия от стокового добавления как в обычную хл, и есть ли тутор по добавлению в XashXT так, как отличия все же есть


Отправлено Дядя Миша 26-03-2021 в 15:29:

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

Вспышка от выстрелов - m_pPlayer->pev->effects |= EF_MUZZLEFLASH;
в коде оружия в момент выстрела.

__________________
My Projects: download page

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


Отправлено Aynekko 26-03-2021 в 16:02:

Мне кажется он имел в виду свет вокруг игрока, когда стреляешь в темноте к примеру. Попробовал поставить m_pPlayer->pev->effects |= EF_MUZZLEFLASH;, но никакого эффекта. Причем у mp5 уже был такой код

C++ Source Code:
m_pPlayer->pev->effects = (int)(m_pPlayer->pev->effects) | EF_MUZZLEFLASH;

я его закомментил перед вставкой. Но что тот, что этот, как говорится…
Я свет вокруг сделал через темп-энтитю
C++ Source Code:
1
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, vecSrc );
2
WRITE_BYTE(TE_DLIGHT);
3
WRITE_COORD(vecSrc.x);	// X
4
WRITE_COORD(vecSrc.y);	// Y
5
WRITE_COORD(vecSrc.z);	// Z
6
WRITE_BYTE( 40 );		// radius * 0.1
7
WRITE_BYTE( 255 );		// r
8
WRITE_BYTE( 255 );		// g
9
WRITE_BYTE( 100 );		// b
10
WRITE_BYTE( 1 );		// time * 10
11
WRITE_BYTE( 80 );		// decay * 0.1
12
MESSAGE_END( );

Это в код атаки. Т.к. это жрет фпс то вывел в квар, чтобы можно было отключать этот эффект у оружия

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-03-2021 в 17:15:

А, ну там Elight, он только модельку освещает, а в ксаш-моде елайты помоему вообще не работают.

Ну это несложно исправить. client\render\r_misc.cpp:125

И заменить

C++ Source Code:
dlight_t *dl = gEngfuncs.pEfxAPI->CL_AllocElight( 0 );

На
C++ Source Code:
dlight_t *dl = gEngfuncs.pEfxAPI->CL_AllocDlight( ent->curstate.number );

и заработают.

__________________
My Projects: download page

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


Отправлено Aynekko 26-03-2021 в 19:03:

Что-то ничего не поменялось, никакого света не наблюдаю нигде (в полной темноте проверял).

Заметил еще кое-что - сам спрайт маззлфлеша не виден вообще если фпс <= герцовке монитора. У меня 75 Гц. Спрайт вижу с фпс около 100 и выше, и рисуется он как-то рвано почему-то.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-03-2021 в 19:22:

Ну пихни туда алерт, он вообще вызывается-то, код этот.
Там вон условие еще на аттачмент, мало ли.

Добавлено 26-03-2021 в 22:22:

Цитата:
Aynekko писал:
сам спрайт маззлфлеша не виден вообще если фпс <= герцовке монитора

ну естественно, он же ровно на 1 кадр появляется.

__________________
My Projects: download page

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


Отправлено Aynekko 26-03-2021 в 19:44:

Неа, не вызывается. При стрельбе, первый алерт есть, второго нет

C++ Source Code:
1
if( ent->curstate.effects & EF_MUZZLEFLASH )
2
{
3
  if( ent == gEngfuncs.GetViewModel( ))
4
    ent->curstate.effects &= ~EF_MUZZLEFLASH;
5
 
6
  ALERT(at_console, "alert 1\n");
7
 
8
  // make sure what attachment is valid
9
  if( ent->origin != ent->attachment[0] )
10
  {
11
    ALERT(at_console, "alert 2\n");
12
    //		dlight_t *dl = gEngfuncs.pEfxAPI->CL_AllocElight( 0 );
13
    dlight_t *dl = gEngfuncs.pEfxAPI->CL_AllocDlight( ent->curstate.number );


Добавлено 26-03-2021 в 22:44:

Цитата:
Дядя Миша писал:
ну естественно, он же ровно на 1 кадр появляется.

Просто выходит, что в нем нет вообще смысла никакого тогда, его просто нет при стрельбе. Вот выставить фпс 200 и тогда еще нормально

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-03-2021 в 20:28:

Цитата:
Aynekko писал:
При стрельбе, первый алерт есть, второго нет

Это потому, что у вью модельки нет аттачмента.

__________________
My Projects: download page

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


Отправлено Aynekko 26-03-2021 в 21:18:

Да вроде вот он. Но он один.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-03-2021 в 21:29:

ну тогда странно.

__________________
My Projects: download page

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


Отправлено Crystallize 27-03-2021 в 03:18:

Я чета заметил что лайтмапы в голде более яркие.


Отправлено Aynekko 27-03-2021 в 06:54:

C++ Source Code:
// make sure what attachment is valid
if( ent->origin == ent->attachment[0] )

Вместо != поставил == и заработало

Добавлено 27-03-2021 в 09:22:

А по поводу невидимого маззлфлеша - в движке R_MuzzleFlash
C++ Source Code:
pTemp->die = cl.time + 0.05; // die at next frame

Вместо 0.01 сделал 0.05 и все стало просто прекрасно.

Добавлено 27-03-2021 в 09:31:

Нууу не совсем прекрасно. Спрайт маззлфлеша спавнится и не крепится к оружию. Когда идешь боком он отстает. Можно или его как-то прикрепить к оружию?

Добавлено 27-03-2021 в 09:54:

Кстати проверил в голде сейчас. Там спрайт не отстает (отстает совсем слегка когда очень быстро летишь боком), но всегда виден нормально.

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-03-2021 в 07:12:

Включи вертикальную синхронизацию

__________________
My Projects: download page

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


Отправлено Aynekko 27-03-2021 в 09:49:

Вернул на 0.01, включил всинк. Все равно спрайт не виден на 75 фпс. Поставил 0.05, с всинком, спрайт виден но все так же отстает.

Добавлено 27-03-2021 в 12:49:

Это беда конечно. Выставил, чтобы маззлфлеш исчезал через 1 секунду в движке.
https://youtu.be/ijSRcQ60qQU

__________________
Мой мод на Xash


Отправлено Casperx69x 27-03-2021 в 10:23:

Так, на сколько я понимаю, это вроде ограничение компилятора, но задам вопрос сюда, может таки я не прав (заранее прошу прощения за оффтоп).

Как обойти ограничение на количество func_breakable ? Карта просто не проходит компил. Компиляторы параноевские P2ST 0.98 beta.


Отправлено Crystallize 27-03-2021 в 11:37:

Какая ошибка выходит?


Отправлено Ku2zoff 27-03-2021 в 11:50:

Цитата:
Casperx69x писал:
Как обойти ограничение на количество func_breakable ?

Как такового лимита на какие-то конкретные энтити нет - тут лимит на эдикты. Есть лимит на общее кол-во моделей (бсп-модели, вшитые в модель мира + студио + спрайты). И есть отдельный лимит на кол-во вшитых в бсп. В ксаше довольно тяжело их все превысить, т.к. общий равен 2048 штук, а бсп равен 1024 штуки. Против 512 и 256 в голдсорсе соответственно.
Ты бы приложил лог, чтоб мы увидели, во что компилятор упирается. Ну не MAX_MAP_MODELS же, их целых 1024 штуки. Этот лимит нереально заполнить, учитывая, что есть ещё func_detail.


Отправлено Дядя Миша 27-03-2021 в 12:51:

Casperx69x майнкрафт делаешь?

__________________
My Projects: download page

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


Отправлено Aynekko 27-03-2021 в 15:06:

Ну никак не получается прикрепить маззлфлеш. Максимум до чего докопался

C++ Source Code:
pTemp->flags |= FTENT_SPRANIMATE|FTENT_SPRANIMATELOOP|FTENT_PLYRATTACHMENT;
pTemp->clientIndex = 1;

Но это не работает. Если индекс 0, то маззл в ориджине мира появляется. Нашел даже тред на халф-лайф.ру из 2004 где тоже жаловались на это, но решения нет…

__________________
Мой мод на Xash


Отправлено Casperx69x 27-03-2021 в 16:26:

Дядя Миша Не совсем. Кусок уровня как пасхалка в стиле майна да. Мне не принципиально прям тру разрушаемость. Просто внезапно словить ограничение, я прям не ожидал. Просто интересно, можно ли их перепрыгнуть. Лог приложил.


Отправлено Дядя Миша 27-03-2021 в 19:04:

Цитата:
Aynekko писал:
Ну никак не получается прикрепить маззлфлеш

Так он и не крепится никуда. Он просто спавнится из точки, в которой на этот момент был аттачмент оружия.

Добавлено 27-03-2021 в 22:02:

Цитата:
Дядя Миша писал:
майнкрафт делаешь?

Цитата:
Casperx69x писал:
Не совсем

C++ Source Code:
-blur 2.0 -dev +map minecraft



Добавлено 27-03-2021 в 22:04:

Так и что тебе не нравится? Судя по логу никаких ошибок нет.

__________________
My Projects: download page

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


Отправлено Aynekko 27-03-2021 в 19:06:

Цитата:
Дядя Миша писал:
Так он и не крепится никуда. Он просто спавнится из точки, в которой на этот момент был аттачмент оружия.

Это я и так понял. А как его к аттачменту приделать?
Я уже от нечего делать заморочился и прямо в primaryattack сделал SpriteCreate и AnimateUntilDead. Только столкнулся с другой проблемой, что аттачмент оружия в руках игрока никак не получить. SetParent к игроку выручил. Смотрится здорово, но в итоге отказался от этой "системы", кроме одного оружия. Проблем много будет делать маззл вот так. Должен же быть проще способ. Ну тут мне уже просто знаний не хватает.

__________________
Мой мод на Xash


Отправлено Casperx69x 27-03-2021 в 19:22:

Дядя Миша Так в этом и проблема. Компил проходит. Хаш запускает, но на карту не грузит, при попытках загрузить ее через консоль выдает ошибку, мол много моделей. Но уже пофиг, откинул эту идею пасхалки этой.


Отправлено Дядя Миша 27-03-2021 в 19:40:

Цитата:
Aynekko писал:
Только столкнулся с другой проблемой, что аттачмент оружия в руках игрока никак не получить

А зачем тебе его получать на сервере? Тебе его не надо получать, тебе надо его задать.

Самому спрайту следует выставить MOVETYPE_FOLLOW, в pev->aiment записать m_pPlayer->edict() и выставить pev->body = 1 (номер аттачмента).

Правда он прицепится не к вью-модели, а к модели игрока. Впрочем SetParent примерно это же и делает.

Цитата:
Casperx69x писал:
при попытках загрузить ее через консоль выдает ошибку, мол много моделей

А, вон оно что. Ну с этим да, известные проблемы.

__________________
My Projects: download page

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


Отправлено Ku2zoff 27-03-2021 в 21:39:

Цитата:
Casperx69x писал:
Компил проходит. Хаш запускает, но на карту не грузит, при попытках загрузить ее через консоль выдает ошибку, мол много моделей.

Цитата:
Дядя Миша писал:
А, вон оно что. Ну с этим да, известные проблемы.

А что за проблемы, если не секрет? 2048 моделей в общей сложности и 1024 из них - брашевые модели. Весьма немало. Минесрафт конечно не сделаешь, но карту со множеством разрушаемых декораций вполне можно.
Цитата:
Casperx69x писал:
Хаш запускает, но на карту не грузит

Цитата:
Casperx69x писал:
Карта просто не проходит компил

Так проходит или не проходит? Судя по логу, компилятор всё прожёвывает. А вот при загрузке готового бинарника либо ксашмод, либо ксашдвижок давится общим кол-вом моделей. Видимо, ты всё-таки превысил MAX_MODELS в 2048 штук.
Цитата:
Casperx69x писал:
Кусок уровня как пасхалка в стиле майна да.

Тебя товарищи из Геарбокса покусали? Они, помнится, в Borderlands 2 засунули подобную пасхалку. Вынеси на отдельный уровень, проблема с лимитами уйдёт.


Отправлено Crystallize 27-03-2021 в 22:12:

Я прописал в gameinfo большую цифру и ксаш разрешил мне 4к серверных энтитей


Отправлено Дядя Миша 27-03-2021 в 22:16:

Цитата:
Ku2zoff писал:
2048 моделей в общей сложности и 1024 из них - брашевые модели

Не всё так просто. Это для поддержки BSP2 с перекомпиляцией движка.
А так их всего 1024 из них брашевых 768. В халфе 256 помоему.

Добавлено 28-03-2021 в 01:16:

Но да, протокол оно не ломает, просто начинает жрать больше памяти.

__________________
My Projects: download page

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


Отправлено Ku2zoff 27-03-2021 в 22:22:

Цитата:
Crystallize писал:
ксаш разрешил мне 4к серверных энтитей

Это и в голдсорсе возможно. С параметром командной строки -num_edicts "число". Собсно, я тут был поиграть в The Trap и пару раз словил вылет из-за недостатка эдиктов, когда агранты выстреливали слишком много мух. Эдикты жрут в основном логические энтити. Собсно, это и понятно. The Trap - это такой аналог Портала на голдсорсе. Мод хороший, если бы не искромъотный юмар в стиле Портала.

Добавлено 28-03-2021 в 05:22:

Цитата:
Дядя Миша писал:
А так их всего 1024 из них брашевых 768.

Что за дезинформация из сторонних источников? Везде пишут про 2048 и 1024, а оказывается, что это для поддержки BSP2. Всё равно, 1024 и 768 это очень и очень много. Надо быть каким-то извергом, чтобы превысить эти лимиты при наличии современных компиляторов.


Отправлено Casperx69x 27-03-2021 в 22:49:

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


Отправлено Aynekko 28-03-2021 в 06:42:

Цитата:
Ku2zoff писал:
2048 моделей в общей сложности и 1024 из них - брашевые модели. Весьма немало

Мне удалось превысить лимит, и пришлось лезть в движок, чтобы повысить его. Самое интересное, что в сумме env_static и брашевых энтитей не набиралось 1024. Сейчас тут Дядя Миша упомянул про 768 брашевых энтитей - вот это похоже на правду.
И вот тут что было странно. Ну да, карта действительно огромная и насыщенная получилось. Если загружать ее через консоль - все нормально. Но вот если перейти чейнджлевелом с предыдущей карты (где тоже около 500 "моделей") - то ксаш вылетит в меню и будет ругаться на max_map_models. Причем триггер_транзишн имеется и в него четко попадает только игрок. Повысил лимит и проблема ушла вроде бы.

__________________
Мой мод на Xash


Отправлено Дядя Миша 28-03-2021 в 08:13:

Цитата:
Ku2zoff писал:
Что за дезинформация из сторонних источников?

можно в самом движке подправить лимиты и перекомпилить его. Ничего не сломается. Реальный предел - 4096 уникальных моделей.

Цитата:
Casperx69x писал:
Вроде где-то видел фикс для видео, чтоб в заставке был звук

Ну я точно упоминал что баг есть, что в NT я его пофиксил, но вскоре это потеряло значение, поскольку NT перестал использовать AVI.
Я уже не помню, что именно я там сделал.

__________________
My Projects: download page

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


Отправлено Casperx69x 17-04-2021 в 10:59:

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

Должно заработать? или как поступить?


Отправлено Дядя Миша 17-04-2021 в 12:36:

У Рейда спроси, у него работали.

__________________
My Projects: download page

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


Отправлено Casperx69x 17-04-2021 в 18:02:

Написал ему. Может быт я неправильно называю бодигруппы и лоды?

вот пример

//reference mesh(es)
$bodygroup "LOD"
{
studio "build_ref"
studio "lod1_ref"
studio "lod2_ref"
}

мб тут косяк?


Отправлено Дядя Миша 17-04-2021 в 18:17:

Надо называть так:

C++ Source Code:
1
//reference mesh(es)
2
$bodygroup "studioLOD"
3
{
4
  studio "build_ref"
5
  studio "lod1_ref"
6
  studio "lod2_ref"
7
}

тогда заработает.

__________________
My Projects: download page

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


Отправлено SNMetamorph 25-04-2021 в 16:35:

В последней версии ксаша из-за CL_AdjustClock становится всё дико дерганным в мультиплеере. Если её закомментить её, либо в консоли прописать cl_fixtimerate 0 то становится конечно получше.

Добавлено 25-04-2021 в 20:35:

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

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено SNMetamorph 29-04-2021 в 18:35:

Вскрылись еще кое-какие подробности.

Цитата:
SNMetamorph писал:
А ещё бывает, что проскакивают кадры не просто с нулевым фреймтаймом, так еще и с меньшим чем ноль. А вот почему так - я не знаю.

Когда я закомментил вызов функции CL_UpdateFrameLerp внутри функции CL_EmitEntities, то время кадра вновь стало стабильным как в синглплеере, и игроки начали передвигаться довольно плавно по сравнению с тем, что было до этого хотфикса.

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Crystallize 29-04-2021 в 18:55:

SNMetamorph У тебя есть понимание первопричин? И почему всё это не вылезло у ДМ?


Отправлено SNMetamorph 29-04-2021 в 19:40:

Цитата:
Crystallize писал:
У тебя есть понимание первопричин?

Нет. Ну разве что понятно, что это связанно с интерполяцией, и то что я сделал это лишь хотфикс и нужно разбираться дальше.
Цитата:
Crystallize писал:
И почему всё это не вылезло у ДМ?

Ну видимо, не тестилось.

Добавлено 29-04-2021 в 23:40:

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

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено ncuxonaT 29-04-2021 в 21:37:

Crystallize ДМ мог не тестировать на низком фпс, он же специально всё запускает в 1024х768. Если через переменный дельтатайм считается, то чем ниже фпс, тем больше глюков. Вот, анимации, например:


Отправлено Дядя Миша 30-04-2021 в 04:51:

В CL_LerpPoint условие под #ifdef, так вот то что под 1 - оно больше подходит для синглплеера, а то что в отключённой части - больше для мульта. Надо тестировать.

__________________
My Projects: download page

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


Отправлено SNMetamorph 30-04-2021 в 08:13:

Цитата:
Дядя Миша писал:
В CL_LerpPoint условие под #ifdef, так вот то что под 1 - оно больше подходит для синглплеера, а то что в отключённой части - больше для мульта. Надо тестировать.

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

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 30-04-2021 в 10:04:

Последние версии мне уже некогда было тестировать по сети как следует.
Знаю что работает более или менее.

__________________
My Projects: download page

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


Отправлено SNMetamorph 30-04-2021 в 11:02:

Цитата:
Дядя Миша писал:
Последние версии мне уже некогда было тестировать по сети как следует.
Знаю что работает более или менее.

Можешь помочь нам с проблемой интерполяции? Мы заплатим.

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 30-04-2021 в 11:04:

Цитата:
SNMetamorph писал:
Мы заплатим.

Надо говорить "У нас твой кот"

__________________
My Projects: download page

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


Отправлено Aynekko 01-05-2021 в 12:59:

Хелп! Вот такая проблема… У меня нпс сидит в далекой комнате, и его видно через монитор. Там же лежит scripted_sentence. Так вот сентенс не играется почему-то. Нпс не шевелит ртом. Но если я ноуклипом подлечу к комнате, то сентенс работает. Ртом шевелит, звук идет. И если отлететь очень далеко, звук не пропадает (в том плане, что когда я прилетаю обратно, сентенс идет дальше, а не начинается сначала).
Как заставить звук запускаться принудительно, даже если игрок не в радиусе и не слышит его?

__________________
Мой мод на Xash


Отправлено Ku2zoff 01-05-2021 в 13:59:

Aynekko использовать хак с PVS, видимо. AddToFullPack, там энтити фильтруются по PVS. Поставь какой-нибудь спаунфлаг или флаг нужной сентенции, и добавь условие на этот флаг.


Отправлено Aynekko 01-05-2021 в 14:25:

Цитата:
Ku2zoff писал:
Aynekko использовать хак с PVS, видимо. AddToFullPack, там энтити фильтруются по PVS. Поставь какой-нибудь спаунфлаг или флаг нужной сентенции, и добавь условие на этот флаг.

Я частично решил проблему, переместив комнату поближе к той, где находится игрок. Комната маленькая и замкнутая, и игрока там не будет. Я думал, что т.к. func_monitor в ксаше рисует отображаемую локацию, то звук должен быть "виден"? Не понимаю, как это работает.
Понял только, что если игрок не в радиусе во время запуска, то звук сентенса вообще не запустится. Но если уже запустился, то ему вообще все равно на радиус и видимость.

__________________
Мой мод на Xash


Отправлено Ku2zoff 01-05-2021 в 17:06:

Цитата:
Aynekko писал:
Понял только, что если игрок не в радиусе во время запуска

Если сентенс не в PVS, скорее. А секвенции играются, если комната далеко? Вообще, попробуй активировать разные точечные энтити, и поглядеть, работают ли они.
Цитата:
Aynekko писал:
то звук должен быть "виден"?

Звук надо дублировать у монитора, а иначе будет только картинка.


Отправлено Aynekko 01-05-2021 в 17:15:

Цитата:
Ku2zoff писал:
Если сентенс не в PVS, скорее. А секвенции играются, если комната далеко? Вообще, попробуй активировать разные точечные энтити, и поглядеть, работают ли они.

Работает 100%, ибо есть алерт в startsentence, который успешно пишется в консоль:
C++ Source Code:
pTarget -> PlayScriptedSentence ( STRING(m_iszSentence), m_flDuration,  m_flVolume, m_flAttenuation, bConcurrent, pListener );
ALERT( at_console, "Playing sentence %s (%.1f)\n", STRING(m_iszSentence), m_flDuration );

PlayScriptedSentence ссылается на PlaySentence, в котором уже идет EMIT_SOUND_DYN. Почему и сделал такой вывод.

Цитата:
Ku2zoff писал:
Звук надо дублировать у монитора, а иначе будет только картинка.

В курсе. Я так и хотел сделать. Но сначала мне нужно было увидеть, что нпс двигает ртом, а потом уже ставить звук. Но увы.

И еще кое-что. Я уже сталкивался с такой проблемой со звуком. Была сцена, где включается камера в другой части карты и одновременно активируется звук, через мультименеджер. Звук не loop. Звук не включался, пока я не выставил в менджере задержку. Сначала камера, а потом звук через 0.75 сек.

__________________
Мой мод на Xash


Отправлено Дядя Миша 01-05-2021 в 17:36:

Я с этим багом бился еще лет 5 назад. Так мне и не хватило времени разобраться в чём там дело.

__________________
My Projects: download page

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


Отправлено Crystallize 01-05-2021 в 18:07:

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


Отправлено SNMetamorph 02-05-2021 в 11:34:

Цитата:
SNMetamorph писал:
но и плавно не стало.

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

Добавлено 02-05-2021 в 15:34:

А еще репортили, что то ли в QuaternionSlerp, то ли в QuaternionAngle происходит какой-то баг с вычислениями и в e->angles попадают невалидные значения

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 02-05-2021 в 12:54:

Цитата:
SNMetamorph писал:
А еще репортили, что то ли в QuaternionSlerp, то ли в QuaternionAngle происходит какой-то баг с вычислениями

Невалидное значение это NAN или INF.
То что на картинке вполне валидное.

__________________
My Projects: download page

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


Отправлено SNMetamorph 02-05-2021 в 13:37:

В CL_LerpPoint есть такого вида код:

C++ Source Code:
1
// for multiplayer
2
  if( cl_interp->value > 0.001f )
3
  {
4
    // manual lerp value (goldsrc mode)
5
    frac = ( cl.time - cl.mtime[0] ) / cl_interp->value;
6
  }
7
else if( server_frametime > 0.001f )
8
{
9
  // automatic lerp (classic mode)
10
  frac = ( cl.time - cl.mtime[1] ) / server_frametime;
11
}

Так вот, под первым if'ом в выражении так и должен стоять cl.mtime[0], или он должен быть cl.mtime[1] по аналогии со вторым выражением?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 02-05-2021 в 14:29:

SNMetamorph не помню. Проверь сам.

__________________
My Projects: download page

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


Отправлено SNMetamorph 02-05-2021 в 17:46:

Цитата:
Дядя Миша писал:
не помню. Проверь сам.

Поставил cl.mtime[1] и вроде всё нормально.
Еще потестил плавность в мультиплеере, почему-то на одном и том же сервере некоторые игроки плавные, а некоторые будто в 30 фпс рывками передвигаются. Причем от пинга это точно не зависит, тут видимо рейты/FPS какое-то влияние оказывают.

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено SNMetamorph 03-05-2021 в 18:13:

Всё же проблема никуда не делась. Она в каких-то ситуациях проявляется, а в каких-то нет.
Вот к примеру мы тестили с напарником на сервере, который он поднял. Напарник у меня дико лагал, а я у него отображался идеально плавно. Когда же я хостил сервер, и я и он отображались плавно.
https://www.youtube.com/watch?v=WRkI4B4lRTI

Проводил тесты, выяснил что этот баг не зависит от клиентского фреймтайма, серверного FPS (если он выше 20, конечно), настроек cmdrate/updaterate, но зато выяснилось что игрок у которого выставлен очень маленький rate (3500 например) будет у других отображаться дёрганно. Больше ничего в голову не приходит, даже не знаю как фиксить и куда дальше вести исследования. Еще беда в том, что этот баг как раз очень негативно отражается на самом игровом процессе.

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 03-05-2021 в 19:36:

Цитата:
SNMetamorph писал:
но зато выяснилось что игрок у которого выставлен очень маленький rate (3500 например) будет у других отображаться дёрганно.

так не выставляйте, например

Добавлено 03-05-2021 в 22:36:

cl_cmdrate
cl_updaterate
вот эти два квара отвечают за всё.

__________________
My Projects: download page

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


Отправлено SNMetamorph 03-05-2021 в 19:37:

Цитата:
Дядя Миша писал:
так не выставляйте, например

Ну оно и с нормальными рейтами лагает.

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Ku2zoff 04-05-2021 в 04:56:

Цитата:
Дядя Миша писал:
так не выставляйте, например

Я вообще никогда не крутил сетевые квары. Они не нужны от слова совсем, если интернет быстрее 1 Мбит/с и пинг ниже 90 мс. Это наследие модемной ISDN эпохи, так сказать. В ту же корзину можно бросить предиктинг оружий. Бывает, что лаги при выстреле заметны, если отключены клиентские пушки, но не более 500 мс. Было дело, я около 15 лет назад гамал в УТ2004 с пингом 500 мс. Занял второе место в 3х матчах. Будь пинг ниже - порвал бы всех нафиг


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

Цитата:
Ku2zoff писал:
Я вообще никогда не крутил сетевые квары. Они не нужны от слова совсем, если интернет быстрее 1 Мбит/с и пинг ниже 90 мс. Это наследие модемной ISDN эпохи, так сказать. В ту же корзину можно бросить предиктинг оружий.

Скажи это людям, которые живут за городом и у них ничего нет кроме крайне нестабильного мобильного интернета xD

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Ku2zoff 04-05-2021 в 12:50:

SNMetamorph играл через 3G роутер в кс 1.6 с пингом 80. Терпимо. Но серверов с таким низким пингом мало. Дело не столько в подключении, сколько в количестве прыжков через промежуточные домены до сервера. Даже говномобильный интернет настолько быстр по сравнению с модемным, что тем, кто застал ISDN, пинг покажется сказочно низким. Попытки играть по сети в идеальных условиях называются просто: зажрались


Отправлено Aynekko 04-05-2021 в 15:04:

Опять какая-то беда с моделями.
Вот картинка, тут 3 скриншота.
https://drive.google.com/file/d/1k4...iew?usp=sharing
Слева направо, просто поворачиваю камеру - модель исчезает, когда смотришь под углом 45 градусов (причем другая такая же, которая просто стоит чуть выше - нет), потом появляется. Если подойти к ним чуть ближе, то исчезнут вообще обе при малейшем повороте - практически в тот момент, когда с экрана исчезнет центр модели.
Эти модели имеют scale 1.5 (в редакторе выставил) и angles 0 0 0, env_static.

Далее скриншот:
https://drive.google.com/file/d/1xs...iew?usp=sharing
Это 2 абсолютно те же модели, на противоположной стороне. Env_static, scale 1.5, но angles уже 0 180 0. Проблема не наблюдается. Шо такое?

Скриншот модели в параноевском модель-вьювере:
https://drive.google.com/file/d/1t3...iew?usp=sharing

Сам файл модели здесь, если нужно:
https://drive.google.com/file/d/1gq...iew?usp=sharing

И еще кое-что (как говорил дядюшка Джеки Чана): если модель в 2-4 раза больше размером (саму модель), а в редакторе уже выставить скейл 0.5-0.25 - проблемы нет. Мне что теперь, все проблемные модели так скейлить? Ну благо их немного, но все же. Никогда не знаешь, когда напоришься опять…вроде и с моделью норм все в этот раз.

P.S. запустил карту в параное 2 - там баг тот же.

__________________
Мой мод на Xash


Отправлено nemyax 04-05-2021 в 15:30:

Aynekko
Известная проблема с куллингом трансформированных моделей. А если парентована трансформированная енв_модель, то у неё ещё и физический ббокс съезжает.


Отправлено Aynekko 04-05-2021 в 15:44:

Цитата:
nemyax писал:
Aynekko
Известная проблема с куллингом трансформированных моделей.

Странно, что далеко не все модели так себя ведут. Есть одна модель полок с ящиками - баг есть, с другой бага нет… Беда.

__________________
Мой мод на Xash


Отправлено nemyax 04-05-2021 в 15:48:

Значит одна повёрнута, а у другой единичные трансформации. Старайся, чтобы везде единичные были.


Отправлено Дядя Миша 04-05-2021 в 18:00:

Может рутовая кость в нехорошем месте.

__________________
My Projects: download page

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


Отправлено Aynekko 04-05-2021 в 18:26:

Да вроде норм все (см. аттач). Скрин модели выше тоже прикладывал, там кость отображается. И как объяснить тот факт, что при angles 0 0 0 баг есть, а при 0 180 0 все нормально?

__________________
Мой мод на Xash


Отправлено Aynekko 04-05-2021 в 18:47:

Дядя Миша спасибо ты навел меня на мысль. Проблема ушла. Сделал две кости по краям.

__________________
Мой мод на Xash


Отправлено SNMetamorph 15-05-2021 в 18:34:

Я создал в дискорде сервер, посвященный моддингу Xash3D и всему с этим связанному. Чтобы всех причастных людей собрать в одном месте для удобства. Еще потихоньку заполняю сервер всякой инфой, позже будут какие-нибудь подборки с туториалами, так что будет круто если вы хотите чем-то таким поделиться. В общем, приглашаю всех знатоков, а также тех, кто только учится
https://discord.gg/Ycgd9QqB9z

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Aynekko 29-05-2021 в 16:48:

Цитата:
Aynekko писал:
Проблема ушла. Сделал две кости по краям.

Короче, никуда проблема не ушла. С другой моделью та же хрень случилась, сделал то же самое для нее - кости по краям, один фиг исчезает. Единственное спасение - делать модели размером 2х, а в хаммере ставить как 0.5.

__________________
Мой мод на Xash


Отправлено Aynekko 06-06-2021 в 17:44:

Не могу найти туториал, как пользоваться травой.

UPD: нашел. grassinfo лежит в grass.pak. Дальше разберусь.

__________________
Мой мод на Xash


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

Туториала по траве, собсно, никогда и не было. Народ сам соображал и очень быстро.

__________________
My Projects: download page

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


Отправлено Aynekko 06-06-2021 в 19:59:

Да я никак не мог найти этот грассинфо. Ну в общем разобрался. Вот травку сделал у себя

__________________
Мой мод на Xash


Отправлено Дядя Миша 07-06-2021 в 05:24:

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

__________________
My Projects: download page

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


Отправлено Aynekko 21-06-2021 в 20:11:

Цитата:
Aynekko писал:
Короче, никуда проблема не ушла. С другой моделью та же хрень случилась, сделал то же самое для нее - кости по краям, один фиг исчезает. Единственное спасение - делать модели размером 2х, а в хаммере ставить как 0.5.


Как выяснилось, это тоже не всегда помогает. И проблема точно не в моделях. r_drawentites 5 показывает правильные боксы.
Далее - проблема исчезает, если перевести модель в cycler или env_model.
Причем я даже делал это через BSPEdit, не только компилируя карту. Просто переименовал env_static в env_model и модель перестала исчезать.

Если выставить gl_renderer 0 - модель все равно исчезает, если смотреть на край. Значит ли это, что нужно искать бяку в движке, а не в рендере ксаш мода?

P.S. как правило это происходит с продолговатыми моделями - трубы, фуры, длиннобазные грузовики. Но есть и исключения.

__________________
Мой мод на Xash


Отправлено Crystallize 22-06-2021 в 02:39:

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

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно


Отправлено Aynekko 22-06-2021 в 06:43:

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

C++ Source Code:
1
if( FBitSet( pev->spawnflags, SF_STATIC_SOLID ))
2
{
3
  m_pUserData = WorldPhysic->CreateStaticBodyFromEntity( this );
4
  RelinkEntity( TRUE );
5
}
6
else
7
{
8
  // remove from server
9
  //		MAKE_STATIC( edict() );
10
}

Да, модели несолидные все. Интересно, для чего это было сделано изначально?

__________________
Мой мод на Xash


Отправлено Дядя Миша 22-06-2021 в 07:55:

Это клиентские статики, да, у них были какие-то проблемы с отрисовкой.
Сделано было для экономии траффика.

Добавлено 22-06-2021 в 10:55:

В NT вместо этой системы - инстансы, там уже не имеет значения, солидные, несолидные.

__________________
My Projects: download page

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


Отправлено Aynekko 24-06-2021 в 13:19:

Кто-нибудь знает, как пофиксить этот треш с фонариком?
https://www.youtube.com/watch?v=zu1p7JKWGuw

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

__________________
Мой мод на Xash


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

Фонарик куда-то нетуда прицепился
К аттачменту штоле.

__________________
My Projects: download page

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


Отправлено Aynekko 24-06-2021 в 21:40:

Цитата:
Дядя Миша писал:
Фонарик куда-то нетуда прицепился
К аттачменту штоле.

Он изначально такой в ксашмоде, т.к. я его не трогал (на видео все ванильное касаемо фонарика), а проблема давняя, у товарища тоже проявляется. Такое происходит не со всеми моделями. Но в параное вообще с любой моделью все норм. Не подскажешь, где его прицеплять?
Я шаманил пока в HUD_UpdateFlashlight и трех функциях, что там задавались (R_SetupLightProjection и др.), но не получается этот кругляшок подвинуть - только текстуру или свет.

Добавлено 25-06-2021 в 00:40:

Нашел одну особенность. Оказывается у моделей, у которых багается освещение, был нестандартный скейл в редакторе. 0.75. Поставил 3 вида этого контейнера - 0.5, 1 и этот. 0.5 вообще не осветился фонариком. А вот 1 норм. Капец. Я даже не представляю, куда теперь копать.

__________________
Мой мод на Xash


Отправлено Дядя Миша 25-06-2021 в 05:08:

Цитата:
Aynekko писал:
нестандартный скейл в редакторе

в каком редакторе?

__________________
My Projects: download page

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


Отправлено Aynekko 25-06-2021 в 06:58:

Цитата:
Дядя Миша писал:
в каком редакторе?

В джеке. Задаю скейл через scale одним числом.

Добавлено 25-06-2021 в 09:58:

Теория подтвердилась. Вот на видео 2 модели.
https://www.youtube.com/watch?v=D61zjtAgE-0
Внешне они одинаковые, но у одной scale 1, а у другой 0.5.

__________________
Мой мод на Xash


Отправлено Дядя Миша 25-06-2021 в 07:23:

Кажется я вовсе этот скейл не учитываю в ксаш-моде для фонарика.
Полинился
В параное-то понятно, что учёл.

Добавлено 25-06-2021 в 10:23:

Там вообще какие-то были проблемы с этим скейлом, я забил именно для ксаш-мода.

__________________
My Projects: download page

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


Отправлено KorteZZ 25-06-2021 в 10:32:

Xash NT после релиза тоже будет такой сырой-баганый?

__________________

Killing Floor: Horzine Outbreak


Отправлено Aynekko 25-06-2021 в 12:50:

Короче говоря, не знаю как, но я добрался до файла studiodlight_fp.glsl и, закомментив там 2 строчки

C++ Source Code:
float spotCos = cos(fov+fov);
If( spotDot < spotCos ) discard;

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

__________________
Мой мод на Xash


Отправлено Дядя Миша 25-06-2021 в 16:06:

Цитата:
KorteZZ писал:
Xash NT после релиза тоже будет такой сырой-баганый?

Тебе виднее.

Цитата:
Aynekko писал:
Похоже и правда нужна проверка на скейл.

Я не помню уже что там нужно. Но со скейлом проблемы были, да.

__________________
My Projects: download page

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


Отправлено Aynekko 26-06-2021 в 12:40:

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

C++ Source Code:
float spotCos = cos(fov+fov);
If( spotDot < spotCos ) discard;

в файле glsl/studiodlight_fp.glsl - это "пофиксит" хотя бы фонарик на моделях со скейлом < 1. Если больше 1, то увы. Еще можно сделать фонарик чуть ярче в этой строчке
C++ Source Code:
light *= 2 * texture2DProj( u_ProjectMap, var_ProjCoord ).rgb;

я тут добавил двойку.

Из всего, что смог нарыть - умножение в шейдере bonematrix на 2 начинает проявлять свет на бОльших моделях, а на моделях с единичным скейлом проявляется эффект, идентичный ранее моделям со скейлом 0.5. Такое ощущение, что шейдер не получает скейл кости? Я в этом плохо понимаю.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-06-2021 в 13:01:

Там в освещение передаётся матрица с идентичным скейлом. Почему так - не помню, но были проблемы с экономией долбаных юниформов, чтобы у всяких маргинальных товарищей ксаш-мод работал на ихнем железе конца 1880-х годов. Отсюда и лезут все эти проблемы. С параноей я так не заморачивался и там нет этого.

__________________
My Projects: download page

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


Отправлено Aynekko 26-06-2021 в 13:09:

Цитата:
Дядя Миша писал:
Там в освещение передаётся матрица с идентичным скейлом

Может ты имел в виду "единичным"?

То есть надо как-то заскейлить bonematrix до передачи в шейдер?

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-06-2021 в 13:28:

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

__________________
My Projects: download page

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


Отправлено Aynekko 03-07-2021 в 08:17:

Год назад писал о неработающих кварах в меню:

Цитата:
Aynekko писал:
Подскажите по дурацкому вопросу. Т.к. это в ксаше, то спрашиваю здесь. В общем я себе в меню добавил галочку, которая меняет квар с 0 на 1 и обратно. Она находится на сервере. Дело в том, что клиент этот квар не видит. Если есть карта-бэкграунд или во время игры, квар сохраняется в конфиг и в меню. А если запустить игру без карты-бэкграунда, то сервер.длл еще не будет загружен, а вместе с ним и квар. После переключения галочки в меню я получаю сообщение в консоль вида: "Cvar_Set: variable not found"

Как зарегать его в клиенте и чтобы значение бралось из конфига?

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

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

Добавлено 03-07-2021 в 11:17:

А, нифига. Я думал они просто считываться будут. Но нет. Сервак теперь не признает эти квары. Вот напасть-то.

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-07-2021 в 08:41:

Ну естественно. Это же совершенно разные квары.

Добавлено 03-07-2021 в 11:40:

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

Добавлено 03-07-2021 в 11:41:

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

__________________
My Projects: download page

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


Отправлено Aynekko 03-07-2021 в 08:50:

Цитата:
Дядя Миша писал:
Вот я ж почему и думаю, разработчик, вместо того чтобы делать игру - ковыряется в движке. Т.е. сорцы лучше не давать.

Ну почему же сразу не давать-то? Я и монстров себе сделал, и меню переделал под себя. Много всякого сделал на свой вкус и цвет. Ну мне просто интересно этим заниматься.
К тому же найдутся умельцы, которые займутся движком дальше, вот FWGS тому пример. Без исходников ничего бы не было… Они там голосовой чат кажется делают и RTX прикручивают на какой-то стадии, если я не ошибаюсь.

__________________
Мой мод на Xash


Отправлено Aynekko 26-07-2021 в 22:03:

Путем нехитрых манипуляций с csg удалось скомпилить карту размером 131к и нормально побегать. Если бы не одно но. За границами 32 тысячи от центра начинает исчезать скайбокс (когда смотришь в сторону от центра), нет взрывов и трейсеров пуль. Гранаты есть и кидаются - это IsInWorld я увеличил. А вот почему такое происходит - не пойму. В какой лимит уперся? Можно ли его поднять?

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-07-2021 в 06:03:

Ищем по ENGINE_WRITE_LARGE_COORD и смотрим что нам мешает.

__________________
My Projects: download page

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


Отправлено Aynekko 27-07-2021 в 07:46:

Нашел такое

C++ Source Code:
1
// clamp it right
2
if( FBitSet( host.features, ENGINE_WRITE_LARGE_COORD ))
3
{
4
  if( sv_zmax.value > 131070.0f )
5
    Cvar_SetValue( "sv_zmax", 131070.0f );
6
}
7
else
8
{
9
  if( sv_zmax.value > 32767.0f )
10
    Cvar_SetValue( "sv_zmax", 32767.0f );
11
}

Ставил sv_zmax большим числом, но когда захожу на карту, sv_zmax меняется на 32000.

Или вот еще нашел
C++ Source Code:
1
float READ_COORD( void )
2
{
3
  // g-cont. we loose precision here but keep old size of coord variable!
4
  if( g_fRenderInitialized && RENDER_GET_PARM( PARM_FEATURES, 0 ) & ENGINE_WRITE_LARGE_COORD )
5
    return (float)(READ_SHORT());
6
  return (float)(READ_SHORT() * (1.0f / 8.0f));
7
}

Но я не понимаю в какой момент вообще ставится эта фича. То ли он автоматом определяет границы мира, то ли еще что…

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-07-2021 в 09:17:

А какой скайбокс исчезает? 3д-небо?

__________________
My Projects: download page

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


Отправлено Aynekko 27-07-2021 в 09:20:

Цитата:
Дядя Миша писал:
А какой скайбокс исчезает? 3д-небо?

Нет, обычный.

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-07-2021 в 09:59:

а sv_zmax чему равен?

__________________
My Projects: download page

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


Отправлено Aynekko 27-07-2021 в 10:12:

Цитата:
Дядя Миша писал:
а sv_zmax чему равен?

Перед загрузкой карты я его выставил 150 тысяч. Когда зпустил карту, посмотрел, он сменился на 32000 ровно.

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-07-2021 в 10:39:

А ты его выставь уже на загруженной карте и посмотри что из этого получится.
Будет ли скайбокс пропадать?

__________________
My Projects: download page

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


Отправлено Aynekko 27-07-2021 в 13:14:

Да, пропадает. Сейчас сделал тестовую карту с брашами один браш шириной 65к х 65к, другой 130к х 130к. Чтобы границы осязать так сказать. Так вот у самой границы 65к начинаются моргания брашей и скайбокса (2д). Гаусс начинает лучем стрелять в оригин мира. В общем багуется все. И да, я только сейчас понял, что такое команда zmax...это ограничение видимости всего лишь.

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-07-2021 в 13:17:

лучи, темпэнтити, да много чего, нормально работать не будут, 65к это предел, надо менять сетевой протокол.

А что там с небом я не знаю.

__________________
My Projects: download page

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


Отправлено Aynekko 27-07-2021 в 13:33:

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

То есть каким-то поднятием лимитов никак не отделаться?

__________________
Мой мод на Xash


Отправлено Crystallize 27-07-2021 в 13:43:

Ну сделай небо моделькой как др. Тресси (кстати где он)

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно


Отправлено Aynekko 27-07-2021 в 13:44:

Не, тут вся суть в том что нужно играбельное пространство в 130 тыщ. Причем монстры там воюют нормально. Только взрывов и пуль нет...

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-07-2021 в 14:37:

Цитата:
Aynekko писал:
То есть каким-то поднятием лимитов никак не отделаться?

нет. То что можно - настраивается через дельту. Лучи, темп-энтити используют старый механизм передачи, там надо в коде менять.

__________________
My Projects: download page

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


Отправлено SNMetamorph 27-07-2021 в 15:21:

Цитата:
Дядя Миша писал:
нет. То что можно - настраивается через дельту. Лучи, темп-энтити используют старый механизм передачи, там надо в коде менять.

Они работают через месседжи?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Aynekko 27-07-2021 в 15:38:

Вот видео, что происходит со скайбоксом. А если точнее, то со всей картой.
https://www.youtube.com/watch?v=t_fYpwet7G8
Серый браш размером 65к, зеленый 125к. Захожу за границу и начинается пропадание. Но если смотреть на центр мира, то все рисуется.

__________________
Мой мод на Xash


Отправлено JPEG 27-07-2021 в 15:39:

Цитата:
Aynekko писал:
Путем нехитрых манипуляций с csg удалось скомпилить карту размером 131к и нормально побегать. Если бы не одно но. За границами 32 тысячи от центра начинает исчезать скайбокс (когда смотришь в сторону от центра), нет взрывов и трейсеров пуль. Гранаты есть и кидаются - это IsInWorld я увеличил. А вот почему такое происходит - не пойму. В какой лимит уперся? Можно ли его поднять?

там по-идее нужно компилятор карт редактировать https://hlfx.ru/forum/showthread.ph...5769#post195769 у меня было такое, такой же глюк, возможно, если сильнее увеличить BOGUS_RANGE и некоторые другие лимиты с тем же числом, то поможет, но я забил

__________________
необычные моды half-life

перехожу на другой двиг


Отправлено Crystallize 27-07-2021 в 15:46:

Цитата:
Aynekko писал:
Не, тут вся суть в том что нужно играбельное пространство в 130 тыщ.

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

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно


Отправлено Aynekko 27-07-2021 в 15:59:

Цитата:
JPEG писал:
там по-идее нужно компилятор карт редактировать

Цитата:
Aynekko писал:
Путем нехитрых манипуляций с csg

Ну сделал там world_size увеличенный, а богус уже из них считается.
Цитата:
Crystallize писал:
Оно может оказаться неиграбельным, из-за недостатка тех же клипнодов или из-за полигонов выпадающих из-за потери точности флоата.

Я знаю. Я хочу сделать вайс сити в натуральную величину (просто модель, не собираюсь я там игру делать). А для моего мода сетки в 32 тысячи хватает с головой, карты и так гигантские.
Просто хотелось бы разобраться, можно ли вообще исправить это как-то. Увеличить точность всех этих делов даже при таких лимитах. У меня уже давно можно сказать своя версия ксаша и ксаш мода, там уже давно совместимости с халфой нет и работает только мой (ксаш-)мод.

__________________
Мой мод на Xash


Отправлено Дядя Миша 27-07-2021 в 18:58:

Цитата:
SNMetamorph писал:
Они работают через месседжи?

да, надо модифицировать WRITE_COORD и READ_COORD.

Цитата:
Aynekko писал:
Вот видео, что происходит со скайбоксом. А если точнее, то со всей картой.

r_nocull 1 помогает? Так бы и говорил, что пропадает всё, а то скайбокс, скайбокс.

Добавлено 27-07-2021 в 21:58:

common\bspfile.h

C++ Source Code:
1
#define WORLD_MINS			-32768
2
#define WORLD_MAXS			32768
3
#define WORLD_SIZE			( WORLD_MAXS - WORLD_MINS )
4
#define BOGUS_RANGE			WORLD_SIZE * 1.74	// half-diagonal

Вот эти размеры надо менять и пересобрать все утилиты.

__________________
My Projects: download page

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


Отправлено Aynekko 27-07-2021 в 19:48:

Цитата:
Дядя Миша писал:
r_nocull 1 помогает? Так бы и говорил, что пропадает всё, а то скайбокс, скайбокс.

Помогло! Я думал что скайбокс, т.к. модели не исчезали. А там были только модели. Потом уже с брашами протестил и увидел…
Цитата:
Дядя Миша писал:
Вот эти размеры надо менять и пересобрать все утилиты.

Это все сделал, но не помогло.

__________________
Мой мод на Xash


Отправлено SNMetamorph 27-07-2021 в 20:07:

Как в P2 реализована коллизия с моделями? Тоже через клипноды?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 28-07-2021 в 06:30:

SNMetamorph там из каждого треугольника создаются фейковые брашы, которые линкуются в AABB-tree. На больших картах довольно тормозно.

Добавлено 28-07-2021 в 09:30:

Цитата:
Aynekko писал:
Помогло!


C++ Source Code:
1
typedef struct
2
{
3
  int	planenum;
4
  short	children[2];		// negative numbers are -(leafs + 1), not nodes
5
  short	mins[3];			// <-- лимит +\- 32768
6
  short	maxs[3];
7
  word	firstface;
8
  word	numfaces;			// counting both sides
9
} dnode_t;

Это затронет формат BSP. Не советую этого делать.

__________________
My Projects: download page

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


Отправлено Aynekko 28-07-2021 в 10:08:

Цитата:
Дядя Миша писал:
Это затронет формат BSP. Не советую этого делать.

Ну да, карты стали ссылаться на invalid version. Видимо надо перекомпилировать все карты и про карты из халфы вообще забыть придется. Слишком фундаментально. Ну что ж, ладно.

Добавлено 28-07-2021 в 11:24:

Цитата:
Дядя Миша писал:
там из каждого треугольника создаются фейковые брашы, которые линкуются в AABB-tree. На больших картах довольно тормозно.

Я проверял одну и ту же карту в параное и ксаш-моде. Как так получается, что в параное лучше генерируется коллизия (в ксаш моде почти везде сквозь пол падаешь), и фпс в целом гораздо выше (опять же в моде падает до 40, а там 300-500). Почему коллизия такая жрущая в ксашмоде?

И странный вопрос может, можно ли сгенерить коллизию в параное и перетащить в ксашмод?

Добавлено 28-07-2021 в 13:08:

И еще вопрос. Карта начала вылетать с затекстуренными моделями, но когда они были незатекстуренные - не вылетало. Я так понимаю, это лимит текстур в моделях в целом. Его увеличить можно? Так как игра-то не лагает.
По отдельности модели грузит, а вместе вылет.

__________________
Мой мод на Xash


Отправлено Дядя Миша 28-07-2021 в 15:31:

Цитата:
Aynekko писал:
Слишком фундаментально.

Фатит труп насиловать
Всё что было можно выжать из халфы, я выжал.

Цитата:
Aynekko писал:
Как так получается, что в параное лучше генерируется коллизия (в ксаш моде почти везде сквозь пол падаешь), и фпс в целом гораздо выше (опять же в моде падает до 40, а там 300-500). Почему коллизия такая жрущая в ксашмоде?

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

Цитата:
Aynekko писал:
И странный вопрос может, можно ли сгенерить коллизию в параное и перетащить в ксашмод?

ксаш-мод эти файлики не грузит, у него кэширование средствами физикса.
Там какой механизм используется. Сперва физикс строит свой хулл. Потом на основе этого хулла генерятся брашы из треугольников, об которые коллидит игрок. Сделано это для того, чтобы у игрока была нормальная коллизия с физобъектами. Это довольно костыльный метод и вероятно он вообще не нужен, но в 2012-м году я решил эту задачку именно так. В параное наоборот нет никакого физического движка, а есть только коллизия со статиками. Она устроена по тому же принципу, но я исправил в ней разные ошибки, поэтому она более надёжная.

Цитата:
Aynekko писал:
Карта начала вылетать с затекстуренными моделями, но когда они были незатекстуренные - не вылетало

Что значит вылетать? Ошибку выдаёт в консоль? Исключение ловит?

__________________
My Projects: download page

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


Отправлено Aynekko 28-07-2021 в 17:20:

Цитата:
Дядя Миша писал:
Что значит вылетать? Ошибку выдаёт в консоль? Исключение ловит?

Уже разобрался. Поднял MAX_TEXTURES с 4096 до 8192 и все запустилось. Вывел текстуры в консоль - 4194. Вот и вылетало.

__________________
Мой мод на Xash


Отправлено SNMetamorph 28-07-2021 в 17:51:

Цитата:
Дядя Миша писал:
Там какой механизм используется. Сперва физикс строит свой хулл. Потом на основе этого хулла генерятся брашы из треугольников, об которые коллидит игрок. Сделано это для того, чтобы у игрока была нормальная коллизия с физобъектами. Это довольно костыльный метод и вероятно он вообще не нужен, но в 2012-м году я решил эту задачку именно так.

Можно теоретически сделать, чтобы вся коллизия с моделями была полностью на стороне PhysX?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


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

Цитата:
SNMetamorph писал:
Можно теоретически сделать, чтобы вся коллизия с моделями была полностью на стороне PhysX?

Она и так полностью на стороне физикса. Но не будем забывать, что у нас как бы два кода коллизии. Клипноды и средства самого физикса. По некоторым причинам (толи физикс слишком старый, то ли у меня руки кривые), но нормальную колизию сделать средствами одного физикса не получается.
Оно работает в целом. Но игрок не скользит вдоль плоскости, постоянно застревает и цепляется на ровном месте. Это бесит.
Поэтому я сделал вот такую альтернативную систему. Коллизия игрока с физ.объектами получается средствами физикса. Т.е. когда игрок передвигается к объекту, он его толкает хуллом физикса и это нормально выглядит. И одновременно когда игрок получает обратную связь от коллизии с этим объектом, используется меш, генерируемый налету для твёрдых тел и разово созданый для статиков. Брашы в виде достроенных треугольников. Колидить с такой оболочкой намного приятнее, полное ощущение, что это настоящие брашы. А если этот механизм откинуть, начнётся частичный эффект мешка с гамном.

__________________
My Projects: download page

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


Отправлено SNMetamorph 29-07-2021 в 11:41:

Цитата:
Дядя Миша писал:
Она и так полностью на стороне физикса. Но не будем забывать, что у нас как бы два кода коллизии. Клипноды и средства самого физикса. По некоторым причинам (толи физикс слишком старый, то ли у меня руки кривые), но нормальную колизию сделать средствами одного физикса не получается.
Оно работает в целом. Но игрок не скользит вдоль плоскости, постоянно застревает и цепляется на ровном месте. Это бесит.
Поэтому я сделал вот такую альтернативную систему. Коллизия игрока с физ.объектами получается средствами физикса. Т.е. когда игрок передвигается к объекту, он его толкает хуллом физикса и это нормально выглядит. И одновременно когда игрок получает обратную связь от коллизии с этим объектом, используется меш, генерируемый налету для твёрдых тел и разово созданый для статиков. Брашы в виде достроенных треугольников. Колидить с такой оболочкой намного приятнее, полное ощущение, что это настоящие брашы. А если этот механизм откинуть, начнётся частичный эффект мешка с гамном.

Как можно заоптимайзить физику на больших моделях? P2 вроде нормально тянет её, а в ксашмоде фпс просаживается.

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 29-07-2021 в 12:18:

Да ничего там не нормально. AABB-tree не особенно годится для таких задач.
Может Axial-BSP лучше справится? Или R-Tree.

__________________
My Projects: download page

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


Отправлено Next Day 30-07-2021 в 15:14:

Глюк в мультиплеере в версии 0.8

Всем привет делая свой мод /игру на Xash xt 0.8 я заметил что в мультиплеере есть глюк гейт секвенций при параметре gl_render 1, в версиях Xash xt 0.6 такова нет там все в порядке
Вот видео пример сервер
https://youtu.be/OM6dJF07Qfk
А вот клиент
https://youtu.be/jGzBBH2Wzvk

При отключенном рендери это проходит значит ошибка в коде рендера?

Как это исправить?


Отправлено Ku2zoff 30-07-2021 в 15:52:

Next Day емнип, то в ксашмоде гейтфрейм считается на сервере, а после шлётся на клиент. Вот где-то уже на клиенте гейтфрейм и гейтсеквенция берутся из клиентдаты, а не из плейерстейта. Я бы попробовал отрезать новый механизм, и считать гейт по-старинке, лишь на клиенте.


Отправлено Дядя Миша 30-07-2021 в 16:03:

Ксаш-мод, в мультиплеере работает неважно, он создавался для сингла.

__________________
My Projects: download page

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


Отправлено Next Day 30-07-2021 в 16:23:

Дядя Мишь в принци не считая этого глюка меня все устраивает.
Так это можно поправить? вить в 0.6 версии все в порядке!


Отправлено Дядя Миша 30-07-2021 в 17:40:

Надо разбираться почему клиент не перебирает ногами. Там может всё что угодно быть.

__________________
My Projects: download page

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


Отправлено Next Day 30-07-2021 в 17:47:

Дядя Мишь но это только при включен рендере gl_render 1
c выключенным вить и на сервере и клиенте все работает нормально


Отправлено SNMetamorph 30-07-2021 в 19:12:

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

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 30-07-2021 в 19:42:

Next Day да это не показатель. Там иной механизм используется.

__________________
My Projects: download page

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


Отправлено Next Day 30-07-2021 в 21:14:

Шансы есть?


Отправлено Дядя Миша 31-07-2021 в 06:21:

Next Day у кого? Я этим заниматься не буду.

__________________
My Projects: download page

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


Отправлено Next Day 31-07-2021 в 08:45:


Отправлено Aynekko 31-07-2021 в 18:10:

Сейчас выяснилась такая неприятная история. Вот мой qc файл.

C++ Source Code:
1
//reference mesh(es)
2
$body "mansion01" "mansion01"
3
$body "mansion02" "mansion02"
4
$body "mansion03" "mansion03"
5
$body "mansion04" "mansion04"
6
$body "mansion05" "mansion05"

Коллизия строится всегда только для первого body. Остальные тупо игнорятся. Проверил на двух моделях. Как построить коллизию для всех?
Может я просто неправильно пишу qc файл (в моделировании не силен). Модель, впрочем, нормально выглядит.

__________________
Мой мод на Xash


Отправлено Дядя Миша 31-07-2021 в 18:44:

Ну да, там только первый боди и учитывается. Я и забыл про это.
В параное этого бага нет.

Добавлено 31-07-2021 в 21:44:

Ну да, там только первый боди и учитывается. Я и забыл про это.
В параное этого бага нет.

__________________
My Projects: download page

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


Отправлено Aynekko 31-07-2021 в 20:20:

Цитата:
Дядя Миша писал:
Ну да, там только первый боди и учитывается. Я и забыл про это.
В параное этого бага нет.

Я кажись все пофиксил. Ну сделал по образу паранои. Теперь все боди запеклись.
А с застреванием в коллизии что-то вообще можно сделать?

__________________
Мой мод на Xash


Отправлено Crystallize 31-07-2021 в 20:24:

Цитата:
Aynekko писал:
У меня уже давно можно сказать своя версия ксаша и ксаш мода, там уже давно совместимости с халфой нет и работает только мой (ксаш-)мод.

Как Юнити который надо обязательно дописывать под себя

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно


Отправлено Next Day 31-07-2021 в 20:55:

Этот код отвечает за гейты


if( m_iGaitSequence )
{
pseqdesc = (mstudioseqdesc_t *)((byte *)m_pStudioHeader + m_pStudioHeader->seqindex) + m_pCurrentEntity->curstate.sequence;

// calc blend (FXIME: move to the server)
StudioPlayerBlend( pseqdesc, iBlend, angles[PITCH] );
m_pCurrentEntity->curstate.blending[0] = iBlend;
m_pCurrentEntity->latched.prevblending[0] = iBlend;
m_pPlayerInfo->gaitsequence = m_iGaitSequence;
}

Добавлено 31-07-2021 в 23:55:

Как ево правильно поправить ?


Отправлено Next Day 01-08-2021 в 05:26:

Этот код отвечает за гейты на сервере в мультиплеере на одиночной игре он не отрожается.
Дядя Мишь где может быть код сылающийся на этот для мультиплеера?
Я так понимаю если ево убрать поправить то гейты будут идти с клиента как при gl.render 1


Отправлено Дядя Миша 01-08-2021 в 06:53:

Цитата:
Aynekko писал:
Ну сделал по образу паранои

И прямо ни разу не ошибся? Ну смотри чтобы утечек памяти не было.

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

Часто застревает?

Цитата:
Crystallize писал:
Как Юнити который надо обязательно дописывать под себя

у Юнити всё же закрытые сорцы.

Цитата:
Next Day писал:
Как ево правильно поправить ?

в EstimateGaitFrame надо смотреть чему равен m_pCurrentEntity->curstate.fuser1;
он должен меняться, когда игрок бегает. И в сингле и в мульте.
Вот для начала проверь это.

__________________
My Projects: download page

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


Отправлено Aynekko 01-08-2021 в 07:07:

Цитата:
Дядя Миша писал:
И прямо ни разу не ошибся? Ну смотри чтобы утечек памяти не было

Вполне мог ошибиться. А так коллизия построилась для всех моделей и всех боди, phys_debug показывает коллизию всй модели, ходить можно.
Застревания на моделях остались в тех же местах, что и до этого исправления. Вот тут можешь глянуть новый код функции, буду только признателен если там что не так.
https://github.com/SNMetamorph/PrimeXT/issues/30

Цитата:
Дядя Миша писал:
Часто застревает?

Очень часто. И провалы сквозь пол местами (до изменения функции тоже были в тех же местах). Дебаг показывает что коллизия там есть.
Иногда идешь, зацепляешься за что-то и все - намертво встрял.
У товарища тоже мод тестировал на ванили еще - перепрыгивал через заборчик и просто застрял в нем. Без ноуклипа не выбраться.

__________________
Мой мод на Xash


Отправлено nekonomicon 01-08-2021 в 10:32:

Цитата:
Дядя Миша писал:
у Юнити всё же закрытые сорцы

Открытые, на гитхабе лежат, правда с припиской "руками не трогать!".
Правда товарищ про SDK говорил.


Отправлено Дядя Миша 01-08-2021 в 11:44:

Цитата:
Aynekko писал:
Очень часто. И провалы сквозь пол местами

это потому что коллизия строится не из исходной геометрии, а из того, что с нею сделал физикс. А он её как-то апчхимизирует чтоли. Ну вообщем я эти дыры ловил еще в 2013-м году, так и забил.
В параное, там колоизация строится из исходной геометрии, соответственно таких проблем нет. Но и физобъектов там ессно тоже нет.

Цитата:
Aynekko писал:
Вот тут можешь глянуть новый код функции, буду только признателен если там что не так.

вроде всё верно.

Добавлено 01-08-2021 в 14:35:

Цитата:
nekonomicon писал:
Открытые, на гитхабе лежат, правда с припиской "руками не трогать!".

Это SDK на сишарпе.

Добавлено 01-08-2021 в 14:38:

Вообще, я тут немножко погуглил по теме, но не понял. Юнити весь на СиШарпе написан чтоли? Как NeoAxis?

Добавлено 01-08-2021 в 14:44:

Кстати, вот вспомнил за NeoAxis. Ему теперь в минимальных требованиях нужен Win10 x64. Самое время посмотреть, что автор там намутил.

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

__________________
My Projects: download page

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


Отправлено KorteZZ 01-08-2021 в 12:34:

Цитата:
Дядя Миша писал:
Ну вообщем я эти дыры ловил еще в 2013-м году, так и забил.

В NT тоже так будет?)

__________________

Killing Floor: Horzine Outbreak


Отправлено Дядя Миша 01-08-2021 в 14:19:

KorteZZ ну так скачал бы и заценил. А то ты только вопросы задаёшь.

__________________
My Projects: download page

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


Отправлено KorteZZ 02-08-2021 в 01:21:

А я откуда узнаю после скачивания - забьешь ты на это дело или нет? На Ксаш забил, на Параною забил... дальше NT?
На данный момент я не вижу необходимости в NT. А брать кредит ради него я не хочу)

__________________

Killing Floor: Horzine Outbreak


Отправлено Дядя Миша 02-08-2021 в 06:17:

Цитата:
KorteZZ писал:
На Ксаш забил, на Параною забил...

О прекращении техподдержки ксаш-мода и паранои, я твердил за несколько лет до этого. И раза три сдвигал эти сроки вправо.
И все молчали, всех всё устраивало. Потом я выложил их полные сорцы, + до сих пор отвечаю на вопросы по тем или иным проблемам. Это называется забил?

Цитата:
KorteZZ писал:
А брать кредит ради него я не хочу)

Да тут ипотека нужна, а не кредит.

__________________
My Projects: download page

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


Отправлено SNMetamorph 02-08-2021 в 08:19:

Цитата:
Дядя Миша писал:
это потому что коллизия строится не из исходной геометрии, а из того, что с нею сделал физикс. А он её как-то апчхимизирует чтоли.

Не знаю как в старых хидерах Novodex, но в PhysX это поведение отключаемое

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено SNMetamorph 02-08-2021 в 15:43:

C++ Source Code:
if( CVAR_GET_POINTER( "host_clientloaded" ) != NULL )
  g_fXashEngine = TRUE;

На что эта проверка в коде П2? На то что ее под ксашем запустили что ле? А разве ее можно не под ксашем запустить?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 02-08-2021 в 18:00:

Цитата:
SNMetamorph писал:
А разве ее можно не под ксашем запустить?

Теоретически можно. Но я давно не пробовал.

__________________
My Projects: download page

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


Отправлено KorteZZ 03-08-2021 в 00:46:

Цитата:
Дядя Миша писал:
Это называется забил?

Так сам же говоришь - забил на то, забил на это...

__________________

Killing Floor: Horzine Outbreak


Отправлено Дядя Миша 03-08-2021 в 05:59:

KorteZZ У опенсорс проектов всегда остаётся лёгкий налёт недоделанности. Уже хотя бы для того, чтобы и остальные тоже получили радость от творчества.

__________________
My Projects: download page

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


Отправлено SNMetamorph 04-08-2021 в 17:41:

Столкнулся с проблемой при переносе рендера P2 в ксашмод, в п2шном студиомодельном рендере нет функции StudioSetBonesExternal, при этом между ксашмодовским и п2шным рендерами слишком много различий чтобы просто взять и скопировать эту функцию из одного места в другое. И я не пойму как эту функцию адаптировать к п2шному рендеру

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 04-08-2021 в 18:32:

Забей на нее, это только для веровок с развесовкой.
Экспериментальная функция.

Добавлено 04-08-2021 в 21:32:

И она в сущности очень простая.
StudioCalcBonesProcedural
и
StudioSetBonesExternal
Первую вызываешь из StudioSetupBones, вторая парсит позиции костей с сервера. Можно так кстати рагдоллы делать, но только для сингла, траффик.

__________________
My Projects: download page

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


Отправлено SNMetamorph 04-08-2021 в 18:43:

Цитата:
Дядя Миша писал:
Забей на нее, это только для веровок с развесовкой.
Экспериментальная функция.

Я видел что там в каментах к ней написано "replace it with special delta-message in engine", правда мне пока не особо понятно что это значит.
Конечно, не хотелось бы пока ломать функционал веревок, но видимо придётся это сделать временно.

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 04-08-2021 в 18:58:

Цитата:
SNMetamorph писал:
"replace it with special delta-message in engine", правда мне пока не особо понятно что это значит.

Это значит что надо написать движковую функцию, которая будет дельтить кости в рамках одной мессаги между соседями, для экономии траффика.
Но для сингла это особого значения не имеет.

Цитата:
SNMetamorph писал:
Конечно, не хотелось бы пока ломать функционал веревок

это сломает только один тип веровок - модель с развесовкой. Классические будет работать.

__________________
My Projects: download page

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


Отправлено Aynekko 04-08-2021 в 21:13:

TE_SPARKS виден сквозь модели. И еще сквозь модели видны спрайты, приаттаченные к монстрам (глаз гарга например). Я думал, что проблема со всеми темпэнтитями, но TE_SMOKE нормально себя ведет. С рендерер 0 проблемы нет.

__________________
Мой мод на Xash


Отправлено Ku2zoff 05-08-2021 в 03:03:

Цитата:
SNMetamorph писал:
не хотелось бы пока ломать функционал веревок

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


Отправлено Дядя Миша 05-08-2021 в 05:38:

void CSpriteModelRenderer :: SpriteDrawModel( void )

посравнивать отличия с движковой

void R_DrawSpriteModel( cl_entity_t *e )

__________________
My Projects: download page

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


Отправлено SNMetamorph 05-08-2021 в 08:21:

Зачем в ксашмоде захардкоженый список декалей?

C++ Source Code:
1
DLL_DECALLIST gDecals[] = {
2
  { "{shot1",	0 },		// DECAL_GUNSHOT1
3
  { "{shot2",	0 },		// DECAL_GUNSHOT2
4
  { "{shot3",0 },			// DECAL_GUNSHOT3
5
  { "{shot4",	0 },		// DECAL_GUNSHOT4
6
  { "{shot5",	0 },		// DECAL_GUNSHOT5
7
  { "{lambda01", 0 },		// DECAL_LAMBDA1
8
  { "{lambda02", 0 },		// DECAL_LAMBDA2

В параное, как я понял, индекс декали ищется по имени через pfnDecalIndex и все работает. Почему в ксашмоде так, есть какие-то неочевидные ньюансы?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Дядя Миша 05-08-2021 в 09:47:

Этож халфовский список еще из SDK.

__________________
My Projects: download page

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


Отправлено Aynekko 05-08-2021 в 17:44:

Цитата:
Aynekko писал:
TE_SPARKS виден сквозь модели. И еще сквозь модели видны спрайты, приаттаченные к монстрам (глаз гарга например). Я думал, что проблема со всеми темпэнтитями, но TE_SMOKE нормально себя ведет. С рендерер 0 проблемы нет.

Нашел где проблема. Спарк использует режим glow, а у него прописано pglDisable( GL_DEPTH_TEST ). Буду думать как обойти. Этот спарк использует спрайт рикошета. А ему этот pglDisable нужен, иначе спрайт будет утоплен в стену. Наверное проще просто переделать спарк.

__________________
Мой мод на Xash


Отправлено Дядя Миша 05-08-2021 в 18:38:

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

__________________
My Projects: download page

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


Отправлено Aynekko 05-08-2021 в 21:28:

Еще интересная находка нашлась. Если энтитей на карте (всех) больше 2048, то у монстра не аттачится спрайтовый глаз. Задается так, в спауне монстра:

C++ Source Code:
AlienEye = CSprite::SpriteCreate( ALIEN_EYE, GetAbsOrigin(), TRUE );
AlienEye->SetAttachment( edict(), 7 );

Спрайт просто появляется в оригине монстра и там же и остается, даже если монстр уйдет. После смерти монстра исчезает, как положено. Лимит вроде как явный. Есть идеи у кого?

__________________
Мой мод на Xash


Отправлено Дядя Миша 06-08-2021 в 06:44:

DEFINE_DELTA( skin, DT_SHORT | DT_SIGNED, 9, 1.0 ),

8 бит на индекс аттача. А отрицательный скин задаёт контентсы.

__________________
My Projects: download page

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


Отправлено Aynekko 06-08-2021 в 07:17:

Хмм ну да, в SetAttachment идет

C++ Source Code:
pev->skin = ENTINDEX(pEntity);

То есть лимит этого числа 2048.
Я попробовал прописать в дельте для skin и DT_INTEGER, 31, 1.0, и DT_SHORT | DT_SIGNED, 17, 1.0 - все равно не помогло почему-то.

__________________
Мой мод на Xash


Отправлено Дядя Миша 06-08-2021 в 08:25:

Цитата:
Aynekko писал:
То есть лимит этого числа 2048.

9 бит, один на знак, лимит 256.
Там надо поставить 13 или 14.
в секции Entity_Encode.

__________________
My Projects: download page

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


Отправлено Aynekko 06-08-2021 в 08:37:

Цитата:
Дядя Миша писал:
Там надо поставить 13 или 14.
в секции Entity_Encode.

C++ Source Code:
DEFINE_DELTA( skin, DT_SHORT | DT_SIGNED, 14, 1.0 ),

13 тоже пробовал. Не хотит
Если это важно, монстра спавню через консоль - на карте уже 2150 энтитей.

__________________
Мой мод на Xash


Отправлено Дядя Миша 06-08-2021 в 09:39:

Может где-то ограничение, надо разбираться.

__________________
My Projects: download page

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


Отправлено Aynekko 06-08-2021 в 10:02:

Вот такое выяснил. В SetAttachment поменял aiment

C++ Source Code:
pev->aiment = INDEXENT(1);// pEntity;

Спрайт после спавна монстра прикрепился к игроку и нормально за ним следует.

__________________
Мой мод на Xash


Отправлено Дядя Миша 06-08-2021 в 11:31:

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

__________________
My Projects: download page

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


Отправлено SNMetamorph 06-08-2021 в 14:18:

Там дело было в том, что в дельте для aiment не хватало битов, короче весьма банально

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)


Отправлено Aynekko 06-08-2021 в 16:07:

Цитата:
SNMetamorph писал:
в дельте для aiment не хватало битов

Ага. А я искал…
C++ Source Code:
DEFINE_DELTA( aiment, DT_INTEGER, 11, 1.0 ),


Теперь хочу разобраться с этим. Тут человек спрашивал, но т.к. мне тоже нужно, я тоже занялся.
Цитата:
Next Day писал:
Всем привет делая свой мод /игру на Xash xt 0.8 я заметил что в мультиплеере есть глюк гейт секвенций при параметре gl_render 1, в версиях Xash xt 0.6 такова нет там все в порядке
Вот видео пример сервер
https://youtu.be/OM6dJF07Qfk
А вот клиент
https://youtu.be/jGzBBH2Wzvk

Цитата:
Дядя Миша писал:
в EstimateGaitFrame надо смотреть чему равен m_pCurrentEntity->curstate.fuser1;
он должен меняться, когда игрок бегает. И в сингле и в мульте.
Вот для начала проверь это.

Проверил. Он всегда 0.

Добавлено 06-08-2021 в 19:07:

Так. У меня был закомментирован StudioGaitFrameAdvance в PostThink игрока. Какой-то движ у меня уже был насчет этого, видимо. Сейчас значение меняется.
Внешне вроде все хорошо, только в мультиплеере нет. Клиент начинает тоже ногами двигать, когда сервер ходит. В общем, то же самое что и на видео у товарища.

__________________
Мой мод на Xash


Отправлено Ku2zoff 06-08-2021 в 16:24:

Aynekko смотри индекс m_pCurrentEntity. Наверное, клиенту почему-то прилетает индекс игрока-сервера.


Отправлено Дядя Миша 06-08-2021 в 17:32:

Ну хорошо, что вы и без меня уже потихоньку во всём разбираетесь.

__________________
My Projects: download page

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


Отправлено Aynekko 06-08-2021 в 18:13:

В общем вот такой спам в консоль. Выставил в StudioEstimateGaitFrame

C++ Source Code:
gEngfuncs.Con_Printf("number %i, fuser1 %f\n", m_pCurrentEntity->curstate.number, m_pCurrentEntity->curstate.fuser1);

Когда один игрок не видит другого в кадре, я вижу свой номер. Сервер 1, клиент 2. Когда второй игрок в кадре - тут как на скриншоте: пишутся оба.
А еще, когда клиент прыгает, fuser1 обнуляется, а у сервера нет.
Ну и еще баг. Когда идешь боком и стреляешь, игрока дергает в ту сторону, в которую идешь. Может особенность thirdperson.

__________________
Мой мод на Xash


Отправлено Ku2zoff 07-08-2021 в 05:18:

Цитата:
Aynekko писал:
пишутся оба

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


Отправлено Aynekko 07-08-2021 в 10:49:

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

Добавлено 07-08-2021 в 12:23:

Закомментирование этого кода в StudioSetUpTransform действительно привело к тому, что теперь никто не двигает ногами, но и друг на друга клиент-сервер больше не влияют. Значит действительно надо на сервер переносить. Вопрос как?

C++ Source Code:
1
// calc blend (FXIME: move to the server)
2
//			StudioPlayerBlend( pseqdesc, iBlend, angles[PITCH] );
3
//			m_pCurrentEntity->curstate.blending[0] = iBlend;
4
//			m_pCurrentEntity->latched.prevblending[0] = iBlend;
5
//			m_pPlayerInfo->gaitsequence = m_iGaitSequence;


Добавлено 07-08-2021 в 13:49:

Вроде все починилось, лол. Правда все равно игрока чуть дергает при поворотах. Поменял одну строчку всего лишь.
C++ Source Code:
m_pPlayerInfo->gaitsequence = m_pCurrentEntity->curstate.gaitsequence;// m_iGaitSequence;

__________________
Мой мод на Xash


Отправлено Дядя Миша 07-08-2021 в 10:56:

Сравнивайте с параноей в спорных моментах.

__________________
My Projects: download page

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


Отправлено Aynekko 07-08-2021 в 12:29:

C++ Source Code:
if( m_pCurrentEntity->curstate.renderfx != kRenderFxDeadPlayer )
  m_iGaitSequence = IEngineStudio.GetPlayerState(m_nPlayerIndex)->gaitsequence;

m_nPlayerIndex всегда равен нулю для обоих игроков, почему-то. Не могу понять, откуда он вообще берется.

Добавлено 07-08-2021 в 15:29:

m_pPlayerInfo->userid тоже 0 для обоих игроков

__________________
Мой мод на Xash


Отправлено Aynekko 07-08-2021 в 17:33:

Цитата:
Aynekko писал:
m_nPlayerIndex всегда равен нулю для обоих игроков

В общем задал вот так, тестил клиент и сервер, более менее все окей. Но не понимаю, почему же m_nPlayerIndex не достается.
Добавил тут первую строчку:
C++ Source Code:
m_nPlayerIndex = m_pCurrentEntity->curstate.number - 1;
m_pPlayerInfo = IEngineStudio.PlayerInfo(m_nPlayerIndex);

__________________
Мой мод на Xash


Отправлено Aynekko 08-08-2021 в 11:19:

Цитата:
Ku2zoff писал:
Next Day емнип, то в ксашмоде гейтфрейм считается на сервере, а после шлётся на клиент. Вот где-то уже на клиенте гейтфрейм и гейтсеквенция берутся из клиентдаты, а не из плейерстейта. Я бы попробовал отрезать новый механизм, и считать гейт по-старинке, лишь на клиенте.

Вот кстати да, я копался-копался и действительно, если отключить гейт на сервере, то renderer 0 работает без багов. Зачем его вообще на сервер перенесли?

__________________
Мой мод на Xash


Отправлено Дядя Миша 08-08-2021 в 11:56:

Цитата:
Aynekko писал:
Зачем его вообще на сервер перенесли?

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

На клиенте он был по единственной причине - экономия траффика.

__________________
My Projects: download page

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


Отправлено Aynekko 08-08-2021 в 14:51:

Почему такое происходит? Я только примерно понял где копать. Дальше не пойму. Тут сначала рендерер 1, потом 0.
https://www.youtube.com/watch?v=XDULytVRbY8

__________________
Мой мод на Xash


Отправлено Дядя Миша 08-08-2021 в 15:19:

Серверный гейт и так был недоделан, а вы его теперь окончательно доломали.

__________________
My Projects: download page

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


Отправлено Ku2zoff 08-08-2021 в 15:32:

Цитата:
Дядя Миша писал:
Серверный гейт и так был недоделан, а вы его теперь окончательно доломали.

Потому что по-хорошему, его надо делать сначала для монстров, а потом, как побочку, для игроков. Для последних это не критично. Норот почти 23 года играет в мультиплеер халфы, и до сих пор не в курсе, что никакого серверного гейта нет, и серверные хитбоксы ног не двигаются дальше нулевого кадра. Разве что в каэсочке, но это совсем другая история. И там нет синхронизации, насколько я могу судить по сорцам ReGameDLL.


Отправлено Aynekko 08-08-2021 в 17:48:

Цитата:
Дядя Миша писал:
Серверный гейт и так был недоделан, а вы его теперь окончательно доломали.

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

__________________
Мой мод на Xash


Отправлено Дядя Миша 08-08-2021 в 18:18:

Цитата:
Ku2zoff писал:
и до сих пор не в курсе, что никакого серверного гейта нет, и серверные хитбоксы ног не двигаются дальше нулевого кадра

Вот. И это тоже должно было починиться. Правда особого смысла тут нет, норот всё равно в башку целится.

__________________
My Projects: download page

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


Отправлено KorteZZ 09-08-2021 в 05:18:

А если противник играет за монстра, у которого голова между ног?

__________________

Killing Floor: Horzine Outbreak


Отправлено Дядя Миша 09-08-2021 в 06:48:

В халфе референс хитбоксов ВСЕГДА берётся с player.mdl
чтобы не читерили. В ку3 действительно был такой перс, но я не помню как ему урон наносился.

__________________
My Projects: download page

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


Отправлено KorteZZ 09-08-2021 в 19:29:

А в Natural Selection как?

__________________

Killing Floor: Horzine Outbreak


Отправлено Ku2zoff 09-08-2021 в 19:39:

KorteZZ хитбоксы берутся от модели, которая задаётся в CBasePlayer::Spawn. Для каждого класса устанавливается своя "референсная" модель с правильными хитбоксами. Допустим, есть выбор по pev->playerclass. Для каждого плейеркласса будет своя "референсная" модель с набором правильных хитбокссов, и, что не менее важно, анимаций.


Отправлено KorteZZ 10-08-2021 в 02:57:

Ku2zoff Ого! Спасибо!
Вот за что тебя люблю, так это за то, что ты прямо отвечаешь на вопрос, без нравоучений и выпендрежа

__________________

Killing Floor: Horzine Outbreak


Отправлено Aynekko 10-08-2021 в 07:53:

Цитата:
Aynekko писал:
Почему такое происходит? Я только примерно понял где копать. Дальше не пойму. Тут сначала рендерер 1, потом 0.
https://www.youtube.com/watch?v=XDULytVRbY8

Цитата:
Дядя Миша писал:
Сравнивайте с параноей в спорных моментах.

Посмотрел я параною от третьего лица. Там все то же самое, что и на видео. Так что копировать из паранои смысла нет. Все так же сломано.

__________________
Мой мод на Xash


Отправлено Aynekko 12-08-2021 в 21:34:

Копался несколько дней, обнаружил такое (да-да, я все насчет гейтсиквенсов). Вот лог (сервер смотрит на клиента):

C++ Source Code:
1
[2021:08:13|00:25:55] ind 1 tr.time 39.094936 curanimtime 39.090759 prevanimtime 39.074093 dadt 0.041771
2
[2021:08:13|00:25:55] ind 1 tr.time 39.099102 curanimtime 39.090759 prevanimtime 39.074093 dadt 0.083427
3
[2021:08:13|00:25:55] ind 1 tr.time 39.103271 curanimtime 39.090759 prevanimtime 39.074093 dadt 0.125122
4
[2021:08:13|00:25:55] ind 1 tr.time 39.107437 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.000000
5
[2021:08:13|00:25:55] ind 1 tr.time 39.111607 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.041695
6
[2021:08:13|00:25:55] ind 1 tr.time 39.115772 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.083351
7
[2021:08:13|00:25:55] ind 1 tr.time 39.119938 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.125008
8
[2021:08:13|00:25:55] ind 1 tr.time 39.124107 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.166702
9
[2021:08:13|00:25:55] ind 1 tr.time 39.128277 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.000000
10
[2021:08:13|00:25:55] ind 1 tr.time 39.132446 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.041695
11
[2021:08:13|00:25:55] ind 1 tr.time 39.136612 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.083351
12
[2021:08:13|00:25:55] ind 1 tr.time 39.140781 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.125046
13
[2021:08:13|00:25:55] ind 1 tr.time 39.144947 curanimtime 39.144947 prevanimtime 39.128277 dadt 0.000000
14
[2021:08:13|00:25:55] ind 1 tr.time 39.149117 curanimtime 39.144947 prevanimtime 39.128277 dadt 0.041695

Проверку выводил здесь:
C++ Source Code:
1
float CStudioModelRenderer::StudioEstimateInterpolant(void)
2
{
3
  float dadt = 1.0;
4
 
5
  if (m_fDoInterp && (m_pCurrentEntity->curstate.animtime >= m_pCurrentEntity->latched.prevanimtime + 0.01f))
6
  {
7
    dadt = (tr.time - m_pCurrentEntity->curstate.animtime) / 0.1f;
8
 
9
    if (dadt > 2.0f)
10
      dadt = 2.0f;
11
  }
12
  if (m_pPlayerInfo)
13
  {
14
    gEngfuncs.Con_Printf("ind %i tr.time %f curanimtime %f prevanimtime %f dadt %f\n", m_nPlayerIndex, tr.time, m_pCurrentEntity->curstate.animtime, m_pCurrentEntity->latched.prevanimtime, dadt);
15
  }
16
 
17
  return dadt;
18
}

Что-то мне подсказывает, что dadt должен быть в районе 1 или больше. Когда клиент смотрит на сервера, dadt держится примерно в тех же значениях, но иногда заходит в минус, т.к. tr.time < animtime игрока-сервера. Беда.

А дерганье влево-вправо при стрельбе - это делает AddBlendSequence. Если поставить dadt = 1 принудительно и отключить AddBlendSequence (только для игрока, разумеется) - при виде от третьего лица все идеально и никаких дерганий. Впрочем, в мультиплеере ничего не решается.

__________________
Мой мод на Xash


Отправлено Дядя Миша 13-08-2021 в 05:38:

dadt это интерполяционное значение, оно должно меняться от 0 до 1.

__________________
My Projects: download page

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


Отправлено Aynekko 23-08-2021 в 14:17:

Подскажите, можно ли включить тени на фонарике от обычных брашей? Есть тени только от моделей и брашевых энтитей, а в параное - от всего. Но мне бы в ксашмоде.

__________________
Мой мод на Xash


Отправлено Aynekko 02-09-2021 в 20:51:

С тенями от брашей разобрался (починил!!!). Теперь пытаюсь разобраться со скейлом моделей (их освещения фонариком). Пробовал кучу хаков, посылая шейдеру данные о радиусе моделей, их скейл… Чего-то внятного не вышло, хоть и лучше стало.

В параное я нашел единственное (вроде как) отличие
uniform vec4 u_BonesArray[MAXSTUDIOBONES*3];
Это я скопипастил и вроде как оно приходит в шейдер. Отправляю из CStudioModelRenderer::DrawLightForMeshList

C++ Source Code:
pglUniform4fvARB(RI->currentshader->u_BonesArray, num_bones * 3, &m_pModelInstance->m_glstudiobones[0][0]);


В шейдере bonematrix считаю уже не через Mat4FromOriginQuat, а через "Mat4FromVec4Array( 0, 1.0 );"
На выходе правда получил моргающие модели, где темная модель Z-файтит со светлой. Стал копать дальше, пока сверялся с параноевскими шейдерами, наткнулся на
C++ Source Code:
var_ViewVec = ( u_ViewOrigin.xyz - worldpos.xyz );

Я не пойму откуда он берется. В исходниках паранои вообще нет упоминаний, в шейдерах только 2 упоминания - строчка выше и вот еще одна:
C++ Source Code:
vec3 V = normalize( var_ViewVec );

Или он просто локальный? Впрочем, добавив его, модели вообще перестали освещаться… Этот фонарик меня уже с ума сводит.

P.S. да, я снова копаюсь в коде, т.к. после релиза первой главы решил сменить деятельность, а то маппинг пока в печенках сидит. Думал, может фонарик-таки смогу починить. Можно конечно наплодить моделей со скейлом 1, но это же кошмар какой-то…

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-09-2021 в 06:35:

А что в параное, фонарик тоже неправильно освещает скейленные модели?

Добавлено 03-09-2021 в 09:35:

Цитата:
Aynekko писал:
Я не пойму откуда он берется.

вот из этой строчки и берётся.

__________________
My Projects: download page

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


Отправлено Aynekko 03-09-2021 в 08:25:

Цитата:
Дядя Миша писал:
А что в параное, фонарик тоже неправильно освещает скейленные модели?

Там как раз все правильно, поэтому сверяюсь и пытаюсь найти, чего не хватает. Всякие строчки типа normal map я не учитываю.

Ясно, значит локальный все-таки. Я глянул, он вроде как нужен только нормалмапе...
Полагаю дело именно в bonematrix, которую надо умножить на что-то (скейл модели?). Еще там был какой-то computetbn, он вроде бы тоже ксашмоду не нужен. Я в шейдер studiodlight уже принес скейл модели, может как-то его можно использовать? Пробовал bonematrix и даже position умножать на него, вышло так себе) и ведь что самое интересное, тень от моделей ложится правильно. Она учитывает скейл. А сам свет нет.

Если кому интересно что за баг
https://youtu.be/D61zjtAgE-0
Две модели с виду одинаковые, но скейл 1 и 0.5 у них.

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-09-2021 в 08:37:

Цитата:
Aynekko писал:
и ведь что самое интересное, тень от моделей ложится правильно

там отдельный шейдер используется

__________________
My Projects: download page

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


Отправлено Crystallize 03-09-2021 в 10:35:

Цитата:
Aynekko писал:
Две модели с виду одинаковые, но скейл 1 и 0.5 у них.

По-моему они обе неправильно освещаются)) та что справа, как будто сбоку из-за другого вагончика ещё кто-то светит.

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно


Отправлено Aynekko 03-09-2021 в 10:55:

Цитата:
Crystallize писал:
По-моему они обе неправильно освещаются

Маленькая справа со скейлом 0.5. Маленькая слева 1. А большие ящики я не помню. Факт в том, что освещение адекватное только на скейле 1. Любой +\- и оно ломается в зависимости от того, насколько новое число далеко от единицы.
Трудно сказать, в шейдере это нужно делать или в коде… Может там сами кости изначально неправильно работают. С другой стороны, тогда бы и скейл не работал. Эхх

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-09-2021 в 11:23:

Я когда-то во время возни с обновлённым рендерером так и написал: не завидую тому, кто будет это разгребать

__________________
My Projects: download page

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


Отправлено ncuxonaT 03-09-2021 в 14:50:

Aynekko покажи код шейдера


Отправлено Aynekko 03-09-2021 в 15:34:

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

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-09-2021 в 15:49:

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

Добавлено 03-09-2021 в 18:49:

Кстати. Там может еще куллинг неверно работать, например в

AddStudioToLightList( plight_t *pl )

C++ Source Code:
1
Vector modelpos = m_pModelInstance->m_protationmatrix.GetOrigin();
2
float dist = (pl->origin - modelpos).Length();
3
 
4
if( !dist || dist > ( pl->radius + m_pModelInstance->radius ))
5
  return;
6
 
7
if( pl->frustum.CullBox( m_pModelInstance->absmin, m_pModelInstance->absmax ))
8
  return;

Может absmins и absmax не предумножены на скейл. Закоментить этот участок и проверить еще раз всё.

__________________
My Projects: download page

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


Отправлено Aynekko 03-09-2021 в 16:11:

Увы, не помогло

Цитата:
Дядя Миша писал:
дело вообще не в шейдерах.

Я вот тоже так думаю…сколько ни возился с шейдерами, так или иначе приходил к исходному результату. Может где-то в DrawLightForMeshList что-то не так? В параное там все по-другому обставлено, не получилось разобраться.

Вот еще в шейдере я находил такое, что float dist = length( var_LightVec ) напрямую влияет на освещение (картинка в аттаче. Вектор этот var_LightVec = ( u_LightOrigin.xyz - position.xyz ). Я так понимаю lightorigin это фонарик. А вот position!
C++ Source Code:
vec4 position = boneMatrix * vec4( attr_Position, 1.0 );

Из чего я и сделал тогда вывод, что что-то с bonematrix.

Добавлено 03-09-2021 в 19:11:

Аттач

__________________
Мой мод на Xash


Отправлено ncuxonaT 03-09-2021 в 17:43:

В шейдере написано, что u_LightOrigin и u_LightDir в локальном пространстве модели. Когда они из мировых координат переводятся в локальные, скейл учитывается?
И в пиксельном шейдере замени

Cg Pixel Shader:
1
L = normalize( u_LightDir.xyz );
2
 
3
// spot attenuation
4
float spotDot = dot( normalize( var_LightVec ), L );

на
Cg Pixel Shader:
1
L = normalize( var_LightVec );
2
 
3
// spot attenuation
4
float spotDot = dot( normalize( u_LightDir.xyz ), L );

К скейлу это, правда, не относится, но всё же.


Отправлено Aynekko 03-09-2021 в 19:30:

Цитата:
ncuxonaT писал:
И в пиксельном шейдере замени

Вроде что-то поменялось, а что-то и нет. Баг остался, но как будто повернулся на 90 градусов.

Насчет лайторигин, вот что в коде идет, может так понятнее будет:
C++ Source Code:
1
m_pModelInstance = &m_ModelInstances[RI->currententity->modelhandle];
2
 
3
tr.modelorg = m_pModelInstance->m_protationmatrix.VectorITransform(RI->vieworg);
4
Vector right = m_pModelInstance->m_plightmatrix.VectorIRotate(RI->vright);
5
Vector lightorg = m_pModelInstance->m_protationmatrix.VectorITransform(pl->origin);
6
Vector lightdir = m_pModelInstance->m_plightmatrix.VectorIRotate(pl->frustum.GetPlane(FRUSTUM_FAR)->normal);
7
 
8
matrix4x4 lightView = pl->modelviewMatrix.ConcatTransforms(m_pModelInstance->m_protationmatrix);
9
matrix4x4 projectionView = pl->projectionMatrix.Concat(lightView);
10
projectionView.CopyToArray(gl_lightViewProjMatrix);

И далее:
C++ Source Code:
1
// write constants
2
pglUniformMatrix4fvARB(RI->currentshader->u_LightViewProjectionMatrix, 1, GL_FALSE, &gl_lightViewProjMatrix[0]);
3
float shadowWidth = 0.5f / (float)RENDER_GET_PARM(PARM_TEX_WIDTH, pl->shadowTexture);
4
float shadowHeight = 0.5f / (float)RENDER_GET_PARM(PARM_TEX_HEIGHT, pl->shadowTexture);
5
 
6
// depth scale and bias and shadowmap resolution
7
pglUniform4fARB(RI->currentshader->u_LightDir, lightdir.x, lightdir.y, lightdir.z, pl->fov);
8
pglUniform4fARB(RI->currentshader->u_LightDiffuse, pl->color.r / 255.0f, pl->color.g / 255.0f, pl->color.b / 255.0f, pl->lightFalloff);
9
pglUniform4fARB(RI->currentshader->u_ShadowParams, shadowWidth, shadowHeight, -pl->projectionMatrix[2][2], pl->projectionMatrix[3][2]);
10
pglUniform4fARB(RI->currentshader->u_LightOrigin, lightorg.x, lightorg.y, lightorg.z, (1.0f / pl->radius));
11
pglUniform3fARB(RI->currentshader->u_ViewOrigin, tr.modelorg.x, tr.modelorg.y, tr.modelorg.z);
12
pglUniform3fARB(RI->currentshader->u_ViewRight, right.x, right.y, right.z);
13
pglUniform4fARB(RI->currentshader->u_FogParams, tr.fogColor[0], tr.fogColor[1], tr.fogColor[2], tr.fogDensity);

__________________
Мой мод на Xash


Отправлено ncuxonaT 04-09-2021 в 19:16:

В ксашмоде меши трансформируются через матрицу модели что ли? По-моему, в паранойе это сделано через кости.
Я не вижу в этом коде скейла, он включен в m_protationmatrix?


Отправлено Дядя Миша 04-09-2021 в 19:23:

Цитата:
ncuxonaT писал:
он включен в m_protationmatrix?

Да. Вся эта замута для экономии юниформов.
Ксаш мод запускается там, где Параное их уже не хватает.

Добавлено 04-09-2021 в 22:23:

Если вдруг непонятно - вспоминайте. я вас спрашивал тогда.
Можно хранить матрицу кости, это 12 флоатов или 3 vec4.
Можно хранить кватернион + позицию, это 7 флоатов.
Я их пишу в линейный массив из vec4.
Но. Скейл при таком подходе уже не передать. Zhopa!
Но можно сделать следующее - скейл у нас только в руте, значит мы можем передать его вместе с рутовой матрицей, а трансформацию связки кватернион + оригин выполнить прямо в шейдере.
Что я собственно и проделал. Но где-то недоглядел.
В параное этот патч тоже есть, к слову.

__________________
My Projects: download page

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


Отправлено ncuxonaT 08-09-2021 в 15:20:

Че-т я подумал, неправильно это. Не надо оригин лайта умножать на скейл модели.


Отправлено Aynekko 12-09-2021 в 13:03:

Еще обратил внимание на параноевский шейдер

C++ Source Code:
1
#if !defined( LIGHT_PROJ )
2
float dist = length( var_LightVec );
3
float atten = 1.0 - saturate( pow( dist * u_LightOrigin.w, LIGHT_FALLOFF ));
4
if( atten <= 0.0 ) discard; // fast reject
5
#else
6
// directional light has no attenuation
7
float atten = 1.0;

если НЕ light_proj тут идет. В то время, как в ксашмоде
C++ Source Code:
1
#if defined( STUDIO_LIGHT_PROJECTION )
2
L = normalize( u_LightDir.xyz );
3
 
4
// spot attenuation
5
float spotDot = dot( normalize( var_LightVec ), L );
6
float fov = ( u_LightDir.w * FOV_MULT * ( M_PI / 180.0 ));
7
float spotCos = cos( fov + fov );
8
if( spotDot < spotCos ) discard;
9
#elif defined( STUDIO_LIGHT_OMNIDIRECTIONAL )
10
L = normalize( var_LightVec );
11
#endif

Странно все это. Если сделать, как в параное, то освещение всех моделей будет нормальным, только яркость не будет меняться на всем расстоянии фонарика (оно и понятно, аттенюацию же убрал). Как-то по-другому там считается, похоже, я пока не понял как.

__________________
Мой мод на Xash


Отправлено ncuxonaT 12-09-2021 в 13:39:

LIGHT_PROJ в паранойе - это солнце, STUDIO_LIGHT_PROJECTION в ксашмоде - это прожектор.
Аттенюация получается неправильной из-за умножения оригина лайта на скейл модели. Надо как-то иначе сделать применение скейла. Убрать его из rotationmatrix, передавать в шейдер юниформом и сначала умножать на него, потом уже на все матрицы. Наверное.


Отправлено Holego|Noobito 14-09-2021 в 12:24:

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

__________________
Так!


Отправлено Ku2zoff 14-09-2021 в 14:29:

Holego|Noobito у тебя в переменных среды отсутствуют необходимые пути. Собирай не батником, а из самой студии. Ну либо пропиши пути.


Отправлено Holego|Noobito 14-09-2021 в 18:17:

Всё равно не не компилируеться((((

__________________
Так!


Отправлено Ku2zoff 15-09-2021 в 01:08:

Holego|Noobito сорян, по этой IDE подсказать ничего не могу, я никогда не юзал Dev-С++.
Я немецкий знаю на уровне знакомых латинских слов, но моя догадка подтвердилась: гугл переводчик говорит, что

Цитата:
der befehl "vcvars32" ist entweder falsch geschrieben oder konnte nicht gefunden werden

переводится как
Цитата:
команда "vcvars32" написана с ошибкой или не найдена

Батник vcvars32 не найден. Собирай ксаш с помощью родной для него VS 6, либо кури мануалы по сторонней IDE Dev-C++, раз уж полез в это болото.

Добавлено 15-09-2021 в 08:00:

То же самое касается команды "msdev" - этот экзешник тоже не найден. А ведь это лаунчер IDE 6-ой студии.

Добавлено 15-09-2021 в 08:08:

Я бросил все эти извращения ещё во времена Borland 6. Тогда (мне было 15 лет) я просто ниасилил всю эту тему со сторонними IDE, и откопал VS .NET 2003 вместо шестёрки, и юзал именно эту студию. Это уже сейчас я могу даже другой версией GCC собрать проект в линуксе с минимумом варнингов. А тогда... Я вообще ничего не умел, и было трудно.


Отправлено Holego|Noobito 15-09-2021 в 08:39:

Скачал VS6 ( с трудом так как многое паки не работали, или пк плохой), всё сделал по методичке и всё ровно не хочет... если правильно понимаю то говорит что не предназначен для вс6...... что я опять наделал помогите...хоть и написано что сборка собрана успешно... ещё раньше мог зайти в VS6 но предлагал создать вместо него новый проект так как он не хороший....

__________________
Так!


Отправлено Ku2zoff 15-09-2021 в 08:51:

"Мыши плакали, кололись, но продолжали жрать кактус"
Holego|Noobito открой dsp в самой студии. А батник забудь как страшный сон. Все эти чудеса работают нормально только у авторов в их рабочей среде.


Отправлено Holego|Noobito 15-09-2021 в 11:28:

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

__________________
Так!


Отправлено Дядя Миша 15-09-2021 в 17:29:

Цитата:
Ku2zoff писал:
Все эти чудеса работают нормально только у авторов в их рабочей среде.

При установки студии надо было поставить галочку Register Environment Variables чтобы чудеса заработали.

Добавлено 15-09-2021 в 20:29:

Holego|Noobito ты откуда брал исходники?

__________________
My Projects: download page

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


Отправлено Ku2zoff 15-09-2021 в 17:44:

Цитата:
Дядя Миша писал:
надо было поставить галочку Register Environment Variables

Может быть кому-то удобно работать в стороннем редакторе, а собирать батником, но я всегда собирал в самой студии. Я пробовал сторонние IDE, но никакая из них мне не зашла. Собсно, пробовать уже и не надо. Скоро студия будет сама писать код за юзера. Останется только апчхимизировать проблемные места. Да оно уже так и делается, иначе не было бы таких конских системных требований и дистров софта весом 5-10 гигабайт.


Отправлено Holego|Noobito 16-09-2021 в 12:18:

Ура свершилось сморите это же чистый хашовси длл вау как круто,пс через батник. Я переустановил VS6 и всё заработала с галочкой( хотя я вроде и раньше её ставил) наконец то дух машины меня услышал.... вопрос мимо при компиляции он собирает только server и client или весь... могу ли я добавть чистый свой cpp или добавить свой ентити и установить его в джак.... и вот эти файлы с форматам .obj открыть их не получилось и название их не соответствует моделькам из чего я понял что это не модельки, но тогда что?

исходники хаша брал из moddb и из сайта хаsh3d, на форуме ссылка вроде битая, но дела не в них как оказалось...

__________________
Так!


Отправлено Дядя Миша 16-09-2021 в 13:26:

Цитата:
Ku2zoff писал:
но я всегда собирал в самой студии

Когда у тебя один проект там, конечно без разницы.
А когда тебе надо пересобрать 5-7 проектов, ты умаешься их в студии переключать, или ставить там эти галки на Batch Build.

__________________
My Projects: download page

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


Отправлено Aynekko 26-09-2021 в 10:45:

Я уже здесь писал про проблему со спарком, который виден сквозь модели. Как оказалось, это глобальная проблема с глоу-спрайтами в принципе. Они видны сквозь модели. См. скрин в аттаче: слева обычный спрайт, спрятался за трубой. Справа глоу спрайт - он тоже за трубой, но виден спереди. При всем этом, сквозь модель оружия он не рисуется. Где может быть проблема? Все, что смог найти - при убирании строчки pglDisable( GL_DEPTH_TEST ); у глоу спрайта проблема уходит, но появляются другие очевидные проблемы. Нужно этот тест как-то сохранить, но и сквозь модели рисоваться не должно. Сквозь браши и брашевые энтити - не рисуется.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-09-2021 в 11:22:

Это не проблема и не баг, это такой режим отрисовки.

__________________
My Projects: download page

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


Отправлено Aynekko 26-09-2021 в 11:41:

То есть спрайт видимый сквозь солидные модели, но не браши - не баг. Понял.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-09-2021 в 13:09:

C++ Source Code:
1
static float R_SpriteGlowBlend( vec3_t origin, int rendermode, int renderfx, float *pscale )
2
{
3
  float	dist, brightness;
4
  vec3_t	glowDist;
5
  pmtrace_t	*tr;
6
 
7
  VectorSubtract( origin, RI.vieworg, glowDist );
8
  dist = VectorLength( glowDist );
9
 
10
  if( RP_NORMALPASS( ))
11
  {
12
    tr = CL_VisTraceLine( RI.vieworg, origin, r_traceglow->value ? PM_GLASS_IGNORE : (PM_GLASS_IGNORE|PM_STUDIO_IGNORE));
13
 
14
    if(( 1.0f - tr->fraction ) * dist > 8.0f )
15
      return 0.0f;
16
  }
17
 
18
  if( renderfx == kRenderFxNoDissipation )
19
    return 1.0f;
20
 
21
  brightness = GLARE_FALLOFF / ( dist * dist );
22
  brightness = bound( 0.05f, brightness, 1.0f );
23
  *pscale *= dist * ( 1.0f / 200.0f );
24
 
25
  return brightness;
26
}

Вон там PM_GLASS_IGNORE и PM_STUDIO_IGNORE. Это в движке.
Как в ксаш-моде я не помню уже.

__________________
My Projects: download page

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


Отправлено Aynekko 26-09-2021 в 14:20:

Попробовал пощелкать r_traceglow, без изменений. С рендерер 0 глоу спрайт вообще ведет себя странно, то пропадает, то исчезает. В ксашмоде так:

C++ Source Code:
1
/*
2
================
3
GlowSightDistance
4
 
5
Calc sight distance for glow-sprites
6
================
7
*/
8
float CSpriteModelRenderer :: GlowSightDistance( void )
9
{
10
  pmtrace_t	tr;
11
 
12
  float dist = (sprite_origin - RI->vieworg).Length();
13
 
14
  if( !FBitSet( RI->params, RP_MIRRORVIEW ))
15
  {
16
    gEngfuncs.pEventAPI->EV_SetTraceHull( 2 );
17
    gEngfuncs.pEventAPI->EV_PlayerTrace( RI->vieworg, sprite_origin, PM_GLASS_IGNORE, -1, &tr );
18
 
19
    if(( 1.0f - tr.fraction ) * dist > 8.0f )
20
      return 0.0f;
21
  }
22
 
23
  return dist;
24
}

То есть он делает трейс до клиента и на основе этого решает, рисоваться или нет поверх всего? Блин, это тогда все объясняет. Я думал с самим рендером что-то, с сортировкой там.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-09-2021 в 15:09:

Да это какбы общеизвестный факт. ФиЭктро в своё время даже мем родил по поводу этого режима отрисовки - "Оригин не рисуется".

__________________
My Projects: download page

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


Отправлено Aynekko 26-09-2021 в 16:08:

Цитата:
Дядя Миша писал:
Да это какбы общеизвестный факт.

Не знал. Только тогда непонятно, почему сквозь модель оружия не видно его.

__________________
Мой мод на Xash


Отправлено Дядя Миша 26-09-2021 в 18:23:

Потому что оружие рисуется самым последним. Вот и перекрывает.

__________________
My Projects: download page

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


Отправлено FiEctro 02-10-2021 в 11:10:

Что то тихо как то здесь. Где сейчас ведётся обсуждение проекта? В телеге?

__________________
Запад - лохи, Штаты - дуры. Мы фанаты диктатуры


Отправлено Lev 02-10-2021 в 11:17:

FiEctro Много народа сидит в дискорд-сервере PrimeXT


Отправлено FiEctro 02-10-2021 в 11:27:

Lev
А есть ссылка? Дядя Миша там обитает?

__________________
Запад - лохи, Штаты - дуры. Мы фанаты диктатуры


Отправлено Lev 02-10-2021 в 12:21:

FiEctro https://discord.gg/M2XwVAmJ


Отправлено Дядя Миша 02-10-2021 в 16:05:

Цитата:
FiEctro писал:
Где сейчас ведётся обсуждение проекта? В телеге?

Какого именно?

__________________
My Projects: download page

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


Отправлено FiEctro 03-10-2021 в 09:58:

Цитата:
Дядя Миша писал:
Какого именно?


Движка нового.

__________________
Запад - лохи, Штаты - дуры. Мы фанаты диктатуры


Отправлено Дядя Миша 03-10-2021 в 11:36:

Обсуждение на закрытом форуме, подробнее тут

https://hlfx.ru/forum/showthread.php?s=&threadid=5696

__________________
My Projects: download page

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


Отправлено Crystallize 09-10-2021 в 15:58:

У меня 3д небо не работает на интеле

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно


Отправлено Aynekko 11-10-2021 в 17:23:

Есть проблемка с худом, периодически исчезает разделитель между патронами и хп батареей

C++ Source Code:
// draw the | bar
FillRGBA( x, y, iBarWidth, gHUD.m_iFontHeight, r, g, b, a );

В праймХТ, он же параноевский рендерер, я такой проблемы не заметил. Значит в параное нормально этот fill себя ведет.
Пока заметил закономерность - если палочка разделяющая патроны исчезла, ее можно вернуть, выстрелив или сменив оружие (обновив худ). В это время цифра меняет свою альфу. Как только она закончит это делать - палочка исчезнет… То же самое и с хп. Во время паузы не исчезает (когда открыта консоль).
С renderer 0 проблемы нет.

__________________
Мой мод на Xash


Отправлено Aynekko 12-10-2021 в 09:45:

Я кажется починил эту палочку. Но поправьте, если я что-то неправильно сделал.
В общем, шел вдоль по рендеру и закомментировал все, пока палочка не осталась на месте. В итоге я добрался до определенного места, закомментировав которое, палочка не исчезала. Это были строчки в DrawStudioMeshes, а именно:

C++ Source Code:
1
if(FBitSet(mat->flags, STUDIO_NF_MASKED|STUDIO_NF_HAS_ALPHA))
2
{
3
  pglAlphaFunc(GL_GREATER, 0.5f);
4
  GL_AlphaTest( GL_TRUE );
5
  GL_DepthMask( GL_TRUE );
6
  GL_Blend( GL_FALSE );
7
}

Ближе к концу, перед строчкой GL_AlphaTest( GL_FALSE ) я дописал:
C++ Source Code:
pglAlphaFunc( GL_GREATER, 0.0f);


Тут я просто рассудил, что это как бы вернет все в исходное состояние (насколько мне известно, в опенгл так принято делать). Это пофиксило проблему и палочка больше не исчезает.
И нужно ли тогда еще и бленд, и депт-маск возвращать в гл_фолс?

__________________
Мой мод на Xash


Отправлено Дядя Миша 12-10-2021 в 12:14:

Всё верно.

__________________
My Projects: download page

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


Отправлено Aynekko 20-10-2021 в 17:49:

Нашел вот еще баг и никак не могу понять, как пофиксить. Лучи (sunshafts) испускают даже браши и модели в скайбоксе, хотя по идее должны огибать их, как и обычный мир.
В аттаче брашевый незатекстуренный дом, находящийся в 3д скайбоксе. Как видно, он испускает лучи.

C++ Source Code:
if( !FBitSet( RI->params, RP_MIRRORVIEW|RP_ENVVIEW|RP_SHADOWVIEW ))
  RenderSunShafts();

Я пытаюсь понять, как они вообще работают. В коде лучей:
C++ Source Code:
1
// capture screen
2
GL_Bind( GL_TEXTURE0, tr.screen_color );
3
pglCopyTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, 0, 0, glState.width, glState.height );
4
 
5
// capture depth, if not captured previously in SSAO
6
GL_Bind( GL_TEXTURE0, tr.screen_depth );
7
pglCopyTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, 0, 0, glState.width, glState.height );


Как я понял, они ориентируются на уже отрендеренный скайбокс и браши с энтитями, и на основе картинки делает лучи?

Я перепробовал несколько разных условий и пока нашел только одно, рабочее наполовину
C++ Source Code:
if( RI->params & RP_SKYVISIBLE )
  RenderSunShafts();

Вот таким макаром лучи нормально идут только от скайбокса и огибают модели и браши в 3д скае. Но есть другая проблема - это происходит только в 3д скайбоксе. На самой карте лучи больше ничего не огибают, их будто нет.
И еще есть подозрение, что лучи вообще изначально рендерились 2 раза...сначала из скайбокса, потом из карты - от этого такая дикая яркость иногда была (год назад я об этом писал здесь).

__________________
Мой мод на Xash


Отправлено ncuxonaT 20-10-2021 в 17:59:

На скрине блум, нет?


Отправлено Aynekko 20-10-2021 в 18:12:

Блум или не блум, но это gl_sunshafts включает

__________________
Мой мод на Xash


Отправлено Aynekko 22-10-2021 в 05:55:

В общем, я примерно понял, он берет получается sky текстуру и по направлению света делает лучи и блум. Поэтому у меня и получается либо сделать правильно лучи, но только внутри 3д ская, либо лучи на всей карте но тогда модели и браши в 3д скае тоже лучи генерируют

__________________
Мой мод на Xash


Отправлено ncuxonaT 23-10-2021 в 23:42:

Aynekko попробуй для теста в genshafts_fp.glsl перед gl_FragColor = ... вставить строчку
fShaftsMask = float( texture2D( u_DepthMap, var_TexCoord ).r == 1.0);


Отправлено Aynekko 24-10-2021 в 08:16:

Увы, не поменялось ничего

__________________
Мой мод на Xash


Временная зона GMT. Текущее время 15:27. Страницы (2): [1] 2 »
Показать все 709 сообщений этой темы на одной странице

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