simulated function ShowTeamScorePassC(Canvas C)
{
local Pawn P;
local float Dist, MaxDist, RadarWidth, PulseBrightness,Angle,DotSize,OffsetY,OffsetScale;
local rotator Dir;
local vector Start;
LastDrawRadar = Level.TimeSeconds;
RadarWidth = 0.5 * RadarScale * C.ClipX;
DotSize = 24*C.ClipX*HUDScale/1600;
if ( PawnOwner == None )
Start = PlayerOwner.Location;
else
Start = PawnOwner.Location;
MaxDist = 3000 * RadarPulse;
C.Style = ERenderStyle.STY_Translucent;
OffsetY = RadarPosY + RadarWidth/C.ClipY;
MinEnemyDist = 3000;
ForEach DynamicActors(class'Pawn',P)
if ( P.Health > 0 )
{
Dist = VSize(Start - P.Location);
if ( Dist < 3000 )
{
if ( Dist < MaxDist )
PulseBrightness = 255 - 255*Abs(Dist*0.00033 - RadarPulse);
else
PulseBrightness = 255 - 255*Abs(Dist*0.00033 - RadarPulse - 1);
if ( Monster(P) != None )
{
MinEnemyDist = FMin(MinEnemyDist, Dist);
C.DrawColor.R = PulseBrightness;
C.DrawColor.G = PulseBrightness;
C.DrawColor.B = 0;
}
else
{
C.DrawColor.R = 0;
C.DrawColor.G = 0;
C.DrawColor.B = PulseBrightness;
}
Dir = rotator(P.Location - Start);
OffsetScale = RadarScale*Dist*0.000167;
Angle = ((Dir.Yaw - PlayerOwner.Rotation.Yaw) & 65535) * 6.2832/65536;
C.SetPos(RadarPosX * C.ClipX + OffsetScale * C.ClipX * sin(Angle) - 0.5*DotSize,
OffsetY * C.ClipY - OffsetScale * C.ClipX * cos(Angle) - 0.5*DotSize);
C.DrawTile(Material'InterfaceContent.Hud.SkinA',DotSize,DotSize,838,238,144,144);
}
}
}