Fixed BUG #1656495: I think I've found and fixed the cause of the "thing archive exhausted" issues. Basically, what was happening is that when moving platforms/ceilings were being put into stasis, the thinker's function ptr was set to 1 to indicate it was not a runable function. However, this happens to be the same value as Doomsday uses to indicate a thinker should be removed (NOPFUNC). When determining the number of things thinker_t>func was compared to P_MobjThinker() but when writing the thinkers in P_ArchiveThinkers() thinker_t->func was being compared to NOPFUNC.
Fixed BUG #1651484: Due to active plats/ceilings using the NOPFUNC value, they were not restarting properly because Doomsday had already removed their thinkers.
Fixed BUG #1656495: I think I've found and fixed the cause of the "thing archive exhausted" issues. Basically, what was happening is that when moving platforms/ceilings were being put into stasis, the thinker's function ptr was set to
1 to indicate it was not a runable function. However, this happens to be the same value as Doomsday uses to indicate a thinker should be removed (NOPFUNC). When determining the number of things thinker_t>func was compared to P_MobjThinker() but when writing the thinkers in P_ArchiveThinkers() thinker_t->func was being compared to NOPFUNC.Fixed BUG #1651484: Due to active plats/ceilings using the NOPFUNC value, they were not restarting properly because Doomsday had already removed their thinkers.