Fix offset of strong symbol in nameplate

As reported by Skeith
This commit is contained in:
def 2021-08-27 14:54:05 +02:00 committed by Jupeyy
parent a8c36540e5
commit 9dd65b4dce

View file

@ -211,36 +211,39 @@ void CNamePlates::RenderNameplatePos(vec2 Position, const CNetObj_PlayerInfo *pP
CCharacter *pCharacter = m_pClient->m_GameWorld.GetCharacterByID(pPlayerInfo->m_ClientID); CCharacter *pCharacter = m_pClient->m_GameWorld.GetCharacterByID(pPlayerInfo->m_ClientID);
if(pCharacter && pLocalChar) if(pCharacter && pLocalChar)
{ {
YOffset -= FontSize;
if(pPlayerInfo->m_Local) if(pPlayerInfo->m_Local)
TextRender()->TextColor(rgb); TextRender()->TextColor(rgb);
else else
{ {
float ScaleX, ScaleY;
const float StrongWeakImgSize = 40.0f;
Graphics()->TextureClear(); Graphics()->TextureClear();
if(pLocalChar->GetStrongWeakID() > pCharacter->GetStrongWeakID())
{
Graphics()->TextureSet(g_pData->m_aImages[IMAGE_STRONGWEAK].m_Id); Graphics()->TextureSet(g_pData->m_aImages[IMAGE_STRONGWEAK].m_Id);
Graphics()->QuadsBegin(); Graphics()->QuadsBegin();
Graphics()->SetColor(color_cast<ColorRGBA>(ColorHSLA(6401973))); ColorRGBA StrongWeakStatusColor;
RenderTools()->SelectSprite(SPRITE_HOOK_STRONG); int StrongWeakSpriteID;
ColorRGBA WeakStatusColor = color_cast<ColorRGBA>(ColorHSLA(6401973)); if(pLocalChar->GetStrongWeakID() > pCharacter->GetStrongWeakID())
TextRender()->TextColor(WeakStatusColor); {
StrongWeakStatusColor = color_cast<ColorRGBA>(ColorHSLA(6401973));
StrongWeakSpriteID = SPRITE_HOOK_STRONG;
} }
else else
{ {
Graphics()->TextureSet(g_pData->m_aImages[IMAGE_STRONGWEAK].m_Id); StrongWeakStatusColor = color_cast<ColorRGBA>(ColorHSLA(41131));
Graphics()->QuadsBegin(); StrongWeakSpriteID = SPRITE_HOOK_WEAK;
Graphics()->SetColor(color_cast<ColorRGBA>(ColorHSLA(41131)));
RenderTools()->SelectSprite(SPRITE_HOOK_WEAK);
ColorRGBA StrongStatusColor = color_cast<ColorRGBA>(ColorHSLA(41131));
TextRender()->TextColor(StrongStatusColor);
} }
RenderTools()->DrawSprite(Position.x, YOffset + 15, 40.0f); Graphics()->SetColor(StrongWeakStatusColor);
RenderTools()->SelectSprite(StrongWeakSpriteID);
RenderTools()->GetSpriteScale(StrongWeakSpriteID, ScaleX, ScaleY);
TextRender()->TextColor(StrongWeakStatusColor);
YOffset -= StrongWeakImgSize * ScaleY;
RenderTools()->DrawSprite(Position.x, YOffset + (StrongWeakImgSize / 2.0f) * ScaleY, StrongWeakImgSize);
Graphics()->QuadsEnd(); Graphics()->QuadsEnd();
YOffset -= FontSize;
} }
if(g_Config.m_Debug || g_Config.m_ClNameplatesStrong == 2) if(g_Config.m_Debug || g_Config.m_ClNameplatesStrong == 2)
{ {
YOffset -= FontSize;
char aBuf[12]; char aBuf[12];
str_format(aBuf, sizeof(aBuf), "%d", pCharacter->GetStrongWeakID()); str_format(aBuf, sizeof(aBuf), "%d", pCharacter->GetStrongWeakID());
float XOffset = TextRender()->TextWidth(0, FontSize, aBuf, -1, -1.0f) / 2.0f; float XOffset = TextRender()->TextWidth(0, FontSize, aBuf, -1, -1.0f) / 2.0f;