Пробую значица я получить такие элементарные вещи как origin и velocity в структурке cl_entity_t, а она оказываться чуть ли не полностью забита нулями. То есть там нет даже той информации о энтитях, которой клиент реально обладает. Где ж её тогда взять?
Код для этих всех дел такой вот:
для игрока оригин предиктится и не пишется в cl_entity_t. Велосити - аналогично. Для обычных энтить его можно в дельту прописать, чтобы он передавался, но обычно это не требуется. Там поля зарезервированы, но в delta.lst не указаны, вот там и нули.
Дядя Миша писал: для игрока оригин предиктится и не пишется в cl_entity_t. Велосити - аналогично. Для обычных энтить его можно в дельту прописать, чтобы он передавался, но обычно это не требуется. Там поля зарезервированы, но в delta.lst не указаны, вот там и нули.
Где-то же все таки рендерер студиомоделей берет ориджины энтитей.
Дядя Миша писал: Для обычных энтить его можно в дельту прописать, чтобы он передавался, но обычно это не требуется. Там поля зарезервированы, но в delta.lst не указаны, вот там и нули.
Разве не указаны? В блоке Entity_Encode есть origin[0], [1], [2] и angles[0], [1], [2]. А на клиенте всё равно нули. Я пытался сделать выделение юзаемой энтити по ббоксу чисто на клиенте, но так и не смог получить эти значения.
Дядя Миша ну это ты монстриков. А я-то брашевые энтити. func_rot_button, например. Ориджин-то у них на месте. А вот англсы пустые. Хотя в pm_shared всё с англсами прекрасно.
Дядя Миша писал: откуда у брашевых энтить возьмется оригин?
Ох, я уже забыл, в чём проблема. Вроде бы mins\maxs правильно считаются, а вот с англсами беда. Короче, PM_ParticleBox вертится норм вслед за энтитей. А вот если на клиенте сделать похожую функцию ср-вами pEfxAPI, то нихрена не вертится. Потому что у physent_t англсы нормальные, а у cl_entity_t, индекс которой получили с сервера, вместо англсов нули.