HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > delta.lst, размеры карты и эффекты взрывов (пока что)
Страницы (3): [1] 2 3 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
avegamer
Житель форума

Дата регистрации: Aug 2010
Проживает: ___
Сообщений: 119
Возраст: 38

Рейтинг



Red face delta.lst, размеры карты и эффекты взрывов (пока что)

Возникла у меня такая проблема при расширении размеры карты :
увеличивая размер карты кодингом и через delta.lst не отображаются эффекты и звуки взрывов за пределами 8192*8192*8192, а эффекты от выстрелов есть. Издевался я над delta.lst, даже брал из sven coop, но ничего не получается . Может кто знает решение такой проблемы . Для компиляции карт я, кстати, использовал VHLT 33

__________________
[XDaemon dev.]

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

Старое сообщение 25-05-2014 07:34
- За что?
master07
Житель форума

Дата регистрации: Aug 2013
Проживает: гиде-то
Сообщений: 205
Возраст: 32

Рейтинг



Мне интересно, а зачем вам больше 8192*8192*8192? Карта будет вся лагать и на ней не будет никто играть, наверно.

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

Старое сообщение 25-05-2014 07:48
- За что?
avegamer
Житель форума

Дата регистрации: Aug 2010
Проживает: ___
Сообщений: 119
Возраст: 38

Рейтинг



Я увеличил пока до размеров 32768*32768*32768 и у меня ничего не лагает

__________________
[XDaemon dev.]

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

Старое сообщение 25-05-2014 07:50
- За что?
master07
Житель форума

Дата регистрации: Aug 2013
Проживает: гиде-то
Сообщений: 205
Возраст: 32

Рейтинг



Ну вы же будете ещё строить карту таких размеров, тогда да, будет лагать. А так это новое пустое пространство, а сами будете творить карты меньше 8192*8192*8192

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

Старое сообщение 25-05-2014 07:52
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


master07
Каким образом лаги связаны с линейным размером карты в юнитах?
Анриал вон не лагает почему-то, неужто магия?
Почему-то когда говорят об увеличении лимита размера карты, всем представляется именно куб, равномерно заполненный детализацией и энтитями, ну в лучшем случае - параллелепипед определённой высоты. Может, автор хочет сделать длиннющий коридор?

avegamer
Функцию IsInWorld поправил?

__________________

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

Старое сообщение 25-05-2014 07:55
-
master07
Житель форума

Дата регистрации: Aug 2013
Проживает: гиде-то
Сообщений: 205
Возраст: 32

Рейтинг



Я не про пустое пространство. Я понимаю, что пустота фпс не жрёт. Я про то, что если avegamer будет делать детализированную карту с размером на 30000*30000*30000 халфа, может быть и вылетит.

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

Старое сообщение 25-05-2014 07:58
- За что?
avegamer
Житель форума

Дата регистрации: Aug 2010
Проживает: ___
Сообщений: 119
Возраст: 38

Рейтинг



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

sqrt( sqr(map_x_length) + sqr(map_y_length) + sqr(map_z_length)), ну так условно

__________________
[XDaemon dev.]

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

Старое сообщение 25-05-2014 08:00
- За что?
master07
Житель форума

Дата регистрации: Aug 2013
Проживает: гиде-то
Сообщений: 205
Возраст: 32

Рейтинг



Xaerox А про длинный коридор, я же не знал. Может avegamer хочет сделать такое.

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

Старое сообщение 25-05-2014 08:01
- За что?
avegamer
Житель форума

Дата регистрации: Aug 2010
Проживает: ___
Сообщений: 119
Возраст: 38

Рейтинг



А, кстати IsInWorld, я изначально исправил, и ввёл команду sv_worldrange 1 ( хотя надо было назвать как-то по другому ), чтобы переключаться между стандартными размерами карты и расширенными прямо во время игры ( чисто для проверки )

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

А ничего что я использую последний Half-Life SDK вместо HLSDK 2.3, в котором у меня была та же самая проблема?

__________________
[XDaemon dev.]

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

Старое сообщение 25-05-2014 08:12
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


avegamer
Опиши конкретно, что пропадает: какие эффекты и т.п.
И что ты изменил в делта.лст? По тутору с хлру делал?
http://half-life.ru/forum/showthrea...=&threadid=2568

__________________

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

Старое сообщение 25-05-2014 08:52
-
avegamer
Житель форума

Дата регистрации: Aug 2010
Проживает: ___
Сообщений: 119
Возраст: 38

Рейтинг



Вот мой издевательский вариант delta.lst - увеличил по максимуму всё, что считал нужным ( с запасом )

Добавлено 25-05-2014 в 13:10:

В данный момент пропадают спрайты эффектов после взрыва гранаты RPG, ручной гранаты, satchel и tripmine. Проверяю пока со стандартным оружием, своё пока не вносил. Кстати, включил шейдеры текстур карты с am.half-lifecreations.com ( компилировал в Release'е ) и они отображаются даже с такими увеличенными размерами карты.

Вложение: delta.7z (1.8 кб)
Этот файл был скачан 358 раз.

__________________
[XDaemon dev.]

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

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

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

Рейтинг



Главная лажа -это WRITE_COORD, через который собственно идут все эти темпэнтити. Он клампит свои результаты на 8192. в ксаше мне удалось его забороть, путём уменьшения точности переданной координаты. А в халфе...
Наверное надо свою мессагу писать gmsgTempEntity, только так.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-05-2014 10:52
-
avegamer
Житель форума

Дата регистрации: Aug 2010
Проживает: ___
Сообщений: 119
Возраст: 38

Рейтинг



То есть, вместо WRITE_COORD нужно использовать что-то другое и закодировать координату в другом типе данных, а уже на клиенте раскодировать? А сообщение нужно такого вида использовать -

MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );

или какое-то другое?

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

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

__________________
[XDaemon dev.]

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

Старое сообщение 25-05-2014 11:54
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Через WRITE_LONG можно передавать полноценный флоат, безо всякой химии.

Цитата:
avegamer писал:
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );

SVC_TEMPENTITY заменить на gmsgTempEntity, которую зарегать через
REG_USER_MSG. Основная беда в том, что все мессаги SVC_TEMPENTITY читаются внутри движка, а выход из положения в том, что в EfxAPI, есть практически все функции, которые можно вызывать самому.
Посмотри как в ксаше устроена мессага SVC_TEMPENTITY (cl_tent.c в конце файла). Попробуй адаптировать к клиенту.

Добавлено 25-05-2014 в 16:49:

А вот нашёл частично адаптированную из XashNT. Всё равно править придёца, но хоть писать поменьше.

Вложение: tempents.rar (11.7 кб)
Этот файл был скачан 350 раз.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-05-2014 12:49
-
avegamer
Житель форума

Дата регистрации: Aug 2010
Проживает: ___
Сообщений: 119
Возраст: 38

Рейтинг



А такой WRITE_COORD подойдёт в данном случае

void WRITE_COORD(float flValue)
{
float x = flValue;
int y;
__asm
{
push edx
push eax
mov edx, dword ptr x
mov eax, [edx]
mov [y], eax
pop eax
pop edx
}
WRITE_LONG( y );
}

__________________
[XDaemon dev.]

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

Старое сообщение 25-05-2014 13:48
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 06:08. Новая тема    Ответить
Страницы (3): [1] 2 3 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > delta.lst, размеры карты и эффекты взрывов (пока что)
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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