- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 724
- Реакции
- 18
Здарова, мужики. Пытаюсь довести до ума свой internal ченджер под CS2, но после апдейта AniGraph2 столкнулся с мерзким багом: легаси скины (типа того же Printstream) наглухо отказываются нормально мапиться. Вместо адекватной картинки на пушке — каша из текстур, потому что движок упорно юзает новую UV-сетку вместо старой.
Что уже накопал и реализовал:
Даже если маска меш-группы стоит на 2, сам легаси скин продолжает юзать не-легаси UV лейаут. Визуально это выглядит как лютейший дисторшн.
Кто-нибудь уже воевал с форсом легаси UV при инжекте через фоллбек? Возможно, есть способ вручную триггернуть обновление скина с конкретной сеткой или хукнуть функцию, отвечающую за выбор маски в момент генерации текстур.
Если есть мысли по оффсетам или конкретным флагам в структурах — подкиньте инфы, а то сижу в тупике уже который день.
Что уже накопал и реализовал:
- Логика вьюмодели: Нахожу вьюмодель через скан cs2_hudmodel_weapon и сверяю m_hOwnerEntity со своим оружием. Тут всё ровно.
- Инжект скина: Использую старый-добрый m_nFallbackPaintKit. Триггерю обновление через UpdateSubClass и UpdateComposite (VTable индекс 255).
- Манипуляции с масками: Пробовал вызывать SetMeshGroupMask(2) и на самом веапоне, и на scene node для HUD модели. Делал это сразу после апдейта композита и даже в hkFrameStageNotify (Stage 6), чтобы движок не успел перезаписать маску. Результата — ноль.
- Внутренние функции: Нашел сигнатуру хендлера легаси UV в движке:
Судя по реверсу функции sub_18071AB40, она идет по цепочке Weapon -> Composite Entity -> Scene Node и выставляет маску на 2. Вызываю вручную на поинтер оружия — по нулям, сетка все равно кривая.Код:48 85 C9 0F 84 ?? ?? ?? ?? 55 41 56 48 8B EC 48 83 EC 58 4C 8B F1
Даже если маска меш-группы стоит на 2, сам легаси скин продолжает юзать не-легаси UV лейаут. Визуально это выглядит как лютейший дисторшн.
В C_PaintKit есть оффсет 0xAE (use_legacy_model). Пробовал форсить его в true, но этого явно недостаточно для корректного билда композита. Похоже, в CEconItemView или где-то глубже в недрах билдера композитов сидит еще один флаг, который мы пропускаем.
Кто-нибудь уже воевал с форсом легаси UV при инжекте через фоллбек? Возможно, есть способ вручную триггернуть обновление скина с конкретной сеткой или хукнуть функцию, отвечающую за выбор маски в момент генерации текстур.
Если есть мысли по оффсетам или конкретным флагам в структурах — подкиньте инфы, а то сижу в тупике уже который день.