summaryrefslogtreecommitdiff
path: root/src/00_Core/Actor/ActorManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/00_Core/Actor/ActorManager.cpp')
-rw-r--r--src/00_Core/Actor/ActorManager.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/00_Core/Actor/ActorManager.cpp b/src/00_Core/Actor/ActorManager.cpp
index 27acf972..e85dd20f 100644
--- a/src/00_Core/Actor/ActorManager.cpp
+++ b/src/00_Core/Actor/ActorManager.cpp
@@ -183,3 +183,24 @@ Actor* NONMATCH(ActorManager::FindActorById)(s32 id) {
return actor;
#endif
}
+
+Actor* ActorManager::GetActor(ActorRef *ref) {
+ Actor *pActor;
+ u32 alive;
+
+ alive = ref->index;
+
+ if ((s32)alive < 0) {
+ return NULL;
+ }
+
+ pActor = this->mActorTable[alive];
+ if (pActor != NULL) {
+ alive = pActor->mAlive;
+ if (alive != 0 && ref->id == pActor->mId) {
+ return pActor;
+ }
+ }
+
+ return NULL;
+}