HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Глобальное изменение масштаба
Уменьшение размеров всего
Страницы (16): « Первая ... « 9 10 11 12 [13] 14 15 16 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Дядя Миша я не очень понимаю, что делаю. Вроде бы оно должно работать. Но тут же, я чувствую, что движок - это не дллки, и кое-где нужны исправления. Ну вот хотя бы с модельиндексами. model_precache нужно обнулять при смене карты (когда грузится именно другой bsp-файл, чтобы модельиндексы моделей, загруженных в движке совпадали с модельиндексами моделей, заргуженных в дллке).
Натыкаю алертов и посмотрю, что не так. Надеюсь, что-то получится в итоге.

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

Старое сообщение 30-03-2017 18:07
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Так, кое-в чём разобрался. MOVETYPE_NOCLIP прекрасно работает. Значит, дело либо в функции SV_Move, либо в хуллах студиомодели.

Добавлено 31-03-2017 в 23:21:

Есть подозрение, что проблема в векторах. Идёт конфликт с классом Vector, описанным в vector.h и движковым vec3_t. Из-за этого трейсы работают неправильно. Раздефайнил vec3_t, задефайнил снова, но уже как в движке: граната теперь не застревает в воздухе, как в солиде (раньше издавала звуки ударов об мир), а просто висит, не получая ускорения и воздействия гравитации. Буду копать дальше.
Самое главное, что кастомная физика вполне себе работает. Что видно на примере MOVETYPE_NOCLIP. А значит вся эта возня не зря, нужно только победить оставшиеся проблемы.

Добавлено 01-04-2017 в 00:02:

Готово! Гранаты залетали как надо. Это я дурак, нефиг комментить куски кода, не разобравшись, зачем они нужны Сейчас очередь за монстрами.

Добавлено 01-04-2017 в 00:54:

Ну и сдаётся мне, что придётся ещё тащить куски pmove в дллку, чтобы игрок взаимодействовал с энтитями. А то они стали весьма несолидными для него. Гранаты, например, толкают пушабли, а игрок нет. Но используя кнопку use, игрок может тягать и толкать пушабли. Лишь бы всё это дело работало по сети и с предиктингом, т.к. весьма неохота ещё что-то ковырять в клиенте. И есть ещё проблема: брашевые энтити с movetype_push. Им ещё в добавок придётся выставлять SOLID_NOT, чтобы движок не ругался на SOLID_BSP without MOVETYPE_PUSH.
Короче, скоро будет какой-нибудь результат. Я надеюсь на это. Демку с исходником карты, где всё уменьшено в два раза, точно приложу.

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

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

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

Рейтинг



Цитата:
Ku2zoff писал:
Идёт конфликт с классом Vector, описанным в vector.h и движковым vec3_t.

Не обманывай, нет там не какого конфликта. Это ты просто не те хидеры добавил.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 31-03-2017 20:01
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
Это ты просто не те хидеры добавил.

Да, верно. Ну с этим разберёмся. Кстати, научил энтити коллайдить с игроком: запихнул вызов SV_AddLinksToPmove перед вызовом PM_Move. Игрок конечно может застревать в энтитях, да и сами энтити друг в дружке тоже. Но! Наконец-то код работает, есть результат. Уч0ные и пушабли двигаются и не проваливаются в пол. Обнаружил новую проблему, которая кроется вот в этом:
C++ Source Code:
// это оригинальный код:
mins = VEC_HULL_MIN;
maxs = VEC_HULL_MAX;

C++ Source Code:
// а это правильный код:
VEC_HULL_MIN.CopyToArray( mins );
VEC_HULL_MAX.CopyToArray( maxs );

При использовании оригинального кода игрок правильно взаимодействует с миром, но не может подойти вплотную к энтитям, т.к. размер сторон его хуллов всё равно остаётся 8х8x36 и 8x8x18. При использовании правильного кода, игрок нормально подходит к энтитям, но проваливается в мир наполовину. То есть у нас здесь теперь обратная ситуация. Теперь игрок проваливается.

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

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

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

Рейтинг



Похоже, придётся ещё лезть в клиент из-за брашевых энтить, которые не могут быть без MOVETYPE_PUSH или MOVETYPE_PUSHSTEP. Чтобы конкретно обмануть движок, этим энтитям надо выставить SOLID_NOT. Если на сервере всё более-менее решаемо, и везде, где надо можно подсунуть iuser1 вместо movetype, а iuser2 вместо solid, то на клиенте кажется с этим посложнее. Но, в принципе, можно сделать обманку в функции HUD_Frame по аналогии с StartFrame на сервере. Ну это станет видно, когда прочие энтити заработают нормально, и я проверю их взаимодействие с энитями, у которых SOLID_BSP, которые пока обрабатывает движок.
Интересно, как в HLFX 0.7 решена эта проблема? Ведь почти все брашевые энтити имеют SOLID_BSP. Кроме триггеров и пушаблей.

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

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

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

