2 Дядя Миша:
я сейчас побегал по HLDM и CS, в мультиплеере вроде нормально. Но только для игроков, с предиктом же всякие лифты и снарки ведут себя все ещё плохо.
В сингле я заметил лишь одну ошибку -- отсутствие фонарика. Решилось невыполнением интерполяции для локального клиента(а действительно, зачем оно ему?). А потом по GoldSource поставил вовсе проверку на cl.maxplayers.
Сделанный под себя cl_showpos(ага, как в Source) показывал, что игрок "находился" в (0, 0, 0). Собственно, потому фонарик и не там рисовался.
2 Дядя Миша:
я бы сказал, что от fps оно не особо зависит. И работает неправильно в т.ч при 40-60 fps
P.S близкое к адекватному поведение только при 10 fps. При том, что на предыдущем билде оно работало сносно и при 100.
2 mittorn: 2 a1batross:
создайте тему, где подробно опишете инфу про ваш форк и приведете ссылки для скачивания на исходники и уже скомпилированные проекты для разных платформ, а её прикреплю, чтобы она всегда была наверху. Запарило уже искать.
Надо эту доработать. Ссылки на все репозитории оставить. Билды для Linux и Windows у нас автоматические. Только никак руки не дойдут адекватную веб-морду к этому склепать, чтобы не копаться в логах Travis CI и AppVeyor CI.
Ну что такое Xash3D SDL2 форк? Каким образом из названия вообще следует, что оно работает на андроиде? Каким образом из названия следует что это вообще хоть кому-то нужно? Надо так. Вот наш движок, это форк такого-то движка (тут ссылка на мои две темы про фак и посл. версию). Краткая история разработки.
Ну там, мы любим лошадок, поэтому портировали движок на андроид. Наш репозиторий здесь, наш форум тут. А еще у нас есть исправленные сорцы CS 1.6, которые под ксашем работают на мобилке. И ссылка на эту еще одну тему.
Инфы надо больше инфы, даже я с трудом понимаю чем вы там вообще занимаетесь. Я вообще сперва думал, что у вас там три форка или четыре и под андроид еще один независимый. Так это я. А остальные тем более ничего не понимают. А хуже всего то, что вы этого не понимаете, что никто ничего не понимает. Вы думаете все в курсе того что вы делаете. Это почему-то характерная черта многих разработчиков - считать что всем всё понятно. Никому ничего непонятно.
Самый главный минус, это то, что в этом форке уже куча всяких новых кваров и фич, но сводной информации по ним нет. Даже ченджлога по версиям нету, чтобы хотя бы знать, какие квары и т. п. добавлены, не говоря уже о том, что каждый из них делает. Я следил за разработкой год, и то уже не могу вспомнить всего, что они надобавляли.
Баг, про который уже скорее всего известно т.к XDM пытались запустить.
baseline для world по какой-то причине не доходит до клиента. Почему так - пока определить не удаётся, по коду всё выглядит вполне корректно.
Post automatically merged:
Возможное решение: изменить условие в функции отправки baseline так, чтобы он принудительно отправлял baseline для 0 ентити:
тут уже интересный вопрос. Xash в отличие от GS не отправляет baseline для всего, у чего есть EF_NODRAW
Причём, в отличие от goldsource он строит baseline отдельной функцией, а не сразу при отправке.
по этому вместо приведённого выше условия имеет смысл оставить только ( !start || base->number )
Ибо остальные проверки выполнены при построении baseline.
base->number в данном случае определяет, что baseline валиден. Можно предположить, что для worldspawn он валиден всегда ибо вряд ли кто-то может его сломать.
возможео, это исправит ещё какие-то проблемы, ведь для клиентов baseline должен отправляться всегда.
Это не баг это особенность моего восприятия. Я полагаю что отправлять для мира какие-либо сетевые мессаги - верх идиотизма. Мир он и есть мир, чо там отправлять-та!
2 Дядя Миша:
ясно. Но зачем строить baseline, которые потом не отправляются? может я ошибаюсь, но так же часть дельты будет неверной. Так что у себя пока что поставил последний вариант проверки. Раз baseline построен - надо его синхронизировать между сервером и клиентом.
Почему не отправляются? Всё там отправляется, кроме мира. А насчёт EF_NODRAW - это чисто халфовская заморочка, я не помню уже. Т.е. не проверка на флаг, а именно на равенство EF_NODRAW.