Advertisement
Guest User

Untitled

a guest
Apr 21st, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. class ImpulseBar : BaseStatusBar
  2. {
  3. HUDFont mHUDFont;
  4. HUDFont mIndexFont;
  5. HUDFont mAmountFont;
  6. InventoryBarState diparms;
  7.  
  8. override void Init()
  9. {
  10. Super.Init();
  11. SetSize(0, 640, 400);
  12.  
  13. Font fnt = "DINA6";
  14. mHUDFont = HUDFont.Create(fnt, fnt.GetCharWidth("0"), true, 1, 1);
  15. fnt = "INDEXFONT_DOOM";
  16. mIndexFont = HUDFont.Create(fnt, fnt.GetCharWidth("0"), true);
  17. mAmountFont = HUDFont.Create("INDEXFONT");
  18. diparms = InventoryBarState.Create();
  19. }
  20.  
  21. override void Draw (int state, double TicFrac)
  22. {
  23.  
  24. if (state == HUD_StatusBar)
  25. {
  26. BeginStatusBar();
  27. DrawImpulseBar();
  28. }
  29. else if (state == HUD_Fullscreen)
  30. {
  31. BeginHUD();
  32. }
  33. }
  34.  
  35. protected ui void DrawImpulseBar (void)
  36. {
  37. SetSize(0, 640, 400);
  38. let plr = IMP_Player(CPlayer.mo);
  39. if(plr)
  40. {
  41. if (plr.Draw_Crosshair)
  42. {
  43. DrawImpulseCrossHair(getplayerspread());
  44. }
  45. }
  46. int clr = Font.FindFontColor('MediumBlue');
  47.  
  48. //bottom left: health
  49. DrawString(mHUDFont, FormatNumber(CPlayer.health, 3), (280, 230), DI_TEXT_ALIGN_LEFT|DI_ITEM_TOP,clr);
  50. DrawString(mHUDFont, "HP ", (280, 230), DI_TEXT_ALIGN_RIGHT|DI_ITEM_TOP,clr);
  51.  
  52. //bottom right: shield
  53. DrawString(mHUDFont, FormatNumber(100), (360, 230), DI_TEXT_ALIGN_RIGHT|DI_ITEM_TOP,clr);
  54. DrawString(mHUDFont, " SH", (360, 230), DI_TEXT_ALIGN_LEFT|DI_ITEM_TOP,clr);
  55.  
  56. //top left: gun
  57. DrawString(mHUDFont, DrawWeaponName(), (280, 160), DI_TEXT_ALIGN_RIGHT|DI_NOSHADOW,clr);
  58.  
  59. //top right: ammo
  60. string magstr;
  61. magstr = String.Format("%d%s", GetMagCount(), "/");
  62. DrawString(mHUDFont, magstr, (365, 160), DI_TEXT_ALIGN_RIGHT|DI_NOSHADOW,clr);
  63. DrawString(mHUDFont, FormatNumber(GetMagCap()), (365, 160), DI_TEXT_ALIGN_LEFT|DI_NOSHADOW,clr);
  64.  
  65. DrawString(mHUDFont, String.Format("%s%d%s","Speed: ", GetPlayerSpeed(), " sanics"), (320, 320), DI_ITEM_CENTER_BOTTOM|DI_TEXT_ALIGN_CENTER,clr);
  66.  
  67. string powerstr;
  68. powerstr = String.Format("%s%i", "Suit power:", GetSuitPower());
  69. DrawString(mHUDFont, powerstr, (320, 330), DI_ITEM_CENTER_BOTTOM|DI_TEXT_ALIGN_CENTER,clr);
  70.  
  71.  
  72.  
  73. }
  74.  
  75. void DrawImpulseCrossHair(double spread)
  76. {
  77.  
  78. DrawImage("CRSHL0", (320-(12*spread),200),DI_ITEM_RIGHT);
  79. DrawImage("CRSHR0", (320+(12*spread),200),DI_ITEM_LEFT);
  80. DrawImage("CRSHT0", (320,200-(10*spread)),DI_ITEM_BOTTOM);
  81. DrawImage("CRSHB0", (320,200+(10*spread)),DI_ITEM_TOP);
  82. }
  83. int GetSuitPower()
  84. {
  85. int ret;
  86. let plr = IMP_Player(CPlayer.mo);
  87. if(plr)
  88. {
  89. ret = plr.suitpower;
  90. }
  91. return ret;
  92. }
  93. double GetPlayerSpeed()
  94. {
  95. double ret;
  96. let plr = IMP_Player(CPlayer.mo);
  97. if(plr)
  98. {
  99. ret = plr.vel.Length();
  100. }
  101. return ret;
  102. }
  103. int GetMagCount()
  104. {
  105. int ret;
  106. let wpn = IMP_basegun(CPlayer.mo.player.ReadyWeapon);
  107. if(wpn)
  108. {
  109. ret = wpn.ammo_mag_cur;
  110. }
  111. return ret;
  112. }
  113. int GetMagCap()
  114. {
  115. int ret;
  116. let wpn = IMP_basegun(CPlayer.mo.player.ReadyWeapon);
  117. if(wpn)
  118. {
  119. ret = wpn.ammo_mag_cap;
  120. }
  121. return ret;
  122. }
  123.  
  124. string DrawWeaponName()
  125. {
  126. string ret;
  127. let plr = IMP_Player(CPlayer.mo);
  128. if(plr)
  129. {
  130. ret = plr.player.ReadyWeapon.GetClassName();
  131. }
  132. return ret;
  133. }
  134.  
  135. double GetPlayerSpread()
  136. {
  137. double ret;
  138. let plr = IMP_Player(CPlayer.mo);
  139. if(plr)
  140. {
  141. ret = plr.IMP_PSpread;
  142. }
  143. return ret;
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement