Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ImpulseBar : BaseStatusBar
- {
- HUDFont mHUDFont;
- HUDFont mIndexFont;
- HUDFont mAmountFont;
- InventoryBarState diparms;
- override void Init()
- {
- Super.Init();
- SetSize(0, 640, 400);
- Font fnt = "DINA6";
- mHUDFont = HUDFont.Create(fnt, fnt.GetCharWidth("0"), true, 1, 1);
- fnt = "INDEXFONT_DOOM";
- mIndexFont = HUDFont.Create(fnt, fnt.GetCharWidth("0"), true);
- mAmountFont = HUDFont.Create("INDEXFONT");
- diparms = InventoryBarState.Create();
- }
- override void Draw (int state, double TicFrac)
- {
- if (state == HUD_StatusBar)
- {
- BeginStatusBar();
- DrawImpulseBar();
- }
- else if (state == HUD_Fullscreen)
- {
- BeginHUD();
- }
- }
- protected ui void DrawImpulseBar (void)
- {
- SetSize(0, 640, 400);
- let plr = IMP_Player(CPlayer.mo);
- if(plr)
- {
- if (plr.Draw_Crosshair)
- {
- DrawImpulseCrossHair(getplayerspread());
- }
- }
- int clr = Font.FindFontColor('MediumBlue');
- //bottom left: health
- DrawString(mHUDFont, FormatNumber(CPlayer.health, 3), (280, 230), DI_TEXT_ALIGN_LEFT|DI_ITEM_TOP,clr);
- DrawString(mHUDFont, "HP ", (280, 230), DI_TEXT_ALIGN_RIGHT|DI_ITEM_TOP,clr);
- //bottom right: shield
- DrawString(mHUDFont, FormatNumber(100), (360, 230), DI_TEXT_ALIGN_RIGHT|DI_ITEM_TOP,clr);
- DrawString(mHUDFont, " SH", (360, 230), DI_TEXT_ALIGN_LEFT|DI_ITEM_TOP,clr);
- //top left: gun
- DrawString(mHUDFont, DrawWeaponName(), (280, 160), DI_TEXT_ALIGN_RIGHT|DI_NOSHADOW,clr);
- //top right: ammo
- string magstr;
- magstr = String.Format("%d%s", GetMagCount(), "/");
- DrawString(mHUDFont, magstr, (365, 160), DI_TEXT_ALIGN_RIGHT|DI_NOSHADOW,clr);
- DrawString(mHUDFont, FormatNumber(GetMagCap()), (365, 160), DI_TEXT_ALIGN_LEFT|DI_NOSHADOW,clr);
- DrawString(mHUDFont, String.Format("%s%d%s","Speed: ", GetPlayerSpeed(), " sanics"), (320, 320), DI_ITEM_CENTER_BOTTOM|DI_TEXT_ALIGN_CENTER,clr);
- string powerstr;
- powerstr = String.Format("%s%i", "Suit power:", GetSuitPower());
- DrawString(mHUDFont, powerstr, (320, 330), DI_ITEM_CENTER_BOTTOM|DI_TEXT_ALIGN_CENTER,clr);
- }
- void DrawImpulseCrossHair(double spread)
- {
- DrawImage("CRSHL0", (320-(12*spread),200),DI_ITEM_RIGHT);
- DrawImage("CRSHR0", (320+(12*spread),200),DI_ITEM_LEFT);
- DrawImage("CRSHT0", (320,200-(10*spread)),DI_ITEM_BOTTOM);
- DrawImage("CRSHB0", (320,200+(10*spread)),DI_ITEM_TOP);
- }
- int GetSuitPower()
- {
- int ret;
- let plr = IMP_Player(CPlayer.mo);
- if(plr)
- {
- ret = plr.suitpower;
- }
- return ret;
- }
- double GetPlayerSpeed()
- {
- double ret;
- let plr = IMP_Player(CPlayer.mo);
- if(plr)
- {
- ret = plr.vel.Length();
- }
- return ret;
- }
- int GetMagCount()
- {
- int ret;
- let wpn = IMP_basegun(CPlayer.mo.player.ReadyWeapon);
- if(wpn)
- {
- ret = wpn.ammo_mag_cur;
- }
- return ret;
- }
- int GetMagCap()
- {
- int ret;
- let wpn = IMP_basegun(CPlayer.mo.player.ReadyWeapon);
- if(wpn)
- {
- ret = wpn.ammo_mag_cap;
- }
- return ret;
- }
- string DrawWeaponName()
- {
- string ret;
- let plr = IMP_Player(CPlayer.mo);
- if(plr)
- {
- ret = plr.player.ReadyWeapon.GetClassName();
- }
- return ret;
- }
- double GetPlayerSpread()
- {
- double ret;
- let plr = IMP_Player(CPlayer.mo);
- if(plr)
- {
- ret = plr.IMP_PSpread;
- }
- return ret;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement