summaryrefslogtreecommitdiffstats
path: root/src/entities
diff options
context:
space:
mode:
authorerorcun <erayorcunus@gmail.com>2020-07-22 17:21:39 +0200
committerGitHub <noreply@github.com>2020-07-22 17:21:39 +0200
commitb182fa4bb89a770d2e34da162eb46cdbaceb153b (patch)
treeb641e2e0a9dc0edddae8e09d04660c13936798c2 /src/entities
parentREADME 64-bit preparation (diff)
parentPeds, Hud, CFO 1/2, fixes - including zone names (diff)
downloadre3-b182fa4bb89a770d2e34da162eb46cdbaceb153b.tar
re3-b182fa4bb89a770d2e34da162eb46cdbaceb153b.tar.gz
re3-b182fa4bb89a770d2e34da162eb46cdbaceb153b.tar.bz2
re3-b182fa4bb89a770d2e34da162eb46cdbaceb153b.tar.lz
re3-b182fa4bb89a770d2e34da162eb46cdbaceb153b.tar.xz
re3-b182fa4bb89a770d2e34da162eb46cdbaceb153b.tar.zst
re3-b182fa4bb89a770d2e34da162eb46cdbaceb153b.zip
Diffstat (limited to 'src/entities')
-rw-r--r--src/entities/Entity.cpp17
-rw-r--r--src/entities/Entity.h1
2 files changed, 18 insertions, 0 deletions
diff --git a/src/entities/Entity.cpp b/src/entities/Entity.cpp
index 63ea03fc..4c88c485 100644
--- a/src/entities/Entity.cpp
+++ b/src/entities/Entity.cpp
@@ -620,6 +620,23 @@ CEntity::PruneReferences(void)
}
}
+// Clean up the reference from *pent -> 'this'
+void
+CEntity::CleanUpOldReference(CEntity **pent)
+{
+ CReference* ref, ** lastnextp;
+ lastnextp = &m_pFirstReference;
+ for (ref = m_pFirstReference; ref; ref = ref->next) {
+ if (ref->pentity == pent) {
+ *lastnextp = ref->next;
+ ref->next = CReferences::pEmptyList;
+ CReferences::pEmptyList = ref;
+ break;
+ }
+ lastnextp = &ref->next;
+ }
+}
+
void
CEntity::UpdateRpHAnim(void)
{
diff --git a/src/entities/Entity.h b/src/entities/Entity.h
index 7570110b..fd01b6f8 100644
--- a/src/entities/Entity.h
+++ b/src/entities/Entity.h
@@ -168,6 +168,7 @@ public:
void RegisterReference(CEntity **pent);
void ResolveReferences(void);
void PruneReferences(void);
+ void CleanUpOldReference(CEntity **pent);
#ifdef PED_SKIN
void UpdateRpHAnim(void);