HLFX.Ru Forum
Показать все 34 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Маппинг под Xash (https://hlfx.ru/forum/showthread.php?threadid=2267)


Отправлено qpAHToMAS 09-08-2010 в 01:31:

Lightbulb Маппинг под Xash

Предлагаю в этой теме обсуждать маппинг под Xash.
Начну сразу. Хочу предложить важные штуки, которые упустили разработчики HL, но которые на мой взгляд вполне реально реализовать:

Декали:
На данный момент их использование возможно только из "decals.wad", текстуры декалей, находящиеся в других WAD файлах будут проигнорированы, по этому предлагаю понимать текстуру на карте как декаль по ее имени с такой маской:

code:
{*_DECAL

Например:
code:
{my_bullet_hole_DECAL

В идеале было бы удобно без "{" символа.

Звучащие текстуры:
Опять же, все звучащие текстуры (их типы) прописаны в "sound\materials.txt" файле. Использовать их имена в своих картах будет убого по многим причинам. По этому предлагаю опять же использовать маску по имени:
code:
*_M *_V *_D *_S *_T *_G *_W *_P *_Y

Например:
code:
my_wall_D

Значения стандартны:
code:
"M" metal, "V" ventillation, "D" dirt, "S" slosh liquid, "T" tile, "G" grate (Concrete is the default), "W" wood, "P" computer, "Y" glass

Для полного счастья было бы классно видеть как эти материалы могут работать на брашевых ентитях (func_wall и др.).

Текстуры-инструменты:
Мне всегда не хватало браша, который мог бы быть материальным для item'ов (оружия, патроны, все, что может поднять/кинуть игрок), но пустотелым для всего остального кроме игрока, т.е. копия CLIP'а, за исключением блокировки предметов. Такое, на сколько мне известно, реализовано в Source.
Название предлагаю простое:
code:
CLIP_ITEMS




Разное:
Ентитю "func_illusionary" было бы круто модифицировать добавив флаг, при котором она могла бы быть пустотелой только для игрока, а для остального (пули, гранаты и т.п.) нет. Конечно в случае столкновения с пулей надо рисовать декаль.
Надо бы исправить баг, когда одинаковые по имени текстуры на нескольких картах будут выглядеть так, как была загружена первая из них. Надеюсь понятно объяснил, надо сделать принудительную загрузку текстур при загрузке уровня.
Как обстоят дела с w_poly, e_poly ограничениями? Они такие же, или же могут быть выше?


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

Цитата:
qpAHToMAS писал:
На данный момент их использование возможно только из "decals.wad"

в ксаше можно поставить любую декаль из любого вада.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 09-08-2010 в 09:55:

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

Ну и отлично, одной проблемой меньше.


Отправлено Дядя Миша 09-08-2010 в 12:58:

qpAHToMAS на будущее. Не надо предлагать мне сделать разные скрипты по типу "как тебе удобно". Я все равно этого делать не буду.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 09-08-2010 в 13:47:

Дядя Миша, тогда убирай возможность использования кастомных декалей !

Тут кстати заметил, что после выхода из "trigger_push'а" камера игрока дергается в сторону, куда смотрит эта ентитя, в HL такого нет. Тестовая карта во вложении.


Отправлено Дядя Миша 09-08-2010 в 16:23:

Цитата:
qpAHToMAS писал:
тогда убирай возможность использования кастомных декалей

декали анимированные поддерживаются, кстати.
Попшикай спрей-паинтом, если еще не видел.
Цитата:
qpAHToMAS писал:
Тестовая карта во вложении.

у меня там пока что посеръезнее проблемы, отложим до лучших времен.

__________________
My Projects: download page

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

Цитата:

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


Отправлено GSen 09-08-2010 в 16:48:

А воообще Xash надёжен для модостроительства или подождать до лучших времён и фиксов?


Отправлено Дядя Миша 09-08-2010 в 18:20:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 09-08-2010 в 20:18:

Заметил, что физические ентити, которые падают на карту, в Xash'е появляются как-то по другому. В Xash'е при первом появлении на карте можно увидеть как падает оружие на землю, а в HL при появлении оно уже лежит на ней.
Так же на snark_pit карте снарки появляются в трубе и не падают в низ, а застревают в ней.
Тестовая карта во вложении, там в нижней плоскости браша спрятаны снарки, надо подразнить, что бы они вылетели на тебя . А в HL собственно они появляются на земле.

Цитата:
Дядя Миша писал:
декали анимированные поддерживаются, кстати.
Попшикай спрей-паинтом, если еще не видел.

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

Цитата:
Дядя Миша писал:
дык набери в консоли movie (имя видео из папки media) будет полноэкранное видео со звуком.
Но это только для ксаша конечно

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

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

Я уверен, что возможности, которые я предложил пожелает каждый адекватный GoldSource картостроитель.


Отправлено qpAHToMAS 09-08-2010 в 22:33:

Если игрок появляется прямо на месте ентити оружия Egon, то при выстреле из него игра вылетит с крит. ошибкой. Тестовая карта во вложении.


Отправлено Дядя Миша 10-08-2010 в 08:46:

Цитата:
qpAHToMAS писал:
Классная возможность, по любому надо добавить триггер ентитю, которая показывала бы видео игроку при ее активации.

игра кончается, когда видео начинает проигрываться.
Цитата:
qpAHToMAS писал:
Я уверен, что возможности, которые я предложил пожелает каждый адекватный GoldSource картостроитель.

не надо думать за всех. Где эти адекватные пользователи, которым так не хватало такой возможности? Сделай опрос и убедись что всем пофигу.
ЗЫ. не надо мне кидать тестовые карты пока.
У меня уже ДРУГОЙ ксаш, не тот что у тебя.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 10-08-2010 в 09:53:

>> {my_bullet_hole_DECAL

Нафига? Шойдеры!

>> Звучащие текстуры:
Опять же, все звучащие текстуры (их типы) прописаны в "sound\materials.txt" файле. Использовать их имена в своих картах будет убого по многим причинам. По этому предлагаю опять же использовать маску по имени:

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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 10-08-2010 в 21:02:

FiEctro qpAHToMAS сформируйте идею более углубленно.
Потому что пользователь никогда толком не знает чего он хочет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 11-08-2010 в 03:23:

Цитата:
FiEctro писал:
вот тока придется писать шойдер для каждой текстуры из хл.вад, одним словом хеморой

А материалы для текстур в halflife.wad ведь в materials.txt хранятся? Можно легко перевести в желаемый вид для добавления в код игры.

Цитата:
Дядя Миша писал:
FiEctro qpAHToMAS сформируйте идею более углубленно.

Все просто: в HL нет нормальной поддержи звуковых текстур для пользовательских карт. От materials.txt надо отказываться и делать это через имена текстур, как я и предложил изначально.
Да и вообще, по логике вещей, пользователь не должен иметь возможности изменять материалы текстур редактируя простой файл. Это должен делать разработчик карты раз и на всегда.

Если интересно, то посмотри какую лазейку нашли CS мапперы для придания материальности своим текстурам:
Цитата:
Выход есть и он довольно простой. Как мы знаем, движок Half-Life, выбирая материал текстуры, учитывает только первые 12 знаков её названия. А максимальная длина названия текстуры — 15 знаков. Значит, у нас есть 3 знака в запасе. Этого хватит на любую карту — ведь используя, например, эти три знака для чисел, примерно так:
zvukitexturi001
zvukitexturi002
zvukitexturi003
... мы можем получить 999 разных текстур одного типа звучания. А ведь можно использовать ещё и буквы... Так что, этих трех символов нам хватит.

То есть, нам нужно найти в стандартном materials.txt названия текстур, которые составляют 12 или более символов. Оставляем 12 первых, а оставшиеся 3 находятся в нашем распоряжении.

Статья на этом сайте.


Отправлено FiEctro 11-08-2010 в 06:26:

qpAHToMAS
Хранить параметры текстуры в её имени - просто не нужно, да и совсем не удобно. Поддержку всяких +, !, { сделали тока ради того чтоб было как в хл. Ибо сломаешь голову писать для каждой, индивидуальный шейдер, учитывая что только одна + текстура может использоваться как для простых анимированых текстур, так и для кнопок и ламп. А так смысла их использовать - нет. Потом у параметров в имени есть огромный минус, это несовместимость их друг с другом. К примеру не может быть текстуры !{glass или -+1animate и т.п.
В данном случае как вариант можно сделать всо материалами, как в сорсе "$surfaceprop", но опять все будут плеваться почему не держит вады и т.п.

>> сформируйте идею более углубленно.

Да и materials.txt нормально, но если мод мультиплеерный, и имеет множество кастромных карт, то уже своих звучащих текстур без замены оригинального не добавить, хотя тут еще может спасти архивация всего этого дела в .pk3.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено GSen 11-08-2010 в 07:24:

qpAHToMAS линки на HL карты, которые используют эту ужасную лазейку?


Отправлено qpAHToMAS 11-08-2010 в 07:33:

Цитата:
FiEctro писал:
Хранить параметры текстуры в её имени - просто не нужно, да и совсем не удобно.

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

Цитата:
FiEctro писал:
К примеру не может быть текстуры !{glass или -+1animate и т.п.

Ну собственно для предотвращения таких казусов надо уметь строить карты .

Цитата:
GSen писал:
qpAHToMAS линки на HL карты, которые используют эту ужасную лазейку?

Любая карта с кастомными звуковыми текстурами.

Кстати, Дядя Миша, в Half-life для текстур SCROLL (SCROLLmytexture) сделан игнор наложения декалей. Надо бы и в Xash так сделать.


Отправлено FiEctro 11-08-2010 в 07:43:

qpAHToMAS
>> Ну собственно для предотвращения таких казусов надо уметь строить карты .

Спасибо КЭП, тока ничего путевого ты на это так и не сказал .

>> Да ну брось, всю жизнь используем специальные текстуры по их именам и ничего, живем.

Звучит как: нафига нам мерседес, всю жизнь на запорожце ездием.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено qpAHToMAS 11-08-2010 в 07:56:

Цитата:
FiEctro писал:
Спасибо КЭП, тока ничего путевого ты на это так и не сказал .

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

Цитата:
FiEctro писал:
Звучит как: нафига нам мерседес, всю жизнь на запорожце ездием.

Я не против "Мерседеса", но его тут ни кто его изобретать не будет.
"Мерседес":
В BSP файле попутно хранятся имена текстур на карте и их вид материала. Тогда не будет никаких ограничений в именах текстур, ведь сам создатель полностью задает их имена (без префиксов).

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


Отправлено FiEctro 11-08-2010 в 08:07:

qpAHToMAS
>> Ты слишком углубляешься, если так продолжать, то мы придем к тому, что всю HL надо переделывать из-за таких возможных казусов.

Ничего не нужно переписывать, всо уже есть (имеется ввиду шойдерная система).

>> А что тут еще сказать, когда пользователь-идиот будет смешивать специальные префиксы в именах своих текстур?

Причем тут смешивание префиксов ? Имелось ввиду чтобы заюзать оба параметра по такому методу, придется писать вот такой, как ты сам ответил - идиотизм.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено qpAHToMAS 11-08-2010 в 08:11:

Цитата:
FiEctro писал:
Имелось ввиду чтобы заюзать оба параметра по такому методу, придется писать вот такой, как ты сам ответил - идиотизм.

Я кажется и не просил поддержку мульти-материалов в одной текстуре. Слава богу мне пока еще не нужно стелко-вода, дерево-стекло и т.д. .
Опять же, углубляешься.


Отправлено XaeroX 11-08-2010 в 08:14:

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

__________________

xaerox on Vivino


Отправлено FiEctro 11-08-2010 в 08:17:

XaeroX
Согласин. Впринципе это всего лишь рассуждения. Я думаю у ДМ есть наиболее правильный подход для решения этой проблемы.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 11-08-2010 в 13:48:

Цитата:
qpAHToMAS писал:
Кстати, Дядя Миша, в Half-life для текстур SCROLL (SCROLLmytexture) сделан игнор наложения декалей. Надо бы и в Xash так сделать.

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 12-08-2010 в 06:25:

Цитата:
Дядя Миша писал:
А почему у меня они накладываются в халфе?

Потому что у тебя старая или какая-то левая версия.

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

Самая обычная, стандартная Half-life 1.1.1.0, Jun 11 2002 (2056). Есть и выше: 1.1.2.0, Feb 08 2006 (3382), жаль Steam'а нет.


Отправлено Дядя Миша 12-08-2010 в 06:44:

Цитата:
qpAHToMAS писал:
Потому что у тебя старая или какая-то левая версия.

У меня вот такая халфа:
C++ Source Code:
Protocol version 46
Exe version 1.0.1.4
Exe build: 12:48:54 Mar 25 2003 (2343)

Won ессно. Почему у нее версия 1.0.1.4, хотя сам билд явно старше твоего - это мне неведомо.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 12-08-2010 в 06:49:

Дядя Миша
Под твоей халфой небось даже SDK 2.3 не пашет?

__________________

xaerox on Vivino


Отправлено GSen 12-08-2010 в 08:02:

А у меня HL build 738 ну и Steam HL ещё


Отправлено qpAHToMAS 12-08-2010 в 08:29:

Цитата:
Дядя Миша писал:
хотя сам билд явно старше твоего - это мне неведомо

Наверное EXE файл не родной/старый.

Ты кстати можешь успешно обновиться до 1.1.1.0 накатав на нее WON патч, могу даже скинуть.


Отправлено Дядя Миша 12-08-2010 в 09:59:

Цитата:
qpAHToMAS писал:
Ты кстати можешь успешно обновиться до 1.1.1.0 накатав на нее WON патч, могу даже скинуть.

не могу. Точнее обновлялся уже - ничего не изменилось.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 12-08-2010 в 10:10:

Цитата:
Дядя Миша писал:
не могу. Точнее обновлялся уже - ничего не изменилось.

А я то думал, что тебе уже всю плешь проел, описывая различия между этими версиями.


Отправлено XaeroX 12-08-2010 в 10:14:

Дядя Миша ну как же не изменилось? ЕХЕ у тебя стал за март 2003

__________________

xaerox on Vivino


Отправлено Дядя Миша 12-08-2010 в 11:07:

Цитата:
qpAHToMAS писал:
А я то думал, что тебе уже всю плешь проел, описывая различия между этими версиями.

я вообще всегда считал, что у меня 1.1.1.0. И то что сама халфа зовёт её 1.1.0.4 узнал вот совсем недавно.
А стимовская версия у меня вообще не работает - всё по сети шарится и виснет на этом интересном моменте.
Ну как тут свой двиг не написать?

__________________
My Projects: download page

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

Цитата:

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


Отправлено GSen 12-08-2010 в 11:12:

Цитата:
Дядя Миша писал:
Ну как тут свой двиг не написать?


Просто смириться\забить найти решение...


Временная зона GMT. Текущее время 23:58.
Показать все 34 сообщений этой темы на одной странице

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