HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Обновление движка (https://hlfx.ru/forum/showthread.php?threadid=5824)
Отправлено Дядя Миша 16-04-2022 в 05:35:
Обновление движка
В теме Field Intensity выявились некоторые баги при работе Xash3D с этим модом. В основном они касаются отображения стимовского задника.
Я списался с Альбатроссом и мы с ним провели ревизию отличий, что было исправлено в FWGS с тех пор, когда я выпустил последнюю версию Xash3D.
Накопилось не очень много мелких, но зачастую критично важных исправлений. Так что я думаю, Xash3D нуждается в выходе как минимум еще одного обновления. Это не займет много времени, но скорее всего будет не раньше начала лета.
Ксаш-мод и P2 пока обновлять не планирую, поскольку над ними плотно работает коммунити, да и наверное уже нет смысла этого делать. А вот движок надо. Хотя бы потому, что там есть один мерзкий баг, который я посадил перед релизом и даже не заметил этого.
Я там пытался исправить зависание видеороликов со сжатым звуком и сломал ролики с несжатым. Как минимум вот это надо исправить. Ну и еще по сетевому коду разные мелкие недочёты. Кстати, раз уж я создал тему, давайте проголосуем, кто какой ксаш использует
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KorteZZ 16-04-2022 в 09:48:
Я использую ванильный Ксаш, к сожалению. Пришлось исправить кучу проблем с лимитами, освещением, работой с моделями и прочим, за что большое спасибо Айнекко.
Если бы я начал делать свой мод позже, то делал бы на FWGS. Следующие свои проекты буду делать на Прайме, ибо он уже сейчас по многим параметрам лучше, чем ванила, работает мультиплеер и исправлено много косяков оригинала, плюс добавлено много чего вкусного.
Я изначально стартовал на Ксаше от Дяди Миши, но после выхода FWGS 0.20 перешел на него
__________________
И главное, Артём, помни: не ешь желтый снег!
Отправлено FreeSlave 16-04-2022 в 13:23:
Если говорить о классических модах на HL, то я конечно выбираю голдсорс как основную поддерживаемую платформу, что вполне логично. Ксаш в данном случае хорош как альтернатива (ведь иметь альтернативы это прекрасно), а конкретно Xash3D-FWGS - ещё и как возможность охватить больше платформ (хотя я пока не занимался портом своего мода на Android, но в планах такое есть).
Я хочу сказать, что в модостроении на халфу переход на Ксаш (вкупе с дропом поддержки голдсорса) должен быть оправдан. Например в случае, если у автора наполеоновские планы и нужна поддержка огромных карт и какие-то другие фичи.
Ну а если делать вообще отдельную игру (отвязанную от халферского сообщества как основной ЦА), при этом желая сохранить привычные инструменты и форматы, - то Ксаш это как раз идеальный вариант.
__________________
Dr. Bowman: "So what was it?"
Sly: "Anachronox! Man, you guys are dumb."
Dr. Bowman: "But... You said it started with a 'U'."
Sly: "Yeah I know."
Отправлено FreeSlave 16-04-2022 в 14:00:
Цитата:
qishmish писал: А что там с траблами типа "прилетит по башке"?
Ну так если кто-то решился делать игру на Ксаше, то он наверно к такому готов
KorteZZ писал: Следующие свои проекты буду делать на Прайме
Но ведь Прайм - это же просто мод. Он и там и там должен работать.
Цитата:
KorteZZ писал: Пришлось исправить кучу проблем с лимитами, освещением, работой с моделями и прочим, за что большое спасибо Айнекко.
Ну он может тоже сюда перечислить, что исправлял, если это конечно внутри движка, а не мода. Я включу в апдейт.
Цитата:
KorteZZ писал: исправлено много косяков оригинала, плюс добавлено много чего вкусного.
Я неоднократно говорил, что именно "легкая недоделанность" так манила моддеров и заставляла их исправлять и улучшать HL_SDK.
И где-то намеренно, а где-то из-за недостатка времени, я тоже оставил такие вот недоработки. Коммунити формируется именно так.
Или Сталкера взять в пример - то же самое, абсолютно.
Психология
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KorteZZ 16-04-2022 в 15:59:
Прайм работает только на фвгс. На ваниле не заведется.
Цитата:
Дядя Миша писал: Ну он может тоже сюда перечислить, что исправлял, если это конечно внутри движка, а не мода. Я включу в апдейт.
Ну это он сам решит. А так, было бы классно.
Цитата:
Дядя Миша писал: Я неоднократно говорил, что именно "легкая недоделанность" так манила моддеров и заставляла их исправлять и улучшать HL_SDK.
И где-то намеренно, а где-то из-за недостатка времени, я тоже оставил такие вот недоработки. Коммунити формируется именно так.
Или Сталкера взять в пример - то же самое, абсолютно.
Психология
Че-то так себе психология. Сколько нервов, времени и сил сожгли эти баги-глюки. А Креозот и вовсе дропнул модострой из-за этого.
FreeSlave писал: в модостроении на халфу переход на Ксаш (вкупе с дропом поддержки голдсорса) должен быть оправдан. Например в случае, если у автора наполеоновские планы и нужна поддержка огромных карт и какие-то другие фичи.
Я именно по этой причине перешел на ксаш. И ксашмод этому способствовал с порталами, мониторами, и прочим. Та же голда с возможностями сорса, которых мне так не хватало. А сорс просто не так нравится.
Цитата:
qishmish писал: А что там с траблами типа "прилетит по башке"?
Если не продавать, то ничего и не прилетит. У меня к примеру мод со своей вселенной, не связанной с хл. Считается ли это игрой?) Технически да.
Цитата:
Дядя Миша писал: он может тоже сюда перечислить, что исправлял
Там в основном касаемо лимитов. Например max_models, у которых лимит почему-то был 768 вроде, поставили 2048. А иначе не получалось заспавнить более 768 брашевых энтитей, был вылет. Непонятно, почему двиг не используется на полную катушку, он ведь все это тянет спокойно.
Цитата:
Дядя Миша писал: именно "легкая недоделанность" так манила моддеров и заставляла их исправлять и улучшать HL_SDK
Я вообще маппер. Из кодинга мне вдруг понадобилось сделать перезарядку у гаусса (тут на форуме даже где-то есть это среди моих первых сообщений). Из плюсов, да, я втянулся в кодинг. Но морочился я очень и очень долго, когда мог бы делать карты и кодить всякие оружия. А мне пришлось чинить фонарик, освещение и тонну багов в рендерере (спасибо еще метаморфу частично). Еще остались сломанные гейтсиквенсы, с которыми я уже сдался, т.к. за полгода так и не смог сделать. Надеюсь опять же на метаморфа, больше некому. И поэтому согласен с товарищем:
Цитата:
KorteZZ писал: Че-то так себе психология. Сколько нервов, времени и сил сожгли эти баги-глюки
Насчет апдейта движка, говорю только за себя - я не вижу смысла в этом обновлении, т.к. fwgs уже на голову превзошел оригинал, в особенности в плане поддержки мультиплеера. Если только довести по мелочи до конца, чтобы осадок не оставался на душе, тут уже автору виднее.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Эх, а головой немного подумать?
Вот заглючило что-то и непонятно где баг. Запускаем на оригинальном ксаше - всё ок. Следовательно регрессия в FWGS. Или наоборот - глючит так же. Т.е. как минимум для отладки и тестирования полезно.
Да и опять же - FWGS не заводится на XP. А такие пользователи по прежнему существуют.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 17-04-2022 в 18:48:
Цитата:
Дядя Миша писал: FWGS не заводится на XP
Не заводится или просто не тестируется?
Если первое - то любопытно, какие технические преимущества это дало?
Мне казалось, что XP-совместимый тулчейн содержит всё, что нужно, не только для компиляции олдскульных движков, но и вполне современных.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FreeSlave 17-04-2022 в 20:45:
Цитата:
Дядя Миша писал: Да и опять же - FWGS не заводится на XP.
Скорее всего сбилдить можно, просто автоматические сборки делаются на виндах где этот тулчейн уже не доступен.
Цитата:
Дядя Миша писал: Только адепт Линукса может радоваться потере совместимости.
Я вот на Линуксе сижу, но для своего мода специально настроил возможность автосборки WinXP-совместимой версии библиотек. А версия для Linux билдится в официальном стимовском chroot'е, для гарантии совместимости с линуксовым голдсорсом.
А чем Visual Studio 2017, в которой XP тулчейн доступен, хуже? Я откатился с 2019 обратно ради экономии места на диске. Никаких особых отличий нет. Для кодера под ксаш/халфу. ДМ вообще движок 6-ой студией собирает, хотя мог бы перейти на 2010 Express. Если забить на IntelliSense/IntelliCode, я бы до сих пор собирал 2003 студией - я её нашёл раньше шестёрки, долго в ней работал и привык, после неё в шестёрку не ногой: от интерфейса и шрифтов глаза болят. 2003 у меня стоит на виртуалке, и прекрасно собирает проекты так же, как 2017/2019. В халфовских либах, как и в ксаше-движке ничего такого нет, чего не сможет собрать студия 20-тилетней давности. По приколу хотел ещё проекты под C++ Builder 6 сделать, но Portable версия на десятке не заводится.
Отправлено Crystallize 18-04-2022 в 02:17:
Дядя Миша fwgs нормально работает в хр
Отправлено XaeroX 18-04-2022 в 02:30:
FreeSlave
Его там даже как дополнительный пакет поставить нельзя?
Если так, то хорошо что я с 2017 студии не обновляюсь. И теперь видимо не буду.
Ku2zoff писал: хотя мог бы перейти на 2010 Express
Ксер на нее ругался, что-то со флоатами.
Между прочим в студиях действует обратное правило. Всё что написано под свежие студии прекрасно соберётся в шестёрке. А вот наоборот - будет много мата по строгой типизации, причём на ровном месте.
Приведу один характерный пример.
C++ Source Code:
typedefint string_t;
шестёрка справедливо считает, что int и string_t это один хрен и не даёт сделать перегрузку функций, у которой один аргумент int, а у другой string_t. Более свежие студии наоборот отказываются кастовать int к string_t, а char к int8_t. Маразм развели на ровном месте. Их разрабы GCC покусали. Единственное что не будет собираться шестёркой - это всякие свежие бессмысленные конструкции, типа long long. Бессмысленные, потому что в них нет логики и целостности. Я же не могу написать double float к примеру.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KorteZZ 18-04-2022 в 05:19:
Цитата:
Дядя Миша писал: Эх, а головой немного подумать?
Вот заглючило что-то и непонятно где баг. Запускаем на оригинальном ксаше - всё ок. Следовательно регрессия в FWGS. Или наоборот - глючит так же. Т.е. как минимум для отладки и тестирования полезно.
Вот заглючит у меня праймовский пбр - пойду тестить в ванилу Ксаша? Или физика. Или акустически правильный звук? Поломается не авроровская система частиц, тоже там искать? Мультиплеер? Ради этого отказываться от большой кучи новых вкусняшек не буду.
Если верить результатам опроса, в точности повторяется ситуация, в которую я попал с выходом кастом-билда для спирита. Был, как вы помните Spirit 1.2, со всякими багами нехорошими. А я их исправил и назвал это Spirit 1.3 CB.
Но его мало кто юзал, все предпочитали оригинальный продукт от Laurie.
Несмотря на все его баги. Должно быть в психологии этому есть какое-то название. Ну вообщем ситуацию удалось переломить только с выходом Spirit 1.9 CB, да и то - незначительно.
А "акустически правильный" звук, я могу и в оригинальный ксаш взять.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 18-04-2022 в 08:24:
Цитата:
Дядя Миша писал: ситуацию удалось переломить только с выходом Spirit 1.9 CB, да и то - незначительно.
Было уже слишком поздно. Моды под халфу потеряли былую актуальность. Хотя, что удивительно, некоторые так и продолжили использовать спирит 1.2 даже в 2020-х годах.
Цитата:
Дядя Миша писал: Был, как вы помните Spirit 1.2, со всякими багами нехорошими.
В 1.4 багов ещё больше.
Отправлено KorteZZ 18-04-2022 в 08:53:
Ну лично я сижу на ваниле ксаша лишь потому, что начал делать мод на нём до появления Прайма. Айнекко так же. Уже поздно переходить.
Мой следующий мод точно будет на Прайме.
KorteZZ писал: Ну лично я сижу на ваниле ксаша лишь потому, что начал делать мод на нём до появления Прайма. Айнекко так же. Уже поздно переходить.
Я так понимаю имеется в виду ксашмод. Потому что я-то сижу не на ванильном ксаше, а ванильном ксашмоде
На прайм я не перейду, потому что я переделал очень много кода, включая много фиксов и добавок в рендере, мой кастом-билд уже стал персональным. Пора уже сфокусироваться на моде, чем в очередной раз менять рендер. Я уже переезжал с ванильной голды на ксаш + ксашмод 0.65, а потом на фвгс + ксашмод 0.81. Хватит переездов. В прайме конечно будет оптимизированный мир и все такое, но я уже нашел свои способы поднять фпс и в принципе мне хватает. Есл решусь делать следующий мод то скорее всего возьму прайм. Но пока в планах только длц и прочая поддержка еще невышедшего мода, что будет делаться на моем кастом-билде.
Prime это очень масштабная задумка и неизвестно, когда она станет пригодной к использованию. В идеале автору бы неплохо самому сделать на ней игру. Но, как мы знаем по P2, даже это не гарантирует, что багов прям воще не будет.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KorteZZ 18-04-2022 в 11:45:
Конечно, без багов не обойдется. Но я верю в Метаморфа и помогу чем смогу. К тому же, уже сейчас есть несколько модов, которые втихую строятся на именно Прайме, так что тестировать есть кому.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FreeSlave 18-04-2022 в 11:59:
Цитата:
Ku2zoff писал: А чем Visual Studio 2017, в которой XP тулчейн доступен, хуже?
Может и ничем. Мы же об автоматическах сборках говорим. Они через github actions, а на последней винде там сейчас вообще Visual Studio 2022 по умолчанию. Если запариться, то можно что-то более старое поставить, просто никто этим не занялся.
Цитата:
XaeroX писал: Его там даже как дополнительный пакет поставить нельзя?
Если так, то хорошо что я с 2017 студии не обновляюсь. И теперь видимо не буду.
Насколько я знаю, 2017 - последняя версия, куда xp тулчейн можно поставить. По крайней мере, по майкрософтовским докам.
Цитата:
Дядя Миша писал: Был, как вы помните Spirit 1.2, со всякими багами нехорошими. А я их исправил и назвал это Spirit 1.3 CB.
Что-то я не могу его найти. 1.9 гуглится, а 1.3 - нет. Только здесь changelog нашёл http://gamer-lab.com/rus/folder/ChangeLog
Я для своего SDK некоторые фичи из Spirit 1.2 переносил. Тоже кое-что приходилось править.
FreeSlave писал: Мы же об автоматическах сборках говорим. Они через github actions, а на последней винде там сейчас вообще Visual Studio 2022 по умолчанию.
Понятно. Доверять сборку среде, настроенной левым Васей, такое себе.
Цитата:
FreeSlave писал: Насколько я знаю, 2017 - последняя версия, куда xp тулчейн можно поставить. По крайней мере, по майкрософтовским докам.
Начиная с какой-то версии 2017 студия при сборке проекта выдаёт варнинг, дескать "XP Toolkit is deprecated, в будущей версии студии его не будет".
Отправлено FreeSlave 18-04-2022 в 14:54:
Цитата:
Ku2zoff писал: Понятно. Доверять сборку среде, настроенной левым Васей, такое себе.
Если для тебя разработчики github - левые Васи, то может и разработчикам Вижуал Студии доверять не стоит? А ещё "левые Васи" сделали операционную систему, на которой ты сидишь.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 19-04-2022 в 07:11:
Цитата:
FreeSlave писал: Если для тебя разработчики github - левые Васи
Ну а кто ж ещё? Они ж на нашем форуме не сидят
Цитата:
Дядя Миша писал: средневозрастной максимализм!
Да не в этом дело. Мне вот что странно: есть у ребят отлаженный проект, собирают 2013 студией. Гитхаб вдруг ВНЕЗАПНО обновляет GitHub Actions и всё с ним связанное до 2015 студии. Просто потому что, не знаю почему. Наверное потому же, почему школьники сразу на новую винду переходят. Ну и ребятам надо возиться, чинить что поломалось после этого обновления. Мне кажется, что такая платформа, как гитхаб могла бы предоставлять побольше выбора.
Отправлено Дядя Миша 19-04-2022 в 08:23:
В программировании есть два пути.
Либо бесконечное обновление и исправление того, что перестало работать, либо написание нового кода.
Первый путь очень модный. Именно его адепты пьют смузи и ходят в барбер-шопы.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 19-04-2022 в 08:44:
Цитата:
Дядя Миша писал: В программировании есть два пути.
Если команда большая, а то и вообще целая компания, они почти всегда идут по первому пути. Второй путь либо для одиночек, которые пишут код по фану (привет нашему Мастеру), либо для маленьких конторок, которые непрерывно повышают свой скилл. Ничего не мешает идти обоими путями, используя немного устаревшие, но стабильные инструменты. Как ничего не мешает делать качественный контент на устаревших версиях софта. Зачем обновлять инструментарий с выходом каждой новой версии? И тратить время на миграцию и адаптацию? В случае разработчиков прикладного ПО это оправданно когда подавляющее большинство юзеров пересядет на свежую ОСь. В моём понимании переход на VS 2022 должен быть мотивирован тотальным переходом на Win 11. А что мы сейчас видим? 11 сырая, у шкальников фпс в играх просаживается на треть по сравнению с 10. По сравнению с 7, в которой меньше слежки и других фоновых служб, и всё уже давно оптимизировано, разница будет ещё больше. Даже между первой семёркой, где ещё дырочка в меню "Пуск" иногда появляется, и между семёркой SP1, разница в производительности заметна.
Отправлено FreeSlave 19-04-2022 в 11:47:
Цитата:
Ku2zoff писал: Гитхаб вдруг ВНЕЗАПНО обновляет GitHub Actions и всё с ним связанное до 2015 студии.
Это не делается внезапно. Например, о дропе поддержки windows-2016 (где по умолчанию поставлялась более старая студия) гитхаб написал за 5 месяцев до.
Цитата:
Ku2zoff писал: Ну и ребятам надо возиться, чинить что поломалось после этого обновления. Мне кажется, что такая платформа, как гитхаб могла бы предоставлять побольше выбора.
В этом действительно есть определенный минус. Но для некоторых проектов это неважно, и можно всегда сидеть на windows-latest. Для других есть альтернативы типа appveyor, которые предоставляют больше вариантов сред.
FreeSlave писал: о дропе поддержки windows-2016 (где по умолчанию поставлялась более старая студия) гитхаб написал за 5 месяцев до
Дык это и есть внезапно. Не каждый проект можно успеть адаптировать за такой короткий срок. Но это же всё касаемо автосборок, верно? Если хранить на гитхабе лишь сорцы, а собирать билды на локальных машинах, можно хоть 6-ой студией пользоваться.
Отправлено Дядя Миша 19-04-2022 в 12:43:
Цитата:
Ku2zoff писал: И тратить время на миграцию и адаптацию?
Они всё равно не знают, куда еще его потратить. А так готовая отмазка для начальства - сделали обновление, всё поломалось, теперь чиним.
Цитата:
Ku2zoff писал: где ещё дырочка в меню "Пуск" иногда появляется
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 19-04-2022 в 13:03:
Цитата:
Ku2zoff писал: Даже между первой семёркой, где ещё дырочка в меню "Пуск" иногда появляется, и между семёркой SP1, разница в производительности заметна.
Стоял как-то комп который очень быстро грузился а потом оказалось что там просто Вин7 без сервис-пака.
Отправлено FreeSlave 19-04-2022 в 13:08:
Цитата:
Ku2zoff писал: Но это же всё касаемо автосборок, верно? Если хранить на гитхабе лишь сорцы, а собирать билды на локальных машинах, можно хоть 6-ой студией пользоваться.
6-ую студию можно и внутри среды билдежки поставить. Собственно, я завел отдельный action который эту студию выкачивает и билдит ею, когда я хочу зарелизить мод на винду.
Но промежуточные dev-сборки делаются более стандартным способом.
Кувертус, узнав о грядущем обновлении весьма оживился, у него там оказывается целый список нерешённых проблем. Которые, кстати и в FWGS тоже никто не решил. Так-то.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено SNMetamorph 30-04-2022 в 07:43:
Цитата:
Дядя Миша писал: Кувертус, узнав о грядущем обновлении весьма оживился, у него там оказывается целый список нерешённых проблем. Которые, кстати и в FWGS тоже никто не решил.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 30-04-2022 в 17:21:
Цитата:
SNMetamorph писал: Интересно, каких
Игрокам весь список оглашать бесполезно. Но нам, тему читающим, было бы интересно. Однако, qwertyus очень целеустремлённый и дотошный. Я бы не смог удержать в голове столько мелочей о модах халфы.
Отправлено SNMetamorph 30-04-2022 в 17:50:
Цитата:
Ku2zoff писал: Игрокам весь список оглашать бесполезно. Но нам, тему читающим, было бы интересно. Однако, qwertyus очень целеустремлённый и дотошный. Я бы не смог удержать в голове столько мелочей о модах халфы.
Ну я, собственно, интересуюсь как один из разработчиков FWGS-движка
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено a1batross 05-07-2022 в 19:33:
KorteZZ я вам расскажу секрет.
FWGS можно копипастить поверх ванильного Ксаша. И ничего не сломается.
В отличии от 0.19 и старее, в 0.20 мы делаем всё так, чтобы переход был максимально безболезненным.
Добавлено 05-07-2022 в 22:24:
FWGS работает на XP.
Добавлено 05-07-2022 в 22:27:
Ku2zoff на случай если гитхаб обновит штудию и выкинет v141_xp, я сам эту штудию запакую в архив, выкину на гитхаб и буду выкачивать.
Ну как у нас сделали архивчик vsmini.7z. Просто MSVC6 в архиве на десяток-два мегабайт.
Добавлено 05-07-2022 в 22:33:
Дядя Миша фиксы мультиплеера как ни странно и сингл чинят.
Впрочем, свой кувертус у нас тоже есть и приносит он крайне занятные сингловые баги, которые внезапно даже правятся.
Кстати из WIP, для моддеров завожу поддержку VFileSystem009 из голдсорса. Нынче много кто уже переключился на этот вальвовский интерфейс файловой системы.
a1batross писал: в 0.20 мы делаем всё так, чтобы переход был максимально безболезненным.
FWGS работает на XP.
Осталось теперь убедить SNMetamorph вернуть совместимость. Когда я агитировал его не ломать, он сказал странную вещь - якобы в MSVC 2017 есть std::filesystem и это настолько удобная вещь, что за нее он готов продать душу дьяволу или что-то вроде этого.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено SNMetamorph 05-07-2022 в 22:04:
Цитата:
Дядя Миша писал: Осталось теперь убедить SNMetamorph вернуть совместимость. Когда я агитировал его не ломать, он сказал странную вещь - якобы в MSVC 2017 есть std::filesystem и это настолько удобная вещь, что за нее он готов продать душу дьяволу или что-то вроде этого.
Дело не только в конкретно std::filesystem, а вообще про современные стандарты C++. Ну а вообще, будет спрос на это - я верну поддержку, нет никаких проблем. Но и спроса тоже нет, в общем то.
SNMetamorph писал: а вообще про современные стандарты C++
Т.н. современные стандарты С++ были введены с одной единственной целью - исправить косяки STL и Boost. Больше они ни для чего не нужны.
Да и сам STL под вопросом. Его реализация отличается на разных версиях студии, нет никакой гарантии портируемости.
Товарищи! А накидайте мне пожалуйста список всех самых ужастных багов, которые вас мучают и до сих пор не починили.
В прошлом году я так и не нашёл время для всего вот этого, но вероятно найду в этом. Причём не только для движка, а скорее всего для всех проектов, если оно там по смыслу требуется.
Ну навскидку - проблемы с гейтом были, то ли игрок ногами не перебирал, то ли наоборот перебирал неправильно. Ещё что-то?
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 26-02-2023 в 11:32:
Дядя Миша
Напомню про баг, с которым я тебе уже надоедал: несоответствие трансформаций браша и подцепленной к нему модельки. В ксашмоде сидит, насколько я пони.
Отправлено Дядя Миша 26-02-2023 в 11:40:
Цитата:
nemyax писал: несоответствие трансформаций браша и подцепленной к нему модельки
Как-то на примере поясни. Энтити поддерживают либо браш, либо модель. но не всё вместе.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено [CFR] B@N@N 26-02-2023 в 11:59:
Цитата:
KorteZZ писал: Че-то так себе психология. Сколько нервов, времени и сил сожгли эти баги-глюки. А Креозот и вовсе дропнул модострой из-за этого.
Причём ладно бы эти человеко часы пошли в какие-то аплейты, а ведь каждый по сути дела "изобретал велосипед заново", правя одно и то же. Такое расточительство времени, особенно в наш динамичный век - крайне пагубно и расточительно!
Добавлено 26-02-2023 в 14:59:
Цитата:
Дядя Миша писал: Был, как вы помните Spirit 1.2, со всякими багами нехорошими. А я их исправил и назвал это Spirit 1.3 CB.
Но его мало кто юзал, все предпочитали оригинальный продукт от Laurie.
Несмотря на все его баги. Должно быть в психологии этому есть какое-то название.
Это называется комплексом жертвы. Некоторым людям просто необходимо страдать и об этом жаловаться, привлекая к себе внимание.
Что касается Спирита, то тут всё проще, чем ты думаешь: известность. Я вот, например, начинал моддить как раз на последней версии официально выпущенной. Про всякие кастом билды на него я уже много позже узнал. Ну и дело в доверии тоже: большинство скептически настроено просто на неванильные поделки.
Здесь вот в опросе характерный пример: много людей продолжает работать с ванильным Ксашем, несмотря на то, что FWGS версия и круче и стабильнее и всякое такое
Отправлено Aynekko 26-02-2023 в 12:51:
Цитата:
Дядя Миша писал: проблемы с гейтом были, то ли игрок ногами не перебирал, то ли наоборот перебирал неправильно
Да, в ксашмоде это очень нужно починить. Это касается мультиплеерной составляющей, а также вида от третьего лица.
Ну еще, из того, что я починил сам - это освещение фонариком моделей со скейлом отличным от единицы.
Был еще кажется баг, что у солдат не рандомизируется (и не выбирается) оружие, и они всегда спавнятся с автоматом (опять же чинил костылями - давно это было, больше туда не лазил).
Про гейты и совмещение гейтов и секвенсов также поддерживаю особенно после параноевского компилятора. Это очень негативно влияет на разработку. Ещё есть такой момент как работа моделей с не стандартным скелетов или HD моделей которые работают некорректно, а точней не работы секвенсов. Есть фикс для хл написанный вроде Дядей Мишей если не ошибаюсь исправляющий это для хл на голде, но вот как применить его для ксаша я не знаю так как там многое отличается, к слову как показала практика не знаю не только я.
Отправлено Дядя Миша 26-02-2023 в 14:09:
Цитата:
[CFR] B@N@N писал: много людей продолжает работать с ванильным Ксашем
Да, любопытно. Ну к слову, у меня в процессе разработки NT осталаось довольно много уникального материала, который там не пригодился.
Кстати, кто как смотрит на портирование движка на С++?
Это не значит что я перепишу там вообще всё (ото делать мне больше нечего), это значит я просто переименую все файлы .c в .cpp и исправлю все ошибки, которые неизбежно возникнут при таком переименовании.
А на классы в дальнейшем можно будет переходить уже постепенно, используя их там, где это нужно по смыслу.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено SNMetamorph 26-02-2023 в 14:22:
Цитата:
Дядя Миша писал: Кстати, кто как смотрит на портирование движка на С++?
Да зачем? И так нормально же. Это имело бы смысл делать в самом начале разработки проекта, имхо.
А с гейтами бы действительно стоило разобраться, там какая-то нетривиальная проблема. Еще бы пофиксить запекание радиосити для повертексного освещения моделей, ибо оно работает как-то так себе. Не говоря уж про лайтмапы на моделях, но это понятно что экспериментальная фича и на неё в целом можно не обращать внимания.
Прошу прощения за оффтоп, но тут зашел на сайт xash3d.ru и сразу родился анекдот:
«Семь лет Дяде Мише на Ксаш донатил, а тут вчитался на сайте, оказывается засылал деньги авторам движка сайта.»
Отправлено Дядя Миша 26-02-2023 в 14:50:
Цитата:
SNMetamorph писал: Да зачем? И так нормально же
для некоторых нововведений мне потребуются классы. Быстрее движок тарнуть на с++ чем тот код портировать на Си.
Цитата:
SNMetamorph писал: А с гейтами бы действительно стоило разобраться, там какая-то нетривиальная проблема
там проблема в том, что код надо дописывать. А не искать ошибку.
Цитата:
SNMetamorph писал: Еще бы пофиксить запекание радиосити для повертексного освещения моделей, ибо оно работает как-то так себе. Не говоря уж про лайтмапы на моделях, но это понятно что экспериментальная фича и на неё в целом можно не обращать внимания.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FreeSlave 26-02-2023 в 15:34:
Цитата:
Дядя Миша писал: Товарищи! А накидайте мне пожалуйста список всех самых ужастных багов, которые вас мучают и до сих пор не починили.
Крэш из-за большго размера бэкграунда меню, который вскрылся на выпуске Field Intensity.
Сам баг меня не мучает, но мучают пользователи, которые не читают README (куда мы потом добавили описание способа обхода крэша на ванильном Ксаше), и жалуются на крэш.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 26-02-2023 в 16:48:
Цитата:
Дядя Миша писал: Да, любопытно. Ну к слову, у меня в процессе разработки NT осталаось довольно много уникального материала, который там не пригодился.
Кстати, кто как смотрит на портирование движка на С++?
Это не значит что я перепишу там вообще всё (ото делать мне больше нечего), это значит я просто переименую все файлы .c в .cpp и исправлю все ошибки, которые неизбежно возникнут при таком переименовании.
А на классы в дальнейшем можно будет переходить уже постепенно, используя их там, где это нужно по смыслу.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено SNMetamorph 26-02-2023 в 19:33:
Цитата:
FiEctro писал: Я думаю стоит с Альбатросом по этому поводу сколабиться, у них довольно много тикетов скопилось.
И да, и нет. Большая часть багов, которые были в ванильном ксаше, в FWGS форке уже пофикшены. Но остались некоторые до сих пор не пофикшенные вещи, всё же.
SNMetamorph писал: И да, и нет. Большая часть багов, которые были в ванильном ксаше, в FWGS форке уже пофикшены. Но остались некоторые до сих пор не пофикшенные вещи, всё же.
Так можно перенести эти фиксы в ванилу, либо уже вместе работать над FWGS
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено [CFR] B@N@N 26-02-2023 в 21:17:
Цитата:
Дядя Миша писал: Кстати, кто как смотрит на портирование движка на С++?
Это не значит что я перепишу там вообще всё (ото делать мне больше нечего), это значит я просто переименую все файлы .c в .cpp и исправлю все ошибки, которые неизбежно возникнут при таком переименовании.
От так вот и начинается с таких заходов сортировка строк в details.lst и замены int на uint_32
Какой практический в том будет эффект?
Лучше потрать время на то, что действительно народу нужно. Те же гейтсеквенции для монстров!
Добавлено 27-02-2023 в 00:17:
Цитата:
FiEctro писал: Так можно перенести эти фиксы в ванилу, либо уже вместе работать над FWGS
Ну вот да, самое правильное решение. И путаницы меньше конечному пользователю / модмейкеру и всё в одном месте и не нужно мучиться выбором
Отправлено SNMetamorph 26-02-2023 в 22:07:
Цитата:
FiEctro писал: Так можно перенести эти фиксы в ванилу, либо уже вместе работать над FWGS
Второе видится мне самым оптимальным, но ДМ этим точно не будет заниматься.
В аттаче стенд с этим багом и ещё одним.
Первый — встань на полосатый квадрат и крутани штурвал. Тебя раздавит солидная маделька, чьи физические габариты ксашмод считает не такими, как на рендере.
Второй — встань на красный квадрат и посмотри на жёлтый, что на стене. Пропадёт решётка справа. А ту, что слева, не видно вообще низко кова ракурса, хотя она там есть (если отодвинуть конструкцию от угла, то появится).
Отправлено Дядя Миша 27-02-2023 в 08:30:
Цитата:
[CFR] B@N@N писал: Какой практический в том будет эффект?
Оно как бы уже давно назревало. Как минимум - перевести всё на юниформ-математику. Но есть и ещё кое-что. Некоторые фишки с начальных версий XashNT очень муторно переписывать на Си.
Цитата:
SNMetamorph писал: но ДМ этим точно не будет заниматься.
Я вчера почитал за ваш баглист - аж вздрогнул от всех этих вадов и прочих древних ограничений. Я уже успел про это всё благополучно забыть.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Lev 27-02-2023 в 08:47:
Дядя Миша Помнится ты как-то говорил об оптимизации отрисовки геометрии, которую ты разрабатывал для NT, и которую гипотетически можно встроить и в обычный ксаш, правда поломав совместимость с голдсорсом. Если я ничего не путаю, то на совместимость имхо можно забить, так как люди переходят на ксаш/FWGS именно чтобы убежать от ограничений голдсорса, а старые HL-моды можно проходить и под старыми билдами ксаша.
Отправлено Дядя Миша 27-02-2023 в 08:53:
Цитата:
Lev писал: которую ты разрабатывал для NT, и которую гипотетически можно встроить и в обычный ксаш, правда поломав совместимость с голдсорсом
Вот и для нее в том числе надо перевести движок на С++.
Впрочем, повторюсь, перевести - это громко сказано. Код останется прежним, сами файлы получат расширение .cpp, ну и векторная математика будет переписана. ГолдСорс, между прочим изначально на С++ написан.
Добавлено 27-02-2023 в 11:53:
Цитата:
Lev писал: правда поломав совместимость с голдсорсом
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 27-02-2023 в 11:56:
Тогда может стоит всё же сфокусироваться на NT? А то потом опять появятся решения и наработки и опять возвращаться к актуализированию ванильного движка. Или переписать его на виртуальную машину NT чтобы на нём можно было гонять моды от халфы .
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено nemyax 27-02-2023 в 12:05:
Цитата:
FiEctro писал:
Или переписать его на виртуальную машину NT
Подозреваю, что именно этим дядя Миша сейчас и занят, потому и представился случай заодно поправить оригиналы.
Отправлено Дядя Миша 27-02-2023 в 15:54:
Не-не. Сначала очередная бета XashNT, а потом всё остальное.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено SNMetamorph 27-02-2023 в 18:23:
Цитата:
Дядя Миша писал: Да и вообще, что за отношение? Страшно, это когда ты ремонтируешь какую-нибудь кофемашину, стоимостью с трёхкомнатную квартиру в Москве.
И вот там да, если что-то сломаешь - действительно страшно.
Да всё просто. Что-то по случайности сломать в сотнях строк кода с вычислениями, а потом пытаться найти, в каком месте ошибка случилась. Это ад. Поэтому подобные задачи надо декомпозить на маленькие куски, чтобы можно было сузить область поиска, на случай если случится страшное.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Дядя Миша 09-03-2023 в 08:00:
В процессе изучения алгоритмов поиска пути для навигации монстров мне внезапно в голову пришла одна очень-очень любопытная идея.
Я уже изложил её Метаморфу, если он сочтёт её стоящей, то вероятно попробует реализовать самостоятельно. Ну а если нет - я постараюсь найти время для экспериментов, чтобы добавить это в P2ST.
В детали технической реализации вдаваться не буду, но смысл таков, что если получится - то можно будет колоизировать модели из env_static стандартными средствами формата BSP. Т.е. клипнодами. А значит это будет работать и на ванильной халфе тоже. Причём, что особенно интересно - это должно сожрать много клипнодов, даже не смотря на высокую полигональность добавляемой модели, т.е. этот путь будет гораздо оптимальнее всех этих замут с посторонней колизией. Ну посмотрим.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 09-03-2023 в 08:52:
Я конвертировал модели из .obj в .bsp и могу сразу сказать что клипнодов не хватит, разве что только использовать какую то прокси модель специально для коллизии. Но вот перегнать уровень напрямую из модельки интересно.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Aynekko 09-03-2023 в 10:01:
Грубо говоря, модель будет ощущаться как обычный браш?
Дядя Миша писал:
что особенно интересно - это должно сожрать много клипнодов
Ты имел в виду "не должно"?
Отправлено Дядя Миша 09-03-2023 в 11:26:
Цитата:
FiEctro писал: Я конвертировал модели из .obj в .bsp и могу сразу сказать что клипнодов не хватит
Мои компиляторы умеют "запекать" obj модели в карту, причём корректно рассчитывать для них и свет и тени. Да я же твою лошадку выкладывал в качестве примера. Что для этого больше ничего не надо, никаких сторонних программ. Но та лошадка была без коллизии, поэтому клипнодов совсем не ела. Наверное овёс бы ела, ну да гдеж его взять.
Цитата:
FiEctro писал: разве что только использовать какую то прокси модель специально для коллизии
В этом и смысл - прокси получится автомагически.
Цитата:
FiEctro писал: Но вот перегнать уровень напрямую из модельки интересно.
Да хотя бы тот же ЧАЭС с коллизией из клипнодов. Клипнодов хватит, т.к. дерево теперь 32-х битное, но слишком большие деревья работают медленно.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 09-03-2023 в 13:59:
Цитата:
Дядя Миша писал: Да хотя бы тот же ЧАЭС с коллизией из клипнодов. Клипнодов хватит, т.к. дерево теперь 32-х битное, но слишком большие деревья работают медленно.
А нельзя колизию как то больно оптимально хранить? Я так понимаю эти клипноды довольно нестабильная фигня, могут вылазить там где ты их не ждёшь. У меня однажды такой вылез на полкарты.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 09-03-2023 в 14:26:
Цитата:
FiEctro писал: А нельзя колизию как то больно оптимально хранить?
Вобще-то клипноды - это сверхоптимальное хранение коллизии.
Может быть даже самый оптимальный алгоритм, какой только возможен.
Цитата:
FiEctro писал: У меня однажды такой вылез на полкарты.
Это у тебя секущая плоскость не обрезалась. Бывает.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 09-03-2023 в 15:11:
Цитата:
Дядя Миша писал: Может быть даже самый оптимальный алгоритм, какой только возможен.
Тогда зачем на них лимиты делать? Да и для физдвижка их всеравно придётся конвертировать?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 09-03-2023 в 15:18:
Какие лимиты?
Я говорю, что слишком здоровое дерево медленно работает.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 10-03-2023 в 07:20:
Цитата:
Дядя Миша писал: Какие лимиты?
MAX_MAP_CLIPNODES
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 10-03-2023 в 08:09:
Так я же давно снял это ограничение в расширенном формате для ксаша.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 10-03-2023 в 08:14:
Дядя Миша
Снял? Т.е. можно абсолютно любое количество клипнодов? Или всё же лимит есть, просто передвинут?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 10-03-2023 в 09:27:
Дядя Миша
А ну тогда вполне. Вообще интересно, как ты ему меши кормишь, я думал халфовский компилятор работает только с конвексными объектами.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено ZGreen 10-03-2023 в 11:26:
Ворлд-модель уровня любого конвексная?
Отправлено Дядя Миша 10-03-2023 в 11:48:
Цитата:
FiEctro писал: Вообще интересно, как ты ему меши кормишь
Convex Decomposition. Но это абстрактный термин, т.к. методов много.
Добавлено 10-03-2023 в 14:47:
Цитата:
ZGreen писал: Ворлд-модель уровня любого конвексная?
Но она состоит из конвексных брашей, темнименее. Впрочем фишка брашей в другом. В том это тела имеющие объем, в отличие от треугольников.
Добавлено 10-03-2023 в 14:48:
Да и конвексность брашей обусловлена методом их генерации. Неконвексный браш просто уничтожит сам себя.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 10-03-2023 в 15:24:
Дядя Миша
Кстати, а зачем халфовским компиляторам вообще конвексная геометрия? Почему они просто треугольники не могут обрабатывать?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 10-03-2023 в 15:39:
Дело не в конвексной геометрии, а в брашах. Брашы - тела с объемом, что позволяет вытворять многие замечательные штуки, на треугольниках в принципе недостижимые. Впрочем, я как раз над этим работаю. Может получиться что-то весьма интересное в итоге.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 10-03-2023 в 17:38:
Цитата:
Дядя Миша писал: вытворять многие замечательные штуки, на треугольниках в принципе недостижимые.
Например? Я так понимаю это как то связано с отсечением лишней геометрии? Типа объём нужен чтобы находить пересечение фигур?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 10-03-2023 в 19:51:
Цитата:
FiEctro писал: Я так понимаю это как то связано с отсечением лишней геометрии?
Да, но не только. Через портализацию можно, например, находить путь обхода препятствий для монстра. И да, это гораздо быстрее чем A-Star.
Помнишь когда в карте дырка - рисуется такая затейливая линия от энтите к дырке? Вот примерно так это и работает.
Добавлено 10-03-2023 в 22:51:
Еще можно всегда сделать быстрый тест, если объект застрял вне пустого пространства. На полигональной колоизации это невозможно. Именно поэтому застрявшее в текстуре тело так адски колбасит.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KiQ 10-03-2023 в 22:13:
Цитата:
Дядя Миша писал: рисуется такая затейливая линия от энтите к дырке
мне всегда казалось, что она ну слиишком уж кривая, порой приходилось за ней из угла в угол по карте летать. Может между смежными нодами она и не даёт таких искажений
__________________
-Brain is dead-
Отправлено Дядя Миша 11-03-2023 в 06:25:
Она кривая потому что дерево несбалансированное, ну да для визуализации оно и не нужно.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 11-03-2023 в 08:55:
Цитата:
Дядя Миша писал: На полигональной колоизации это невозможно. Именно поэтому застрявшее в текстуре тело так адски колбасит.
В Юнити я такого не замечал, там тело либо застревает и его медленно выталкивает, либо проваливается в таких случаях. А вот колбасит как раз в основном в сорсе у которого БСП геометрия.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено KiQ 11-03-2023 в 14:50:
FiEctro потому что в юнити для MeshCollider действуют такие правила:
Цитата:
Faces in collision meshes are one-sided. This means GameObjects can pass through them from one direction, but collide with them from the other.
что логично заставляет объект или выталкиваться или проваливаться в зависимости от застрявшего объема. Тем не менее устанавливаются существенные ограничения, в том числе для террейна, а именно
а. Два MeshCollider не могут взаимодействовать между собой, если один из них не конвексный
б. Для взаимодействия с RigidBody (что в целом базовый объект для физики, в том числе игрока) MeshTerrain обязан быть Convex
и это приводит нас к принципу действия этой волшебной галочки:
Цитата:
This generates the collider shape as a “convex hull” which is like the original mesh but with any undercuts filled in
то есть буквально то же самое, что делал Physx в том же ксаше - конвексные хуллы. К слову, если коллайдер не использует физический материал, то при его создании можно отключить нормали, так как они в расчёте физики не участвуют. А что касается полигональной коллизии, я сомневаюсь, что она сейчас вообще применяется в более-менее продвинутых проектах, я таким последний раз занимался, когда делал 3D движок для Java-телефонов, там по объективным причинам полноценное пересечение объёмов нещадно жрало процессор, а сама трасса была максимально примитивна, я просто кидал несколько лучей, из глаз, ног и макушки игрока на наличие пересечения с полигоном (именно плоскостью, не объёмом). В основном всё работало нормально, но иногда при движение вдоль стен да, игрока начинало дико колбасить. Для пресечения я кажется установил какой-то допустимый гэп и просто не давал игроку приблизиться к стенам вплотную
__________________
-Brain is dead-
Отправлено Дядя Миша 11-03-2023 в 20:50:
Concave vs Concave это самый сложный кейс и с ним предпочитают просто не связываться.
Добавлено 11-03-2023 в 23:50:
Да что я говорю. Даже пересечение объема с плоскостью (не луча) довольно нетривиальная задачка.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 11-03-2023 в 21:55:
Я думаю любой конкейвный меш можно представить как несколько конвексных. Да и нормали наверное можно как то тут приспособить.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено KiQ 11-03-2023 в 22:23:
FiEctro типа группировать полигоны по непересекающимся нормалям в заданном разбиении?
__________________
-Brain is dead-
Отправлено FiEctro 11-03-2023 в 23:45:
KiQ
Фиг его знает, я так глубоко не думал, наверное есть варианты. Наверняка даже кто то пробовал. Вон Дядя Миша как я понял преобразовывал же конкейвные меши в браши.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 12-03-2023 в 05:43:
Цитата:
FiEctro писал: Я думаю любой конкейвный меш можно представить как несколько конвексных
Convex Decomposition. Но она может занимать довольно много времени.
Добавлено 12-03-2023 в 08:43:
Надо сказать что я всей этой темой занимался еще в 2020-м, но тогда у меня была куча других нерешённых задач и я не мог уделить ей достаточно времени.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 12-03-2023 в 09:17:
Цитата:
Дядя Миша писал: Convex Decomposition. Но она может занимать довольно много времени.
Благо у тебя свой формат, это можно сделать и при компиляции модели.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Aynekko 15-03-2023 в 12:18:
Кстати, раз уж к ксашмоду планируется обновление, можно ли как-то ускорить рендеринг брашей, если это возможно?
Добавлено 15-03-2023 в 15:18:
А, и вот еще вспомнил. В ксашмоде, в отличие от паранои, декали на моделях не ускорены на видеокарте. Тоже бы не помешали...
Lev писал: Дядя Миша Помнится ты как-то говорил об оптимизации отрисовки геометрии, которую ты разрабатывал для NT, и которую гипотетически можно встроить и в обычный ксаш
Цитата:
Дядя Миша писал: Вот и для нее в том числе надо перевести движок на С++.
Цитата:
Aynekko писал: Кстати, раз уж к ксашмоду планируется обновление, можно ли как-то ускорить рендеринг брашей, если это возможно?
А мы часом не об одной вещи говорим?
Отправлено Дядя Миша 16-03-2023 в 05:14:
Нет. Та вещь строит упрощённое дерево, которое ускоряет лукап по хеадноде, что в целом положительно сказывается на общем фпс, т.к. всё в одном потоке выполняется. Но отрисовку оно никак не оптимизирует.
Ну чтожы. Я думаю в основной кодобазе достаточно ограничиться исправлением ошибок, чтобы не вносить сумятицу и рассинхронизацию с форками. А вот над компилятором p2st можно и поработать, добавить туда кое-какие недостающие вещи. А так же, выпустить такой особый плагин для Джека с поддержкой CSM.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 11-05-2023 в 08:28:
Дядя Миша
В чем особенность этого формата? Плейны наконец он будет поддерживать? Или как всегда только конвексные браши?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Как я уже говорил - хочу построить автоматические клипхуллы для моделей, которые вкомпиливаются в карту. Поддержка таких моделей есть, но только визуальная. Ну и кое-какие алгоритмы можно переписать с учётом накопленного опыта.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 18-05-2023 в 06:34:
Может колизию логичнее хранить в самой модели, напимер как в сорсе? Допустим у тебя 100 копий ассета трубы на карте, это что и 100 копий её колизии хранить на карте? Так быстро в лимиты по клипхуллам упрёмся.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 18-05-2023 в 08:12:
Так в расширенном ксашевском формате HLBSP нет никакого лимита на клипноды
Цитата:
FiEctro писал: Может колизию логичнее хранить в самой модели, напимер как в сорсе?
Всё что логичнее и разумнее делать -я уже реализовал в XashNT,. А тут приходится раскорячиваться, чтобы и совместимость сохранить и привнести что-то новое. Я не жалею, для меня работа над подобными вещами была очень ценным опытом по сохранению совместимости. Не думаю что такому где-то целенаправленно учат, это очень полезный скилл.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 18-05-2023 в 08:43:
Дядя Миша
Меня немного пугает какой размер карт выйдет в итоге, и как долго они будут грузиться. Ибо твоя версия вайс сити в демке грузилась довольно долго. Хотя по современным меркам там не так уж и много полигонов.
Возможно там как то можно делать инстансы, например загрузили мы box.mdl, создали клипноды для него, а остальным просто присвоили ссылки на него. Может ли это так работать? В Юнити такая фишка для одинаковых материалов используется, и это довольно ощутимо подымает производительность и время загрузки.
Цитата:
Дядя Миша писал: чтобы и совместимость сохранить и привнести что-то новое.
Мне кажется здесь свинья подложена на уже архитектурном проектировании. Совместимость это уже верхний уровень абстракции, и причём тут движок и форматы не очень понятно.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 18-05-2023 в 09:00:
Цитата:
FiEctro писал: Ибо твоя версия вайс сити в демке грузилась довольно долго
Это очень похабный декомпил на самом деле. Если бы я написал нормальный декомпилятор для ресурсов GTA, эта карта весила бы раза в три меньше, быстро грузилась и быстро рисовалась. Дело только в этом.
Там же из-за декомпила нет инстансов.
Цитата:
FiEctro писал: Совместимость это уже верхний уровень абстракции
Чего-чего?
Совместимость обеспечивается на уровне дисковых форматов, а дисковый формат как раз и задаёт архитектуру приложения. Только он и больше никто. Если у тебя в дисковом формате геометрия нарезана максимально неоптимальным образом, ты уже ничего с этим не сделаешь.
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Aynekko 18-05-2023 в 09:09:
Цитата:
FiEctro писал: Ибо твоя версия вайс сити в демке грузилась довольно долго.
Не его, а моя версия. Так что это моя вина скорее всего. Там весь город разбит на 40 моделей (по кускам районов), каждая из них не превышает 100 тысяч полигонов. Впрочем это тоже не так много. В идеале нужно каждую модель вручную переконверчивать, там же каждое здание, заборчик, пальма или куст - это отдельная модель. Я не стал этим заниматься и нашел готовую модель всего города, которую разбил на 40 штук из-за ограничений компилятора.