~ X ~ писал: Если тебе так доставляет удовольствие поливать говном мой код - нахрена ты вообще в него лезешь?
Да не поливает он говном твой мод, а обращает внимание на бросившиеся в глаза ошибки. Конечно, в своей сатирическо-саркастической манере, но в этом и есть весь Дядя Миша. Это как писать слово "в общем" с двумя буквами "ОО".
Просто прими и смирись. Это он не со зла. Приходится так вот, чтобы держаться в рамках своего медиа-образа.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Ghoul [BB] "из XDM надо выбросить весь код" - это не окнструктивная критика, и даже не петросянство, а вполне конкретное предложение. Если бы он хотел помочь, то выложил бы диффы спокойно, или хотя бы перечислил места с ошибками, как принято в opensource-сообществе.
Ghoul [BB] писал: чтобы держаться в рамках своего медиа-образа
Я могу повсякому писать, лишь бы товарищи это воспринимали.
Им целую статью пишешь про ошибку, а они тебе в ответ "говно утекло в движок".
Добавлено 18-02-2018 в 12:59:
Цитата:
~ X ~ писал: "из XDM надо выбросить весь код" - это не окнструктивная критика, и даже не петросянство, а вполне конкретное предложение.
Так правильно, ты думаешь что с чем-то борешься, а на деле еще хужее делаешь. Слабо написать индексированные строки, так чтобы их движок нормально хавал? pStringBase тащем-то доступна, бери оффсет от нее и вася кот. Вот если бы ты такое сделал, я бы похвалил.
Хитрость здесь в том, что на первый взгляд это кажется исправлением давнего бага халфы, ну как же, она не передаёт рендерколор, ошибка.
На практике этот "фикс" просто провоцирует бессмысленное захламление сети ненужными дефолтными значениями. То что клиент проставляет сам, теперь зачем-то забивает сетевой траффик для КАЖДОЙ ЭНТИТИ плюс три байта. Вот у нас на карте допустим было 500 энв_статиков и каждая послала по три байта. Вот уже в каждом пакете полтора килобайта мусора. Отличная оптимизация
После этой оптимизации естественно начинаются вопли "говно утекло в движок, ловлю крэши и вылеты, ничего не помню, лимиты, ограничения, дебажил три месяца". Ну зачем делать то что не понимаешь еще и огрызаться?
Добавлено 01-03-2018 в 22:30:
Дальше - интереснее. Пришлось углубиться в работу env_static, которая по заверениям мастера не жрёт эдикты, не жрет модели и вообще чудо.
Чудо заключается в том, что у такой энтити не ставится модель на сервере, что не даёт нам её трейсить. Энтить по прежнему занимает слот, единственный плюс что не спамит в дельту. Затем на клиент в течении довольно долгого времени шлются обновления всех этих энтить. Зачем - не знаю. Там порядка 60 килобайт буффера + можно слать то, что в PVS игрока, раз уж взялся делать кастомные статики. Ну ладно. А на клиенте эти модельки грузятцо через IEnginStudio.Mod_ForName, угадайте с трёх раз куда? Правильно, в общий массив! Т.е. поставлено две задачи, не выполнено ни одной. По хорошему мессаги ля всех энтить надо отправлять прямо в спавне с параметром MSG_INIT и тут же удолять их (энтити).
Дядя Миша опять какую-то херню написал. Не понимаешь, что происходит - лучше молчи
И продолжай умножать на нули.
энв_статики (тебе не хватило терпения разобраться, поди), могут еще включаться и выключаться, слаться клиентам, которые подключились к середине игры. И обновляются они только тогда когда надо и тому кому надо. Эдикты - пришлось их оставить, но я и не говорил что они куда-то исчезли. Там модели не прекэшатся - это да. И овер512 ошибка не убивает игру. Ну и тэмпэнтити она не использует.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
~ X ~ писал: Не понимаешь, что происходит - лучше молчи
Ты мне вот щас Задорнова напомнил ей-богу, который сидел в нищей разрушенной стране и радостно вещал "ну тупыыыыые". Типа у нас любой девятиклассник лучше ориентируется в международной обстановке чем ихние ведущие аналитики. Вот и ты себя возомнил таким девятиклассником.
По существу как я понимаю возразить нечего?
Цитата:
~ X ~ писал: тебе не хватило терпения разобраться, поди
Я увидел всё что хотел увидеть.
Цитата:
~ X ~ писал: могут еще включаться и выключаться
Ты же мнишь себя великим знатоком английского, ты знаешь что означает слово static? Статичный, неизменный. Если у тебя статик играет анимации, включается-выключается, какой же это нахрен статик? Это уже env_dynamic
Объясни зачем выключать деревья-декорации? Это излишнее допущение, которое рушит нахрен всю архитектуру задумки.
Цитата:
~ X ~ писал: слаться клиентам, которые подключились к середине игры
Вот для этого их и надо писать в MSG_INIT, он большой 60 килобайт примерно. Хватит на все твои статики. И дальше вообще не париться о том что и кому разошлётся, движок сам разрулит. Вместо того чтобы изучить возможности движка ты написал кривой костыль, который спавнит твои статики в час по чайной ложке. Ты в Кризис играл? Если бы там эти пальмы так спавнились они бы и за час не все нарисовались.
Просто признай что ты полную ерунду нагородил еще и никому не нужную.
Цитата:
~ X ~ писал: И овер512 ошибка не убивает игру
А что она делает в таком случае? У меня стойкое ощущение что в последних версиях голдсорса лимит на модели всё-таки 1024-штуки и в протокол тоже внесены соответствующие изменения. Причём это одновременно с появлением ключа max_edicts произошло.
Цитата:
~ X ~ писал: Ну и тэмпэнтити она не использует.
Какая в сущности разница использует она темпэнтити или нет, если она занимает слоты серверных энтить? Ты мог бы вообще парсить эти статики прямо на клиенте взяв worldmodel->entities, чтобы не заниматься бесполезной пересылкой по сети и не гадать что будет когда подключится очередной игрок и не занимать серверные слоты.
В рамках голдсорса это самое разумное решение, а в ксаше есть полноценные статик-энтити.
XaeroX писал: Разве MSG_INIT не вот как раз для этого?
MSG_INIT не узнает, что новому игроку надо послать новый текущий state энтити, который уже давно изменился.
Цитата:
Дядя Миша писал: У меня стойкое ощущение что в последних версиях голдсорса лимит на модели всё-таки 1024-штуки
"последние версии" это лол. Спроси у Гоуля про лимиты под версией 1121 и он тебя с головой сожрет ) Ты, наверное, думаешь, что раз ты карты не рисуешь, то и никто не рисует. И уж, тем более, не ставит туда по 200 спрайтов и func_wall-ов.
MSG_INIT ограничен и, кстати, не работал под воном когда я его давным-давно тестировал. Да и решит он лишь четверть проблемы (если решит). Если дальше одной функции не видишь - не значит, что её предназначение исчерпывается енв_статиком. Обновление сетевых данных (аналог дельты, типа), имеется для всех энтить.
Цитата:
Дядя Миша писал: Если у тебя статик играет анимации, включается-выключается, какой же это нахрен статик?
Может, ты за меня еще решишь какие мне энтити делать, какими патронами пушки должны стрелять, какого цвета текстуры рисовать? Я тебе больше скажу - у env_static есть разные степени интерактивности (планировались разрушаемые деревья как в serious sam tse)!
Цитата:
Дядя Миша писал: а в ксаше есть полноценные статик-энтити.
Ты хотел сказать НЕполноценные статик-энтити. - fixed for you
Что в ксаше есть полноценного - это отсутствие архитектуры и каменты на неизвестном языке
~ X ~ писал: новому игроку надо послать новый текущий state энтити, который уже давно изменился.
Так я и говорю, что у тебя баг заложен в архитектуру изначально. Статики не должны меняться. Да ты и сам эту фичу не юзаешь нигде.
Цитата:
~ X ~ писал: "последние версии" это лол
Цитата:
Protocol version 48
Exe version 1.1.2.2 (valve)
Exe build: 13:14:12 Aug 29 2013 (6153)
Как я понимаю вот это последняя версия.
Цитата:
~ X ~ писал: думаешь, что раз ты карты не рисуешь, то и никто не рисует
Карты не рисует вообще, в принципе или под XDM? Мы тут недавно выяснили, что в XDM играет 4 человека. А новые карты рисуют и того меньше.
Цитата:
~ X ~ писал: MSG_INIT ограничен и, кстати, не работал под воном когда я его давным-давно тестировал
Не разобрался как пользоваться в переводе "не работает".
Цитата:
~ X ~ писал: Если дальше одной функции не видишь - не значит, что её предназначение исчерпывается енв_статиком.
Вот кодеры под халфу с 18 летним стажем как раз-таки дальше одной функции не видят, они привыкли что есть Spawn, Precache и Use. А дальше всё само типа. И когда они поверх этого начинают навешивать свой говнокод получается вышеописанная ситуация.
Цитата:
~ X ~ писал: Может, ты за меня еще решишь какие мне энтити делать, какими патронами пушки должны стрелять, какого цвета текстуры рисовать?
Цвет пушек это не моя компетенция и вообще вкусовщина. Кстати где он?
Цитата:
~ X ~ писал: планировались разрушаемые деревья
Вот опять дурью маешься. Как ты разрушишь дерево, если оно на сервере несолидное? А если оно солидное, зачем делать это частью функционала статиков? Ты думаешь мапперы прямо в восторге когда видят список из сотни статиков и надо еще понять какой из них клиентский, а какой серверный и разрушаемый? Ну даже в таком случае можно серверные статики оставить на сервере, а клиентские парсить из worldmodel->entities, там уже и пример даже есть в hud_overview, как это делается, чтобы не заорал что это хак и анальное говно. Нормальное решение.
Цитата:
~ X ~ писал: Ты хотел сказать НЕполноценные статик-энтити
Чем они не полноценные?
Цитата:
~ X ~ писал: Что в ксаше есть полноценного - это отсутствие архитектуры и каменты на неизвестном языке
Дядя Миша писал: Как я понимаю вот это последняя версия.
code:
Protocol version 48
Exe version 1.1.2.2/Stdio (valve)
Exe build: 09:10:05 Jul 7 2017 (7561)
Это последняя. Кардинальных отличий нету, только правка критичных багов. В результате пересборки съехали некоторые оффсеты, и HLAE благополучно перестал работать с этой версией. Автор психанул, и сказал, что не будет больше поддерживать версию для голда, только для сорса.
Дядя Миша писал: а клиентские парсить из worldmodel->entities
хотел, но не стал так как: а) это хак, б) на сервере есть настройки, фильтры, политики и фаерволл энтить, которые админ может запретить.
Цитата:
Дядя Миша писал: Ты думаешь мапперы прямо в восторге когда видят список из сотни статиков
Мапперы видят ровно один env_static, у которого есть несколько опций. И всё.
Цитата:
Дядя Миша писал: Карты не рисует вообще,
Тебе под ксаш карты рисовали два-три человека (до недавних пор, в основном, Гнухерт, как я понимаю), и этого достаточно, наверное. А моя цель - чтобы запускались все HLDM-карты. А там, например, есть экземпляры где лимит в 512 моделей не добрали... 6ю моделями. Без енв_статиков можно о таких картах забыть. Для СОВСЕМ статиков есть RenderSystem. И даже карту редактировать не надо.
Ku2zoff автор отмазался ) кстати, что такое HLAE? ))
Вон - OBSE, SKSE поддерживали для каждой версии - и не обломались.
Добавлено 02-03-2018 в 19:36:
Цитата:
Дядя Миша писал: привыкли что есть Spawn, Precache и Use. А дальше всё само типа.
Так и должно быть. А в халве сплошь и рядом кривожопости - то переменная в pev имеет по три применения, то переменная в pev не имеет применения при неизвестных условиях, то движковые функуии имеют недокументированные применения, то наоборот - не работают как сказано. Вызовы функций в разное время приводят к разным эффектам (кроме вылетов), проверок безопасности данных - ноль с половиной. И, да, приходится с этим работать. \(o_O)/
~ X ~ писал: на сервере есть настройки, фильтры, политики и фаерволл энтить, которые админ может запретить.
Статик это же декор такой. Ну ведь всегда можно посылать управляющую команду с сервера, которая будет их запрещать\разрешать. Одну команду.
Всё это решаемо.
Цитата:
~ X ~ писал: Мапперы видят ровно один env_static, у которого есть несколько опций. И всё.
Я послушал бы мнение мапперов, но они в эту тему навряд ли заглянут.
Цитата:
~ X ~ писал: Тебе под ксаш карты рисовали два-три человека (до недавних пор, в основном, Гнухерт, как я понимаю), и этого достаточно, наверное
Это к чему вообще было сказано?
Цитата:
~ X ~ писал: А там, например, есть экземпляры где лимит в 512 моделей не добрали... 6ю моделями
Ты понимаешь что нет принципиально никакой разницы откуда грузить модели с клиента или сервера? Ты ничего не выгадал, это у тебя иллюзия такая.
Цитата:
~ X ~ писал: А в халве сплошь и рядом кривожопости - то переменная в pev имеет по три применения, то переменная в pev не имеет применения при неизвестных условиях, то движковые функуии имеют недокументированные применения, то наоборот - не работают как сказано.
Ну так а форум для чего? Всегда можно спросить, про NextThink например.
Добавлено 02-03-2018 в 21:18:
Я единственно что допускаю - на каикх-то определённых версиях халфы кол-во слотов для моделей действительно равно 1024, а кол-во слотов на сервере равно 512-и, чтобы не ломать старые протоколы. И вот в этом единственном случае лимит для клиентских энтить действительно снимается.
Но это довольно тяжело проверить, в халфе нет даже команды modellist.
Лимит не на сами модели, а прекэш их. Ну и попутные лимиты на прочие вещи. Благодаря RS 60+% прекэша перенесено на клиентскую сторону. А всякие cycler-ы заменяются автоматически на env_static. Вообще, лучше не смотри код 3038. Он уже сильно подустарел 3039 тебе сильно больше понравится - там много выкинуто