like this (prob too much code)//==============================================================================================
//
// GE HUD by Adam "Lemoni" Bryant.
// MAY HAVE THE CORRECT BIT(S)
//
//===============================================================================================
class GeHUD expands ChallengeHUD;
#exec TEXTURE IMPORT NAME=HudElements FILE=TEXTURES\HudElements.PCX GROUP="Icons" MIPS=OFF FLAGS=2
#exec TEXTURE IMPORT NAME=GEhudWeapons FILE=TEXTURES\GEhudWeapons.PCX GROUP="Icons" MIPS=OFF FLAGS=2
simulated function DrawWeapons(Canvas Canvas)
{
local Weapon W, WeaponSlot[11];
local inventory Inv;
local int i, j, BaseY, BaseX, Pending, WeapX, WeapY;
local float AmmoScale, WeaponOffset, WeapScale, WeaponX, TexX, TexY;
BaseX = 0.5 * (Canvas.ClipX - HudScale * WeaponScale * Canvas.ClipX);
WeapScale = WeaponScale * Scale;
Canvas.Style = Style;
BaseY = Canvas.ClipY - 63.5 * WeapScale;
WeaponOffset = 0.1 * HUDScale * WeaponScale * Canvas.ClipX;
if ( PawnOwner.Weapon != None )
{
W = PawnOwner.Weapon;
if ( (Opacity > 8) || !Level.bHighDetailMode )
Canvas.Style = ERenderStyle.STY_Normal;
WeaponX = BaseX + (W.InventoryGroup - 1) * WeaponOffset;
Canvas.CurX = WeaponX;
Canvas.CurY = BaseY;
Canvas.DrawColor = WhiteColor;
Canvas.DrawIcon(W.StatusIcon, WeapScale);
Canvas.DrawColor = WhiteColor;
Canvas.CurX = WeaponX + 4 * WeapScale;
Canvas.CurY = BaseY + 4 * WeapScale;
Canvas.Style = Style;
if ( W.InventoryGroup == 10 )
Canvas.DrawTile(Texture'GeHUD.HudElements', 0.75 * WeapScale * 25, 0.75 * WeapScale * 64, 0, 0, 25.0, 64.0);
else
Canvas.DrawTile(Texture'GeHUD.HudElements', 0.75 * WeapScale * 25, 0.75 * WeapScale * 64, 25*W.InventoryGroup, 0, 25.0, 64.0);
WeaponSlot[W.InventoryGroup] = W;
Canvas.CurX = WeaponX;
Canvas.CurY = BaseY;
Canvas.DrawTile(Texture'GeHUD.GEhudWeapons', 128 * WeapScale, 64 * WeapScale, 128, 64, 128, 64);
}
if ( Level.bHighDetailMode && (PawnOwner.PendingWeapon != None) )
{
Pending = PawnOwner.PendingWeapon.InventoryGroup;
Canvas.CurX = BaseX + (Pending - 1) * WeaponOffset - 64 * WeapScale;
Canvas.CurY = Canvas.ClipY - 96 * WeapScale;
Canvas.Style = ERenderStyle.STY_Translucent;
Canvas.DrawColor = WhiteColor;
Canvas.DrawTile(Texture'GeHUD.GEhudWeapons', 256 * WeapScale, 128 * WeapScale, 0, 128, 256.0, 128.0);
}
else
Pending = 100;
Canvas.Style = Style;
i = 0;
for ( Inv=PawnOwner.Inventory; Inv!=None; Inv=Inv.Inventory )
{
if ( Inv.IsA('Weapon') && (Inv != PawnOwner.Weapon) )
{
W = Weapon(Inv);
if ( WeaponSlot[W.InventoryGroup] == None )
WeaponSlot[W.InventoryGroup] = W;
else if ( (WeaponSlot[W.InventoryGroup] != PawnOwner.Weapon)
&& ((W == PawnOwner.PendingWeapon) || (WeaponSlot[W.InventoryGroup].AutoSwitchPriority < W.AutoSwitchPriority)) )
WeaponSlot[W.InventoryGroup] = W;
}
i++;
if ( i > 100 )
break; // can occasionally get temporary loops in netplay
}
W = PawnOwner.Weapon;
// draw weapon list
TexX = 128 * WeapScale;
TexY = 64 * WeapScale;
for ( i=1; i<11; i++ )
{
if ( WeaponSlot == None )
{
Canvas.Style = Style;
Canvas.DrawColor = WhiteColor;
Canvas.CurX = BaseX + (i - 1) * WeaponOffset;
Canvas.CurY = BaseY;
WeapX = ((i-1)%4) * 64;
WeapY = ((i-1)/4) * 32;
Canvas.DrawTile(Texture'GeHUD.GEhudWeapons',TexX,TexY,WeapX,WeapY,64.0,32.0);
}
else if ( WeaponSlot != W )
{
if ( Pending == i )
{
if ( (Opacity > 8) || !Level.bHighDetailMode )
Canvas.Style = ERenderStyle.STY_Normal;
Canvas.DrawColor = WhiteColor;
}
else
{
Canvas.Style = Style;
Canvas.DrawColor = WhiteColor;
}
Canvas.CurX = BaseX + (i - 1) * WeaponOffset;
Canvas.CurY = BaseY;
if ( WeaponSlot.bSpecialIcon )
Canvas.DrawIcon(WeaponSlot.StatusIcon, WeapScale);
else
{
WeapX = ((i-1)%4) * 64;
WeapY = ((i-1)/4) * 32;
Canvas.DrawTile(Texture'GeHUD.GEhudWeapons',TexX,TexY,WeapX,WeapY,64.0,32.0);
}
}
}
//draw weapon numbers and ammo
TexX = 0.75 * WeapScale * 25;
TexY = 0.75 * WeapScale * 64;
for ( i=1; i<11; i++ )
{
if ( WeaponSlot != None )
{
WeaponX = BaseX + (i - 1) * WeaponOffset + 4 * WeapScale;
if ( WeaponSlot != W )
{
Canvas.CurX = WeaponX;
Canvas.CurY = BaseY + 4 * WeapScale;
Canvas.DrawColor = WhiteColor;
if ( (Opacity > 8) || !Level.bHighDetailMode )
Canvas.Style = ERenderStyle.STY_Normal;
else
Canvas.Style = Style;
if ( i == 10 )
Canvas.DrawTile(Texture'GeHUD.HudElements', TexX, TexY, 0, 0, 25.0, 64.0);
else
Canvas.DrawTile(Texture'GeHUD.HudElements', TexX, TexY, 25*i, 0, 25.0, 64.0);
}
if ( WeaponSlot.AmmoType != None )
{
// Draw Ammo bar
Canvas.CurX = WeaponX;
Canvas.CurY = BaseY + 52 * WeapScale;
Canvas.DrawColor = WhiteColor;
AmmoScale = FClamp(88.0 * WeapScale * WeaponSlot.AmmoType.AmmoAmount/WeaponSlot.AmmoType.MaxAmmo, 0, 88);
Canvas.DrawTile(Texture'GeHUD.HudElements', AmmoScale, 8 * WeapScale,64,64,128.0,8.0);
}
}
}
}
paste into note pad to understand
Thanks to Chimeric/2cool any maany others in telling me were to edit it