diff --git a/docs/rh-log.txt b/docs/rh-log.txt index ac3169b16..e1935c28d 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,7 @@ +December 17, 2007 (Changes by Graf Zahl) +- Fixed: When a skybox viewpoint is destroyed it should clear all + sector references to itself. + December 14, 2007 - Fixed: G_QueueBody() should only change the translation to one of its private slots if the one currently used is a player range. diff --git a/src/g_shared/a_sharedglobal.h b/src/g_shared/a_sharedglobal.h index fa58c2225..17c1c01ac 100644 --- a/src/g_shared/a_sharedglobal.h +++ b/src/g_shared/a_sharedglobal.h @@ -122,6 +122,7 @@ class ASkyViewpoint : public AActor public: void Serialize (FArchive &arc); void BeginPlay (); + void Destroy (); bool bInSkybox; bool bAlways; ASkyViewpoint *Mate; diff --git a/src/g_shared/a_skies.cpp b/src/g_shared/a_skies.cpp index e9fe8d949..928149686 100644 --- a/src/g_shared/a_skies.cpp +++ b/src/g_shared/a_skies.cpp @@ -72,6 +72,22 @@ void ASkyViewpoint::Serialize (FArchive &arc) arc << bInSkybox << bAlways << Mate << PlaneAlpha; } +void ASkyViewpoint::Destroy () +{ + // remove all sector references to ourselves. + for (int i = 0; i