mittorn писал: Тут есть интерполяция,она немного кривая: при появлении модели интерполирует из нуля, а при смерти игроки плавно едут к респавну.
Хорошо, посмотрю. И bloodstream возьму, кувертус мне весь мозг проел уже.
Вообще, если бы я вам давал к примеру задания, а вы бы их выполняли, скажем. Но вам же интересно что-то другое делать. Впрочем даже за время моих редких заходов движок оч. сильно обновляется. Негативная сторона в том, что я ничего не тестирую - некогда. Так что возможно у новых билдов стабильность пониже.
Цитата:
~ X ~ писал: Кстати, виндифф и поновее есть, чем в 6ой студии. Новый больше умеет.
Я пытался найти новый, но везде воляется только старый. А целиком студию качать ради виндиффа лень.
Добавлено 13-08-2016 в 16:20:
Еще вопрос такой. Вы изменили формат запроса к мастеру серверу. Но старый тоже работает. Надо ли переделывать на новый или пофиг?
Кстати, новый код в конце CL_PredictMovement - это ваш код или диканпил?
Добавлено 13-08-2016 в 23:15:
Предиктинг кстати сломан был, копировал из вашего форка и налету исправлял ошибки. Ну сейчас вроде неплохо работает и локальные пушки тоже. Интерполяцию потом проверю. Папка engine\common - тихий ужас.
Всё переиначено, всё исковеркано, наверняка сотни ошибок, совместимость поломана. Очень напрасно вы там всё позаменяли.
Дядя Миша
А что там было сломано? Может, ты не все изменения посмотрел?
И что в common не так? Отделение кода выделенного сервера от клиента? Хэшмапа для кваров? Заинлайненный crtlib? Или где-то порядок инициализации сломан? В чём дело то?
Добавлено 14-08-2016 в 13:31:
Я просто понять не могу - это обычная реакция на изменения, или там действительно ошибки и нарушена логика работы?
Новый код в конце предикт мува -- интерполяция в случае ошибки предикта. Сглаживает движение в трупах, например. Предикт считает, что игрок проигрывающий анимацию смерти твердый, а сервер нет. Здесь и помогает.
Предикт (а именно smooth и PredictMovement) a1batross делал. Например, теперь он правильно работает на платформах в синглплеере.
Мало того, вместо последнего полученного с сервера состояния берётся результат предикта. По этому если изменения перенести не полностью, что-то может сломаться и очень сильно (например, refdef может считаться в нуле или не обновляться viewmodel). Я уже не помню, насколько отличается от 3366.
Ну и как я говорил, ветка сырая, неспроста мы релизим имеено стабильную с 3224.
mittorn писал: Отделение кода выделенного сервера от клиента? Хэшмапа для кваров? Заинлайненный crtlib? Или где-то порядок инициализации сломан? В чём дело то?
Для справки: даже самое безобидное на первый взгляд изменение приводит к тому, что отваливаются десятки модов и случаются краши в произвольных местах. Оно написано под шестую студию, оно юзает её баги активно, благодаря тем же вальвовцам. Мало этого - эти баги юзают и разработчики модов, у которых в модах не только модельки и карты, а еще и отсортированная дельта.лст. Т.е. после каждого изменения надо заново перепроходить все те 800 модов и игр, которые заявлены под ксашем как работоспособные. Ну или хотя бы раз в году устраивать глобальный бета-тест месяца эдак на три, как мы с Кувертусом. В противном случае форк превратится в типичную линуксовую программу, к которой идёт здоровый баг трекер в котором описано, от чего она падает. Собсно уже превратился.
Цитата:
mittorn писал: Или где-то порядок инициализации сломан? В чём дело то?
Да, вы там в клиенте меняли местами порядок аллокации эдиктов и инициализации рендер интерфейса вроде. Делать это категорически запрещено. В ксаше вообще нет ничего случайного, там всё подчинено совместимости. Поменяте местами - вроде ничего не изменилось, а какой-нибудь арранджемент мод взял и отвалился. Только вы об этом узнаете спустя джва года. Вообщем редактировать что-то надо, как будто вы на минном поле находитесь. А вы редактируете как во время посевной на комбайне.
Цитата:
a1batross писал: Новый код в конце предикт мува -- интерполяция в случае ошибки предикта.
Да эт я понял. Кстати bmodelinterp так и не заработал.
Цитата:
mittorn писал: По этому если изменения перенести не полностью, что-то может сломаться и очень сильно
Я взял только то, что посчитал нужным. Всё отлично работает во всех комбинациях. Заодно поудалял те куски кода с припиской // uncommented when predicting wim bille done.
Ну вы же не знаете, на какие ошибки их надо было тестить
А я знаю.
Добавлено 14-08-2016 в 14:12:
Цитата:
mittorn писал: чёрный прямоугольник. Хотя trash player имеется.
Да у меня тоже. Пару дней назад ютуб поломался. Но в фаерфоксе 48 работает.
Дядя Миша писал: Оно написано под шестую студию, оно юзает её баги активно, благодаря тем же вальвовцам.
подозреваю, что эти самые моды, которые так тщательно завязаны на багах msvc6 и под Steam HL не заработают. А crtlib используется только в движке, мало того, работа этих функций не была изменена в процессе переписывания.
Ну и для нас не будет такой уж катастрофой поломка какого-то мода, который сильно завязан на бинарной совместимости. Конечно лишний раз что-нибудь сломать не хотелось бы, но если там используется какая-то кривая особенность msvc6 - то автор мода сам виноват, что его мод внезапно не заработал в 2016+ году. Главное всё же оставить совместимость на уровне API.
Цитата:
Дядя Миша писал: Да, вы там в клиенте меняли местами порядок аллокации эдиктов и инициализации рендер интерфейса вроде.
Честно говоря, не помню ничего такого. Придётся наверно смотреть diff. может и правда что-то накосячил. Заодно проверю, как это делает goldsource.
Цитата:
Дядя Миша писал: Да эт я понял. Кстати bmodelinterp так и не заработал.
А ты которую ветку смотришь? У меня бмодели красивенько интерполируются и платформы двигаются плавно даже при самом плохом интернете.
Цитата:
Дядя Миша писал: Ну вы же не знаете, на какие ошибки их надо было тестить
А я знаю.
>>Да, вы там в клиенте меняли местами порядок аллокации эдиктов и инициализации рендер интерфейса вроде
Не нашёл что-то. Рендер интерфейс вообще не трогали за исключением по глупости сломанного glpoly, который тут же был исправлен.