diff --git a/cvarinfo.base b/cvarinfo.base index 3d643de91..0cdda08a0 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -123,6 +123,7 @@ server bool swwm_extendedpickup = false; // items will have an additional "virtu 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 // minimap settings nosave bool swwm_mm_enable = true; // show a minimap below the score counter diff --git a/language.version b/language.version index 9198e0cc3..02c200a0e 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r145 \cu(Wed 29 Jun 15:59:18 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r145 \cu(2022-06-29 15:59:18)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r146 \cu(Thu 30 Jun 16:48:24 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r146 \cu(2022-06-30 16:48:24)\c-"; diff --git a/sounds/dlc1/sheen/sheen_2100rpm.ogg b/sounds/dlc1/sheen/sheen_2100rpm.ogg new file mode 100644 index 000000000..dd89c6434 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_2100rpm.ogg differ diff --git a/sounds/dlc1/sheen/sheen_700rpm.ogg b/sounds/dlc1/sheen/sheen_700rpm.ogg new file mode 100644 index 000000000..25a1baa77 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_700rpm.ogg differ diff --git a/sounds/dlc1/sheen/sheen_deselect.ogg b/sounds/dlc1/sheen/sheen_deselect.ogg new file mode 100644 index 000000000..f0543fa11 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_deselect.ogg differ diff --git a/sounds/dlc1/sheen/sheen_fire1.ogg b/sounds/dlc1/sheen/sheen_fire1.ogg new file mode 100644 index 000000000..94be6a547 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_fire1.ogg differ diff --git a/sounds/dlc1/sheen/sheen_fire2.ogg b/sounds/dlc1/sheen/sheen_fire2.ogg new file mode 100644 index 000000000..020390810 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_fire2.ogg differ diff --git a/sounds/dlc1/sheen/sheen_fire3.ogg b/sounds/dlc1/sheen/sheen_fire3.ogg new file mode 100644 index 000000000..7378cd6d8 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_fire3.ogg differ diff --git a/sounds/dlc1/sheen/sheen_meleeend.ogg b/sounds/dlc1/sheen/sheen_meleeend.ogg new file mode 100644 index 000000000..296c1740e Binary files /dev/null and b/sounds/dlc1/sheen/sheen_meleeend.ogg differ diff --git a/sounds/dlc1/sheen/sheen_meleestart.ogg b/sounds/dlc1/sheen/sheen_meleestart.ogg new file mode 100644 index 000000000..5f22080d2 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_meleestart.ogg differ diff --git a/sounds/dlc1/sheen/sheen_select.ogg b/sounds/dlc1/sheen/sheen_select.ogg new file mode 100644 index 000000000..1714bc615 Binary files /dev/null and b/sounds/dlc1/sheen/sheen_select.ogg differ diff --git a/zscript/hud/swwm_althud.zsc b/zscript/hud/swwm_althud.zsc index d01ac7458..9040c457c 100644 --- a/zscript/hud/swwm_althud.zsc +++ b/zscript/hud/swwm_althud.zsc @@ -480,43 +480,6 @@ extend Class SWWMStatusBar void Alt_DrawWeapons() { - if ( CPlayer.ReadyWeapon is 'SWWMWeapon' ) SWWMWeapon(CPlayer.ReadyWeapon).DrawWeaponAlt(FracTic,ss.x-(margin+56),ss.y-(margin+12),hs,ss); - else if ( CPlayer.ReadyWeapon ) - { - // generic display - double xx = ss.x-(margin+58), yy = ss.y-(margin+22); - String str; - int len; - if ( CPlayer.ReadyWeapon.Ammo2 && (CPlayer.ReadyWeapon.Ammo2 != CPlayer.ReadyWeapon.Ammo1) ) - { - str = String.Format("%d",CPlayer.ReadyWeapon.Ammo2.Amount); - len = str.Length(); - yy -= 12; - Screen.DrawTexture(AltGenericAmmoTex[2],false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); - for ( int i=0; i 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]; @@ -663,16 +645,59 @@ extend Class SWWMStatusBar } xx -= 2; } - yy -= 2; - Screen.DrawTexture(AltAmmoTex[0],false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + if ( bDrewAmmo ) + { + yy -= 2; + Screen.DrawTexture(AltAmmoTex[0],false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + } // score String sstr = String.Format("%09d",ScoreInter.GetValue()); xx = ss.x-(margin+48); - yy -= 12; + if ( bDrewAmmo ) yy -= 12; + else yy = ss.y-(margin+22); Screen.DrawTexture(AltScoreTex,false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); xx += 10; yy += 2; Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_BRASS],xx,yy,sstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + int bx = bDrewAmmo?56:50; + // ammo display + if ( CPlayer.ReadyWeapon is 'SWWMWeapon' ) SWWMWeapon(CPlayer.ReadyWeapon).DrawWeaponAlt(FracTic,ss.x-(margin+bx),ss.y-(margin+12),hs,ss); + else if ( CPlayer.ReadyWeapon ) + { + // generic display + double xx = ss.x-(margin+bx+2), yy = ss.y-(margin+22); + String str; + int len; + if ( CPlayer.ReadyWeapon.Ammo2 && (CPlayer.ReadyWeapon.Ammo2 != CPlayer.ReadyWeapon.Ammo1) ) + { + str = String.Format("%d",CPlayer.ReadyWeapon.Ammo2.Amount); + len = str.Length(); + yy -= 12; + Screen.DrawTexture(AltGenericAmmoTex[2],false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + for ( int i=0; i