![]() |
Страницы (3): [1] 2 3 » Показать все 45 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- delta.lst, размеры карты и эффекты взрывов (пока что) (https://hlfx.ru/forum/showthread.php?threadid=4413)
delta.lst, размеры карты и эффекты взрывов (пока что)
Возникла у меня такая проблема при расширении размеры карты :
увеличивая размер карты кодингом и через delta.lst не отображаются эффекты и звуки взрывов за пределами 8192*8192*8192, а эффекты от выстрелов есть. Издевался я над delta.lst, даже брал из sven coop, но ничего не получается
. Может кто знает решение такой проблемы
. Для компиляции карт я, кстати, использовал VHLT 33
__________________
[XDaemon dev.]
Мне интересно, а зачем вам больше 8192*8192*8192? Карта будет вся лагать и на ней не будет никто играть, наверно.
Я увеличил пока до размеров 32768*32768*32768 и у меня ничего не лагает
__________________
[XDaemon dev.]
Ну вы же будете ещё строить карту таких размеров, тогда да, будет лагать. А так это новое пустое пространство, а сами будете творить карты меньше 8192*8192*8192
master07
Каким образом лаги связаны с линейным размером карты в юнитах?
Анриал вон не лагает почему-то, неужто магия?
Почему-то когда говорят об увеличении лимита размера карты, всем представляется именно куб, равномерно заполненный детализацией и энтитями, ну в лучшем случае - параллелепипед определённой высоты. Может, автор хочет сделать длиннющий коридор?
avegamer
Функцию IsInWorld поправил?
__________________
Я не про пустое пространство. Я понимаю, что пустота фпс не жрёт. Я про то, что если avegamer будет делать детализированную карту с размером на 30000*30000*30000 халфа, может быть и вылетит.
Лагать карта будет, если поставить небольшим предел видимости на карте, или как оно там называется. Ну, у меня лагало только в этом случае . Я его вычисляю максимальным таким образом
sqrt( sqr(map_x_length) + sqr(map_y_length) + sqr(map_z_length)), ну так условно
__________________
[XDaemon dev.]
Xaerox А про длинный коридор, я же не знал. Может avegamer хочет сделать такое.
А, кстати IsInWorld, я изначально исправил, и ввёл команду sv_worldrange 1 ( хотя надо было назвать как-то по другому ), чтобы переключаться между стандартными размерами карты и расширенными прямо во время игры ( чисто для проверки )
Добавлено 25-05-2014 в 12:12:
А ничего что я использую последний Half-Life SDK вместо HLSDK 2.3, в котором у меня была та же самая проблема?
__________________
[XDaemon dev.]
avegamer
Опиши конкретно, что пропадает: какие эффекты и т.п.
И что ты изменил в делта.лст? По тутору с хлру делал?
http://half-life.ru/forum/showthrea...=&threadid=2568
__________________
Вот мой издевательский вариант delta.lst - увеличил по максимуму всё, что считал нужным ( с запасом )
Добавлено 25-05-2014 в 13:10:
В данный момент пропадают спрайты эффектов после взрыва гранаты RPG, ручной гранаты, satchel и tripmine. Проверяю пока со стандартным оружием, своё пока не вносил. Кстати, включил шейдеры текстур карты с am.half-lifecreations.com ( компилировал в Release'е ) и они отображаются даже с такими увеличенными размерами карты.
__________________
[XDaemon dev.]
Главная лажа -это 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'
То есть, вместо WRITE_COORD нужно использовать что-то другое и закодировать координату в другом типе данных, а уже на клиенте раскодировать? А сообщение нужно такого вида использовать -
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );
или какое-то другое?
Добавлено 25-05-2014 в 15:54:
Если так, то тогда придётся всю функцию WRITE_COORD придумывать заново, не затрагивая движок. А движок не будет кричать, чего никто никаких координат не шлёт ?
__________________
[XDaemon dev.]
Через WRITE_LONG можно передавать полноценный флоат, безо всякой химии.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А такой 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.]
Временная зона GMT. Текущее время 15:22. | Страницы (3): [1] 2 3 » Показать все 45 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024