From e023f70124dcde8bfffaf4f0104580e20412659f Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Fri, 16 Sep 2022 16:54:05 +0200 Subject: [PATCH] Delay dialogues until map title text disappears. --- language.version | 4 ++-- zscript/hud/swwm_hudextra.zsc | 7 +++++++ zscript/swwm_handler.zsc | 3 +++ zscript/weapons/swwm_baseweapon_fx.zsc | 4 ++-- zscript/weapons/swwm_shot_fx.zsc | 4 ++-- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/language.version b/language.version index 772729774..215c08592 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r469 \cu(Fri 16 Sep 16:53:56 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r469 \cu(2022-09-16 16:53:56)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r470 \cu(Fri 16 Sep 16:54:05 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r470 \cu(2022-09-16 16:54:05)\c-"; diff --git a/zscript/hud/swwm_hudextra.zsc b/zscript/hud/swwm_hudextra.zsc index 5a6ea4a56..270e5c96a 100644 --- a/zscript/hud/swwm_hudextra.zsc +++ b/zscript/hud/swwm_hudextra.zsc @@ -287,6 +287,7 @@ Class SWWMDirectMessage : HUDMessageBase SWWMDirectMessage nextmsg; // for chaining messages together from different characters bool nextdirect; // skips directly to next message without delays or fades Font mSmallFont; + SWWMHandler hnd; private int GetRandom() { @@ -440,6 +441,9 @@ Class SWWMDirectMessage : HUDMessageBase { if ( seqnum < 0 ) { + // if there's a map message active, wait until it isn't + if ( !hnd ) hnd = SWWMHandler(EventHandler.Find("SWWMHandler")); + if ( hnd.mapmsg ) return false; delay--; if ( delay <= 0 ) { @@ -758,6 +762,9 @@ Class DSMapTitle : HUDMessageBase ch++; } if ( ch != 256 ) ThrowAbortException("sub font definition does not list all 256 glyphs"); + // this is for compat with the dialogues, and should not go into other mods + let hnd = SWWMHandler(EventHandler.Find("SWWMHandler")); + if ( hnd ) hnd.mapmsg = self; return self; } diff --git a/zscript/swwm_handler.zsc b/zscript/swwm_handler.zsc index cb6d66595..06495c964 100644 --- a/zscript/swwm_handler.zsc +++ b/zscript/swwm_handler.zsc @@ -40,6 +40,9 @@ Class SWWMHandler : EventHandler int prof_calls[8]; double curms; + // to avoid some overlaps + ui DSMapTitle mapmsg; + enum EProfileTimer { PT_WORLDTICK, diff --git a/zscript/weapons/swwm_baseweapon_fx.zsc b/zscript/weapons/swwm_baseweapon_fx.zsc index 2a054f5e0..973f61716 100644 --- a/zscript/weapons/swwm_baseweapon_fx.zsc +++ b/zscript/weapons/swwm_baseweapon_fx.zsc @@ -134,8 +134,8 @@ Class SWWMBulletImpact : Actor let s = Spawn("SWWMChip",pos+x*2); s.vel = pvel; } - if ( !Random[Junk](0,3) ) A_StartSound("bullet/ricochet",CHAN_VOICE,attenuation:2.5); - else A_StartSound("bullet/hit",CHAN_VOICE,attenuation:3.0); + if ( !Random[Junk](0,3) ) A_StartSound("bullet/ricochet",CHAN_VOICE); + else A_StartSound("bullet/hit",CHAN_VOICE,attenuation:2.); Spawn("InvisibleSplasher",pos); } States diff --git a/zscript/weapons/swwm_shot_fx.zsc b/zscript/weapons/swwm_shot_fx.zsc index f6850435a..a8270b0af 100644 --- a/zscript/weapons/swwm_shot_fx.zsc +++ b/zscript/weapons/swwm_shot_fx.zsc @@ -38,7 +38,7 @@ Class SpreadImpact : Actor override void PostBeginPlay() { Super.PostBeginPlay(); - A_StartSound("spreadgun/pellet",CHAN_VOICE,CHANF_DEFAULT,.4,4.); + A_StartSound("spreadgun/pellet",CHAN_VOICE,CHANF_DEFAULT,.4,2.); A_SprayDecal("TinyPock",-20); int numpt = Random[Spreadgun](2,4)-special1; Vector3 x = SWWMUtility.Vec3FromAngles(angle,pitch); @@ -83,7 +83,7 @@ Class SlugImpact : Actor override void PostBeginPlay() { Super.PostBeginPlay(); - A_StartSound("spreadgun/slug",CHAN_VOICE,CHANF_DEFAULT,1.,2.); + A_StartSound("spreadgun/slug",CHAN_VOICE); A_SprayDecal("Pock",-20); int numpt = Random[Spreadgun](5,10)-special1; Vector3 x = SWWMUtility.Vec3FromAngles(angle,pitch);