HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 160 161 162 163 [164] 165 166 167 168 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

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

Рейтинг



Ну имя ты какое задавал для wglGetProcAddress?
К тому же можно еще попробовать через стандартный виндовый GetProcAddress

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 31-08-2020 22:04
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



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

C++ Source Code:
SAFE_GET_PROC(glLockArraysEXT, PFNGLLOCKARRAYSEXTPROC, "glLockArraysEXT");
По аналогии с загрузкой других расширений в старом ксашмоде. Через GetProcAddress тоже пробовал. Не получилось.

Добавлено 01-09-2020 в 06:18:

Разобрался. Это я дурак - совал функции glLockArraysEXT в качестве аргументов mon->firstvertex и mon->numvertices без проверки, существует ли mon. В который раз убедился, что надо на этапе загрузки выводить всё в консоль, чтобы не гадать, что поддерживается, а что нет.

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

Старое сообщение 31-08-2020 23:18
- За что?
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 36

Рейтинг



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

__________________

Killing Floor: Horzine Outbreak

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

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

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

Рейтинг



Цитата:
KorteZZ писал:
в итоге трупаки перестали разлетаться на ошметки при взрыве.

pev->solid = SOLID_NOT?

Есть один неплохой способ. В pm_shared.c нужно завести функцию int PM_Ignore. Привести её к такому виду:
C++ Source Code:
1
int PM_Ignore(physent_t *pe)
2
{
3
  if (pe->iuser3 == -1)
4
    return 1;
5
 
6
  return 0;
7
}
Потом, согласно моему тутору, вставить вызовы этой функции куда надо, заменяя вызовы каких надо функций. Далее, надо всего лишь поставить мёртвому монстру pev->iuser3 = -1. Можно это сделать в defaultai.cpp, функция GetScheduleOfType, кейс SCHED_DIE:
C++ Source Code:
case SCHED_DIE:
{
  pev->iuser3 = -1;
  return &slDie[ 0 ];
}
А можно в функции CBaseMonster :: Killed. Не знаю, где надёжнее, я не тестировал.

Добавлено 01-09-2020 в 14:29:

Есть ещё один способ: UTIL_SetSize(pev, g_vecZero, g_vecZero). Но он плох тем, что монстр опять же перестаёт получать урон, а потом ему надо заново задавать размеры, когда анимация смерти закончилась.

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

Старое сообщение 01-09-2020 07:29
- За что?
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 36

Рейтинг



Спасибо большое! Попробуем!

__________________

Killing Floor: Horzine Outbreak

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

Старое сообщение 01-09-2020 08:21
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ku2zoff писал:
"glLockArraysEXT"

попробуй ARB или вообще без EXT.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 01-09-2020 08:35
-
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



По мне так проблема с монстрами даже не в том, что они преграждают путь для игрока во время умирания (игрок может и подождать), а в том, что впоследствии их трупы мешают движению всяких брашевых энтить типа дверей и пушаблей. Соответственно для передвижения пушабли приходится эти самые трупы разбивать, а уж сколько раз трупы хедкрабов застревали в дверях - не пересчитать. С одной стороны, в этом есть смысл, но чаще всего лишь мешает. Ku2zoff, может напишешь тутор на этот счёт? Разумеется, с сохранением возможности разбивать/взрывать трупы.

__________________
I'm on github
I'm on opendesktop.org

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

Старое сообщение 01-09-2020 09:22
- За что?
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 36

Рейтинг



Было бы неплохо собрать все актуальные для Ксашей проблемы и сделать общее подробное описание с их решением. Но никто ведь не займется этим. Да и эти фиксы вставить бы в стандартный ксаш, чтобы другие не маялись тем же, что и их предшественники.
При этом, те, туторы, которые мы привыкли видеть, на самом деле не совсем туторы, а скорее инструкции, потому что чел, который это делает, может совсем ничего не понимать и только копипастить вслепую. А туториал должен обучать. Какие проблемы? Как их можно решить? Что и для чего делается? И прочие вопросы, которые появляются в головах новичков.

