Дядя Миша писал: Видимо придётся большую часть кода перетащить в дллку, чтобы не мучаться с этим копированием.
Получается, будет серверная дллка, которая будет грузить progs.dat, аки HPB_Bot.dll грузит hl.dll? Или перетащить часть кода из прогсов в дллку, а остальное догружать из оригинального файла? А как же во втором случае быть с модами?
Ku2zoff писал: Получается, будет серверная дллка, которая будет грузить progs.dat, аки HPB_Bot.dll грузит hl.dll?
типа тово, да. Но положение, как я уже сказал осложняется наличием двух копий энтварсов у энтити. С одним работает виртуальная машина, другой халфовский. Если бы было можно копировать только в одну сторону, то проблемы бы и не было. Но движок сам активно изменяет какие-то поля у эдиктов и надо копировать туда-сюда. Это самый стрёмный кейс какой только можно придумать.
Я щас примерно обрисую ситуацию, чтобы вы поняли масштаб трагедии.
Итак, допустим вызывается SV_Physics_Step для монстра. Он там у себя вызывает Think, который вызывает функцию виртуальной машинки, которая в свою очередь может вызвать LinkEdict, который вызовет SV_TouchTriggers, который вызовет DispatchTouch, который вызовет что? Правильно очередную функцию виртуальной машинки. То есть цепочка ныряет туда-сюда по мере необходимости. Тут что-то проследить и вовремя скопировать практически невозможно. Разве что сидеть и перед каждым вызовом каждой функции анализировать что она затрагивает и копировать только это. Ну то есть понятно как это неудобно и как высока вероятность ошибиться. К тому же еще не забывайте, что эти машинки могут создавать там внутри энтити и брать на них указатель, а сами энтити не обновлятся по каким-то причинам на этом кадре, только на следующем. А в таких вещах своевременное обновление крайне важно. Прослакал копирование и всё пошло в обратку - удерживаться в прошлом состоянии.
Отремонтировал лерпинг на алиасах. По моей задумке лерпинг будет работать только через OP_STATE, но этого вроде как достаточно. Хотя мне и попадался какой-то кушный мод с анимацией моделей через self.frame++; но это скорее исключение такое.
Добавлено 13-07-2017 в 00:50:
Кстати в кваке что интересно - там анимация вьюмодели на сервере играется.
st1x51 писал: Твигу же нужны некоторые фичи из dp.
Правильно. Вот я и хочу их прикрутить, чтобы он работал.
Вообще я вам скажу это очень завораживающее зрелище - наблюдать за тем, как враппер постепенно начинает работать правильно. Сперва радуешься тому, что он подгрузил progs.dat и вылетел. Потом он уже корректно грузит уровень и расставляет энтити, потом появляется лерпинг анимаций у монстров, потом фуллбрайты на моделях, корректное освещение, моделька игрока в меню. И вот оно уже похоже на полноценную кваку, хотя еще и частично мёртвое
Но поскольку это враппер, то с какого-то момента вдруг резко появится возможность полноценного прохождения. Пока не знаю когда это случится, как я и говорил, щас основная проблема с этим копированием энтварсов.
Поглядел архив, физика реализована на уровне мода? Насколько вероятно, что она (при успешной адаптации) перекочует в ксашмод и заменит собой physics? Чтобы, так сказать, всё нужное было в моде и движке, без сторонних либ.
Дядя Миша писал: Для кваки еще норм и то только потому что её уже сделали.
Цитата:
Дядя Миша писал: Ты готов каждой модельке вот эту пердь прописывать?
То есть для модов, в которых есть нестандартные объекты, придётся прописывать пердь для этих нестандартных объектов. Ну и смысл вообще тогда её тащить, если она будет работать только в ванильной кваке?