class PUTLHUD extends ChallengeHUD;
simulated function PostRender(canvas Canvas)
{
PUTLSight = PUTLSight (POwner.FindInventoryType(class'PUTLSight'));
simulated function bool TraceIdentify(canvas Canvas)
{
local actor Other;
local vector HitLocation, HitNormal, StartTrace, EndTrace;
StartTrace = PawnOwner.Location;
StartTrace.Z += PawnOwner.BaseEyeHeight;
EndTrace = StartTrace + vector(PawnOwner.ViewRotation) * 1000.0;
Other = Trace(HitLocation, HitNormal, EndTrace, StartTrace, true);
if ( Pawn(Other) != None )
{
if ( Pawn(Other).bIsPlayer && !Other.bHidden )
{
IdentifyTarget = Pawn(Other).PlayerReplicationInfo;
IdentifyFadeTime = 3.0;
}
}
else if ( (Other != None) && SpecialIdentify(Canvas, Other) )
return false;
if ( (IdentifyFadeTime == 0.0) || (IdentifyTarget == None) || IdentifyTarget.bFeigningDeath )
return false;
return true;
}
simulated function bool SpecialIdentify(Canvas Canvas, Actor Other )
{
return false;
}
simulated function SetIDColor( Canvas Canvas, int type )
{
Canvas.DrawColor = GreenColor;
if ( type == 0 )
Canvas.DrawColor.G = 160 * (IdentifyFadeTime / 3.0);
else
Canvas.DrawColor.G = 255 * (IdentifyFadeTime / 3.0);
}
simulated function DrawTwoColorID( canvas Canvas, string TitleString, string ValueString, int YStart )
{
local float XL, YL, XOffset, X1;
Canvas.Style = Style;
Canvas.StrLen(TitleString$": ", XL, YL);
X1 = XL;
Canvas.StrLen(ValueString, XL, YL);
XOffset = Canvas.ClipX/2 - (X1+XL)/2;
Canvas.SetPos(XOffset, YStart);
SetIDColor(Canvas,0);
XOffset += X1;
Canvas.DrawText(TitleString);
Canvas.SetPos(XOffset, YStart);
SetIDColor(Canvas,1);
Canvas.DrawText(ValueString);
Canvas.DrawColor = WhiteColor;
Canvas.Font = MyFonts.GetSmallFont( Canvas.ClipX );
}
simulated function bool DrawIdentifyInfo(canvas Canvas)
{
if ( !TraceIdentify(Canvas))
return false;
if( IdentifyTarget.PlayerName != "" )
{
Canvas.Font = MyFonts.GetBigFont(Canvas.ClipX);
DrawTwoColorID(Canvas,IdentifyName, IdentifyTarget.PlayerName, Canvas.ClipY - 256 * Scale);
}
return true;
}
Ok I found the TraceIdentify code and cut and pasted it into my code and I take it I have to alter it so that it uses the PUTLSight
would it be something like this
TraceIdentify PUTLSight
simulated function PostRender(canvas Canvas)
{
PUTLSight = PUTLSight (POwner.FindInventoryType(class'PUTLSight'));
simulated function bool TraceIdentify(canvas Canvas)
{
local actor Other;
local vector HitLocation, HitNormal, StartTrace, EndTrace;
StartTrace = PawnOwner.Location;
StartTrace.Z += PawnOwner.BaseEyeHeight;
EndTrace = StartTrace + vector(PawnOwner.ViewRotation) * 1000.0;
Other = Trace(HitLocation, HitNormal, EndTrace, StartTrace, true);
if ( Pawn(Other) != None )
{
if ( Pawn(Other).bIsPlayer && !Other.bHidden )
{
IdentifyTarget = Pawn(Other).PlayerReplicationInfo;
IdentifyFadeTime = 3.0;
}
}
else if ( (Other != None) && SpecialIdentify(Canvas, Other) )
return false;
if ( (IdentifyFadeTime == 0.0) || (IdentifyTarget == None) || IdentifyTarget.bFeigningDeath )
return false;
return true;
}
simulated function bool SpecialIdentify(Canvas Canvas, Actor Other )
{
return false;
}
simulated function SetIDColor( Canvas Canvas, int type )
{
Canvas.DrawColor = GreenColor;
if ( type == 0 )
Canvas.DrawColor.G = 160 * (IdentifyFadeTime / 3.0);
else
Canvas.DrawColor.G = 255 * (IdentifyFadeTime / 3.0);
}
simulated function DrawTwoColorID( canvas Canvas, string TitleString, string ValueString, int YStart )
{
local float XL, YL, XOffset, X1;
Canvas.Style = Style;
Canvas.StrLen(TitleString$": ", XL, YL);
X1 = XL;
Canvas.StrLen(ValueString, XL, YL);
XOffset = Canvas.ClipX/2 - (X1+XL)/2;
Canvas.SetPos(XOffset, YStart);
SetIDColor(Canvas,0);
XOffset += X1;
Canvas.DrawText(TitleString);
Canvas.SetPos(XOffset, YStart);
SetIDColor(Canvas,1);
Canvas.DrawText(ValueString);
Canvas.DrawColor = WhiteColor;
Canvas.Font = MyFonts.GetSmallFont( Canvas.ClipX );
}
simulated function bool DrawIdentifyInfo(canvas Canvas)
{
if ( !TraceIdentify(Canvas))
return false;
if( IdentifyTarget.PlayerName != "" )
{
Canvas.Font = MyFonts.GetBigFont(Canvas.ClipX);
DrawTwoColorID(Canvas,IdentifyName, IdentifyTarget.PlayerName, Canvas.ClipY - 256 * Scale);
}
return true;
}
Ok I found the TraceIdentify code and cut and pasted it into my code and I take it I have to alter it so that it uses the PUTLSight
would it be something like this
TraceIdentify PUTLSight