rott/kf_sources/HideMut/Classes/o_Render.uc
2026-07-14 20:27:09 +07:00

75 lines
2.3 KiB
Ucode

class o_Render extends object;
// ===========================================================================
// draw zed health
final function DrawHealthBars(Canvas C, float f)
{
local HUDKillingFloor KFH;
local KFMonster m;
KFH = HUDKillingFloor(C.ViewPort.Actor.myHUD);
// this draws debug sphere for pawns
// HKF.DrawPointSphere();
// draw dem bars, using the fastest iterator at least up to 2000UU
if (KFH == none)
return;
foreach C.ViewPort.Actor.CollidingActors(class'KFMonster', m, f)
{
if (m == none || m.Health <= 0)
continue;
KFH.DrawHealthBar(C, m, m.Health, m.HealthMax , 50.0);
}
}
// draw crosshair
final function DrawXhair(Canvas C, Color cl, float l, float w)
{
C.SetPos((float(C.sizeX) - w) / 2, (float(C.sizeY) - l) / 2);
C.DrawColor = cl;
C.DrawTile(Texture'Engine.WhiteSquareTexture', w, l, 0, 0, 2, 2);
C.SetPos((float(C.sizeX) - l) / 2, (float(C.sizeY) - w) / 2);
C.DrawTile(Texture'Engine.WhiteSquareTexture', l, w, 0, 0, 2, 2);
}
// For debugging headshots
// simulated function DrawHeadShotSphere(out Canvas C) // Dave@Psyonix
// {
// local HUDKillingFloor KFH;
// local KFHumanPawn p;
// local KFMonster KFM;
// local coords CO;
// local vector HeadLoc;
// KFH = HUDKillingFloor(C.ViewPort.Actor.myHUD);
// p = getPawn();
// if ( p == none || KFH == none)
// return;
// //super.DrawHeadShotSphere();
// foreach p.DynamicActors(class'KFMonster', KFM)
// {
// if ( KFM == none ) // && KFM.ServerHeadLocation != KFM.LastServerHeadLocation )
// continue;
// //KFM.DrawDebugSphere(KFM.Location + (KFM.OnlineHeadshotOffset >> KFM.Rotation), KFM.HeadRadius * KFM.HeadScale * KFM.OnlineHeadshotScale, 10, 0, 255, 0);
// KFH.ClearStayingDebugLines();
// // KFM.LastServerHeadLocation = KFM.ServerHeadLocation;
// // DrawStayingDebugSphere(KFM.ServerHeadLocation, KFM.HeadRadius * KFM.HeadScale, 10, 128, 255, 255);
// CO = KFM.GetBoneCoords(KFM.HeadBone);
// HeadLoc = CO.Origin + (KFM.HeadHeight * KFM.HeadScale * CO.XAxis);
// KFH.DrawStayingDebugSphere(HeadLoc, KFM.HeadRadius * KFM.HeadScale, 10, 0, 255, 0);
// }
// }
// ===========================================================================
defaultproperties
{
}