thambs писал: но только если на ксаше работать будет
Почему не будет работать на ксаше. Я изначально не тестировал мод на совместимость с ксашем. Иногда запускал, бегал немного и выключал. Но у меня уже тогда были баги. Сейчас под ксашем он тупо не запустится. Почему я не решил делать мод сразу под ксаш? Ведь там открытые сорцы и вообще больше возможностей? На тот момент в ксаше не работали как надо dsp эффекты для звука, да и вообще звук был какой-то приглушенный или с хрипами. А еще мне не нравится WON-овская менюшка от слова совсем, вызывает ностальгию, но не нравится. Особенно не нравится консоль без выпадающих команд и кваров.
__________________ Никогда не поздно сделать мод под хл1
Нет, но я подгружаю длл из оригинальной халфы. filesystem_stdio.dll например. Конечно, это не обязательно, и можно обойтись и без них. Но под ксашем все равно будет куча багов. Справедливости ради скажу, что если бы я начал делать мод сейчас, я бы делать на ксаше.
__________________ Никогда не поздно сделать мод под хл1
Ku2zoff писал: Чего такого даёт файлсистем интерфейс
Ничего особенного, разве что возможность нормально работать с паками.
Цитата:
Ku2zoff писал: Кастомный рендерер? На основе чего написан?
Нет, не кастомный рендерер. 3Д небо рисуется в два прохода, хаком я удаляю полигоны с текстурой SKY, иначе 3д неба не будет видно. Также вручную рисую текстуры скайбокса через опенгл. Побочным эффектом является то, что можно использовать текстуры для неба более высокого разрешения. И компиляторы не нужны особенные. Правда и минусы есть, например, видно мир из ракурса неба, поэтому нужно располагать его особенным образом.
Декали я скопипастил из паранойи, но адаптировал код, чтобы они хотя бы работали. Но и там не без багов. Либо они рисуются нормально, но иногда пропадают. Либо не пропадают, но не дружат прозрачными текстурами. Зато теперь рисуются на брашевых энтитях, вроде дверей и разрушаемых ящиков.
__________________ Никогда не поздно сделать мод под хл1
Дядя Миша писал: gl-текстуру подменял и всё. К чему такие сложности.
Подменой текстур можно и мониторы с зеркалами сделать, и даже ч0рта лысова. Была у меня такая идея. Да руки не дошли.
Цитата:
Sigurth писал: хаком я удаляю полигоны с текстурой SKY
Можно поподробнее? Я пытался, так у меня всё равно небо мерцало, не удалялось до конца. А удалять на этапе компиляции - для этого нужны сорцы компиляторов, чтобы или удалить фейсы с текстурой sky, или чтобы null или что-то подобное светило от light_environment. А ДМ сорцы своих компиляторов не открыл. Ящитаю, оно и не надо особо, они и так лучшие на мой взгляд, но кое-что ещё я бы от китайца туда добавил, для использования в оригинальной халфе.
msurface_t->numverts = 0;
или
msurface_t->polys = NULL;
За вот эти небеса отдельно скажу. Кармак эту порнографию писал в те времена, когда никаких шейдеров уже не было, поэтому приходилось заниматься такой чертовщиной, строить какой-то гигантский виртуальный куб вокруг уровня, привязывать его к взгляду игрока, определять места его видимости и так далее. Но уже в 2004-м году сам же Кармак радостно дропнул всю эту чертовщину и нарисовал небо через нормальную кубемапу.
Плюс еще и в том, что так же и облака рисуются - шейдером, безо всякой генерации скайдомов. То есть это всё уже как минимум 16 лет не нужно, а народ в своих форках ID-tech до сих пор это дерьмо копирует, хоть бы один выкинул.
Ku2zoff писал: Я пытался, так у меня всё равно небо мерцало, не удалялось до конца.
Разобрался. Я в качестве эксперимента проводил операцию каждый кадр. А нужно только один раз при видините. Ну, собсно, теперь у меня точно будет 3d скай без кастомного рендерера. Остались мониторы и тени.
Цитата:
Sigurth писал: опплюётесь, и я глядишь переделаю нормально
А поизвращаться со спрайтовыми декалями желание есть? Их можно анимированными сделать.
Добавлено 12-07-2020 в 18:07:
Цитата:
Sigurth писал: Правда и минусы есть, например, видно мир из ракурса неба, поэтому нужно располагать его особенным образом.
Можно делать по-спиритовски, накладывать текстуры неба на стороны куба как обычные текстуры. Раз уж у тебя они подменяются средствами gl, то подгрузи полноцветные, а не из вадов. Тут дело ещё такое, что само небо может быть видно из мира. Вот это уже хуже. Я это в своё время никак не решил, и просто прятал небесную коробку под мир.
Ku2zoff писал: поизвращаться со спрайтовыми декалями желание есть?
Уже сил нет для экспериментов, хочется делать именно сам мод. Но идея анимированных декалей кажется очень крутой, особенно красиво смотрелась бы кровь на стенах, плавно стекающая вниз.
Цитата:
Ku2zoff писал: само небо может быть видно из мира
Это тоже есть. Браши мира не видно, а вот энтити да. Если отрисовку студиомоделей в скайбоксе я смог предотвратить, то брашевые энтити, увы, никак. Меня это очень огорчило, когда хотел сделать брашевые облака с SCROLL текстурой. Поэтому я руководствуюсь правилом располагать только студиомодели в скайбоксе, а сам скайбокс располагать выше мира. А если спрятать небо под миром, то, глядя наверх, можно будет увидеть лестницы, стекла, решетки и прочие брашевые энтити из мира.
__________________ Никогда не поздно сделать мод под хл1
Sigurth писал: красиво смотрелась бы кровь на стенах, плавно стекающая вниз.
Ну, по крайней мере, можно сделать кровавые лужи на полу. Ксер вон в старом хлфх делал. Я вот осилю обрезку спрайтовых декалек по краю браша, и добавлю туда и кровь, и пятна от взрывов, и всё остальное. Декалями из вадов останутся только те, которые ставит маппер.
Цитата:
Sigurth писал: Уже сил нет для экспериментов, хочется делать именно сам мод.
А что экспериментировать? Я почти дописал код. Декали у меня уже даже через чейнджлевел ходят. Могу поделиться, может у тебя получится сделать обрезку, чтоб они не висели в воздухе на краях брашей.
Добавлено 12-07-2020 в 22:24:
Цитата:
Sigurth писал: Если отрисовку студиомоделей в скайбоксе я смог предотвратить, то брашевые энтити, увы, никак.
Не пробовал их фильтровать? Для небесных энтить по-любому нужен какой-то хак, чтобы они не выпадали из пвс. А мировые энтити тогда можно отфильтровать по отсутствию этого хака. И не рисовать их в проходе неба.
Добавлено 12-07-2020 в 22:29:
Цитата:
Sigurth писал: Меня это очень огорчило, когда хотел сделать брашевые облака с SCROLL текстурой.
Именно поэтому не надо использовать в небесной коробке текстуру SKY, а использовать обычную. Глянь карты weathdemo (вроде бы) и skydemo из последних Дядьмишиных спиритов. Я пробовал накладывать детальную текстуру поверх белой - получалось неплохо. Нужно только поиграться со светом, чтобы все углы были равномерно освещены.
Я их и так фильтрую. У всех небесных ентить у меня стоит специальных renderfx. Но есть одна загвоздка. Если CStudioModelRenderer::StudioDrawModel вызывается каждый проход, и я могу спокойно сделать так:
C++ Source Code:
1
if ( (m_pCurrentEntity->curstate.renderfx != 70 && gViewSkyboxPass) ||
тем самым не рисовать небесные энтити во время отрисовки мира и не рисовать мировые энтити во время отрисовки неба. То Брашевые ентити я понятия не имею где фильтровать. Есть такая функция HUD_AddEntity, которая как раз и используется, чтобы не рисовать определенного игрока в спектатор режиме, но она вызывается всего ОДИН раз за кадр, а не каждый проход. Что делать, не знаю. Может вы сможете помочь.
Цитата:
Ku2zoff писал: не надо использовать в небесной коробке текстуру SKY, а использовать обычную
Это хорошее решение проблемы, если бы небо было несмещаемым, как в спирите. А так получится, что текстуры неба у меня тоже будут смещаться, и в один момент я уйду на край уровня, а там все будет выглядеть некрасиво.
__________________ Никогда не поздно сделать мод под хл1