Вопрос Supremacy desync chams

...
Пользователь
Статус
Оффлайн
Регистрация
25 Май 2020
Сообщения
292
Реакции[?]
41
Поинты[?]
0
Как сделать десинк чамсы у супримаси?
 
Забаненный
Статус
Оффлайн
Регистрация
31 Дек 2018
Сообщения
12
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как сделать десинк чамсы у супримаси?
На bSendPacket:
Создай новый анимстейт
Обнови его углами из UserCmd
Собери кости в матрицу для десинк чамсов
Для фикса костей вычти из матрицы AbsOrigin | RenderOrigin
C++:
/*Create new AnimationState*/

/*Some fixes*/
m_nNewState->UpdateAnimationState( g_pCmd->viewangles );
g_LocalPlayer->SetupBones( g_nDesyncMatrix, /*PARAMS*/ );

for (auto i = 0; i < 128; i++)
{
    g_nDesyncMatrix[i][0][3] -= g_LocalPlayer->RenderOrigin().x;
    g_nDesyncMatrix[i][1][3] -= g_LocalPlayer->RenderOrigin().y;
    g_nDesyncMatrix[i][2][3] -= g_LocalPlayer->RenderOrigin().z;
}
В DrawModelExecute:
Отобрази собранную матрицу
C++:
for (auto i = 0; i < 128; i++)
{
    g_nDesyncMatrix[i][0][3] += g_LocalPlayer->RenderOrigin().x;
    g_nDesyncMatrix[i][1][3] += g_LocalPlayer->RenderOrigin().y;
    g_nDesyncMatrix[i][2][3] += g_LocalPlayer->RenderOrigin().z;
}

g_StudioRender->ForcedMaterialOverride( materialRegular );
DrawModelExecute( /*PARAMS*/, g_nDesyncMatrix );

for (auto i = 0; i < 128; i++)
{
    g_nDesyncMatrix[i][0][3] -= g_LocalPlayer->RenderOrigin().x;
    g_nDesyncMatrix[i][1][3] -= g_LocalPlayer->RenderOrigin().y;
    g_nDesyncMatrix[i][2][3] -= g_LocalPlayer->RenderOrigin().z;
}
 
Сверху Снизу