__________________

Killing Floor: Horzine Outbreak

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

Старое сообщение 01-09-2020 09:39
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
FreeSlave писал:
может напишешь тутор на этот счёт?

Даже не знаю, как лучше было бы это сделать. Физика энтить запрятана в движок, интерфейсов для её вызовов из дллки кроме StartFrame в голдсорсе нету. А через то, что имеется, придётся делать хаками. Вообще, для регулировки коллизии есть функция pfnShouldCollide, но она сломана с тех самых пор, как её добавили. Исправлена только в ReHLDS и ксаше. Первый - это выделенный сервер для сраной каэсочки, а во втором есть нормальный интерфейс для физики, так что этот вариант отпадает. Делать через pev->groupinfo такое себе: пушабли перестанут коллайдить не только с трупами, но и друг с другом. А может быть для пушаблей это не сработает, у них ведь вообще уникальный мувтип. Я бы сделал проще: чтобы пушабли и двери наносили трупам дамаг и "кусковали" их мгновенно при касании.

Добавлено 01-09-2020 в 16:52:

Цитата:
Дядя Миша писал:
попробуй ARB или вообще без EXT.

Уже исправил. Поначалу бессмысленно линковал в клиентку то glext, то glew, и вылетало. Я завёл проверку в ините: если wglGetProcAddress не возвращает glLock\UnlockArraysEXT - мониторы не работают. Вылетать перестало. Ну я грешным делом решил, что расширения могли быть дропнуты на уровне драйвера, тащем-то им уже по 20 лет. Оказалось, линковать вообще ничего не нужно, достаточно просто вызвать wglGetProcAddress. После этого вылеты продолжились, как оказалось из-за того, что я загонял NULL аргументы в glLockArraysEXT. Кстати, когда эти функции заработали, фпс упал на 10-15 пунктов.

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

Старое сообщение 01-09-2020 09:52
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
KorteZZ писал:
А туториал должен обучать. Какие проблемы? Как их можно решить? Что и для чего делается? И прочие вопросы, которые появляются в головах новичков.

А вы видели когда-нибудь такие туториалы?

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

Старое сообщение 01-09-2020 09:57
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ku2zoff писал:
Кстати, когда эти функции заработали, фпс упал на 10-15 пунктов.

так надо сначала скомпилировать эти арраи. Ксерокс в своё время конечно тоже отжог - монитор это 4 вертекса. Нахрена он этот полигон компилировал в отдельный массив есть величайшая загадка.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 01-09-2020 10:04
-
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 36

Рейтинг



Crystallize
К сожалению, такое - редкость. Видел на ютубе по монтированию видео в Вегасе. Там чел толково объяснял что да как и почему.

__________________

Killing Floor: Horzine Outbreak

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

Старое сообщение 01-09-2020 10:16
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Crystallize писал:
А вы видели когда-нибудь такие туториалы?

Туториалы нашего сообщества это, по сути, не обучающие статьи, а примеры работ с описанием. И хорошо, если с описанием, а не просто "Этот код сюда, а этот код туда". Я в последнее время стараюсь описывать что и для чего делается. Внутри своего кода для себя оставляю комменты, чтобы через долгое время быстро вспомнить, что и зачем.

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

Старое сообщение 01-09-2020 13:33
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



В общем, закончил мониторы. Теперь без зависимости от cvaLib.lib. Обнаружил неприятный бажочек: они видны сквозь стены. Отсечение по фрустуму работает, если отвернуться, фпс вырастает. Как можно это поправить?

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

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

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

Рейтинг



включить запись в буффер глубины

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 03-09-2020 18:54
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 17:48. Новая тема    Ответить
Страницы (260): « Первая ... « 160 161 162 163 [164] 165 166 167 168 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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