diff --git a/cvarinfo.base b/cvarinfo.base index 82d0fd327..2ba95b26f 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -121,8 +121,7 @@ server bool swwm_nodeathexit = false; // completely sidesteps the inventory res server bool swwm_extendedpickup = false; // items will have an additional "virtual hitbox" that's the same size as vanilla nosave bool swwm_voicelog = false; // adds player voicelines to the message log nosave bool swwm_skipskill = false; // skips skill confirmations -nosave bool swwm_althud = false; // alternate, more compact hud (like in the side mods) -nosave bool swwm_althud_trimammo = false; // only show ammo for owned weapons +nosave bool swwm_hudtrimammo = false; // only show ammo for owned weapons // minimap settings nosave bool swwm_mm_enable = true; // show a minimap below the score counter diff --git a/graphics/AltHUD/BiosparkDisplay.png b/graphics/AltHUD/BiosparkDisplay.png deleted file mode 100644 index 128285e22..000000000 Binary files a/graphics/AltHUD/BiosparkDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/DashBar.png b/graphics/AltHUD/DashBar.png deleted file mode 100644 index 88de7a5c3..000000000 Binary files a/graphics/AltHUD/DashBar.png and /dev/null differ diff --git a/graphics/AltHUD/DeepImpactBar.png b/graphics/AltHUD/DeepImpactBar.png deleted file mode 100644 index 1403248c6..000000000 Binary files a/graphics/AltHUD/DeepImpactBar.png and /dev/null differ diff --git a/graphics/AltHUD/DeepImpactDisplay.png b/graphics/AltHUD/DeepImpactDisplay.png deleted file mode 100644 index 1cc86b676..000000000 Binary files a/graphics/AltHUD/DeepImpactDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/EvisceratorDisplay.png b/graphics/AltHUD/EvisceratorDisplay.png deleted file mode 100644 index 9520ae6a1..000000000 Binary files a/graphics/AltHUD/EvisceratorDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/ExplodiumDisplay.png b/graphics/AltHUD/ExplodiumDisplay.png deleted file mode 100644 index 368ec6c2b..000000000 Binary files a/graphics/AltHUD/ExplodiumDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/FuelBar.png b/graphics/AltHUD/FuelBar.png deleted file mode 100644 index 3b545dd45..000000000 Binary files a/graphics/AltHUD/FuelBar.png and /dev/null differ diff --git a/graphics/AltHUD/FuelBarS.png b/graphics/AltHUD/FuelBarS.png deleted file mode 100644 index 15c611726..000000000 Binary files a/graphics/AltHUD/FuelBarS.png and /dev/null differ diff --git a/graphics/AltHUD/GenericAmmoBoxL.png b/graphics/AltHUD/GenericAmmoBoxL.png deleted file mode 100644 index 208a28db8..000000000 Binary files a/graphics/AltHUD/GenericAmmoBoxL.png and /dev/null differ diff --git a/graphics/AltHUD/GenericAmmoBoxM.png b/graphics/AltHUD/GenericAmmoBoxM.png deleted file mode 100644 index 8110ca2d9..000000000 Binary files a/graphics/AltHUD/GenericAmmoBoxM.png and /dev/null differ diff --git a/graphics/AltHUD/GenericAmmoBoxR.png b/graphics/AltHUD/GenericAmmoBoxR.png deleted file mode 100644 index 1946be32b..000000000 Binary files a/graphics/AltHUD/GenericAmmoBoxR.png and /dev/null differ diff --git a/graphics/AltHUD/HealthBar0.png b/graphics/AltHUD/HealthBar0.png deleted file mode 100644 index 7514d1283..000000000 Binary files a/graphics/AltHUD/HealthBar0.png and /dev/null differ diff --git a/graphics/AltHUD/HealthBar1.png b/graphics/AltHUD/HealthBar1.png deleted file mode 100644 index 1e480ff06..000000000 Binary files a/graphics/AltHUD/HealthBar1.png and /dev/null differ diff --git a/graphics/AltHUD/HealthBar2.png b/graphics/AltHUD/HealthBar2.png deleted file mode 100644 index b4858b970..000000000 Binary files a/graphics/AltHUD/HealthBar2.png and /dev/null differ diff --git a/graphics/AltHUD/HealthBar3.png b/graphics/AltHUD/HealthBar3.png deleted file mode 100644 index 1a053fc1a..000000000 Binary files a/graphics/AltHUD/HealthBar3.png and /dev/null differ diff --git a/graphics/AltHUD/HealthBarD.png b/graphics/AltHUD/HealthBarD.png deleted file mode 100644 index 4f34d7ae6..000000000 Binary files a/graphics/AltHUD/HealthBarD.png and /dev/null differ diff --git a/graphics/AltHUD/HealthBarS.png b/graphics/AltHUD/HealthBarS.png deleted file mode 100644 index 829203140..000000000 Binary files a/graphics/AltHUD/HealthBarS.png and /dev/null differ diff --git a/graphics/AltHUD/HellblazerCrackshot.png b/graphics/AltHUD/HellblazerCrackshot.png deleted file mode 100644 index 05382f569..000000000 Binary files a/graphics/AltHUD/HellblazerCrackshot.png and /dev/null differ diff --git a/graphics/AltHUD/HellblazerDisplay.png b/graphics/AltHUD/HellblazerDisplay.png deleted file mode 100644 index 2d719f3b6..000000000 Binary files a/graphics/AltHUD/HellblazerDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/HellblazerMissile.png b/graphics/AltHUD/HellblazerMissile.png deleted file mode 100644 index 2804f44c4..000000000 Binary files a/graphics/AltHUD/HellblazerMissile.png and /dev/null differ diff --git a/graphics/AltHUD/HellblazerRavager.png b/graphics/AltHUD/HellblazerRavager.png deleted file mode 100644 index 4749268eb..000000000 Binary files a/graphics/AltHUD/HellblazerRavager.png and /dev/null differ diff --git a/graphics/AltHUD/HellblazerWarhead.png b/graphics/AltHUD/HellblazerWarhead.png deleted file mode 100644 index f398673f6..000000000 Binary files a/graphics/AltHUD/HellblazerWarhead.png and /dev/null differ diff --git a/graphics/AltHUD/ScoreBox.png b/graphics/AltHUD/ScoreBox.png deleted file mode 100644 index 1bca2a6d7..000000000 Binary files a/graphics/AltHUD/ScoreBox.png and /dev/null differ diff --git a/graphics/AltHUD/SilverBulletDisplay.png b/graphics/AltHUD/SilverBulletDisplay.png deleted file mode 100644 index c815d621a..000000000 Binary files a/graphics/AltHUD/SilverBulletDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/SilverBulletFCB.png b/graphics/AltHUD/SilverBulletFCB.png deleted file mode 100644 index fda477d7f..000000000 Binary files a/graphics/AltHUD/SilverBulletFCB.png and /dev/null differ diff --git a/graphics/AltHUD/SilverBulletXSB.png b/graphics/AltHUD/SilverBulletXSB.png deleted file mode 100644 index 1d336045b..000000000 Binary files a/graphics/AltHUD/SilverBulletXSB.png and /dev/null differ diff --git a/graphics/AltHUD/SilverBulletZoomBar.png b/graphics/AltHUD/SilverBulletZoomBar.png deleted file mode 100644 index c1c8c2bed..000000000 Binary files a/graphics/AltHUD/SilverBulletZoomBar.png and /dev/null differ diff --git a/graphics/AltHUD/SilverBulletZoomDisplay.png b/graphics/AltHUD/SilverBulletZoomDisplay.png deleted file mode 100644 index 656f7db18..000000000 Binary files a/graphics/AltHUD/SilverBulletZoomDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/SpreadgunDisplay.png b/graphics/AltHUD/SpreadgunDisplay.png deleted file mode 100644 index 387d9d898..000000000 Binary files a/graphics/AltHUD/SpreadgunDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/StatusBox.png b/graphics/AltHUD/StatusBox.png deleted file mode 100644 index c418c5b34..000000000 Binary files a/graphics/AltHUD/StatusBox.png and /dev/null differ diff --git a/graphics/AltHUD/WallbusterDisplay.png b/graphics/AltHUD/WallbusterDisplay.png deleted file mode 100644 index 2ba9a7846..000000000 Binary files a/graphics/AltHUD/WallbusterDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/WeaponBox.png b/graphics/AltHUD/WeaponBox.png deleted file mode 100644 index 71898b066..000000000 Binary files a/graphics/AltHUD/WeaponBox.png and /dev/null differ diff --git a/graphics/AltHUD/YnykronDisplay.png b/graphics/AltHUD/YnykronDisplay.png deleted file mode 100644 index 20decd7e8..000000000 Binary files a/graphics/AltHUD/YnykronDisplay.png and /dev/null differ diff --git a/graphics/AltHUD/AmmoBoxB.png b/graphics/HUD/AmmoBoxB.png similarity index 100% rename from graphics/AltHUD/AmmoBoxB.png rename to graphics/HUD/AmmoBoxB.png diff --git a/graphics/AltHUD/AmmoBoxM.png b/graphics/HUD/AmmoBoxM.png similarity index 100% rename from graphics/AltHUD/AmmoBoxM.png rename to graphics/HUD/AmmoBoxM.png diff --git a/graphics/AltHUD/AmmoBoxT.png b/graphics/HUD/AmmoBoxT.png similarity index 100% rename from graphics/AltHUD/AmmoBoxT.png rename to graphics/HUD/AmmoBoxT.png diff --git a/graphics/HUD/BiosparkBar.png b/graphics/HUD/BiosparkBar.png deleted file mode 100644 index 804110bf7..000000000 Binary files a/graphics/HUD/BiosparkBar.png and /dev/null differ diff --git a/graphics/HUD/BiosparkBarGray.png b/graphics/HUD/BiosparkBarGray.png deleted file mode 100644 index 898cf80bd..000000000 Binary files a/graphics/HUD/BiosparkBarGray.png and /dev/null differ diff --git a/graphics/HUD/BiosparkBarRed.png b/graphics/HUD/BiosparkBarRed.png deleted file mode 100644 index 8d1ee5d5c..000000000 Binary files a/graphics/HUD/BiosparkBarRed.png and /dev/null differ diff --git a/graphics/HUD/BiosparkBarSlim.png b/graphics/HUD/BiosparkBarSlim.png deleted file mode 100644 index 169a6f803..000000000 Binary files a/graphics/HUD/BiosparkBarSlim.png and /dev/null differ diff --git a/graphics/HUD/BiosparkBarSlimGray.png b/graphics/HUD/BiosparkBarSlimGray.png deleted file mode 100644 index 7cb53c462..000000000 Binary files a/graphics/HUD/BiosparkBarSlimGray.png and /dev/null differ diff --git a/graphics/HUD/BiosparkBarSlimRed.png b/graphics/HUD/BiosparkBarSlimRed.png deleted file mode 100644 index 1c3015bf4..000000000 Binary files a/graphics/HUD/BiosparkBarSlimRed.png and /dev/null differ diff --git a/graphics/HUD/BiosparkDisplay.png b/graphics/HUD/BiosparkDisplay.png index cd0b30843..128285e22 100644 Binary files a/graphics/HUD/BiosparkDisplay.png and b/graphics/HUD/BiosparkDisplay.png differ diff --git a/graphics/AltHUD/BiosparkRed.png b/graphics/HUD/BiosparkRed.png similarity index 100% rename from graphics/AltHUD/BiosparkRed.png rename to graphics/HUD/BiosparkRed.png diff --git a/graphics/AltHUD/BiosparkShot.png b/graphics/HUD/BiosparkShot.png similarity index 100% rename from graphics/AltHUD/BiosparkShot.png rename to graphics/HUD/BiosparkShot.png diff --git a/graphics/HUD/BlackShell.png b/graphics/HUD/BlackShell.png deleted file mode 100644 index 373f1e7e1..000000000 Binary files a/graphics/HUD/BlackShell.png and /dev/null differ diff --git a/graphics/AltHUD/BlastDisplay.png b/graphics/HUD/BlastDisplay.png similarity index 100% rename from graphics/AltHUD/BlastDisplay.png rename to graphics/HUD/BlastDisplay.png diff --git a/graphics/AltHUD/BlastRoundActive.png b/graphics/HUD/BlastRoundActive.png similarity index 100% rename from graphics/AltHUD/BlastRoundActive.png rename to graphics/HUD/BlastRoundActive.png diff --git a/graphics/AltHUD/BlastRoundInert.png b/graphics/HUD/BlastRoundInert.png similarity index 100% rename from graphics/AltHUD/BlastRoundInert.png rename to graphics/HUD/BlastRoundInert.png diff --git a/graphics/HUD/BlueShell.png b/graphics/HUD/BlueShell.png deleted file mode 100644 index fceedb0ef..000000000 Binary files a/graphics/HUD/BlueShell.png and /dev/null differ diff --git a/graphics/HUD/BossHealthBar.png b/graphics/HUD/BossHealthBar.png index 1ba37a410..669b4df06 100644 Binary files a/graphics/HUD/BossHealthBar.png and b/graphics/HUD/BossHealthBar.png differ diff --git a/graphics/HUD/BossHealthBarDecay.png b/graphics/HUD/BossHealthBarDecay.png index cad0ec024..4070da777 100644 Binary files a/graphics/HUD/BossHealthBarDecay.png and b/graphics/HUD/BossHealthBarDecay.png differ diff --git a/graphics/AltHUD/CandyRound.png b/graphics/HUD/CandyRound.png similarity index 100% rename from graphics/AltHUD/CandyRound.png rename to graphics/HUD/CandyRound.png diff --git a/graphics/HUD/CandygunDisplay.png b/graphics/HUD/CandygunDisplay.png deleted file mode 100644 index 99c52b939..000000000 Binary files a/graphics/HUD/CandygunDisplay.png and /dev/null differ diff --git a/graphics/HUD/DashBar.png b/graphics/HUD/DashBar.png index d4cd3044b..88de7a5c3 100644 Binary files a/graphics/HUD/DashBar.png and b/graphics/HUD/DashBar.png differ diff --git a/graphics/HUD/DeepImpactBar.png b/graphics/HUD/DeepImpactBar.png index 22be335fc..1403248c6 100644 Binary files a/graphics/HUD/DeepImpactBar.png and b/graphics/HUD/DeepImpactBar.png differ diff --git a/graphics/HUD/DeepImpactDisplay.png b/graphics/HUD/DeepImpactDisplay.png index 7257cc9f9..1cc86b676 100644 Binary files a/graphics/HUD/DeepImpactDisplay.png and b/graphics/HUD/DeepImpactDisplay.png differ diff --git a/graphics/HUD/DualExplodiumDisplay.png b/graphics/HUD/DualExplodiumDisplay.png deleted file mode 100644 index 2629aa7c3..000000000 Binary files a/graphics/HUD/DualExplodiumDisplay.png and /dev/null differ diff --git a/graphics/HUD/EnemyBar0.png b/graphics/HUD/EnemyBar0.png index d8874e9f5..93abcdd1b 100644 Binary files a/graphics/HUD/EnemyBar0.png and b/graphics/HUD/EnemyBar0.png differ diff --git a/graphics/HUD/EnemyBar1.png b/graphics/HUD/EnemyBar1.png index 7fc4eb3ca..dcc342adf 100644 Binary files a/graphics/HUD/EnemyBar1.png and b/graphics/HUD/EnemyBar1.png differ diff --git a/graphics/HUD/EnemyBar2.png b/graphics/HUD/EnemyBar2.png index f906c4d22..f78b2b69f 100644 Binary files a/graphics/HUD/EnemyBar2.png and b/graphics/HUD/EnemyBar2.png differ diff --git a/graphics/HUD/EnemyBar3.png b/graphics/HUD/EnemyBar3.png index 176ee937a..3cb589b43 100644 Binary files a/graphics/HUD/EnemyBar3.png and b/graphics/HUD/EnemyBar3.png differ diff --git a/graphics/HUD/EnemyBarD.png b/graphics/HUD/EnemyBarD.png index a41939815..1d65d1e74 100644 Binary files a/graphics/HUD/EnemyBarD.png and b/graphics/HUD/EnemyBarD.png differ diff --git a/graphics/HUD/EnemyBarS.png b/graphics/HUD/EnemyBarS.png index fb3306c3e..9c5a682e8 100644 Binary files a/graphics/HUD/EnemyBarS.png and b/graphics/HUD/EnemyBarS.png differ diff --git a/graphics/HUD/EvisceratorDisplay.png b/graphics/HUD/EvisceratorDisplay.png index c8713bf81..9520ae6a1 100644 Binary files a/graphics/HUD/EvisceratorDisplay.png and b/graphics/HUD/EvisceratorDisplay.png differ diff --git a/graphics/AltHUD/EvisceratorRound.png b/graphics/HUD/EvisceratorRound.png similarity index 100% rename from graphics/AltHUD/EvisceratorRound.png rename to graphics/HUD/EvisceratorRound.png diff --git a/graphics/HUD/EvisceratorShell.png b/graphics/HUD/EvisceratorShell.png deleted file mode 100644 index 7b6f93e1f..000000000 Binary files a/graphics/HUD/EvisceratorShell.png and /dev/null differ diff --git a/graphics/AltHUD/EvisceratorTight.png b/graphics/HUD/EvisceratorTight.png similarity index 100% rename from graphics/AltHUD/EvisceratorTight.png rename to graphics/HUD/EvisceratorTight.png diff --git a/graphics/AltHUD/EvisceratorWide.png b/graphics/HUD/EvisceratorWide.png similarity index 100% rename from graphics/AltHUD/EvisceratorWide.png rename to graphics/HUD/EvisceratorWide.png diff --git a/graphics/HUD/ExplodiumDisplay.png b/graphics/HUD/ExplodiumDisplay.png index 6c595ec53..368ec6c2b 100644 Binary files a/graphics/HUD/ExplodiumDisplay.png and b/graphics/HUD/ExplodiumDisplay.png differ diff --git a/graphics/AltHUD/ExplodiumRound.png b/graphics/HUD/ExplodiumRound.png similarity index 100% rename from graphics/AltHUD/ExplodiumRound.png rename to graphics/HUD/ExplodiumRound.png diff --git a/graphics/HUD/FuelBar.png b/graphics/HUD/FuelBar.png index 92fab99b3..3b545dd45 100644 Binary files a/graphics/HUD/FuelBar.png and b/graphics/HUD/FuelBar.png differ diff --git a/graphics/HUD/FuelBarS.png b/graphics/HUD/FuelBarS.png index a9bc63aa1..15c611726 100644 Binary files a/graphics/HUD/FuelBarS.png and b/graphics/HUD/FuelBarS.png differ diff --git a/graphics/HUD/GenericAmmoBoxL.png b/graphics/HUD/GenericAmmoBoxL.png index 0fde30421..208a28db8 100644 Binary files a/graphics/HUD/GenericAmmoBoxL.png and b/graphics/HUD/GenericAmmoBoxL.png differ diff --git a/graphics/HUD/GenericAmmoBoxM.png b/graphics/HUD/GenericAmmoBoxM.png index a0ac05e43..8110ca2d9 100644 Binary files a/graphics/HUD/GenericAmmoBoxM.png and b/graphics/HUD/GenericAmmoBoxM.png differ diff --git a/graphics/HUD/GenericAmmoBoxR.png b/graphics/HUD/GenericAmmoBoxR.png index 7fd2e0d13..1946be32b 100644 Binary files a/graphics/HUD/GenericAmmoBoxR.png and b/graphics/HUD/GenericAmmoBoxR.png differ diff --git a/graphics/HUD/GoldShell.png b/graphics/HUD/GoldShell.png deleted file mode 100644 index 3514fbd80..000000000 Binary files a/graphics/HUD/GoldShell.png and /dev/null differ diff --git a/graphics/HUD/GreenShell.png b/graphics/HUD/GreenShell.png deleted file mode 100644 index abb6ade7a..000000000 Binary files a/graphics/HUD/GreenShell.png and /dev/null differ diff --git a/graphics/HUD/HealthBar0.png b/graphics/HUD/HealthBar0.png index f8428f436..7514d1283 100644 Binary files a/graphics/HUD/HealthBar0.png and b/graphics/HUD/HealthBar0.png differ diff --git a/graphics/HUD/HealthBar1.png b/graphics/HUD/HealthBar1.png index 3abdfc30b..1e480ff06 100644 Binary files a/graphics/HUD/HealthBar1.png and b/graphics/HUD/HealthBar1.png differ diff --git a/graphics/HUD/HealthBar2.png b/graphics/HUD/HealthBar2.png index 2f33f438c..b4858b970 100644 Binary files a/graphics/HUD/HealthBar2.png and b/graphics/HUD/HealthBar2.png differ diff --git a/graphics/HUD/HealthBar3.png b/graphics/HUD/HealthBar3.png index 9ae091bdb..1a053fc1a 100644 Binary files a/graphics/HUD/HealthBar3.png and b/graphics/HUD/HealthBar3.png differ diff --git a/graphics/HUD/HealthBarD.png b/graphics/HUD/HealthBarD.png index a84068c4c..4f34d7ae6 100644 Binary files a/graphics/HUD/HealthBarD.png and b/graphics/HUD/HealthBarD.png differ diff --git a/graphics/AltHUD/HealthBarF.png b/graphics/HUD/HealthBarF.png similarity index 100% rename from graphics/AltHUD/HealthBarF.png rename to graphics/HUD/HealthBarF.png diff --git a/graphics/AltHUD/HealthBarL.png b/graphics/HUD/HealthBarL.png similarity index 100% rename from graphics/AltHUD/HealthBarL.png rename to graphics/HUD/HealthBarL.png diff --git a/graphics/AltHUD/HealthBarP.png b/graphics/HUD/HealthBarP.png similarity index 100% rename from graphics/AltHUD/HealthBarP.png rename to graphics/HUD/HealthBarP.png diff --git a/graphics/HUD/HealthBarS.png b/graphics/HUD/HealthBarS.png index 7544045bd..829203140 100644 Binary files a/graphics/HUD/HealthBarS.png and b/graphics/HUD/HealthBarS.png differ diff --git a/graphics/HUD/HellblazerCrackshot.png b/graphics/HUD/HellblazerCrackshot.png index 3dd898274..05382f569 100644 Binary files a/graphics/HUD/HellblazerCrackshot.png and b/graphics/HUD/HellblazerCrackshot.png differ diff --git a/graphics/HUD/HellblazerCrackshotLoaded.png b/graphics/HUD/HellblazerCrackshotLoaded.png deleted file mode 100644 index 6c9860dc9..000000000 Binary files a/graphics/HUD/HellblazerCrackshotLoaded.png and /dev/null differ diff --git a/graphics/HUD/HellblazerDisplay.png b/graphics/HUD/HellblazerDisplay.png index 4514f797a..2d719f3b6 100644 Binary files a/graphics/HUD/HellblazerDisplay.png and b/graphics/HUD/HellblazerDisplay.png differ diff --git a/graphics/HUD/HellblazerMissile.png b/graphics/HUD/HellblazerMissile.png index 2aeff31b3..2804f44c4 100644 Binary files a/graphics/HUD/HellblazerMissile.png and b/graphics/HUD/HellblazerMissile.png differ diff --git a/graphics/HUD/HellblazerMissileLoaded.png b/graphics/HUD/HellblazerMissileLoaded.png deleted file mode 100644 index 3161ec2b2..000000000 Binary files a/graphics/HUD/HellblazerMissileLoaded.png and /dev/null differ diff --git a/graphics/HUD/HellblazerRavager.png b/graphics/HUD/HellblazerRavager.png index 9a32061b3..4749268eb 100644 Binary files a/graphics/HUD/HellblazerRavager.png and b/graphics/HUD/HellblazerRavager.png differ diff --git a/graphics/HUD/HellblazerRavagerLoaded.png b/graphics/HUD/HellblazerRavagerLoaded.png deleted file mode 100644 index 313a677c7..000000000 Binary files a/graphics/HUD/HellblazerRavagerLoaded.png and /dev/null differ diff --git a/graphics/HUD/HellblazerWarhead.png b/graphics/HUD/HellblazerWarhead.png index 34d90d66d..f398673f6 100644 Binary files a/graphics/HUD/HellblazerWarhead.png and b/graphics/HUD/HellblazerWarhead.png differ diff --git a/graphics/HUD/HellblazerWarheadLoaded.png b/graphics/HUD/HellblazerWarheadLoaded.png deleted file mode 100644 index 78d86982c..000000000 Binary files a/graphics/HUD/HellblazerWarheadLoaded.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_CandyBullet.png b/graphics/HUD/Icons/A_CandyBullet.png deleted file mode 100644 index 8003a594d..000000000 Binary files a/graphics/HUD/Icons/A_CandyBullet.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_CandyGun.png b/graphics/HUD/Icons/A_CandyGun.png deleted file mode 100644 index ead6ec6bb..000000000 Binary files a/graphics/HUD/Icons/A_CandyGun.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_Eviscerator.png b/graphics/HUD/Icons/A_Eviscerator.png deleted file mode 100644 index f19e260a6..000000000 Binary files a/graphics/HUD/Icons/A_Eviscerator.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_HellblazerCrackshot.png b/graphics/HUD/Icons/A_HellblazerCrackshot.png deleted file mode 100644 index b92e92408..000000000 Binary files a/graphics/HUD/Icons/A_HellblazerCrackshot.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_HellblazerMissile.png b/graphics/HUD/Icons/A_HellblazerMissile.png deleted file mode 100644 index 330132b4f..000000000 Binary files a/graphics/HUD/Icons/A_HellblazerMissile.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_HellblazerRavager.png b/graphics/HUD/Icons/A_HellblazerRavager.png deleted file mode 100644 index 98aa4fe2f..000000000 Binary files a/graphics/HUD/Icons/A_HellblazerRavager.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_HellblazerWarhead.png b/graphics/HUD/Icons/A_HellblazerWarhead.png deleted file mode 100644 index 5357004d1..000000000 Binary files a/graphics/HUD/Icons/A_HellblazerWarhead.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_MRAmmo.png b/graphics/HUD/Icons/A_MRAmmo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_MRAmmo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_MRGrenade.png b/graphics/HUD/Icons/A_MRGrenade.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_MRGrenade.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_MRRound.png b/graphics/HUD/Icons/A_MRRound.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_MRRound.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_QuadAmmo.png b/graphics/HUD/Icons/A_QuadAmmo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_QuadAmmo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_RayAmmo.png b/graphics/HUD/Icons/A_RayAmmo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_RayAmmo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_RayBattery.png b/graphics/HUD/Icons/A_RayBattery.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_RayBattery.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_RayBolt.png b/graphics/HUD/Icons/A_RayBolt.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_RayBolt.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SMW05Ammo.png b/graphics/HUD/Icons/A_SMW05Ammo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_SMW05Ammo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SheenAmmo.png b/graphics/HUD/Icons/A_SheenAmmo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_SheenAmmo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_ShellsBall.png b/graphics/HUD/Icons/A_ShellsBall.png deleted file mode 100644 index 8b07da4ad..000000000 Binary files a/graphics/HUD/Icons/A_ShellsBall.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_ShellsDragon.png b/graphics/HUD/Icons/A_ShellsDragon.png deleted file mode 100644 index e9bc0d47a..000000000 Binary files a/graphics/HUD/Icons/A_ShellsDragon.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_ShellsFuck.png b/graphics/HUD/Icons/A_ShellsFuck.png deleted file mode 100644 index b3484f4e1..000000000 Binary files a/graphics/HUD/Icons/A_ShellsFuck.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_ShellsGold.png b/graphics/HUD/Icons/A_ShellsGold.png deleted file mode 100644 index 745a45521..000000000 Binary files a/graphics/HUD/Icons/A_ShellsGold.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_ShellsKinylum.png b/graphics/HUD/Icons/A_ShellsKinylum.png deleted file mode 100644 index 1cab3f0d5..000000000 Binary files a/graphics/HUD/Icons/A_ShellsKinylum.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_ShellsNormal.png b/graphics/HUD/Icons/A_ShellsNormal.png deleted file mode 100644 index 65b339c3b..000000000 Binary files a/graphics/HUD/Icons/A_ShellsNormal.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_ShellsSlug.png b/graphics/HUD/Icons/A_ShellsSlug.png deleted file mode 100644 index ca030736f..000000000 Binary files a/graphics/HUD/Icons/A_ShellsSlug.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SilverBullet.png b/graphics/HUD/Icons/A_SilverBullet.png deleted file mode 100644 index 591a16bd7..000000000 Binary files a/graphics/HUD/Icons/A_SilverBullet.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SilverBullet2.png b/graphics/HUD/Icons/A_SilverBullet2.png deleted file mode 100644 index fe8df615e..000000000 Binary files a/graphics/HUD/Icons/A_SilverBullet2.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SilverBulletBullet.png b/graphics/HUD/Icons/A_SilverBulletBullet.png deleted file mode 100644 index 6dfdf28d6..000000000 Binary files a/graphics/HUD/Icons/A_SilverBulletBullet.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SilverBulletBullet2.png b/graphics/HUD/Icons/A_SilverBulletBullet2.png deleted file mode 100644 index ded4f8264..000000000 Binary files a/graphics/HUD/Icons/A_SilverBulletBullet2.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SparkBAmmo.png b/graphics/HUD/Icons/A_SparkBAmmo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_SparkBAmmo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_SparkRAmmo.png b/graphics/HUD/Icons/A_SparkRAmmo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_SparkRAmmo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_Sparkster.png b/graphics/HUD/Icons/A_Sparkster.png deleted file mode 100644 index 856b4e650..000000000 Binary files a/graphics/HUD/Icons/A_Sparkster.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_UltimateAmmo.png b/graphics/HUD/Icons/A_UltimateAmmo.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_UltimateAmmo.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_UltimatePod.png b/graphics/HUD/Icons/A_UltimatePod.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/A_UltimatePod.png and /dev/null differ diff --git a/graphics/HUD/Icons/A_Ynykron.png b/graphics/HUD/Icons/A_Ynykron.png deleted file mode 100644 index 08eaff5a7..000000000 Binary files a/graphics/HUD/Icons/A_Ynykron.png and /dev/null differ diff --git a/graphics/HUD/Icons/I_Embiggener.png b/graphics/HUD/Icons/I_Embiggener.png deleted file mode 100644 index a756dbd0c..000000000 Binary files a/graphics/HUD/Icons/I_Embiggener.png and /dev/null differ diff --git a/graphics/HUD/Icons/I_Fabricator1.png b/graphics/HUD/Icons/I_Fabricator1.png deleted file mode 100644 index 6d791bc3b..000000000 Binary files a/graphics/HUD/Icons/I_Fabricator1.png and /dev/null differ diff --git a/graphics/HUD/Icons/I_Fabricator2.png b/graphics/HUD/Icons/I_Fabricator2.png deleted file mode 100644 index 505efb918..000000000 Binary files a/graphics/HUD/Icons/I_Fabricator2.png and /dev/null differ diff --git a/graphics/HUD/Icons/I_Fabricator3.png b/graphics/HUD/Icons/I_Fabricator3.png deleted file mode 100644 index 860f5f078..000000000 Binary files a/graphics/HUD/Icons/I_Fabricator3.png and /dev/null differ diff --git a/graphics/HUD/Icons/I_Fabricator4.png b/graphics/HUD/Icons/I_Fabricator4.png deleted file mode 100644 index 2f2f8f52c..000000000 Binary files a/graphics/HUD/Icons/I_Fabricator4.png and /dev/null differ diff --git a/graphics/HUD/Icons/I_HealthNugget.png b/graphics/HUD/Icons/I_HealthNugget.png deleted file mode 100644 index f234a37d6..000000000 Binary files a/graphics/HUD/Icons/I_HealthNugget.png and /dev/null differ diff --git a/graphics/HUD/Icons/I_Omnisight.png b/graphics/HUD/Icons/I_Omnisight.png deleted file mode 100644 index 9589f5c6d..000000000 Binary files a/graphics/HUD/Icons/I_Omnisight.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_CandyGun.png b/graphics/HUD/Icons/W_CandyGun.png deleted file mode 100644 index c4e5802e4..000000000 Binary files a/graphics/HUD/Icons/W_CandyGun.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_DeepImpact.png b/graphics/HUD/Icons/W_DeepImpact.png deleted file mode 100644 index 01e07d9e3..000000000 Binary files a/graphics/HUD/Icons/W_DeepImpact.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_Eviscerator.png b/graphics/HUD/Icons/W_Eviscerator.png deleted file mode 100644 index f8dbcb485..000000000 Binary files a/graphics/HUD/Icons/W_Eviscerator.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_ExplodiumGun.png b/graphics/HUD/Icons/W_ExplodiumGun.png deleted file mode 100644 index e3b7e7656..000000000 Binary files a/graphics/HUD/Icons/W_ExplodiumGun.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_ExplodiumGun2.png b/graphics/HUD/Icons/W_ExplodiumGun2.png deleted file mode 100644 index 3c4380d55..000000000 Binary files a/graphics/HUD/Icons/W_ExplodiumGun2.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_Hellblazer.png b/graphics/HUD/Icons/W_Hellblazer.png deleted file mode 100644 index de9368fec..000000000 Binary files a/graphics/HUD/Icons/W_Hellblazer.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_ItamexHammer.png b/graphics/HUD/Icons/W_ItamexHammer.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_ItamexHammer.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_MortalRifle.png b/graphics/HUD/Icons/W_MortalRifle.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_MortalRifle.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_NewSparkster.png b/graphics/HUD/Icons/W_NewSparkster.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_NewSparkster.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_PlasmaBlast.png b/graphics/HUD/Icons/W_PlasmaBlast.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_PlasmaBlast.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_PlasmaBlast2.png b/graphics/HUD/Icons/W_PlasmaBlast2.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_PlasmaBlast2.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_PuntzerBeta.png b/graphics/HUD/Icons/W_PuntzerBeta.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_PuntzerBeta.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_PuntzerGamma.png b/graphics/HUD/Icons/W_PuntzerGamma.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_PuntzerGamma.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_Quadravol.png b/graphics/HUD/Icons/W_Quadravol.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_Quadravol.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_RafanKos.png b/graphics/HUD/Icons/W_RafanKos.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_RafanKos.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_RayKhom.png b/graphics/HUD/Icons/W_RayKhom.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_RayKhom.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_SheenHMG.png b/graphics/HUD/Icons/W_SheenHMG.png deleted file mode 100644 index b516b82d2..000000000 Binary files a/graphics/HUD/Icons/W_SheenHMG.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_SilverBullet.png b/graphics/HUD/Icons/W_SilverBullet.png deleted file mode 100644 index 3b9dddd5d..000000000 Binary files a/graphics/HUD/Icons/W_SilverBullet.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_Sparkster.png b/graphics/HUD/Icons/W_Sparkster.png deleted file mode 100644 index 08fb60067..000000000 Binary files a/graphics/HUD/Icons/W_Sparkster.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_Spreadgun.png b/graphics/HUD/Icons/W_Spreadgun.png deleted file mode 100644 index a48c50fcf..000000000 Binary files a/graphics/HUD/Icons/W_Spreadgun.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_Wallbuster.png b/graphics/HUD/Icons/W_Wallbuster.png deleted file mode 100644 index 94b41b973..000000000 Binary files a/graphics/HUD/Icons/W_Wallbuster.png and /dev/null differ diff --git a/graphics/HUD/Icons/W_Ynykron.png b/graphics/HUD/Icons/W_Ynykron.png deleted file mode 100644 index 8351904d6..000000000 Binary files a/graphics/HUD/Icons/W_Ynykron.png and /dev/null differ diff --git a/graphics/AltHUD/ItamexBar.png b/graphics/HUD/ItamexBar.png similarity index 100% rename from graphics/AltHUD/ItamexBar.png rename to graphics/HUD/ItamexBar.png diff --git a/graphics/AltHUD/ItamexDisplay.png b/graphics/HUD/ItamexDisplay.png similarity index 100% rename from graphics/AltHUD/ItamexDisplay.png rename to graphics/HUD/ItamexDisplay.png diff --git a/graphics/HUD/LoadedBlackShell.png b/graphics/HUD/LoadedBlackShell.png deleted file mode 100644 index ee2c8d4b9..000000000 Binary files a/graphics/HUD/LoadedBlackShell.png and /dev/null differ diff --git a/graphics/HUD/LoadedBlueShell.png b/graphics/HUD/LoadedBlueShell.png deleted file mode 100644 index ac091f4bd..000000000 Binary files a/graphics/HUD/LoadedBlueShell.png and /dev/null differ diff --git a/graphics/HUD/LoadedGoldShell.png b/graphics/HUD/LoadedGoldShell.png deleted file mode 100644 index bd97f7efa..000000000 Binary files a/graphics/HUD/LoadedGoldShell.png and /dev/null differ diff --git a/graphics/HUD/LoadedGreenShell.png b/graphics/HUD/LoadedGreenShell.png deleted file mode 100644 index 680f994e5..000000000 Binary files a/graphics/HUD/LoadedGreenShell.png and /dev/null differ diff --git a/graphics/HUD/LoadedPurpleShell.png b/graphics/HUD/LoadedPurpleShell.png deleted file mode 100644 index a9ee7a45d..000000000 Binary files a/graphics/HUD/LoadedPurpleShell.png and /dev/null differ diff --git a/graphics/HUD/LoadedRedShell.png b/graphics/HUD/LoadedRedShell.png deleted file mode 100644 index bd8841071..000000000 Binary files a/graphics/HUD/LoadedRedShell.png and /dev/null differ diff --git a/graphics/HUD/MenuShellBlue.png b/graphics/HUD/MenuShellBlue.png new file mode 100644 index 000000000..d8f574cf2 Binary files /dev/null and b/graphics/HUD/MenuShellBlue.png differ diff --git a/graphics/HUD/MenuShellGreen.png b/graphics/HUD/MenuShellGreen.png new file mode 100644 index 000000000..0e0de0420 Binary files /dev/null and b/graphics/HUD/MenuShellGreen.png differ diff --git a/graphics/HUD/MenuShellPurple.png b/graphics/HUD/MenuShellPurple.png new file mode 100644 index 000000000..1e15c89e2 Binary files /dev/null and b/graphics/HUD/MenuShellPurple.png differ diff --git a/graphics/HUD/MenuShellRed.png b/graphics/HUD/MenuShellRed.png new file mode 100644 index 000000000..0ed3dae45 Binary files /dev/null and b/graphics/HUD/MenuShellRed.png differ diff --git a/graphics/AltHUD/MisterDisplay.png b/graphics/HUD/MisterDisplay.png similarity index 100% rename from graphics/AltHUD/MisterDisplay.png rename to graphics/HUD/MisterDisplay.png diff --git a/graphics/AltHUD/MisterGrenade.png b/graphics/HUD/MisterGrenade.png similarity index 100% rename from graphics/AltHUD/MisterGrenade.png rename to graphics/HUD/MisterGrenade.png diff --git a/graphics/AltHUD/MisterRound.png b/graphics/HUD/MisterRound.png similarity index 100% rename from graphics/AltHUD/MisterRound.png rename to graphics/HUD/MisterRound.png diff --git a/graphics/AltHUD/PuntzerBetaDisplay.png b/graphics/HUD/PuntzerBetaDisplay.png similarity index 100% rename from graphics/AltHUD/PuntzerBetaDisplay.png rename to graphics/HUD/PuntzerBetaDisplay.png diff --git a/graphics/AltHUD/PuntzerCasing.png b/graphics/HUD/PuntzerCasing.png similarity index 100% rename from graphics/AltHUD/PuntzerCasing.png rename to graphics/HUD/PuntzerCasing.png diff --git a/graphics/AltHUD/PuntzerGammaDisplay.png b/graphics/HUD/PuntzerGammaDisplay.png similarity index 100% rename from graphics/AltHUD/PuntzerGammaDisplay.png rename to graphics/HUD/PuntzerGammaDisplay.png diff --git a/graphics/AltHUD/PuntzerRound.png b/graphics/HUD/PuntzerRound.png similarity index 100% rename from graphics/AltHUD/PuntzerRound.png rename to graphics/HUD/PuntzerRound.png diff --git a/graphics/HUD/PurpleShell.png b/graphics/HUD/PurpleShell.png deleted file mode 100644 index 9b778aa95..000000000 Binary files a/graphics/HUD/PurpleShell.png and /dev/null differ diff --git a/graphics/AltHUD/QuadravolCasing.png b/graphics/HUD/QuadravolCasing.png similarity index 100% rename from graphics/AltHUD/QuadravolCasing.png rename to graphics/HUD/QuadravolCasing.png diff --git a/graphics/AltHUD/QuadravolDisplay.png b/graphics/HUD/QuadravolDisplay.png similarity index 100% rename from graphics/AltHUD/QuadravolDisplay.png rename to graphics/HUD/QuadravolDisplay.png diff --git a/graphics/AltHUD/QuadravolRound.png b/graphics/HUD/QuadravolRound.png similarity index 100% rename from graphics/AltHUD/QuadravolRound.png rename to graphics/HUD/QuadravolRound.png diff --git a/graphics/AltHUD/RafankosCasing.png b/graphics/HUD/RafankosCasing.png similarity index 100% rename from graphics/AltHUD/RafankosCasing.png rename to graphics/HUD/RafankosCasing.png diff --git a/graphics/AltHUD/RafankosDisplay.png b/graphics/HUD/RafankosDisplay.png similarity index 100% rename from graphics/AltHUD/RafankosDisplay.png rename to graphics/HUD/RafankosDisplay.png diff --git a/graphics/AltHUD/RafankosRound.png b/graphics/HUD/RafankosRound.png similarity index 100% rename from graphics/AltHUD/RafankosRound.png rename to graphics/HUD/RafankosRound.png diff --git a/graphics/AltHUD/RafankosRoundGlow.png b/graphics/HUD/RafankosRoundGlow.png similarity index 100% rename from graphics/AltHUD/RafankosRoundGlow.png rename to graphics/HUD/RafankosRoundGlow.png diff --git a/graphics/AltHUD/RayKhomBar.png b/graphics/HUD/RayKhomBar.png similarity index 100% rename from graphics/AltHUD/RayKhomBar.png rename to graphics/HUD/RayKhomBar.png diff --git a/graphics/AltHUD/RayKhomDisplay.png b/graphics/HUD/RayKhomDisplay.png similarity index 100% rename from graphics/AltHUD/RayKhomDisplay.png rename to graphics/HUD/RayKhomDisplay.png diff --git a/graphics/AltHUD/RayKhomRound.png b/graphics/HUD/RayKhomRound.png similarity index 100% rename from graphics/AltHUD/RayKhomRound.png rename to graphics/HUD/RayKhomRound.png diff --git a/graphics/HUD/RedShell.png b/graphics/HUD/RedShell.png deleted file mode 100644 index 59405cfee..000000000 Binary files a/graphics/HUD/RedShell.png and /dev/null differ diff --git a/graphics/HUD/ScoreBox.png b/graphics/HUD/ScoreBox.png index 3b9c89d1a..1bca2a6d7 100644 Binary files a/graphics/HUD/ScoreBox.png and b/graphics/HUD/ScoreBox.png differ diff --git a/graphics/AltHUD/SheenCasing.png b/graphics/HUD/SheenCasing.png similarity index 100% rename from graphics/AltHUD/SheenCasing.png rename to graphics/HUD/SheenCasing.png diff --git a/graphics/AltHUD/SheenDisplay.png b/graphics/HUD/SheenDisplay.png similarity index 100% rename from graphics/AltHUD/SheenDisplay.png rename to graphics/HUD/SheenDisplay.png diff --git a/graphics/AltHUD/SheenRound.png b/graphics/HUD/SheenRound.png similarity index 100% rename from graphics/AltHUD/SheenRound.png rename to graphics/HUD/SheenRound.png diff --git a/graphics/AltHUD/ShellBlack.png b/graphics/HUD/ShellBlack.png similarity index 100% rename from graphics/AltHUD/ShellBlack.png rename to graphics/HUD/ShellBlack.png diff --git a/graphics/AltHUD/ShellBlue.png b/graphics/HUD/ShellBlue.png similarity index 100% rename from graphics/AltHUD/ShellBlue.png rename to graphics/HUD/ShellBlue.png diff --git a/graphics/AltHUD/ShellGold.png b/graphics/HUD/ShellGold.png similarity index 100% rename from graphics/AltHUD/ShellGold.png rename to graphics/HUD/ShellGold.png diff --git a/graphics/AltHUD/ShellGreen.png b/graphics/HUD/ShellGreen.png similarity index 100% rename from graphics/AltHUD/ShellGreen.png rename to graphics/HUD/ShellGreen.png diff --git a/graphics/AltHUD/ShellPurple.png b/graphics/HUD/ShellPurple.png similarity index 100% rename from graphics/AltHUD/ShellPurple.png rename to graphics/HUD/ShellPurple.png diff --git a/graphics/AltHUD/ShellRed.png b/graphics/HUD/ShellRed.png similarity index 100% rename from graphics/AltHUD/ShellRed.png rename to graphics/HUD/ShellRed.png diff --git a/graphics/HUD/SilverBulletDisplay.png b/graphics/HUD/SilverBulletDisplay.png index 5c62f0452..c815d621a 100644 Binary files a/graphics/HUD/SilverBulletDisplay.png and b/graphics/HUD/SilverBulletDisplay.png differ diff --git a/graphics/HUD/SilverBulletFCB.png b/graphics/HUD/SilverBulletFCB.png index 10e59451c..fda477d7f 100644 Binary files a/graphics/HUD/SilverBulletFCB.png and b/graphics/HUD/SilverBulletFCB.png differ diff --git a/graphics/AltHUD/SilverBulletFCBCasing.png b/graphics/HUD/SilverBulletFCBCasing.png similarity index 100% rename from graphics/AltHUD/SilverBulletFCBCasing.png rename to graphics/HUD/SilverBulletFCBCasing.png diff --git a/graphics/HUD/SilverBulletFCBMag.png b/graphics/HUD/SilverBulletFCBMag.png deleted file mode 100644 index e78d1646a..000000000 Binary files a/graphics/HUD/SilverBulletFCBMag.png and /dev/null differ diff --git a/graphics/HUD/SilverBulletXSB.png b/graphics/HUD/SilverBulletXSB.png index b01292e92..1d336045b 100644 Binary files a/graphics/HUD/SilverBulletXSB.png and b/graphics/HUD/SilverBulletXSB.png differ diff --git a/graphics/AltHUD/SilverBulletXSBCasing.png b/graphics/HUD/SilverBulletXSBCasing.png similarity index 100% rename from graphics/AltHUD/SilverBulletXSBCasing.png rename to graphics/HUD/SilverBulletXSBCasing.png diff --git a/graphics/HUD/SilverBulletXSBMag.png b/graphics/HUD/SilverBulletXSBMag.png deleted file mode 100644 index 0f685940e..000000000 Binary files a/graphics/HUD/SilverBulletXSBMag.png and /dev/null differ diff --git a/graphics/HUD/SilverBulletZoomBar.png b/graphics/HUD/SilverBulletZoomBar.png index 99e182306..c1c8c2bed 100644 Binary files a/graphics/HUD/SilverBulletZoomBar.png and b/graphics/HUD/SilverBulletZoomBar.png differ diff --git a/graphics/HUD/SilverBulletZoomDisplay.png b/graphics/HUD/SilverBulletZoomDisplay.png index 39a71a799..656f7db18 100644 Binary files a/graphics/HUD/SilverBulletZoomDisplay.png and b/graphics/HUD/SilverBulletZoomDisplay.png differ diff --git a/graphics/AltHUD/SparksterDisplay.png b/graphics/HUD/SparksterDisplay.png similarity index 100% rename from graphics/AltHUD/SparksterDisplay.png rename to graphics/HUD/SparksterDisplay.png diff --git a/graphics/AltHUD/SparksterKinylumActive.png b/graphics/HUD/SparksterKinylumActive.png similarity index 100% rename from graphics/AltHUD/SparksterKinylumActive.png rename to graphics/HUD/SparksterKinylumActive.png diff --git a/graphics/AltHUD/SparksterKinylumInert.png b/graphics/HUD/SparksterKinylumInert.png similarity index 100% rename from graphics/AltHUD/SparksterKinylumInert.png rename to graphics/HUD/SparksterKinylumInert.png diff --git a/graphics/AltHUD/SparksterNokronActive.png b/graphics/HUD/SparksterNokronActive.png similarity index 100% rename from graphics/AltHUD/SparksterNokronActive.png rename to graphics/HUD/SparksterNokronActive.png diff --git a/graphics/AltHUD/SparksterNokronInert.png b/graphics/HUD/SparksterNokronInert.png similarity index 100% rename from graphics/AltHUD/SparksterNokronInert.png rename to graphics/HUD/SparksterNokronInert.png diff --git a/graphics/HUD/SpreadgunDisplay.png b/graphics/HUD/SpreadgunDisplay.png index 4e3c6e8bb..387d9d898 100644 Binary files a/graphics/HUD/SpreadgunDisplay.png and b/graphics/HUD/SpreadgunDisplay.png differ diff --git a/graphics/HUD/StatusBox.png b/graphics/HUD/StatusBox.png index 1692dd450..c418c5b34 100644 Binary files a/graphics/HUD/StatusBox.png and b/graphics/HUD/StatusBox.png differ diff --git a/graphics/HUD/WallbusterBlue.png b/graphics/HUD/WallbusterBlue.png deleted file mode 100644 index 725ef3395..000000000 Binary files a/graphics/HUD/WallbusterBlue.png and /dev/null differ diff --git a/graphics/HUD/WallbusterBlueUsed.png b/graphics/HUD/WallbusterBlueUsed.png deleted file mode 100644 index 9f55af8cf..000000000 Binary files a/graphics/HUD/WallbusterBlueUsed.png and /dev/null differ diff --git a/graphics/AltHUD/WallbusterCursor.png b/graphics/HUD/WallbusterCursor.png similarity index 100% rename from graphics/AltHUD/WallbusterCursor.png rename to graphics/HUD/WallbusterCursor.png diff --git a/graphics/HUD/WallbusterDisplay.png b/graphics/HUD/WallbusterDisplay.png index 121820ae4..2ba9a7846 100644 Binary files a/graphics/HUD/WallbusterDisplay.png and b/graphics/HUD/WallbusterDisplay.png differ diff --git a/graphics/HUD/WallbusterEmpty.png b/graphics/HUD/WallbusterEmpty.png deleted file mode 100644 index bce7f1fb2..000000000 Binary files a/graphics/HUD/WallbusterEmpty.png and /dev/null differ diff --git a/graphics/HUD/WallbusterGreen.png b/graphics/HUD/WallbusterGreen.png deleted file mode 100644 index 216fb2c14..000000000 Binary files a/graphics/HUD/WallbusterGreen.png and /dev/null differ diff --git a/graphics/HUD/WallbusterGreenUsed.png b/graphics/HUD/WallbusterGreenUsed.png deleted file mode 100644 index 7f7fdd45d..000000000 Binary files a/graphics/HUD/WallbusterGreenUsed.png and /dev/null differ diff --git a/graphics/HUD/WallbusterMenu.png b/graphics/HUD/WallbusterMenu.png index 0f3bc7f78..d8c2ff768 100644 Binary files a/graphics/HUD/WallbusterMenu.png and b/graphics/HUD/WallbusterMenu.png differ diff --git a/graphics/HUD/WallbusterPurple.png b/graphics/HUD/WallbusterPurple.png deleted file mode 100644 index a07762bea..000000000 Binary files a/graphics/HUD/WallbusterPurple.png and /dev/null differ diff --git a/graphics/HUD/WallbusterPurpleUsed.png b/graphics/HUD/WallbusterPurpleUsed.png deleted file mode 100644 index 6f34f648f..000000000 Binary files a/graphics/HUD/WallbusterPurpleUsed.png and /dev/null differ diff --git a/graphics/HUD/WallbusterRed.png b/graphics/HUD/WallbusterRed.png deleted file mode 100644 index 9ae44f87a..000000000 Binary files a/graphics/HUD/WallbusterRed.png and /dev/null differ diff --git a/graphics/HUD/WallbusterRedUsed.png b/graphics/HUD/WallbusterRedUsed.png deleted file mode 100644 index 86e3ee0e2..000000000 Binary files a/graphics/HUD/WallbusterRedUsed.png and /dev/null differ diff --git a/graphics/HUD/WeaponBox.png b/graphics/HUD/WeaponBox.png index d41af5bd4..71898b066 100644 Binary files a/graphics/HUD/WeaponBox.png and b/graphics/HUD/WeaponBox.png differ diff --git a/graphics/HUD/YnykronBarA.png b/graphics/HUD/YnykronBarA.png deleted file mode 100644 index b3a69b3ad..000000000 Binary files a/graphics/HUD/YnykronBarA.png and /dev/null differ diff --git a/graphics/HUD/YnykronBarB.png b/graphics/HUD/YnykronBarB.png deleted file mode 100644 index 143e11b1e..000000000 Binary files a/graphics/HUD/YnykronBarB.png and /dev/null differ diff --git a/graphics/AltHUD/YnykronBarBeam.png b/graphics/HUD/YnykronBarBeam.png similarity index 100% rename from graphics/AltHUD/YnykronBarBeam.png rename to graphics/HUD/YnykronBarBeam.png diff --git a/graphics/AltHUD/YnykronBarVortex.png b/graphics/HUD/YnykronBarVortex.png similarity index 100% rename from graphics/AltHUD/YnykronBarVortex.png rename to graphics/HUD/YnykronBarVortex.png diff --git a/graphics/HUD/YnykronDisplay.png b/graphics/HUD/YnykronDisplay.png index 754791903..20decd7e8 100644 Binary files a/graphics/HUD/YnykronDisplay.png and b/graphics/HUD/YnykronDisplay.png differ diff --git a/graphics/AltHUD/YnykronIconBeam.png b/graphics/HUD/YnykronIconBeam.png similarity index 100% rename from graphics/AltHUD/YnykronIconBeam.png rename to graphics/HUD/YnykronIconBeam.png diff --git a/graphics/AltHUD/YnykronIconVortex.png b/graphics/HUD/YnykronIconVortex.png similarity index 100% rename from graphics/AltHUD/YnykronIconVortex.png rename to graphics/HUD/YnykronIconVortex.png diff --git a/graphics/HUD/YnykronSideA.png b/graphics/HUD/YnykronSideA.png deleted file mode 100644 index e669cbb2e..000000000 Binary files a/graphics/HUD/YnykronSideA.png and /dev/null differ diff --git a/graphics/HUD/YnykronSideB.png b/graphics/HUD/YnykronSideB.png deleted file mode 100644 index a4942ff0f..000000000 Binary files a/graphics/HUD/YnykronSideB.png and /dev/null differ diff --git a/language.def_menu b/language.def_menu index 61d1ab19c..112e8f1b4 100644 --- a/language.def_menu +++ b/language.def_menu @@ -207,8 +207,7 @@ SWWM_NODEATHEXIT = "Disable Death Exits"; SWWM_EXTENDEDPICKUP = "Extend Item Size"; SWWM_VOICELOG = "Log Player Comments"; SWWM_SKIPSKILL = "Skip Skill Confirmation"; -SWWM_ALTHUD = "Alternate HUD Style"; -SWWM_ALTHUD_TRIMAMMO = "Trim Ammo in Alternate HUD"; +SWWM_HUDTRIMAMMO = "Trim Ammo List"; SWWM_MMTITLE = "Minimap Settings"; SWWM_MM_ENABLE = "Show Minimap"; SWWM_MM_ROTATE = "Rotate Minimap"; @@ -378,8 +377,7 @@ TOOLTIP_SWWM_NODEATHEXIT = "This option completely negates the effects of death TOOLTIP_SWWM_EXTENDEDPICKUP = "Gives all items a vanilla-sized \"virtual hitbox\" that allows picking them up from farther away. Requires a map restart if changed."; TOOLTIP_SWWM_VOICELOG = "Subtitled player comments will be saved to the Messages tab of the Demolitionist Menu."; TOOLTIP_SWWM_SKIPSKILL = "Skips confirmation of skill selection, if you get tired of seeing it every time."; -TOOLTIP_SWWM_ALTHUD = "Switches the HUD style to one akin to the Demolitionist Side Mods."; -TOOLTIP_SWWM_ALTHUD_TRIMAMMO = "Only shows ammo for currently carried weapons when using the alternative HUD style."; +TOOLTIP_SWWM_HUDTRIMAMMO = "Only shows ammo for currently carried weapons in the HUD."; TOOLTIP_SWWMMINIMAPMENU = "Configure the minimap."; TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements."; TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap under the score counter."; diff --git a/language.es_menu b/language.es_menu index 45e25d27a..f15643446 100644 --- a/language.es_menu +++ b/language.es_menu @@ -206,8 +206,7 @@ SWWM_NODEATHEXIT = "Desactivar Salidas de Muerte"; SWWM_EXTENDEDPICKUP = "Extender Tamaño de Ítem"; SWWM_VOICELOG = "Registrar Comentarios de Jugador"; SWWM_SKIPSKILL = "Saltar Confirmación de Dificultad"; -SWWM_ALTHUD = "Estilo de HUD Alternativo"; -SWWM_ALTHUD_TRIMAMMo = "Recortar Munición en HUD Alternativo"; +SWWM_HUDTRIMAMMO = "Recortar Lista de Munición"; SWWM_MMTITLE = "Opciones de Minimapa"; SWWM_MM_ENABLE = "Mostrar Minimapa"; SWWM_MM_ROTATE = "Rotar Minimapa"; @@ -382,8 +381,7 @@ TOOLTIP_SWWM_NODEATHEXIT = "Esta opción invalida completamente los efectos de l TOOLTIP_SWWM_EXTENDEDPICKUP = "Da a todos los ítems una \"hitbox virtual\" de tamaño vanilla que permite recogerlos a mayor distancia. Requiere reinicio de mapa si se cambia."; TOOLTIP_SWWM_VOICELOG = "Los comentarios de jugador subtitulados se guardarán en la pestaña de Mensajes del Menú de Demolicionista."; TOOLTIP_SWWM_SKIPSKILL = "Salta la confirmación de selección de dificultad, si te has cansado de verla todo el tiempo."; -TOOLTIP_SWWM_ALTHUD = "Cambia el estilo de HUD a uno parecido al de los Mods Paralelos de Demolicionista."; -TOOLTIP_SWWM_ALTHUD_TRIMAMMO = "Muestra solo la munición de las armas obtenidas al usar el estilo de HUD alternativo."; +TOOLTIP_SWWM_HUDTRIMAMMO = "Muestra solo la munición de las armas obtenidas en el HUD."; TOOLTIP_SWWMMINIMAPMENU = "Configura el minimapa."; TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros."; TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa bajo el contador de puntuación."; diff --git a/language.version b/language.version index 6078695f7..f12a1fc5a 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r156 \cu(Tue 5 Jul 20:37:09 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r156 \cu(2022-07-05 20:37:09)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r157 \cu(Tue 5 Jul 22:18:04 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r157 \cu(2022-07-05 22:18:04)\c-"; diff --git a/menudef.txt b/menudef.txt index 1ff279350..b7933367e 100644 --- a/menudef.txt +++ b/menudef.txt @@ -118,8 +118,7 @@ OptionMenu "SWWMOptionMenu" Option "$SWWM_FORCESTATS", "swwm_forcestats", "SWWMForceStats" Option "$SWWM_UNIQSTATS", "swwm_uniqstats", "YesNo" Slider "$SWWM_HUDMARGIN", "swwm_hudmargin", 0, 20, 1, 0 - Option "$SWWM_ALTHUD", "swwm_althud", "YesNo" - Option "$SWWM_ALTHUD_TRIMAMMO", "swwm_althud_trimammo", "YesNo" + Option "$SWWM_HUDTRIMAMMO", "swwm_hudtrimammo", "YesNo" Slider "$SWWM_MAXMSG", "swwm_maxshown", 1, 10, 1, 0 Slider "$SWWM_MAXMSGBIG", "swwm_maxshownbig", 1, 20, 1, 0 Slider "$SWWM_MAXPICK", "swwm_maxpickup", 1, 10, 1, 0 diff --git a/zscript.txt b/zscript.txt index 47b68cb9b..389bdc295 100644 --- a/zscript.txt +++ b/zscript.txt @@ -60,7 +60,6 @@ version "4.8.1" #include "zscript/hud/swwm_hud.zsc" #include "zscript/hud/swwm_hudextra.zsc" #include "zscript/hud/swwm_hudobjects.zsc" -#include "zscript/hud/swwm_althud.zsc" // kbase #include "zscript/kbase/swwm_kbase.zsc" #include "zscript/kbase/swwm_kbase_priv.zsc" @@ -124,7 +123,6 @@ version "4.8.1" #include "zscript/weapons/swwm_deathlydeathcannon.zsc" #include "zscript/weapons/swwm_deathlydeathcannon_fx.zsc" #include "zscript/weapons/swwm_weapons_hud.zsc" -#include "zscript/weapons/swwm_weapons_althud.zsc" // monsters #include "zscript/swwm_monsters.zsc" // DLC1 - Weapon Set @@ -150,7 +148,6 @@ version "4.8.1" #include "zscript/dlc1/swwm_ultimate.zsc" #include "zscript/dlc1/swwm_ultimate_fx.zsc" #include "zscript/dlc1/swwm_dlcweapons_hud.zsc" -#include "zscript/dlc1/swwm_dlcweapons_althud.zsc" // DLC2 - Game Set #include "zscript/dlc2/swwm_demoland.zsc" #include "zscript/dlc2/swwm_demoshmup.zsc" diff --git a/zscript/dlc1/swwm_ammoitems_dlc.zsc b/zscript/dlc1/swwm_ammoitems_dlc.zsc index 7533e5aca..fd7c70dac 100644 --- a/zscript/dlc1/swwm_ammoitems_dlc.zsc +++ b/zscript/dlc1/swwm_ammoitems_dlc.zsc @@ -4,14 +4,9 @@ Class SMW05Ammo : SWWMAmmo { Default { - //$Title 1x SMW.05 Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SMW05Ammo.png - //$Icon ammo Tag "$T_SMW05BULLET"; SWWMAmmo.PickupTag "SMW05BULLET"; Stamina 300; - Inventory.Icon "graphics/HUD/Icons/A_SMW05Ammo.png"; Inventory.Amount 1; Inventory.MaxAmount 60; Ammo.BackpackAmount 6; @@ -32,10 +27,6 @@ Class SMW05Ammo2 : SMW05Ammo { Default { - //$Title 2x SMW.05 Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SMW05Ammo.png - //$Icon ammo Inventory.Amount 2; } } @@ -43,10 +34,6 @@ Class SMW05Ammo3 : SMW05Ammo { Default { - //$Title 3x SMW.05 Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SMW05Ammo.png - //$Icon ammo Inventory.Amount 3; } } @@ -54,10 +41,6 @@ Class SMW05SmallAmmo : SMW05Ammo { Default { - //$Title 6x SMW.05 Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SMW05Ammo.png - //$Icon ammo Inventory.Amount 6; } } @@ -65,10 +48,6 @@ Class SMW05BigAmmo : SMW05Ammo { Default { - //$Title 20x SMW.05 Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SMW05Ammo.png - //$Icon ammo Inventory.Amount 20; } } @@ -77,14 +56,9 @@ Class SheenAmmo : SWWMAmmo { Default { - //$Title 1x Sheen Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SheenAmmo.png - //$Icon ammo Tag "$T_SHEENBULLET"; SWWMAmmo.PickupTag "SHEENBULLET"; Stamina 400; - Inventory.Icon "graphics/HUD/Icons/A_SheenAmmo.png"; Inventory.Amount 1; Inventory.MaxAmount 300; Ammo.BackpackAmount 60; @@ -105,10 +79,6 @@ Class SheenAmmo2 : SheenAmmo { Default { - //$Title 2x Sheen Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SheenAmmo.png - //$Icon ammo Inventory.Amount 2; } } @@ -116,10 +86,6 @@ Class SheenAmmo3 : SheenAmmo { Default { - //$Title 3x Sheen Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SheenAmmo.png - //$Icon ammo Inventory.Amount 3; } } @@ -127,10 +93,6 @@ Class SheenTinyAmmo : SheenAmmo { Default { - //$Title 10x Sheen Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SheenAmmo.png - //$Icon ammo Inventory.Amount 10; } } @@ -138,10 +100,6 @@ Class SheenSmallAmmo : SheenAmmo { Default { - //$Title 50x Sheen Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SheenAmmo.png - //$Icon ammo Inventory.Amount 50; } } @@ -149,10 +107,6 @@ Class SheenBigAmmo : SheenAmmo { Default { - //$Title 100x Sheen Bullets - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SheenAmmo.png - //$Icon ammo Inventory.Amount 100; } } @@ -161,14 +115,9 @@ Class QuadravolAmmo : SWWMAmmo { Default { - //$Title Quadravol Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_QuadAmmo.png - //$Icon ammo Tag "$T_QUADAMMO"; SWWMAmmo.PickupTag "QUADAMMO"; Stamina 10000; - Inventory.Icon "graphics/HUD/Icons/A_QuadAmmo.png"; Inventory.Amount 1; Inventory.MaxAmount 5; Ammo.BackpackAmount 2; @@ -189,10 +138,6 @@ Class QuadravolAmmo2 : QuadravolAmmo { Default { - //$Title 2x Quadravol Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_QuadAmmo.png - //$Icon ammo Inventory.Amount 2; } } @@ -200,10 +145,6 @@ Class QuadravolAmmo3 : QuadravolAmmo { Default { - //$Title 3x Quadravol Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_QuadAmmo.png - //$Icon ammo Inventory.Amount 3; } } @@ -212,14 +153,9 @@ Class SparksterBAmmo : SWWMAmmo { Default { - //$Title Sparkster Blue Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SparkBAmmo.png - //$Icon ammo Tag "$T_SPARKBCELL"; SWWMAmmo.PickupTag "SPARKBCELL"; Stamina 16000; - Inventory.Icon "graphics/HUD/Icons/A_SparkBAmmo.png"; Inventory.Amount 1; Inventory.MaxAmount 6; Ammo.BackpackAmount 2; @@ -240,10 +176,6 @@ Class SparksterBAmmo2 : SparksterBAmmo { Default { - //$Title 2x Sparkster Blue Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SparkBAmmo.png - //$Icon ammo Inventory.Amount 2; } } @@ -251,10 +183,6 @@ Class SparksterBAmmo3 : SparksterBAmmo { Default { - //$Title 3x Sparkster Blue Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SparkBAmmo.png - //$Icon ammo Inventory.Amount 3; } } @@ -263,14 +191,9 @@ Class SparksterRAmmo : SWWMAmmo { Default { - //$Title Sparkster Red Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SparkRAmmo.png - //$Icon ammo Tag "$T_SPARKRCELL"; SWWMAmmo.PickupTag "SPARKRCELL"; Stamina 18000; - Inventory.Icon "graphics/HUD/Icons/A_SparkRAmmo.png"; Inventory.Amount 1; Inventory.MaxAmount 6; Ammo.BackpackAmount 2; @@ -291,10 +214,6 @@ Class SparksterRAmmo2 : SparksterRAmmo { Default { - //$Title 2x Sparkster Red Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SparkRAmmo.png - //$Icon ammo Inventory.Amount 2; } } @@ -302,10 +221,6 @@ Class SparksterRAmmo3 : SparksterRAmmo { Default { - //$Title 3x Sparkster Red Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SparkRAmmo.png - //$Icon ammo Inventory.Amount 3; } } @@ -314,14 +229,9 @@ Class RayBolt : MagAmmo { Default { - //$Title Ray-Khom Bolt - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_RayBolt.png - //$Icon ammo Tag "$T_RAYBOLT"; MagAmmo.PickupTag "RAYBOLT"; Stamina -8000; - Inventory.Icon "graphics/HUD/Icons/A_RayBolt.png"; MagAmmo.ParentAmmo "RayAmmo"; MagAmmo.ClipSize 10; Inventory.MaxAmount 10; @@ -339,10 +249,6 @@ Class RayBolt2 : RayBolt { Default { - //$Title 2x Ray-Khom Bolt - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_RayBolt.png - //$Icon ammo Inventory.Amount 2; } } @@ -350,10 +256,6 @@ Class RayBolt5 : RayBolt { Default { - //$Title 5x Ray-Khom Bolt - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_RayBolt.png - //$Icon ammo Inventory.Amount 5; } } @@ -362,14 +264,9 @@ Class RayAmmo : SWWMAmmo { Default { - //$Title Ray-Khom Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_RayAmmo.png - //$Icon ammo Tag "$T_RAYAMMO"; SWWMAmmo.PickupTag "RAYAMMO"; Stamina 90000; - Inventory.Icon "graphics/HUD/Icons/A_RayAmmo.png"; Inventory.Amount 1; Inventory.MaxAmount 3; Ammo.BackpackAmount 0; @@ -392,14 +289,9 @@ Class MisterRound : MagAmmo { Default { - //$Title Mortal Rifle Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRRound.png - //$Icon ammo Tag "$T_MRROUND"; MagAmmo.PickupTag "MRROUND"; Stamina -14000; - Inventory.Icon "graphics/HUD/Icons/A_MRRound.png"; MagAmmo.ParentAmmo "MisterAmmo"; MagAmmo.ClipSize 20; Inventory.MaxAmount 20; @@ -417,10 +309,6 @@ Class MisterRound2 : MisterRound { Default { - //$Title 2x Mortal Rifle Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRRound.png - //$Icon ammo Inventory.Amount 2; } } @@ -428,10 +316,6 @@ Class MisterRound3 : MisterRound { Default { - //$Title 3x Mortal Rifle Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRRound.png - //$Icon ammo Inventory.Amount 3; } } @@ -439,10 +323,6 @@ Class MisterRound5 : MisterRound { Default { - //$Title 5x Mortal Rifle Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRRound.png - //$Icon ammo Inventory.Amount 5; } } @@ -450,10 +330,6 @@ Class MisterRound10 : MisterRound { Default { - //$Title 10x Mortal Rifle Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRRound.png - //$Icon ammo Inventory.Amount 10; } } @@ -462,14 +338,9 @@ Class MisterAmmo : SWWMAmmo { Default { - //$Title Mortal Rifle Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRAmmo.png - //$Icon ammo Tag "$T_MRAMMO"; SWWMAmmo.PickupTag "MRAMMO"; Stamina 150000; - Inventory.Icon "graphics/HUD/Icons/A_MRAmmo.png"; Inventory.Amount 1; Inventory.MaxAmount 2; Ammo.BackpackAmount 0; @@ -492,14 +363,9 @@ Class MisterGAmmo : SWWMAmmo { Default { - //$Title Mortal Rifle Grenade - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRGrenade.png - //$Icon ammo Tag "$T_MRGRENADE"; SWWMAmmo.PickupTag "MRGRENADE"; Stamina 120000; - Inventory.Icon "graphics/HUD/Icons/A_MRGrenade.png"; Inventory.Amount 1; Inventory.MaxAmount 3; Ammo.BackpackAmount 0; @@ -520,10 +386,6 @@ Class MisterGAmmo2 : MisterGAmmo { Default { - //$Title 2x Mortal Rifle Grenades - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRGrenade.png - //$Icon ammo Inventory.Amount 2; } } @@ -531,10 +393,6 @@ Class MisterGAmmo3 : MisterGAmmo { Default { - //$Title 3x Mortal Rifle Grenades - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_MRGrenade.png - //$Icon ammo Inventory.Amount 3; } } @@ -543,15 +401,10 @@ Class UltimatePod : MagAmmo { Default { - //$Title Ultimate Pod - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_UltimatePod.png - //$Icon ammo Tag "$T_ULTIMATEPOD"; MagAmmo.PickupTag "ULTIMATEPOD"; Stamina -400000; Inventory.PickupSound "misc/bullet_pkup_vip"; - Inventory.Icon "graphics/HUD/Icons/A_UltimatePod.png"; MagAmmo.ParentAmmo "UltimateAmmo"; MagAmmo.ClipSize 4; Inventory.MaxAmount 4; @@ -570,15 +423,10 @@ Class UltimateAmmo : SWWMAmmo { Default { - //$Title Ultimate Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_UltimateAmmo.png - //$Icon ammo Tag "$T_ULTIMATEAMMO"; SWWMAmmo.PickupTag "ULTIMATEAMMO"; Inventory.PickupSound "misc/ammo_pkup_vip"; Stamina -2000000; - Inventory.Icon "graphics/HUD/Icons/A_UltimateAmmo.png"; Inventory.Amount 1; Inventory.MaxAmount 1; Ammo.BackpackAmount 0; diff --git a/zscript/dlc1/swwm_blastin.zsc b/zscript/dlc1/swwm_blastin.zsc index 8f6dd8d47..04f7a800a 100644 --- a/zscript/dlc1/swwm_blastin.zsc +++ b/zscript/dlc1/swwm_blastin.zsc @@ -9,16 +9,11 @@ Class PlasmaBlast : SWWMWeapon Default { - //$Title Plasma Blaster - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_PlasmaBlast.png - //$Icon weapon Tag "$T_PLASMABLAST"; Inventory.PickupMessage "$T_PLASMABLAST"; Obituary "$O_PLASMABLAST"; SWWMWeapon.Tooltip "$TT_PLASMABLAST"; SWWMWeapon.GetLine "getplasmablast1"; - Inventory.Icon "graphics/HUD/Icons/W_PlasmaBlast.png"; Weapon.SlotNumber 2; Weapon.SlotPriority 3.; Weapon.SelectionOrder 1100; @@ -48,7 +43,6 @@ Class DualPlasmaBlast : SWWMWeapon Obituary "$O_PLASMABLAST"; SWWMWeapon.Tooltip "$TT_PLASMABLAST2"; SWWMWeapon.GetLine "getplasmablast2"; - Inventory.Icon "graphics/HUD/Icons/W_PlasmaBlast2.png"; Weapon.SlotNumber 2; Weapon.SlotPriority 4.; Weapon.SelectionOrder 1050; diff --git a/zscript/dlc1/swwm_blueballs.zsc b/zscript/dlc1/swwm_blueballs.zsc index 93aea477c..a08ddd253 100644 --- a/zscript/dlc1/swwm_blueballs.zsc +++ b/zscript/dlc1/swwm_blueballs.zsc @@ -10,16 +10,11 @@ Class ModernSparkster : SWWMWeapon Default { - //$Title Sparkster x3 - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_NewSparkster.png - //$Icon weapon Tag "$T_NEWSPARKSTER"; Inventory.PickupMessage "$I_NEWSPARKSTER"; Obituary "$O_NEWSPARKSTER"; SWWMWeapon.Tooltip "$TT_NEWSPARKSTER"; SWWMWeapon.GetLine "getnewsparkster"; - Inventory.Icon "graphics/HUD/Icons/W_NewSparkster.png"; Weapon.SlotNumber 7; Weapon.SlotPriority 2.; Weapon.SelectionOrder 550; diff --git a/zscript/dlc1/swwm_dlcweapons_althud.zsc b/zscript/dlc1/swwm_dlcweapons_althud.zsc deleted file mode 100644 index e4b365f71..000000000 --- a/zscript/dlc1/swwm_dlcweapons_althud.zsc +++ /dev/null @@ -1 +0,0 @@ -// DrawWeaponAlt code for DLC weapons diff --git a/zscript/dlc1/swwm_hammertime.zsc b/zscript/dlc1/swwm_hammertime.zsc index c873c9dfb..28c7d3eb1 100644 --- a/zscript/dlc1/swwm_hammertime.zsc +++ b/zscript/dlc1/swwm_hammertime.zsc @@ -5,16 +5,11 @@ Class ItamexHammer : SWWMWeapon { Default { - //$Title Itamex Hammer - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_ItamexHammer.png - //$Icon weapon Tag "$T_HAMMER"; Inventory.PickupMessage "$I_HAMMER"; Obituary "$O_HAMMER"; SWWMWeapon.Tooltip "$TT_HAMMER"; SWWMWeapon.GetLine "getitamexhammer"; - Inventory.Icon "graphics/HUD/Icons/W_ItamexHammer.png"; Weapon.SlotNumber 1; Weapon.SlotPriority 2.; Weapon.SelectionOrder 1200; diff --git a/zscript/dlc1/swwm_heavymahsheengun.zsc b/zscript/dlc1/swwm_heavymahsheengun.zsc index 6a082d4cb..4590e9966 100644 --- a/zscript/dlc1/swwm_heavymahsheengun.zsc +++ b/zscript/dlc1/swwm_heavymahsheengun.zsc @@ -5,16 +5,11 @@ Class HeavyMahSheenGun : SWWMWeapon { Default { - //$Title Sheen HMG - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_SheenHMG.png - //$Icon weapon Tag "$T_SHEENHMG"; Inventory.PickupMessage "$I_SHEENHMG"; Obituary "$O_SHEENHMG"; SWWMWeapon.Tooltip "$TT_SHEENHMG"; SWWMWeapon.GetLine "getheavymahsheengun"; - Inventory.Icon "graphics/HUD/Icons/W_SheenHMG.png"; Weapon.SlotNumber 5; Weapon.SlotPriority 2.; Weapon.SelectionOrder 100; diff --git a/zscript/dlc1/swwm_mister.zsc b/zscript/dlc1/swwm_mister.zsc index 23ce92023..019969e29 100644 --- a/zscript/dlc1/swwm_mister.zsc +++ b/zscript/dlc1/swwm_mister.zsc @@ -11,16 +11,11 @@ Class MisterRifle : SWWMWeapon Default { - //$Title Mortal Rifle - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_MortalRifle.png - //$Icon weapon Tag "$T_MORTALRIFLE"; Inventory.PickupMessage "$T_MORTALRIFLE"; Obituary "$O_MORTALRIFLE"; SWWMWeapon.Tooltip "$TT_MORTALRIFLE"; SWWMWeapon.GetLine "getmortalrifle"; - Inventory.Icon "graphics/HUD/Icons/W_MortalRifle.png"; Weapon.SlotNumber 9; Weapon.SlotPriority 2.; Weapon.SelectionOrder 750; diff --git a/zscript/dlc1/swwm_notashotgun.zsc b/zscript/dlc1/swwm_notashotgun.zsc index b044231ea..e4b93f3e3 100644 --- a/zscript/dlc1/swwm_notashotgun.zsc +++ b/zscript/dlc1/swwm_notashotgun.zsc @@ -11,16 +11,11 @@ Class Quadravol : SWWMWeapon Default { - //$Title Quadravol - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_Quadravol.png - //$Icon weapon Tag "$T_QUADRAVOL"; Inventory.PickupMessage "$I_QUADRAVOL"; Obituary "$O_QUADRAVOL"; SWWMWeapon.Tooltip "$TT_QUADRAVOL"; SWWMWeapon.GetLine "getquadravol"; - Inventory.Icon "graphics/HUD/Icons/W_Quadravol.png"; Weapon.SlotNumber 6; Weapon.SlotPriority 2.; Weapon.SelectionOrder 650; diff --git a/zscript/dlc1/swwm_rebolber.zsc b/zscript/dlc1/swwm_rebolber.zsc index ca624051a..18225fc44 100644 --- a/zscript/dlc1/swwm_rebolber.zsc +++ b/zscript/dlc1/swwm_rebolber.zsc @@ -9,16 +9,11 @@ Class PuntzerBeta : SWWMWeapon Default { - //$Title Puntzer Beta - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_PuntzerBeta.png - //$Icon weapon Tag "$T_PUNTZERBETA"; Inventory.PickupMessage "$I_PUNTZERBETA"; Obituary "$O_PUNTZERBETA"; SWWMWeapon.Tooltip "$TT_PUNTZERBETA"; SWWMWeapon.GetLine "getpuntzerbeta"; - Inventory.Icon "graphics/HUD/Icons/W_PuntzerBeta.png"; Weapon.SlotNumber 3; Weapon.SlotPriority 2.; Weapon.SelectionOrder 450; diff --git a/zscript/dlc1/swwm_supermarioworld.zsc b/zscript/dlc1/swwm_supermarioworld.zsc index 4e9361691..404d5f8c6 100644 --- a/zscript/dlc1/swwm_supermarioworld.zsc +++ b/zscript/dlc1/swwm_supermarioworld.zsc @@ -10,16 +10,11 @@ Class PuntzerGamma : SWWMWeapon Default { - //$Title Puntzer Gamma - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_PuntzerGamma.png - //$Icon weapon Tag "$T_PUNTZERGAMMA"; Inventory.PickupMessage "$I_PUNTZERGAMMA"; Obituary "$O_PUNTZERGAMMA"; SWWMWeapon.Tooltip "$TT_PUNTZERGAMMA"; SWWMWeapon.GetLine "getpuntzergamma"; - Inventory.Icon "graphics/HUD/Icons/W_PuntzerGamma.png"; Weapon.SlotNumber 4; Weapon.SlotPriority 2.; Weapon.SelectionOrder 200; diff --git a/zscript/dlc1/swwm_thiccbolts.zsc b/zscript/dlc1/swwm_thiccbolts.zsc index 1891c2586..d47bf6e9a 100644 --- a/zscript/dlc1/swwm_thiccbolts.zsc +++ b/zscript/dlc1/swwm_thiccbolts.zsc @@ -11,16 +11,11 @@ Class RayKhom : SWWMWeapon Default { - //$Title Ray-Khom - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_RayKhom.png - //$Icon weapon Tag "$T_RAYKHOM"; Inventory.PickupMessage "$T_RAYKHOM"; Obituary "$O_RAYKHOM"; SWWMWeapon.Tooltip "$TT_RAYKHOM"; SWWMWeapon.GetLine "getraykhom"; - Inventory.Icon "graphics/HUD/Icons/W_RayKhom.png"; Weapon.SlotNumber 8; Weapon.SlotPriority 2.; Weapon.SelectionOrder 850; diff --git a/zscript/dlc1/swwm_ultimate.zsc b/zscript/dlc1/swwm_ultimate.zsc index 7c175231a..4e1568047 100644 --- a/zscript/dlc1/swwm_ultimate.zsc +++ b/zscript/dlc1/swwm_ultimate.zsc @@ -11,17 +11,12 @@ Class RafanKos : SWWMWeapon Default { - //$Title Rafan-Kos - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_RafanKos.png - //$Icon weapon Tag "$T_RAFANKOS"; Inventory.PickupMessage "$T_RAFANKOS"; Inventory.PickupSound "misc/w_pkup_vip"; Obituary "$O_RAFANKOS"; SWWMWeapon.Tooltip "$TT_RAFANKOS"; SWWMWeapon.GetLine "getrafankos"; - Inventory.Icon "graphics/HUD/Icons/W_RafanKos.png"; Weapon.SlotNumber 0; Weapon.SlotPriority 2.; Weapon.SelectionOrder 8000; diff --git a/zscript/hud/swwm_althud.zsc b/zscript/hud/swwm_althud.zsc deleted file mode 100644 index 9040c457c..000000000 --- a/zscript/hud/swwm_althud.zsc +++ /dev/null @@ -1,790 +0,0 @@ -// Alternate, more compact hud with full ammo listing - -Class KeyGet -{ - Class got; - int flashtime; -} - -Enum EMiniHUDFontColor -{ - MCR_DEMOHUD, - MCR_IBUKIHUD, - MCR_SAYAHUD, - MCR_KIRINHUD, - MCR_MARISAHUD, - MCR_VOIDHUD, - MCR_WHITE, - MCR_RED, - MCR_GREEN, - MCR_BLUE, - MCR_YELLOW, - MCR_CYAN, - MCR_PURPLE, - MCR_BRASS, - MCR_SILVER, - MCR_GOLD, - MCR_MANA, - MCR_CRIMSON, - MCR_ELDRITCH, - MCR_KINYLUM, - MCR_NOKRON, - MCR_NOKOROKINYLUM, - MCR_DEMOBLUE, - MCR_DEMOPINK, - MCR_FLASH, - MCR_REDFLASH, - NUM_MINIHUD_COLOR -}; - -extend Class SWWMStatusBar -{ - TextureID AltStatusTex, AltWeaponTex, AltScoreTex, AltHealthTex[9], - AltFuelTex[2], AltDashTex, AltGenericAmmoTex[3], AltAmmoTex[3]; - Font MiniHUDFont, MiniHUDFontOutline; - int mhudfontcol[NUM_MINIHUD_COLOR]; - - int PulsePhase; // for health pulsing - - // for flashing some elements in the hud - Array keyflash; - int oldkills, olditems, oldsecrets; - int oldtkills, oldtitems, oldtsecrets; - int killflash, itemflash, secretflash; - int tkillflash, titemflash, tsecretflash; - - // top stuff colors - int tclabel, tcvalue, tcextra, tccompl, tcsucks; - String tclabel_s, tcextra_s; - - int AmmoFlash[26]; // flash when new ammo is received - int AmmoOldAmounts[26]; // to detect when to flash - int AmmoMaxFlash[26]; // flash when ammo max amount changes - int AmmoOldMaxAmounts[26]; // to detect when to flash - Class AmmoSlots[26]; // ammo type on each slot - String AmmoNames[26]; // ammo 4-letter names - int HealthFlash; // flash when healing - int LastHealth; // to detect when to flash - int LagHealth[10]; // for delayed decay bar - - SmoothDynamicValueInterpolator AltHealthInter, AltFuelInter, AltDashInter; - SmoothLinearValueInterpolator LagHealthInter; - - void Alt_FlushInterpolators() - { - int hp = CPlayer.Health; - AltHealthInter.Reset(hp); - for ( int i=9; i>0; i-- ) - LagHealth[i] = hp; - LagHealthInter.Reset(hp); - let d = Demolitionist(CPlayer.mo); - if ( d ) - { - AltFuelInter.Reset(d.dashfuel/2); - AltDashInter.Reset((40-d.dashcooldown)*3); - } - else - { - AltFuelInter.Reset(0); - AltDashInter.Reset(0); - } - } - - void Alt_UpdateInterpolators() - { - int hp = CPlayer.Health; - AltHealthInter.Update(hp); - // flash 'em - if ( hp > LastHealth ) HealthFlash = gametic+25; - // lag - if ( hp > LastHealth ) - { - for ( int i=9; i>0; i-- ) - LagHealth[i] = hp; - } - LagHealth[0] = LastHealth = hp; - LagHealthInter.Update(LagHealth[9]); - for ( int i=9; i>0; i-- ) - LagHealth[i] = LagHealth[i-1]; - // ammo updates - for ( int i=0; i<26; i++ ) - { - let a = SWWMAmmo(CPlayer.mo.FindInventory(AmmoSlots[i])); - int amt = 0; - int maxamt = 0; - if ( a ) - { - amt = a.Amount; - maxamt = a.MaxAmount; - if ( a.MagAmmoType ) - { - let m = MagAmmo(CPlayer.mo.FindInventory(a.MagAmmoType)); - if ( m ) - { - amt *= m.ClipSize; - amt += m.Amount; - maxamt *= m.ClipSize; - } - } - } - else - { - let a = GetDefaultByType(AmmoSlots[i]); - maxamt = a.MaxAmount; - if ( a.MagAmmoType ) - { - let m = GetDefaultByType(a.MagAmmoType); - maxamt *= m.ClipSize; - } - } - if ( (amt > AmmoOldAmounts[i]) && (AmmoOldAmounts[i] != int.min) ) - AmmoFlash[i] = gametic+25; - AmmoOldAmounts[i] = amt; - if ( (maxamt > AmmoOldMaxAmounts[i]) && (AmmoOldMaxAmounts[i] != int.min) ) - AmmoMaxFlash[i] = gametic+25; - AmmoOldMaxAmounts[i] = maxamt; - } - } - - void Alt_Tick() - { - let d = Demolitionist(CPlayer.mo); - if ( d ) - { - AltFuelInter.Update(d.dashfuel/2); - AltDashInter.Update((40-d.dashcooldown)*3); - } - else - { - AltFuelInter.Update(0); - AltDashInter.Update(0); - } - // stats flashing - if ( level.killed_monsters > oldkills ) - { - oldkills = level.killed_monsters; - killflash = gametic+25; - } - if ( level.found_items > olditems ) - { - olditems = level.found_items; - itemflash = gametic+25; - } - if ( level.found_secrets > oldsecrets ) - { - oldsecrets = level.found_secrets; - secretflash = gametic+25; - } - if ( level.total_monsters > oldtkills ) - { - oldtkills = level.total_monsters; - tkillflash = gametic+25; - } - if ( level.total_items > oldtitems ) - { - oldtitems = level.total_items; - titemflash = gametic+25; - } - if ( level.total_secrets > oldtsecrets ) - { - oldtsecrets = level.total_secrets; - tsecretflash = gametic+25; - } - // purge expired key flashes - for ( int i=0; i= gametic ) continue; - keyflash.Delete(i--); - } - // low health pulsing - if ( (CPlayer.health <= 0) || (CPlayer.health > 25) ) - { - PulsePhase = 0; - return; - } - PulsePhase--; - if ( (PulsePhase < 0) || (PulsePhase > CPlayer.health*2+25) ) - PulsePhase = CPlayer.health*2+25; - } - - // hello??? why is this function clearscope??? - override void ReceivedWeapon( Weapon weapn ) - { - Super.ReceivedWeapon(weapn); - int dummy, slot; - [dummy, slot] = players[consoleplayer].weapons.LocateWeapon(weapn.GetClass()); - EventHandler.SendNetworkEvent("swwmweaponreceive",slot,consoleplayer); - } - - void Alt_Init() - { - AltStatusTex = TexMan.CheckForTexture("graphics/AltHUD/StatusBox.png",TexMan.Type_Any); - AltWeaponTex = TexMan.CheckForTexture("graphics/AltHUD/WeaponBox.png",TexMan.Type_Any); - AltScoreTex = TexMan.CheckForTexture("graphics/AltHUD/ScoreBox.png",TexMan.Type_Any); - AltHealthTex[0] = TexMan.CheckForTexture("graphics/AltHUD/HealthBar0.png",TexMan.Type_Any); - AltHealthTex[1] = TexMan.CheckForTexture("graphics/AltHUD/HealthBar1.png",TexMan.Type_Any); - AltHealthTex[2] = TexMan.CheckForTexture("graphics/AltHUD/HealthBar2.png",TexMan.Type_Any); - AltHealthTex[3] = TexMan.CheckForTexture("graphics/AltHUD/HealthBar3.png",TexMan.Type_Any); - AltHealthTex[4] = TexMan.CheckForTexture("graphics/AltHUD/HealthBarS.png",TexMan.Type_Any); - AltHealthTex[5] = TexMan.CheckForTexture("graphics/AltHUD/HealthBarD.png",TexMan.Type_Any); - AltHealthTex[6] = TexMan.CheckForTexture("graphics/AltHUD/HealthBarP.png",TexMan.Type_Any); - AltHealthTex[7] = TexMan.CheckForTexture("graphics/AltHUD/HealthBarF.png",TexMan.Type_Any); - AltHealthTex[8] = TexMan.CheckForTexture("graphics/AltHUD/HealthBarL.png",TexMan.Type_Any); - AltFuelTex[0] = TexMan.CheckForTexture("graphics/AltHUD/FuelBar.png",TexMan.Type_Any); - AltFuelTex[1] = TexMan.CheckForTexture("graphics/AltHUD/FuelBarS.png",TexMan.Type_Any); - AltDashTex = TexMan.CheckForTexture("graphics/AltHUD/DashBar.png",TexMan.Type_Any); - AltGenericAmmoTex[0] = TexMan.CheckForTexture("graphics/AltHUD/GenericAmmoBoxL.png",TexMan.Type_Any); - AltGenericAmmoTex[1] = TexMan.CheckForTexture("graphics/AltHUD/GenericAmmoBoxM.png",TexMan.Type_Any); - AltGenericAmmoTex[2] = TexMan.CheckForTexture("graphics/AltHUD/GenericAmmoBoxR.png",TexMan.Type_Any); - AltAmmoTex[0] = TexMan.CheckForTexture("graphics/AltHUD/AmmoBoxT.png",TexMan.Type_Any); - AltAmmoTex[1] = TexMan.CheckForTexture("graphics/AltHUD/AmmoBoxM.png",TexMan.Type_Any); - AltAmmoTex[2] = TexMan.CheckForTexture("graphics/AltHUD/AmmoBoxB.png",TexMan.Type_Any); - MiniHudFont = Font.GetFont("MiniHUDShadow"); - MiniHudFontOutline = Font.GetFont("MiniHUDOutline"); - mhudfontcol[MCR_DEMOHUD] = Font.FindFontColor("MiniDemoHUD"); - mhudfontcol[MCR_IBUKIHUD] = Font.FindFontColor("MiniIbukiHUD"); - mhudfontcol[MCR_SAYAHUD] = Font.FindFontColor("MiniSayaHUD"); - mhudfontcol[MCR_KIRINHUD] = Font.FindFontColor("MiniKirinHUD"); - mhudfontcol[MCR_MARISAHUD] = Font.FindFontColor("MiniMarisaHUD"); - mhudfontcol[MCR_VOIDHUD] = Font.FindFontColor("MiniVoidHUD"); - mhudfontcol[MCR_WHITE] = Font.FindFontColor("MiniWhite"); - mhudfontcol[MCR_RED] = Font.FindFontColor("MiniRed"); - mhudfontcol[MCR_GREEN] = Font.FindFontColor("MiniGreen"); - mhudfontcol[MCR_BLUE] = Font.FindFontColor("MiniBlue"); - mhudfontcol[MCR_YELLOW] = Font.FindFontColor("MiniYellow"); - mhudfontcol[MCR_CYAN] = Font.FindFontColor("MiniCyan"); - mhudfontcol[MCR_PURPLE] = Font.FindFontColor("MiniPurple"); - mhudfontcol[MCR_BRASS] = Font.FindFontColor("MiniBrass"); - mhudfontcol[MCR_SILVER] = Font.FindFontColor("MiniSilver"); - mhudfontcol[MCR_GOLD] = Font.FindFontColor("MiniGold"); - mhudfontcol[MCR_MANA] = Font.FindFontColor("MiniMana"); - mhudfontcol[MCR_CRIMSON] = Font.FindFontColor("MiniCrimson"); - mhudfontcol[MCR_ELDRITCH] = Font.FindFontColor("MiniEldritch"); - mhudfontcol[MCR_KINYLUM] = Font.FindFontColor("MiniKinylum"); - mhudfontcol[MCR_NOKRON] = Font.FindFontColor("MiniNokron"); - mhudfontcol[MCR_NOKOROKINYLUM] = Font.FindFontColor("MiniNokorokinylum"); - mhudfontcol[MCR_DEMOBLUE] = Font.FindFontColor("MiniDemoBlue"); - mhudfontcol[MCR_DEMOPINK] = Font.FindFontColor("MiniDemoPink"); - mhudfontcol[MCR_FLASH] = Font.FindFontColor("MiniFlash"); - mhudfontcol[MCR_REDFLASH] = Font.FindFontColor("MiniRedFlash"); - tclabel = mhudfontcol[MCR_BRASS]; - tcvalue = mhudfontcol[MCR_WHITE]; - tcextra = mhudfontcol[MCR_IBUKIHUD]; - tccompl = mhudfontcol[MCR_YELLOW]; - tcsucks = mhudfontcol[MCR_RED]; - tclabel_s = "[MiniBrass]"; - tcextra_s = "[MiniIbukiHUD]"; - LastHealth = CPlayer?CPlayer.health:100; - let d = Demolitionist(CPlayer?CPlayer.mo:null); - AltHealthInter = SmoothDynamicValueInterpolator.Create(LastHealth,.5,1,100); - AltFuelInter = SmoothDynamicValueInterpolator.Create(d?(d.dashfuel/2):120,.5,1,120); - AltDashInter = SmoothDynamicValueInterpolator.Create(d?((40-d.dashcooldown)*3):40,.5,1,40); - LagHealthInter = SmoothLinearValueInterpolator.Create(LastHealth,2); - for ( int i=0; i<10; i++ ) LagHealth[i] = LastHealth; - AmmoSlots[0] = 'RedShell'; - AmmoSlots[1] = 'GreenShell'; - AmmoSlots[2] = 'BlueShell'; - AmmoSlots[3] = 'PurpleShell'; - AmmoSlots[4] = 'BlackShell'; - AmmoSlots[5] = 'GoldShell'; - AmmoSlots[6] = 'SMW05Ammo'; - AmmoSlots[7] = 'EvisceratorShell'; - AmmoSlots[8] = 'SheenAmmo'; - AmmoSlots[9] = 'HellblazerMissiles'; - AmmoSlots[10] = 'HellblazerCrackshots'; - AmmoSlots[11] = 'HellblazerRavagers'; - AmmoSlots[12] = 'HellblazerWarheads'; - AmmoSlots[13] = 'QuadravolAmmo'; - AmmoSlots[14] = 'SparkUnit'; - AmmoSlots[15] = 'SparksterBAmmo'; - AmmoSlots[16] = 'SparksterRAmmo'; - AmmoSlots[17] = 'SilverBulletAmmo'; - AmmoSlots[18] = 'SilverBulletAmmo2'; - AmmoSlots[19] = 'RayAmmo'; - AmmoSlots[20] = 'CandyGunAmmo'; - AmmoSlots[21] = 'CandyGunSpares'; - AmmoSlots[22] = 'MisterAmmo'; - AmmoSlots[23] = 'MisterGAmmo'; - AmmoSlots[24] = 'YnykronAmmo'; - AmmoSlots[25] = 'UltimateAmmo'; - AmmoNames[0] = "SHOT"; - AmmoNames[1] = "SLUG"; - AmmoNames[2] = "SALT"; - AmmoNames[3] = "BALL"; - AmmoNames[4] = "FLCH"; - AmmoNames[5] = "GOLD"; - AmmoNames[6] = "SCRW"; - AmmoNames[7] = "FLAK"; - AmmoNames[8] = "MACH"; - AmmoNames[9] = "RCKT"; - AmmoNames[10] = "CLUS"; - AmmoNames[11] = "RAVG"; - AmmoNames[12] = "WARH"; - AmmoNames[13] = "QUAD"; - AmmoNames[14] = "BSPK"; - AmmoNames[15] = "KINY"; - AmmoNames[16] = "NOKR"; - AmmoNames[17] = "RIFL"; - AmmoNames[18] = "CHOD"; - AmmoNames[19] = "BOLT"; - AmmoNames[20] = "CAND"; - AmmoNames[21] = "CGUN"; - AmmoNames[22] = "MSTR"; - AmmoNames[23] = "MGRN"; - AmmoNames[24] = "CRYS"; - AmmoNames[25] = "ULTI"; - for ( int i=0; i<26; i++ ) - { - AmmoFlash[i] = 0; - AmmoOldAmounts[i] = int.min; - AmmoMaxFlash[i] = 0; - AmmoOldMaxAmounts[i] = int.min; - } - } - - void Alt_DrawTopStuff() - { - int xx, yy = margin; - if ( !automapactive && swwm_mm_enable ) - yy += ((HALFMAPSIZE+2)*2)+5; - // draw stats and timer when automap is open - int fstats = swwm_forcestats; - if ( automapactive || (fstats > 0) ) - { - xx = int(ss.x-(margin+2)); - String str; - if ( automapactive || (fstats > 1) ) - { - int label = am_showmaplabel; - String ln = level.levelname; - int iof = ln.IndexOf(" - by: "); - if ( iof != -1 ) ln.Truncate(iof); - if ( !label || ((level.clusterflags&level.CLUSTER_HUB) && (label == 2)) ) str = ln; - else str = String.Format("%s - %s",level.mapname.MakeUpper(),ln); - Screen.DrawText(mBigFont,tclabel,xx-mBigFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += mBigFont.GetHeight()+4; - } - if ( (level.total_monsters > 0) && am_showmonsters && !deathmatch ) - { - str = String.Format("\c"..tclabel_s.."K \c-%d\c"..tcextra_s.."/\c-%d",level.killed_monsters,level.total_monsters); - Screen.DrawText(MiniHUDFontOutline,(level.killed_monsters>=level.total_monsters)?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( killflash && (gametic < killflash) ) - { - double alph = max((killflash-(gametic+FracTic))/25.,0.)**1.5; - str = String.Format("%d/%d",level.killed_monsters,level.total_monsters); - int slashpos = str.IndexOf("/"); - Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str.Left(slashpos),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - } - if ( tkillflash && (gametic < tkillflash) ) - { - double alph = max((tkillflash-(gametic+FracTic))/25.,0.)**1.5; - str = String.Format("%d",level.total_monsters); - Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - } - yy += MiniHUDFontOutline.GetHeight()+2; - } - if ( (level.total_items > 0) && am_showitems && !deathmatch ) - { - str = String.Format("\c"..tclabel_s.."I \c-%d\c"..tcextra_s.."/\c-%d",level.found_items,level.total_items); - Screen.DrawText(MiniHUDFontOutline,(level.found_items>=level.total_items)?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( itemflash && (gametic < itemflash) ) - { - double alph = max((itemflash-(gametic+FracTic))/25.,0.)**1.5; - str = String.Format("%d/%d",level.found_items,level.total_items); - int slashpos = str.IndexOf("/"); - Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str.Left(slashpos),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - } - if ( titemflash && (gametic < titemflash) ) - { - double alph = max((titemflash-(gametic+FracTic))/25.,0.)**1.5; - str = String.Format("%d",level.total_items); - Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - } - yy += MiniHUDFontOutline.GetHeight()+2; - } - if ( (level.total_secrets > 0) && am_showsecrets && !deathmatch ) - { - str = String.Format("\c"..tclabel_s.."S \c-%d\c"..tcextra_s.."/\c-%d",level.found_secrets,level.total_secrets); - Screen.DrawText(MiniHUDFontOutline,(level.found_secrets>=level.total_secrets)?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( secretflash && (gametic < secretflash) ) - { - double alph = max((secretflash-(gametic+FracTic))/25.,0.)**1.5; - str = String.Format("%d/%d",level.found_secrets,level.total_secrets); - int slashpos = str.IndexOf("/"); - Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str.Left(slashpos),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - } - if ( tsecretflash && (gametic < tsecretflash) ) - { - double alph = max((tsecretflash-(gametic+FracTic))/25.,0.)**1.5; - str = String.Format("%d",level.total_secrets); - Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - } - yy += MiniHUDFontOutline.GetHeight()+2; - } - int sec; - if ( am_showtime ) - { - sec = Thinker.Tics2Seconds(level.maptime); - str = String.Format("\c"..tclabel_s.."T \c-%02d\c"..tcextra_s..":\c-%02d\c"..tcextra_s..":\c-%02d",sec/3600,(sec%3600)/60,sec%60); - Screen.DrawText(MiniHUDFontOutline,((level.sucktime>0)&&(sec>=(level.sucktime*3600)))?tcsucks:((level.partime>0)&&(sec<=level.partime))?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += MiniHUDFontOutline.GetHeight()+2; - } - // don't show total time if it's equal to map time - if ( am_showtotaltime && (level.totaltime != level.maptime) ) - { - sec = Thinker.Tics2Seconds(level.totaltime); - str = String.Format("\c"..tclabel_s.."TT \c-%02d\c"..tcextra_s..":\c-%02d\c"..tcextra_s..":\c-%02d",sec/3600,(sec%3600)/60,sec%60); - Screen.DrawText(MiniHUDFontOutline,tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += MiniHUDFontOutline.GetHeight()+2; - } - yy += 3; - } - // draw key icons - Vector2 keypos = (ss.x-(margin+2),yy); - int colc = 0; - double colh = 0; - int n = Key.GetKeyTypeCount(); - Array klist; - for ( int i=0; i= keyflash[j].flashtime) ) continue; - double alph = max((keyflash[j].flashtime-(gametic+FracTic))/25.,0.)**1.5; - Screen.DrawTexture(icon,false,keypos.x-siz.x,keypos.y,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_TopLeft,true,DTA_ColorOverlay,0xFFFFC040,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - break; - } - keypos.x -= siz.x+2; - colh = max(colh,siz.y); - if ( ++colc == maxcolc ) - { - keypos.x = ss.x-(margin+2); - keypos.y += colh+2; - colh = colc = 0; - } - } - } - - void Alt_DrawWeapons() - { - Screen.DrawTexture(AltWeaponTex,false,ss.x-(margin+80),ss.y-(margin+10),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - double xx = ss.x-(margin+78), yy = ss.y-(margin+8); - for ( int i=1; i<=10; i++,xx+=8 ) - { - int ncolor = mhudfontcol[MCR_WHITE]; - if ( !CPlayer.HasWeaponsInSlot(i%10) ) - { - Screen.DrawText(MiniHUDFont,ncolor,xx,yy,String.Format("%d",(i%10)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(128,0,0,0)); - continue; - } - bool selected = false; - bool dummy; - int slot; - SWWMGesture hasgesture = null; - SWWMItemGesture hasitemgesture = null; - if ( CPlayer.PendingWeapon is 'SWWMGesture' ) hasgesture = SWWMGesture(CPlayer.PendingWeapon); - else if ( CPlayer.ReadyWeapon is 'SWWMGesture' ) hasgesture = SWWMGesture(CPlayer.ReadyWeapon); - if ( CPlayer.PendingWeapon is 'SWWMItemGesture' ) hasitemgesture = SWWMItemGesture(CPlayer.PendingWeapon); - else if ( CPlayer.ReadyWeapon is 'SWWMItemGesture' ) hasitemgesture = SWWMItemGesture(CPlayer.ReadyWeapon); - if ( hasgesture && hasgesture.formerweapon ) - { - [dummy, slot] = CPlayer.weapons.LocateWeapon(hasgesture.formerweapon.GetClass()); - if ( slot == (i%10) ) selected = true; - } - else if ( hasitemgesture && hasitemgesture.gest.formerweapon ) - { - [dummy, slot] = CPlayer.weapons.LocateWeapon(hasitemgesture.gest.formerweapon.GetClass()); - if ( slot == (i%10) ) selected = true; - } - else if ( CPlayer.PendingWeapon && (CPlayer.PendingWeapon != WP_NOCHANGE) ) - { - [dummy, slot] = CPlayer.weapons.LocateWeapon(CPlayer.PendingWeapon.GetClass()); - if ( slot == (i%10) ) selected = true; - } - else if ( (!CPlayer.PendingWeapon || (CPlayer.PendingWeapon == WP_NOCHANGE)) && CPlayer.ReadyWeapon ) - { - [dummy, slot] = CPlayer.weapons.LocateWeapon(CPlayer.ReadyWeapon.GetClass()); - if ( slot == (i%10) ) selected = true; - } - if ( selected ) ncolor = mhudfontcol[MCR_BRASS]; - else - { - bool hasammo = (i==1); - for ( Inventory inv=CPlayer.mo.Inv; inv; inv=inv.Inv ) - { - if ( inv is 'Weapon' ) [dummy, slot] = CPlayer.weapons.LocateWeapon(Weapon(inv).GetClass()); - else continue; - if ( slot != (i%10) ) continue; - // CheckAmmo can't be called from ui, so we have to improvise - // for SWWM weapons I made a function for this at least - if ( (inv is 'SWWMWeapon') && SWWMWeapon(inv).ReportHUDAmmo() ) - hasammo = true; - else if ( !(inv is 'SWWMWeapon') && ((!Weapon(inv).Ammo1 || (Weapon(inv).Ammo1.Amount > 0) || Weapon(inv).bAMMO_OPTIONAL) || (Weapon(inv).Ammo2 && ((Weapon(inv).Ammo2.Amount > 0) || Weapon(inv).bALT_AMMO_OPTIONAL))) ) - hasammo = true; - } - if ( !hasammo ) ncolor = mhudfontcol[MCR_RED]; - } - Screen.DrawText(MiniHUDFont,ncolor,xx,yy,String.Format("%d",(i%10)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - int f = hnd.WeaponFlash[i%10]; - if ( f && (gametic < f) ) - { - double alph = max((f-(gametic+FracTic))/25.,0.)**1.5; - Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],xx,yy,String.Format("%d",(i%10)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add); - } - } - xx = ss.x-(margin+54); - yy = ss.y-(margin+14); - bool bDrewAmmo = false; - bool checkowned = swwm_althud_trimammo; - Array OwnedWeapons; - if ( checkowned ) for ( Inventory i=CPlayer.mo.inv; i; i=i.inv ) - { - if ( !(i is 'SWWMWeapon') ) continue; - OwnedWeapons.Push(SWWMWeapon(i)); - } - String str; - for ( int i=25; i>=0; i-- ) - { - let a = AmmoSlots[i]; - // check if owned - if ( checkowned ) - { - bool owned = false; - for ( int j=0; j0)?scol:mhudfontcol[MCR_RED]; - int dcnt1 = 2-int(Log10(clamp(amt,1,999))); - int dcnt2 = 2-int(Log10(clamp(amax,1,999))); - for ( int j=0; j 500 ) hcolor = MCR_YELLOW; - else if ( round(ht) > 200 ) hcolor = MCR_PURPLE; - else if ( round(ht) > 100 ) hcolor = MCR_CYAN; - if ( isInvulnerable() || CPlayer.mo.FindInventory("InvinciballPower") ) - { - Screen.DrawTexture(AltHealthTex[0],false,margin+3,ss.y-(margin+19),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_ColorOverlay,Color(255,0,0,0)); - Screen.DrawTexture(AltHealthTex[4],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); - hcolor = MCR_WHITE; - } - else - { - Screen.DrawTexture(AltHealthTex[0],false,margin+3,ss.y-(margin+19),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_ColorOverlay,Color(255,0,0,0)); - Screen.DrawTexture(AltHealthTex[0],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); - if ( ht > 100 ) - { - hw = min(ht-100,100); - Screen.DrawTexture(AltHealthTex[1],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); - } - if ( ht > 200 ) - { - hw = min(ht-200,300)/3.; - Screen.DrawTexture(AltHealthTex[2],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); - } - if ( ht > 500 ) - { - hw = min(ht-500,500)/5.; - Screen.DrawTexture(AltHealthTex[3],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); - } - } - if ( CPlayer.mo.FindInventory("DivineSpriteEffect") ) - { - double falph = clamp((ht-1000)/6000.,0.,1.); - Screen.DrawTexture(AltHealthTex[5],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,falph,DTA_LegacyRenderStyle,STYLE_Add); - String tst; - double alph = .1; - int trl = 9; - for ( double alph = .1; alph <= .5; alph += .1 ) - { - tst = "AAA"; - SWWMUtility.ObscureText(tst,(gametic-trl)/3,true); - trl--; - Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_WHITE],margin+107,ss.y-(margin+20),tst,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,falph*alph,DTA_LegacyRenderStyle,STYLE_Add); - } - Screen.DrawText(MiniHUDFont,mhudfontcol[hcolor],margin+107,ss.y-(margin+20),String.Format("%3d",clamp(round(ht),0,999)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,1.-falph); - } - else - { - Screen.DrawText(MiniHUDFont,mhudfontcol[hcolor],margin+107,ss.y-(margin+20),String.Format("%3d",clamp(round(ht),0,999)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - int f = HealthFlash; - if ( f && (gametic < f) ) - { - double alph = max((f-(gametic+FracTic))/25.,0.)**1.5; - Screen.DrawTexture(AltHealthTex[7],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,bhw,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],margin+107,ss.y-(margin+20),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); - } - if ( (CPlayer.health > 0) && (CPlayer.health <= 25) && (PulsePhase <= 15) ) - { - double alph = clamp(sin((PulsePhase-FracTic)*12.),0.,1.); - Screen.DrawTexture(AltHealthTex[6],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_Alpha,alph); - Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_REDFLASH],margin+107,ss.y-(margin+20),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph); - } - ht = clamp(LagHealthInter.GetValue(fractic),0,1000); - double hwl = min(ht,100); - if ( hwl > bhw ) - { - Screen.DrawTexture(AltHealthTex[8],false,margin+3,ss.y-(margin+19),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,bhw,DTA_WindowRightF,hwl,DTA_ColorOverlay,Color(255,0,0,0)); - Screen.DrawTexture(AltHealthTex[8],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,bhw,DTA_WindowRightF,hwl); - } - } - double ft = clamp(AltFuelInter.GetValue(fractic),0,120); - Screen.DrawTexture(AltFuelTex[swwm_superfuel],false,margin+3,ss.y-(margin+7),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,ft,DTA_ColorOverlay,Color(255,0,0,0)); - Screen.DrawTexture(AltFuelTex[swwm_superfuel],false,margin+2,ss.y-(margin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,ft); - let d = Demolitionist(CPlayer.mo); - bool blink = (!d || (d.dashfuel > 20) || ((gametic%10) < 5)); - double dt = clamp(AltDashInter.GetValue(fractic),0,120); - Screen.DrawTexture(AltDashTex,false,margin+3,ss.y-(margin+4),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,dt,DTA_ColorOverlay,Color(255,0,0,0)); - Screen.DrawTexture(AltDashTex,false,margin+2,ss.y-(margin+5),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,dt,DTA_ColorOverlay,Color(blink?0:96,0,0,0)); - } -} diff --git a/zscript/hud/swwm_hud.zsc b/zscript/hud/swwm_hud.zsc index 8cdb0c7bd..194955f1e 100644 --- a/zscript/hud/swwm_hud.zsc +++ b/zscript/hud/swwm_hud.zsc @@ -28,13 +28,51 @@ Class MsgLine } } +Class KeyGet +{ + Class got; + int flashtime; +} + +Enum EMiniHUDFontColor +{ + MCR_DEMOHUD, + MCR_IBUKIHUD, + MCR_SAYAHUD, + MCR_KIRINHUD, + MCR_MARISAHUD, + MCR_VOIDHUD, + MCR_WHITE, + MCR_RED, + MCR_GREEN, + MCR_BLUE, + MCR_YELLOW, + MCR_CYAN, + MCR_PURPLE, + MCR_BRASS, + MCR_SILVER, + MCR_GOLD, + MCR_MANA, + MCR_CRIMSON, + MCR_ELDRITCH, + MCR_KINYLUM, + MCR_NOKRON, + MCR_NOKOROKINYLUM, + MCR_DEMOBLUE, + MCR_DEMOPINK, + MCR_FLASH, + MCR_REDFLASH, + NUM_MINIHUD_COLOR +}; + Class SWWMStatusBar : BaseStatusBar { TextureID StatusTex, WeaponTex, ScoreTex, InventoryTex, ChatTex[6], - HealthTex[6], FuelTex[2], DashTex, EnemyBTex, EnemyHTex[6], - GenericAmmoTex[3], MiniBox, bgtex; + HealthTex[9], FuelTex[2], DashTex, EnemyBTex, EnemyHTex[6], + GenericAmmoTex[3], AmmoTex[3], MiniBox, bgtex; - Font mSmallFont, mBigFont, mTinyFont; + Font mSmallFont, mBigFont, mTinyFont, MiniHUDFont, MiniHUDFontOutline; + int mhudfontcol[NUM_MINIHUD_COLOR]; Array MainQueue, PickupQueue; @@ -68,7 +106,6 @@ Class SWWMStatusBar : BaseStatusBar bool camhidden; int pausetime; Vector2 pausepos, pausedir; - bool isalthud; // shared from renderunderlay, needed for proper interpolation of some things Vector3 viewpos, viewrot; @@ -76,7 +113,7 @@ Class SWWMStatusBar : BaseStatusBar // projection data cache SWWMProjectionData projdata; - DynamicValueInterpolator HealthInter, ScoreInter, FuelInter, DashInter; + SmoothDynamicValueInterpolator ScoreInter; Inventory lastsel; Weapon lastwep; @@ -112,15 +149,53 @@ Class SWWMStatusBar : BaseStatusBar Array teamactive; Array teamscore; + int PulsePhase; // for health pulsing + + // for flashing some elements in the hud + Array keyflash; + int oldkills, olditems, oldsecrets; + int oldtkills, oldtitems, oldtsecrets; + int killflash, itemflash, secretflash; + int tkillflash, titemflash, tsecretflash; + + // top stuff colors + int tclabel, tcvalue, tcextra, tccompl, tcsucks; + String tclabel_s, tcextra_s; + + int AmmoFlash[26]; // flash when new ammo is received + int AmmoOldAmounts[26]; // to detect when to flash + int AmmoMaxFlash[26]; // flash when ammo max amount changes + int AmmoOldMaxAmounts[26]; // to detect when to flash + Class AmmoSlots[26]; // ammo type on each slot + String AmmoNames[26]; // ammo 4-letter names + int HealthFlash; // flash when healing + int LastHealth; // to detect when to flash + int LagHealth[10]; // for delayed decay bar + + SmoothDynamicValueInterpolator HealthInter, FuelInter, DashInter; + SmoothLinearValueInterpolator LagHealthInter; + override void FlushNotify() { // flush interpolators (useful since this virtual gets called // when loading saves, too) - HealthInter.Reset(CPlayer.Health); ScoreInter.Reset(SWWMCredits.Get(CPlayer)); - FuelInter.Reset((CPlayer.mo is 'Demolitionist')?int(Demolitionist(CPlayer.mo).dashfuel):0); - DashInter.Reset((CPlayer.mo is 'Demolitionist')?int((40-Demolitionist(CPlayer.mo).dashcooldown)*3.):0); - Alt_FlushInterpolators(); + int hp = CPlayer.Health; + HealthInter.Reset(hp); + for ( int i=9; i>0; i-- ) + LagHealth[i] = hp; + LagHealthInter.Reset(hp); + let d = Demolitionist(CPlayer.mo); + if ( d ) + { + FuelInter.Reset(d.dashfuel/2); + DashInter.Reset((40-d.dashcooldown)*3); + } + else + { + FuelInter.Reset(0); + DashInter.Reset(0); + } if ( level.maptime <= 1 ) { // flush ALL messages @@ -952,9 +1027,59 @@ Class SWWMStatusBar : BaseStatusBar // separated so they can be auto-ticked by the demolitionist menu void TickInterpolators() { - HealthInter.Update(CPlayer.health); ScoreInter.Update(SWWMCredits.Get(CPlayer)); - Alt_UpdateInterpolators(); + int hp = CPlayer.Health; + HealthInter.Update(hp); + // flash 'em + if ( hp > LastHealth ) HealthFlash = gametic+25; + // lag + if ( hp > LastHealth ) + { + for ( int i=9; i>0; i-- ) + LagHealth[i] = hp; + } + LagHealth[0] = LastHealth = hp; + LagHealthInter.Update(LagHealth[9]); + for ( int i=9; i>0; i-- ) + LagHealth[i] = LagHealth[i-1]; + // ammo updates + for ( int i=0; i<26; i++ ) + { + let a = SWWMAmmo(CPlayer.mo.FindInventory(AmmoSlots[i])); + int amt = 0; + int maxamt = 0; + if ( a ) + { + amt = a.Amount; + maxamt = a.MaxAmount; + if ( a.MagAmmoType ) + { + let m = MagAmmo(CPlayer.mo.FindInventory(a.MagAmmoType)); + if ( m ) + { + amt *= m.ClipSize; + amt += m.Amount; + maxamt *= m.ClipSize; + } + } + } + else + { + let a = GetDefaultByType(AmmoSlots[i]); + maxamt = a.MaxAmount; + if ( a.MagAmmoType ) + { + let m = GetDefaultByType(a.MagAmmoType); + maxamt *= m.ClipSize; + } + } + if ( (amt > AmmoOldAmounts[i]) && (AmmoOldAmounts[i] != int.min) ) + AmmoFlash[i] = gametic+25; + AmmoOldAmounts[i] = amt; + if ( (maxamt > AmmoOldMaxAmounts[i]) && (AmmoOldMaxAmounts[i] != int.min) ) + AmmoMaxFlash[i] = gametic+25; + AmmoOldMaxAmounts[i] = maxamt; + } } override void Tick() @@ -984,14 +1109,60 @@ Class SWWMStatusBar : BaseStatusBar let d = Demolitionist(CPlayer.mo); if ( d ) { - FuelInter.Update(int(d.dashfuel)); - DashInter.Update(int((40-d.dashcooldown)*3.)); + FuelInter.Update(d.dashfuel/2); + DashInter.Update((40-d.dashcooldown)*3); } else { FuelInter.Update(0); DashInter.Update(0); } + // stats flashing + if ( level.killed_monsters > oldkills ) + { + oldkills = level.killed_monsters; + killflash = gametic+25; + } + if ( level.found_items > olditems ) + { + olditems = level.found_items; + itemflash = gametic+25; + } + if ( level.found_secrets > oldsecrets ) + { + oldsecrets = level.found_secrets; + secretflash = gametic+25; + } + if ( level.total_monsters > oldtkills ) + { + oldtkills = level.total_monsters; + tkillflash = gametic+25; + } + if ( level.total_items > oldtitems ) + { + oldtitems = level.total_items; + titemflash = gametic+25; + } + if ( level.total_secrets > oldtsecrets ) + { + oldtsecrets = level.total_secrets; + tsecretflash = gametic+25; + } + // purge expired key flashes + for ( int i=0; i= gametic ) continue; + keyflash.Delete(i--); + } + // low health pulsing + if ( (CPlayer.health <= 0) || (CPlayer.health > 25) ) + PulsePhase = 0; + else + { + PulsePhase--; + if ( (PulsePhase < 0) || (PulsePhase > CPlayer.health*2+25) ) + PulsePhase = CPlayer.health*2+25; + } // let weapons update their own interpolators if ( CPlayer.ReadyWeapon is 'SWWMWeapon' ) SWWMWeapon(CPlayer.ReadyWeapon).HudTick(); @@ -1158,7 +1329,6 @@ Class SWWMStatusBar : BaseStatusBar } } lastwep = CPlayer.PendingWeapon; - Alt_Tick(); // make sure vanilla nametags don't display DetachMessageID(0x5745504e); // WEPN DetachMessageID(0x53494e56); // SINV @@ -1216,6 +1386,15 @@ Class SWWMStatusBar : BaseStatusBar lead = CPlayer.fragcount-highscore; } + // hello??? why is this function clearscope??? + override void ReceivedWeapon( Weapon weapn ) + { + Super.ReceivedWeapon(weapn); + int dummy, slot; + [dummy, slot] = players[consoleplayer].weapons.LocateWeapon(weapn.GetClass()); + EventHandler.SendNetworkEvent("swwmweaponreceive",slot,consoleplayer); + } + override void Init() { StatusTex = TexMan.CheckForTexture("graphics/HUD/StatusBox.png",TexMan.Type_Any); @@ -1228,6 +1407,9 @@ Class SWWMStatusBar : BaseStatusBar HealthTex[3] = TexMan.CheckForTexture("graphics/HUD/HealthBar3.png",TexMan.Type_Any); HealthTex[4] = TexMan.CheckForTexture("graphics/HUD/HealthBarS.png",TexMan.Type_Any); HealthTex[5] = TexMan.CheckForTexture("graphics/HUD/HealthBarD.png",TexMan.Type_Any); + HealthTex[6] = TexMan.CheckForTexture("graphics/HUD/HealthBarP.png",TexMan.Type_Any); + HealthTex[7] = TexMan.CheckForTexture("graphics/HUD/HealthBarF.png",TexMan.Type_Any); + HealthTex[8] = TexMan.CheckForTexture("graphics/HUD/HealthBarL.png",TexMan.Type_Any); ScoreTex = TexMan.CheckForTexture("graphics/HUD/ScoreBox.png",TexMan.Type_Any); WeaponTex = TexMan.CheckForTexture("graphics/HUD/WeaponBox.png",TexMan.Type_Any); ChatTex[0] = TexMan.CheckForTexture("graphics/HUD/ChatBoxTop.png",TexMan.Type_Any); @@ -1247,18 +1429,118 @@ Class SWWMStatusBar : BaseStatusBar GenericAmmoTex[0] = TexMan.CheckForTexture("graphics/HUD/GenericAmmoBoxL.png",TexMan.Type_Any); GenericAmmoTex[1] = TexMan.CheckForTexture("graphics/HUD/GenericAmmoBoxM.png",TexMan.Type_Any); GenericAmmoTex[2] = TexMan.CheckForTexture("graphics/HUD/GenericAmmoBoxR.png",TexMan.Type_Any); + AmmoTex[0] = TexMan.CheckForTexture("graphics/HUD/AmmoBoxT.png",TexMan.Type_Any); + AmmoTex[1] = TexMan.CheckForTexture("graphics/HUD/AmmoBoxM.png",TexMan.Type_Any); + AmmoTex[2] = TexMan.CheckForTexture("graphics/HUD/AmmoBoxB.png",TexMan.Type_Any); MiniBox = TexMan.CheckForTexture("graphics/HUD/MinimapBox.png",TexMan.Type_Any); bgtex = TexMan.CheckForTexture("graphics/tempbg.png",TexMan.Type_Any); mSmallFont = Font.GetFont('TewiFont'); mBigFont = Font.GetFont('TewiFontOutline'); mTinyFont = Font.GetFont('MiniwiFont'); + MiniHudFont = Font.GetFont("MiniHUDShadow"); + MiniHudFontOutline = Font.GetFont("MiniHUDOutline"); + mhudfontcol[MCR_DEMOHUD] = Font.FindFontColor("MiniDemoHUD"); + mhudfontcol[MCR_IBUKIHUD] = Font.FindFontColor("MiniIbukiHUD"); + mhudfontcol[MCR_SAYAHUD] = Font.FindFontColor("MiniSayaHUD"); + mhudfontcol[MCR_KIRINHUD] = Font.FindFontColor("MiniKirinHUD"); + mhudfontcol[MCR_MARISAHUD] = Font.FindFontColor("MiniMarisaHUD"); + mhudfontcol[MCR_VOIDHUD] = Font.FindFontColor("MiniVoidHUD"); + mhudfontcol[MCR_WHITE] = Font.FindFontColor("MiniWhite"); + mhudfontcol[MCR_RED] = Font.FindFontColor("MiniRed"); + mhudfontcol[MCR_GREEN] = Font.FindFontColor("MiniGreen"); + mhudfontcol[MCR_BLUE] = Font.FindFontColor("MiniBlue"); + mhudfontcol[MCR_YELLOW] = Font.FindFontColor("MiniYellow"); + mhudfontcol[MCR_CYAN] = Font.FindFontColor("MiniCyan"); + mhudfontcol[MCR_PURPLE] = Font.FindFontColor("MiniPurple"); + mhudfontcol[MCR_BRASS] = Font.FindFontColor("MiniBrass"); + mhudfontcol[MCR_SILVER] = Font.FindFontColor("MiniSilver"); + mhudfontcol[MCR_GOLD] = Font.FindFontColor("MiniGold"); + mhudfontcol[MCR_MANA] = Font.FindFontColor("MiniMana"); + mhudfontcol[MCR_CRIMSON] = Font.FindFontColor("MiniCrimson"); + mhudfontcol[MCR_ELDRITCH] = Font.FindFontColor("MiniEldritch"); + mhudfontcol[MCR_KINYLUM] = Font.FindFontColor("MiniKinylum"); + mhudfontcol[MCR_NOKRON] = Font.FindFontColor("MiniNokron"); + mhudfontcol[MCR_NOKOROKINYLUM] = Font.FindFontColor("MiniNokorokinylum"); + mhudfontcol[MCR_DEMOBLUE] = Font.FindFontColor("MiniDemoBlue"); + mhudfontcol[MCR_DEMOPINK] = Font.FindFontColor("MiniDemoPink"); + mhudfontcol[MCR_FLASH] = Font.FindFontColor("MiniFlash"); + mhudfontcol[MCR_REDFLASH] = Font.FindFontColor("MiniRedFlash"); + tclabel = mhudfontcol[MCR_BRASS]; + tcvalue = mhudfontcol[MCR_WHITE]; + tcextra = mhudfontcol[MCR_IBUKIHUD]; + tccompl = mhudfontcol[MCR_YELLOW]; + tcsucks = mhudfontcol[MCR_RED]; + tclabel_s = "[MiniBrass]"; + tcextra_s = "[MiniIbukiHUD]"; minimapzoom = oldminimapzoom = 1.; - HealthInter = DynamicValueInterpolator.Create(100,.1,1,100); - ScoreInter = DynamicValueInterpolator.Create(0,.1,1,999999999); - FuelInter = DynamicValueInterpolator.Create(120,.5,1,100); - DashInter = DynamicValueInterpolator.Create(120,.5,1,40); + LastHealth = CPlayer?CPlayer.health:100; + let d = Demolitionist(CPlayer?CPlayer.mo:null); + HealthInter = SmoothDynamicValueInterpolator.Create(LastHealth,.5,1,100); + FuelInter = SmoothDynamicValueInterpolator.Create(d?(d.dashfuel/2):120,.5,1,120); + DashInter = SmoothDynamicValueInterpolator.Create(d?((40-d.dashcooldown)*3):40,.5,1,40); + LagHealthInter = SmoothLinearValueInterpolator.Create(LastHealth,2); + for ( int i=0; i<10; i++ ) LagHealth[i] = LastHealth; + AmmoSlots[0] = 'RedShell'; + AmmoSlots[1] = 'GreenShell'; + AmmoSlots[2] = 'BlueShell'; + AmmoSlots[3] = 'PurpleShell'; + AmmoSlots[4] = 'BlackShell'; + AmmoSlots[5] = 'GoldShell'; + AmmoSlots[6] = 'SMW05Ammo'; + AmmoSlots[7] = 'EvisceratorShell'; + AmmoSlots[8] = 'SheenAmmo'; + AmmoSlots[9] = 'HellblazerMissiles'; + AmmoSlots[10] = 'HellblazerCrackshots'; + AmmoSlots[11] = 'HellblazerRavagers'; + AmmoSlots[12] = 'HellblazerWarheads'; + AmmoSlots[13] = 'QuadravolAmmo'; + AmmoSlots[14] = 'SparkUnit'; + AmmoSlots[15] = 'SparksterBAmmo'; + AmmoSlots[16] = 'SparksterRAmmo'; + AmmoSlots[17] = 'SilverBulletAmmo'; + AmmoSlots[18] = 'SilverBulletAmmo2'; + AmmoSlots[19] = 'RayAmmo'; + AmmoSlots[20] = 'CandyGunAmmo'; + AmmoSlots[21] = 'CandyGunSpares'; + AmmoSlots[22] = 'MisterAmmo'; + AmmoSlots[23] = 'MisterGAmmo'; + AmmoSlots[24] = 'YnykronAmmo'; + AmmoSlots[25] = 'UltimateAmmo'; + AmmoNames[0] = "SHOT"; + AmmoNames[1] = "SLUG"; + AmmoNames[2] = "SALT"; + AmmoNames[3] = "BALL"; + AmmoNames[4] = "FLCH"; + AmmoNames[5] = "GOLD"; + AmmoNames[6] = "SCRW"; + AmmoNames[7] = "FLAK"; + AmmoNames[8] = "MACH"; + AmmoNames[9] = "RCKT"; + AmmoNames[10] = "CLUS"; + AmmoNames[11] = "RAVG"; + AmmoNames[12] = "WARH"; + AmmoNames[13] = "QUAD"; + AmmoNames[14] = "BSPK"; + AmmoNames[15] = "KINY"; + AmmoNames[16] = "NOKR"; + AmmoNames[17] = "RIFL"; + AmmoNames[18] = "CHOD"; + AmmoNames[19] = "BOLT"; + AmmoNames[20] = "CAND"; + AmmoNames[21] = "CGUN"; + AmmoNames[22] = "MSTR"; + AmmoNames[23] = "MGRN"; + AmmoNames[24] = "CRYS"; + AmmoNames[25] = "ULTI"; + for ( int i=0; i<26; i++ ) + { + AmmoFlash[i] = 0; + AmmoOldAmounts[i] = int.min; + AmmoMaxFlash[i] = 0; + AmmoOldMaxAmounts[i] = int.min; + } + ScoreInter = SmoothDynamicValueInterpolator.Create(0,.1,1,999999999); hnd = SWWMHandler(EventHandler.Find("SWWMHandler")); - Alt_Init(); PrevFrame = MSTimeF(); } @@ -2199,18 +2481,9 @@ Class SWWMStatusBar : BaseStatusBar return StringTable.Localize("$SWWM_PLACE"..val); } - private void DrawTopStuff( bool minimaponly = false ) + private void DrawTopStuff() { int xx, yy = margin; - if ( !minimaponly ) - { - String sstr = String.Format("%09d",ScoreInter.GetValue()); - xx = 73; - Screen.DrawTexture(ScoreTex,false,ss.x-(margin+xx),margin,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - xx -= 15; - Screen.DrawText(mSmallFont,Font.CR_FIRE,ss.x-(margin+xx),margin+2,sstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy = margin+19; - } // obviously, don't draw the minimap if the automap is open if ( !automapactive && swwm_mm_enable ) { @@ -2234,9 +2507,8 @@ Class SWWMStatusBar : BaseStatusBar for ( int i=0; i<3; i++ ) tv[i] = (tv[i]+basemappos)*hs; for ( int i=0; i<3; i++ ) Screen.DrawThickLine(int(tv[i].x),int(tv[i].y),int(tv[(i+1)%3].x),int(tv[(i+1)%3].y),max(1.,hs*.5),mm_yourcolor); Screen.ClearClipRect(); - yy += ((HALFMAPSIZE+2)*2)+3; + yy += ((HALFMAPSIZE+2)*2)+5; } - if ( minimaponly ) return; // draw stats and timer when automap is open int fstats = swwm_forcestats; if ( automapactive || (fstats > 0) ) @@ -2251,42 +2523,81 @@ Class SWWMStatusBar : BaseStatusBar if ( iof != -1 ) ln.Truncate(iof); if ( !label || ((level.clusterflags&level.CLUSTER_HUB) && (label == 2)) ) str = ln; else str = String.Format("%s - %s",level.mapname.MakeUpper(),ln); - Screen.DrawText(mSmallFont,Font.CR_FIRE,xx-mSmallFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += mSmallFont.GetHeight(); + Screen.DrawText(mBigFont,tclabel,xx-mBigFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + yy += mBigFont.GetHeight()+4; } if ( (level.total_monsters > 0) && am_showmonsters && !deathmatch ) { - str = String.Format("\cxK \c-%d\cu/\c-%d",level.killed_monsters,level.total_monsters); - Screen.DrawText(mTinyFont,(level.killed_monsters>=level.total_monsters)?Font.CR_GOLD:Font.CR_WHITE,xx-mTinyFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += mTinyFont.GetHeight(); + str = String.Format("\c"..tclabel_s.."K \c-%d\c"..tcextra_s.."/\c-%d",level.killed_monsters,level.total_monsters); + Screen.DrawText(MiniHUDFontOutline,(level.killed_monsters>=level.total_monsters)?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( killflash && (gametic < killflash) ) + { + double alph = max((killflash-(gametic+FracTic))/25.,0.)**1.5; + str = String.Format("%d/%d",level.killed_monsters,level.total_monsters); + int slashpos = str.IndexOf("/"); + Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str.Left(slashpos),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + } + if ( tkillflash && (gametic < tkillflash) ) + { + double alph = max((tkillflash-(gametic+FracTic))/25.,0.)**1.5; + str = String.Format("%d",level.total_monsters); + Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + } + yy += MiniHUDFontOutline.GetHeight()+2; } if ( (level.total_items > 0) && am_showitems && !deathmatch ) { - str = String.Format("\cxI \c-%d\cu/\c-%d",level.found_items,level.total_items); - Screen.DrawText(mTinyFont,(level.found_items>=level.total_items)?Font.CR_GOLD:Font.CR_WHITE,xx-mTinyFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += mTinyFont.GetHeight(); + str = String.Format("\c"..tclabel_s.."I \c-%d\c"..tcextra_s.."/\c-%d",level.found_items,level.total_items); + Screen.DrawText(MiniHUDFontOutline,(level.found_items>=level.total_items)?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( itemflash && (gametic < itemflash) ) + { + double alph = max((itemflash-(gametic+FracTic))/25.,0.)**1.5; + str = String.Format("%d/%d",level.found_items,level.total_items); + int slashpos = str.IndexOf("/"); + Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str.Left(slashpos),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + } + if ( titemflash && (gametic < titemflash) ) + { + double alph = max((titemflash-(gametic+FracTic))/25.,0.)**1.5; + str = String.Format("%d",level.total_items); + Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + } + yy += MiniHUDFontOutline.GetHeight()+2; } if ( (level.total_secrets > 0) && am_showsecrets && !deathmatch ) { - str = String.Format("\cxS \c-%d\cu/\c-%d",level.found_secrets,level.total_secrets); - Screen.DrawText(mTinyFont,(level.found_secrets>=level.total_secrets)?Font.CR_GOLD:Font.CR_WHITE,xx-mTinyFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += mTinyFont.GetHeight(); + str = String.Format("\c"..tclabel_s.."S \c-%d\c"..tcextra_s.."/\c-%d",level.found_secrets,level.total_secrets); + Screen.DrawText(MiniHUDFontOutline,(level.found_secrets>=level.total_secrets)?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( secretflash && (gametic < secretflash) ) + { + double alph = max((secretflash-(gametic+FracTic))/25.,0.)**1.5; + str = String.Format("%d/%d",level.found_secrets,level.total_secrets); + int slashpos = str.IndexOf("/"); + Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str.Left(slashpos),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + } + if ( tsecretflash && (gametic < tsecretflash) ) + { + double alph = max((tsecretflash-(gametic+FracTic))/25.,0.)**1.5; + str = String.Format("%d",level.total_secrets); + Screen.DrawText(MiniHUDFontOutline,mhudfontcol[MCR_FLASH],xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + } + yy += MiniHUDFontOutline.GetHeight()+2; } int sec; if ( am_showtime ) { sec = Thinker.Tics2Seconds(level.maptime); - str = String.Format("\cxT \c-%02d\cu:\c-%02d\cu:\c-%02d",sec/3600,(sec%3600)/60,sec%60); - Screen.DrawText(mTinyFont,((level.sucktime>0)&&(sec>=(level.sucktime*3600)))?Font.CR_RED:(sec<=level.partime)?Font.CR_GOLD:Font.CR_WHITE,xx-mTinyFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += mTinyFont.GetHeight(); + str = String.Format("\c"..tclabel_s.."T \c-%02d\c"..tcextra_s..":\c-%02d\c"..tcextra_s..":\c-%02d",sec/3600,(sec%3600)/60,sec%60); + Screen.DrawText(MiniHUDFontOutline,((level.sucktime>0)&&(sec>=(level.sucktime*3600)))?tcsucks:((level.partime>0)&&(sec<=level.partime))?tccompl:tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + yy += MiniHUDFontOutline.GetHeight()+2; } // don't show total time if it's equal to map time if ( am_showtotaltime && (level.totaltime != level.maptime) ) { sec = Thinker.Tics2Seconds(level.totaltime); - str = String.Format("\cxTT \c-%02d\cu:\c-%02d\cu:\c-%02d",sec/3600,(sec%3600)/60,sec%60); - Screen.DrawText(mTinyFont,Font.CR_WHITE,xx-mTinyFont.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - yy += mTinyFont.GetHeight(); + str = String.Format("\c"..tclabel_s.."TT \c-%02d\c"..tcextra_s..":\c-%02d\c"..tcextra_s..":\c-%02d",sec/3600,(sec%3600)/60,sec%60); + Screen.DrawText(MiniHUDFontOutline,tcvalue,xx-MiniHUDFontOutline.StringWidth(str),yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + yy += MiniHUDFontOutline.GetHeight()+2; } yy += 3; } @@ -2349,6 +2660,14 @@ Class SWWMStatusBar : BaseStatusBar TextureID icon = (k is 'HexenKey')?k.SpawnState.GetSpriteTexture(0):k.Icon; Vector2 siz = TexMan.GetScaledSize(icon); Screen.DrawTexture(icon,false,keypos.x-siz.x,keypos.y,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_TopLeft,true); + for ( int j=0; j= keyflash[j].flashtime) ) continue; + double alph = max((keyflash[j].flashtime-(gametic+FracTic))/25.,0.)**1.5; + Screen.DrawTexture(icon,false,keypos.x-siz.x,keypos.y,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_TopLeft,true,DTA_ColorOverlay,0xFFFFC040,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + break; + } keypos.x -= siz.x+2; colh = max(colh,siz.y); if ( ++colc == maxcolc ) @@ -2371,48 +2690,24 @@ Class SWWMStatusBar : BaseStatusBar { Screen.DrawTexture(i.Icon,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_Alpha,Powerup(i).IsBlinking()?alpha*.5:alpha,DTA_TopOffset,0,DTA_LeftOffset,0); String nstr = String.Format("%ds",Powerup(i).EffectTics/GameTicRate); - if ( isalthud ) - { - int len = MiniHudFontOutline.StringWidth(nstr); - Screen.DrawText(MiniHudFontOutline,mhudfontcol[MCR_BRASS],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,Powerup(i).IsBlinking()?alpha*.5:alpha); - } - else - { - int len = mSmallFont.StringWidth(nstr); - Screen.DrawText(mSmallFont,Font.CR_FIRE,(xx+30)-len,(yy+30)-10,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,Powerup(i).IsBlinking()?alpha*.5:alpha); - } + int len = MiniHudFontOutline.StringWidth(nstr); + Screen.DrawText(MiniHudFontOutline,mhudfontcol[MCR_BRASS],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,Powerup(i).IsBlinking()?alpha*.5:alpha); return true; } if ( (i is 'SWWMLamp') && aspowerup ) { Screen.DrawTexture(i.Icon,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_Alpha,SWWMLamp(i).isBlinking()?alpha*.5:alpha,DTA_TopOffset,0,DTA_LeftOffset,0); String nstr = String.Format("%d%%",SWWMLamp(i).Charge); - if ( isalthud ) - { - int len = MiniHudFontOutline.StringWidth(nstr); - Screen.DrawText(MiniHudFontOutline,mhudfontcol[SWWMLamp(i).bActive?MCR_BRASS:MCR_WHITE],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,SWWMLamp(i).isBlinking()?alpha*.5:alpha); - } - else - { - int len = mSmallFont.StringWidth(nstr); - Screen.DrawText(mSmallFont,SWWMLamp(i).bActive?Font.CR_FIRE:Font.CR_WHITE,(xx+30)-len,(yy+30)-10,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,SWWMLamp(i).isBlinking()?alpha*.5:alpha); - } + int len = MiniHudFontOutline.StringWidth(nstr); + Screen.DrawText(MiniHudFontOutline,mhudfontcol[SWWMLamp(i).bActive?MCR_BRASS:MCR_WHITE],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,SWWMLamp(i).isBlinking()?alpha*.5:alpha); return true; } if ( (i is 'DivineSpriteEffect') && aspowerup ) { Screen.DrawTexture(i.Icon,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_Alpha,DivineSpriteEffect(i).isBlinking()?alpha*.5:alpha,DTA_TopOffset,0,DTA_LeftOffset,0); String nstr = String.Format("%ds",DivineSpriteEffect(i).healtim/GameTicRate); - if ( isalthud ) - { - int len = MiniHudFontOutline.StringWidth(nstr); - Screen.DrawText(MiniHudFontOutline,mhudfontcol[MCR_BRASS],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,DivineSpriteEffect(i).isBlinking()?alpha*.5:alpha); - } - else - { - int len = mSmallFont.StringWidth(nstr); - Screen.DrawText(mSmallFont,Font.CR_FIRE,(xx+30)-len,(yy+30)-10,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,DivineSpriteEffect(i).isBlinking()?alpha*.5:alpha); - } + int len = MiniHudFontOutline.StringWidth(nstr); + Screen.DrawText(MiniHudFontOutline,mhudfontcol[MCR_BRASS],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,DivineSpriteEffect(i).isBlinking()?alpha*.5:alpha); return true; } Screen.DrawTexture(i.Icon,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_Alpha,alpha,DTA_TopOffset,0,DTA_LeftOffset,0); @@ -2421,21 +2716,13 @@ Class SWWMStatusBar : BaseStatusBar String nstr; if ( (i.Amount > 99999) && !forceamt ) nstr = "99999"; else nstr = String.Format("%d",i.Amount); - if ( isalthud ) - { - int len = MiniHudFontOutline.StringWidth(nstr); - Screen.DrawText(MiniHudFontOutline,mhudfontcol[(i.Amount<=0)?MCR_RED:selected?MCR_BRASS:MCR_WHITE],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alpha); - } - else - { - int len = mSmallFont.StringWidth(nstr); - Screen.DrawText(mSmallFont,(i.Amount<=0)?Font.CR_RED:selected?Font.CR_FIRE:Font.CR_WHITE,(xx+30)-len,(yy+30)-10,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alpha); - } + int len = MiniHudFontOutline.StringWidth(nstr); + Screen.DrawText(MiniHudFontOutline,mhudfontcol[(i.Amount<=0)?MCR_RED:selected?MCR_BRASS:MCR_WHITE],(xx+30)-len,(yy+30)-6,nstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alpha); } return true; } - private void DrawInventory( int invy = 58 ) + private void DrawInventory( int invy = 56 ) { // active items (armor / powerups) double xx = margin+2; @@ -2509,65 +2796,51 @@ Class SWWMStatusBar : BaseStatusBar private void DrawWeapons() { - if ( CPlayer.ReadyWeapon is 'SWWMWeapon' ) SWWMWeapon(CPlayer.ReadyWeapon).DrawWeapon(FracTic,ss.x-margin,ss.y-(margin+28),hs,ss); - else if ( CPlayer.ReadyWeapon ) + Screen.DrawTexture(WeaponTex,false,ss.x-(margin+80),ss.y-(margin+10),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + double xx = ss.x-(margin+78), yy = ss.y-(margin+8); + for ( int i=1; i<=10; i++,xx+=8 ) { - // generic display - double xx = ss.x-(margin+13), yy = ss.y-(margin+42); - int maxlen = 0; - String astr2, astr1; - if ( CPlayer.ReadyWeapon.Ammo2 ) astr2 = String.Format("%d",CPlayer.ReadyWeapon.Ammo2.Amount); - if ( CPlayer.ReadyWeapon.Ammo1 ) astr1 = String.Format("%d",CPlayer.ReadyWeapon.Ammo1.Amount); - maxlen = max(astr1.Length(),astr2.Length()); - if ( CPlayer.ReadyWeapon.Ammo2 && (CPlayer.ReadyWeapon.Ammo2 != CPlayer.ReadyWeapon.Ammo1) ) + int ncolor = mhudfontcol[MCR_WHITE]; + if ( !CPlayer.HasWeaponsInSlot(i%10) ) { - yy -= 14; - Screen.DrawTexture(GenericAmmoTex[2],false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - for ( int i=0; i 0) || Weapon(inv).bAMMO_OPTIONAL) || (Weapon(inv).Ammo2 && ((Weapon(inv).Ammo2.Amount > 0) || Weapon(inv).bALT_AMMO_OPTIONAL))) ) hasammo = true; } - if ( !hasammo ) ncolor = Font.CR_RED; + if ( !hasammo ) ncolor = mhudfontcol[MCR_RED]; } - Screen.DrawText(mSmallFont,ncolor,xx,yy,String.Format("%d",(i%10)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - xx += 12; - if ( i == 5 ) + Screen.DrawText(MiniHUDFont,ncolor,xx,yy,String.Format("%d",(i%10)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + int f = hnd.WeaponFlash[i%10]; + if ( f && (gametic < f) ) { - xx = ss.x-(margin+57); - yy += 14; + double alph = max((f-(gametic+FracTic))/25.,0.)**1.5; + Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],xx,yy,String.Format("%d",(i%10)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add); + } + } + xx = ss.x-(margin+54); + yy = ss.y-(margin+14); + bool bDrewAmmo = false; + bool checkowned = swwm_hudtrimammo; + Array OwnedWeapons; + if ( checkowned ) for ( Inventory i=CPlayer.mo.inv; i; i=i.inv ) + { + if ( !(i is 'SWWMWeapon') ) continue; + OwnedWeapons.Push(SWWMWeapon(i)); + } + String str; + for ( int i=25; i>=0; i-- ) + { + let a = AmmoSlots[i]; + // check if owned + if ( checkowned ) + { + bool owned = false; + for ( int j=0; j0)?scol:mhudfontcol[MCR_RED]; + int dcnt1 = 2-int(Log10(clamp(amt,1,999))); + int dcnt2 = 2-int(Log10(clamp(amax,1,999))); + for ( int j=0; j 20) || ((gametic%10) < 5) ) alph = 1.; - Screen.DrawTexture(DashTex,false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,dw,DTA_Alpha,alph); - double fw = FuelInter.GetValue()/2.; - Screen.DrawTexture(FuelTex[swwm_superfuel],false,margin+2,ss.y-(margin+24),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,fw); - double ht = clamp(HealthInter.GetValue(),0,10000); + Screen.DrawTexture(StatusTex,false,margin,ss.y-(margin+22),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + String str; + double ht = clamp(HealthInter.GetValue(fractic),0,10000); + str = String.Format("%3d",clamp(round(ht),0,999)); double hw = min(ht,100); - int hcolor = Font.CR_RED; - if ( ht > 500 ) hcolor = Font.CR_GOLD; - else if ( ht > 200 ) hcolor = Font.CR_PURPLE; - else if ( ht > 100 ) hcolor = Font.CR_CYAN; + double bhw = hw; + int hcolor = MCR_RED; + if ( round(ht) > 500 ) hcolor = MCR_YELLOW; + else if ( round(ht) > 200 ) hcolor = MCR_PURPLE; + else if ( round(ht) > 100 ) hcolor = MCR_CYAN; if ( isInvulnerable() || CPlayer.mo.FindInventory("InvinciballPower") ) { - Screen.DrawTexture(HealthTex[4],false,margin+2,ss.y-(margin+14),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); - hcolor = Font.CR_WHITE; + Screen.DrawTexture(HealthTex[0],false,margin+3,ss.y-(margin+19),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_ColorOverlay,Color(255,0,0,0)); + Screen.DrawTexture(HealthTex[4],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); + hcolor = MCR_WHITE; } else { - Screen.DrawTexture(HealthTex[0],false,margin+2,ss.y-(margin+14),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); + Screen.DrawTexture(HealthTex[0],false,margin+3,ss.y-(margin+19),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_ColorOverlay,Color(255,0,0,0)); + Screen.DrawTexture(HealthTex[0],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); if ( ht > 100 ) { hw = min(ht-100,100); - Screen.DrawTexture(HealthTex[1],false,margin+2,ss.y-(margin+14),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); + Screen.DrawTexture(HealthTex[1],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); } if ( ht > 200 ) { hw = min(ht-200,300)/3.; - Screen.DrawTexture(HealthTex[2],false,margin+2,ss.y-(margin+14),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); + Screen.DrawTexture(HealthTex[2],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); } if ( ht > 500 ) { hw = min(ht-500,500)/5.; - Screen.DrawTexture(HealthTex[3],false,margin+2,ss.y-(margin+14),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); + Screen.DrawTexture(HealthTex[3],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw); } } if ( CPlayer.mo.FindInventory("DivineSpriteEffect") ) { double falph = clamp((ht-1000)/6000.,0.,1.); - Screen.DrawTexture(HealthTex[5],false,margin+2,ss.y-(margin+14),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,falph,DTA_LegacyRenderStyle,STYLE_Add); + Screen.DrawTexture(HealthTex[5],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,falph,DTA_LegacyRenderStyle,STYLE_Add); String tst; double alph = .1; int trl = 9; - for ( double alph = .1; alph <= 1.; alph += .1 ) + for ( double alph = .1; alph <= .5; alph += .1 ) { tst = "AAA"; - SWWMUtility.ObscureText(tst,(gametic-trl)/3); + SWWMUtility.ObscureText(tst,(gametic-trl)/3,true); trl--; - Screen.DrawText(mSmallFont,Font.CR_WHITE,margin+108,ss.y-(margin+14),tst,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,falph*alph,DTA_LegacyRenderStyle,STYLE_Add); + Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_WHITE],margin+107,ss.y-(margin+20),tst,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,falph*alph,DTA_LegacyRenderStyle,STYLE_Add); } - Screen.DrawText(mSmallFont,hcolor,margin+108,ss.y-(margin+14),String.Format("%3d",clamp(ht,0,999)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,1.-falph); + Screen.DrawText(MiniHUDFont,mhudfontcol[hcolor],margin+107,ss.y-(margin+20),String.Format("%3d",clamp(round(ht),0,999)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,1.-falph); } - else Screen.DrawText(mSmallFont,hcolor,margin+108,ss.y-(margin+14),String.Format("%3d",clamp(ht,0,999)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + else + { + Screen.DrawText(MiniHUDFont,mhudfontcol[hcolor],margin+107,ss.y-(margin+20),String.Format("%3d",clamp(round(ht),0,999)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + int f = HealthFlash; + if ( f && (gametic < f) ) + { + double alph = max((f-(gametic+FracTic))/25.,0.)**1.5; + Screen.DrawTexture(HealthTex[7],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,bhw,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],margin+107,ss.y-(margin+20),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph); + } + if ( (CPlayer.health > 0) && (CPlayer.health <= 25) && (PulsePhase <= 15) ) + { + double alph = clamp(sin((PulsePhase-FracTic)*12.),0.,1.); + Screen.DrawTexture(HealthTex[6],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_Alpha,alph); + Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_REDFLASH],margin+107,ss.y-(margin+20),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph); + } + ht = clamp(LagHealthInter.GetValue(fractic),0,1000); + double hwl = min(ht,100); + if ( hwl > bhw ) + { + Screen.DrawTexture(HealthTex[8],false,margin+3,ss.y-(margin+19),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,bhw,DTA_WindowRightF,hwl,DTA_ColorOverlay,Color(255,0,0,0)); + Screen.DrawTexture(HealthTex[8],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,bhw,DTA_WindowRightF,hwl); + } + } + double ft = clamp(FuelInter.GetValue(fractic),0,120); + Screen.DrawTexture(FuelTex[swwm_superfuel],false,margin+3,ss.y-(margin+7),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,ft,DTA_ColorOverlay,Color(255,0,0,0)); + Screen.DrawTexture(FuelTex[swwm_superfuel],false,margin+2,ss.y-(margin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,ft); + let d = Demolitionist(CPlayer.mo); + bool blink = (!d || (d.dashfuel > 20) || ((gametic%10) < 5)); + double dt = clamp(DashInter.GetValue(fractic),0,120); + Screen.DrawTexture(DashTex,false,margin+3,ss.y-(margin+4),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,dt,DTA_ColorOverlay,Color(255,0,0,0)); + Screen.DrawTexture(DashTex,false,margin+2,ss.y-(margin+5),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,dt,DTA_ColorOverlay,Color(blink?0:96,0,0,0)); } private void DrawPickups() @@ -2935,7 +3390,6 @@ Class SWWMStatusBar : BaseStatusBar ssi = (Screen.GetWidth()/hsi,Screen.GetHeight()/hsi); ssd = (Screen.GetWidth()/hsd,Screen.GetHeight()/hsd); FracTic = TicFrac; - isalthud = swwm_althud; if ( camhidden ) { if ( hnd ) hnd.DrawBossBar(self); @@ -2946,21 +3400,10 @@ Class SWWMStatusBar : BaseStatusBar else { DrawTarget(); - if ( isalthud ) - { - DrawTopStuff(true); - Alt_DrawTopStuff(); - DrawInventory(56); - Alt_DrawStatus(); - Alt_DrawWeapons(); - } - else - { - DrawTopStuff(); - DrawInventory(); - DrawStatus(); - DrawWeapons(); - } + DrawTopStuff(); + DrawInventory(); + DrawStatus(); + DrawWeapons(); if ( hnd ) hnd.DrawBossBar(self); DrawPickups(); double malph = DrawDeath(); diff --git a/zscript/items/swwm_ammoextra.zsc b/zscript/items/swwm_ammoextra.zsc index 0ef80dabe..fddf54f98 100644 --- a/zscript/items/swwm_ammoextra.zsc +++ b/zscript/items/swwm_ammoextra.zsc @@ -265,12 +265,7 @@ Class FabricatorTier1 : AmmoFabricator Default { - //$Title Fabricator (Common) - //$Group Ammo - //$Sprite graphics/HUD/Icons/I_Fabricator1.png - //$Icon ammo Tag "$T_FABRICATOR1"; - Inventory.Icon "graphics/HUD/Icons/I_Fabricator1.png"; Inventory.PickupMessage "$T_FABRICATOR1"; AmmoFabricator.Budget 3000; AmmoFabricator.PerType 1; @@ -287,12 +282,7 @@ Class FabricatorTier2 : AmmoFabricator Default { - //$Title Fabricator (Rare) - //$Group Ammo - //$Sprite graphics/HUD/Icons/I_Fabricator2.png - //$Icon ammo Tag "$T_FABRICATOR2"; - Inventory.Icon "graphics/HUD/Icons/I_Fabricator2.png"; Inventory.PickupMessage "$T_FABRICATOR2"; AmmoFabricator.Budget 20000; AmmoFabricator.PerType 1; @@ -309,12 +299,7 @@ Class FabricatorTier3 : AmmoFabricator Default { - //$Title Fabricator (Very Rare) - //$Group Ammo - //$Sprite graphics/HUD/Icons/I_Fabricator3.png - //$Icon ammo Tag "$T_FABRICATOR3"; - Inventory.Icon "graphics/HUD/Icons/I_Fabricator3.png"; Inventory.PickupMessage "$T_FABRICATOR3"; AmmoFabricator.Budget 60000; AmmoFabricator.PerType 2; @@ -331,12 +316,7 @@ Class FabricatorTier4 : AmmoFabricator Default { - //$Title Fabricator (Super Rare) - //$Group Ammo - //$Sprite graphics/HUD/Icons/I_Fabricator4.png - //$Icon ammo Tag "$T_FABRICATOR4"; - Inventory.Icon "graphics/HUD/Icons/I_Fabricator4.png"; Inventory.PickupMessage "$T_FABRICATOR4"; AmmoFabricator.Budget int.max; AmmoFabricator.PerType -50; @@ -539,13 +519,8 @@ Class HammerspaceEmbiggener : Inventory Default { - //$Title Hammerspace Embiggener - //$Group Ammo - //$Sprite graphics/HUD/Icons/I_Embiggener.png - //$Icon ammo Tag "$T_EMBIGGENER"; Stamina -800000; - Inventory.Icon "graphics/HUD/Icons/I_Embiggener.png"; Inventory.PickupMessage "$T_EMBIGGENER"; Inventory.MaxAmount 8; Inventory.InterHubAmount 8; diff --git a/zscript/items/swwm_ammoitems.zsc b/zscript/items/swwm_ammoitems.zsc index bd42a88a7..aba991cf8 100644 --- a/zscript/items/swwm_ammoitems.zsc +++ b/zscript/items/swwm_ammoitems.zsc @@ -6,14 +6,9 @@ Class RedShell : SWWMAmmo { Default { - //$Title 1x Red Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsNormal.png - //$Icon ammo Tag "$T_REDSHELL"; SWWMAmmo.PickupTag "REDSHELL"; Stamina 500; - Inventory.Icon "graphics/HUD/Icons/A_ShellsNormal.png"; Inventory.Amount 1; Inventory.MaxAmount 30; Ammo.BackpackAmount 3; @@ -36,10 +31,6 @@ Class RedShell2 : RedShell { Default { - //$Title 2x Red Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsNormal.png - //$Icon ammo Inventory.Amount 2; Radius 6; } @@ -48,10 +39,6 @@ Class RedShell4 : RedShell { Default { - //$Title 4x Red Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsNormal.png - //$Icon ammo Inventory.Amount 4; Radius 6; } @@ -61,14 +48,9 @@ Class GreenShell : SWWMAmmo { Default { - //$Title 1x Green Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsSlug.png - //$Icon ammo Tag "$T_GREENSHELL"; SWWMAmmo.PickupTag "GREENSHELL"; Stamina 800; - Inventory.Icon "graphics/HUD/Icons/A_ShellsSlug.png"; Inventory.Amount 1; Inventory.MaxAmount 25; Ammo.BackpackAmount 2; @@ -91,10 +73,6 @@ Class GreenShell2 : GreenShell { Default { - //$Title 2x Green Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsSlug.png - //$Icon ammo Inventory.Amount 2; Radius 6; } @@ -103,10 +81,6 @@ Class GreenShell4 : GreenShell { Default { - //$Title 4x Green Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsSlug.png - //$Icon ammo Inventory.Amount 4; Radius 6; } @@ -116,14 +90,9 @@ Class BlueShell : SWWMAmmo { Default { - //$Title 1x Blue Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsKinylum.png - //$Icon ammo Tag "$T_BLUESHELL"; SWWMAmmo.PickupTag "BLUESHELL"; Stamina 1500; - Inventory.Icon "graphics/HUD/Icons/A_ShellsKinylum.png"; Inventory.Amount 1; Inventory.MaxAmount 20; Ammo.BackpackAmount 1; @@ -146,10 +115,6 @@ Class BlueShell2 : BlueShell { Default { - //$Title 2x Blue Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsKinylum.png - //$Icon ammo Inventory.Amount 2; Radius 6; } @@ -158,10 +123,6 @@ Class BlueShell4 : BlueShell { Default { - //$Title 4x Blue Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsKinylum.png - //$Icon ammo Inventory.Amount 4; Radius 6; } @@ -171,14 +132,9 @@ Class PurpleShell : SWWMAmmo { Default { - //$Title 1x Purple Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsBall.png - //$Icon ammo Tag "$T_PURPLESHELL"; SWWMAmmo.PickupTag "PURPLESHELL"; Stamina 2500; - Inventory.Icon "graphics/HUD/Icons/A_ShellsBall.png"; Inventory.Amount 1; Inventory.MaxAmount 15; Ammo.BackpackAmount 1; @@ -201,10 +157,6 @@ Class PurpleShell2 : PurpleShell { Default { - //$Title 2x Purple Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsBall.png - //$Icon ammo Inventory.Amount 2; Radius 6; } @@ -213,10 +165,6 @@ Class PurpleShell4 : PurpleShell { Default { - //$Title 4x Purple Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsBall.png - //$Icon ammo Inventory.Amount 4; Radius 6; } @@ -226,14 +174,9 @@ Class BlackShell : SWWMAmmo { Default { - //$Title 1x Black Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsFuck.png - //$Icon ammo Tag "$T_BLACKSHELL"; SWWMAmmo.PickupTag "BLACKSHELL"; Stamina 4000; - Inventory.Icon "graphics/HUD/Icons/A_ShellsFuck.png"; Inventory.Amount 1; Inventory.MaxAmount 10; Ammo.BackpackAmount 0; @@ -256,10 +199,6 @@ Class BlackShell2 : BlackShell { Default { - //$Title 2x Black Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsFuck.png - //$Icon ammo Inventory.Amount 2; Radius 6; } @@ -268,10 +207,6 @@ Class BlackShell4 : BlackShell { Default { - //$Title 4x Black Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsFuck.png - //$Icon ammo Inventory.Amount 4; Radius 6; } @@ -321,15 +256,10 @@ Class GoldShell : SWWMAmmo Default { - //$Title 1x Gold Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsGold.png - //$Icon ammo Tag "$T_GOLDSHELL"; SWWMAmmo.PickupTag "GOLDSHELL"; Inventory.PickupSound "misc/ammo_pkup_vip"; Stamina -1000000; - Inventory.Icon "graphics/HUD/Icons/A_ShellsGold.png"; Inventory.Amount 1; Inventory.MaxAmount 7; Ammo.BackpackAmount 0; @@ -352,10 +282,6 @@ Class GoldShell2 : GoldShell { Default { - //$Title 2x Gold Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsGold.png - //$Icon ammo Inventory.Amount 2; Radius 6; } @@ -364,10 +290,6 @@ Class GoldShell4 : GoldShell { Default { - //$Title 4x Gold Shells - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_ShellsGold.png - //$Icon ammo Inventory.Amount 4; Radius 6; } @@ -381,15 +303,10 @@ Class EvisceratorShell : SWWMAmmo { Default { - //$Title Eviscerator Shell - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_Eviscerator.png - //$Icon ammo Tag "$T_EVISHELL"; SWWMAmmo.PickupTag "EVISHELL"; Inventory.PickupMessage "$T_EVISHELL"; Stamina 3000; - Inventory.Icon "graphics/HUD/Icons/A_Eviscerator.png"; Inventory.Amount 1; Inventory.MaxAmount 20; Ammo.BackpackAmount 3; @@ -418,10 +335,6 @@ Class EvisceratorShell2 : EvisceratorShell { Default { - //$Title Eviscerator Dual Clip - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_Eviscerator.png - //$Icon ammo Inventory.PickupMessage "$I_EVISHELLCLIP2"; Inventory.Amount 2; Radius 16; @@ -431,10 +344,6 @@ Class EvisceratorShell3 : EvisceratorShell { Default { - //$Title Eviscerator Triple Clip - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_Eviscerator.png - //$Icon ammo Inventory.PickupMessage "$I_EVISHELLCLIP3"; Inventory.Amount 3; Radius 16; @@ -445,10 +354,6 @@ Class EvisceratorSixPack : EvisceratorShell { Default { - //$Title Eviscerator Six-Pack - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_Eviscerator.png - //$Icon ammo Inventory.PickupMessage "$I_EVISHELLPAK"; Inventory.Amount 6; Radius 20; @@ -464,14 +369,9 @@ Class HellblazerMissiles : SWWMAmmo { Default { - //$Title Hellblazer Missile - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerMissile.png - //$Icon ammo Tag "$T_HELLMISSILE"; SWWMAmmo.PickupTag "HELLMISSILE"; Stamina 8000; - Inventory.Icon "graphics/HUD/Icons/A_HellblazerMissile.png"; Inventory.Amount 1; Inventory.MaxAmount 18; Ammo.BackpackAmount 2; @@ -499,10 +399,6 @@ Class HellblazerMissiles2 : HellblazerMissiles { Default { - //$Title 2x Hellblazer Missile - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerMissile.png - //$Icon ammo Inventory.Amount 2; } } @@ -510,10 +406,6 @@ Class HellblazerMissiles3 : HellblazerMissiles { Default { - //$Title 3x Hellblazer Missile - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerMissile.png - //$Icon ammo Inventory.Amount 3; } } @@ -521,10 +413,6 @@ Class HellblazerMissileMag : HellblazerMissiles { Default { - //$Title Hellblazer Missile Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerMissile.png - //$Icon ammo Inventory.PickupMessage "$T_HELLMISSILEMAG"; Inventory.Amount 6; +SWWMAMMO.USEPICKUPMSG; @@ -537,14 +425,9 @@ Class HellblazerCrackshots : SWWMAmmo { Default { - //$Title Hellblazer Crackshot - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerCrackshot.png - //$Icon ammo Tag "$T_HELLCLUSTER"; SWWMAmmo.PickupTag "HELLCLUSTER"; Stamina 15000; - Inventory.Icon "graphics/HUD/Icons/A_HellblazerCrackshot.png"; Inventory.Amount 1; Inventory.MaxAmount 12; Ammo.BackpackAmount 1; @@ -567,10 +450,6 @@ Class HellblazerCrackshots2 : HellblazerCrackshots { Default { - //$Title 2x Hellblazer Crackshots - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerCrackshot.png - //$Icon ammo Inventory.Amount 2; } } @@ -578,10 +457,6 @@ Class HellblazerCrackshotMag : HellblazerCrackshots { Default { - //$Title Hellblazer Crackshot Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerCrackshot.png - //$Icon ammo Inventory.PickupMessage "$T_HELLCLUSTERMAG"; Inventory.Amount 3; +SWWMAMMO.USEPICKUPMSG; @@ -594,14 +469,9 @@ Class HellblazerRavagers : SWWMAmmo { Default { - //$Title Hellblazer Ravager - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerRavager.png - //$Icon ammo Tag "$T_HELLBURNINATOR"; SWWMAmmo.PickupTag "HELLBURNINATOR"; Stamina 25000; - Inventory.Icon "graphics/HUD/Icons/A_HellblazerRavager.png"; Inventory.Amount 1; Inventory.MaxAmount 6; Ammo.BackpackAmount 0; @@ -624,10 +494,6 @@ Class HellblazerRavagerMag : HellblazerRavagers { Default { - //$Title Hellblazer Ravager Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerRavager.png - //$Icon ammo Inventory.PickupMessage "$T_HELLBURNINATORMAG"; Inventory.Amount 3; +SWWMAMMO.USEPICKUPMSG; @@ -640,14 +506,9 @@ Class HellblazerWarheads : SWWMAmmo { Default { - //$Title Hellblazer Warhead - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerWarhead.png - //$Icon ammo Tag "$T_HELLNUKE"; SWWMAmmo.PickupTag "HELLNUKE"; Stamina 40000; - Inventory.Icon "graphics/HUD/Icons/A_HellblazerWarhead.png"; Inventory.Amount 1; Inventory.MaxAmount 2; Ammo.BackpackAmount 0; @@ -670,10 +531,6 @@ Class HellblazerWarheadMag : HellblazerWarheads { Default { - //$Title Hellblazer Warhead Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_HellblazerWarhead.png - //$Icon ammo Inventory.PickupMessage "$T_HELLNUKEMAG"; Inventory.Amount 2; +SWWMAMMO.USEPICKUPMSG; @@ -690,14 +547,9 @@ Class SparkUnit : SWWMAmmo { Default { - //$Title Spark Unit - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_Sparkster.png - //$Icon ammo Tag "$T_SPARKUNIT"; SWWMAmmo.PickupTag "SPARKUNIT"; Stamina 50000; - Inventory.Icon "graphics/HUD/Icons/A_Sparkster.png"; Inventory.Amount 1; Inventory.MaxAmount 8; Ammo.BackpackAmount 1; @@ -720,10 +572,6 @@ Class SparkUnit2 : SparkUnit { Default { - //$Title 2x Spark Unit - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_Sparkster.png - //$Icon ammo Inventory.Amount 2; Radius 8; } @@ -737,14 +585,9 @@ Class SilverBulletAmmo : SWWMAmmo { Default { - //$Title Silver Bullet Mag (XSB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBullet.png - //$Icon ammo Tag "$T_XSBMAG"; SWWMAmmo.PickupTag "XSBMAG"; Stamina 70000; - Inventory.Icon "graphics/HUD/Icons/A_SilverBullet.png"; Inventory.Amount 1; Inventory.MaxAmount 3; Ammo.BackpackAmount 0; @@ -769,14 +612,9 @@ Class SilverBulletAmmo2 : SWWMAmmo { Default { - //$Title Silver Bullet Mag (FCB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBullet2.png - //$Icon ammo Tag "$T_FCBMAG"; SWWMAmmo.PickupTag "FCBMAG"; Stamina 80000; - Inventory.Icon "graphics/HUD/Icons/A_SilverBullet2.png"; Inventory.Amount 1; Inventory.MaxAmount 2; Ammo.BackpackAmount 0; @@ -801,14 +639,9 @@ Class SilverBullets : MagAmmo { Default { - //$Title Silver Bullet Round (XSB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBulletBullet.png - //$Icon ammo Tag "$T_XSBBULLET"; MagAmmo.PickupTag "XSBBULLET"; Stamina -12000; - Inventory.Icon "graphics/HUD/Icons/A_SilverBulletBullet.png"; MagAmmo.ParentAmmo "SilverBulletAmmo"; MagAmmo.ClipSize 5; Inventory.MaxAmount 5; @@ -828,10 +661,6 @@ Class SilverBullets_2 : SilverBullets { Default { - //$Title 2x Silver Bullet Round (XSB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBulletBullet.png - //$Icon ammo Inventory.Amount 2; Radius 6; Height 24; @@ -841,10 +670,6 @@ Class SilverBullets_3 : SilverBullets { Default { - //$Title 3x Silver Bullet Round (XSB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBulletBullet.png - //$Icon ammo Inventory.Amount 3; Radius 6; Height 24; @@ -854,14 +679,9 @@ Class SilverBullets2 : MagAmmo { Default { - //$Title Silver Bullet Round (FCB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBulletBullet2.png - //$Icon ammo Tag "$T_FCBBULLET"; MagAmmo.PickupTag "FCBBULLET"; Stamina -15000; - Inventory.Icon "graphics/HUD/Icons/A_SilverBulletBullet2.png"; MagAmmo.ParentAmmo "SilverBulletAmmo2"; MagAmmo.ClipSize 5; Inventory.MaxAmount 5; @@ -881,10 +701,6 @@ Class SilverBullets2_2 : SilverBullets2 { Default { - //$Title 2x Silver Bullet Round (FCB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBulletBullet2.png - //$Icon ammo Inventory.Amount 2; Radius 6; Height 24; @@ -894,10 +710,6 @@ Class SilverBullets2_3 : SilverBullets2 { Default { - //$Title 3x Silver Bullet Round (FCB) - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_SilverBulletBullet2.png - //$Icon ammo Inventory.Amount 3; Radius 6; Height 24; @@ -912,14 +724,9 @@ Class CandyGunAmmo : SWWMAmmo { Default { - //$Title Candy Gun Mag - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_CandyGun.png - //$Icon ammo Tag "$T_CANDYMAG"; SWWMAmmo.PickupTag "CANDYMAG"; Stamina 100000; - Inventory.Icon "graphics/HUD/Icons/A_CandyGun.png"; Inventory.Amount 1; Inventory.MaxAmount 1; Ammo.BackpackAmount 0; @@ -944,14 +751,9 @@ Class CandyGunBullets : MagAmmo { Default { - //$Title Candy Gun Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_CandyBullet.png - //$Icon ammo Tag "$T_CANDYBULLET"; MagAmmo.PickupTag "CANDYBULLET"; Stamina -14000; - Inventory.Icon "graphics/HUD/Icons/A_CandyBullet.png"; MagAmmo.ParentAmmo "CandyGunAmmo"; MagAmmo.ClipSize 7; Inventory.MaxAmount 7; @@ -971,10 +773,6 @@ Class CandyGunBullets2 : CandyGunBullets { Default { - //$Title 2x Candy Gun Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_CandyBullet.png - //$Icon ammo Inventory.Amount 2; Radius 2.5; } @@ -983,10 +781,6 @@ Class CandyGunBullets3 : CandyGunBullets { Default { - //$Title 2x Candy Gun Round - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_CandyBullet.png - //$Icon ammo Inventory.Amount 3; Radius 3; } @@ -999,7 +793,6 @@ Class CandyGunSpares : SWWMAmmo Tag "$T_CANDYSPARE"; SWWMAmmo.PickupTag "CANDYSPARE"; Stamina 600000; - Inventory.Icon "graphics/HUD/Icons/W_CandyGun.png"; Inventory.Amount 1; Inventory.MaxAmount 4; Ammo.BackpackAmount 0; @@ -1034,15 +827,10 @@ Class YnykronAmmo : SWWMAmmo { Default { - //$Title Ynykron Ammo - //$Group Ammo - //$Sprite graphics/HUD/Icons/A_Ynykron.png - //$Icon ammo Tag "$T_YNYKRONAMMO"; SWWMAmmo.PickupTag "YNYKRONAMMO"; Inventory.PickupSound "misc/ammo_pkup_vip"; Stamina -3000000; - Inventory.Icon "graphics/HUD/Icons/A_Ynykron.png"; Inventory.Amount 1; Inventory.MaxAmount 1; Ammo.BackpackAmount 0; diff --git a/zscript/items/swwm_armor.zsc b/zscript/items/swwm_armor.zsc index a40628ec2..a9cf7d88d 100644 --- a/zscript/items/swwm_armor.zsc +++ b/zscript/items/swwm_armor.zsc @@ -47,10 +47,6 @@ Class ArmorNuggetItem : SWWMSpareArmor Default { - //$Title Armor Nugget - //$Group Armor - //$Sprite graphics/HUD/Icons/I_ArmorNugget.png - //$Icon armour Tag "$T_NUGGETA"; Stamina 1200; Inventory.PickupMessage "$T_NUGGETA"; @@ -107,10 +103,6 @@ Class BlastSuitItem : SWWMSpareArmor } Default { - //$Title Blast Suit - //$Group Armor - //$Sprite graphics/HUD/Icons/I_BlastSuit.png - //$Icon armour Tag "$T_BLASTSUIT"; Stamina 40000; Inventory.Icon "graphics/HUD/Icons/I_BlastSuit.png"; @@ -163,10 +155,6 @@ Class WarArmorItem : SWWMSpareArmor } Default { - //$Title War Armor - //$Group Armor - //$Sprite graphics/HUD/Icons/I_WarArmor.png - //$Icon armour Tag "$T_WARARMOR"; Stamina 100000; Inventory.Icon "graphics/HUD/Icons/I_WarArmor.png"; diff --git a/zscript/items/swwm_health.zsc b/zscript/items/swwm_health.zsc index 6fdc89acc..a61358dab 100644 --- a/zscript/items/swwm_health.zsc +++ b/zscript/items/swwm_health.zsc @@ -91,10 +91,6 @@ Class HealthNuggetItem : SWWMHealth } Default { - //$Title Health Nugget - //$Group Health - //$Sprite graphics/HUD/Icons/I_HealthNugget.png - //$Icon health Tag "$T_NUGGETH"; Stamina 500; Inventory.PickupMessage "$T_NUGGETH"; @@ -130,10 +126,6 @@ Class TetraHealthItem : SWWMHealth } Default { - //$Title Health Tetrahedron - //$Group Health - //$Sprite graphics/HUD/Icons/I_HealthTetra.png - //$Icon health Tag "$T_TETRAHEALTH"; Stamina 2000; Inventory.Icon "graphics/HUD/Icons/I_HealthTetra.png"; @@ -161,10 +153,6 @@ Class CubeHealthItem : SWWMHealth } Default { - //$Title Health Cube - //$Group Health - //$Sprite graphics/HUD/Icons/I_HealthCube.png - //$Icon health Tag "$T_CUBEHEALTH"; Stamina 4000; Inventory.Icon "graphics/HUD/Icons/I_HealthCube.png"; @@ -210,10 +198,6 @@ Class RefresherItem : SWWMHealth } Default { - //$Title Refresher - //$Group Health - //$Sprite graphics/HUD/Icons/I_Refresher.png - //$Icon health Tag "$T_REFRESHER"; Stamina 160000; Inventory.Icon "graphics/HUD/Icons/I_Refresher.png"; diff --git a/zscript/items/swwm_powerups.zsc b/zscript/items/swwm_powerups.zsc index f68875e00..3a140327b 100644 --- a/zscript/items/swwm_powerups.zsc +++ b/zscript/items/swwm_powerups.zsc @@ -211,10 +211,6 @@ Class GrilledCheeseSandwich : Inventory Default { - //$Title Grilled Cheese Sandwich - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Sandwich.png - //$Icon powerup Tag "$T_SANDWICH"; Stamina 800000; Inventory.Icon "graphics/HUD/Icons/I_Sandwich.png"; @@ -470,10 +466,6 @@ Class GhostArtifact : Inventory Default { - //$Title Ghost Artifact - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Ghost.png - //$Icon powerup Tag "$T_GHOSTARTI"; Stamina 120000; Inventory.Icon "graphics/HUD/Icons/I_Ghost.png"; @@ -687,10 +679,6 @@ Class GravitySuppressor : Inventory Default { - //$Title Gravity Suppressor - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Gravity.png - //$Icon powerup Tag "$T_GRAVITYS"; Stamina 150000; Inventory.Icon "graphics/HUD/Icons/I_Gravity.png"; @@ -939,10 +927,6 @@ Class FuckingInvinciball : Inventory Default { - //$Title Invinciball - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Invinciball.png - //$Icon powerup Tag "$T_INVINCIBALL"; Stamina 640000; Inventory.Icon "graphics/HUD/Icons/I_Invinciball.png"; @@ -1231,10 +1215,6 @@ Class Ragekit : Inventory Default { - //$Title Ragekit - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Ragekit.png - //$Icon powerup Tag "$T_RAGEKIT"; Stamina 500000; Inventory.Icon "graphics/HUD/Icons/I_Ragekit.png"; @@ -1307,12 +1287,7 @@ Class Omnisight : Inventory } Default { - //$Title Omnisight - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Omnisight.png - //$Icon powerup Tag "$T_OMNISIGHT"; - Inventory.Icon "graphics/HUD/Icons/I_Omnisight.png"; Inventory.PickupSound "misc/p_pkup"; Inventory.PickupMessage "$I_OMNISIGHT"; Inventory.RestrictedTo "Demolitionist"; @@ -1988,10 +1963,6 @@ Class SWWMLamp : Inventory } Default { - //$Title Lamp - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_LampOff.png - //$Icon powerup Tag "$T_LAMP"; Inventory.Icon "graphics/HUD/Icons/I_LampOff.png"; Inventory.PickupSound "misc/p_pkup"; @@ -2285,10 +2256,6 @@ Class EBarrier : Inventory Default { - //$Title Barrier - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Barrier.png - //$Icon powerup Tag "$T_BARRIER"; Stamina 80000; Inventory.Icon "graphics/HUD/Icons/I_Barrier.png"; @@ -2969,10 +2936,6 @@ Class Mykradvo : Inventory Default { - //$Title Mykradvo - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Mykradvo.png - //$Icon powerup Tag "$T_MYKRADVO"; Stamina -1200000; Inventory.Icon "graphics/HUD/Icons/I_Mykradvo.png"; @@ -3183,10 +3146,6 @@ Class SafetyTether : Inventory Default { - //$Title Safety Tether - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Safety.png - //$Icon powerup Tag "$T_SAFETY"; Stamina 240000; Inventory.Icon "graphics/HUD/Icons/I_Safety.png"; @@ -3400,10 +3359,6 @@ Class AngerySigil : Inventory } Default { - //$Title Devastation Sigil - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Devastation.png - //$Icon powerup Tag "$T_DEVASTATION"; Stamina -1500000; Inventory.Icon "graphics/HUD/Icons/I_Devastation.png"; @@ -3679,10 +3634,6 @@ Class DivineSprite : Inventory Default { - //$Title Divine Sprite - //$Group Powerups - //$Sprite graphics/HUD/Icons/I_Divine.png - //$Icon powerup Tag "$T_DIVINE"; Stamina -3600000; Inventory.Icon "graphics/HUD/Icons/I_Divine.png"; diff --git a/zscript/weapons/swwm_baseweapon.zsc b/zscript/weapons/swwm_baseweapon.zsc index aaedb4b00..6e3345a01 100644 --- a/zscript/weapons/swwm_baseweapon.zsc +++ b/zscript/weapons/swwm_baseweapon.zsc @@ -343,10 +343,6 @@ Class SWWMWeapon : Weapon abstract virtual ui void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) { } - // for alt hud - virtual ui void DrawWeaponAlt( double TicFrac, double bx, double by, double hs, Vector2 ss ) - { - } // HUD-side ticking virtual ui void HudTick() { diff --git a/zscript/weapons/swwm_blazeit.zsc b/zscript/weapons/swwm_blazeit.zsc index fb13efb5d..701e0772e 100644 --- a/zscript/weapons/swwm_blazeit.zsc +++ b/zscript/weapons/swwm_blazeit.zsc @@ -571,16 +571,11 @@ Class Hellblazer : SWWMWeapon Default { - //$Title Hellblazer - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_Hellblazer.png - //$Icon weapon Tag "$T_HELLBLAZER"; Inventory.PickupMessage "$I_HELLBLAZER"; Obituary "$O_HELLBLAZER"; SWWMWeapon.Tooltip "$TT_HELLBLAZER"; SWWMWeapon.GetLine "gethellblazer"; - Inventory.Icon "graphics/HUD/Icons/W_Hellblazer.png"; Weapon.SlotNumber 6; Weapon.SelectionOrder 700; Weapon.UpSound "hellblazer/select"; diff --git a/zscript/weapons/swwm_cbt.zsc b/zscript/weapons/swwm_cbt.zsc index e11f0129f..f96c37cdb 100644 --- a/zscript/weapons/swwm_cbt.zsc +++ b/zscript/weapons/swwm_cbt.zsc @@ -755,16 +755,11 @@ Class Wallbuster : SWWMWeapon Default { - //$Title Wallbuster - //$Group Weapons - //$Sprite graphics/HUD/Icons/W_Wallbuster.png - //$Icon weapon Tag "$T_WALLBUSTER"; Inventory.PickupMessage "$I_WALLBUSTER"; Obituary "$O_WALLBUSTER_RED"; SWWMWeapon.Tooltip "$TT_WALLBUSTER"; SWWMWeapon.GetLine "getwallbuster"; - Inventory.Icon "graphics/HUD/Icons/W_Wallbuster.png"; Weapon.SlotNumber 4; Weapon.SelectionOrder 400; Weapon.UpSound "wallbuster/select"; diff --git a/zscript/weapons/swwm_cbt_ui.zsc b/zscript/weapons/swwm_cbt_ui.zsc index 8ef1de769..e9f463dff 100644 --- a/zscript/weapons/swwm_cbt_ui.zsc +++ b/zscript/weapons/swwm_cbt_ui.zsc @@ -24,10 +24,10 @@ Class WallbusterReloadMenu : GenericMenu return; } MainWindow = TexMan.CheckForTexture("graphics/HUD/WallbusterMenu.png",TexMan.Type_Any); - AmmoIcon[0] = TexMan.CheckForTexture("graphics/HUD/RedShell.png",TexMan.Type_Any); - AmmoIcon[1] = TexMan.CheckForTexture("graphics/HUD/GreenShell.png",TexMan.Type_Any); - AmmoIcon[2] = TexMan.CheckForTexture("graphics/HUD/BlueShell.png",TexMan.Type_Any); - AmmoIcon[3] = TexMan.CheckForTexture("graphics/HUD/PurpleShell.png",TexMan.Type_Any); + AmmoIcon[0] = TexMan.CheckForTexture("graphics/HUD/MenuShellRed.png",TexMan.Type_Any); + AmmoIcon[1] = TexMan.CheckForTexture("graphics/HUD/MenuShellGreen.png",TexMan.Type_Any); + AmmoIcon[2] = TexMan.CheckForTexture("graphics/HUD/MenuShellBlue.png",TexMan.Type_Any); + AmmoIcon[3] = TexMan.CheckForTexture("graphics/HUD/MenuShellPurple.png",TexMan.Type_Any); mSmallFont = Font.GetFont('TewiFont'); mTinyFont = Font.GetFont('MiniwiFont'); MenuSound("menu/demotab"); @@ -291,7 +291,7 @@ Class WallbusterReloadMenu : GenericMenu Super.Drawer(); double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/400.)),1.); Vector2 ss = (Screen.GetWidth(),Screen.GetHeight())/hs; - Vector2 origin = (ss.x-132,ss.y-26)/2.; + Vector2 origin = (ss.x-120,ss.y-28)/2.; Screen.DrawTexture(MainWindow,false,origin.x,origin.y,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); int ox = 27, oy = 2; for ( int i=0; i<4; i++ ) @@ -299,18 +299,16 @@ Class WallbusterReloadMenu : GenericMenu Screen.DrawTexture(AmmoIcon[i],false,origin.x+ox,origin.y+oy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,(i==sel0)?Color(0,0,0,0):Color(128,0,0,0)); String astr = String.Format("%3d",players[consoleplayer].mo.CountInv(types[i])-AmmoSets[i]); Screen.DrawText(mSmallFont,Font.CR_FIRE,origin.x+ox-(mSmallFont.StringWidth(astr)+1),origin.y+oy-1,astr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,(i==sel0)?Color(0,0,0,0):Color(128,0,0,0)); - ox += 33; + ox += 27; } - // pointer (▸) - Screen.DrawChar(mSmallFont,Font.CR_GREEN,origin.x+2+33*sel0,origin.y+1,0x25B8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); int siz = queue.Size()-1; - ox = 2+siz*5+(siz/5); - oy = 15; - for ( int i=0; i<=siz; i++ ) + ox = 2; + oy = 17; + for ( int i=siz; i>=0; i-- ) { Screen.DrawTexture(AmmoIcon[queue[i]],false,origin.x+ox,origin.y+oy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - ox -= 5; - if ( !((i+1)%5) ) ox--; + ox += 4; + if ( !((siz-(i-1))%5) ) ox += 4; } // text stuff String str; @@ -334,7 +332,7 @@ Class WallbusterReloadMenu : GenericMenu sw = mTinyFont.StringWidth(str); x = floor((ss.x-sw)/2.); Screen.DrawText(mTinyFont,Font.CR_GOLD,x,y,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - y = origin.y+36; + y = origin.y+38; boxw = 0; for ( int i=0; igametic)&&((failtime-gametic)%8>=4); - Screen.DrawTexture(AltAmmoBar,false,bx-5,by-(2+ch),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_SrcY,20.-ch,DTA_SrcHeight,ch,DTA_DestHeightF,ch,DTA_ColorOverlay,Color(255,0,0,0)); - Screen.DrawTexture(AltAmmoBar,false,bx-6,by-(3+ch),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_SrcY,20.-ch,DTA_SrcHeight,ch,DTA_DestHeightF,ch,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); - } -} - -// Explodium Gun -extend Class ExplodiumGun -{ - ui TextureID AltWeaponBox, AltRoundTex; - - override void DrawWeaponAlt( double TicFrac, double bx, double by, double hs, Vector2 ss ) - { - if ( !AltWeaponBox ) AltWeaponBox = TexMan.CheckForTexture("graphics/AltHUD/ExplodiumDisplay.png",TexMan.Type_Any); - if ( !AltRoundTex ) AltRoundTex = TexMan.CheckForTexture("graphics/AltHUD/ExplodiumRound.png",TexMan.Type_Any); - Screen.DrawTexture(AltWeaponBox,false,bx-10,by-21,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( chambered ) Screen.DrawTexture(AltRoundTex,false,bx-8,by-19,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - for ( int i=0; i types[] = {"RedShell","GreenShell","BlueShell","PurpleShell","BlackShell","GoldShell"}; - if ( !AltWeaponBox ) AltWeaponBox = TexMan.CheckForTexture("graphics/AltHUD/SpreadgunDisplay.png",TexMan.Type_Any); - if ( !AltRoundTex[0] ) AltRoundTex[0] = TexMan.CheckForTexture("graphics/AltHUD/ShellRed.png",TexMan.Type_Any); - if ( !AltRoundTex[1] ) AltRoundTex[1] = TexMan.CheckForTexture("graphics/AltHUD/ShellGreen.png",TexMan.Type_Any); - if ( !AltRoundTex[2] ) AltRoundTex[2] = TexMan.CheckForTexture("graphics/AltHUD/ShellBlue.png",TexMan.Type_Any); - if ( !AltRoundTex[3] ) AltRoundTex[3] = TexMan.CheckForTexture("graphics/AltHUD/ShellPurple.png",TexMan.Type_Any); - if ( !AltRoundTex[4] ) AltRoundTex[4] = TexMan.CheckForTexture("graphics/AltHUD/ShellBlack.png",TexMan.Type_Any); - if ( !AltRoundTex[5] ) AltRoundTex[5] = TexMan.CheckForTexture("graphics/AltHUD/ShellGold.png",TexMan.Type_Any); - Screen.DrawTexture(AltWeaponBox,false,bx-10,by-7,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( !chambered ) return; - for ( int i=0; i<6; i++ ) - { - if ( loadammo != types[i] ) continue; - Screen.DrawTexture(AltRoundTex[i],false,bx-8,by-5,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(fired?128:0,0,0,0)); - break; - } - } -} - -// Wallbuster (less of a fuck in the alt hud) -extend Class Wallbuster -{ - ui TextureID AltWeaponBox, AltRoundTex[4], AltCursorTex; - - override void DrawWeaponAlt( double TicFrac, double bx, double by, double hs, Vector2 ss ) - { - static const Class types[] = {"RedShell","GreenShell","BlueShell","PurpleShell"}; - if ( !AltWeaponBox ) AltWeaponBox = TexMan.CheckForTexture("graphics/AltHUD/WallbusterDisplay.png",TexMan.Type_Any); - if ( !AltRoundTex[0] ) AltRoundTex[0] = TexMan.CheckForTexture("graphics/AltHUD/ShellRed.png",TexMan.Type_Any); - if ( !AltRoundTex[1] ) AltRoundTex[1] = TexMan.CheckForTexture("graphics/AltHUD/ShellGreen.png",TexMan.Type_Any); - if ( !AltRoundTex[2] ) AltRoundTex[2] = TexMan.CheckForTexture("graphics/AltHUD/ShellBlue.png",TexMan.Type_Any); - if ( !AltRoundTex[3] ) AltRoundTex[3] = TexMan.CheckForTexture("graphics/AltHUD/ShellPurple.png",TexMan.Type_Any); - if ( !AltCursorTex ) AltCursorTex = TexMan.CheckForTexture("graphics/AltHUD/WallbusterCursor.png",TexMan.Type_Any); - Screen.DrawTexture(AltWeaponBox,false,bx-12,by-75,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - int curpos = 73-(rotation[5]*15+rotation[rotation[5]]*2); - Screen.DrawTexture(AltCursorTex,false,bx-10,by-curpos,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - for ( int i=0; i<25; i++ ) - { - curpos = 73-(i*2+(i/5)*5); - if ( !loaded[i] ) continue; - for ( int j=0; j<4; j++ ) - { - if ( loaded[i] != types[j] ) continue; - Screen.DrawTexture(AltRoundTex[j],false,bx-8,by-curpos,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(fired[i]?128:0,0,0,0)); - break; - } - } - } -} - -// Eviscerator -extend Class Eviscerator -{ - ui TextureID AltWeaponBox, AltRoundTex, AltSpreadIcon[2]; - - override void DrawWeaponAlt( double TicFrac, double bx, double by, double hs, Vector2 ss ) - { - if ( !AltWeaponBox ) AltWeaponBox = TexMan.CheckForTexture("graphics/AltHUD/EvisceratorDisplay.png",TexMan.Type_Any); - if ( !AltRoundTex ) AltRoundTex = TexMan.CheckForTexture("graphics/AltHUD/EvisceratorRound.png",TexMan.Type_Any); - if ( !AltSpreadIcon[0] ) AltSpreadIcon[0] = TexMan.CheckForTexture("graphics/AltHUD/EvisceratorWide.png",TexMan.Type_Any); - if ( !AltSpreadIcon[1] ) AltSpreadIcon[1] = TexMan.CheckForTexture("graphics/AltHUD/EvisceratorTight.png",TexMan.Type_Any); - Screen.DrawTexture(AltWeaponBox,false,bx-10,by-20,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawTexture(AltRoundTex,false,bx-8,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,chambered?Color(0,0,0,0):Color(128,0,0,0)); - Screen.DrawTexture(AltSpreadIcon[extended],false,bx-8,by-18,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - } -} - -// Hellblazer -extend Class Hellblazer -{ - ui TextureID AltWeaponBox, AltRoundTex[4]; - - override void DrawWeaponAlt( double TicFrac, double bx, double by, double hs, Vector2 ss ) - { - static const Class types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"}; - if ( !AltWeaponBox ) AltWeaponBox = TexMan.CheckForTexture("graphics/AltHUD/HellblazerDisplay.png",TexMan.Type_Any); - if ( !AltRoundTex[0] ) AltRoundTex[0] = TexMan.CheckForTexture("graphics/AltHUD/HellblazerMissile.png",TexMan.Type_Any); - if ( !AltRoundTex[1] ) AltRoundTex[1] = TexMan.CheckForTexture("graphics/AltHUD/HellblazerCrackshot.png",TexMan.Type_Any); - if ( !AltRoundTex[2] ) AltRoundTex[2] = TexMan.CheckForTexture("graphics/AltHUD/HellblazerRavager.png",TexMan.Type_Any); - if ( !AltRoundTex[3] ) AltRoundTex[3] = TexMan.CheckForTexture("graphics/AltHUD/HellblazerWarhead.png",TexMan.Type_Any); - Screen.DrawTexture(AltWeaponBox,false,bx-13,by-29,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - int curtype = 0; - for ( int i=0; i<4; i++ ) - { - if ( loadammo != types[i] ) continue; - curtype = i; - break; - } - int yy = 27; - switch ( curtype ) - { - case 0: - for ( int i=0; i<6; i++ ) - { - Screen.DrawTexture(AltRoundTex[0],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - yy -= 4; - } - break; - case 1: - yy = 25; - for ( int i=0; i<3; i++ ) - { - Screen.DrawTexture(AltRoundTex[1],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - yy -= 8; - } - break; - case 2: - yy = 25; - for ( int i=0; i<3; i++ ) - { - Screen.DrawTexture(AltRoundTex[2],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - yy -= 8; - } - break; - case 3: - yy = 23; - for ( int i=0; i<2; i++ ) - { - Screen.DrawTexture(AltRoundTex[3],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - yy -= 12; - } - break; - } - } -} - -// Biospark Carbine -extend Class Sparkster -{ - ui TextureID AltWeaponBox, AltRoundTex[2]; - - override void DrawWeaponAlt( double TicFrac, double bx, double by, double hs, Vector2 ss ) - { - if ( !AltWeaponBox ) AltWeaponBox = TexMan.CheckForTexture("graphics/AltHUD/BiosparkDisplay.png",TexMan.Type_Any); - if ( !AltRoundTex[0] ) AltRoundTex[0] = TexMan.CheckForTexture("graphics/AltHUD/BiosparkShot.png",TexMan.Type_Any); - if ( !AltRoundTex[1] ) AltRoundTex[1] = TexMan.CheckForTexture("graphics/AltHUD/BiosparkRed.png",TexMan.Type_Any); - bool blinking = (failtime>gametic)&&((failtime-gametic)%16>=8); - if ( doublestacc ) - { - Screen.DrawTexture(AltWeaponBox,false,bx-7,by-26,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawTexture(AltWeaponBox,false,bx-7,by-13,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( nomag ) return; - bool bRed; - int yy = 24; - for ( int i=0; i<8; i++ ) - { - if ( clipcount <= i ) Screen.DrawTexture(AltRoundTex[0],false,bx-4,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Desaturate,255,DTA_ColorOverlay,Color(160,0,0,0)); - else - { - bRed = ((i>=4)&&(clipcount<6)||(i<4)&&(clipcount<2)); - Screen.DrawTexture(AltRoundTex[bRed],false,bx-5,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(blinking?96:0,0,0,0)); - } - yy -= 2; - if ( i == 3 ) yy -= 5; - } - } - else - { - Screen.DrawTexture(AltWeaponBox,false,bx-7,by-13,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( nomag ) return; - bool bRed; - int yy = 11; - for ( int i=0; i<4; i++ ) - { - if ( clipcount <= i ) Screen.DrawTexture(AltRoundTex[0],false,bx-5,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Desaturate,255,DTA_ColorOverlay,Color(160,0,0,0)); - else - { - bRed = (clipcount<2); - Screen.DrawTexture(AltRoundTex[bRed],false,bx-5,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(blinking?96:0,0,0,0)); - } - yy -= 2; - } - } - } -} - -// Silver Bullet JET -extend Class SilverBullet -{ - ui TextureID AltWeaponBox[2], AltZoomBar, AltRoundTex[4]; - - override void DrawWeaponAlt( double TicFrac, double bx, double by, double hs, Vector2 ss ) - { - if ( !AltWeaponBox[0] ) AltWeaponBox[0] = TexMan.CheckForTexture("graphics/AltHUD/SilverBulletDisplay.png",TexMan.Type_Any); - if ( !AltWeaponBox[1] ) AltWeaponBox[1] = TexMan.CheckForTexture("graphics/AltHUD/SilverBulletZoomDisplay.png",TexMan.Type_Any); - if ( !AltZoomBar ) AltZoomBar = TexMan.CheckForTexture("graphics/AltHUD/SilverBulletZoomBar.png",TexMan.Type_Any); - if ( !AltRoundTex[0] ) AltRoundTex[0] = TexMan.CheckForTexture("graphics/AltHUD/SilverBulletXSB.png",TexMan.Type_Any); - if ( !AltRoundTex[1] ) AltRoundTex[1] = TexMan.CheckForTexture("graphics/AltHUD/SilverBulletFCB.png",TexMan.Type_Any); - if ( !AltRoundTex[2] ) AltRoundTex[2] = TexMan.CheckForTexture("graphics/AltHUD/SilverBulletXSBCasing.png",TexMan.Type_Any); - if ( !AltRoundTex[3] ) AltRoundTex[3] = TexMan.CheckForTexture("graphics/AltHUD/SilverBulletFCBCasing.png",TexMan.Type_Any); - double zl = clamp(AltZoomInter?AltZoomInter.GetValue(TicFrac):(zoomlevel*10),0.,160.); - if ( zl >= 10. ) - { - Screen.DrawTexture(AltWeaponBox[1],false,bx-15,by-28,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - double zw = zl*10./160.; - Screen.DrawTexture(AltZoomBar,false,bx-12,by-25,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,zw,DTA_ColorOverlay,Color(255,0,0,0)); - Screen.DrawTexture(AltZoomBar,false,bx-13,by-26,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,zw); - } - Screen.DrawTexture(AltWeaponBox[0],false,bx-15,by-18,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( chambered ) Screen.DrawTexture(AltRoundTex[fcbchambered+fired*2],false,bx-13,by-16,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - for ( int i=0; igametic)&&((failtime-gametic)%8>=4); - Screen.DrawTexture(AmmoBar,false,bx-7,by-52,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ClipTop,ct,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-35,by-12,String.Format("%3d%%",chg),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); + Screen.DrawTexture(AmmoBar,false,bx-5,by-(2+ch),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_SrcY,20.-ch,DTA_SrcHeight,ch,DTA_DestHeightF,ch,DTA_ColorOverlay,Color(255,0,0,0)); + Screen.DrawTexture(AmmoBar,false,bx-6,by-(3+ch),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_SrcY,20.-ch,DTA_SrcHeight,ch,DTA_DestHeightF,ch,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); } } // Explodium Gun extend Class ExplodiumGun { - ui TextureID WeaponBox; + ui TextureID WeaponBox, RoundTex; override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) { if ( !WeaponBox ) WeaponBox = TexMan.CheckForTexture("graphics/HUD/ExplodiumDisplay.png",TexMan.Type_Any); - Screen.DrawTexture(WeaponBox,false,bx-24,by-22,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( chambered ) Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-22,by-20,"⁺¹",DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Spacing,-1); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-19,by-13,String.Format("%d",max(clipcount,0)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( !RoundTex ) RoundTex = TexMan.CheckForTexture("graphics/HUD/ExplodiumRound.png",TexMan.Type_Any); + Screen.DrawTexture(WeaponBox,false,bx-10,by-21,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( chambered ) Screen.DrawTexture(RoundTex,false,bx-8,by-19,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + for ( int i=0; i types[] = {"RedShell","GreenShell","BlueShell","PurpleShell","BlackShell","GoldShell"}; - if ( !WeaponBox ) - { - WeaponBox = TexMan.CheckForTexture("graphics/HUD/SpreadgunDisplay.png",TexMan.Type_Any); - AmmoIcon[0] = TexMan.CheckForTexture("graphics/HUD/RedShell.png",TexMan.Type_Any); - AmmoIcon[1] = TexMan.CheckForTexture("graphics/HUD/GreenShell.png",TexMan.Type_Any); - AmmoIcon[2] = TexMan.CheckForTexture("graphics/HUD/BlueShell.png",TexMan.Type_Any); - AmmoIcon[3] = TexMan.CheckForTexture("graphics/HUD/PurpleShell.png",TexMan.Type_Any); - AmmoIcon[4] = TexMan.CheckForTexture("graphics/HUD/BlackShell.png",TexMan.Type_Any); - AmmoIcon[5] = TexMan.CheckForTexture("graphics/HUD/GoldShell.png",TexMan.Type_Any); - LoadedIcon[0] = TexMan.CheckForTexture("graphics/HUD/LoadedRedShell.png",TexMan.Type_Any); - LoadedIcon[1] = TexMan.CheckForTexture("graphics/HUD/LoadedGreenShell.png",TexMan.Type_Any); - LoadedIcon[2] = TexMan.CheckForTexture("graphics/HUD/LoadedBlueShell.png",TexMan.Type_Any); - LoadedIcon[3] = TexMan.CheckForTexture("graphics/HUD/LoadedPurpleShell.png",TexMan.Type_Any); - LoadedIcon[4] = TexMan.CheckForTexture("graphics/HUD/LoadedBlackShell.png",TexMan.Type_Any); - LoadedIcon[5] = TexMan.CheckForTexture("graphics/HUD/LoadedGoldShell.png",TexMan.Type_Any); - } - Screen.DrawTexture(WeaponBox,false,bx-46,by-63,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - int ox = 6; - int oy = 11; - for ( int i=0; i<6; i++ ) - { - Screen.DrawTexture(AmmoIcon[i],false,bx-ox,by-oy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,(types[i]==nextammo)?Color(0,0,0,0):Color(128,0,0,0)); - String astr = String.Format("%3d",Owner.CountInv(types[i])); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-ox-(SWWMStatusBar(StatusBar).mSmallFont.StringWidth(astr)+1),by-oy-1,astr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,(types[i]==nextammo)?Color(0,0,0,0):Color(128,0,0,0)); - oy += 10; - } + if ( !WeaponBox ) WeaponBox = TexMan.CheckForTexture("graphics/HUD/SpreadgunDisplay.png",TexMan.Type_Any); + if ( !RoundTex[0] ) RoundTex[0] = TexMan.CheckForTexture("graphics/HUD/ShellRed.png",TexMan.Type_Any); + if ( !RoundTex[1] ) RoundTex[1] = TexMan.CheckForTexture("graphics/HUD/ShellGreen.png",TexMan.Type_Any); + if ( !RoundTex[2] ) RoundTex[2] = TexMan.CheckForTexture("graphics/HUD/ShellBlue.png",TexMan.Type_Any); + if ( !RoundTex[3] ) RoundTex[3] = TexMan.CheckForTexture("graphics/HUD/ShellPurple.png",TexMan.Type_Any); + if ( !RoundTex[4] ) RoundTex[4] = TexMan.CheckForTexture("graphics/HUD/ShellBlack.png",TexMan.Type_Any); + if ( !RoundTex[5] ) RoundTex[5] = TexMan.CheckForTexture("graphics/HUD/ShellGold.png",TexMan.Type_Any); + Screen.DrawTexture(WeaponBox,false,bx-10,by-7,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); if ( !chambered ) return; for ( int i=0; i<6; i++ ) { if ( loadammo != types[i] ) continue; - Screen.DrawTexture(LoadedIcon[i],false,bx-44,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,fired?Color(128,0,0,0):Color(0,0,0,0)); + Screen.DrawTexture(RoundTex[i],false,bx-8,by-5,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(fired?128:0,0,0,0)); break; } } } -// Wallbuster (oh good lord why) +// Wallbuster (less of a fuck in the alt hud) extend Class Wallbuster { - ui TextureID WeaponBox, AmmoIcon[4], LoadIcon[4], UsedIcon[4], EmptyIcon; + ui TextureID WeaponBox, RoundTex[4], CursorTex; override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) { static const Class types[] = {"RedShell","GreenShell","BlueShell","PurpleShell"}; - /* - (Layout of indices) - - 0 - 4 1 - 3 2 - L 9 - K M 8 5 - O N 7 6 - - H D - G I C E - F J B A - - */ - static const int barrelposx[] = - { - 29,24,26,32,34, - 10,12,18,20,15, - 17,23,25,20,15, - 41,43,38,33,35, - 48,43,38,40,46 - }; - static const int barrelposy[] = - { - 46,42,36,36,42, - 31,25,25,31,35, - 8, 8,14,18,14, - 8,14,18,14, 8, - 31,35,31,25,25 - }; - if ( !WeaponBox ) - { - WeaponBox = TexMan.CheckForTexture("graphics/HUD/WallbusterDisplay.png",TexMan.Type_Any); - AmmoIcon[0] = TexMan.CheckForTexture("graphics/HUD/RedShell.png",TexMan.Type_Any); - AmmoIcon[1] = TexMan.CheckForTexture("graphics/HUD/GreenShell.png",TexMan.Type_Any); - AmmoIcon[2] = TexMan.CheckForTexture("graphics/HUD/BlueShell.png",TexMan.Type_Any); - AmmoIcon[3] = TexMan.CheckForTexture("graphics/HUD/PurpleShell.png",TexMan.Type_Any); - LoadIcon[0] = TexMan.CheckForTexture("graphics/HUD/WallbusterRed.png",TexMan.Type_Any); - LoadIcon[1] = TexMan.CheckForTexture("graphics/HUD/WallbusterGreen.png",TexMan.Type_Any); - LoadIcon[2] = TexMan.CheckForTexture("graphics/HUD/WallbusterBlue.png",TexMan.Type_Any); - LoadIcon[3] = TexMan.CheckForTexture("graphics/HUD/WallbusterPurple.png",TexMan.Type_Any); - UsedIcon[0] = TexMan.CheckForTexture("graphics/HUD/WallbusterRedUsed.png",TexMan.Type_Any); - UsedIcon[1] = TexMan.CheckForTexture("graphics/HUD/WallbusterGreenUsed.png",TexMan.Type_Any); - UsedIcon[2] = TexMan.CheckForTexture("graphics/HUD/WallbusterBlueUsed.png",TexMan.Type_Any); - UsedIcon[3] = TexMan.CheckForTexture("graphics/HUD/WallbusterPurpleUsed.png",TexMan.Type_Any); - EmptyIcon = TexMan.CheckForTexture("graphics/HUD/WallbusterEmpty.png",TexMan.Type_Any); - } - Screen.DrawTexture(WeaponBox,false,bx-54,by-72,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - int ox = 6; - int oy = 60; - for ( int i=0; i<4; i++ ) - { - Screen.DrawTexture(AmmoIcon[i],false,bx-ox,by-oy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - String astr = String.Format("%3d",Owner.CountInv(types[i])); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-ox-(SWWMStatusBar(StatusBar).mSmallFont.StringWidth(astr)+1),by-oy-1,astr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - oy += 10; - if ( i == 1 ) - { - oy = 60; - ox = 33; - } - } - // and here's the big clusterdick + if ( !WeaponBox ) WeaponBox = TexMan.CheckForTexture("graphics/HUD/WallbusterDisplay.png",TexMan.Type_Any); + if ( !RoundTex[0] ) RoundTex[0] = TexMan.CheckForTexture("graphics/HUD/ShellRed.png",TexMan.Type_Any); + if ( !RoundTex[1] ) RoundTex[1] = TexMan.CheckForTexture("graphics/HUD/ShellGreen.png",TexMan.Type_Any); + if ( !RoundTex[2] ) RoundTex[2] = TexMan.CheckForTexture("graphics/HUD/ShellBlue.png",TexMan.Type_Any); + if ( !RoundTex[3] ) RoundTex[3] = TexMan.CheckForTexture("graphics/HUD/ShellPurple.png",TexMan.Type_Any); + if ( !CursorTex ) CursorTex = TexMan.CheckForTexture("graphics/HUD/WallbusterCursor.png",TexMan.Type_Any); + Screen.DrawTexture(WeaponBox,false,bx-12,by-75,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + int curpos = 73-(rotation[5]*15+rotation[rotation[5]]*2); + Screen.DrawTexture(CursorTex,false,bx-10,by-curpos,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); for ( int i=0; i<25; i++ ) { - int idx = i; - int group = idx/5; - // shift based on group rotation - int gidx = i%5; - gidx = (gidx-rotation[group]); - while ( gidx < 0 ) gidx += 5; - idx = gidx+group*5; - // shift based on full rotation - idx = (idx-rotation[5]*5); - while ( idx < 0 ) idx += 25; - if ( !loaded[i] ) - { - Screen.DrawTexture(EmptyIcon,false,bx-barrelposx[idx],by-barrelposy[idx],DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - continue; - } - int which = 0; + curpos = 73-(i*2+(i/5)*5); + if ( !loaded[i] ) continue; for ( int j=0; j<4; j++ ) { - if ( !(loaded[i] is types[j]) ) continue; - which = j; + if ( loaded[i] != types[j] ) continue; + Screen.DrawTexture(RoundTex[j],false,bx-8,by-curpos,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(fired[i]?128:0,0,0,0)); break; } - Screen.DrawTexture(fired[i]?UsedIcon[which]:LoadIcon[which],false,bx-barrelposx[idx],by-barrelposy[idx],DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); } } } @@ -194,42 +109,34 @@ extend Class Wallbuster // Eviscerator extend Class Eviscerator { - ui TextureID WeaponBox, AmmoIcon; + ui TextureID WeaponBox, RoundTex, SpreadIcon[2]; override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) { if ( !WeaponBox ) WeaponBox = TexMan.CheckForTexture("graphics/HUD/EvisceratorDisplay.png",TexMan.Type_Any); - if ( !AmmoIcon ) AmmoIcon = TexMan.CheckForTexture("graphics/HUD/EvisceratorShell.png",TexMan.Type_Any); - Screen.DrawTexture(WeaponBox,false,bx-46,by-16,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - String astr = String.Format("%d",Ammo1.Amount); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-14-(SWWMStatusBar(StatusBar).mSmallFont.StringWidth(astr)+1),by-14,astr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawTexture(AmmoIcon,false,bx-14,by-14,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,chambered?Color(0,0,0,0):Color(128,0,0,0)); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_WHITE,bx-44,by-14,extended?"►":"",DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( !RoundTex ) RoundTex = TexMan.CheckForTexture("graphics/HUD/EvisceratorRound.png",TexMan.Type_Any); + if ( !SpreadIcon[0] ) SpreadIcon[0] = TexMan.CheckForTexture("graphics/HUD/EvisceratorWide.png",TexMan.Type_Any); + if ( !SpreadIcon[1] ) SpreadIcon[1] = TexMan.CheckForTexture("graphics/HUD/EvisceratorTight.png",TexMan.Type_Any); + Screen.DrawTexture(WeaponBox,false,bx-10,by-20,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + Screen.DrawTexture(RoundTex,false,bx-8,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,chambered?Color(0,0,0,0):Color(128,0,0,0)); + Screen.DrawTexture(SpreadIcon[extended],false,bx-8,by-18,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); } } // Hellblazer extend Class Hellblazer { - ui TextureID WeaponBox, AmmoIcon[4], LoadedIcon[4]; + ui TextureID WeaponBox, RoundTex[4]; override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) { static const Class types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"}; - if ( !WeaponBox ) - { - WeaponBox = TexMan.CheckForTexture("graphics/HUD/HellblazerDisplay.png",TexMan.Type_Any); - AmmoIcon[0] = TexMan.CheckForTexture("graphics/HUD/HellblazerMissile.png",TexMan.Type_Any); - AmmoIcon[1] = TexMan.CheckForTexture("graphics/HUD/HellblazerCrackshot.png",TexMan.Type_Any); - AmmoIcon[2] = TexMan.CheckForTexture("graphics/HUD/HellblazerRavager.png",TexMan.Type_Any); - AmmoIcon[3] = TexMan.CheckForTexture("graphics/HUD/HellblazerWarhead.png",TexMan.Type_Any); - LoadedIcon[0] = TexMan.CheckForTexture("graphics/HUD/HellblazerMissileLoaded.png",TexMan.Type_Any); - LoadedIcon[1] = TexMan.CheckForTexture("graphics/HUD/HellblazerCrackshotLoaded.png",TexMan.Type_Any); - LoadedIcon[2] = TexMan.CheckForTexture("graphics/HUD/HellblazerRavagerLoaded.png",TexMan.Type_Any); - LoadedIcon[3] = TexMan.CheckForTexture("graphics/HUD/HellblazerWarheadLoaded.png",TexMan.Type_Any); - } - double xx = -56, yy = -49; - Screen.DrawTexture(WeaponBox,false,bx+xx,by+yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( !WeaponBox ) WeaponBox = TexMan.CheckForTexture("graphics/HUD/HellblazerDisplay.png",TexMan.Type_Any); + if ( !RoundTex[0] ) RoundTex[0] = TexMan.CheckForTexture("graphics/HUD/HellblazerMissile.png",TexMan.Type_Any); + if ( !RoundTex[1] ) RoundTex[1] = TexMan.CheckForTexture("graphics/HUD/HellblazerCrackshot.png",TexMan.Type_Any); + if ( !RoundTex[2] ) RoundTex[2] = TexMan.CheckForTexture("graphics/HUD/HellblazerRavager.png",TexMan.Type_Any); + if ( !RoundTex[3] ) RoundTex[3] = TexMan.CheckForTexture("graphics/HUD/HellblazerWarhead.png",TexMan.Type_Any); + Screen.DrawTexture(WeaponBox,false,bx-13,by-29,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); int curtype = 0; for ( int i=0; i<4; i++ ) { @@ -237,54 +144,38 @@ extend Class Hellblazer curtype = i; break; } - xx += 2; - yy += 2; - for ( int i=0; i<4; i++ ) - { - int amt = Owner.CountInv(types[i]); - String amtstr = String.Format("%3d",amt); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx+xx,by+yy,amtstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,(types[i]==nextammo)?Color(0,0,0,0):Color(128,0,0,0)); - Screen.DrawTexture(AmmoIcon[i],false,bx+xx+19,by+yy+1,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,(types[i]==nextammo)?Color(0,0,0,0):Color(128,0,0,0)); - yy += 13; - if ( i%2 ) - { - yy -= 26; - xx += 28; - } - } - yy = -18; + int yy = 27; switch ( curtype ) { case 0: - xx = -54; for ( int i=0; i<6; i++ ) { - Screen.DrawTexture(LoadedIcon[0],false,bx+xx,by+yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(192,0,0,0):Color(0,0,0,0):magstate[i]?Color(224,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - xx += 9; + Screen.DrawTexture(RoundTex[0],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); + yy -= 4; } break; case 1: - xx = -49; + yy = 25; for ( int i=0; i<3; i++ ) { - Screen.DrawTexture(LoadedIcon[1],false,bx+xx,by+yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(192,0,0,0):Color(0,0,0,0):magstate[i]?Color(224,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - xx += 18; + Screen.DrawTexture(RoundTex[1],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); + yy -= 8; } break; case 2: - xx = -49; + yy = 25; for ( int i=0; i<3; i++ ) { - Screen.DrawTexture(LoadedIcon[2],false,bx+xx,by+yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(192,0,0,0):Color(0,0,0,0):magstate[i]?Color(224,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - xx += 18; + Screen.DrawTexture(RoundTex[2],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); + yy -= 8; } break; case 3: - xx = -45; + yy = 23; for ( int i=0; i<2; i++ ) { - Screen.DrawTexture(LoadedIcon[3],false,bx+xx,by+yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(192,0,0,0):Color(0,0,0,0):magstate[i]?Color(224,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); - xx += 27; + Screen.DrawTexture(RoundTex[3],false,bx-11,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,((i<=magpos)&&(i>=(magpos-preload)))?magstate[i]?Color(128,0,0,0):Color(0,0,0,0):magstate[i]?Color(160,0,0,0):Color(96,0,0,0),DTA_Desaturate,magstate[i]?192:0); + yy -= 12; } break; } @@ -294,36 +185,49 @@ extend Class Hellblazer // Biospark Carbine extend Class Sparkster { - ui TextureID WeaponBox, AmmoBar[6]; + ui TextureID WeaponBox, RoundTex[2]; override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) { - if ( !WeaponBox ) - { - WeaponBox = TexMan.CheckForTexture("graphics/HUD/BiosparkDisplay.png",TexMan.Type_Any); - AmmoBar[0] = TexMan.CheckForTexture("graphics/HUD/BiosparkBar.png",TexMan.Type_Any); - AmmoBar[1] = TexMan.CheckForTexture("graphics/HUD/BiosparkBarRed.png",TexMan.Type_Any); - AmmoBar[2] = TexMan.CheckForTexture("graphics/HUD/BiosparkBarGray.png",TexMan.Type_Any); - AmmoBar[3] = TexMan.CheckForTexture("graphics/HUD/BiosparkBarSlim.png",TexMan.Type_Any); - AmmoBar[4] = TexMan.CheckForTexture("graphics/HUD/BiosparkBarSlimRed.png",TexMan.Type_Any); - AmmoBar[5] = TexMan.CheckForTexture("graphics/HUD/BiosparkBarSlimGray.png",TexMan.Type_Any); - } - Screen.DrawTexture(WeaponBox,false,bx-28,by-28,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-26,by-25,String.Format("%2d",Ammo1.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( nomag ) return; + if ( !WeaponBox ) WeaponBox = TexMan.CheckForTexture("graphics/HUD/BiosparkDisplay.png",TexMan.Type_Any); + if ( !RoundTex[0] ) RoundTex[0] = TexMan.CheckForTexture("graphics/HUD/BiosparkShot.png",TexMan.Type_Any); + if ( !RoundTex[1] ) RoundTex[1] = TexMan.CheckForTexture("graphics/HUD/BiosparkRed.png",TexMan.Type_Any); bool blinking = (failtime>gametic)&&((failtime-gametic)%16>=8); if ( doublestacc ) { - Screen.DrawTexture(AmmoBar[5],false,bx-26,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawTexture(AmmoBar[5],false,bx-14,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawTexture(AmmoBar[3+(clipcount<2)],false,bx-26,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,iclip?(iclip.GetValue()/10.):0.,DTA_ColorOverlay,(blinking&&(clipcount<=4))?Color(128,0,0,0):Color(0,0,0,0)); - if ( (iclip && (iclip.GetValue() > 120)) || (!iclip && (clipcount > 4)) ) - Screen.DrawTexture(AmmoBar[3+(clipcount<6)],false,bx-14,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,iclip?(((iclip.GetValue()/10.))-12.):0.,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); + Screen.DrawTexture(WeaponBox,false,bx-7,by-26,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + Screen.DrawTexture(WeaponBox,false,bx-7,by-13,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( nomag ) return; + bool bRed; + int yy = 24; + for ( int i=0; i<8; i++ ) + { + if ( clipcount <= i ) Screen.DrawTexture(RoundTex[0],false,bx-4,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Desaturate,255,DTA_ColorOverlay,Color(160,0,0,0)); + else + { + bRed = ((i>=4)&&(clipcount<6)||(i<4)&&(clipcount<2)); + Screen.DrawTexture(RoundTex[bRed],false,bx-5,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(blinking?96:0,0,0,0)); + } + yy -= 2; + if ( i == 3 ) yy -= 5; + } } else { - Screen.DrawTexture(AmmoBar[2],false,bx-26,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawTexture(AmmoBar[clipcount<2],false,bx-26,by-8,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,iclip?(iclip.GetValue()/5.):0.,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); + Screen.DrawTexture(WeaponBox,false,bx-7,by-13,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( nomag ) return; + bool bRed; + int yy = 11; + for ( int i=0; i<4; i++ ) + { + if ( clipcount <= i ) Screen.DrawTexture(RoundTex[0],false,bx-5,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Desaturate,255,DTA_ColorOverlay,Color(160,0,0,0)); + else + { + bRed = (clipcount<2); + Screen.DrawTexture(RoundTex[bRed],false,bx-5,by-yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(blinking?96:0,0,0,0)); + } + yy -= 2; + } } } } @@ -331,73 +235,44 @@ extend Class Sparkster // Silver Bullet JET extend Class SilverBullet { - ui TextureID WeaponBox[2], ZoomBar, BulletIcon[2], AmmoIcon[2]; + ui TextureID WeaponBox[2], ZoomBar, RoundTex[4]; override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) { if ( !WeaponBox[0] ) WeaponBox[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletDisplay.png",TexMan.Type_Any); if ( !WeaponBox[1] ) WeaponBox[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletZoomDisplay.png",TexMan.Type_Any); - if ( !BulletIcon[0] ) BulletIcon[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletXSB.png",TexMan.Type_Any); - if ( !BulletIcon[1] ) BulletIcon[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletFCB.png",TexMan.Type_Any); - if ( !AmmoIcon[0] ) AmmoIcon[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletXSBMag.png",TexMan.Type_Any); - if ( !AmmoIcon[1] ) AmmoIcon[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletFCBMag.png",TexMan.Type_Any); if ( !ZoomBar ) ZoomBar = TexMan.CheckForTexture("graphics/HUD/SilverBulletZoomBar.png",TexMan.Type_Any); - int zl = clamp(ZoomInter?ZoomInter.GetValue():int(zoomlevel*10),0,160); - if ( zl >= 10 ) + if ( !RoundTex[0] ) RoundTex[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletXSB.png",TexMan.Type_Any); + if ( !RoundTex[1] ) RoundTex[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletFCB.png",TexMan.Type_Any); + if ( !RoundTex[2] ) RoundTex[2] = TexMan.CheckForTexture("graphics/HUD/SilverBulletXSBCasing.png",TexMan.Type_Any); + if ( !RoundTex[3] ) RoundTex[3] = TexMan.CheckForTexture("graphics/HUD/SilverBulletFCBCasing.png",TexMan.Type_Any); + double zl = clamp(ZoomInter?ZoomInter.GetValue(TicFrac):(zoomlevel*10),0.,160.); + if ( zl >= 10. ) { - Screen.DrawTexture(WeaponBox[1],false,bx-35,by-56,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - double zw = zl*31./160.; - Screen.DrawTexture(ZoomBar,false,bx-33,by-54,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,zw); + Screen.DrawTexture(WeaponBox[1],false,bx-15,by-28,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + double zw = zl*10./160.; + Screen.DrawTexture(ZoomBar,false,bx-12,by-25,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,zw,DTA_ColorOverlay,Color(255,0,0,0)); + Screen.DrawTexture(ZoomBar,false,bx-13,by-26,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,zw); } - Screen.DrawTexture(WeaponBox[0],false,bx-55,by-44,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - if ( chambered ) Screen.DrawTexture(BulletIcon[fcbchambered],false,bx-53,by-30,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,fired?Color(128,0,0,0):Color(0,0,0,0)); - for ( int i=0; i9)?32:29; - int sb = Owner.CountInv("SilverBullets"); - if ( sb > 0 ) - { - int cbx = (sb>9)?34:30; - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cbx,by-20,String.Format("⁺%s",SWWMUtility.SuperscriptNum(sb)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Spacing,-1,DTA_ColorOverlay,fcbselected?Color(128,0,0,0):Color(0,0,0,0)); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cx,by-13,String.Format("%d",Ammo1.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,fcbselected?Color(128,0,0,0):Color(0,0,0,0)); - } - else Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cx,by-15,String.Format("%d",Ammo1.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,fcbselected?Color(128,0,0,0):Color(0,0,0,0)); - cx = (Ammo2.Amount>9)?32:29; - sb = Owner.CountInv("SilverBullets2"); - if ( sb > 0 ) - { - int cbx = (sb>9)?34:30; - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cbx,by-42,String.Format("⁺%s",SWWMUtility.SuperscriptNum(sb)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Spacing,-1,DTA_ColorOverlay,fcbselected?Color(0,0,0,0):Color(128,0,0,0)); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cx,by-35,String.Format("%d",Ammo2.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,fcbselected?Color(0,0,0,0):Color(128,0,0,0)); - } - else Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cx,by-39,String.Format("%d",Ammo2.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,fcbselected?Color(0,0,0,0):Color(128,0,0,0)); + Screen.DrawTexture(WeaponBox[0],false,bx-15,by-18,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( chambered ) Screen.DrawTexture(RoundTex[fcbchambered+fired*2],false,bx-13,by-16,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + for ( int i=0; i9)?48:45; - int sb = Owner.CountInv("CandyGunBullets"); - if ( sb > 0 ) - { - int cbx = (sb>9)?50:47; - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cbx,by-20,String.Format("⁺%s",SWWMUtility.SuperscriptNum(sb)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Spacing,-1); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cx,by-13,String.Format("%d",Ammo1.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - } - else Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-cx,by-17,String.Format("%d",Ammo1.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - Screen.DrawText(SWWMStatusBar(StatusBar).mSmallFont,Font.CR_FIRE,bx-37,by-39,String.Format("%d",Ammo2.Amount),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( !WeaponBox ) WeaponBox = TexMan.CheckForTexture("graphics/HUD/ExplodiumDisplay.png",TexMan.Type_Any); + if ( !RoundTex ) RoundTex = TexMan.CheckForTexture("graphics/HUD/CandyRound.png",TexMan.Type_Any); + Screen.DrawTexture(WeaponBox,false,bx-10,by-21,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( chambered ) Screen.DrawTexture(RoundTex,false,bx-8,by-19,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + for ( int i=0; i