Рейтинг



Маленький отчёт о проделанной работе, эдакое резюме по 10 страницам темы, после того как я активно заинтересовался масштабированием:

Сделана загрузка моделей серверной дллкой и построение своей собственной index replacement table. v.modelindex какого-либо эдикта указывает на одинаковые модели из движковой и из собственной таблицы. Ну то есть не совсем одинаковые. В дллке я выбросил загрузку некоторых компонентов моделей, таких как текстуры или инфа об освещении и видимости, т.к. для кода физики и движения это не нужно.

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

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

Добавлено 05-04-2017 в 16:29:

З.Ы. Всё для обычной халфы, конечно. Юзая ксаш, можно изменить размеры хуллов в гейминфо и поставить квар sv_quakehulls 2. И не делать всего этого.

З.З.Ы. Для чего это нужно в халфе (в ксаше не нужно, т.к. карты там можно делать гораздо больше 8192х8192х8192): не увеличивая размер карты, увеличить её размер относительно игрока и энтить, для создания больших пространств или карт с поездами (типа AS-HiSpeed), например.

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

Старое сообщение 05-04-2017 09:29
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 05-04-2017 15:24
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
Но мыж лёгих путей неищем.

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

Добавлено 05-04-2017 в 23:14:

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

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

Добавлено 05-04-2017 в 23:21:

Цитата:
Дядя Миша писал:
ради какой-то ерунды.

А есть другой вариант увеличить размер карты в халфе? Без использования ксаша? Тутор БУзера не подходит, т.к. там тэмпэнтити ломаются.

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

Старое сообщение 05-04-2017 16:21
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ku2zoff писал:
Тутор БУзера не подходит, т.к. там тэмпэнтити ломаются.

Напишешь кастомную миссагу для темп-энтеть, делоф-то.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 05-04-2017 17:14
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
я бы просто на клиенте получил все модели перебором и позаменял бы там корочи hull_mins и hull_maxs, как я это проделывал в римейке кваки.

Взял код из римейка кваки. Игрок перестал нырять в стены и проваливаться в пол, при использовании правильного кода в GetHullBounds. Монстры ходят нормально и тоже не проваливаются в пол. Только пушабли действительно застревают. Нужно починить им кастомную физику (которую я уже скопипастил).

Тут в первом посте темы есть ссылка на тутор с wavelength. И там есть функция, описанная дебильным словосочетанием "Entropy's omegafied code", PM_FixModelHulls. Так вот, она то ли не работает, то ли работает неправильно. Функция из римейка кваки, CL_MergeHulls, делает то же самое что и эта, но работает.

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

Добавлено 06-04-2017 в 13:48:

В длину на карте теперь умещается 18 вагонов. Если в упор к скайбоксу - 17. По диагонали 25. По сравнению с 5-ю вагонами в длину при обычных размерах, это очень даже хорошо. Размеры вагона (ШхВхД) 78х104х400. Относительно размеров игрока или монстров выглядят такие вагоны как ИРЛ. Но вот внутри кажутся тесноватыми, как собственно все помещения, намапленные с точным соблюдением пропорций и размеров.

Отредактировано Ku2zoff 06-04-2017 в 07:00

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

Старое сообщение 06-04-2017 06:48
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


Цитата:
Ku2zoff писал:
Тутор БУзера не подходит, т.к. там тэмпэнтити ломаются.

забей уже на тэмпэнтити, запили себе RS и радуйся. Даже отсечение по VIS будет. Даже в софтваре.

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

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

Старое сообщение 06-04-2017 07:39
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



~ X ~ ну, собственно, это и придётся сделать. Это даже плюсом будет - переделать все эффекты на RS.
Что-то Гуль пропал из этой темы. Ему стоит попробовать сделать патч для Тириана с изменением размеров хуллов по типу римейка кваки. Может быть все проджектайли починятся.

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

Старое сообщение 06-04-2017 07:45
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


Ku2zoff он уехавший. Кроме того, он перешёл на тему зомбятника. А вообще - да, мы хотели запилить масштабы. Но так может дойти и до переписывания движка в ДЛЛках.

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

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

Старое сообщение 06-04-2017 08:34
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
~ X ~ писал:
Кроме того, он перешёл на тему зомбятника.

Разве не слонарника?

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

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

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

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

Рейтинг



Цитата:
~ X ~ писал:
А вообще - да, мы хотели запилить масштабы.

А чего там пилить? Перекомпилить карты, сменить значения в дллках, да вставить функции CL_MergeHulls из римейка кваки и PM_UpdateClipBox из тутора с wavelength. Для игроков и проджектайлов всё должно заработать. Я попробовал, у меня всё нормально работает.

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

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



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


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

Временная зона GMT. Текущее время 07:46. Новая тема    Ответить
Страницы (16): « Первая ... « 9 10 11 12 [13] 14 15 16 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Глобальное изменение масштаба
Уменьшение размеров всего
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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