![]() |
Показать все 73 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- XashXT (https://hlfx.ru/forum/forumdisplay.php?forumid=30)
-- XashXT 0.62 release [stable] (https://hlfx.ru/forum/showthread.php?threadid=3845)
XashXT 0.62 release [stable]
Для тех, кто слышит о проекте впервые добро пожаловать в FAQ.
Тем, кому проект понравился и они желают материально поддержать автора - сюда.
Поскольку чейнджлога для ксаш-мода не предусмотрено я кратенько попытаюсь вам рассказать об основных отличиях версии 0.62 (более подробную информацию вы найдете в документации).
Итак, основным отличием данной версии является переход на новую систему сейв-рестора. Мапперы не почувствуют никакой разницы, а вот для кодеров это возможно будет представлять интерес. Здесь мы имеем рабочий прототип сейв-рестора из хл2. Это значит наружу не торчит никаких уродливых экспортов энтить и Think-функций. Таким образом к вашему моду не смогут подключится хитрые AMX-моддеры, например.
К тому же появилась возможность просматривать статистику о классах через консоль движка (команды начинается с dump_ а дальше автокомплит в помощь). Кроме этого внедрена кастомная система string_t с сортировкой по красно-чёрному бинарному дереву и проверки на дубликаты, что немного экономит память
Некоторые изменения сделаны для env_sky - теперь его можно включать и выключать, чтобы иметь на карте несколько штук. Раньше доктор Тресни перетаскивал env_sky из одного скайбокса в другой, приаттачив его к функ_трейну, но это глупо выглядело. Кроме этого уменьшена вероятность "просвечивания" небесных энтить сквозь скайбокс - вы наверное уже сталкивались с этим неприятным явлением.
Добавлена новая энтить - player_keycatcher - позволяет отслеживать нажатия кнопок игрока, активируя на карте различные цели. Это можно использовать, например для создания мини-игр, получая управление от игрока.
Из глобальных исправлений - полная победа над stupid quake bug, вы наверное помните, как на карте demo_2 экран телевизора крутился не в ту степь, если его положить на функ_танк. Кроме того трипмайны и стрелы арбалета довольно странно цеплялись к некоторым крутящимся энтитям. Всё это профикшено.
Ну и наконец обещанный сурприз - я добавил в ксаш-мод хромированные поверхности для брашевых энтить и мира. Текстура, на которой проявляется эффект должна иметь название, начинающееся с chrome (по аналогии с именем scroll для конвейера). Хотя эффект в его текущем виде использует одну-единственную текстуру для создания эффекта хрома (она лежит по адресу gfx/chrome.tga), вы можете самостоятельно доделать и расширить её применение, например по аналогии с детальными текстурами. Эффект неплохо сочетается с любым rendermode, а также с зеркалами. Думаю это тема для ваших будущих туторов
www.hlfx.ru/xash/XashXT_062.7z - 11.6 Mb
www.hlfx.ru/xash/PhysX.rar - 1.3 Mb (библиотеки физикса)
PS. Qwertyus, добавь проект на MODDB, FiEctro закинь сцылочку нашим буржуям.
PPS. К сожалению, в ближайшее время обновлений ксаш-мода не будет, т.к. у меня совершенно не осталось на это времени. В дальнейшем (ориентировочно начало осени), я возможно вернусь к разработке, если время появится. Такие дела.
Update at 13.03.2013:
1. исправлен небольшой баг, мешающий контролировать поезд при помощи func_momentary_button
2. стрелы арбалета теперь корректно переходят сквозь уровни
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Я первый, уже скачиваю!
Ура! Наконец то обновление!
Ура! Обнова!
__________________
antibiotik
А что, Дядя Миша их обещал?
__________________
XaeroX
http://cs-mapping.com.ua/forum/show...postcount=12041
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
С релизом!
player_keycatcher - жутко интересная и полезная энтити. И вообще нововведения порадовали.
А про хром на брашах, так вообще всплакнул
8 лет назад, когда только начинал хаммер осваивать об этом эффекте просил:
http://half-life.ru/forum/showthrea...=&threadid=7267
__________________
Женщина - содержимое презерватива при полной инверсии пространства.
StraighF
А я ещё тогда написал, что это элементарно делается.
__________________
XaeroX, ну вот, спустя восемь лет и сделалось
Через пару часов запилю проект под 2005 студию.
__________________
Женщина - содержимое презерватива при полной инверсии пространства.
__________________
Маленькое замечание:
А почему в gfx/materials осталься только один flashlight.tga?
__________________
Женщина - содержимое презерватива при полной инверсии пространства.
Хром этот я запилил за несколько часов до релиза, поэтому в документации о нём - ни слова.
о, динамики заработали с g_render 1.
__________________
http://www.moddb.com/mods/monorail-quest
__________________
Ну я посмотрю, как ты реализуешь приобретение приаттаченной энтитью свойств родителя, без доступа в SV_Physic_Pusher
Дядя Миша
Ну я не стал закапываться настолько глубоко, но ты прав - можно поставить моветип-нон и имплиминтировать физику в дллке. В халфе есть замечательная функция pfnTraceMonsterHull для этих целей, но почему-то незаслуженно обойдённая вниманием.
__________________
Source code for Visual Studio 2005 and higher
Вот проект под 2005 студию. Запилите буржуям там:
http://rghost.net/44457595
__________________
Женщина - содержимое презерватива при полной инверсии пространства.
StraighF :
Забрал, добавлю.
архив обновил, перекачивайте.
Залил файлы на МодДБ, добавил новость. Закачку Ксаша уже авторизовали, остальное, видимо, чуть позже.
Вот это афигеть. Запилили обдейд и сразу 285 просмотров за день
И Кувертусу выражаю отдельную благодарность за то, что он там с пользователями общается, отвечает на их вопросы
Столкнулся с проблемой. Сделал вращающуюся дверь, которая открывается вращающейся кнопкой в виде ручки, закреплённой на этой двери. Чтобы кнопка двигалась вместе с дверью, установил двери таргетнейм, который потом указал как парент для кнопки. Таргет для кнопки - дверь, как и полагается. Дверь открывается всегда в одну сторону, если игрок стоит с другой стороны, она его отталкивает. Я подумал-подумал, да и сделал кнопку мастером для двери, чтобы кпопку нажать, соответственно разблокировать дверь и толкнуть её с нужной стороны. Но когда в халфе у двери есть таргетнейм, она автоматически блокируется, и открыть её можно только активировав. А без таргетнейма нельзя - кнопка не будет двигаться с дверью. Есть какие-нибудь мапперские решения? Или это только кодингом? Если кодингом, Дядя Миша возьми на заметку, что наличие таргетнейма ещё не значит, что дверь надо блокировать. Лучше заведи для этого флаг.
Ku2zoff так это и в халфе так.
__________________
-Brain is dead-
KiQ я знаю. Надо завести в ксашмоде флаг, при котором дверь с таргетнеймом не будет блокироваться.
KiQ
В халфе нет мовевича - а потому и проблемы.
Решение очень простое - поле "парент" должно принимать не только таргетнейм, но и класснейм - и если там он, то искать ближайшую энтитю этого класса. В новом хлфх, например, такой принцип. А может, и в ксаше так, а вы просто не пробовали?
__________________
Дядя Миша
Дурацкое, это факт. Но заводить новый флаг для двери - ещё более дурацкое решение.
Тогда можно проверить все объекты и мульти-менеджеры на предмет того, таргетят ли они дверь. Код мультисорса написан по такому принципу, например.
__________________
Нет, зачем же. Я выбрал самое оптимальное решение в данном случае: переложил заботу на плечи маппера
У него голова за плечами есть - вот пускай и думает. А то иж!
Пофикшеный fgd
Исправленная и обновлённая версия фгд. Всем кто юзает хаммер перекачать обязательно.
Ну, и очень желательно бы залить и на зарубежные ресурсы.
__________________
Женщина - содержимое презерватива при полной инверсии пространства.
StraighF вот, спасибо!
__________________
-Brain is dead-
Скинул на МодДБ.
Какие лучше компиляторы использовать для этого билда?
Те, что 31 - еще за декабрь (решил выбрать их по понятной причине...), но в архиве есть и новее (однако, так же поддерживают ли новый формат карт?).
ВикторТ, hl***30 - для стандартного халфовского формата. 31 - для BSP v. 31: http://www.hlfx.ru/forum/showthread...=&threadid=3710
__________________
Женщина - содержимое презерватива при полной инверсии пространства.
Почему бы и нет?!
__________________
Женщина - содержимое презерватива при полной инверсии пространства.
Они не новее. Проект перекомпиливается весь через скрипты. Поэтому дата создания обновляется, хотя код остаётся тем же самым.
Если бы там что-то изменилось я бы об этом упомянул.
минидемо по использованию итемов и кейкатчера http://ompldr.org/vaTQwYw/item_demo.7z, его к остальным демокартам.
__________________
http://www.moddb.com/mods/monorail-quest
ONeiLL ну зачем фантазировать? Открой код, да посмотри.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ещё лучше! Да с чего вы взяли что он её толкает?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Технически он об дверь сначала останавливается и только потом вызывается функция Touch. Оставьте ваши мечты про вектор forward.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша вектор forward указывает вперёд и не зависит от скорости, не так ли?
Добавлено 02-05-2013 в 11:25:
1 | if ( m_hActivator != NULL ) |
2 | { |
3 | pevActivator = m_hActivator->pev; |
4 |
5 | if ( !FBitSet( pev->spawnflags, SF_DOOR_ONEWAY ) && pev->movedir.y ) // Y axis rotation, move away from the player |
6 | { |
7 | Vector vec = pevActivator->origin - pev->origin; |
8 | Vector angles = pevActivator->angles; |
9 | angles.x = 0; |
10 | angles.z = 0; |
11 | UTIL_MakeVectors (angles); |
12 | // Vector vnext = (pevToucher->origin + (pevToucher->velocity * 10)) - pev->origin; |
13 | UTIL_MakeVectors ( pevActivator->angles ); |
14 | Vector vnext = (pevActivator->origin + (gpGlobals->v_forward * 10)) - pev->origin; |
15 | if ( (vec.x*vnext.y - vec.y*vnext.x) < 0 ) |
16 | sign = -1.0; |
17 | } |
18 | } |
Vector vnext = (pevActivator->origin + (gpGlobals->v_forward * 10)) - pev->origin; |
Ну это хрень на самом деле. В оригинальной халфе дверь нельзя открыть, если стоять к ней задом. Обрати внимание на закомментированную строчку - она как раз о том, что после столкновения с дверью велосити обнуляется и этот метод не канает.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Что-то с водой жуткое творится
http://rghost.ru/45748560
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
А все же, уровень отражения у воды должен быть ниже, иначе это уже не вода, а зеркало выходит.
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64:
По идее, отражение должно быть более тёмным (учитывать цвет воды) и, скажем так, более прозрачным.
Ну ждите кастом-билд. Там водичка красивее.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Есть ли лимит на количество использования детаил-текстур? почему спрашиваю? Создал тестовую карту-коробку, на браш натянул большую текстуру здания, для здания создал детаил-текстуру. Запихнул детаил в gfx/detail, оригинал в папку material/common и для карты создал текстовик где указал детаил. Но теперь ни на одной из карт не работают детаил текстуры.
команды r_detailtextures 1 и 0 забинтованы на 2 разные клавиши. Любое нажатие одной из них не приводит ни к какому результату. даже ручное прописывание команды не включает детаил.
Удалил новую HD текстуру и детаил к ней, зашел в игру - все работает. Детаил заработал на всех картах.
Что может быть причиной? Может я что-то накосячил?
Если детайл был включен в тот момент, когда карта уже загружена, то потребуется её полный перезапуск.
А вообще - кто тебя знает.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Возможно ли как-то избавиться от торомозв, при отражении большого количества env_static в воде?
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Ну там задел для апчхимизации большой
Постепенно перенести всё на GPU, например. Благо движок знает про кастомный рендерер и стейты синхронизированы, можно творить всё что хочешь.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Запустил демо - дошёл до двери с кодом. Ввожу 32768 - введенный код снова устанавливается в ноль, дверь не открывается.
Ох, оказывается, нужно было нажать на USE. Ну вот какой игрок в HL сразу догадается это сделать? В HL двери обычно сами открывались или на кнопку, но никак не по юзанию.
Проходил мод Challenger Deep 2 под Ксаш-модом. Обратил внимание на то, что глючат прозрачные поверхности моделей при освещении их Ксаш-модовским фонариком. Но сразу оговорюсь, что происходит это только в условиях слабого внешнего освещения модели. Т. е., когда модель нормально освещена внешним источником света на карте, глюк не происходит.
Например, когда некоторые трупы исчезают с карты после убийства, они плавно становятся полупрозрачными до тех пор, пока их совсем не станет видно. Если же светить на них в этот момент фонариком, то труп будет видно полностью до момента исчезновения, он не станет прозрачным.
Также ниндзя, перешедшие в стелс-режим, становятся полностью видимыми при освещении их фонариком.
Похожая вещь происходит с теми текстурами модели, которым присвоены одновременно флаги additive и fullbright. В случае освещения модели фонариком происходит "отключение" этих текстур. Они заметно теряют эффект светимости, даже если свет от фонарика совсем немного попадает на модель. Но, собственно, насколько я разобрался, это тоже происходит из-за того, что такая текстура теряет под фонариком свойство аддитивности (а аддитивность несколько усиливает эффект свечения, т. е. аддитивно-фуллбрайтовая текстура светится несколько ярче, чем просто фуллбрайтовая).
Дополнительной проблемой исчезающих после убийства моделей под Ксаш-модом (даже если их не освещать фонариком) является то, что при убийстве на них накладываются декали крови. И вот для этих декалей не работает эффект постепенного исчезновения. Т. е. декаль не становится прозрачной и остаётся полностью видимой вплоть до момента исчезновения модели, что смотрится грубовато.
Зато под Ксаш-модом на исчезающей модели правильно ведут себя светящиеся текстуры - они медленно становятся прозрачными вместе со всей моделью. А вот просто под Ксаш-движком (без Ксаш-мода) светящиеся текстуры демонстрируют баг, аналогичный ксаш-модовским декалям на модели - т. е. после убийства вся модель плавно исчезает, кроме светящихся текстур - они так и остаются полностью видимыми и ярко светящимися до последнего момента (вне зависимости от присутствия или отсутствия дополнительного флага аддитивности).
В конце demo1 при включении проектора вылетает:
wine: Unhandled page fault on write access to 0x07d86000 at address 0xf7583b9a (thread 0030), starting debugger...
Unhandled exception: page fault on write access to 0x07d86000 in 32-bit code (0xf7583b9a).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:f7583b9a ESP:0033fb6c EBP:0033fbfc EFLAGS:00210206( R- -- I - -P- )
EAX:07b21068 EBX:f75d3ff4 ECX:00095f60 EDX:07d85fa0
ESI:05973de8 EDI:0012c000
Stack dump:
0x0033fb6c: 7d6e8ff4 7d6da705 07cf0000 07a8b048
0x0033fb7c: 0012c000 000001e0 07a8b020 00000280
0x0033fb8c: 000001e0 00000000 133f027f c30a3437
0x0033fb9c: c361f800 00000000 00d89ce0 3f800100
0x0033fbac: c361f800 00000000 00000000 00000000
0x0033fbbc: 00000000 00000000 3f7ffa03 00000001
000c: sel=0067 base=00000000 limit=00000000 16-bit rw-
Флаги R- -- I - -P- - это такой троллинг?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
То есть, он avi должен проигрывать? Тогда ясно, в wine по умолчанию кодеки не работают.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Вопрос, у меня одного блум работает, только если на экране присутствует viewmodel?
__________________
-Brain is dead-
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша а что там, со стейтами что-то?
__________________
-Brain is dead-
гм, что-то странное.
Вызываю этот код из CStudioModelRenderer::StudioDrawMesh
1 | int currentTex; |
2 | pglGetIntegerv( GL_TEXTURE_BINDING_2D, ¤tTex ); |
3 |
4 | const char *pTextureName = (char *)gRenderfuncs.GL_TextureName( currentTex ); |
5 |
1 | if( i < 0 ) |
2 | { |
3 | if( !FBitSet( nDrawFlags, MESH_DRAWARRAY )) |
4 | pglBegin( GL_TRIANGLE_FAN ); |
5 | tri_strip = false; |
6 | i = -i; |
7 | } |
8 | else |
9 | { |
10 | if( !FBitSet( nDrawFlags, MESH_DRAWARRAY )) |
11 | pglBegin( GL_TRIANGLE_STRIP ); |
12 | tri_strip = true; |
13 | } |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Установив эту версию мода (обновив также и ксаш движок), на картах что-то происходит с env_model (куст, который я поставил вдали, чего-то забыл тут):
Компилировал даже по-новому, и даже решил без освещения компильнуть (как на скрине, кстати) - та же самая проблема.
P.S. Папку valve удалил, все перенес в папку xash - та же история.
Предыдущую версию не хочется возвращать, т.к. в последней больше исправлений. Но другой сюрприз непонятный получился.
Временная зона GMT. Текущее время 14:58. | Показать все 73 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024