diff --git a/src/g_level.cpp b/src/g_level.cpp index 1278494b2..d82c68358 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -2400,6 +2400,24 @@ void FLevelLocals::ApplyCompatibility2() i_compatflags2 = GetCompatibility2(compatflags2) | ii_compatflags2; } +AActor* FLevelLocals::SelectActorFromTID(int tid, size_t index, AActor* defactor) +{ + if (tid == 0) + return defactor; + + AActor* actor = nullptr; + size_t cur = 0u; + auto it = GetActorIterator(tid); + while ((actor = it.Next()) != nullptr) + { + if (cur == index) + return actor; + ++cur; + } + + return nullptr; +} + //========================================================================== // IsPointInMap // diff --git a/src/g_levellocals.h b/src/g_levellocals.h index 86476d1a7..bb975e0eb 100644 --- a/src/g_levellocals.h +++ b/src/g_levellocals.h @@ -149,6 +149,7 @@ struct FLevelLocals int GetCompatibility2(int mask); void ApplyCompatibility(); void ApplyCompatibility2(); + AActor* SelectActorFromTID(int tid, size_t index, AActor* defactor); void Init(); @@ -316,23 +317,6 @@ public: { return tid == 0 ? defactor : GetActorIterator(tid).Next(); } - AActor* SelectActorFromTID(int tid, size_t index, AActor *defactor) - { - if (tid == 0) - return defactor; - - AActor* actor = nullptr; - size_t cur = 0u; - auto it = GetActorIterator(tid); - while ((actor = it.Next()) != nullptr) - { - if (cur == index) - return actor; - ++cur; - } - - return nullptr; - } bool SectorHasTags(sector_t *sector) {