void CCredit::Draw() { // Sanity checks... if (m_Strings.size() <= 0) return; FPStringArray::iterator iter = m_Strings.begin(); while (iter != m_Strings.end()) { CUIFormattedPolyString* pStr = (*iter); float x; float y; pStr->GetPosition(&x,&y); //drop shadow pStr->SetPosition(x+2.0f,y+2.0f); pStr->SetColor(argbBlack); pStr->Render(); pStr->SetPosition(x,y); pStr->SetColor(argbWhite); pStr->Render(); iter++; } }
void CCredit::FormatStrings() { float x = (float)m_Pos.x * g_pInterfaceResMgr->GetXRatio(); float y = (float)m_Pos.y * g_pInterfaceResMgr->GetYRatio(); FPStringArray::iterator iter = m_Strings.begin(); while (iter != m_Strings.end()) { CUIFormattedPolyString* pStr = *iter; uint8 nSize = (uint8)(16.0f * g_pInterfaceResMgr->GetXRatio()); if (m_bBig) nSize = (uint8)(24.0f * g_pInterfaceResMgr->GetYRatio()); pStr->SetCharScreenHeight(nSize); pStr->SetColor(argbWhite); pStr->SetAlignmentH(m_hAlign); pStr->SetPosition(x,y); y += (float)pStr->GetHeight(); iter++; } float offset = y - ((float)m_Pos.y * g_pInterfaceResMgr->GetYRatio()); switch (m_ePosition) { case CP_CENTER: offset /= 2.0f; break; case CP_UR: case CP_UL: offset = 0.0f; break; } if (offset > 0.0f) { FPStringArray::iterator iter = m_Strings.begin(); while (iter != m_Strings.end()) { CUIFormattedPolyString* pStr = *iter; float x,y; pStr->GetPosition(&x,&y); y -= offset; pStr->SetPosition(x,y); iter++; } } }
void CHUDRadar::UpdateNamePositions() { float fx = (float)(m_NamePos.x) * g_pInterfaceResMgr->GetXRatio(); float fy = (float)(m_NamePos.y) * g_pInterfaceResMgr->GetYRatio(); if( IsTeamGameType() ) { CClientInfoMgr* pCIMgr = g_pInterfaceMgr->GetClientInfoMgr(); CLIENT_INFO *pLocalCI = pCIMgr->GetLocalClient(); uint8 nTeam = 0; if( pLocalCI) { nTeam = pLocalCI->nTeamID; } g_pDrawPrim->SetRGBA4( &teamPoly, nTeamColors[nTeam][1], nTeamColors[nTeam][0], nTeamColors[nTeam][1], nTeamColors[nTeam][2] ); float fw = 90.0f * g_pInterfaceResMgr->GetXRatio(); float fh = 90.0f * g_pInterfaceResMgr->GetYRatio(); g_pDrawPrim->SetXYWH( &teamPoly, fx-fw, fy, fw, fh); } RadarPlayerList::iterator iter = m_Players.begin(); while (iter != m_Players.end()) { CUIFormattedPolyString* pStr = (*iter)->pName; if (pStr->GetLength()) { uint8 nSize = (uint8)(12.0f * g_pInterfaceResMgr->GetXRatio()); pStr->SetCharScreenHeight(nSize); pStr->SetPosition(fx,fy); fy += (float)pStr->GetHeight(); } iter++; } }