From 1ed7083113a2478d1741b828c36132aff6f64570 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sun, 28 Apr 2019 11:29:36 +0200 Subject: [PATCH] Bump ZScript version to match the GZDoom version that has all the localization work in it. Fix missing Boss footstep sound (filename longer than 8 chars, oops). Began working on the activatables for Heretic. --- Readme.md | 2 ++ sndinfo.txt | 6 +----- sounds/{BFootstep.ogg => BFootstp.ogg} | Bin zscript.txt | 2 +- zscript/compat.zsc | 17 +++++++++++++++++ zscript/utcommon.zsc | 5 ++++- 6 files changed, 25 insertions(+), 7 deletions(-) rename sounds/{BFootstep.ogg => BFootstp.ogg} (100%) diff --git a/Readme.md b/Readme.md index eda84b4..0bb4412 100644 --- a/Readme.md +++ b/Readme.md @@ -57,6 +57,7 @@ This mod requires GZDoom 4.0.0 or later. - Lava/Slime footstep sounds? - UT gore system (toggleable) - Heretic compatibility + - Localization in all languages supported by the original game ## Future plans @@ -72,6 +73,7 @@ This mod requires GZDoom 4.0.0 or later. - Unreal 1 weapons mod and maybe also a monsters mod - Port some of my UT weapon mods (and maybe also some of my personal faves by others, such as Psi Weapon Dreams) + - Hexen compatibility ??? ## Known bugs diff --git a/sndinfo.txt b/sndinfo.txt index 5f879a3..695cf30 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -162,7 +162,7 @@ ut/playerfootstep2 stone04 ut/playerfootstep3 stone05 $random ut/playerfootstep { ut/playerfootstep1 ut/playerfootstep2 ut/playerfootstep3 } -ut/bossfootstep bfootstep +ut/bossfootstep bfootstp ut/playerfootstepwet lsplash ut/wetsplash dsplash @@ -205,10 +205,6 @@ misc/gibp3 gibp4 misc/gibp4 gibp5 misc/gibp5 gibp6 $random misc/gibp { misc/gibp1 misc/gibp2 misc/gibp3 misc/gibp4 misc/gibp5 } -// universal gibs compat -$alias UniversalGibs/Gib misc/gibbed -// droplets compat -$alias blood/hit misc/gibp impact/select imppick impact/pull impaltst diff --git a/sounds/BFootstep.ogg b/sounds/BFootstp.ogg similarity index 100% rename from sounds/BFootstep.ogg rename to sounds/BFootstp.ogg diff --git a/zscript.txt b/zscript.txt index ed7cd9e..6f3353b 100644 --- a/zscript.txt +++ b/zscript.txt @@ -1,4 +1,4 @@ -version "4.0" +version "4.1" #include "zscript/dt_matrix.zsc" #include "zscript/dt_coordutil.zsc" diff --git a/zscript/compat.zsc b/zscript/compat.zsc index 714fba3..ef72c6b 100644 --- a/zscript/compat.zsc +++ b/zscript/compat.zsc @@ -47,6 +47,23 @@ Class UTHereticBlueKey : KeyBlue } } +// TODO Base class for items that can be activated from the inventory bar +Class UTActivatable : Inventory +{ + Default + { + +INVENTORY.INVBAR; + } +} + +// These have to be subclassed from HealthPickup for auto-use +Class UTActivatableHealth : HealthPickup +{ + Default + { + } +} + // Alternative player classes for compatibility with Heretic sprites Class UTPlayerHereticCompat : UTPlayer { diff --git a/zscript/utcommon.zsc b/zscript/utcommon.zsc index 01d31a0..42328aa 100644 --- a/zscript/utcommon.zsc +++ b/zscript/utcommon.zsc @@ -160,7 +160,10 @@ Class UTPlayer : DoomPlayer { let type = (class)(AllActorClasses[i]); if ( !type ) continue; - let def = GetDefaultByType (type); + let def = GetDefaultByType(type); + if ( !(self is "UTPlayerHereticCompat") + && ((type is "UTActivatable") || (type is "UTActivatableHealth")) ) + continue; // don't give these outside of Heretic/Hexen if ( def.Icon.isValid() && (def.MaxAmount > 1) && !(type is "PuzzleItem") && !(type is "Powerup") && !(type is "Ammo") && !(type is "Armor")) {