diff --git a/FuturePlans.md b/FuturePlans.md index 3a817fbba..41b4435eb 100644 --- a/FuturePlans.md +++ b/FuturePlans.md @@ -118,5 +118,5 @@ This is just a bit of *"future planning"* for stuff that I ***might*** add after - Satellite *(Total Destruction)* - [Heretic/Hexen] Safety Tether *(Original)* - Devastation Sigil *(SWWM)* - - Black Matter Armor *(SWWM)* + - Divine Sprite *(SWWM Platinum)* - Angel of Death *(Total Destruction, SWWM Platinum Ep2)* \ No newline at end of file diff --git a/filter/swwmgz.campaign/swwmgamesupported.txt b/filter/swwmgz.campaign/swwmgamesupported.txt new file mode 100644 index 000000000..1afba00b3 --- /dev/null +++ b/filter/swwmgz.campaign/swwmgamesupported.txt @@ -0,0 +1 @@ +Official SWWM GZ Campaign diff --git a/language.version b/language.version index 499dcd0e4..6fb91f579 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r574 \cu(Fri 9 Jul 13:21:28 CEST 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r574 \cu(2021-07-09 13:21:28)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r575 \cu(Tue 13 Jul 17:04:42 CEST 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r575 \cu(2021-07-13 17:04:42)\c-"; diff --git a/zscript/handler/swwm_handler_process.zsc b/zscript/handler/swwm_handler_process.zsc index afca0c96a..335beca51 100644 --- a/zscript/handler/swwm_handler_process.zsc +++ b/zscript/handler/swwm_handler_process.zsc @@ -240,18 +240,18 @@ extend Class SWWMHandler msg.AppendFormat("\nWallbuster: %08x",Random2[Wallbuster]()); msg.AppendFormat("\nYnykron: %08x",Random2[Ynykron]()); msg.AppendFormat("\n\n\cfUI RNG (should not cause desyncs if mismatched):\c-\n"); - msg.AppendFormat("\nbdscreen: %08x [UI]",Random2[bdscreen]()); - msg.AppendFormat("\nClientSparkles: %08x [UI]",Random2[ClientSparkles]()); - msg.AppendFormat("\nDemoLines: %08x [UI]",Random2[DemoLines]()); - msg.AppendFormat("\nFInTheChat: %08x [UI]",Random2[FInTheChat]()); - msg.AppendFormat("\nFunTags: %08x [UI]",Random2[FunTags]()); - msg.AppendFormat("\nhdscreen: %08x [UI]",Random2[hdscreen]()); - msg.AppendFormat("\nHudStuff: %08x [UI]",Random2[HudStuff]()); - msg.AppendFormat("\nInterArt: %08x [UI]",Random2[InterArt]()); - msg.AppendFormat("\nScoreBits: %08x [UI]",Random2[ScoreBits]()); - msg.AppendFormat("\nTUID: %08x [UI]",Random2[TUID]()); - msg.AppendFormat("\nUIStuff: %08x [UI]",Random2[UIStuff]()); - msg.AppendFormat("\nWallbusterMenu: %08x [UI]",Random2[WallbusterMenu]()); + msg.AppendFormat("\nbdscreen: %08x",Random2[bdscreen]()); + msg.AppendFormat("\nClientSparkles: %08x",Random2[ClientSparkles]()); + msg.AppendFormat("\nDemoLines: %08x",Random2[DemoLines]()); + msg.AppendFormat("\nFInTheChat: %08x",Random2[FInTheChat]()); + msg.AppendFormat("\nFunTags: %08x",Random2[FunTags]()); + msg.AppendFormat("\nhdscreen: %08x",Random2[hdscreen]()); + msg.AppendFormat("\nHudStuff: %08x",Random2[HudStuff]()); + msg.AppendFormat("\nInterArt: %08x",Random2[InterArt]()); + msg.AppendFormat("\nScoreBits: %08x",Random2[ScoreBits]()); + msg.AppendFormat("\nTUID: %08x",Random2[TUID]()); + msg.AppendFormat("\nUIStuff: %08x",Random2[UIStuff]()); + msg.AppendFormat("\nWallbusterMenu: %08x",Random2[WallbusterMenu]()); Console.Printf(msg); return; } diff --git a/zscript/swwm_common_fx.zsc b/zscript/swwm_common_fx.zsc index 7347203d9..ee2542467 100644 --- a/zscript/swwm_common_fx.zsc +++ b/zscript/swwm_common_fx.zsc @@ -1009,6 +1009,8 @@ Class SWWMTeleportFog : Actor Class SWWMPickupFlash : Actor { + Vector3 lastitempos; + Default { RenderStyle "Add"; @@ -1062,7 +1064,16 @@ Class SWWMPickupFlash : Actor return; } else if ( bINVISIBLE ) bINVISIBLE = false; - SetOrigin(target.Vec3Offset(0,0,16+target.GetBobOffset()),true); + // try to reduce calls to SetOrigin as much as possible, for performance + if ( target.pos != invoker.lastitempos ) SetOrigin(target.Vec3Offset(0,0,16),true); + invoker.lastitempos = target.pos; + if ( target.bFLOATBOB && !bFLOATBOB ) + { + bFLOATBOB = true; + FloatBobStrength = target.FloatBobStrength; + FloatBobPhase = target.FloatBobPhase; + } + else if ( !target.bFLOATBOB && bFLOATBOB ) bFLOATBOB = false; A_SetScale(FRandom[ClientSparkles](.9,1.1)*(max(target.radius,target.height)/16.)); alpha = FRandom[ClientSparkles](.9,1.)*clamp((max(0,Distance3DSquared(players[consoleplayer].Camera)-40000.)/160000000.)**.25,0.,1.); }