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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- XashXT (https://hlfx.ru/forum/forumdisplay.php?forumid=30)
-- XashXT 0.62 cumulative update (https://hlfx.ru/forum/showthread.php?threadid=3769)


Отправлено Дядя Миша 19-01-2013 в 15:28:

XashXT 0.62 cumulative update

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

Changelog:
1. убрано просвечивание небесных энтить сквозь 3d sky-комнатку, если комнатка находится прямо над обычным небом. Вы могли столкнутся с тем, что такие энтити рисуются дважды - один раз на небе, а второй раз - напрямую, просвечивая сквозь небесную комнату. Теперь этого нет.
2. исправлен баг с воспроизведением звуков в func_momentary_door
3. общая оптимизация коллизии для env_static при помощи AABB tree (было в теме про багфиксы).
4. env_laser в качестве EndSprite может принимать не только путь к спрайту, но и имя энтити env_sprite (как в спирите), что позволит более гибко настроить его параметры.
5. добавлено поле "master" для предметов. Предмет невозможно подобрать, если тот заблокирован мастером. Это касается только энтить с префиксом item_, для патронов и оружия не работает. Но можно будет добавить, если вы посчитаете это нужным.
6. новая система сериализации и спавна энтить - минуя DLL-экспорты, как в HL2. Основная идея внедрения - облегчение портирования на всякие там линуксы, а так же реализация полноценного поиска по имени поля во всём классе, а не только в структуре entvars_t. Ну и просто чёб показать, на что способен движок Вам понадобится билд не ниже 2148, чтобы данное нововведение смогло правильно работать.
7. новая string-pool система. Вместо старой, где, как вы помните надо было следить в каком месте использовать MAKE_STRING а где ALLOC_STRING, теперь все строки проверяются на дубликаты и пул содержит только уникальные строки, благодаря чему появилась возможность сравнивать напрямую не сами строки, а их идентификаторы, ну и конечно это экономит память.

Новые консольные команды:
dump_entity_sizes - вывести размеры для каждого класса энтить в байтах.
размер определяется кол-вом наследуемых классов. Т.е. если энтитя была унаследована от CBaseEntity то размер, понятно не очень большой. А если это CBasePlayer то приличный.
dump_entity_names - поскольку имена энтить теперь невозможно увидеть при помощи Dependency Walker была введена вот эта команда. Выводит список названий всех имеющихся энтить. Информативность на том же уровне. Но в дальнейшем на основе этой системы можно будет запилить например генератор FGD.
dump_strings - показать все уникальные строки, которые использует string pool.

Update at 11.02.2013
Собственно, кумулятивное обновление: http://www.hlfx.ru/xash/XashXT_062_cumulative_update.7z - 536 Kb (DLLs only)

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 19-01-2013 в 15:42:

Цитата:
Дядя Миша писал:
ибо старые ксашы всё-таки были устроены совсем по другому.

А вот кстати в старых ксашах все брашевые энтити были разбиваемыми как брейкабли. У них флаг такой специальный был. Можно что-л. подобное сделать в теперешнем ксашмоде?


Отправлено XaeroX 19-01-2013 в 15:47:

Цитата:
Дядя Миша писал:
реализация полноценного поиска по имени поля во всём классе, а не только в структуре entvars_t

Это автоматически делается?

__________________

xaerox on Vivino


Отправлено Дядя Миша 19-01-2013 в 15:52:

Цитата:
XaeroX писал:
Это автоматически делается?

Да щяз! Сидишь и как в хл2 сначала вбиваешь
BEGIN_DECLARE_DATADESC()
потом перечисление полей.
Основной профит тут в том, что раньше это перечисление использовалось только для сейва, а теперь может быть использовано для всего.
Цитата:
Ku2zoff писал:
Можно что-л. подобное сделать в теперешнем ксашмоде?

Оно просто не нужно с новой парент системой. Ты просто аттачишь к маленькой невидимой func_door большой func_breakable и достигаешь того же самого эффекта. И не надо мне тут возражать про увеличение кол-ва используемых энтить, как ты обычно любишь цепляться к самой надуманной ерунде.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 19-01-2013 в 16:54:

Дядя Миша
Вот в чём прелесть виртуальных машинок - так это в том, что можно сделать специально обученный компилятор, который будет для тебя эти символы сохранять в нужные таблицы.

__________________

xaerox on Vivino


Отправлено Дядя Миша 19-01-2013 в 17:23:

Цитата:
XaeroX писал:
Вот в чём прелесть виртуальных машинок

в виртуальных машинках обычно пишут "public static void", а я так писать не хочу. К тому же они расхолаживают, освобождают человека от ответственности - не буду проверять указатель на валидность, пускай интерпретатор проверяет, не буду память высвобождать, пускай коллектор сам собирает. Потом мы имеем тысячи жутких программ на шарпе, которые требуют двух ядерного проца для своего запуска при функционале паинта. Ну ладно, это уже оффтоп. Если у кого-то еще есть интересные соображения по этой теме, я отрежу этот кусок в самостоятельную тему и перенесу во флуд.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 20-01-2013 в 10:33:

>> убрано просвечивание небесных энтить сквозь 3d sky-комнатку, если комнатка находится прямо над обычным небом. Вы могли столкнутся с тем, что такие энтити рисуются дважды - один раз на небе, а второй раз - напрямую, просвечивая сквозь небесную комнату. Теперь этого нет.

А тот момент о котором ты говорил (когда 3д скай находится в той же коробке где и игрок, пропадают все энтитии) ты пофиксил или оставил?
Впрочим серавно вриатле такое на практике попадётся.

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


Отправлено Дядя Миша 20-01-2013 в 14:40:

Цитата:
FiEctro писал:
А тот момент о котором ты говорил (когда 3д скай находится в той же коробке где и игрок, пропадают все энтитии) ты пофиксил или оставил?

Это не исправляется, если в формате карт нету ареа-порталов. Так или иначе просвечивание было серъезной проблемой, а вот ставить env_sky рядом с игроком никому не нужно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 20-01-2013 в 15:02:

Цитата:
Дядя Миша писал:
4. env_laser в качестве EndSprite может принимать не только путь к спрайту, но и имя энтити env_sprite (как в спирите), что позволит более гибко настроить его параметры.


Во во! Вот это круто!

__________________
How interesting, just look at that!
© Scientist


Отправлено StraighF 30-01-2013 в 11:57:

Для physboxmaker появилось допольниетльное имя, чтобы в Хаммере точечные и брашевые энтити разграничить?

__________________
Женщина - содержимое презерватива при полной инверсии пространства.


Отправлено Дядя Миша 30-01-2013 в 15:49:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено StraighF 30-01-2013 в 17:34:

physboxmaker_point
physboxmaker_ent
env_physboxmaker

__________________
Женщина - содержимое презерватива при полной инверсии пространства.


Отправлено K@RINGA 10-02-2013 в 15:04:

Я тут только что с переходами между уровнями начал возиться и заметил что эти самые переходы не работают. При проходе через trigger_changelevel, абсолютно никакой реакции. Сначала не мог понять в чем дело, вроде все делаю правильно и раньше все работало. Потом попробовал использовать более раннюю версию ксашмода и все снова заработало. (xash0.61_update1 - server.dll) Проверьте кто-нибудь, это действительно с новым апдейтом связано, или я что-то не так сделал.. (Потому что я могу, да )

__________________
Half-Life: Fight For Life 2


Отправлено Дядя Миша 10-02-2013 в 15:35:

Странный вопрос. Ну грузим карту c1a0d и пытаемся перейти на c1a0.
Работает? Если нет - качаем апдейт.

__________________
My Projects: download page

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

Цитата:

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


Отправлено K@RINGA 10-02-2013 в 15:57:

Видимо мысль изложил невнятно, раз ты меня не понял. Я предполагаю что в "XashXT 0.62 cumulative update" какой-то баг с переходами, поскольку в ранних версиях все работает нормально. Проверить попросил чтобы отследить как работает у других.

__________________
Half-Life: Fight For Life 2


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

Нету там никакого бага с переходами. Во всяком случае я у себя такой проблемы не наблюдаю. Но могу посоветовать очистить папку save, поскольку в этом билде совершенно другой формат сейвов, несовместимый.
И повторюсь - проведи вышеописанный эксперимент с переходом c1a0d->c1a0.

__________________
My Projects: download page

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

Цитата:

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


Отправлено K@RINGA 10-02-2013 в 18:03:

Папку save очистил. Эксперимент провел. Вот результат: http://youtu.be/Fq1hJmRaR50

__________________
Half-Life: Fight For Life 2


Отправлено Дядя Миша 10-02-2013 в 18:19:

Цитата:
K@RINGA писал:
Вот результат

Лучше лог приложи. И лог подетальнее с -dev 5

__________________
My Projects: download page

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

Цитата:

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


Отправлено Qwertyus 10-02-2013 в 18:52:

Дядя Миша:
Всё-таки есть баг с переходами. На картах ХЛ я его не наблюдал, но в нескольких протестированных мною в последнее время "модах" была такая проблема. "Моды" пишу в кавычках, потому что это были, по сути, синглплеерные кампании без собственных длл и прочих особых модификаций, заточенные на использование вальвовских длл и прочих стандартных ресурсов. Единственное, что могу заметить, так это то, что в большинстве случаев проблемы были в нубских "модах". Но некоторые из них были и достаточно приличными. Так вот, в некоторых случаях карты, замапленные под самый обычный ХЛ, просто не грузились, а в некоторых случаях не срабатывал переход.

И картина была одинаковая: когда тестировал под версией 0.61 - проблемы не возникало, а под 0.62 - постоянно. Возможно, что не вся функция ченджлевела поломалась, а только некоторые способы ченджлевела, например некие упрощённые варианты. Либо нужно теперь обязательно некие условия соблюдать, чтобы ченджлевел успешно срабатывал.

K@RINGA:
Видео твое нельзя посмотреть. Пишет, что требуется какая-то ссылка.


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

Цитата:
Qwertyus писал:
Возможно, что не вся функция ченджлевела поломалась, а только некоторые способы ченджлевела, например некие упрощённые варианты

Ну теоретически - да, такое возможно, поскольку глобальные изменения были впрямую связаны с чейнджлевелом. Но у K@RINGA даже типичная халфовская карта не срабатывает, а следовательно вы рассуждаете о не связанных вещах.
Я напоминаю, что обвинять движок в каком-то баге можно только после тестирования под халфой проблемного места. А попытки обобщить на ровном месте только запутывают багрепорты.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Qwertyus 10-02-2013 в 19:39:

Дядя Миша:
Ты вот предлагаешь проверять только карты ХЛ, а между тем, если мод чисто маппинговый и рассчитан на использование стандартных ресурсов (т. е. никакого стороннего кода использовано не было, максимум - новые или изменённые вады/спрайты/звуки/модели), то почему бы не брать такие моды к рассмотрению? Или Ксаш-мод обязательно требует соблюдения некоторых условий в процессе создания/компиляции карты и изначально может быть несовместим с картами, созданными для обычного ХЛ? Или поддержка каких-то энтитей/функций, имеющихся в ХЛ, в Ксаш-моде всё-таки отсутствует?


Отправлено Дядя Миша 10-02-2013 в 20:13:

В чистой хл есть несколько багов, исправление которых ломает совместимость с игрой. В ксаше эти баги были исправлены. А чтобы халфа работала - были введены мерзкие хаки, предназначенные для вполне конкретных карт самой халфы. Находятся поиском по ключевому слову HACKHACK. Не все хаки, найденные таким поиском - мои, но те, которые сделаны в целях совместимости легко отличить по прописанному имени карты. Сделана эта совместимость была с одной единственной целью - убедиться что ксаш-мод не падает, не вылетает, не течёт и ведет себя адекватно во время прохождения длинной игры, которой халфа без сомнения является. Т.е. - для расширенного бета-теста. При этом совместимость с остальными модами понятно никто не заявлял. Тем более, что ксаш-мод это тулкит для мапперов, а не набор эффектов для геймеров, как HLFX, например. Поэтому если там где-то что-то в сторонних модах фурычит неправильно - в этом нет ничего удивительного.

Добавлено 11-02-2013 в 00:13:

Вообщем, чтобы зря не спорить, я просто обновил сцылку в первом посте.
Перекачайте свежие библиотеки и проверьте этот момент еще раз.

Так же прошу протестировать загрузку карты c3a2e на предмет зависания при запуске.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Qwertyus 12-02-2013 в 04:37:

Скачал апдейт. Переход в начале ХЛ протестировал - работает. А вот c3a2e виснет.

И кстати, зачем в sample.pak был запихан Барник, чем не угодил обычный?


Отправлено Ku2zoff 12-02-2013 в 05:17:

Цитата:
Дядя Миша писал:
В ксаше эти баги были исправлены. А чтобы халфа работала - были введены мерзкие хаки, предназначенные для вполне конкретных карт самой халфы

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


Отправлено Qwertyus 12-02-2013 в 16:04:

В общем, провёл я быстрое тестирование последнего апдейта на ХЛ. Результат - тихий ужос . Тихий - потому что почти вся скриптованная озвучка попереломалась. Теперь практически ни один НПЦ не произносит те речевые секвенции, которые запланированы по сюжету, начиная с Джины в тренинге и заканчивая ГМаном в финале. Также не работают звуки спикера Блэк Месы (и вообще игра периодически ругается, что не может воспроизвести звуки спикера типа SPEAKER has bad sentence group name: C3A2_) и не срабатывает звук при толканиии некоторых закрытых дверей, к примеру.

Переходы между уровнями работают, я проверил все возможные варианты (и вперёд, и назад). Единственный нерабочий переход - с c3a2 на c3a2a. Причём переходы на c3a2e работают, несмотря на то, что при ручной загрузке карта виснет.

Собирался приложить лог от последнего запуска Ксаша, но и тут вышел облом - несмотря на проставленный ключ xash.exe -dev 3 логирование не работало.

Кроме того, обратил внимание на то, что зарепорченный мною баг про звук трамвая от телнорпов так и не исправлен. Вдогонку ему заметил на c4a1b такой же звук у летучего ската, который летает над гнездом тентаклей в конце карты. Далее, на c3a2, видимо, что-то поломалось, т. к. не работал не только переход на c3a2a, но и зарядник костюма в комнатке с учёным, например. Также в конце карты c2a2f заметил перпендикулярно вывернутый переключатель-стрелку (см. скрин).

И самое интересное. Ранее я уже писал, что в моде Moonwalker, который я затестил под Ксаш-модовскими длл, есть такой уровень, где всё заминировано, и взрыв может привести к концу игры. И там так устроено, что в конце игры мы снова возвращаемся на этот уровень, чтобы завершить мод. Так вот под Ксаш-модовскими длл при попытке возвращения обратно все эти мины самопроизвольно взрывались. Оказалось, что абсолютно тот же баг воспроизводится на картах ХЛ - если пройти уровень с минами (c2a5d), а после выхода с него (на c2a5e) опять вернуться назад, то мины тоже самопроизвольно взорвутся.


Отправлено Дядя Миша 12-02-2013 в 21:53:

Цитата:
Qwertyus писал:
несмотря на проставленный ключ xash.exe -dev 3 логирование не работало.

xash -dev 3 -log
не благодари

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 15-02-2013 в 20:52:

Цитата:
Qwertyus писал:
В общем, провёл я быстрое тестирование последнего апдейта на ХЛ. Результат - тихий ужос . Тихий - потому что почти вся скриптованная озвучка попереломалась. Теперь практически ни один НПЦ не произносит те речевые секвенции, которые запланированы по сюжету, начиная с Джины в тренинге и заканчивая ГМаном в финале. Также не работают звуки спикера Блэк Месы (и вообще игра периодически ругается, что не может воспроизвести звуки спикера типа SPEAKER has bad sentence group name: C3A2_) и не срабатывает звук при толканиии некоторых закрытых дверей, к примеру.

грохни sentences.txt из папки sound. Походу мысль выложить дополнительную демку была плохой идеей.

__________________
My Projects: download page

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

Цитата:

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


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

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