- refactored the thinker list.

This was an unorganized set of static members in DThinker but has now been regrouped into something more structured.
This commit is contained in:
Christoph Oelckers 2019-01-30 02:15:48 +01:00
commit 3b4ded5694
11 changed files with 508 additions and 470 deletions

View file

@ -112,8 +112,6 @@
// EXTERNAL DATA DECLARATIONS ----------------------------------------------
extern DThinker *NextToThink;
// PUBLIC DATA DEFINITIONS -------------------------------------------------
namespace GC
@ -282,7 +280,6 @@ static void MarkRoot()
Mark(StatusBar);
M_MarkMenus();
Mark(DIntermissionController::CurrentIntermission);
DThinker::MarkRoots();
Mark(E_FirstEventHandler);
Mark(E_LastEventHandler);
for (auto Level : AllLevels())
@ -300,8 +297,6 @@ static void MarkRoot()
{
Level->Mark();
}
// NextToThink must not be freed while thinkers are ticking.
Mark(NextToThink);
// Mark soft roots.
if (SoftRoots != NULL)
{