diff --git a/src/g_shared/a_skies.cpp b/src/g_shared/a_skies.cpp index 72ad6a7ee3..497e4014ac 100644 --- a/src/g_shared/a_skies.cpp +++ b/src/g_shared/a_skies.cpp @@ -150,30 +150,3 @@ void AStackPoint::BeginPlay () AActor::BeginPlay (); } -//--------------------------------------------------------------------------- - -class ASectorSilencer : public AActor -{ - DECLARE_CLASS (ASectorSilencer, AActor) -public: - void BeginPlay (); - void OnDestroy() override; -}; - -IMPLEMENT_CLASS(ASectorSilencer, false, false) - -void ASectorSilencer::BeginPlay () -{ - Super::BeginPlay (); - Sector->Flags |= SECF_SILENT; -} - -void ASectorSilencer::OnDestroy () -{ - if (Sector != nullptr) - { - Sector->Flags &= ~SECF_SILENT; - } - Super::OnDestroy(); -} - diff --git a/wadsrc/static/zscript/shared/skies.txt b/wadsrc/static/zscript/shared/skies.txt index 35077ee5c6..72b86b14f0 100644 --- a/wadsrc/static/zscript/shared/skies.txt +++ b/wadsrc/static/zscript/shared/skies.txt @@ -37,7 +37,7 @@ class LowerStackLookOnly : StackPoint } -class SectorSilencer native +class SectorSilencer : Actor { default { @@ -46,4 +46,19 @@ class SectorSilencer native +DONTSPLASH RenderStyle "None"; } + + override void BeginPlay () + { + Super.BeginPlay (); + CurSector.Flags |= Sector.SECF_SILENT; + } + + override void OnDestroy () + { + if (CurSector != null) + { + CurSector.Flags &= ~Sector.SECF_SILENT; + } + Super.OnDestroy(); + } }