void CheckPerfomMissionTarget(Player &player, Sprite &flagSprite, bool &missionTarget) { if (!missionTarget) { if (IntersectsRects(player.getRect(), GetSpriteRect(flagSprite))) { flagSprite.setScale(FLAG_MIN_SCALE, FLAG_MIN_SCALE); player.flag = true; missionTarget = true; } } }
int CHud :: DrawHudNumber( int x, int y, int iFlags, int iNumber, int r, int g, int b ) { int iWidth = GetSpriteRect( m_HUD_number_0 ).right - GetSpriteRect( m_HUD_number_0 ).left; int k; if( iNumber > 0 ) { // SPR_Draw 100's if( iNumber >= 100 ) { k = iNumber/100; SPR_Set( GetSprite( m_HUD_number_0 + k ), r, g, b ); SPR_DrawAdditive( 0, x, y, &GetSpriteRect( m_HUD_number_0 + k )); x += iWidth; } else if( iFlags & ( DHN_3DIGITS )) { x += iWidth; } // SPR_Draw 10's if( iNumber >= 10 ) { k = (iNumber % 100) / 10; SPR_Set( GetSprite( m_HUD_number_0 + k ), r, g, b ); SPR_DrawAdditive( 0, x, y, &GetSpriteRect( m_HUD_number_0 + k )); x += iWidth; } else if( iFlags & ( DHN_3DIGITS | DHN_2DIGITS )) { x += iWidth; } // SPR_Draw ones k = iNumber % 10; SPR_Set( GetSprite( m_HUD_number_0 + k ), r, g, b ); SPR_DrawAdditive( 0, x, y, &GetSpriteRect( m_HUD_number_0 + k )); x += iWidth; } else if( iFlags & DHN_DRAWZERO ) { SPR_Set( GetSprite( m_HUD_number_0 ), r, g, b ); // SPR_Draw 100's if( iFlags & ( DHN_3DIGITS )) { x += iWidth; } if( iFlags & ( DHN_3DIGITS|DHN_2DIGITS )) x += iWidth; SPR_DrawAdditive( 0, x, y, &GetSpriteRect( m_HUD_number_0 )); x += iWidth; } return x; }
void DrawRespawnBar() { if(!g_iRespawnBar) return; if(g_iRespawnTime<=g_flTime) return; //Calculate Position Wide=432,High=72 int iStartX,iStartY; iStartX = (int)(g_sScreenInfo.iWidth - 432)*0.5; iStartY = (int)g_sScreenInfo.iHeight*0.7; MH_DrawTGAFunction(g_Texture[g_iRSBgIndex].iTexture,255,255,255,255,iStartX,iStartY,1); //Draw bg /*Tri_Enable(GL_TEXTURE_2D); Tri_BindTexture(GL_TEXTURE_2D, g_MHTga[g_iRSBgIndex].texid); gEngfuncs.pTriAPI->Color4f(1,1,1,1); Tri_Enable(GL_BLEND); Tri_Enable(GL_ALPHA_TEST); Tri_BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); Tri_AlphaFunc(GL_GREATER, 0.0); gEngfuncs.pTriAPI->Begin(TRI_QUADS); gEngfuncs.pTriAPI->TexCoord2f(0,1); gEngfuncs.pTriAPI->Vertex3f(iStartX,iStartY+g_MHTga[g_iRSBgIndex].height,0); gEngfuncs.pTriAPI->TexCoord2f(1,1); gEngfuncs.pTriAPI->Vertex3f(iStartX+g_MHTga[g_iRSBgIndex].width,iStartY+g_MHTga[g_iRSBgIndex].height,0); gEngfuncs.pTriAPI->TexCoord2f(1,0); gEngfuncs.pTriAPI->Vertex3f(iStartX+g_MHTga[g_iRSBgIndex].width,iStartY,0); gEngfuncs.pTriAPI->TexCoord2f(0,0); gEngfuncs.pTriAPI->Vertex3f(iStartX,iStartY,0); gEngfuncs.pTriAPI->End();*/ //Draw Bar 419,9 HSPRITE hBar; hBar = GetSprite(g_iRSBarIndex); gEngfuncs.pfnSPR_Set(hBar, 255, 255, 255); //Calc Width wrect_t wrecSpr = GetSpriteRect(g_iRSBarIndex); wrecSpr.right = (int)419*(g_flTime-g_iRTStart)/(g_iRespawnTime-g_iRTStart); iStartX+=8; iStartY+=24; gEngfuncs.pfnSPR_Draw(0, iStartX,iStartY, &wrecSpr); }